@tilde-nlp/ngx-menu 6.1.4 → 6.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -72,11 +72,11 @@ function MenuItemListComponent_ng_template_4_ng_container_4_menu_item_list_1_Tem
72
72
  } if (rf & 2) {
73
73
  const menuItem_r6 = i0.ɵɵnextContext(2).menuItem;
74
74
  const ctx_r0 = i0.ɵɵnextContext();
75
- i0.ɵɵproperty("items", menuItem_r6.children)("direction", ctx_r0.direction)("labelsVisible", ctx_r0.labelsVisible)("activeItem", ctx_r0.activeItem);
75
+ i0.ɵɵproperty("ngClass.lt-md", "mobile-child-list")("items", menuItem_r6.children)("direction", ctx_r0.direction)("labelsVisible", ctx_r0.labelsVisible)("activeItem", ctx_r0.activeItem);
76
76
  } }
77
77
  function MenuItemListComponent_ng_template_4_ng_container_4_Template(rf, ctx) { if (rf & 1) {
78
78
  i0.ɵɵelementContainerStart(0);
79
- i0.ɵɵtemplate(1, MenuItemListComponent_ng_template_4_ng_container_4_menu_item_list_1_Template, 1, 4, "menu-item-list", 15);
79
+ i0.ɵɵtemplate(1, MenuItemListComponent_ng_template_4_ng_container_4_menu_item_list_1_Template, 1, 5, "menu-item-list", 15);
80
80
  i0.ɵɵelementContainerEnd();
81
81
  } if (rf & 2) {
82
82
  const menuItem_r6 = i0.ɵɵnextContext().menuItem;
@@ -95,7 +95,8 @@ function MenuItemListComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
95
95
  const menuItem_r6 = ctx.menuItem;
96
96
  const ctx_r0 = i0.ɵɵnextContext();
97
97
  i0.ɵɵclassProp("menu-labels-visible", ctx_r0.labelsVisible)("active-menu-item", (ctx_r0.activeItem == null ? null : ctx_r0.activeItem.link) && menuItem_r6 === ctx_r0.activeItem);
98
- i0.ɵɵproperty("ngClass.lt-md", "mob-menu-item")("fxLayout", ctx_r0.menuItemLayout)("matTooltip", !ctx_r0.labelsVisible ? i0.ɵɵpipeBind1(1, 11, menuItem_r6.title) : "")("fxLayoutAlign", ctx_r0.menuLayoutDirection);
98
+ i0.ɵɵproperty("ngClass.lt-md", "mob-menu-item")("fxLayout", ctx_r0.menuItemLayout)("matTooltip", !ctx_r0.labelsVisible ? i0.ɵɵpipeBind1(1, 12, menuItem_r6.title) : "")("fxLayoutAlign", ctx_r0.menuLayoutDirection);
99
+ i0.ɵɵattribute("id", menuItem_r6.customId);
99
100
  i0.ɵɵadvance(2);
100
101
  i0.ɵɵproperty("ngIf", ctx_r0.showIcons && menuItem_r6.icon);
101
102
  i0.ɵɵadvance();
@@ -140,13 +141,13 @@ export class MenuItemListComponent {
140
141
  this.toggleExpand.next(menuItem);
141
142
  }
142
143
  static { this.ɵfac = function MenuItemListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuItemListComponent)(); }; }
143
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemListComponent, selectors: [["menu-item-list"]], inputs: { direction: "direction", labelsVisible: "labelsVisible", activeItem: "activeItem", showIcons: "showIcons", items: "items", menuItemGroup: "menuItemGroup" }, outputs: { toggleExpand: "toggleExpand" }, decls: 8, vars: 3, consts: [["itemWithChildren", ""], ["menuItemLink", ""], [1, "menu-list-wrapper"], ["fxLayoutAlign", "start center", "class", "menu-item-list-title", 4, "ngIf"], ["fxLayout", "column", 1, "menu-item-list", 3, "fxLayoutAlign"], [4, "ngFor", "ngForOf"], ["fxLayoutAlign", "start center", 1, "menu-item-list-title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["matTooltipPosition", "after", "matTooltipClass", "menu-tooltip", "fxLayoutGap", "0.375rem", 1, "text-m", "menu-item", 3, "click", "ngClass.lt-md", "fxLayout", "matTooltip", "fxLayoutAlign"], [4, "ngIf"], [3, "menuItem"], [1, "menu-item-title"], [1, "title-content"], ["class", "material-icons", 4, "ngIf"], [1, "material-icons"], ["class", "child-list", 3, "items", "direction", "labelsVisible", "activeItem", 4, "ngIf"], [1, "child-list", 3, "items", "direction", "labelsVisible", "activeItem"], [3, "ngClass.lt-md", "menuItem", "direction", "labelsVisible", "activeItem", "showIcons"]], template: function MenuItemListComponent_Template(rf, ctx) { if (rf & 1) {
144
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemListComponent, selectors: [["menu-item-list"]], inputs: { direction: "direction", labelsVisible: "labelsVisible", activeItem: "activeItem", showIcons: "showIcons", items: "items", menuItemGroup: "menuItemGroup" }, outputs: { toggleExpand: "toggleExpand" }, decls: 8, vars: 3, consts: [["itemWithChildren", ""], ["menuItemLink", ""], [1, "menu-list-wrapper"], ["fxLayoutAlign", "start center", "class", "menu-item-list-title", 4, "ngIf"], ["fxLayout", "column", 1, "menu-item-list", 3, "fxLayoutAlign"], [4, "ngFor", "ngForOf"], ["fxLayoutAlign", "start center", 1, "menu-item-list-title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["matTooltipPosition", "after", "matTooltipClass", "menu-tooltip", "fxLayoutGap", "0.375rem", 1, "text-m", "menu-item", 3, "click", "ngClass.lt-md", "fxLayout", "matTooltip", "fxLayoutAlign"], [4, "ngIf"], [3, "menuItem"], [1, "menu-item-title"], [1, "title-content"], ["class", "material-icons", 4, "ngIf"], [1, "material-icons"], ["class", "child-list", 3, "ngClass.lt-md", "items", "direction", "labelsVisible", "activeItem", 4, "ngIf"], [1, "child-list", 3, "ngClass.lt-md", "items", "direction", "labelsVisible", "activeItem"], [3, "ngClass.lt-md", "menuItem", "direction", "labelsVisible", "activeItem", "showIcons"]], template: function MenuItemListComponent_Template(rf, ctx) { if (rf & 1) {
144
145
  i0.ɵɵelementStart(0, "div", 2);
145
146
  i0.ɵɵtemplate(1, MenuItemListComponent_div_1_Template, 3, 3, "div", 3);
146
147
  i0.ɵɵelementStart(2, "div", 4);
147
148
  i0.ɵɵtemplate(3, MenuItemListComponent_ng_container_3_Template, 2, 4, "ng-container", 5);
148
149
  i0.ɵɵelementEnd()();
149
- i0.ɵɵtemplate(4, MenuItemListComponent_ng_template_4_Template, 5, 13, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(6, MenuItemListComponent_ng_template_6_Template, 1, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
150
+ i0.ɵɵtemplate(4, MenuItemListComponent_ng_template_4_Template, 5, 14, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(6, MenuItemListComponent_ng_template_6_Template, 1, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
150
151
  } if (rf & 2) {
151
152
  i0.ɵɵadvance();
152
153
  i0.ɵɵproperty("ngIf", ctx.titleKey && ctx.showTitle && ctx.labelsVisible);
@@ -158,7 +159,7 @@ export class MenuItemListComponent {
158
159
  }
159
160
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemListComponent, [{
160
161
  type: Component,
161
- args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n <div *ngIf=\"titleKey && showTitle && labelsVisible\" fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n {{ titleKey | translate }}\r\n </div>\r\n <div fxLayout=\"column\" [fxLayoutAlign]=\"menuLayoutDirection\" class=\"menu-item-list\">\r\n <ng-container *ngFor=\"let menuItem of items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!menuItem.showChildren || !menuItem.children || menuItem?.children?.length === 0 ? menuItemLink : itemWithChildren; context: {menuItem: menuItem}\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemWithChildren let-menuItem=\"menuItem\">\r\n <button [ngClass.lt-md]=\"'mob-menu-item'\" [fxLayout]=\"menuItemLayout\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\" [class.menu-labels-visible]=\"labelsVisible\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"activeItem?.link && menuItem === activeItem\" (click)=\"toggleItemExpand($event,menuItem)\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"labelsVisible\">\r\n <span class=\"menu-item-title\">\r\n <span class=\"title-content\">{{ menuItem.title | translate }}</span></span>\r\n <span class=\"material-icons\" *ngIf=\"menuItem.showChildren && menuItem.children\">\r\n {{ menuItem.expanded ? 'arrow_drop_up' : 'arrow_drop_down' }}\r\n </span>\r\n </ng-container>\r\n </button>\r\n <ng-container *ngIf=\"menuItem.showChildren && menuItem.expanded && labelsVisible\">\r\n <menu-item-list class=\"child-list\" *ngIf=\"menuItem.children && menuItem.children.length\" [items]=\"menuItem.children\"\r\n [direction]=\"direction\" [labelsVisible]=\"labelsVisible\" [activeItem]=\"activeItem\">\r\n </menu-item-list>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #menuItemLink let-menuItem=\"menuItem\">\r\n <tld-menu-item-link [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\" [labelsVisible]=\"labelsVisible\"\r\n [activeItem]=\"activeItem\" [showIcons]=\"showIcons\"></tld-menu-item-link>\r\n</ng-template>", styles: [":host{display:inline-block}::ng-deep .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important}::ng-deep .collapsed .menu-list-wrapper,::ng-deep .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important}::ng-deep .collapsed .menu-item{display:flex!important;place-content:center center!important}::ng-deep .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}:host ::ng-deep .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}:host ::ng-deep .menu-list-wrapper .menu-item:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item mat-icon,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item:hover{font-weight:600}:host ::ng-deep .menu-list-wrapper .menu-item span{display:inline-block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}:host.child-list{margin-bottom:1rem}:host.child-list .menu-item+.menu-item{margin-top:.5rem}::ng-deep .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative}::ng-deep .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}.mob-menu-item{margin-top:16px}\n"] }]
162
+ args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n <div *ngIf=\"titleKey && showTitle && labelsVisible\" fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n {{ titleKey | translate }}\r\n </div>\r\n <div fxLayout=\"column\" [fxLayoutAlign]=\"menuLayoutDirection\" class=\"menu-item-list\">\r\n <ng-container *ngFor=\"let menuItem of items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!menuItem.showChildren || !menuItem.children || menuItem?.children?.length === 0 ? menuItemLink : itemWithChildren; context: {menuItem: menuItem}\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemWithChildren let-menuItem=\"menuItem\">\r\n <button [attr.id]=\"menuItem.customId\" [ngClass.lt-md]=\"'mob-menu-item'\" [fxLayout]=\"menuItemLayout\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\" [class.menu-labels-visible]=\"labelsVisible\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"activeItem?.link && menuItem === activeItem\" (click)=\"toggleItemExpand($event,menuItem)\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"labelsVisible\">\r\n <span class=\"menu-item-title\">\r\n <span class=\"title-content\">{{ menuItem.title | translate }}</span></span>\r\n <span class=\"material-icons\" *ngIf=\"menuItem.showChildren && menuItem.children\">\r\n {{ menuItem.expanded ? 'arrow_drop_up' : 'arrow_drop_down' }}\r\n </span>\r\n </ng-container>\r\n </button>\r\n <ng-container *ngIf=\"menuItem.showChildren && menuItem.expanded && labelsVisible\">\r\n <menu-item-list [ngClass.lt-md]=\"'mobile-child-list'\" class=\"child-list\" *ngIf=\"menuItem.children && menuItem.children.length\" [items]=\"menuItem.children\"\r\n [direction]=\"direction\" [labelsVisible]=\"labelsVisible\" [activeItem]=\"activeItem\">\r\n </menu-item-list>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #menuItemLink let-menuItem=\"menuItem\">\r\n <tld-menu-item-link [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\" [labelsVisible]=\"labelsVisible\"\r\n [activeItem]=\"activeItem\" [showIcons]=\"showIcons\"></tld-menu-item-link>\r\n</ng-template>", styles: [":host{display:inline-block}::ng-deep .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important}::ng-deep .collapsed .menu-list-wrapper,::ng-deep .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important}::ng-deep .collapsed .menu-item{display:flex!important;place-content:center center!important}::ng-deep .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}:host ::ng-deep .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}:host ::ng-deep .menu-list-wrapper .menu-item:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item mat-icon,:host ::ng-deep .menu-list-wrapper .menu-item.active-menu-item:hover{font-weight:600}:host ::ng-deep .menu-list-wrapper .menu-item span{display:inline-block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}:host ::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}:host.child-list{margin-bottom:1rem}:host.child-list .menu-item+.menu-item{margin-top:.5rem}::ng-deep .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative}::ng-deep .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}.mob-menu-item{margin-top:16px}\n"] }]
162
163
  }], null, { direction: [{
163
164
  type: Input
164
165
  }], labelsVisible: [{
@@ -175,4 +176,4 @@ export class MenuItemListComponent {
175
176
  type: Output
176
177
  }] }); })();
177
178
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuItemListComponent, { className: "MenuItemListComponent", filePath: "lib\\components\\menu-item-list\\menu-item-list.component.ts", lineNumber: 11 }); })();
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saXN0L21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGlzdC9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7OztJQ0Y3RSw4QkFBOEc7SUFDNUcsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHNFQUNGOzs7SUFHSSx3QkFFZTs7O0lBSGpCLDZCQUE2QztJQUMzQyx1R0FDd0s7Ozs7Ozs7SUFBckssY0FBc0k7SUFBQSxBQUF0SSx1T0FBc0ksb0VBQTZCOzs7SUFXeEssNkJBQWlEO0lBQy9DLG9DQUFzRDs7OztJQUF0QyxjQUFxQjtJQUFyQixzQ0FBcUI7OztJQUtyQyxnQ0FBZ0Y7SUFDOUUsWUFDRjtJQUFBLGlCQUFPOzs7SUFETCxjQUNGO0lBREUsMkZBQ0Y7OztJQUxGLDZCQUFvQztJQUVoQyxBQURGLGdDQUE4QixlQUNBO0lBQUEsWUFBZ0M7O0lBQU8sQUFBUCxpQkFBTyxFQUFPO0lBQzVFLHNHQUFnRjs7OztJQURsRCxlQUFnQztJQUFoQyw2REFBZ0M7SUFDaEMsZUFBZ0Q7SUFBaEQsdUVBQWdEOzs7SUFNaEYscUNBRWlCOzs7O0lBRHlDLEFBQWhDLEFBQXhCLEFBRHVGLDRDQUEyQiwrQkFDM0YsdUNBQWdDLGlDQUEwQjs7O0lBRnJGLDZCQUFrRjtJQUNoRiwwSEFDb0Y7Ozs7SUFEaEQsY0FBbUQ7SUFBbkQsMEVBQW1EOzs7O0lBaEJ6RixpQ0FHcUg7O0lBQTVDLDROQUFTLDRDQUFpQyxLQUFDO0lBSWxILEFBSEEsc0dBQWlELHlGQUdiO0lBT3RDLGlCQUFTO0lBQ1Qsc0dBQWtGOzs7O0lBWmhGLEFBRjZGLDJEQUEyQyxzSEFFbEU7SUFEdEUsQUFEQSxBQUR3QyxBQUFsQywrQ0FBaUMsbUNBQTRCLHFGQUNGLDZDQUM1QjtJQUV0QixlQUFnQztJQUFoQywyREFBZ0M7SUFHaEMsY0FBbUI7SUFBbkIsMkNBQW1CO0lBUXJCLGNBQWlFO0lBQWpFLCtGQUFpRTs7O0lBUWhGLHlDQUN5RTs7OztJQUE3QyxBQUExQixBQURrRyxBQUF4QixBQUF0QixBQUFsQywrQ0FBaUMseUJBQXNCLCtCQUF3Qix1Q0FBZ0MsaUNBQ3hHLCtCQUF3Qjs7QUQ1QnJELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNVyxjQUFTLEdBQXdCLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUM1RCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBRzVCLGlCQUFZLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO0tBOEIzRjtJQTVCQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzNFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLFFBQXdCO1FBQzFELDZCQUE2QjtRQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxDQUFDO3NIQXRDVSxxQkFBcUI7b0VBQXJCLHFCQUFxQjtZQ1ZsQyw4QkFBK0I7WUFDN0Isc0VBQThHO1lBRzlHLDhCQUFvRjtZQUNsRix3RkFBNkM7WUFNakQsQUFERSxpQkFBTSxFQUNGO1lBeUJOLEFBdkJBLHdIQUF1RCwwR0F1Qko7O1lBbkMzQyxjQUE0QztZQUE1Qyx5RUFBNEM7WUFHM0IsY0FBcUM7WUFBckMsdURBQXFDO1lBQ3ZCLGNBQVE7WUFBUixtQ0FBUTt3TURLbEMscUJBQXFCOztpRkFBckIscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsZ0JBQWdCO2dCQUtqQixTQUFTO2tCQUFqQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUVJLFlBQVk7a0JBQXJCLE1BQU07O2tGQVRJLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2N1c3RvbS1tZW51LWl0ZW0nO1xyXG5pbXBvcnQgeyBNZW51SXRlbUdyb3VwQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LWl0ZW0tZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQgeyBNZW51TGF5b3V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUtbGF5b3V0LWRpcmVjdGlvbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21lbnUtaXRlbS1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtTGlzdENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZGlyZWN0aW9uOiBNZW51TGF5b3V0RGlyZWN0aW9uID0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW47XHJcbiAgQElucHV0KCkgbGFiZWxzVmlzaWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgYWN0aXZlSXRlbSE6IEN1c3RvbU1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHNob3dJY29ucyA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zOiBDdXN0b21NZW51SXRlbVtdID0gW107XHJcbiAgQElucHV0KCkgbWVudUl0ZW1Hcm91cCE6IE1lbnVJdGVtR3JvdXBCYXNlO1xyXG5cclxuICBAT3V0cHV0KCkgdG9nZ2xlRXhwYW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21NZW51SXRlbT4oKTtcclxuXHJcbiAgZ2V0IHRpdGxlS2V5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1Hcm91cD8udGl0bGU7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1RpdGxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1Hcm91cD8uc2hvd1RpdGxlO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBtZW51TGF5b3V0RGlyZWN0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuZGlyZWN0aW9uID09PSBNZW51TGF5b3V0RGlyZWN0aW9uLmNvbHVtbiB8fCAhdGhpcy5sYWJlbHNWaXNpYmxlKVxyXG4gICAgICA/ICdzdGFydCBjZW50ZXInIDogJ3N0YXJ0IHN0YXJ0JztcclxuICB9XHJcblxyXG4gIGdldCBtZW51SXRlbUxheW91dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSBNZW51TGF5b3V0RGlyZWN0aW9uLmNvbHVtbiA/ICdjb2x1bW4nIDogJ3Jvdyc7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVJdGVtRXhwYW5kKGV2ZW50OiBNb3VzZUV2ZW50LCBtZW51SXRlbTogQ3VzdG9tTWVudUl0ZW0pIHtcclxuICAgIC8vIHNvIG1lbnUgZG9lc250IGdldCBjbG9zZWQuXHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5sYWJlbHNWaXNpYmxlIHx8ICFtZW51SXRlbS5leHBhbmRlZCkge1xyXG4gICAgICBtZW51SXRlbS5leHBhbmRlZCA9ICFtZW51SXRlbS5leHBhbmRlZDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRvZ2dsZUV4cGFuZC5uZXh0KG1lbnVJdGVtKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1lbnUtbGlzdC13cmFwcGVyXCI+XHJcbiAgPGRpdiAqbmdJZj1cInRpdGxlS2V5ICYmIHNob3dUaXRsZSAmJiBsYWJlbHNWaXNpYmxlXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwibWVudS1pdGVtLWxpc3QtdGl0bGVcIj5cclxuICAgIHt7IHRpdGxlS2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIFtmeExheW91dEFsaWduXT1cIm1lbnVMYXlvdXREaXJlY3Rpb25cIiBjbGFzcz1cIm1lbnUtaXRlbS1saXN0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51SXRlbSBvZiBpdGVtc1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCIhbWVudUl0ZW0uc2hvd0NoaWxkcmVuIHx8ICFtZW51SXRlbS5jaGlsZHJlbiB8fCBtZW51SXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA9PT0gMCA/IG1lbnVJdGVtTGluayA6IGl0ZW1XaXRoQ2hpbGRyZW47IGNvbnRleHQ6IHttZW51SXRlbTogbWVudUl0ZW19XCI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtV2l0aENoaWxkcmVuIGxldC1tZW51SXRlbT1cIm1lbnVJdGVtXCI+XHJcbiAgPGJ1dHRvbiBbbmdDbGFzcy5sdC1tZF09XCInbW9iLW1lbnUtaXRlbSdcIiBbZnhMYXlvdXRdPVwibWVudUl0ZW1MYXlvdXRcIiBjbGFzcz1cInRleHQtbSBtZW51LWl0ZW1cIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiIWxhYmVsc1Zpc2libGUgPyAobWVudUl0ZW0udGl0bGUgfCB0cmFuc2xhdGUpIDogJydcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhZnRlclwiIFtjbGFzcy5tZW51LWxhYmVscy12aXNpYmxlXT1cImxhYmVsc1Zpc2libGVcIlxyXG4gICAgW2Z4TGF5b3V0QWxpZ25dPVwibWVudUxheW91dERpcmVjdGlvblwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnUtdG9vbHRpcFwiIGZ4TGF5b3V0R2FwPVwiMC4zNzVyZW1cIlxyXG4gICAgW2NsYXNzLmFjdGl2ZS1tZW51LWl0ZW1dPVwiYWN0aXZlSXRlbT8ubGluayAmJiBtZW51SXRlbSA9PT0gYWN0aXZlSXRlbVwiIChjbGljayk9XCJ0b2dnbGVJdGVtRXhwYW5kKCRldmVudCxtZW51SXRlbSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SWNvbnMgJiYgbWVudUl0ZW0uaWNvblwiPlxyXG4gICAgICA8dGxkLW1lbnUtaWNvbiAgW21lbnVJdGVtXT1cIm1lbnVJdGVtXCI+PC90bGQtbWVudS1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxzVmlzaWJsZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtY29udGVudFwiPnt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwibWVudUl0ZW0uc2hvd0NoaWxkcmVuICYmIG1lbnVJdGVtLmNoaWxkcmVuXCI+XHJcbiAgICAgICAge3sgbWVudUl0ZW0uZXhwYW5kZWQgPyAnYXJyb3dfZHJvcF91cCcgOiAnYXJyb3dfZHJvcF9kb3duJyB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2J1dHRvbj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW0uc2hvd0NoaWxkcmVuICYmIG1lbnVJdGVtLmV4cGFuZGVkICYmIGxhYmVsc1Zpc2libGVcIj5cclxuICAgIDxtZW51LWl0ZW0tbGlzdCBjbGFzcz1cImNoaWxkLWxpc3RcIiAqbmdJZj1cIm1lbnVJdGVtLmNoaWxkcmVuICYmIG1lbnVJdGVtLmNoaWxkcmVuLmxlbmd0aFwiIFtpdGVtc109XCJtZW51SXRlbS5jaGlsZHJlblwiXHJcbiAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCIgW2xhYmVsc1Zpc2libGVdPVwibGFiZWxzVmlzaWJsZVwiIFthY3RpdmVJdGVtXT1cImFjdGl2ZUl0ZW1cIj5cclxuICAgIDwvbWVudS1pdGVtLWxpc3Q+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVJdGVtTGluayBsZXQtbWVudUl0ZW09XCJtZW51SXRlbVwiPlxyXG4gIDx0bGQtbWVudS1pdGVtLWxpbmsgW25nQ2xhc3MubHQtbWRdPVwiJ21vYi1tZW51LWl0ZW0nXCIgW21lbnVJdGVtXT1cIm1lbnVJdGVtXCIgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIiBbbGFiZWxzVmlzaWJsZV09XCJsYWJlbHNWaXNpYmxlXCJcclxuICAgIFthY3RpdmVJdGVtXT1cImFjdGl2ZUl0ZW1cIiBbc2hvd0ljb25zXT1cInNob3dJY29uc1wiPjwvdGxkLW1lbnUtaXRlbS1saW5rPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saXN0L21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGlzdC9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7OztJQ0Y3RSw4QkFBOEc7SUFDNUcsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHNFQUNGOzs7SUFHSSx3QkFFZTs7O0lBSGpCLDZCQUE2QztJQUMzQyx1R0FDd0s7Ozs7Ozs7SUFBckssY0FBc0k7SUFBQSxBQUF0SSx1T0FBc0ksb0VBQTZCOzs7SUFXeEssNkJBQWlEO0lBQy9DLG9DQUFzRDs7OztJQUF0QyxjQUFxQjtJQUFyQixzQ0FBcUI7OztJQUtyQyxnQ0FBZ0Y7SUFDOUUsWUFDRjtJQUFBLGlCQUFPOzs7SUFETCxjQUNGO0lBREUsMkZBQ0Y7OztJQUxGLDZCQUFvQztJQUVoQyxBQURGLGdDQUE4QixlQUNBO0lBQUEsWUFBZ0M7O0lBQU8sQUFBUCxpQkFBTyxFQUFPO0lBQzVFLHNHQUFnRjs7OztJQURsRCxlQUFnQztJQUFoQyw2REFBZ0M7SUFDaEMsZUFBZ0Q7SUFBaEQsdUVBQWdEOzs7SUFNaEYscUNBRWlCOzs7O0lBRHlDLEFBQWhDLEFBQXhCLEFBRDZILEFBQS9HLG1EQUFxQywrQkFBcUcsK0JBQ2pJLHVDQUFnQyxpQ0FBMEI7OztJQUZyRiw2QkFBa0Y7SUFDaEYsMEhBQ29GOzs7O0lBRFYsY0FBbUQ7SUFBbkQsMEVBQW1EOzs7O0lBaEIvSCxpQ0FHcUg7O0lBQTVDLDROQUFTLDRDQUFpQyxLQUFDO0lBSWxILEFBSEEsc0dBQWlELHlGQUdiO0lBT3RDLGlCQUFTO0lBQ1Qsc0dBQWtGOzs7O0lBWmhGLEFBRjZGLDJEQUEyQyxzSEFFbEU7SUFEdEUsQUFEQSxBQURzRSxBQUFsQywrQ0FBaUMsbUNBQTRCLHFGQUNoQyw2Q0FDNUI7O0lBRXRCLGVBQWdDO0lBQWhDLDJEQUFnQztJQUdoQyxjQUFtQjtJQUFuQiwyQ0FBbUI7SUFRckIsY0FBaUU7SUFBakUsK0ZBQWlFOzs7SUFRaEYseUNBQ3lFOzs7O0lBQTdDLEFBQTFCLEFBRGtHLEFBQXhCLEFBQXRCLEFBQWxDLCtDQUFpQyx5QkFBc0IsK0JBQXdCLHVDQUFnQyxpQ0FDeEcsK0JBQXdCOztBRDVCckQsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQU1XLGNBQVMsR0FBd0IsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzVELGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRXJCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFakIsVUFBSyxHQUFxQixFQUFFLENBQUM7UUFHNUIsaUJBQVksR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7S0E4QjNGO0lBNUJDLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUdELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLG1CQUFtQixDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0UsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWlCLEVBQUUsUUFBd0I7UUFDMUQsNkJBQTZCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0MsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDekMsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7c0hBdENVLHFCQUFxQjtvRUFBckIscUJBQXFCO1lDVmxDLDhCQUErQjtZQUM3QixzRUFBOEc7WUFHOUcsOEJBQW9GO1lBQ2xGLHdGQUE2QztZQU1qRCxBQURFLGlCQUFNLEVBQ0Y7WUF5Qk4sQUF2QkEsd0hBQXVELDBHQXVCSjs7WUFuQzNDLGNBQTRDO1lBQTVDLHlFQUE0QztZQUczQixjQUFxQztZQUFyQyx1REFBcUM7WUFDdkIsY0FBUTtZQUFSLG1DQUFRO3dNREtsQyxxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxnQkFBZ0I7Z0JBS2pCLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBRUksWUFBWTtrQkFBckIsTUFBTTs7a0ZBVEkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvY3VzdG9tLW1lbnUtaXRlbSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtR3JvdXBCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUtaXRlbS1ncm91cC5tb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVMYXlvdXREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVudS1sYXlvdXQtZGlyZWN0aW9uLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWVudS1pdGVtLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLWxpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUl0ZW1MaXN0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkaXJlY3Rpb246IE1lbnVMYXlvdXREaXJlY3Rpb24gPSBNZW51TGF5b3V0RGlyZWN0aW9uLmNvbHVtbjtcclxuICBASW5wdXQoKSBsYWJlbHNWaXNpYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhY3RpdmVJdGVtITogQ3VzdG9tTWVudUl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgc2hvd0ljb25zID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgaXRlbXM6IEN1c3RvbU1lbnVJdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSBtZW51SXRlbUdyb3VwITogTWVudUl0ZW1Hcm91cEJhc2U7XHJcblxyXG4gIEBPdXRwdXQoKSB0b2dnbGVFeHBhbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21NZW51SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbU1lbnVJdGVtPigpO1xyXG5cclxuICBnZXQgdGl0bGVLZXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbUdyb3VwPy50aXRsZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG93VGl0bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbUdyb3VwPy5zaG93VGl0bGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IG1lbnVMYXlvdXREaXJlY3Rpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAodGhpcy5kaXJlY3Rpb24gPT09IE1lbnVMYXlvdXREaXJlY3Rpb24uY29sdW1uIHx8ICF0aGlzLmxhYmVsc1Zpc2libGUpXHJcbiAgICAgID8gJ3N0YXJ0IGNlbnRlcicgOiAnc3RhcnQgc3RhcnQnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1lbnVJdGVtTGF5b3V0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09IE1lbnVMYXlvdXREaXJlY3Rpb24uY29sdW1uID8gJ2NvbHVtbicgOiAncm93JztcclxuICB9XHJcblxyXG4gIHRvZ2dsZUl0ZW1FeHBhbmQoZXZlbnQ6IE1vdXNlRXZlbnQsIG1lbnVJdGVtOiBDdXN0b21NZW51SXRlbSkge1xyXG4gICAgLy8gc28gbWVudSBkb2VzbnQgZ2V0IGNsb3NlZC5cclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmxhYmVsc1Zpc2libGUgfHwgIW1lbnVJdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgIG1lbnVJdGVtLmV4cGFuZGVkID0gIW1lbnVJdGVtLmV4cGFuZGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9nZ2xlRXhwYW5kLm5leHQobWVudUl0ZW0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWVudS1saXN0LXdyYXBwZXJcIj5cclxuICA8ZGl2ICpuZ0lmPVwidGl0bGVLZXkgJiYgc2hvd1RpdGxlICYmIGxhYmVsc1Zpc2libGVcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJtZW51LWl0ZW0tbGlzdC10aXRsZVwiPlxyXG4gICAge3sgdGl0bGVLZXkgfCB0cmFuc2xhdGUgfX1cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgW2Z4TGF5b3V0QWxpZ25dPVwibWVudUxheW91dERpcmVjdGlvblwiIGNsYXNzPVwibWVudS1pdGVtLWxpc3RcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIiFtZW51SXRlbS5zaG93Q2hpbGRyZW4gfHwgIW1lbnVJdGVtLmNoaWxkcmVuIHx8IG1lbnVJdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID09PSAwID8gbWVudUl0ZW1MaW5rIDogaXRlbVdpdGhDaGlsZHJlbjsgY29udGV4dDoge21lbnVJdGVtOiBtZW51SXRlbX1cIj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1XaXRoQ2hpbGRyZW4gbGV0LW1lbnVJdGVtPVwibWVudUl0ZW1cIj5cclxuICA8YnV0dG9uIFthdHRyLmlkXT1cIm1lbnVJdGVtLmN1c3RvbUlkXCIgW25nQ2xhc3MubHQtbWRdPVwiJ21vYi1tZW51LWl0ZW0nXCIgW2Z4TGF5b3V0XT1cIm1lbnVJdGVtTGF5b3V0XCIgY2xhc3M9XCJ0ZXh0LW0gbWVudS1pdGVtXCJcclxuICAgIFttYXRUb29sdGlwXT1cIiFsYWJlbHNWaXNpYmxlID8gKG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlKSA6ICcnXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIiBbY2xhc3MubWVudS1sYWJlbHMtdmlzaWJsZV09XCJsYWJlbHNWaXNpYmxlXCJcclxuICAgIFtmeExheW91dEFsaWduXT1cIm1lbnVMYXlvdXREaXJlY3Rpb25cIiBtYXRUb29sdGlwQ2xhc3M9XCJtZW51LXRvb2x0aXBcIiBmeExheW91dEdhcD1cIjAuMzc1cmVtXCJcclxuICAgIFtjbGFzcy5hY3RpdmUtbWVudS1pdGVtXT1cImFjdGl2ZUl0ZW0/LmxpbmsgJiYgbWVudUl0ZW0gPT09IGFjdGl2ZUl0ZW1cIiAoY2xpY2spPVwidG9nZ2xlSXRlbUV4cGFuZCgkZXZlbnQsbWVudUl0ZW0pXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ljb25zICYmIG1lbnVJdGVtLmljb25cIj5cclxuICAgICAgPHRsZC1tZW51LWljb24gIFttZW51SXRlbV09XCJtZW51SXRlbVwiPjwvdGxkLW1lbnUtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsc1Zpc2libGVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWNvbnRlbnRcIj57eyBtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cIm1lbnVJdGVtLnNob3dDaGlsZHJlbiAmJiBtZW51SXRlbS5jaGlsZHJlblwiPlxyXG4gICAgICAgIHt7IG1lbnVJdGVtLmV4cGFuZGVkID8gJ2Fycm93X2Ryb3BfdXAnIDogJ2Fycm93X2Ryb3BfZG93bicgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9idXR0b24+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnNob3dDaGlsZHJlbiAmJiBtZW51SXRlbS5leHBhbmRlZCAmJiBsYWJlbHNWaXNpYmxlXCI+XHJcbiAgICA8bWVudS1pdGVtLWxpc3QgW25nQ2xhc3MubHQtbWRdPVwiJ21vYmlsZS1jaGlsZC1saXN0J1wiIGNsYXNzPVwiY2hpbGQtbGlzdFwiICpuZ0lmPVwibWVudUl0ZW0uY2hpbGRyZW4gJiYgbWVudUl0ZW0uY2hpbGRyZW4ubGVuZ3RoXCIgW2l0ZW1zXT1cIm1lbnVJdGVtLmNoaWxkcmVuXCJcclxuICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIiBbbGFiZWxzVmlzaWJsZV09XCJsYWJlbHNWaXNpYmxlXCIgW2FjdGl2ZUl0ZW1dPVwiYWN0aXZlSXRlbVwiPlxyXG4gICAgPC9tZW51LWl0ZW0tbGlzdD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbWVudUl0ZW1MaW5rIGxldC1tZW51SXRlbT1cIm1lbnVJdGVtXCI+XHJcbiAgPHRsZC1tZW51LWl0ZW0tbGluayBbbmdDbGFzcy5sdC1tZF09XCInbW9iLW1lbnUtaXRlbSdcIiBbbWVudUl0ZW1dPVwibWVudUl0ZW1cIiBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiIFtsYWJlbHNWaXNpYmxlXT1cImxhYmVsc1Zpc2libGVcIlxyXG4gICAgW2FjdGl2ZUl0ZW1dPVwiYWN0aXZlSXRlbVwiIFtzaG93SWNvbnNdPVwic2hvd0ljb25zXCI+PC90bGQtbWVudS1pdGVtLWxpbms+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1vcHRpb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL3NpZGUtbmF2LW1lbnUvbW9kZWxzL3VzZXItb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyT3B0aW9ucyB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBjYWxsYmFjazogKCkgPT4gdm9pZDtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGlzSWNvbkN1c3RvbT86IGJvb2xlYW47XHJcbiAgaXNJY29uT3V0bGluZWQ/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1vcHRpb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL3NpZGUtbmF2LW1lbnUvbW9kZWxzL3VzZXItb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyT3B0aW9ucyB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBjYWxsYmFjaz86ICgpID0+IHZvaWQ7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBocmVmPzogc3RyaW5nO1xyXG4gIGlzTGluaz86IGJvb2xlYW47XHJcbiAgb3BlbkluTmV3VGFiPzogYm9vbGVhbjtcclxuICBpc0ljb25DdXN0b20/OiBib29sZWFuO1xyXG4gIGlzSWNvbk91dGxpbmVkPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -6,12 +6,15 @@ import * as i1 from "@tilde-nlp/ngx-strapi";
6
6
  import * as i2 from "@tilde-nlp/ngx-common";
7
7
  import * as i3 from "../../services/menu-items.service";
8
8
  import * as i4 from "@ngbracket/ngx-layout/flex";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "@angular/material/icon";
11
- import * as i7 from "@angular/material/button";
12
- import * as i8 from "@angular/material/menu";
13
- import * as i9 from "../menu-columns/menu-columns.component";
14
- import * as i10 from "@ngx-translate/core";
9
+ import * as i5 from "@angular/router";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "@angular/material/icon";
12
+ import * as i8 from "@angular/material/button";
13
+ import * as i9 from "@angular/material/menu";
14
+ import * as i10 from "../menu-columns/menu-columns.component";
15
+ import * as i11 from "@ngx-translate/core";
16
+ const _forTrack0 = ($index, $item) => $item.label;
17
+ const _c0 = (a0, a1, a2, a3) => ({ icon: a0, isIconCustom: a1, isIconOutlined: a2, label: a3 });
15
18
  function SideNavMenuComponent_a_3_Template(rf, ctx) { if (rf & 1) {
16
19
  const _r2 = i0.ɵɵgetCurrentView();
17
20
  i0.ɵɵelementStart(0, "a", 13);
@@ -47,7 +50,7 @@ function SideNavMenuComponent_button_10_ng_container_4_Template(rf, ctx) { if (r
47
50
  i0.ɵɵelementStart(1, "span", 18);
48
51
  i0.ɵɵtext(2);
49
52
  i0.ɵɵelementEnd();
50
- i0.ɵɵtemplate(3, SideNavMenuComponent_button_10_ng_container_4_mat_icon_3_Template, 2, 1, "mat-icon", 19)(4, SideNavMenuComponent_button_10_ng_container_4_ng_template_4_Template, 2, 1, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
53
+ i0.ɵɵtemplate(3, SideNavMenuComponent_button_10_ng_container_4_mat_icon_3_Template, 2, 1, "mat-icon", 19)(4, SideNavMenuComponent_button_10_ng_container_4_ng_template_4_Template, 2, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
51
54
  i0.ɵɵelementContainerEnd();
52
55
  } if (rf & 2) {
53
56
  const iconDown_r4 = i0.ɵɵreference(5);
@@ -60,7 +63,7 @@ function SideNavMenuComponent_button_10_ng_container_4_Template(rf, ctx) { if (r
60
63
  i0.ɵɵproperty("ngIf", state_r5.menuOpen)("ngIfElse", iconDown_r4);
61
64
  } }
62
65
  function SideNavMenuComponent_button_10_Template(rf, ctx) { if (rf & 1) {
63
- i0.ɵɵelementStart(0, "button", 15, 1)(2, "div", 16);
66
+ i0.ɵɵelementStart(0, "button", 15, 2)(2, "div", 16);
64
67
  i0.ɵɵtext(3);
65
68
  i0.ɵɵelementEnd();
66
69
  i0.ɵɵtemplate(4, SideNavMenuComponent_button_10_ng_container_4_Template, 6, 3, "ng-container", 17);
@@ -74,42 +77,98 @@ function SideNavMenuComponent_button_10_Template(rf, ctx) { if (rf & 1) {
74
77
  i0.ɵɵadvance();
75
78
  i0.ɵɵproperty("ngIf", !ctx_r2.collapsed);
76
79
  } }
77
- function SideNavMenuComponent_button_13_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
78
- i0.ɵɵelementStart(0, "span", 24);
79
- i0.ɵɵtext(1);
80
+ function SideNavMenuComponent_For_14_Conditional_0_Conditional_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
81
+ i0.ɵɵelementContainer(0);
82
+ } }
83
+ function SideNavMenuComponent_For_14_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "a", 22);
85
+ i0.ɵɵtemplate(1, SideNavMenuComponent_For_14_Conditional_0_Conditional_0_ng_container_1_Template, 1, 0, "ng-container", 24);
80
86
  i0.ɵɵelementEnd();
81
87
  } if (rf & 2) {
82
- const item_r8 = i0.ɵɵnextContext(2).$implicit;
83
- i0.ɵɵclassProp("material-icons-outlined", item_r8.isIconOutlined);
88
+ const item_r7 = i0.ɵɵnextContext(2).$implicit;
89
+ i0.ɵɵnextContext();
90
+ const profileMenuItem_r8 = i0.ɵɵreference(16);
91
+ i0.ɵɵproperty("href", item_r7.href, i0.ɵɵsanitizeUrl);
84
92
  i0.ɵɵadvance();
85
- i0.ɵɵtextInterpolate(item_r8.icon);
93
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction4(3, _c0, item_r7.icon, item_r7.isIconCustom, item_r7.isIconOutlined, item_r7.label));
94
+ } }
95
+ function SideNavMenuComponent_For_14_Conditional_0_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
96
+ i0.ɵɵelementContainer(0);
86
97
  } }
87
- function SideNavMenuComponent_button_13_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
88
- i0.ɵɵelement(0, "mat-icon", 23);
98
+ function SideNavMenuComponent_For_14_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
99
+ i0.ɵɵelementStart(0, "a", 23);
100
+ i0.ɵɵtemplate(1, SideNavMenuComponent_For_14_Conditional_0_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 24);
101
+ i0.ɵɵelementEnd();
89
102
  } if (rf & 2) {
90
- const item_r8 = i0.ɵɵnextContext(2).$implicit;
91
- i0.ɵɵproperty("svgIcon", item_r8.icon);
103
+ const item_r7 = i0.ɵɵnextContext(2).$implicit;
104
+ i0.ɵɵnextContext();
105
+ const profileMenuItem_r8 = i0.ɵɵreference(16);
106
+ i0.ɵɵproperty("routerLink", item_r7.href);
107
+ i0.ɵɵadvance();
108
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction4(3, _c0, item_r7.icon, item_r7.isIconCustom, item_r7.isIconOutlined, item_r7.label));
92
109
  } }
93
- function SideNavMenuComponent_button_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
94
- i0.ɵɵtemplate(0, SideNavMenuComponent_button_13_Conditional_1_Conditional_0_Template, 2, 3, "span", 22)(1, SideNavMenuComponent_button_13_Conditional_1_Conditional_1_Template, 1, 1, "mat-icon", 23);
110
+ function SideNavMenuComponent_For_14_Conditional_0_Template(rf, ctx) { if (rf & 1) {
111
+ i0.ɵɵtemplate(0, SideNavMenuComponent_For_14_Conditional_0_Conditional_0_Template, 2, 8, "a", 22)(1, SideNavMenuComponent_For_14_Conditional_0_Conditional_1_Template, 2, 8, "a", 23);
95
112
  } if (rf & 2) {
96
- const item_r8 = i0.ɵɵnextContext().$implicit;
97
- i0.ɵɵconditional(!item_r8.isIconCustom ? 0 : 1);
98
- } }
99
- function SideNavMenuComponent_button_13_Template(rf, ctx) { if (rf & 1) {
100
- const _r7 = i0.ɵɵgetCurrentView();
101
- i0.ɵɵelementStart(0, "button", 21);
102
- i0.ɵɵlistener("click", function SideNavMenuComponent_button_13_Template_button_click_0_listener() { const item_r8 = i0.ɵɵrestoreView(_r7).$implicit; return i0.ɵɵresetView(item_r8.callback()); });
103
- i0.ɵɵtemplate(1, SideNavMenuComponent_button_13_Conditional_1_Template, 2, 1);
104
- i0.ɵɵtext(2);
105
- i0.ɵɵpipe(3, "translate");
113
+ const item_r7 = i0.ɵɵnextContext().$implicit;
114
+ i0.ɵɵconditional(item_r7.openInNewTab ? 0 : 1);
115
+ } }
116
+ function SideNavMenuComponent_For_14_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵelementContainer(0);
118
+ } }
119
+ function SideNavMenuComponent_For_14_Conditional_1_Template(rf, ctx) { if (rf & 1) {
120
+ const _r9 = i0.ɵɵgetCurrentView();
121
+ i0.ɵɵelementStart(0, "button", 25);
122
+ i0.ɵɵlistener("click", function SideNavMenuComponent_For_14_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const item_r7 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(item_r7 == null ? null : item_r7.callback()); });
123
+ i0.ɵɵtemplate(1, SideNavMenuComponent_For_14_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 24);
106
124
  i0.ɵɵelementEnd();
107
125
  } if (rf & 2) {
108
- const item_r8 = ctx.$implicit;
126
+ const item_r7 = i0.ɵɵnextContext().$implicit;
127
+ i0.ɵɵnextContext();
128
+ const profileMenuItem_r8 = i0.ɵɵreference(16);
109
129
  i0.ɵɵadvance();
110
- i0.ɵɵconditional(item_r8.icon ? 1 : -1);
130
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction4(2, _c0, item_r7.icon, item_r7.isIconCustom, item_r7.isIconOutlined, item_r7.label));
131
+ } }
132
+ function SideNavMenuComponent_For_14_Template(rf, ctx) { if (rf & 1) {
133
+ i0.ɵɵtemplate(0, SideNavMenuComponent_For_14_Conditional_0_Template, 2, 1)(1, SideNavMenuComponent_For_14_Conditional_1_Template, 2, 7, "button", 21);
134
+ } if (rf & 2) {
135
+ const item_r7 = ctx.$implicit;
136
+ i0.ɵɵconditional(item_r7.isLink ? 0 : 1);
137
+ } }
138
+ function SideNavMenuComponent_ng_template_15_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
139
+ i0.ɵɵelementStart(0, "span", 28);
140
+ i0.ɵɵtext(1);
141
+ i0.ɵɵelementEnd();
142
+ } if (rf & 2) {
143
+ const ctx_r9 = i0.ɵɵnextContext(2);
144
+ const icon_r11 = ctx_r9.icon;
145
+ const isIconOutlined_r12 = ctx_r9.isIconOutlined;
146
+ i0.ɵɵclassProp("material-icons-outlined", isIconOutlined_r12);
111
147
  i0.ɵɵadvance();
112
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, item_r8.label), " ");
148
+ i0.ɵɵtextInterpolate1(" ", icon_r11, " ");
149
+ } }
150
+ function SideNavMenuComponent_ng_template_15_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
151
+ i0.ɵɵelement(0, "mat-icon", 27);
152
+ } if (rf & 2) {
153
+ const icon_r11 = i0.ɵɵnextContext(2).icon;
154
+ i0.ɵɵproperty("svgIcon", icon_r11);
155
+ } }
156
+ function SideNavMenuComponent_ng_template_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
157
+ i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_15_Conditional_0_Conditional_0_Template, 2, 3, "span", 26)(1, SideNavMenuComponent_ng_template_15_Conditional_0_Conditional_1_Template, 1, 1, "mat-icon", 27);
158
+ } if (rf & 2) {
159
+ const isIconCustom_r13 = i0.ɵɵnextContext().isIconCustom;
160
+ i0.ɵɵconditional(!isIconCustom_r13 ? 0 : 1);
161
+ } }
162
+ function SideNavMenuComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
163
+ i0.ɵɵtemplate(0, SideNavMenuComponent_ng_template_15_Conditional_0_Template, 2, 1);
164
+ i0.ɵɵtext(1);
165
+ i0.ɵɵpipe(2, "translate");
166
+ } if (rf & 2) {
167
+ const icon_r11 = ctx.icon;
168
+ const label_r14 = ctx.label;
169
+ i0.ɵɵconditional(icon_r11 ? 0 : -1);
170
+ i0.ɵɵadvance();
171
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, label_r14), "\n");
113
172
  } }
114
173
  export class SideNavMenuComponent extends NavBaseComponent {
115
174
  #username;
@@ -197,23 +256,25 @@ export class SideNavMenuComponent extends NavBaseComponent {
197
256
  this.userInitials = splittedUsername[0][0] + splittedUsername[1][0];
198
257
  }
199
258
  static { this.ɵfac = function SideNavMenuComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SideNavMenuComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i2.DOMService), i0.ɵɵdirectiveInject(i3.MenuItemsService), i0.ɵɵdirectiveInject(MENU_SHARED_CONFIG, 8)); }; }
200
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 16, consts: [["menu", "matMenu"], ["state", "matMenuTrigger"], ["iconDown", ""], ["fxLayout", "column", 1, "menu-container"], ["fxLayout", "column", "fxFlexFill", "", 1, "content"], ["fxLayout", "row", 1, "menu-container-header", 3, "fxLayoutAlign"], ["fxFlex", "3.125em", "fxLayoutAlign", "start center", 3, "libPlausibleEvent", "href", "click", 4, "ngIf"], ["mat-icon-button", "", 1, "toggler", 3, "click", "libPlausibleEvent"], ["fxLayout", "column", "fxFlex", "", 1, "menu-wrapper"], ["role", "navigation", "fxFlex", "", 3, "toggleCollapseEvent", "direction", "labelsVisible", "active"], ["class", "profile-wrapper", 3, "matMenuTriggerFor", 4, "ngIf"], [1, "profile-menu"], ["mat-menu-item", "", "class", "profile-option", 3, "click", 4, "ngFor", "ngForOf"], ["fxFlex", "3.125em", "fxLayoutAlign", "start center", 3, "click", "libPlausibleEvent", "href"], ["height", "40", "alt", "logo", 1, "menu-logo", 3, "src"], [1, "profile-wrapper", 3, "matMenuTriggerFor"], [1, "profile-icon"], [4, "ngIf"], [1, "profile-name"], ["class", "spin", 4, "ngIf", "ngIfElse"], [1, "spin"], ["mat-menu-item", "", 1, "profile-option", 3, "click"], [1, "material-icons", "profile-option-icon", 3, "material-icons-outlined"], [1, "profile-option-icon", 3, "svgIcon"], [1, "material-icons", "profile-option-icon"]], template: function SideNavMenuComponent_Template(rf, ctx) { if (rf & 1) {
259
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SideNavMenuComponent, selectors: [["lib-side-nav-menu"]], inputs: { username: "username", menuSettings: "menuSettings" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 17, vars: 15, consts: [["menu", "matMenu"], ["profileMenuItem", ""], ["state", "matMenuTrigger"], ["iconDown", ""], ["fxLayout", "column", 1, "menu-container"], ["fxLayout", "column", "fxFlexFill", "", 1, "content"], ["fxLayout", "row", 1, "menu-container-header", 3, "fxLayoutAlign"], ["fxFlex", "3.125em", "fxLayoutAlign", "start center", 3, "libPlausibleEvent", "href", "click", 4, "ngIf"], ["mat-icon-button", "", 1, "toggler", 3, "click", "libPlausibleEvent"], ["fxLayout", "column", "fxFlex", "", 1, "menu-wrapper"], ["role", "navigation", "fxFlex", "", 3, "toggleCollapseEvent", "direction", "labelsVisible", "active"], ["class", "profile-wrapper", 3, "matMenuTriggerFor", 4, "ngIf"], [1, "profile-menu"], ["fxFlex", "3.125em", "fxLayoutAlign", "start center", 3, "click", "libPlausibleEvent", "href"], ["height", "40", "alt", "logo", 1, "menu-logo", 3, "src"], [1, "profile-wrapper", 3, "matMenuTriggerFor"], [1, "profile-icon"], [4, "ngIf"], [1, "profile-name"], ["class", "spin", 4, "ngIf", "ngIfElse"], [1, "spin"], ["mat-menu-item", "", 1, "profile-option"], ["target", "_blank", 1, "mat-mdc-menu-item", 3, "href"], [1, "mat-mdc-menu-item", 3, "routerLink"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["mat-menu-item", "", 1, "profile-option", 3, "click"], [1, "material-icons", "profile-option-icon", 3, "material-icons-outlined"], [1, "profile-option-icon", 3, "svgIcon"], [1, "material-icons", "profile-option-icon"]], template: function SideNavMenuComponent_Template(rf, ctx) { if (rf & 1) {
201
260
  const _r1 = i0.ɵɵgetCurrentView();
202
- i0.ɵɵelementStart(0, "div", 3)(1, "div", 4)(2, "div", 5);
203
- i0.ɵɵtemplate(3, SideNavMenuComponent_a_3_Template, 3, 6, "a", 6);
204
- i0.ɵɵelementStart(4, "button", 7);
261
+ i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "div", 6);
262
+ i0.ɵɵtemplate(3, SideNavMenuComponent_a_3_Template, 3, 6, "a", 7);
263
+ i0.ɵɵelementStart(4, "button", 8);
205
264
  i0.ɵɵpipe(5, "translate");
206
265
  i0.ɵɵlistener("click", function SideNavMenuComponent_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleCollapse()); });
207
266
  i0.ɵɵelementStart(6, "mat-icon");
208
267
  i0.ɵɵtext(7);
209
268
  i0.ɵɵelementEnd()()();
210
- i0.ɵɵelementStart(8, "div", 8)(9, "menu-columns", 9);
269
+ i0.ɵɵelementStart(8, "div", 9)(9, "menu-columns", 10);
211
270
  i0.ɵɵlistener("toggleCollapseEvent", function SideNavMenuComponent_Template_menu_columns_toggleCollapseEvent_9_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleCollapse()); });
212
271
  i0.ɵɵelementEnd()();
213
- i0.ɵɵtemplate(10, SideNavMenuComponent_button_10_Template, 5, 3, "button", 10);
214
- i0.ɵɵelementStart(11, "mat-menu", 11, 0);
215
- i0.ɵɵtemplate(13, SideNavMenuComponent_button_13_Template, 4, 4, "button", 12);
216
- i0.ɵɵelementEnd()()();
272
+ i0.ɵɵtemplate(10, SideNavMenuComponent_button_10_Template, 5, 3, "button", 11);
273
+ i0.ɵɵelementStart(11, "mat-menu", 12, 0);
274
+ i0.ɵɵrepeaterCreate(13, SideNavMenuComponent_For_14_Template, 2, 1, null, null, _forTrack0);
275
+ i0.ɵɵelementEnd()();
276
+ i0.ɵɵtemplate(15, SideNavMenuComponent_ng_template_15_Template, 3, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
277
+ i0.ɵɵelementEnd();
217
278
  } if (rf & 2) {
218
279
  i0.ɵɵstyleProp("width", ctx.sideNavWidth);
219
280
  i0.ɵɵclassProp("collapsed", ctx.collapsed);
@@ -223,7 +284,7 @@ export class SideNavMenuComponent extends NavBaseComponent {
223
284
  i0.ɵɵproperty("ngIf", !ctx.collapsed);
224
285
  i0.ɵɵadvance();
225
286
  i0.ɵɵproperty("libPlausibleEvent", ctx.collapsed ? ctx.EXPAND_PLAUSIBLE_EVENT : ctx.COLLAPSE_PLAUSIBLE_EVENT);
226
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(5, 14, "ARIA_LABELS.MENU_TOGGLER"));
287
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(5, 13, "ARIA_LABELS.MENU_TOGGLER"));
227
288
  i0.ɵɵadvance(3);
228
289
  i0.ɵɵtextInterpolate(ctx.collapsed ? "keyboard_double_arrow_right" : "keyboard_double_arrow_left");
229
290
  i0.ɵɵadvance(2);
@@ -231,12 +292,12 @@ export class SideNavMenuComponent extends NavBaseComponent {
231
292
  i0.ɵɵadvance();
232
293
  i0.ɵɵproperty("ngIf", ctx.userInitials);
233
294
  i0.ɵɵadvance(3);
234
- i0.ɵɵproperty("ngForOf", ctx.menuSettings.userOptions);
235
- } }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutAlignDirective, i4.FlexFillDirective, i4.DefaultFlexDirective, i5.NgForOf, i5.NgIf, i6.MatIcon, i7.MatIconButton, i8.MatMenu, i8.MatMenuItem, i8.MatMenuTrigger, i2.PlausibleEventDirective, i9.MenuColumnsComponent, i10.TranslatePipe], styles: [".menu-container[_ngcontent-%COMP%]{white-space:nowrap;height:100%;transition:width .2s ease;min-height:100vh;overflow:auto;background:var(--base-100);border-right:2px solid var(--base-95)}.menu-container[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0;max-height:40px}.menu-container.collapsed[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0 32px!important}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed){overflow-x:hidden;padding:0 12px}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed) .menu-logo[_ngcontent-%COMP%]{margin-left:16px;max-width:100%}.menu-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{width:100%}.menu-container[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%]{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;margin:32px 16px}.menu-container[_ngcontent-%COMP%] .profile-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.menu-container[_ngcontent-%COMP%] .profile-name[_ngcontent-%COMP%]{max-width:145px;overflow:hidden;margin-left:12px}.profile-option-icon[_ngcontent-%COMP%]{vertical-align:middle;margin:0 5px 5px 0}[_nghost-%COMP%] .collapsed .profile-wrapper{left:8px!important}[_nghost-%COMP%] .menu-item{display:flex;padding:16px!important;border-radius:4px!important}[_nghost-%COMP%] .child-list .menu-item{padding:8px 46px!important}[_nghost-%COMP%] .collapsed .menu-item{padding:0!important;width:40px;height:40px;border-radius:50%!important}[_nghost-%COMP%] .active-menu-item{background-color:var(--base-95)!important}[_nghost-%COMP%] .menu-item-title{margin-left:12px}tld-menu-icon[_ngcontent-%COMP%]{margin-right:10px}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spinArrow .3s forwards}[_nghost-%COMP%] button.collapse-btn .mat-mdc-button-persistent-ripple, [_nghost-%COMP%] button.toggler .mat-mdc-button-persistent-ripple{display:none} .cdk-overlay-container .profile-menu{margin:10px 0!important} .mat-mdc-menu-item .mat-icon{margin-right:5px!important} .collapsed .profile-wrapper{justify-content:center!important}@keyframes _ngcontent-%COMP%_spinArrow{to{transform:rotate(180deg)}}"] }); }
295
+ i0.ɵɵrepeater(ctx.menuSettings.userOptions);
296
+ } }, dependencies: [i4.DefaultLayoutDirective, i4.DefaultLayoutAlignDirective, i4.FlexFillDirective, i4.DefaultFlexDirective, i5.RouterLink, i6.NgIf, i6.NgTemplateOutlet, i7.MatIcon, i8.MatIconButton, i9.MatMenu, i9.MatMenuItem, i9.MatMenuTrigger, i2.PlausibleEventDirective, i10.MenuColumnsComponent, i11.TranslatePipe], styles: [".menu-container[_ngcontent-%COMP%]{white-space:nowrap;height:100%;transition:width .2s ease;min-height:100vh;overflow:auto;background:var(--base-100);border-right:2px solid var(--base-95)}.menu-container[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0;max-height:40px}.menu-container.collapsed[_ngcontent-%COMP%] .menu-container-header[_ngcontent-%COMP%]{margin:24px 0 32px!important}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed){overflow-x:hidden;padding:0 12px}.menu-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:not(.collapsed) .menu-logo[_ngcontent-%COMP%]{margin-left:16px;max-width:100%}.menu-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{width:100%}.menu-container[_ngcontent-%COMP%] .profile-wrapper[_ngcontent-%COMP%]{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;margin:32px 16px}.menu-container[_ngcontent-%COMP%] .profile-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.menu-container[_ngcontent-%COMP%] .profile-name[_ngcontent-%COMP%]{max-width:145px;overflow:hidden;margin-left:12px}.profile-option-icon[_ngcontent-%COMP%]{vertical-align:middle;margin:0 5px 5px 0}[_nghost-%COMP%] .collapsed .profile-wrapper{left:8px!important}[_nghost-%COMP%] .menu-item{display:flex;padding:16px!important;border-radius:4px!important}[_nghost-%COMP%] .child-list .menu-item{padding:8px 46px!important}[_nghost-%COMP%] .collapsed .menu-item{padding:0!important;width:40px;height:40px;border-radius:50%!important}[_nghost-%COMP%] .active-menu-item{background-color:var(--base-95)!important}[_nghost-%COMP%] .menu-item-title{margin-left:12px}tld-menu-icon[_ngcontent-%COMP%]{margin-right:10px}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spinArrow .3s forwards}[_nghost-%COMP%] button.collapse-btn .mat-mdc-button-persistent-ripple, [_nghost-%COMP%] button.toggler .mat-mdc-button-persistent-ripple{display:none} .mobile-child-list{margin-left:25px!important} .cdk-overlay-container .profile-menu{margin:10px 0!important} .mat-mdc-menu-item .mat-icon{margin-right:5px!important} .collapsed .profile-wrapper{justify-content:center!important} .profile-menu a{font-weight:400!important;display:flex;align-items:center;gap:5px} .profile-menu a:hover{color:var(--mat-menu-item-label-text-color, var(--mat-app-on-surface))!important;text-decoration:inherit}@keyframes _ngcontent-%COMP%_spinArrow{to{transform:rotate(180deg)}}"] }); }
236
297
  }
237
298
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SideNavMenuComponent, [{
238
299
  type: Component,
239
- args: [{ selector: 'lib-side-nav-menu', template: "<div class=\"menu-container\" [style.width]=\"sideNavWidth\" fxLayout=\"column\" [class.collapsed]=\"collapsed\">\r\n <div class=\"content\" fxLayout=\"column\" fxFlexFill>\r\n <div class=\"menu-container-header\" fxLayout=\"row\" [fxLayoutAlign]=\"collapsed ? 'center center' : 'space-between center'\">\r\n <a *ngIf=\"!collapsed\" [libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\" fxFlex=\"3.125em\" [href]=\"baseUrl\"\r\n [attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\" (click)=\"logoClick($event)\" fxLayoutAlign=\"start center\"\r\n >\r\n <img height=\"40\" class=\"menu-logo\" [src]=\"menuLogoImage\" alt=\"logo\" />\r\n </a>\r\n \r\n <button\r\n mat-icon-button\r\n class=\"toggler\"\r\n [attr.aria-label]=\"'ARIA_LABELS.MENU_TOGGLER' | translate\"\r\n [libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n (click)=\"toggleCollapse()\"\r\n >\r\n <mat-icon>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"menu-wrapper\" fxLayout=\"column\" fxFlex>\r\n <menu-columns (toggleCollapseEvent)=\"toggleCollapse()\" [direction]=\"direction\" role=\"navigation\" fxFlex [labelsVisible]=\"!collapsed\"\r\n [active]=\"active\"></menu-columns>\r\n </div>\r\n\r\n\r\n <button *ngIf=\"userInitials\" #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"profile-wrapper\">\r\n <div class=\"profile-icon\">\r\n {{userInitials}}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!collapsed\">\r\n <span class=\"profile-name\">\r\n {{ username }}\r\n </span>\r\n \r\n <mat-icon *ngIf=\"state.menuOpen; else iconDown\" class=\"spin\">{{\"keyboard_arrow_down\"}}</mat-icon>\r\n\r\n <ng-template #iconDown>\r\n <mat-icon class=\"spin\">{{\"keyboard_arrow_up\" }}</mat-icon>\r\n </ng-template>\r\n </ng-container>\r\n </button>\r\n\r\n <mat-menu #menu=\"matMenu\" class=\"profile-menu\">\r\n <button\r\n mat-menu-item\r\n class=\"profile-option\"\r\n *ngFor=\"let item of menuSettings.userOptions\"\r\n (click)=\"item.callback()\"\r\n >\r\n @if (item.icon) {\r\n @if (!item.isIconCustom) {\r\n <span class=\"material-icons profile-option-icon\" [class.material-icons-outlined]=\"item.isIconOutlined\">{{item.icon}}</span>\r\n } @else {\r\n <mat-icon class=\"profile-option-icon\" [svgIcon]=\"item.icon\"></mat-icon>\r\n }\r\n }\r\n {{ item.label | translate }}\r\n \r\n </button>\r\n </mat-menu>\r\n </div>", styles: [".menu-container{white-space:nowrap;height:100%;transition:width .2s ease;min-height:100vh;overflow:auto;background:var(--base-100);border-right:2px solid var(--base-95)}.menu-container .menu-container-header{margin:24px 0;max-height:40px}.menu-container.collapsed .menu-container-header{margin:24px 0 32px!important}.menu-container .content:not(.collapsed){overflow-x:hidden;padding:0 12px}.menu-container .content:not(.collapsed) .menu-logo{margin-left:16px;max-width:100%}.menu-container .divider{width:100%}.menu-container .profile-wrapper{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;margin:32px 16px}.menu-container .profile-icon{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.menu-container .profile-name{max-width:145px;overflow:hidden;margin-left:12px}.profile-option-icon{vertical-align:middle;margin:0 5px 5px 0}:host ::ng-deep .collapsed .profile-wrapper{left:8px!important}:host ::ng-deep .menu-item{display:flex;padding:16px!important;border-radius:4px!important}:host ::ng-deep .child-list .menu-item{padding:8px 46px!important}:host ::ng-deep .collapsed .menu-item{padding:0!important;width:40px;height:40px;border-radius:50%!important}:host ::ng-deep .active-menu-item{background-color:var(--base-95)!important}:host ::ng-deep .menu-item-title{margin-left:12px}tld-menu-icon{margin-right:10px}.spin{animation:spinArrow .3s forwards}:host::ng-deep button.collapse-btn .mat-mdc-button-persistent-ripple,:host::ng-deep button.toggler .mat-mdc-button-persistent-ripple{display:none}::ng-deep .cdk-overlay-container .profile-menu{margin:10px 0!important}::ng-deep .mat-mdc-menu-item .mat-icon{margin-right:5px!important}::ng-deep .collapsed .profile-wrapper{justify-content:center!important}@keyframes spinArrow{to{transform:rotate(180deg)}}\n"] }]
300
+ args: [{ selector: 'lib-side-nav-menu', template: "<div class=\"menu-container\" [style.width]=\"sideNavWidth\" fxLayout=\"column\" [class.collapsed]=\"collapsed\">\r\n <div class=\"content\" fxLayout=\"column\" fxFlexFill>\r\n <div class=\"menu-container-header\" fxLayout=\"row\" [fxLayoutAlign]=\"collapsed ? 'center center' : 'space-between center'\">\r\n <a *ngIf=\"!collapsed\" [libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\" fxFlex=\"3.125em\" [href]=\"baseUrl\"\r\n [attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\" (click)=\"logoClick($event)\" fxLayoutAlign=\"start center\"\r\n >\r\n <img height=\"40\" class=\"menu-logo\" [src]=\"menuLogoImage\" alt=\"logo\" />\r\n </a>\r\n \r\n <button\r\n mat-icon-button\r\n class=\"toggler\"\r\n [attr.aria-label]=\"'ARIA_LABELS.MENU_TOGGLER' | translate\"\r\n [libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n (click)=\"toggleCollapse()\"\r\n >\r\n <mat-icon>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"menu-wrapper\" fxLayout=\"column\" fxFlex>\r\n <menu-columns (toggleCollapseEvent)=\"toggleCollapse()\" [direction]=\"direction\" role=\"navigation\" fxFlex [labelsVisible]=\"!collapsed\"\r\n [active]=\"active\"></menu-columns>\r\n </div>\r\n\r\n\r\n <button *ngIf=\"userInitials\" #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"profile-wrapper\">\r\n <div class=\"profile-icon\">\r\n {{userInitials}}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!collapsed\">\r\n <span class=\"profile-name\">\r\n {{ username }}\r\n </span>\r\n \r\n <mat-icon *ngIf=\"state.menuOpen; else iconDown\" class=\"spin\">{{\"keyboard_arrow_down\"}}</mat-icon>\r\n\r\n <ng-template #iconDown>\r\n <mat-icon class=\"spin\">{{\"keyboard_arrow_up\" }}</mat-icon>\r\n </ng-template>\r\n </ng-container>\r\n </button>\r\n\r\n <mat-menu #menu=\"matMenu\" class=\"profile-menu\">\r\n @for (item of menuSettings.userOptions; track item.label) {\r\n @if (item.isLink) {\r\n @if (item.openInNewTab) {\r\n <a class=\"mat-mdc-menu-item\" [href]=\"item.href\" target=\"_blank\">\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, isIconCustom: item.isIconCustom, isIconOutlined: item.isIconOutlined, label: item.label }\">\r\n </ng-container>\r\n </a>\r\n } @else {\r\n <a class=\"mat-mdc-menu-item\" [routerLink]=\"item.href\">\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, isIconCustom: item.isIconCustom, isIconOutlined: item.isIconOutlined, label: item.label }\">\r\n </ng-container>\r\n </a>\r\n }\r\n } @else {\r\n <button\r\n mat-menu-item\r\n class=\"profile-option\"\r\n (click)=\"item?.callback()\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, isIconCustom: item.isIconCustom, isIconOutlined: item.isIconOutlined, label: item.label }\">\r\n </ng-container>\r\n </button>\r\n }\r\n }\r\n </mat-menu>\r\n </div>\r\n\r\n<ng-template #profileMenuItem let-icon=\"icon\" let-isIconCustom=\"isIconCustom\" let-isIconOutlined=\"isIconOutlined\" let-label=\"label\">\r\n @if (icon) {\r\n @if (!isIconCustom) {\r\n <span class=\"material-icons profile-option-icon\" [class.material-icons-outlined]=\"isIconOutlined\">\r\n {{icon}}\r\n </span>\r\n } @else {\r\n <mat-icon class=\"profile-option-icon\" [svgIcon]=\"icon\"></mat-icon>\r\n }\r\n }\r\n {{ label | translate }}\r\n</ng-template>", styles: [".menu-container{white-space:nowrap;height:100%;transition:width .2s ease;min-height:100vh;overflow:auto;background:var(--base-100);border-right:2px solid var(--base-95)}.menu-container .menu-container-header{margin:24px 0;max-height:40px}.menu-container.collapsed .menu-container-header{margin:24px 0 32px!important}.menu-container .content:not(.collapsed){overflow-x:hidden;padding:0 12px}.menu-container .content:not(.collapsed) .menu-logo{margin-left:16px;max-width:100%}.menu-container .divider{width:100%}.menu-container .profile-wrapper{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;margin:32px 16px}.menu-container .profile-icon{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.menu-container .profile-name{max-width:145px;overflow:hidden;margin-left:12px}.profile-option-icon{vertical-align:middle;margin:0 5px 5px 0}:host ::ng-deep .collapsed .profile-wrapper{left:8px!important}:host ::ng-deep .menu-item{display:flex;padding:16px!important;border-radius:4px!important}:host ::ng-deep .child-list .menu-item{padding:8px 46px!important}:host ::ng-deep .collapsed .menu-item{padding:0!important;width:40px;height:40px;border-radius:50%!important}:host ::ng-deep .active-menu-item{background-color:var(--base-95)!important}:host ::ng-deep .menu-item-title{margin-left:12px}tld-menu-icon{margin-right:10px}.spin{animation:spinArrow .3s forwards}:host::ng-deep button.collapse-btn .mat-mdc-button-persistent-ripple,:host::ng-deep button.toggler .mat-mdc-button-persistent-ripple{display:none}::ng-deep .mobile-child-list{margin-left:25px!important}::ng-deep .cdk-overlay-container .profile-menu{margin:10px 0!important}::ng-deep .mat-mdc-menu-item .mat-icon{margin-right:5px!important}::ng-deep .collapsed .profile-wrapper{justify-content:center!important}::ng-deep .profile-menu a{font-weight:400!important;display:flex;align-items:center;gap:5px}::ng-deep .profile-menu a:hover{color:var(--mat-menu-item-label-text-color, var(--mat-app-on-surface))!important;text-decoration:inherit}@keyframes spinArrow{to{transform:rotate(180deg)}}\n"] }]
240
301
  }], () => [{ type: i1.StrapiLinkService }, { type: i2.DOMService }, { type: i3.MenuItemsService }, { type: undefined, decorators: [{
241
302
  type: Optional
242
303
  }, {
@@ -248,4 +309,4 @@ export class SideNavMenuComponent extends NavBaseComponent {
248
309
  type: Input
249
310
  }] }); })();
250
311
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SideNavMenuComponent, { className: "SideNavMenuComponent", filePath: "lib\\components\\side-nav-menu\\side-nav-menu.component.ts", lineNumber: 16 }); })();
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9zaWRlLW5hdi1tZW51L3NpZGUtbmF2LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDRjVELDZCQUVDOztJQUR5RCwrS0FBUyx3QkFBaUIsS0FBQztJQUVuRiwwQkFBc0U7SUFDeEUsaUJBQUk7OztJQUptRixBQUFqRSxvRUFBK0MsMENBQWtDOztJQUdsRSxlQUFxQjtJQUFyQiw0REFBcUI7OztJQThCeEQsb0NBQTZEO0lBQUEsWUFBeUI7SUFBQSxpQkFBVzs7SUFBcEMsY0FBeUI7SUFBekIsMkNBQXlCOzs7SUFHcEYsb0NBQXVCO0lBQUEsWUFBd0I7SUFBQSxpQkFBVzs7SUFBbkMsY0FBd0I7SUFBeEIseUNBQXdCOzs7SUFSbkQsNkJBQWlDO0lBQy9CLGdDQUEyQjtJQUN6QixZQUNGO0lBQUEsaUJBQU87SUFJUCxBQUZBLHlHQUE2RCxrSUFFdEM7Ozs7Ozs7SUFMckIsZUFDRjtJQURFLGdEQUNGO0lBRVcsY0FBc0I7SUFBQSxBQUF0Qix3Q0FBc0IseUJBQWE7OztJQVRoRCxBQURGLHFDQUF3RyxjQUM1RTtJQUN4QixZQUNGO0lBQUEsaUJBQU07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LFlBQVk7a0JBQXBCLEtBQUs7O2tGQVJLLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPTVNlcnZpY2UsIFBsYXVzaWJsZUV2ZW50IH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgU3RyYXBpTGlua1NlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1zdHJhcGknO1xyXG5pbXBvcnQgeyBNRU5VX1NIQVJFRF9DT05GSUcgfSBmcm9tICcuLi8uLi9pbmplY3Rpb24tdG9rZW5zJztcclxuaW1wb3J0IHsgTWVudVNoYXJlZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LXNoYXJlZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBOYXZCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LWJhc2UvbmF2LWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZU5hdlNldHRpbmdzIH0gZnJvbSAnLi9tb2RlbHMvc2lkZS1uYXYtc2V0dGluZ3MubW9kZWwnO1xyXG5pbXBvcnQgeyBNZW51SXRlbXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVudS1pdGVtcy5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zaWRlLW5hdi1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1uYXYtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZS1uYXYtbWVudS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlTmF2TWVudUNvbXBvbmVudCBleHRlbmRzIE5hdkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgI3VzZXJuYW1lITogc3RyaW5nO1xyXG4gIGdldCB1c2VybmFtZSgpIHsgcmV0dXJuIHRoaXMuI3VzZXJuYW1lOyB9XHJcbiAgQElucHV0KCkgc2V0IHVzZXJuYW1lKHZhbHVlKSB7XHJcbiAgICB0aGlzLiN1c2VybmFtZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRVc2VySW5pdGlhbHMoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIG1lbnVTZXR0aW5nczogU2lkZU5hdlNldHRpbmdzID0ge1xyXG4gICAgZXhwYW5kZWRXaWR0aDogJzI0MXB4JyxcclxuICAgIGNvbGxhcHNlZFdpZHRoOiAnNTZweCcsXHJcbiAgICBtZW51TG9nbzogJycsXHJcbiAgICBtZW51TG9nb0NvbGxhcHNlZDogJycsXHJcbiAgICBkaXNhYmxlU3RyYXBpOiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgdXNlckluaXRpYWxzITogc3RyaW5nO1xyXG4gIGNvbGxhcHNlZCA9IGZhbHNlO1xyXG5cclxuICByZWFkb25seSBDT0xMQVBTRURfTE9DQUxfU1RPUkFHRV9LRVkgPSBcIlRMRF9NRU5VX1NJREVfTkFWX0NPTExBUFNFRFwiO1xyXG5cclxuICAvLyNyZWdpb24gUGxhdXNpYmxlIGV2ZW50IHZhcmlhYmxlcyBmb3IgY29sbGFwc2UgYnV0dG9uXHJcbiAgcHJpdmF0ZSByZWFkb25seSBDT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlRfSUQgPSBcImNvbGxhcHNlTWVudVwiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgQ09MTEFQU0VfUExBVVNJQkxFX0FDVElPTl9LRVkgPSBcImFjdGlvblwiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgTE9HT0NMSUNLX1BMQVVTSUJMRV9BQ1RJT05fSUQgPSBcInRpbGRlX2xvZ29fY2xpY2tcIlxyXG5cclxuICByZWFkb25seSBMT0dPQ0xJQ0tfUExBVVNJQkxFX0VWRU5UOiBQbGF1c2libGVFdmVudCA9IHtcclxuICAgIGV2ZW50SWQ6IHRoaXMuTE9HT0NMSUNLX1BMQVVTSUJMRV9BQ1RJT05fSUQsXHJcbiAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgRVhQQU5EX1BMQVVTSUJMRV9FVkVOVDogUGxhdXNpYmxlRXZlbnQgPSB7XHJcbiAgICBldmVudElkOiB0aGlzLkNPTExBUFNFX1BMQVVTSUJMRV9FVkVOVF9JRCxcclxuICAgIHByb3BlcnRpZXM6IFt7IGtleTogdGhpcy5DT0xMQVBTRV9QTEFVU0lCTEVfQUNUSU9OX0tFWSwgdmFsdWU6IFwiZXhwYW5kXCIgfV1cclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IENPTExBUFNFX1BMQVVTSUJMRV9FVkVOVDogUGxhdXNpYmxlRXZlbnQgPSB7XHJcbiAgICBldmVudElkOiB0aGlzLkNPTExBUFNFX1BMQVVTSUJMRV9FVkVOVF9JRCxcclxuICAgIHByb3BlcnRpZXM6IFt7IGtleTogdGhpcy5DT0xMQVBTRV9QTEFVU0lCTEVfQUNUSU9OX0tFWSwgdmFsdWU6IFwiY29sbGFwc2VcIiB9XVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICBnZXQgbWVudUxvZ29JbWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sbGFwc2VkXHJcbiAgICAgID8gdGhpcy5tZW51U2V0dGluZ3MubWVudUxvZ29Db2xsYXBzZWQgPz8gdGhpcy5tZW51U2V0dGluZ3MubWVudUxvZ29cclxuICAgICAgOiB0aGlzLm1lbnVTZXR0aW5ncy5tZW51TG9nbztcclxuICB9XHJcblxyXG4gIGdldCBzaWRlTmF2V2lkdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxhcHNlZCA/IHRoaXMubWVudVNldHRpbmdzLmNvbGxhcHNlZFdpZHRoIDogdGhpcy5tZW51U2V0dGluZ3MuZXhwYW5kZWRXaWR0aDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHN0cmFwaUxpbmtTZXJ2aWNlOiBTdHJhcGlMaW5rU2VydmljZSxcclxuICAgIHJlYWRvbmx5IGRvbVNlcnZpY2U6IERPTVNlcnZpY2UsXHJcbiAgICByZWFkb25seSBtZW51SXRlbXM6IE1lbnVJdGVtc1NlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1FTlVfU0hBUkVEX0NPTkZJRykgbWVudVNoYXJlZENvbmZpZzogTWVudVNoYXJlZENvbmZpZ1xyXG4gICkge1xyXG4gICAgc3VwZXIobWVudUl0ZW1zKTtcclxuICAgIHRoaXMuYmFzZVVybCA9IG1lbnVTaGFyZWRDb25maWcuYmFzZVVybCB8fCAnJztcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuZ2V0Q29sYXBzZWRGcm9tTG9jYWxTdG9yYWdlKCk7XHJcbiAgICB0aGlzLnNldFVzZXJJbml0aWFscygpO1xyXG4gIH1cclxuXHJcbiAgbG9nb0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0cmFwaUxpbmtTZXJ2aWNlLnN0cmFwaUxpbmtDbGljayhldmVudCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDb2xsYXBzZSgpIHtcclxuICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xyXG4gICAgdGhpcy5zZXRDb2xhcHNlZEZyb21Mb2NhbFN0b3JhZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29sYXBzZWRGcm9tTG9jYWxTdG9yYWdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmRvbVNlcnZpY2UubG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbGxhcHNlZCA9IHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkNPTExBUFNFRF9MT0NBTF9TVE9SQUdFX0tFWSkgPT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb2xhcHNlZEZyb21Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuQ09MTEFQU0VEX0xPQ0FMX1NUT1JBR0VfS0VZLCB0aGlzLmNvbGxhcHNlZC50b1N0cmluZygpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXNlckluaXRpYWxzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnVzZXJuYW1lKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBkaXNwbGF5aW5nIGZpcnN0IGxldHRlcnMgb2YgbmFtZSBhbmQgc3VybmFtZVxyXG4gICAgY29uc3Qgc3BsaXR0ZWRVc2VybmFtZSA9IHRoaXMudXNlcm5hbWUuc3BsaXQoJyAnKTtcclxuXHJcbiAgICBpZiAoc3BsaXR0ZWRVc2VybmFtZS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgLy8gSWYgdGhlcmUncyBvbmx5IG9uZSB3b3JkLCB1c2UgdGhlIGZpcnN0IGxldHRlclxyXG4gICAgICB0aGlzLnVzZXJJbml0aWFscyA9IHNwbGl0dGVkVXNlcm5hbWVbMF1bMF07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIHdvcmQsIHVzZSB0aGUgZmlyc3QgbGV0dGVyIG9mIHRoZSBmaXJzdCB0d28gbmFtZXNcclxuICAgIHRoaXMudXNlckluaXRpYWxzID0gc3BsaXR0ZWRVc2VybmFtZVswXVswXSArIHNwbGl0dGVkVXNlcm5hbWVbMV1bMF07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiIFtzdHlsZS53aWR0aF09XCJzaWRlTmF2V2lkdGhcIiBmeExheW91dD1cImNvbHVtblwiIFtjbGFzcy5jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleEZpbGw+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudS1jb250YWluZXItaGVhZGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBbZnhMYXlvdXRBbGlnbl09XCJjb2xsYXBzZWQgPyAnY2VudGVyIGNlbnRlcicgOiAnc3BhY2UtYmV0d2VlbiBjZW50ZXInXCI+XHJcbiAgICAgIDxhICpuZ0lmPVwiIWNvbGxhcHNlZFwiIFtsaWJQbGF1c2libGVFdmVudF09XCJMT0dPQ0xJQ0tfUExBVVNJQkxFX0VWRU5UXCIgZnhGbGV4PVwiMy4xMjVlbVwiIFtocmVmXT1cImJhc2VVcmxcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01FTlUuQVJJQV9MQUJFTFMuTE9HTycgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwibG9nb0NsaWNrKCRldmVudClcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgaGVpZ2h0PVwiNDBcIiBjbGFzcz1cIm1lbnUtbG9nb1wiIFtzcmNdPVwibWVudUxvZ29JbWFnZVwiIGFsdD1cImxvZ29cIiAvPlxyXG4gICAgICA8L2E+XHJcbiAgICAgIFxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJ0b2dnbGVyXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5NRU5VX1RPR0dMRVInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbbGliUGxhdXNpYmxlRXZlbnRdPVwiY29sbGFwc2VkID8gRVhQQU5EX1BMQVVTSUJMRV9FVkVOVCA6IENPTExBUFNFX1BMQVVTSUJMRV9FVkVOVFwiXHJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbGxhcHNlKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uPnt7IGNvbGxhcHNlZCA/ICdrZXlib2FyZF9kb3VibGVfYXJyb3dfcmlnaHQnIDogJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19sZWZ0JyB9fTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgIFxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtd3JhcHBlclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4PlxyXG4gICAgICA8bWVudS1jb2x1bW5zICh0b2dnbGVDb2xsYXBzZUV2ZW50KT1cInRvZ2dsZUNvbGxhcHNlKClcIiBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgZnhGbGV4IFtsYWJlbHNWaXNpYmxlXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgIFthY3RpdmVdPVwiYWN0aXZlXCI+PC9tZW51LWNvbHVtbnM+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cInVzZXJJbml0aWFsc1wiICNzdGF0ZT1cIm1hdE1lbnVUcmlnZ2VyXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cInByb2ZpbGUtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1pY29uXCI+XHJcbiAgICAgICAge3t1c2VySW5pdGlhbHN9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sbGFwc2VkXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9maWxlLW5hbWVcIj5cclxuICAgICAgICAgIHt7IHVzZXJuYW1lIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gIFxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInN0YXRlLm1lbnVPcGVuOyBlbHNlIGljb25Eb3duXCIgY2xhc3M9XCJzcGluXCI+e3tcImtleWJvYXJkX2Fycm93X2Rvd25cIn19PC9tYXQtaWNvbj5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNpY29uRG93bj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNwaW5cIj57e1wia2V5Ym9hcmRfYXJyb3dfdXBcIiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJwcm9maWxlLW1lbnVcIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICBjbGFzcz1cInByb2ZpbGUtb3B0aW9uXCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51U2V0dGluZ3MudXNlck9wdGlvbnNcIlxyXG4gICAgICAgIChjbGljayk9XCJpdGVtLmNhbGxiYWNrKClcIlxyXG4gICAgICA+XHJcbiAgICAgIEBpZiAoaXRlbS5pY29uKSB7XHJcbiAgICAgICAgQGlmICghaXRlbS5pc0ljb25DdXN0b20pIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcHJvZmlsZS1vcHRpb24taWNvblwiIFtjbGFzcy5tYXRlcmlhbC1pY29ucy1vdXRsaW5lZF09XCJpdGVtLmlzSWNvbk91dGxpbmVkXCI+e3tpdGVtLmljb259fTwvc3Bhbj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInByb2ZpbGUtb3B0aW9uLWljb25cIiBbc3ZnSWNvbl09XCJpdGVtLmljb25cIj48L21hdC1pY29uPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB7eyBpdGVtLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuICA8L2Rpdj4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9zaWRlLW5hdi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9zaWRlLW5hdi1tZW51L3NpZGUtbmF2LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDRjVELDZCQUVDOztJQUR5RCwrS0FBUyx3QkFBaUIsS0FBQztJQUVuRiwwQkFBc0U7SUFDeEUsaUJBQUk7OztJQUptRixBQUFqRSxvRUFBK0MsMENBQWtDOztJQUdsRSxlQUFxQjtJQUFyQiw0REFBcUI7OztJQThCeEQsb0NBQTZEO0lBQUEsWUFBeUI7SUFBQSxpQkFBVzs7SUFBcEMsY0FBeUI7SUFBekIsMkNBQXlCOzs7SUFHcEYsb0NBQXVCO0lBQUEsWUFBd0I7SUFBQSxpQkFBVzs7SUFBbkMsY0FBd0I7SUFBeEIseUNBQXdCOzs7SUFSbkQsNkJBQWlDO0lBQy9CLGdDQUEyQjtJQUN6QixZQUNGO0lBQUEsaUJBQU87SUFJUCxBQUZBLHlHQUE2RCxrSUFFdEM7Ozs7Ozs7SUFMckIsZUFDRjtJQURFLGdEQUNGO0lBRVcsY0FBc0I7SUFBQSxBQUF0Qix3Q0FBc0IseUJBQWE7OztJQVRoRCxBQURGLHFDQUF3RyxjQUM1RTtJQUN4QixZQUNGO0lBQUEsaUJB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QUNQO1lBRVIsd0hBQW9JO1lBM0VwSSxpQkFBeUc7O1lBQTdFLHlDQUE0QjtZQUFtQiwwQ0FBNkI7WUFFbEQsZUFBc0U7WUFBdEUsd0ZBQXNFO1lBQ2xILGNBQWdCO1lBQWhCLHFDQUFnQjtZQVVsQixjQUFtRjtZQUFuRiw2R0FBbUY7O1lBR3pFLGVBQThFO1lBQTlFLGtHQUE4RTtZQUtuQyxlQUF1QjtZQUM1RSxBQURzRyxBQUFqRCx5Q0FBdUIsaUNBQXNELHNCQUNqSDtZQUlaLGNBQWtCO1lBQWxCLHVDQUFrQjtZQW1CekIsZUEwQkM7WUExQkQsMkNBMEJDOzs7aUZEeERNLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLG1CQUFtQjs7c0JBOEQxQixRQUFROztzQkFBSSxNQUFNO3VCQUFDLGtCQUFrQjtxQkF2RDNCLFFBQVE7a0JBQXBCLEtBQUs7WUFLRyxZQUFZO2tCQUFwQixLQUFLOztrRkFSSyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET01TZXJ2aWNlLCBQbGF1c2libGVFdmVudCB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IFN0cmFwaUxpbmtTZXJ2aWNlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtc3RyYXBpJztcclxuaW1wb3J0IHsgTUVOVV9TSEFSRURfQ09ORklHIH0gZnJvbSAnLi4vLi4vaW5qZWN0aW9uLXRva2Vucyc7XHJcbmltcG9ydCB7IE1lbnVTaGFyZWRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVudS1zaGFyZWQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgTmF2QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1iYXNlL25hdi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGVOYXZTZXR0aW5ncyB9IGZyb20gJy4vbW9kZWxzL3NpZGUtbmF2LXNldHRpbmdzLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUl0ZW1zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lbnUtaXRlbXMuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2lkZS1uYXYtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbmF2LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NpZGUtbmF2LW1lbnUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZU5hdk1lbnVDb21wb25lbnQgZXh0ZW5kcyBOYXZCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICN1c2VybmFtZSE6IHN0cmluZztcclxuICBnZXQgdXNlcm5hbWUoKSB7IHJldHVybiB0aGlzLiN1c2VybmFtZTsgfVxyXG4gIEBJbnB1dCgpIHNldCB1c2VybmFtZSh2YWx1ZSkge1xyXG4gICAgdGhpcy4jdXNlcm5hbWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0VXNlckluaXRpYWxzKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtZW51U2V0dGluZ3M6IFNpZGVOYXZTZXR0aW5ncyA9IHtcclxuICAgIGV4cGFuZGVkV2lkdGg6ICcyNDFweCcsXHJcbiAgICBjb2xsYXBzZWRXaWR0aDogJzU2cHgnLFxyXG4gICAgbWVudUxvZ286ICcnLFxyXG4gICAgbWVudUxvZ29Db2xsYXBzZWQ6ICcnLFxyXG4gICAgZGlzYWJsZVN0cmFwaTogZmFsc2VcclxuICB9XHJcblxyXG4gIHVzZXJJbml0aWFscyE6IHN0cmluZztcclxuICBjb2xsYXBzZWQgPSBmYWxzZTtcclxuXHJcbiAgcmVhZG9ubHkgQ09MTEFQU0VEX0xPQ0FMX1NUT1JBR0VfS0VZID0gXCJUTERfTUVOVV9TSURFX05BVl9DT0xMQVBTRURcIjtcclxuXHJcbiAgLy8jcmVnaW9uIFBsYXVzaWJsZSBldmVudCB2YXJpYWJsZXMgZm9yIGNvbGxhcHNlIGJ1dHRvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQ09MTEFQU0VfUExBVVNJQkxFX0VWRU5UX0lEID0gXCJjb2xsYXBzZU1lbnVcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IENPTExBUFNFX1BMQVVTSUJMRV9BQ1RJT05fS0VZID0gXCJhY3Rpb25cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IExPR09DTElDS19QTEFVU0lCTEVfQUNUSU9OX0lEID0gXCJ0aWxkZV9sb2dvX2NsaWNrXCJcclxuXHJcbiAgcmVhZG9ubHkgTE9HT0NMSUNLX1BMQVVTSUJMRV9FVkVOVDogUGxhdXNpYmxlRXZlbnQgPSB7XHJcbiAgICBldmVudElkOiB0aGlzLkxPR09DTElDS19QTEFVU0lCTEVfQUNUSU9OX0lELFxyXG4gICAgcHJvcGVydGllczogW11cclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IEVYUEFORF9QTEFVU0lCTEVfRVZFTlQ6IFBsYXVzaWJsZUV2ZW50ID0ge1xyXG4gICAgZXZlbnRJZDogdGhpcy5DT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlRfSUQsXHJcbiAgICBwcm9wZXJ0aWVzOiBbeyBrZXk6IHRoaXMuQ09MTEFQU0VfUExBVVNJQkxFX0FDVElPTl9LRVksIHZhbHVlOiBcImV4cGFuZFwiIH1dXHJcbiAgfVxyXG5cclxuICByZWFkb25seSBDT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlQ6IFBsYXVzaWJsZUV2ZW50ID0ge1xyXG4gICAgZXZlbnRJZDogdGhpcy5DT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlRfSUQsXHJcbiAgICBwcm9wZXJ0aWVzOiBbeyBrZXk6IHRoaXMuQ09MTEFQU0VfUExBVVNJQkxFX0FDVElPTl9LRVksIHZhbHVlOiBcImNvbGxhcHNlXCIgfV1cclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZ2V0IG1lbnVMb2dvSW1hZ2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxhcHNlZFxyXG4gICAgICA/IHRoaXMubWVudVNldHRpbmdzLm1lbnVMb2dvQ29sbGFwc2VkID8/IHRoaXMubWVudVNldHRpbmdzLm1lbnVMb2dvXHJcbiAgICAgIDogdGhpcy5tZW51U2V0dGluZ3MubWVudUxvZ287XHJcbiAgfVxyXG5cclxuICBnZXQgc2lkZU5hdldpZHRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2xsYXBzZWQgPyB0aGlzLm1lbnVTZXR0aW5ncy5jb2xsYXBzZWRXaWR0aCA6IHRoaXMubWVudVNldHRpbmdzLmV4cGFuZGVkV2lkdGg7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzdHJhcGlMaW5rU2VydmljZTogU3RyYXBpTGlua1NlcnZpY2UsXHJcbiAgICByZWFkb25seSBkb21TZXJ2aWNlOiBET01TZXJ2aWNlLFxyXG4gICAgcmVhZG9ubHkgbWVudUl0ZW1zOiBNZW51SXRlbXNTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNRU5VX1NIQVJFRF9DT05GSUcpIG1lbnVTaGFyZWRDb25maWc6IE1lbnVTaGFyZWRDb25maWdcclxuICApIHtcclxuICAgIHN1cGVyKG1lbnVJdGVtcyk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBtZW51U2hhcmVkQ29uZmlnLmJhc2VVcmwgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLmdldENvbGFwc2VkRnJvbUxvY2FsU3RvcmFnZSgpO1xyXG4gICAgdGhpcy5zZXRVc2VySW5pdGlhbHMoKTtcclxuICB9XHJcblxyXG4gIGxvZ29DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdHJhcGlMaW5rU2VydmljZS5zdHJhcGlMaW5rQ2xpY2soZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ29sbGFwc2UoKSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgIHRoaXMuc2V0Q29sYXBzZWRGcm9tTG9jYWxTdG9yYWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbGFwc2VkRnJvbUxvY2FsU3RvcmFnZSgpIHtcclxuICAgIGlmICghdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2xsYXBzZWQgPSB0aGlzLmRvbVNlcnZpY2UubG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5DT0xMQVBTRURfTE9DQUxfU1RPUkFHRV9LRVkpID09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sYXBzZWRGcm9tTG9jYWxTdG9yYWdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmRvbVNlcnZpY2UubG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkNPTExBUFNFRF9MT0NBTF9TVE9SQUdFX0tFWSwgdGhpcy5jb2xsYXBzZWQudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFVzZXJJbml0aWFscygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy51c2VybmFtZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZGlzcGxheWluZyBmaXJzdCBsZXR0ZXJzIG9mIG5hbWUgYW5kIHN1cm5hbWVcclxuICAgIGNvbnN0IHNwbGl0dGVkVXNlcm5hbWUgPSB0aGlzLnVzZXJuYW1lLnNwbGl0KCcgJyk7XHJcblxyXG4gICAgaWYgKHNwbGl0dGVkVXNlcm5hbWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIC8vIElmIHRoZXJlJ3Mgb25seSBvbmUgd29yZCwgdXNlIHRoZSBmaXJzdCBsZXR0ZXJcclxuICAgICAgdGhpcy51c2VySW5pdGlhbHMgPSBzcGxpdHRlZFVzZXJuYW1lWzBdWzBdO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSB3b3JkLCB1c2UgdGhlIGZpcnN0IGxldHRlciBvZiB0aGUgZmlyc3QgdHdvIG5hbWVzXHJcbiAgICB0aGlzLnVzZXJJbml0aWFscyA9IHNwbGl0dGVkVXNlcm5hbWVbMF1bMF0gKyBzcGxpdHRlZFVzZXJuYW1lWzFdWzBdO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWVudS1jb250YWluZXJcIiBbc3R5bGUud2lkdGhdPVwic2lkZU5hdldpZHRoXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBbY2xhc3MuY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXhGaWxsPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtY29udGFpbmVyLWhlYWRlclwiIGZ4TGF5b3V0PVwicm93XCIgW2Z4TGF5b3V0QWxpZ25dPVwiY29sbGFwc2VkID8gJ2NlbnRlciBjZW50ZXInIDogJ3NwYWNlLWJldHdlZW4gY2VudGVyJ1wiPlxyXG4gICAgICA8YSAqbmdJZj1cIiFjb2xsYXBzZWRcIiBbbGliUGxhdXNpYmxlRXZlbnRdPVwiTE9HT0NMSUNLX1BMQVVTSUJMRV9FVkVOVFwiIGZ4RmxleD1cIjMuMTI1ZW1cIiBbaHJlZl09XCJiYXNlVXJsXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNRU5VLkFSSUFfTEFCRUxTLkxPR08nIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImxvZ29DbGljaygkZXZlbnQpXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW1nIGhlaWdodD1cIjQwXCIgY2xhc3M9XCJtZW51LWxvZ29cIiBbc3JjXT1cIm1lbnVMb2dvSW1hZ2VcIiBhbHQ9XCJsb2dvXCIgLz5cclxuICAgICAgPC9hPlxyXG4gICAgICBcclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwidG9nZ2xlclwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuTUVOVV9UT0dHTEVSJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2xpYlBsYXVzaWJsZUV2ZW50XT1cImNvbGxhcHNlZCA/IEVYUEFORF9QTEFVU0lCTEVfRVZFTlQgOiBDT0xMQVBTRV9QTEFVU0lCTEVfRVZFTlRcIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtaWNvbj57eyBjb2xsYXBzZWQgPyAna2V5Ym9hcmRfZG91YmxlX2Fycm93X3JpZ2h0JyA6ICdrZXlib2FyZF9kb3VibGVfYXJyb3dfbGVmdCcgfX08L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICBcclxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXdyYXBwZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cclxuICAgICAgPG1lbnUtY29sdW1ucyAodG9nZ2xlQ29sbGFwc2VFdmVudCk9XCJ0b2dnbGVDb2xsYXBzZSgpXCIgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIiByb2xlPVwibmF2aWdhdGlvblwiIGZ4RmxleCBbbGFiZWxzVmlzaWJsZV09XCIhY29sbGFwc2VkXCJcclxuICAgICAgICBbYWN0aXZlXT1cImFjdGl2ZVwiPjwvbWVudS1jb2x1bW5zPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxidXR0b24gKm5nSWY9XCJ1c2VySW5pdGlhbHNcIiAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJwcm9maWxlLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtaWNvblwiPlxyXG4gICAgICAgIHt7dXNlckluaXRpYWxzfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+XHJcbiAgICAgICAgICB7eyB1c2VybmFtZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICBcclxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzdGF0ZS5tZW51T3BlbjsgZWxzZSBpY29uRG93blwiIGNsYXNzPVwic3BpblwiPnt7XCJrZXlib2FyZF9hcnJvd19kb3duXCJ9fTwvbWF0LWljb24+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkRvd24+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzcGluXCI+e3tcImtleWJvYXJkX2Fycm93X3VwXCIgfX08L21hdC1pY29uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwicHJvZmlsZS1tZW51XCI+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudVNldHRpbmdzLnVzZXJPcHRpb25zOyB0cmFjayBpdGVtLmxhYmVsKSB7XHJcbiAgICAgICAgQGlmIChpdGVtLmlzTGluaykge1xyXG4gICAgICAgICAgQGlmIChpdGVtLm9wZW5Jbk5ld1RhYikge1xyXG4gICAgICAgICAgICA8YSBjbGFzcz1cIm1hdC1tZGMtbWVudS1pdGVtXCIgW2hyZWZdPVwiaXRlbS5ocmVmXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9maWxlTWVudUl0ZW07IGNvbnRleHQ6IHsgaWNvbjogaXRlbS5pY29uLCBpc0ljb25DdXN0b206IGl0ZW0uaXNJY29uQ3VzdG9tLCBpc0ljb25PdXRsaW5lZDogaXRlbS5pc0ljb25PdXRsaW5lZCwgbGFiZWw6IGl0ZW0ubGFiZWwgfVwiPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJtYXQtbWRjLW1lbnUtaXRlbVwiIFtyb3V0ZXJMaW5rXT1cIml0ZW0uaHJlZlwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJvZmlsZU1lbnVJdGVtOyBjb250ZXh0OiB7IGljb246IGl0ZW0uaWNvbiwgaXNJY29uQ3VzdG9tOiBpdGVtLmlzSWNvbkN1c3RvbSwgaXNJY29uT3V0bGluZWQ6IGl0ZW0uaXNJY29uT3V0bGluZWQsIGxhYmVsOiBpdGVtLmxhYmVsIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgY2xhc3M9XCJwcm9maWxlLW9wdGlvblwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiaXRlbT8uY2FsbGJhY2soKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInByb2ZpbGVNZW51SXRlbTsgY29udGV4dDogeyBpY29uOiBpdGVtLmljb24sIGlzSWNvbkN1c3RvbTogaXRlbS5pc0ljb25DdXN0b20sIGlzSWNvbk91dGxpbmVkOiBpdGVtLmlzSWNvbk91dGxpbmVkLCBsYWJlbDogaXRlbS5sYWJlbCB9XCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvbWF0LW1lbnU+XHJcbiAgPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3Byb2ZpbGVNZW51SXRlbSBsZXQtaWNvbj1cImljb25cIiBsZXQtaXNJY29uQ3VzdG9tPVwiaXNJY29uQ3VzdG9tXCIgbGV0LWlzSWNvbk91dGxpbmVkPVwiaXNJY29uT3V0bGluZWRcIiBsZXQtbGFiZWw9XCJsYWJlbFwiPlxyXG4gIEBpZiAoaWNvbikge1xyXG4gICAgQGlmICghaXNJY29uQ3VzdG9tKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcHJvZmlsZS1vcHRpb24taWNvblwiIFtjbGFzcy5tYXRlcmlhbC1pY29ucy1vdXRsaW5lZF09XCJpc0ljb25PdXRsaW5lZFwiPlxyXG4gICAgICAgIHt7aWNvbn19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJwcm9maWxlLW9wdGlvbi1pY29uXCIgW3N2Z0ljb25dPVwiaWNvblwiPjwvbWF0LWljb24+XHJcbiAgICB9XHJcbiAgfVxyXG4gIHt7IGxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbjwvbmctdGVtcGxhdGU+Il19