@updevs/components 1.0.0-alpha.6 → 1.0.0-alpha.8

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 (99) hide show
  1. package/card/directives/card-actions.directive.d.ts +1 -2
  2. package/card/directives/card-footer.directive.d.ts +1 -2
  3. package/card/directives/card-header.directive.d.ts +1 -2
  4. package/card/directives/card-image.directive.d.ts +1 -2
  5. package/esm2022/button/button.component.mjs +5 -5
  6. package/esm2022/button/upd-button.module.mjs +5 -5
  7. package/esm2022/card/card.component.mjs +4 -4
  8. package/esm2022/card/directives/card-actions.directive.mjs +8 -8
  9. package/esm2022/card/directives/card-footer.directive.mjs +8 -8
  10. package/esm2022/card/directives/card-header.directive.mjs +8 -8
  11. package/esm2022/card/directives/card-image.directive.mjs +8 -8
  12. package/esm2022/card/upd-card.module.mjs +5 -5
  13. package/esm2022/dropdown/dropdown.component.mjs +10 -11
  14. package/esm2022/dropdown/upd-dropdown.module.mjs +5 -5
  15. package/esm2022/form/form.module.mjs +5 -5
  16. package/esm2022/form-controls/checkbox/checkbox.component.mjs +5 -5
  17. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +5 -5
  18. package/esm2022/form-controls/input/directives/input-append.directive.mjs +8 -8
  19. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +8 -8
  20. package/esm2022/form-controls/input/input.component.mjs +4 -4
  21. package/esm2022/form-controls/input/upd-input.module.mjs +5 -5
  22. package/esm2022/form-controls/radio/radio.component.mjs +5 -5
  23. package/esm2022/form-controls/radio/upd-radio.module.mjs +5 -5
  24. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +9 -10
  25. package/esm2022/form-controls/select/components/single/select.component.mjs +9 -10
  26. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +4 -4
  27. package/esm2022/form-controls/select/upd-select.module.mjs +5 -5
  28. package/esm2022/form-controls/textarea/textarea.component.mjs +5 -5
  29. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +5 -5
  30. package/esm2022/form-controls/time-picker/time-picker.component.mjs +4 -4
  31. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +7 -8
  32. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +6 -6
  33. package/esm2022/layout/abstractions/base-page.component.mjs +6 -6
  34. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +4 -4
  35. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +5 -5
  36. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +17 -19
  37. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +6 -6
  38. package/esm2022/layout/models/upd-layout-config.model.mjs +1 -1
  39. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +5 -5
  40. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +5 -5
  41. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +4 -4
  42. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +6 -6
  43. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +4 -4
  44. package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +5 -7
  45. package/esm2022/layout/partials/footer/footer.component.mjs +13 -12
  46. package/esm2022/layout/partials/header/header.component.mjs +16 -18
  47. package/esm2022/layout/partials/page-header/page-header.component.mjs +6 -7
  48. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +14 -15
  49. package/esm2022/layout/services/upd-layout-config.service.mjs +6 -6
  50. package/esm2022/layout/upd-layout.module.mjs +5 -5
  51. package/esm2022/lib/upd-components.module.mjs +5 -5
  52. package/esm2022/link/link.component.mjs +4 -4
  53. package/esm2022/link/upd-link.module.mjs +5 -5
  54. package/esm2022/list/list.component.mjs +10 -10
  55. package/esm2022/list/upd-list.module.mjs +6 -6
  56. package/esm2022/popover/popover.component.mjs +5 -5
  57. package/esm2022/popover/popover.directive.mjs +15 -15
  58. package/esm2022/popover/upd-popover.module.mjs +5 -5
  59. package/fesm2022/updevs-components-button.mjs +8 -8
  60. package/fesm2022/updevs-components-button.mjs.map +1 -1
  61. package/fesm2022/updevs-components-card.mjs +32 -32
  62. package/fesm2022/updevs-components-card.mjs.map +1 -1
  63. package/fesm2022/updevs-components-dropdown.mjs +14 -15
  64. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  65. package/fesm2022/updevs-components-form-controls-checkbox.mjs +8 -8
  66. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  67. package/fesm2022/updevs-components-form-controls-input.mjs +20 -20
  68. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  69. package/fesm2022/updevs-components-form-controls-radio.mjs +8 -8
  70. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  71. package/fesm2022/updevs-components-form-controls-select.mjs +20 -21
  72. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  73. package/fesm2022/updevs-components-form-controls-textarea.mjs +8 -8
  74. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  75. package/fesm2022/updevs-components-form-controls-time-picker.mjs +14 -15
  76. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  77. package/fesm2022/updevs-components-form.mjs +4 -4
  78. package/fesm2022/updevs-components-form.mjs.map +1 -1
  79. package/fesm2022/updevs-components-layout.mjs +98 -101
  80. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  81. package/fesm2022/updevs-components-link.mjs +7 -7
  82. package/fesm2022/updevs-components-link.mjs.map +1 -1
  83. package/fesm2022/updevs-components-list.mjs +14 -14
  84. package/fesm2022/updevs-components-list.mjs.map +1 -1
  85. package/fesm2022/updevs-components-popover.mjs +22 -22
  86. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  87. package/fesm2022/updevs-components.mjs +4 -4
  88. package/fesm2022/updevs-components.mjs.map +1 -1
  89. package/form-controls/input/directives/input-append.directive.d.ts +1 -2
  90. package/form-controls/input/directives/input-prepend.directive.d.ts +1 -2
  91. package/layout/abstractions/base-page.component.d.ts +1 -2
  92. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +4 -5
  93. package/layout/partials/footer/footer-copyright.directive.d.ts +0 -1
  94. package/layout/partials/footer/footer.component.d.ts +1 -3
  95. package/layout/partials/header/header.component.d.ts +4 -6
  96. package/layout/partials/sidebar/sidebar.component.d.ts +1 -3
  97. package/list/list.component.d.ts +3 -4
  98. package/package.json +5 -5
  99. package/popover/popover.directive.d.ts +8 -10
@@ -1,17 +1,12 @@
1
- import { Component, ViewEncapsulation, Input, HostBinding } from '@angular/core';
2
- import { BaseComponent } from '@updevs/sdk/layout';
1
+ import { Component, ViewEncapsulation, Input, HostBinding, inject } from '@angular/core';
2
+ import { UpdCoreLayoutConfigService, BaseComponent, LayoutService } from '@updevs/sdk/layout';
3
+ import { TranslocoService } from '@ngneat/transloco';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "@updevs/sdk/layout";
5
- import * as i2 from "@ngneat/transloco";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@updevs/icons";
8
- import * as i5 from "@updevs/components/link";
5
+ import * as i1 from "@updevs/icons";
6
+ import * as i2 from "@updevs/components/link";
9
7
  export class HeaderComponent extends BaseComponent {
10
- constructor(coreLayoutConfigService, layoutService, translocoService) {
11
- super();
12
- this.coreLayoutConfigService = coreLayoutConfigService;
13
- this.layoutService = layoutService;
14
- this.translocoService = translocoService;
8
+ constructor() {
9
+ super(...arguments);
15
10
  this.wrapperClasses = '';
16
11
  this.style = 'light';
17
12
  this.showSearchBar = true;
@@ -23,6 +18,9 @@ export class HeaderComponent extends BaseComponent {
23
18
  this.showLanguageSwitcher = true; // TODO: add on config.
24
19
  this.showUserMenu = false;
25
20
  this.baseWrapperClasses = 'navbar navbar-expand-md d-none d-lg-flex d-print-none';
21
+ this.coreLayoutConfigService = inject(UpdCoreLayoutConfigService);
22
+ this.layoutService = inject(LayoutService);
23
+ this.translocoService = inject(TranslocoService);
26
24
  }
27
25
  ngOnInit() {
28
26
  this.updateWrapperClasses();
@@ -62,13 +60,13 @@ export class HeaderComponent extends BaseComponent {
62
60
  updateWrapperClasses() {
63
61
  this.wrapperClasses = `${this.baseWrapperClasses} navbar-${this.style}`;
64
62
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.UpdCoreLayoutConfigService }, { token: i1.LayoutService }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: HeaderComponent, selector: "upd-header", inputs: { style: "style", showSearchBar: "showSearchBar" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-xl\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"navbar-nav flex-row order-md-last\">\n <div class=\"d-none d-md-flex me-3\">\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchTheme()\">\n <upd-icon [tablerIcon]=\"nextThemeIcon\"></upd-icon>\n </upd-link>\n </div>\n <div *ngIf=\"showLanguageSwitcher\" class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchLanguage()\">\n <upd-icon tablerIcon=\"flag\"></upd-icon>\n </upd-link>\n </div>\n <div *ngIf=\"showNotifications\" class=\"nav-item dropdown d-none d-md-flex\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"openNotifications()\">\n <upd-icon [tablerIcon]=\"currentNotificationsIcon\"></upd-icon>\n <span *ngIf=\"hasNewNotifications\" class=\"badge bg-red\"></span>\n </upd-link>\n <div class=\"dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card\">\n <div class=\"card\">\n <div class=\"card-header\">\n <h3 class=\"card-title\">Last updates</h3>\n </div>\n <div class=\"list-group list-group-flush list-group-hoverable\">\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-red d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 1</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Change deprecated html tags to text decoration classes (#29604)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 2</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n justify-content:between \u21D2 justify-content:space-between (#29734)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions show\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-yellow\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 3</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Update change-version.js (#29736)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-green d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 4</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Regenerate package-lock.json (#29730)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"showUserMenu\" class=\"nav-item dropdown\">\n <a href=\"#\" class=\"nav-link d-flex lh-1 text-reset p-0\" data-bs-toggle=\"dropdown\"\n aria-label=\"Open user menu\">\n <!--<span class=\"avatar avatar-sm\" style=\"background-image: url(./static/avatars/000m.jpg)\"></span>-->\n <span class=\"avatar avatar-sm\"></span>\n <div class=\"d-none d-xl-block ps-2\">\n <div>Eros Stein</div>\n <div class=\"mt-1 small text-muted\">Administrator</div>\n </div>\n </a>\n <div class=\"dropdown-menu dropdown-menu-end dropdown-menu-arrow\">\n <a href=\"#\" class=\"dropdown-item\">Status</a>\n <a href=\"./profile.html\" class=\"dropdown-item\">Profile</a>\n <a href=\"#\" class=\"dropdown-item\">Feedback</a>\n <div class=\"dropdown-divider\"></div>\n <a href=\"./settings.html\" class=\"dropdown-item\">Settings</a>\n <a href=\"./sign-in.html\" class=\"dropdown-item\">Logout</a>\n </div>\n </div>\n </div>\n <div *ngIf=\"showSearchBar\" class=\"collapse navbar-collapse\">\n <div>\n <form autocomplete=\"off\" novalidate>\n <div class=\"input-icon\">\n <span class=\"input-icon-addon\">\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </span>\n <input type=\"text\" value=\"\" class=\"form-control\" placeholder=\"Search\u2026\">\n </div>\n </form>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i5.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: HeaderComponent, selector: "upd-header", inputs: { style: "style", showSearchBar: "showSearchBar" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-xl\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"navbar-nav flex-row order-md-last\">\n <div class=\"d-none d-md-flex me-3\">\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchTheme()\">\n <upd-icon [tablerIcon]=\"nextThemeIcon\"></upd-icon>\n </upd-link>\n </div>\n @if (showLanguageSwitcher) {\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchLanguage()\">\n <upd-icon tablerIcon=\"flag\"></upd-icon>\n </upd-link>\n </div>\n }\n @if (showNotifications) {\n <div class=\"nav-item dropdown d-none d-md-flex\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"openNotifications()\">\n <upd-icon [tablerIcon]=\"currentNotificationsIcon\"></upd-icon>\n @if (hasNewNotifications) {\n <span class=\"badge bg-red\"></span>\n }\n </upd-link>\n <div class=\"dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card\">\n <div class=\"card\">\n <div class=\"card-header\">\n <h3 class=\"card-title\">Last updates</h3>\n </div>\n <div class=\"list-group list-group-flush list-group-hoverable\">\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-red d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 1</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Change deprecated html tags to text decoration classes (#29604)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 2</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n justify-content:between \u21D2 justify-content:space-between (#29734)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions show\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-yellow\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 3</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Update change-version.js (#29736)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-green d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 4</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Regenerate package-lock.json (#29730)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n @if (showUserMenu) {\n <div class=\"nav-item dropdown\">\n <a href=\"#\" class=\"nav-link d-flex lh-1 text-reset p-0\" data-bs-toggle=\"dropdown\"\n aria-label=\"Open user menu\">\n <!--<span class=\"avatar avatar-sm\" style=\"background-image: url(./static/avatars/000m.jpg)\"></span>-->\n <span class=\"avatar avatar-sm\"></span>\n <div class=\"d-none d-xl-block ps-2\">\n <div>Eros Stein</div>\n <div class=\"mt-1 small text-muted\">Administrator</div>\n </div>\n </a>\n <div class=\"dropdown-menu dropdown-menu-end dropdown-menu-arrow\">\n <a href=\"#\" class=\"dropdown-item\">Status</a>\n <a href=\"./profile.html\" class=\"dropdown-item\">Profile</a>\n <a href=\"#\" class=\"dropdown-item\">Feedback</a>\n <div class=\"dropdown-divider\"></div>\n <a href=\"./settings.html\" class=\"dropdown-item\">Settings</a>\n <a href=\"./sign-in.html\" class=\"dropdown-item\">Logout</a>\n </div>\n </div>\n }\n </div>\n @if (showSearchBar) {\n <div class=\"collapse navbar-collapse\">\n <div>\n <form autocomplete=\"off\" novalidate>\n <div class=\"input-icon\">\n <span class=\"input-icon-addon\">\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </span>\n <input type=\"text\" value=\"\" class=\"form-control\" placeholder=\"Search\u2026\">\n </div>\n </form>\n </div>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i2.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
67
65
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: HeaderComponent, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HeaderComponent, decorators: [{
69
67
  type: Component,
70
- args: [{ selector: 'upd-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"container-xl\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"navbar-nav flex-row order-md-last\">\n <div class=\"d-none d-md-flex me-3\">\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchTheme()\">\n <upd-icon [tablerIcon]=\"nextThemeIcon\"></upd-icon>\n </upd-link>\n </div>\n <div *ngIf=\"showLanguageSwitcher\" class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchLanguage()\">\n <upd-icon tablerIcon=\"flag\"></upd-icon>\n </upd-link>\n </div>\n <div *ngIf=\"showNotifications\" class=\"nav-item dropdown d-none d-md-flex\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"openNotifications()\">\n <upd-icon [tablerIcon]=\"currentNotificationsIcon\"></upd-icon>\n <span *ngIf=\"hasNewNotifications\" class=\"badge bg-red\"></span>\n </upd-link>\n <div class=\"dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card\">\n <div class=\"card\">\n <div class=\"card-header\">\n <h3 class=\"card-title\">Last updates</h3>\n </div>\n <div class=\"list-group list-group-flush list-group-hoverable\">\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-red d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 1</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Change deprecated html tags to text decoration classes (#29604)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 2</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n justify-content:between \u21D2 justify-content:space-between (#29734)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions show\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-yellow\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 3</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Update change-version.js (#29736)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-green d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 4</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Regenerate package-lock.json (#29730)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"showUserMenu\" class=\"nav-item dropdown\">\n <a href=\"#\" class=\"nav-link d-flex lh-1 text-reset p-0\" data-bs-toggle=\"dropdown\"\n aria-label=\"Open user menu\">\n <!--<span class=\"avatar avatar-sm\" style=\"background-image: url(./static/avatars/000m.jpg)\"></span>-->\n <span class=\"avatar avatar-sm\"></span>\n <div class=\"d-none d-xl-block ps-2\">\n <div>Eros Stein</div>\n <div class=\"mt-1 small text-muted\">Administrator</div>\n </div>\n </a>\n <div class=\"dropdown-menu dropdown-menu-end dropdown-menu-arrow\">\n <a href=\"#\" class=\"dropdown-item\">Status</a>\n <a href=\"./profile.html\" class=\"dropdown-item\">Profile</a>\n <a href=\"#\" class=\"dropdown-item\">Feedback</a>\n <div class=\"dropdown-divider\"></div>\n <a href=\"./settings.html\" class=\"dropdown-item\">Settings</a>\n <a href=\"./sign-in.html\" class=\"dropdown-item\">Logout</a>\n </div>\n </div>\n </div>\n <div *ngIf=\"showSearchBar\" class=\"collapse navbar-collapse\">\n <div>\n <form autocomplete=\"off\" novalidate>\n <div class=\"input-icon\">\n <span class=\"input-icon-addon\">\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </span>\n <input type=\"text\" value=\"\" class=\"form-control\" placeholder=\"Search\u2026\">\n </div>\n </form>\n </div>\n </div>\n</div>\n" }]
71
- }], ctorParameters: function () { return [{ type: i1.UpdCoreLayoutConfigService }, { type: i1.LayoutService }, { type: i2.TranslocoService }]; }, propDecorators: { wrapperClasses: [{
68
+ args: [{ selector: 'upd-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"container-xl\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"navbar-nav flex-row order-md-last\">\n <div class=\"d-none d-md-flex me-3\">\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchTheme()\">\n <upd-icon [tablerIcon]=\"nextThemeIcon\"></upd-icon>\n </upd-link>\n </div>\n @if (showLanguageSwitcher) {\n <div class=\"nav-item\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"switchLanguage()\">\n <upd-icon tablerIcon=\"flag\"></upd-icon>\n </upd-link>\n </div>\n }\n @if (showNotifications) {\n <div class=\"nav-item dropdown d-none d-md-flex\">\n <upd-link [isNavigation]=\"true\" [customClasses]=\"['px-0']\" (clicked)=\"openNotifications()\">\n <upd-icon [tablerIcon]=\"currentNotificationsIcon\"></upd-icon>\n @if (hasNewNotifications) {\n <span class=\"badge bg-red\"></span>\n }\n </upd-link>\n <div class=\"dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card\">\n <div class=\"card\">\n <div class=\"card-header\">\n <h3 class=\"card-title\">Last updates</h3>\n </div>\n <div class=\"list-group list-group-flush list-group-hoverable\">\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-red d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 1</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Change deprecated html tags to text decoration classes (#29604)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 2</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n justify-content:between \u21D2 justify-content:space-between (#29734)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions show\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-yellow\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span class=\"status-dot d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 3</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Update change-version.js (#29736)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"row align-items-center\">\n <div class=\"col-auto\"><span\n class=\"status-dot status-dot-animated bg-green d-block\"></span></div>\n <div class=\"col text-truncate\">\n <a href=\"#\" class=\"text-body d-block\">Example 4</a>\n <div class=\"d-block text-muted text-truncate mt-n1\">\n Regenerate package-lock.json (#29730)\n </div>\n </div>\n <div class=\"col-auto\">\n <a href=\"#\" class=\"list-group-item-actions\">\n <!-- Download SVG icon from http://tabler-icons.io/i/star -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon text-muted\"\n width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\"\n stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path\n d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"/>\n </svg>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n @if (showUserMenu) {\n <div class=\"nav-item dropdown\">\n <a href=\"#\" class=\"nav-link d-flex lh-1 text-reset p-0\" data-bs-toggle=\"dropdown\"\n aria-label=\"Open user menu\">\n <!--<span class=\"avatar avatar-sm\" style=\"background-image: url(./static/avatars/000m.jpg)\"></span>-->\n <span class=\"avatar avatar-sm\"></span>\n <div class=\"d-none d-xl-block ps-2\">\n <div>Eros Stein</div>\n <div class=\"mt-1 small text-muted\">Administrator</div>\n </div>\n </a>\n <div class=\"dropdown-menu dropdown-menu-end dropdown-menu-arrow\">\n <a href=\"#\" class=\"dropdown-item\">Status</a>\n <a href=\"./profile.html\" class=\"dropdown-item\">Profile</a>\n <a href=\"#\" class=\"dropdown-item\">Feedback</a>\n <div class=\"dropdown-divider\"></div>\n <a href=\"./settings.html\" class=\"dropdown-item\">Settings</a>\n <a href=\"./sign-in.html\" class=\"dropdown-item\">Logout</a>\n </div>\n </div>\n }\n </div>\n @if (showSearchBar) {\n <div class=\"collapse navbar-collapse\">\n <div>\n <form autocomplete=\"off\" novalidate>\n <div class=\"input-icon\">\n <span class=\"input-icon-addon\">\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </span>\n <input type=\"text\" value=\"\" class=\"form-control\" placeholder=\"Search\u2026\">\n </div>\n </form>\n </div>\n </div>\n }\n</div>\n" }]
69
+ }], propDecorators: { wrapperClasses: [{
72
70
  type: HostBinding,
73
71
  args: ['class']
74
72
  }], style: [{
@@ -76,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
76
74
  }], showSearchBar: [{
77
75
  type: Input
78
76
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFydGlhbHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQThCLGFBQWEsRUFBaUIsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7OztBQVk5RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBZ0I5QyxZQUNZLHVCQUFtRCxFQUNuRCxhQUE0QixFQUM1QixnQkFBa0M7UUFFMUMsS0FBSyxFQUFFLENBQUM7UUFKQSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTRCO1FBQ25ELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFsQnhCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRWpDLFVBQUssR0FBb0IsT0FBTyxDQUFDO1FBQ2pDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTlCLGtCQUFhLEdBQW9CLE1BQU0sQ0FBQztRQUN4QyxtQkFBYyxHQUFHLE9BQU8sQ0FBQztRQUN6Qiw2QkFBd0IsR0FBb0IsTUFBTSxDQUFDO1FBQ25ELHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIseUJBQW9CLEdBQUcsSUFBSSxDQUFDLENBQUMsdUJBQXVCO1FBQ3BELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRWIsdUJBQWtCLEdBQUcsdURBQXVELENBQUM7SUFRckYsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDN0I7UUFFRCxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ2xELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsY0FBYztRQUNWLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNuRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDekQsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixXQUFXLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1RSxDQUFDOytHQXZFUSxlQUFlO21HQUFmLGVBQWUsb05DYjVCLHlnV0FtS0E7OzRGRHRKYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTs0S0FHZixjQUFjO3NCQUFuQyxXQUFXO3VCQUFDLE9BQU87Z0JBRVgsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcGRDb3JlTGF5b3V0Q29uZmlnU2VydmljZSwgQmFzZUNvbXBvbmVudCwgTGF5b3V0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBUYWJsZXJJY29uc1R5cGUgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcbmltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IEhlYWRlclN0eWxlVHlwZSB9IGZyb20gJy4vaGVhZGVyLXN0eWxlLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzZXMgPSAnJztcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBIZWFkZXJTdHlsZVR5cGUgPSAnbGlnaHQnO1xuICAgIEBJbnB1dCgpIHNob3dTZWFyY2hCYXIgPSB0cnVlO1xuXG4gICAgbmV4dFRoZW1lSWNvbjogVGFibGVySWNvbnNUeXBlID0gJ21vb24nO1xuICAgIG5leHRUaGVtZUNvbG9yID0gJ2JsYWNrJztcbiAgICBjdXJyZW50Tm90aWZpY2F0aW9uc0ljb246IFRhYmxlckljb25zVHlwZSA9ICdiZWxsJztcbiAgICBoYXNOZXdOb3RpZmljYXRpb25zID0gZmFsc2U7XG4gICAgc2hvd05vdGlmaWNhdGlvbnMgPSBmYWxzZTtcbiAgICBzaG93TGFuZ3VhZ2VTd2l0Y2hlciA9IHRydWU7IC8vIFRPRE86IGFkZCBvbiBjb25maWcuXG4gICAgc2hvd1VzZXJNZW51ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGJhc2VXcmFwcGVyQ2xhc3NlcyA9ICduYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBkLW5vbmUgZC1sZy1mbGV4IGQtcHJpbnQtbm9uZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb3JlTGF5b3V0Q29uZmlnU2VydmljZTogVXBkQ29yZUxheW91dENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlV3JhcHBlckNsYXNzZXMoKTtcblxuICAgICAgICBpZiAodGhpcy5jb3JlTGF5b3V0Q29uZmlnU2VydmljZS5jb25maWcuc2hvd05vdGlmaWNhdGlvbnNCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBOb3RpZmljYXRpb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb3JlTGF5b3V0Q29uZmlnU2VydmljZS5jb25maWcuc2hvd1VzZXJNZW51KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dVc2VyTWVudSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghIWNoYW5nZXNbJ3N0eWxlJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2hUaGVtZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNEYXJrTW9kZSA9IHRoaXMubmV4dFRoZW1lSWNvbiA9PT0gJ21vb24nO1xuICAgICAgICB0aGlzLm5leHRUaGVtZUljb24gPSBpc0RhcmtNb2RlID8gJ3N1bicgOiAnbW9vbic7XG4gICAgICAgIHRoaXMubmV4dFRoZW1lQ29sb3IgPSBpc0RhcmtNb2RlID8gJ3doaXRlJyA6ICdibGFjayc7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnRvZ2dsZURhcmtNb2RlKGlzRGFya01vZGUpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGltcGxlbWVudC5cbiAgICBzd2l0Y2hMYW5ndWFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudExhbmcgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpO1xuICAgICAgICB0aGlzLnRyYW5zbG9jb1NlcnZpY2Uuc2V0QWN0aXZlTGFuZyhjdXJyZW50TGFuZyA9PT0gJ2VuJyA/ICdwdCcgOiAnZW4nKTtcbiAgICB9XG5cbiAgICBvcGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVOb3RpZmljYXRpb25zSWNvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBOb3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dOb3RpZmljYXRpb25zID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5vdGlmaWNhdGlvbnNJY29uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnROb3RpZmljYXRpb25zSWNvbiA9IHRoaXMuY3VycmVudE5vdGlmaWNhdGlvbnNJY29uID09PSAnYmVsbCcgPyAnYmVsbC1yaW5naW5nJyA6ICdiZWxsJztcbiAgICAgICAgdGhpcy5oYXNOZXdOb3RpZmljYXRpb25zID0gIXRoaXMuaGFzTmV3Tm90aWZpY2F0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJDbGFzc2VzID0gYCR7dGhpcy5iYXNlV3JhcHBlckNsYXNzZXN9IG5hdmJhci0ke3RoaXMuc3R5bGV9YDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXhsXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cIm5hdmJhci1uYXYgZmxleC1yb3cgb3JkZXItbWQtbGFzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ub25lIGQtbWQtZmxleCBtZS0zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8dXBkLWxpbmsgW2lzTmF2aWdhdGlvbl09XCJ0cnVlXCIgW2N1c3RvbUNsYXNzZXNdPVwiWydweC0wJ11cIiAoY2xpY2tlZCk9XCJzd2l0Y2hUaGVtZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbdGFibGVySWNvbl09XCJuZXh0VGhlbWVJY29uXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3VwZC1saW5rPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0xhbmd1YWdlU3dpdGNoZXJcIiBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1saW5rIFtpc05hdmlnYXRpb25dPVwidHJ1ZVwiIFtjdXN0b21DbGFzc2VzXT1cIlsncHgtMCddXCIgKGNsaWNrZWQpPVwic3dpdGNoTGFuZ3VhZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cImZsYWdcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93Tm90aWZpY2F0aW9uc1wiIGNsYXNzPVwibmF2LWl0ZW0gZHJvcGRvd24gZC1ub25lIGQtbWQtZmxleFwiPlxuICAgICAgICAgICAgICAgIDx1cGQtbGluayBbaXNOYXZpZ2F0aW9uXT1cInRydWVcIiBbY3VzdG9tQ2xhc3Nlc109XCJbJ3B4LTAnXVwiIChjbGlja2VkKT1cIm9wZW5Ob3RpZmljYXRpb25zKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFt0YWJsZXJJY29uXT1cImN1cnJlbnROb3RpZmljYXRpb25zSWNvblwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGFzTmV3Tm90aWZpY2F0aW9uc1wiIGNsYXNzPVwiYmFkZ2UgYmctcmVkXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1hcnJvdyBkcm9wZG93bi1tZW51LWVuZCBkcm9wZG93bi1tZW51LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIj5MYXN0IHVwZGF0ZXM8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cCBsaXN0LWdyb3VwLWZsdXNoIGxpc3QtZ3JvdXAtaG92ZXJhYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWRvdC1hbmltYXRlZCBiZy1yZWQgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJ0ZXh0LWJvZHkgZC1ibG9ja1wiPkV4YW1wbGUgMTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbmdlIGRlcHJlY2F0ZWQgaHRtbCB0YWdzIHRvIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzICgjMjk2MDQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0tYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaWNvbiB0ZXh0LW11dGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMTcuNzVsLTYuMTcyIDMuMjQ1bDEuMTc5IC02Ljg3M2wtNSAtNC44NjdsNi45IC0xbDMuMDg2IC02LjI1M2wzLjA4NiA2LjI1M2w2LjkgMWwtNSA0Ljg2N2wxLjE3OSA2Ljg3M3pcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhbiBjbGFzcz1cInN0YXR1cy1kb3QgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJ0ZXh0LWJvZHkgZC1ibG9ja1wiPkV4YW1wbGUgMjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OmJldHdlZW4g4oeSIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuICgjMjk3MzQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0tYWN0aW9ucyBzaG93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRG93bmxvYWQgU1ZHIGljb24gZnJvbSBodHRwOi8vdGFibGVyLWljb25zLmlvL2kvc3RhciAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgY2xhc3M9XCJpY29uIHRleHQteWVsbG93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMTcuNzVsLTYuMTcyIDMuMjQ1bDEuMTc5IC02Ljg3M2wtNSAtNC44NjdsNi45IC0xbDMuMDg2IC02LjI1M2wzLjA4NiA2LjI1M2w2LjkgMWwtNSA0Ljg2N2wxLjE3OSA2Ljg3M3pcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhbiBjbGFzcz1cInN0YXR1cy1kb3QgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJ0ZXh0LWJvZHkgZC1ibG9ja1wiPkV4YW1wbGUgMzwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBkYXRlIGNoYW5nZS12ZXJzaW9uLmpzICgjMjk3MzYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0tYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaWNvbiB0ZXh0LW11dGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMTcuNzVsLTYuMTcyIDMuMjQ1bDEuMTc5IC02Ljg3M2wtNSAtNC44NjdsNi45IC0xbDMuMDg2IC02LjI1M2wzLjA4NiA2LjI1M2w2LjkgMWwtNSA0Ljg2N2wxLjE3OSA2Ljg3M3pcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLWRvdCBzdGF0dXMtZG90LWFuaW1hdGVkIGJnLWdyZWVuIGQtYmxvY2tcIj48L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwidGV4dC1ib2R5IGQtYmxvY2tcIj5FeGFtcGxlIDQ8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtYmxvY2sgdGV4dC1tdXRlZCB0ZXh0LXRydW5jYXRlIG10LW4xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2VuZXJhdGUgcGFja2FnZS1sb2NrLmpzb24gKCMyOTczMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRG93bmxvYWQgU1ZHIGljb24gZnJvbSBodHRwOi8vdGFibGVyLWljb25zLmlvL2kvc3RhciAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgY2xhc3M9XCJpY29uIHRleHQtbXV0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgZmlsbD1cIm5vbmVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxNy43NWwtNi4xNzIgMy4yNDVsMS4xNzkgLTYuODczbC01IC00Ljg2N2w2LjkgLTFsMy4wODYgLTYuMjUzbDMuMDg2IDYuMjUzbDYuOSAxbC01IDQuODY3bDEuMTc5IDYuODczelwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1VzZXJNZW51XCIgY2xhc3M9XCJuYXYtaXRlbSBkcm9wZG93blwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cIm5hdi1saW5rIGQtZmxleCBsaC0xIHRleHQtcmVzZXQgcC0wXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk9wZW4gdXNlciBtZW51XCI+XG4gICAgICAgICAgICAgICAgPCEtLTxzcGFuIGNsYXNzPVwiYXZhdGFyIGF2YXRhci1zbVwiIHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKC4vc3RhdGljL2F2YXRhcnMvMDAwbS5qcGcpXCI+PC9zcGFuPi0tPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXZhdGFyIGF2YXRhci1zbVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ub25lIGQteGwtYmxvY2sgcHMtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PkVyb3MgU3RlaW48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgc21hbGwgdGV4dC1tdXRlZFwiPkFkbWluaXN0cmF0b3I8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZW5kIGRyb3Bkb3duLW1lbnUtYXJyb3dcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlN0YXR1czwvYT5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiLi9wcm9maWxlLmh0bWxcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5Qcm9maWxlPC9hPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+RmVlZGJhY2s8L2E+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiLi9zZXR0aW5ncy5odG1sXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+U2V0dGluZ3M8L2E+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIi4vc2lnbi1pbi5odG1sXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+TG9nb3V0PC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzaG93U2VhcmNoQmFyXCIgY2xhc3M9XCJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2VcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG5vdmFsaWRhdGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtaWNvbi1hZGRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiB0YWJsZXJJY29uPVwic2VhcmNoXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNo4oCmXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFydGlhbHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFvQyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQVVyRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBTmxEOztRQU8wQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVqQyxVQUFLLEdBQW9CLE9BQU8sQ0FBQztRQUNqQyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUU5QixrQkFBYSxHQUFvQixNQUFNLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxPQUFPLENBQUM7UUFDekIsNkJBQXdCLEdBQW9CLE1BQU0sQ0FBQztRQUNuRCx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHlCQUFvQixHQUFHLElBQUksQ0FBQyxDQUFDLHVCQUF1QjtRQUNwRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUViLHVCQUFrQixHQUFHLHVEQUF1RCxDQUFDO1FBRXBFLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBa0RoRTtJQWhERyxRQUFRO1FBQ0osSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUVyRCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLGNBQWM7UUFDVixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVPLHVCQUF1QjtRQUMzQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbkcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3pELENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsV0FBVyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUUsQ0FBQzs4R0FuRVEsZUFBZTtrR0FBZixlQUFlLG9OQ2I1Qix1dFhBNktBOzsyRkRoS2EsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7OEJBR2YsY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIEhvc3RCaW5kaW5nLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcGRDb3JlTGF5b3V0Q29uZmlnU2VydmljZSwgQmFzZUNvbXBvbmVudCwgTGF5b3V0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBUYWJsZXJJY29uc1R5cGUgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcbmltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IEhlYWRlclN0eWxlVHlwZSB9IGZyb20gJy4vaGVhZGVyLXN0eWxlLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzZXMgPSAnJztcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBIZWFkZXJTdHlsZVR5cGUgPSAnbGlnaHQnO1xuICAgIEBJbnB1dCgpIHNob3dTZWFyY2hCYXIgPSB0cnVlO1xuXG4gICAgbmV4dFRoZW1lSWNvbjogVGFibGVySWNvbnNUeXBlID0gJ21vb24nO1xuICAgIG5leHRUaGVtZUNvbG9yID0gJ2JsYWNrJztcbiAgICBjdXJyZW50Tm90aWZpY2F0aW9uc0ljb246IFRhYmxlckljb25zVHlwZSA9ICdiZWxsJztcbiAgICBoYXNOZXdOb3RpZmljYXRpb25zID0gZmFsc2U7XG4gICAgc2hvd05vdGlmaWNhdGlvbnMgPSBmYWxzZTtcbiAgICBzaG93TGFuZ3VhZ2VTd2l0Y2hlciA9IHRydWU7IC8vIFRPRE86IGFkZCBvbiBjb25maWcuXG4gICAgc2hvd1VzZXJNZW51ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGJhc2VXcmFwcGVyQ2xhc3NlcyA9ICduYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBkLW5vbmUgZC1sZy1mbGV4IGQtcHJpbnQtbm9uZSc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcmVMYXlvdXRDb25maWdTZXJ2aWNlID0gaW5qZWN0KFVwZENvcmVMYXlvdXRDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dFNlcnZpY2UgPSBpbmplY3QoTGF5b3V0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xvY29TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb1NlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlV3JhcHBlckNsYXNzZXMoKTtcblxuICAgICAgICBpZiAodGhpcy5jb3JlTGF5b3V0Q29uZmlnU2VydmljZS5jb25maWcuc2hvd05vdGlmaWNhdGlvbnNCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBOb3RpZmljYXRpb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb3JlTGF5b3V0Q29uZmlnU2VydmljZS5jb25maWcuc2hvd1VzZXJNZW51KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dVc2VyTWVudSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghIWNoYW5nZXNbJ3N0eWxlJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2hUaGVtZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNEYXJrTW9kZSA9IHRoaXMubmV4dFRoZW1lSWNvbiA9PT0gJ21vb24nO1xuICAgICAgICB0aGlzLm5leHRUaGVtZUljb24gPSBpc0RhcmtNb2RlID8gJ3N1bicgOiAnbW9vbic7XG4gICAgICAgIHRoaXMubmV4dFRoZW1lQ29sb3IgPSBpc0RhcmtNb2RlID8gJ3doaXRlJyA6ICdibGFjayc7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnRvZ2dsZURhcmtNb2RlKGlzRGFya01vZGUpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGltcGxlbWVudC5cbiAgICBzd2l0Y2hMYW5ndWFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudExhbmcgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpO1xuICAgICAgICB0aGlzLnRyYW5zbG9jb1NlcnZpY2Uuc2V0QWN0aXZlTGFuZyhjdXJyZW50TGFuZyA9PT0gJ2VuJyA/ICdwdCcgOiAnZW4nKTtcbiAgICB9XG5cbiAgICBvcGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVOb3RpZmljYXRpb25zSWNvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBOb3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dOb3RpZmljYXRpb25zID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5vdGlmaWNhdGlvbnNJY29uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnROb3RpZmljYXRpb25zSWNvbiA9IHRoaXMuY3VycmVudE5vdGlmaWNhdGlvbnNJY29uID09PSAnYmVsbCcgPyAnYmVsbC1yaW5naW5nJyA6ICdiZWxsJztcbiAgICAgICAgdGhpcy5oYXNOZXdOb3RpZmljYXRpb25zID0gIXRoaXMuaGFzTmV3Tm90aWZpY2F0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJDbGFzc2VzID0gYCR7dGhpcy5iYXNlV3JhcHBlckNsYXNzZXN9IG5hdmJhci0ke3RoaXMuc3R5bGV9YDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXhsXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cIm5hdmJhci1uYXYgZmxleC1yb3cgb3JkZXItbWQtbGFzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ub25lIGQtbWQtZmxleCBtZS0zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8dXBkLWxpbmsgW2lzTmF2aWdhdGlvbl09XCJ0cnVlXCIgW2N1c3RvbUNsYXNzZXNdPVwiWydweC0wJ11cIiAoY2xpY2tlZCk9XCJzd2l0Y2hUaGVtZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbdGFibGVySWNvbl09XCJuZXh0VGhlbWVJY29uXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3VwZC1saW5rPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKHNob3dMYW5ndWFnZVN3aXRjaGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayBbaXNOYXZpZ2F0aW9uXT1cInRydWVcIiBbY3VzdG9tQ2xhc3Nlc109XCJbJ3B4LTAnXVwiIChjbGlja2VkKT1cInN3aXRjaExhbmd1YWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiB0YWJsZXJJY29uPVwiZmxhZ1wiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNob3dOb3RpZmljYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIGRyb3Bkb3duIGQtbm9uZSBkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1saW5rIFtpc05hdmlnYXRpb25dPVwidHJ1ZVwiIFtjdXN0b21DbGFzc2VzXT1cIlsncHgtMCddXCIgKGNsaWNrZWQpPVwib3Blbk5vdGlmaWNhdGlvbnMoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFt0YWJsZXJJY29uXT1cImN1cnJlbnROb3RpZmljYXRpb25zSWNvblwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGhhc05ld05vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLXJlZFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC91cGQtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1hcnJvdyBkcm9wZG93bi1tZW51LWVuZCBkcm9wZG93bi1tZW51LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIj5MYXN0IHVwZGF0ZXM8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2ggbGlzdC1ncm91cC1ob3ZlcmFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWRvdC1hbmltYXRlZCBiZy1yZWQgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtYm9keSBkLWJsb2NrXCI+RXhhbXBsZSAxPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5nZSBkZXByZWNhdGVkIGh0bWwgdGFncyB0byB0ZXh0IGRlY29yYXRpb24gY2xhc3NlcyAoIzI5NjA0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImljb24gdGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhbiBjbGFzcz1cInN0YXR1cy1kb3QgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtYm9keSBkLWJsb2NrXCI+RXhhbXBsZSAyPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDpiZXR3ZWVuIOKHkiBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiAoIzI5NzM0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zIHNob3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRG93bmxvYWQgU1ZHIGljb24gZnJvbSBodHRwOi8vdGFibGVyLWljb25zLmlvL2kvc3RhciAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaWNvbiB0ZXh0LXllbGxvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhbiBjbGFzcz1cInN0YXR1cy1kb3QgZC1ibG9ja1wiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtYm9keSBkLWJsb2NrXCI+RXhhbXBsZSAzPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB0ZXh0LW11dGVkIHRleHQtdHJ1bmNhdGUgbXQtbjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwZGF0ZSBjaGFuZ2UtdmVyc2lvbi5qcyAoIzI5NzM2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImljb24gdGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWRvdC1hbmltYXRlZCBiZy1ncmVlbiBkLWJsb2NrXCI+PC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwidGV4dC1ib2R5IGQtYmxvY2tcIj5FeGFtcGxlIDQ8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWJsb2NrIHRleHQtbXV0ZWQgdGV4dC10cnVuY2F0ZSBtdC1uMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnZW5lcmF0ZSBwYWNrYWdlLWxvY2suanNvbiAoIzI5NzMwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERvd25sb2FkIFNWRyBpY29uIGZyb20gaHR0cDovL3RhYmxlci1pY29ucy5pby9pL3N0YXIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImljb24gdGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDE3Ljc1bC02LjE3MiAzLjI0NWwxLjE3OSAtNi44NzNsLTUgLTQuODY3bDYuOSAtMWwzLjA4NiAtNi4yNTNsMy4wODYgNi4yNTNsNi45IDFsLTUgNC44NjdsMS4xNzkgNi44NzN6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoc2hvd1VzZXJNZW51KSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibmF2LWxpbmsgZC1mbGV4IGxoLTEgdGV4dC1yZXNldCBwLTBcIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk9wZW4gdXNlciBtZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS08c3BhbiBjbGFzcz1cImF2YXRhciBhdmF0YXItc21cIiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCguL3N0YXRpYy9hdmF0YXJzLzAwMG0uanBnKVwiPjwvc3Bhbj4tLT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXNtXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ub25lIGQteGwtYmxvY2sgcHMtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5Fcm9zIFN0ZWluPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMSBzbWFsbCB0ZXh0LW11dGVkXCI+QWRtaW5pc3RyYXRvcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1lbmQgZHJvcGRvd24tbWVudS1hcnJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlN0YXR1czwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi4vcHJvZmlsZS5odG1sXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+UHJvZmlsZTwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5GZWVkYmFjazwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi4vc2V0dGluZ3MuaHRtbFwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlNldHRpbmdzPC9hPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiLi9zaWduLWluLmh0bWxcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5Mb2dvdXQ8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoc2hvd1NlYXJjaEJhcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG5vdmFsaWRhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWljb24tYWRkb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cInNlYXJjaFwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2jigKZcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
@@ -1,15 +1,14 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@updevs/components/button";
3
+ import * as i1 from "@updevs/components/button";
5
4
  export class PageHeaderComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: PageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: PageHeaderComponent, selector: "upd-page-header", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"page-header d-print-none\">\n <div class=\"container-xl\">\n <div class=\"row g-2 align-items-center\">\n <div class=\"col\">\n <div class=\"page-pretitle\">\n {{model.titleHeader}}\n </div>\n <h2 class=\"page-title\">\n {{model.title}}\n </h2>\n </div>\n <div *ngIf=\"(model.actionButtons?.length || 0) > 0\" class=\"col-auto ms-auto d-print-none\">\n <div class=\"btn-list\">\n <upd-button *ngFor=\"let btn of model.actionButtons\" [model]=\"btn!\"></upd-button>\n </div>\n </div>\n </div>\n </div>\n</div>\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"] }, { kind: "component", type: i2.ButtonComponent, selector: "upd-button", inputs: ["text", "model", "colorStyle", "brandColorStyle", "customClasses", "isActive", "isDisabled", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "shouldIgnoreBtnClass"], outputs: ["clicked"] }] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: PageHeaderComponent, selector: "upd-page-header", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"page-header d-print-none\">\n <div class=\"container-xl\">\n <div class=\"row g-2 align-items-center\">\n <div class=\"col\">\n <div class=\"page-pretitle\">\n {{ model.titleHeader }}\n </div>\n <h2 class=\"page-title\">\n {{ model.title }}\n </h2>\n </div>\n @if ((model.actionButtons?.length || 0) > 0) {\n <div class=\"col-auto ms-auto d-print-none\">\n <div class=\"btn-list\">\n @for (btn of model.actionButtons; track btn) {\n <upd-button [model]=\"btn!\"></upd-button>\n }\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "upd-button", inputs: ["text", "model", "colorStyle", "brandColorStyle", "customClasses", "isActive", "isDisabled", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "shouldIgnoreBtnClass"], outputs: ["clicked"] }] }); }
8
7
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: PageHeaderComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PageHeaderComponent, decorators: [{
10
9
  type: Component,
11
- args: [{ selector: 'upd-page-header', template: "<div class=\"page-header d-print-none\">\n <div class=\"container-xl\">\n <div class=\"row g-2 align-items-center\">\n <div class=\"col\">\n <div class=\"page-pretitle\">\n {{model.titleHeader}}\n </div>\n <h2 class=\"page-title\">\n {{model.title}}\n </h2>\n </div>\n <div *ngIf=\"(model.actionButtons?.length || 0) > 0\" class=\"col-auto ms-auto d-print-none\">\n <div class=\"btn-list\">\n <upd-button *ngFor=\"let btn of model.actionButtons\" [model]=\"btn!\"></upd-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
10
+ args: [{ selector: 'upd-page-header', template: "<div class=\"page-header d-print-none\">\n <div class=\"container-xl\">\n <div class=\"row g-2 align-items-center\">\n <div class=\"col\">\n <div class=\"page-pretitle\">\n {{ model.titleHeader }}\n </div>\n <h2 class=\"page-title\">\n {{ model.title }}\n </h2>\n </div>\n @if ((model.actionButtons?.length || 0) > 0) {\n <div class=\"col-auto ms-auto d-print-none\">\n <div class=\"btn-list\">\n @for (btn of model.actionButtons; track btn) {\n <upd-button [model]=\"btn!\"></upd-button>\n }\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n" }]
12
11
  }], propDecorators: { model: [{
13
12
  type: Input
14
13
  }] } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9wYXJ0aWFscy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWpELE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjttR0FBbkIsbUJBQW1CLG1GQ1JoQyxndUJBbUJBOzs0RkRYYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksaUJBQWlCOzhCQUtsQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlSGVhZGVyTW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1wYWdlLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VIZWFkZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIG1vZGVsITogUGFnZUhlYWRlck1vZGVsO1xufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyIGQtcHJpbnQtbm9uZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIteGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2UtcHJldGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3ttb2RlbC50aXRsZUhlYWRlcn19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwicGFnZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7e21vZGVsLnRpdGxlfX1cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKG1vZGVsLmFjdGlvbkJ1dHRvbnM/Lmxlbmd0aCB8fCAwKSA+IDBcIiBjbGFzcz1cImNvbC1hdXRvIG1zLWF1dG8gZC1wcmludC1ub25lXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uICpuZ0Zvcj1cImxldCBidG4gb2YgbW9kZWwuYWN0aW9uQnV0dG9uc1wiIFttb2RlbF09XCJidG4hXCI+PC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9wYXJ0aWFscy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRakQsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1CO2tHQUFuQixtQkFBbUIsbUZDUmhDLCswQkF1QkE7OzJGRGZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxpQkFBaUI7OEJBS2xCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhZ2VIZWFkZXJNb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXBhZ2UtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGFnZUhlYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbW9kZWwhOiBQYWdlSGVhZGVyTW9kZWw7XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXIgZC1wcmludC1ub25lXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci14bFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1wcmV0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBtb2RlbC50aXRsZUhlYWRlciB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInBhZ2UtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbW9kZWwudGl0bGUgfX1cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKChtb2RlbC5hY3Rpb25CdXR0b25zPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIG1zLWF1dG8gZC1wcmludC1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYnRuIG9mIG1vZGVsLmFjdGlvbkJ1dHRvbnM7IHRyYWNrIGJ0bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIFttb2RlbF09XCJidG4hXCI+PC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,20 +1,19 @@
1
- import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
2
- import { NavigationStart } from '@angular/router';
1
+ import { Component, HostBinding, ViewEncapsulation, inject } from '@angular/core';
2
+ import { Router, NavigationStart } from '@angular/router';
3
3
  import { RouteDataModel } from '@updevs/sdk/routes';
4
4
  import { BaseComponent } from '@updevs/sdk/layout';
5
5
  import { filter } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@updevs/icons";
10
- import * as i4 from "@updevs/components/link";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@updevs/icons";
9
+ import * as i3 from "@updevs/components/link";
11
10
  export class SidebarComponent extends BaseComponent {
12
- constructor(router) {
13
- super();
14
- this.router = router;
11
+ constructor() {
12
+ super(...arguments);
15
13
  this.wrapperClasses = 'navbar navbar-vertical navbar-expand-lg';
16
14
  this.theme = 'dark';
17
15
  this.menuItems = [];
16
+ this.router = inject(Router);
18
17
  }
19
18
  ngOnInit() {
20
19
  // TODO: remove demo code.
@@ -128,17 +127,17 @@ export class SidebarComponent extends BaseComponent {
128
127
  item = item.parent;
129
128
  }
130
129
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SidebarComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: SidebarComponent, selector: "upd-sidebar", host: { properties: { "class": "this.wrapperClasses", "attr.data-bs-theme": "this.theme" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <h1 class=\"navbar-brand navbar-brand-autodark\">\n <a href=\".\">\n <img width=\"110\" height=\"32\" class=\"navbar-brand-image upd-brand-logo\"/>\n </a>\n </h1>\n <div class=\"collapse navbar-collapse\">\n <ul class=\"navbar-nav pt-lg-3\">\n <li *ngFor=\"let item of menuItems\" class=\"nav-item\" [class.dropdown]=\"hasChildren(item)\"\n [class.active]=\"item.isActive\">\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n\n<ng-template #itemTpl let-item=\"menuItem\">\n <upd-link [isNavigation]=\"true\" (clicked)=\"onMenuItemClick(item)\"\n [customClasses]=\"[hasChildren(item) ? 'dropdown-toggle' : '', item.isActive ? 'show' : '']\">\n <span class=\"nav-link-icon d-md-none d-lg-inline-block\">\n <upd-icon [model]=\"item.icon\"></upd-icon>\n </span>\n <span class=\"nav-link-title\">{{item.title}}</span>\n </upd-link>\n <ng-container *ngIf=\"hasChildren(item)\" [ngTemplateOutlet]=\"childrenTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n</ng-template>\n\n<ng-template #childrenTpl let-item=\"menuItem\">\n <div class=\"dropdown-menu\" [class.show]=\"item.isActive\">\n <div class=\"dropdown-menu-columns\">\n <div class=\"dropdown-menu-column\">\n <ng-container *ngFor=\"let child of item.children\">\n <upd-link *ngIf=\"!hasChildren(child); else grandchildTpl\" (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', child.isActive ? 'active' : '']\">\n {{child.title}}\n </upd-link>\n <ng-template #grandchildTpl>\n <div class=\"dropend\">\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', 'dropdown-toggle', child.isActive ? 'active' : '']\">\n {{child.title}}\n </upd-link>\n <div class=\"dropdown-menu\" [class.show]=\"child.isActive\">\n <ng-container *ngFor=\"let grandchild of child.children\">\n <upd-link (clicked)=\"onMenuItemClick(grandchild)\"\n [customClasses]=\"['dropdown-item', grandchild.isActive ? 'active' : '']\">\n {{grandchild.title}}\n </upd-link>\n </ng-container>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ 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: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SidebarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: SidebarComponent, selector: "upd-sidebar", host: { properties: { "class": "this.wrapperClasses", "attr.data-bs-theme": "this.theme" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <h1 class=\"navbar-brand navbar-brand-autodark\">\n <a href=\".\">\n <img width=\"110\" height=\"32\" class=\"navbar-brand-image upd-brand-logo\"/>\n </a>\n </h1>\n <div class=\"collapse navbar-collapse\">\n <ul class=\"navbar-nav pt-lg-3\">\n @for (item of menuItems; track item) {\n <li class=\"nav-item\" [class.dropdown]=\"hasChildren(item)\" [class.active]=\"item.isActive\">\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n </li>\n }\n </ul>\n </div>\n</div>\n\n<ng-template #itemTpl let-item=\"menuItem\">\n <upd-link [isNavigation]=\"true\" (clicked)=\"onMenuItemClick(item)\"\n [customClasses]=\"[hasChildren(item) ? 'dropdown-toggle' : '', item.isActive ? 'show' : '']\">\n <span class=\"nav-link-icon d-md-none d-lg-inline-block\">\n <upd-icon [model]=\"item.icon\"></upd-icon>\n </span>\n <span class=\"nav-link-title\">{{ item.title }}</span>\n </upd-link>\n @if (hasChildren(item)) {\n <ng-container [ngTemplateOutlet]=\"childrenTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n }\n</ng-template>\n\n<ng-template #childrenTpl let-item=\"menuItem\">\n <div class=\"dropdown-menu\" [class.show]=\"item.isActive\">\n <div class=\"dropdown-menu-columns\">\n <div class=\"dropdown-menu-column\">\n @for (child of item.children; track child) {\n @if (!hasChildren(child)) {\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', child.isActive ? 'active' : '']\">\n {{ child.title }}\n </upd-link>\n } @else {\n <div class=\"dropend\">\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', 'dropdown-toggle', child.isActive ? 'active' : '']\">\n {{ child.title }}\n </upd-link>\n <div class=\"dropdown-menu\" [class.show]=\"child.isActive\">\n @for (grandchild of child.children; track grandchild) {\n <upd-link (clicked)=\"onMenuItemClick(grandchild)\"\n [customClasses]=\"['dropdown-item', grandchild.isActive ? 'active' : '']\">\n {{ grandchild.title }}\n </upd-link>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.LinkComponent, selector: "upd-link", inputs: ["href", "target", "customClasses", "isNavigation"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
133
132
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SidebarComponent, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SidebarComponent, decorators: [{
135
134
  type: Component,
136
- args: [{ selector: 'upd-sidebar', encapsulation: ViewEncapsulation.None, template: "<div class=\"container-fluid\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <h1 class=\"navbar-brand navbar-brand-autodark\">\n <a href=\".\">\n <img width=\"110\" height=\"32\" class=\"navbar-brand-image upd-brand-logo\"/>\n </a>\n </h1>\n <div class=\"collapse navbar-collapse\">\n <ul class=\"navbar-nav pt-lg-3\">\n <li *ngFor=\"let item of menuItems\" class=\"nav-item\" [class.dropdown]=\"hasChildren(item)\"\n [class.active]=\"item.isActive\">\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n\n<ng-template #itemTpl let-item=\"menuItem\">\n <upd-link [isNavigation]=\"true\" (clicked)=\"onMenuItemClick(item)\"\n [customClasses]=\"[hasChildren(item) ? 'dropdown-toggle' : '', item.isActive ? 'show' : '']\">\n <span class=\"nav-link-icon d-md-none d-lg-inline-block\">\n <upd-icon [model]=\"item.icon\"></upd-icon>\n </span>\n <span class=\"nav-link-title\">{{item.title}}</span>\n </upd-link>\n <ng-container *ngIf=\"hasChildren(item)\" [ngTemplateOutlet]=\"childrenTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n</ng-template>\n\n<ng-template #childrenTpl let-item=\"menuItem\">\n <div class=\"dropdown-menu\" [class.show]=\"item.isActive\">\n <div class=\"dropdown-menu-columns\">\n <div class=\"dropdown-menu-column\">\n <ng-container *ngFor=\"let child of item.children\">\n <upd-link *ngIf=\"!hasChildren(child); else grandchildTpl\" (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', child.isActive ? 'active' : '']\">\n {{child.title}}\n </upd-link>\n <ng-template #grandchildTpl>\n <div class=\"dropend\">\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', 'dropdown-toggle', child.isActive ? 'active' : '']\">\n {{child.title}}\n </upd-link>\n <div class=\"dropdown-menu\" [class.show]=\"child.isActive\">\n <ng-container *ngFor=\"let grandchild of child.children\">\n <upd-link (clicked)=\"onMenuItemClick(grandchild)\"\n [customClasses]=\"['dropdown-item', grandchild.isActive ? 'active' : '']\">\n {{grandchild.title}}\n </upd-link>\n </ng-container>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n" }]
137
- }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { wrapperClasses: [{
135
+ args: [{ selector: 'upd-sidebar', encapsulation: ViewEncapsulation.None, template: "<div class=\"container-fluid\">\n <button class=\"navbar-toggler\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <h1 class=\"navbar-brand navbar-brand-autodark\">\n <a href=\".\">\n <img width=\"110\" height=\"32\" class=\"navbar-brand-image upd-brand-logo\"/>\n </a>\n </h1>\n <div class=\"collapse navbar-collapse\">\n <ul class=\"navbar-nav pt-lg-3\">\n @for (item of menuItems; track item) {\n <li class=\"nav-item\" [class.dropdown]=\"hasChildren(item)\" [class.active]=\"item.isActive\">\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n </li>\n }\n </ul>\n </div>\n</div>\n\n<ng-template #itemTpl let-item=\"menuItem\">\n <upd-link [isNavigation]=\"true\" (clicked)=\"onMenuItemClick(item)\"\n [customClasses]=\"[hasChildren(item) ? 'dropdown-toggle' : '', item.isActive ? 'show' : '']\">\n <span class=\"nav-link-icon d-md-none d-lg-inline-block\">\n <upd-icon [model]=\"item.icon\"></upd-icon>\n </span>\n <span class=\"nav-link-title\">{{ item.title }}</span>\n </upd-link>\n @if (hasChildren(item)) {\n <ng-container [ngTemplateOutlet]=\"childrenTpl\" [ngTemplateOutletContext]=\"{menuItem: item}\">\n </ng-container>\n }\n</ng-template>\n\n<ng-template #childrenTpl let-item=\"menuItem\">\n <div class=\"dropdown-menu\" [class.show]=\"item.isActive\">\n <div class=\"dropdown-menu-columns\">\n <div class=\"dropdown-menu-column\">\n @for (child of item.children; track child) {\n @if (!hasChildren(child)) {\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', child.isActive ? 'active' : '']\">\n {{ child.title }}\n </upd-link>\n } @else {\n <div class=\"dropend\">\n <upd-link (clicked)=\"onMenuItemClick(child)\"\n [customClasses]=\"['dropdown-item', 'dropdown-toggle', child.isActive ? 'active' : '']\">\n {{ child.title }}\n </upd-link>\n <div class=\"dropdown-menu\" [class.show]=\"child.isActive\">\n @for (grandchild of child.children; track grandchild) {\n <upd-link (clicked)=\"onMenuItemClick(grandchild)\"\n [customClasses]=\"['dropdown-item', grandchild.isActive ? 'active' : '']\">\n {{ grandchild.title }}\n </upd-link>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n</ng-template>\n" }]
136
+ }], propDecorators: { wrapperClasses: [{
138
137
  type: HostBinding,
139
138
  args: ['class']
140
139
  }], theme: [{
141
140
  type: HostBinding,
142
141
  args: ['attr.data-bs-theme']
143
142
  }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFROUIsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFNL0MsWUFDWSxNQUFjO1FBRXRCLEtBQUssRUFBRSxDQUFDO1FBRkEsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU5KLG1CQUFjLEdBQUcseUNBQXlDLENBQUM7UUFDOUMsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUVsRCxjQUFTLEdBQXFCLEVBQUUsQ0FBQztJQU1qQyxDQUFDO0lBRUQsUUFBUTtRQUNKLDBCQUEwQjtRQUMxQixNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBQztZQUN2QyxLQUFLLEVBQUUsY0FBYztZQUNyQixJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO1NBQy9CLENBQUMsQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ3ZDLEtBQUss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SyxDQUFDO1lBRW5CLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNuQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUF3QjtRQUMxQyxJQUFJLElBQUksR0FBaUMsUUFBUSxDQUFDO1FBRWxELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzsrR0FsSlEsZ0JBQWdCO21HQUFoQixnQkFBZ0Isd0tDYjdCLHFqR0E4REE7OzRGRGpEYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0ksYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzZGQUdmLGNBQWM7c0JBQW5DLFdBQVc7dUJBQUMsT0FBTztnQkFDZSxLQUFLO3NCQUF2QyxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IFJvdXRlRGF0YU1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvcm91dGVzJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXNpZGViYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHdyYXBwZXJDbGFzc2VzID0gJ25hdmJhciBuYXZiYXItdmVydGljYWwgbmF2YmFyLWV4cGFuZC1sZyc7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYnMtdGhlbWUnKSB0aGVtZSA9ICdkYXJrJztcblxuICAgIG1lbnVJdGVtczogUm91dGVEYXRhTW9kZWxbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIGRlbW8gY29kZS5cbiAgICAgICAgY29uc3Qgc2FtcGxlQ2FyZHNJdGVtID0gbmV3IFJvdXRlRGF0YU1vZGVsKHtcbiAgICAgICAgICAgIHRpdGxlOiAnU2FtcGxlIGNhcmRzJyxcbiAgICAgICAgICAgIGljb246IHsgdGFibGVySWNvbjogJ2hvbWUnIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNhcmRBY3Rpb25zSXRlbSA9IG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICB0aXRsZTogJ0NhcmQgYWN0aW9ucycsXG4gICAgICAgICAgICBpY29uOiB7IHRhYmxlckljb246ICdmb2xkZXInIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVtcHR5UGFnZUl0ZW0gPSBuZXcgUm91dGVEYXRhTW9kZWwoe1xuICAgICAgICAgICAgdGl0bGU6ICdFbXB0eSBwYWdlJyxcbiAgICAgICAgICAgIGljb246IHsgdGFibGVySWNvbjogJ2hvbWUnIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNhcmRzSXRlbSA9IG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICB0aXRsZTogJ0NhcmRzJyxcbiAgICAgICAgICAgIGljb246IHsgdGFibGVySWNvbjogJ3VzZXInIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIHNhbXBsZUNhcmRzSXRlbSxcbiAgICAgICAgICAgICAgICBjYXJkQWN0aW9uc0l0ZW1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGludGVyZmFjZUl0ZW0gPSBuZXcgUm91dGVEYXRhTW9kZWwoe1xuICAgICAgICAgICAgdGl0bGU6ICdJbnRlcmZhY2UnLFxuICAgICAgICAgICAgaWNvbjogeyB0YWJsZXJJY29uOiAnZGV2aWNlLWRlc2t0b3AnIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIGVtcHR5UGFnZUl0ZW0sXG4gICAgICAgICAgICAgICAgY2FyZHNJdGVtXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgICAgICBzYW1wbGVDYXJkc0l0ZW0ucGFyZW50ID0gY2FyZHNJdGVtO1xuICAgICAgICBjYXJkQWN0aW9uc0l0ZW0ucGFyZW50ID0gY2FyZHNJdGVtO1xuICAgICAgICBlbXB0eVBhZ2VJdGVtLnBhcmVudCA9IGludGVyZmFjZUl0ZW07XG4gICAgICAgIGNhcmRzSXRlbS5wYXJlbnQgPSBpbnRlcmZhY2VJdGVtO1xuICAgICAgICB0aGlzLm1lbnVJdGVtcyA9IFtcbiAgICAgICAgICAgIG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdIb21lJyxcbiAgICAgICAgICAgICAgICBpY29uOiB7IHRhYmxlckljb246ICdob21lJyB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBcmNoaXZlcycsXG4gICAgICAgICAgICAgICAgaWNvbjogeyB0YWJsZXJJY29uOiAnZm9sZGVyJyB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGludGVyZmFjZUl0ZW0sXG4gICAgICAgICAgICBuZXcgUm91dGVEYXRhTW9kZWwoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnTGlicmFyeScsXG4gICAgICAgICAgICAgICAgaWNvbjogeyB0YWJsZXJJY29uOiAnYnVpbGRpbmcnIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgICAgIC8vIEVORCBkZW1vIGNvZGVcblxuICAgICAgICBjb25zdCByb3V0ZXJTdWIgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydClcbiAgICAgICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy51cGRhdGVBY3RpdmVSb3V0ZSgoPE5hdmlnYXRpb25TdGFydD4gZXZlbnQpLnVybCkpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlUm91dGUodGhpcy5yb3V0ZXIudXJsKTtcbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHJvdXRlclN1Yik7XG4gICAgfVxuXG4gICAgb25NZW51SXRlbUNsaWNrKGl0ZW06IFJvdXRlRGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzZXRNZW51U3RhdGUodGhpcy5tZW51SXRlbXMpO1xuXG4gICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUGFyZW50cyhpdGVtKTtcblxuICAgICAgICBpZiAoISFpdGVtLmNsaWNrRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIGl0ZW0uY2xpY2tGdW5jdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShpdGVtLmdldEZ1bGxQYXRoKCkpLnRoZW4oKTtcbiAgICB9XG5cbiAgICBoYXNDaGlsZHJlbihpdGVtOiBSb3V0ZURhdGFNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQWN0aXZlTm9kZShpdGVtOiBSb3V0ZURhdGFNb2RlbCwgZnVsbFBhdGg6IHN0cmluZyk6IE9wdGlvbmFsVHlwZTxSb3V0ZURhdGFNb2RlbD4ge1xuICAgICAgICBpZiAoaXRlbS5mdWxsUGF0aCA9PT0gZnVsbFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IHJlc3VsdDtcblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7ICFyZXN1bHQgJiYgaSA8IGl0ZW0uY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLmZpbmRBY3RpdmVOb2RlKGl0ZW0uY2hpbGRyZW5baV0sIGZ1bGxQYXRoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVSb3V0ZShuZXdQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNldE1lbnVTdGF0ZSh0aGlzLm1lbnVJdGVtcyk7XG5cbiAgICAgICAgbGV0IGl0ZW06IE9wdGlvbmFsVHlwZTxSb3V0ZURhdGFNb2RlbD47XG5cbiAgICAgICAgZm9yIChjb25zdCBtaSBvZiB0aGlzLm1lbnVJdGVtcykge1xuICAgICAgICAgICAgaXRlbSA9IHRoaXMuZmluZEFjdGl2ZU5vZGUobWksIG5ld1BhdGgpO1xuXG4gICAgICAgICAgICBpZiAoISFpdGVtKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAoISFpdGVtKSB7XG4gICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRNZW51U3RhdGUoaXRlbXM6IFJvdXRlRGF0YU1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgaXRlbXMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgICAgIGkuaXNBY3RpdmUgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKGkuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRNZW51U3RhdGUoaS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUGFyZW50cyhtZW51SXRlbTogUm91dGVEYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgbGV0IGl0ZW06IE9wdGlvbmFsVHlwZTxSb3V0ZURhdGFNb2RlbD4gPSBtZW51SXRlbTtcblxuICAgICAgICB3aGlsZSAoISFpdGVtKSB7XG4gICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXJcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXItaWNvblwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8aDEgY2xhc3M9XCJuYXZiYXItYnJhbmQgbmF2YmFyLWJyYW5kLWF1dG9kYXJrXCI+XG4gICAgICAgIDxhIGhyZWY9XCIuXCI+XG4gICAgICAgICAgICA8aW1nIHdpZHRoPVwiMTEwXCIgaGVpZ2h0PVwiMzJcIiBjbGFzcz1cIm5hdmJhci1icmFuZC1pbWFnZSB1cGQtYnJhbmQtbG9nb1wiLz5cbiAgICAgICAgPC9hPlxuICAgIDwvaDE+XG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJuYXZiYXItbmF2IHB0LWxnLTNcIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXNcIiBjbGFzcz1cIm5hdi1pdGVtXCIgW2NsYXNzLmRyb3Bkb3duXT1cImhhc0NoaWxkcmVuKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UcGxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie21lbnVJdGVtOiBpdGVtfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2l0ZW1UcGwgbGV0LWl0ZW09XCJtZW51SXRlbVwiPlxuICAgIDx1cGQtbGluayBbaXNOYXZpZ2F0aW9uXT1cInRydWVcIiAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCJbaGFzQ2hpbGRyZW4oaXRlbSkgPyAnZHJvcGRvd24tdG9nZ2xlJyA6ICcnLCBpdGVtLmlzQWN0aXZlID8gJ3Nob3cnIDogJyddXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LWxpbmstaWNvbiBkLW1kLW5vbmUgZC1sZy1pbmxpbmUtYmxvY2tcIj5cbiAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwiaXRlbS5pY29uXCI+PC91cGQtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1saW5rLXRpdGxlXCI+e3tpdGVtLnRpdGxlfX08L3NwYW4+XG4gICAgPC91cGQtbGluaz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ2hpbGRyZW4oaXRlbSlcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlsZHJlblRwbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bWVudUl0ZW06IGl0ZW19XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NoaWxkcmVuVHBsIGxldC1pdGVtPVwibWVudUl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIFtjbGFzcy5zaG93XT1cIml0ZW0uaXNBY3RpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY29sdW1uc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgaXRlbS5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWxpbmsgKm5nSWY9XCIhaGFzQ2hpbGRyZW4oY2hpbGQpOyBlbHNlIGdyYW5kY2hpbGRUcGxcIiAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnZHJvcGRvd24taXRlbScsIGNoaWxkLmlzQWN0aXZlID8gJ2FjdGl2ZScgOiAnJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7Y2hpbGQudGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICA8L3VwZC1saW5rPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2dyYW5kY2hpbGRUcGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGVuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiWydkcm9wZG93bi1pdGVtJywgJ2Ryb3Bkb3duLXRvZ2dsZScsIGNoaWxkLmlzQWN0aXZlID8gJ2FjdGl2ZScgOiAnJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjaGlsZC50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91cGQtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIFtjbGFzcy5zaG93XT1cImNoaWxkLmlzQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyYW5kY2hpbGQgb2YgY2hpbGQuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soZ3JhbmRjaGlsZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnZHJvcGRvd24taXRlbScsIGdyYW5kY2hpbGQuaXNBY3RpdmUgPyAnYWN0aXZlJyA6ICcnXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z3JhbmRjaGlsZC50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VwZC1saW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhcnRpYWxzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUTlCLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBTm5EOztRQU8wQixtQkFBYyxHQUFHLHlDQUF5QyxDQUFDO1FBQzlDLFVBQUssR0FBRyxNQUFNLENBQUM7UUFFbEQsY0FBUyxHQUFxQixFQUFFLENBQUM7UUFFaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQXlJNUM7SUF2SUcsUUFBUTtRQUNKLDBCQUEwQjtRQUMxQixNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBQztZQUN2QyxLQUFLLEVBQUUsY0FBYztZQUNyQixJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO1NBQy9CLENBQUMsQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ3ZDLEtBQUssRUFBRSxjQUFjO1lBQ3JCLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQUM7WUFDckMsS0FBSyxFQUFFLFlBQVk7WUFDbkIsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTtTQUMvQixDQUFDLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQztZQUNqQyxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7WUFDNUIsUUFBUSxFQUFFO2dCQUNOLGVBQWU7Z0JBQ2YsZUFBZTthQUNsQjtTQUNKLENBQUMsQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ3JDLEtBQUssRUFBRSxXQUFXO1lBQ2xCLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRTtZQUN0QyxRQUFRLEVBQUU7Z0JBQ04sYUFBYTtnQkFDYixTQUFTO2FBQ1o7U0FDSixDQUFDLENBQUM7UUFDSCxlQUFlLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUNuQyxlQUFlLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUNuQyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUNyQyxTQUFTLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsSUFBSSxjQUFjLENBQUM7Z0JBQ2YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTthQUMvQixDQUFDO1lBQ0YsSUFBSSxjQUFjLENBQUM7Z0JBQ2YsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7YUFDakMsQ0FBQztZQUNGLGFBQWE7WUFDYixJQUFJLGNBQWMsQ0FBQztnQkFDZixLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTthQUNuQyxDQUFDO1NBQ0wsQ0FBQztRQUNGLGdCQUFnQjtRQUVoQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDcEQsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQW9CLEtBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQW9CO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXJCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxXQUFXLENBQUMsSUFBb0I7UUFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQW9CLEVBQUUsUUFBZ0I7UUFDekQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksTUFBTSxDQUFDO1lBRVgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZELE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0QsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZTtRQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxJQUFJLElBQWtDLENBQUM7UUFFdkMsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDVixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBdUI7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNkLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBRW5CLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBd0I7UUFDMUMsSUFBSSxJQUFJLEdBQWlDLFFBQVEsQ0FBQztRQUVsRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDOzhHQTlJUSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix3S0NiN0Isd2pHQWtFQTs7MkZEckRhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7OEJBR2YsY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPO2dCQUNlLEtBQUs7c0JBQXZDLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24sIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBSb3V0ZURhdGFNb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrL3JvdXRlcyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1zaWRlYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2lkZWJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3NlcyA9ICduYXZiYXIgbmF2YmFyLXZlcnRpY2FsIG5hdmJhci1leHBhbmQtbGcnO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWJzLXRoZW1lJykgdGhlbWUgPSAnZGFyayc7XG5cbiAgICBtZW51SXRlbXM6IFJvdXRlRGF0YU1vZGVsW10gPSBbXTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIGRlbW8gY29kZS5cbiAgICAgICAgY29uc3Qgc2FtcGxlQ2FyZHNJdGVtID0gbmV3IFJvdXRlRGF0YU1vZGVsKHtcbiAgICAgICAgICAgIHRpdGxlOiAnU2FtcGxlIGNhcmRzJyxcbiAgICAgICAgICAgIGljb246IHsgdGFibGVySWNvbjogJ2hvbWUnIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNhcmRBY3Rpb25zSXRlbSA9IG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICB0aXRsZTogJ0NhcmQgYWN0aW9ucycsXG4gICAgICAgICAgICBpY29uOiB7IHRhYmxlckljb246ICdmb2xkZXInIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVtcHR5UGFnZUl0ZW0gPSBuZXcgUm91dGVEYXRhTW9kZWwoe1xuICAgICAgICAgICAgdGl0bGU6ICdFbXB0eSBwYWdlJyxcbiAgICAgICAgICAgIGljb246IHsgdGFibGVySWNvbjogJ2hvbWUnIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNhcmRzSXRlbSA9IG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICB0aXRsZTogJ0NhcmRzJyxcbiAgICAgICAgICAgIGljb246IHsgdGFibGVySWNvbjogJ3VzZXInIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIHNhbXBsZUNhcmRzSXRlbSxcbiAgICAgICAgICAgICAgICBjYXJkQWN0aW9uc0l0ZW1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGludGVyZmFjZUl0ZW0gPSBuZXcgUm91dGVEYXRhTW9kZWwoe1xuICAgICAgICAgICAgdGl0bGU6ICdJbnRlcmZhY2UnLFxuICAgICAgICAgICAgaWNvbjogeyB0YWJsZXJJY29uOiAnZGV2aWNlLWRlc2t0b3AnIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIGVtcHR5UGFnZUl0ZW0sXG4gICAgICAgICAgICAgICAgY2FyZHNJdGVtXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgICAgICBzYW1wbGVDYXJkc0l0ZW0ucGFyZW50ID0gY2FyZHNJdGVtO1xuICAgICAgICBjYXJkQWN0aW9uc0l0ZW0ucGFyZW50ID0gY2FyZHNJdGVtO1xuICAgICAgICBlbXB0eVBhZ2VJdGVtLnBhcmVudCA9IGludGVyZmFjZUl0ZW07XG4gICAgICAgIGNhcmRzSXRlbS5wYXJlbnQgPSBpbnRlcmZhY2VJdGVtO1xuICAgICAgICB0aGlzLm1lbnVJdGVtcyA9IFtcbiAgICAgICAgICAgIG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdIb21lJyxcbiAgICAgICAgICAgICAgICBpY29uOiB7IHRhYmxlckljb246ICdob21lJyB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBSb3V0ZURhdGFNb2RlbCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBcmNoaXZlcycsXG4gICAgICAgICAgICAgICAgaWNvbjogeyB0YWJsZXJJY29uOiAnZm9sZGVyJyB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGludGVyZmFjZUl0ZW0sXG4gICAgICAgICAgICBuZXcgUm91dGVEYXRhTW9kZWwoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnTGlicmFyeScsXG4gICAgICAgICAgICAgICAgaWNvbjogeyB0YWJsZXJJY29uOiAnYnVpbGRpbmcnIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgICAgIC8vIEVORCBkZW1vIGNvZGVcblxuICAgICAgICBjb25zdCByb3V0ZXJTdWIgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydClcbiAgICAgICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy51cGRhdGVBY3RpdmVSb3V0ZSgoPE5hdmlnYXRpb25TdGFydD4gZXZlbnQpLnVybCkpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlUm91dGUodGhpcy5yb3V0ZXIudXJsKTtcbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHJvdXRlclN1Yik7XG4gICAgfVxuXG4gICAgb25NZW51SXRlbUNsaWNrKGl0ZW06IFJvdXRlRGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzZXRNZW51U3RhdGUodGhpcy5tZW51SXRlbXMpO1xuXG4gICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUGFyZW50cyhpdGVtKTtcblxuICAgICAgICBpZiAoISFpdGVtLmNsaWNrRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIGl0ZW0uY2xpY2tGdW5jdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShpdGVtLmdldEZ1bGxQYXRoKCkpLnRoZW4oKTtcbiAgICB9XG5cbiAgICBoYXNDaGlsZHJlbihpdGVtOiBSb3V0ZURhdGFNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQWN0aXZlTm9kZShpdGVtOiBSb3V0ZURhdGFNb2RlbCwgZnVsbFBhdGg6IHN0cmluZyk6IE9wdGlvbmFsVHlwZTxSb3V0ZURhdGFNb2RlbD4ge1xuICAgICAgICBpZiAoaXRlbS5mdWxsUGF0aCA9PT0gZnVsbFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IHJlc3VsdDtcblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7ICFyZXN1bHQgJiYgaSA8IGl0ZW0uY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLmZpbmRBY3RpdmVOb2RlKGl0ZW0uY2hpbGRyZW5baV0sIGZ1bGxQYXRoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVSb3V0ZShuZXdQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNldE1lbnVTdGF0ZSh0aGlzLm1lbnVJdGVtcyk7XG5cbiAgICAgICAgbGV0IGl0ZW06IE9wdGlvbmFsVHlwZTxSb3V0ZURhdGFNb2RlbD47XG5cbiAgICAgICAgZm9yIChjb25zdCBtaSBvZiB0aGlzLm1lbnVJdGVtcykge1xuICAgICAgICAgICAgaXRlbSA9IHRoaXMuZmluZEFjdGl2ZU5vZGUobWksIG5ld1BhdGgpO1xuXG4gICAgICAgICAgICBpZiAoISFpdGVtKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAoISFpdGVtKSB7XG4gICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRNZW51U3RhdGUoaXRlbXM6IFJvdXRlRGF0YU1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgaXRlbXMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgICAgIGkuaXNBY3RpdmUgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKGkuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRNZW51U3RhdGUoaS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUGFyZW50cyhtZW51SXRlbTogUm91dGVEYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgbGV0IGl0ZW06IE9wdGlvbmFsVHlwZTxSb3V0ZURhdGFNb2RlbD4gPSBtZW51SXRlbTtcblxuICAgICAgICB3aGlsZSAoISFpdGVtKSB7XG4gICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXJcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXItaWNvblwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8aDEgY2xhc3M9XCJuYXZiYXItYnJhbmQgbmF2YmFyLWJyYW5kLWF1dG9kYXJrXCI+XG4gICAgICAgIDxhIGhyZWY9XCIuXCI+XG4gICAgICAgICAgICA8aW1nIHdpZHRoPVwiMTEwXCIgaGVpZ2h0PVwiMzJcIiBjbGFzcz1cIm5hdmJhci1icmFuZC1pbWFnZSB1cGQtYnJhbmQtbG9nb1wiLz5cbiAgICAgICAgPC9hPlxuICAgIDwvaDE+XG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJuYXZiYXItbmF2IHB0LWxnLTNcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudUl0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiBbY2xhc3MuZHJvcGRvd25dPVwiaGFzQ2hpbGRyZW4oaXRlbSlcIiBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVHBsXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInttZW51SXRlbTogaXRlbX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2l0ZW1UcGwgbGV0LWl0ZW09XCJtZW51SXRlbVwiPlxuICAgIDx1cGQtbGluayBbaXNOYXZpZ2F0aW9uXT1cInRydWVcIiAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCJbaGFzQ2hpbGRyZW4oaXRlbSkgPyAnZHJvcGRvd24tdG9nZ2xlJyA6ICcnLCBpdGVtLmlzQWN0aXZlID8gJ3Nob3cnIDogJyddXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LWxpbmstaWNvbiBkLW1kLW5vbmUgZC1sZy1pbmxpbmUtYmxvY2tcIj5cbiAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwiaXRlbS5pY29uXCI+PC91cGQtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1saW5rLXRpdGxlXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICA8L3VwZC1saW5rPlxuICAgIEBpZiAoaGFzQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlsZHJlblRwbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bWVudUl0ZW06IGl0ZW19XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRyZW5UcGwgbGV0LWl0ZW09XCJtZW51SXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgW2NsYXNzLnNob3ddPVwiaXRlbS5pc0FjdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudS1jb2x1bW5zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICBAZm9yIChjaGlsZCBvZiBpdGVtLmNoaWxkcmVuOyB0cmFjayBjaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCFoYXNDaGlsZHJlbihjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCJbJ2Ryb3Bkb3duLWl0ZW0nLCBjaGlsZC5pc0FjdGl2ZSA/ICdhY3RpdmUnIDogJyddXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY2hpbGQudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3BlbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWxpbmsgKGNsaWNrZWQpPVwib25NZW51SXRlbUNsaWNrKGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnZHJvcGRvd24taXRlbScsICdkcm9wZG93bi10b2dnbGUnLCBjaGlsZC5pc0FjdGl2ZSA/ICdhY3RpdmUnIDogJyddXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNoaWxkLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91cGQtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIFtjbGFzcy5zaG93XT1cImNoaWxkLmlzQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGdyYW5kY2hpbGQgb2YgY2hpbGQuY2hpbGRyZW47IHRyYWNrIGdyYW5kY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayAoY2xpY2tlZCk9XCJvbk1lbnVJdGVtQ2xpY2soZ3JhbmRjaGlsZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnZHJvcGRvd24taXRlbScsIGdyYW5kY2hpbGQuaXNBY3RpdmUgPyAnYWN0aXZlJyA6ICcnXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdyYW5kY2hpbGQudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -9,13 +9,13 @@ export class UpdLayoutConfigService {
9
9
  constructor(layoutConfig) {
10
10
  this.config = new UpdLayoutConfigModel(layoutConfig);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdLayoutConfigService, deps: [{ token: LayoutConstants.defaultOptionsInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdLayoutConfigService }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdLayoutConfigService, deps: [{ token: LayoutConstants.defaultOptionsInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdLayoutConfigService }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdLayoutConfigService, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdLayoutConfigService, decorators: [{
16
16
  type: Injectable
17
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
17
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
18
18
  type: Inject,
19
19
  args: [LayoutConstants.defaultOptionsInjectionToken]
20
- }] }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWxheW91dC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2xheW91dC9zcmMvc2VydmljZXMvdXBkLWxheW91dC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRzVEOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUFzQjtJQU0vQixZQUFrRSxZQUE2QjtRQUMzRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FSUSxzQkFBc0Isa0JBTVgsZUFBZSxDQUFDLDRCQUE0QjttSEFOdkQsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFPTSxNQUFNOzJCQUFDLGVBQWUsQ0FBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVXBkTGF5b3V0Q29uZmlnTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvdXBkLWxheW91dC1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgTGF5b3V0Q29uc3RhbnRzIH0gZnJvbSAnLi4vdG9vbHMvbGF5b3V0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBVcGRMYXlvdXRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvdXBkLWxheW91dC5jb25maWcnO1xuXG4vKipcbiAqIExheW91dCBjb25maWd1cmF0aW9uIGRhdGEuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGRMYXlvdXRDb25maWdTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIChTZWU6ICN1cHNlZVtwOm1vZGVscywgaTpVcGRDb3JlTGF5b3V0Q29uZmlnTW9kZWxdKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBjb25maWc6IFVwZExheW91dENvbmZpZ01vZGVsO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMYXlvdXRDb25zdGFudHMuZGVmYXVsdE9wdGlvbnNJbmplY3Rpb25Ub2tlbikgbGF5b3V0Q29uZmlnOiBVcGRMYXlvdXRDb25maWcpIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBuZXcgVXBkTGF5b3V0Q29uZmlnTW9kZWwobGF5b3V0Q29uZmlnKTtcbiAgICB9XG59XG4iXX0=
20
+ }] }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWxheW91dC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2xheW91dC9zcmMvc2VydmljZXMvdXBkLWxheW91dC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRzVEOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUFzQjtJQU0vQixZQUFrRSxZQUE2QjtRQUMzRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekQsQ0FBQzs4R0FSUSxzQkFBc0Isa0JBTVgsZUFBZSxDQUFDLDRCQUE0QjtrSEFOdkQsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFPTSxNQUFNOzJCQUFDLGVBQWUsQ0FBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVXBkTGF5b3V0Q29uZmlnTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvdXBkLWxheW91dC1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgTGF5b3V0Q29uc3RhbnRzIH0gZnJvbSAnLi4vdG9vbHMvbGF5b3V0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBVcGRMYXlvdXRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvdXBkLWxheW91dC5jb25maWcnO1xuXG4vKipcbiAqIExheW91dCBjb25maWd1cmF0aW9uIGRhdGEuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGRMYXlvdXRDb25maWdTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIChTZWU6ICN1cHNlZVtwOm1vZGVscywgaTpVcGRDb3JlTGF5b3V0Q29uZmlnTW9kZWxdKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBjb25maWc6IFVwZExheW91dENvbmZpZ01vZGVsO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMYXlvdXRDb25zdGFudHMuZGVmYXVsdE9wdGlvbnNJbmplY3Rpb25Ub2tlbikgbGF5b3V0Q29uZmlnOiBVcGRMYXlvdXRDb25maWcpIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBuZXcgVXBkTGF5b3V0Q29uZmlnTW9kZWwobGF5b3V0Q29uZmlnKTtcbiAgICB9XG59XG4iXX0=
@@ -20,15 +20,15 @@ export class UpdLayoutModule {
20
20
  ]
21
21
  };
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.11", ngImport: i0, type: UpdLayoutModule, imports: [CommonModule,
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: UpdLayoutModule, imports: [CommonModule,
25
25
  UpdCoreLayoutModule] }); }
26
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdLayoutModule, providers: [
26
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdLayoutModule, providers: [
27
27
  UpdLayoutConfigService
28
28
  ], imports: [CommonModule,
29
29
  UpdCoreLayoutModule] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdLayoutModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdLayoutModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  imports: [
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
40
40
  ]
41
41
  }]
42
42
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3VwZC1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRTlFOztHQUVHO0FBVUgsTUFBTSxPQUFPLGVBQWU7SUFDeEI7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF1QjtRQUNsQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNQLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQzlFO1NBQ0osQ0FBQztJQUNOLENBQUM7K0dBWlEsZUFBZTtnSEFBZixlQUFlLFlBUHBCLFlBQVk7WUFDWixtQkFBbUI7Z0hBTWQsZUFBZSxhQUpiO1lBQ1Asc0JBQXNCO1NBQ3pCLFlBTEcsWUFBWTtZQUNaLG1CQUFtQjs7NEZBTWQsZUFBZTtrQkFUM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3RCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxzQkFBc0I7cUJBQ3pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVcGRDb3JlTGF5b3V0TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcblxuaW1wb3J0IHsgVXBkTGF5b3V0Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvdXBkLWxheW91dC5jb25maWcnO1xuaW1wb3J0IHsgTGF5b3V0Q29uc3RhbnRzIH0gZnJvbSAnLi90b29scy9sYXlvdXQuY29uc3RhbnRzJztcbmltcG9ydCB7IFVwZExheW91dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VwZC1sYXlvdXQtY29uZmlnLnNlcnZpY2UnO1xuXG4vKipcbiAqIExheW91dCBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFVwZENvcmVMYXlvdXRNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBVcGRMYXlvdXRDb25maWdTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGRMYXlvdXRNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIFNldHMgdXAgdGhlIGxheW91dCBtb2R1bGUgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gKFNlZTogI3VwZHNlZVtwOmFic3RyYWN0aW9ucywgaTpVcGRDb3JlTGF5b3V0Q29uZmlnXSkuXG4gICAgICovXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBVcGRMYXlvdXRDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFVwZExheW91dE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFVwZExheW91dE1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTGF5b3V0Q29uc3RhbnRzLmRlZmF1bHRPcHRpb25zSW5qZWN0aW9uVG9rZW4sIHVzZVZhbHVlOiBjb25maWcgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3VwZC1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRTlFOztHQUVHO0FBVUgsTUFBTSxPQUFPLGVBQWU7SUFDeEI7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF1QjtRQUNsQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNQLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQzlFO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBWlEsZUFBZTsrR0FBZixlQUFlLFlBUHBCLFlBQVk7WUFDWixtQkFBbUI7K0dBTWQsZUFBZSxhQUpiO1lBQ1Asc0JBQXNCO1NBQ3pCLFlBTEcsWUFBWTtZQUNaLG1CQUFtQjs7MkZBTWQsZUFBZTtrQkFUM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3RCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxzQkFBc0I7cUJBQ3pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVcGRDb3JlTGF5b3V0TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcblxuaW1wb3J0IHsgVXBkTGF5b3V0Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvdXBkLWxheW91dC5jb25maWcnO1xuaW1wb3J0IHsgTGF5b3V0Q29uc3RhbnRzIH0gZnJvbSAnLi90b29scy9sYXlvdXQuY29uc3RhbnRzJztcbmltcG9ydCB7IFVwZExheW91dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VwZC1sYXlvdXQtY29uZmlnLnNlcnZpY2UnO1xuXG4vKipcbiAqIExheW91dCBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFVwZENvcmVMYXlvdXRNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBVcGRMYXlvdXRDb25maWdTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGRMYXlvdXRNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIFNldHMgdXAgdGhlIGxheW91dCBtb2R1bGUgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gKFNlZTogI3VwZHNlZVtwOmFic3RyYWN0aW9ucywgaTpVcGRDb3JlTGF5b3V0Q29uZmlnXSkuXG4gICAgICovXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBVcGRMYXlvdXRDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFVwZExheW91dE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFVwZExheW91dE1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTGF5b3V0Q29uc3RhbnRzLmRlZmF1bHRPcHRpb25zSW5qZWN0aW9uVG9rZW4sIHVzZVZhbHVlOiBjb25maWcgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==