barsa-develop-components 2.0.47 → 2.0.49

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.
@@ -196,11 +196,11 @@ export class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
196
196
  this.observerList.push({ el: above, observer });
197
197
  }
198
198
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskHeaderComponent, deps: [{ token: i1.PortalService }, { token: i2.TilesService }, { token: i2.TilesViewerService }, { token: i0.Renderer2 }, { token: i3.ViewportScroller }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", inputs: { settings: "settings" }, providers: [TilesViewerService], viewQueries: [{ propertyName: "headerSpaceHolder", first: true, predicate: ["headerSpaceHolder"], descendants: true, static: true }, { propertyName: "headerGrid", first: true, predicate: ["headerGrid"], descendants: true, static: true }, { propertyName: "aboveSearch", first: true, predicate: ["aboveSearch"], descendants: true, static: true }, { propertyName: "searchHolder", first: true, predicate: ["searchHolder"], descendants: true, static: true }, { propertyName: "navHolder", first: true, predicate: ["navHolder"], descendants: true, static: true }, { propertyName: "aboveContent", first: true, predicate: ["aboveContent"], descendants: true, static: true }, { propertyName: "bgOuterHolder", first: true, predicate: ["bgOuterHolder"], descendants: true, static: true }, { propertyName: "contentAndNav", first: true, predicate: ["contentAndNav"], descendants: true, static: true }, { propertyName: "tilesViewerGroupElList", predicate: TilesViewerGroupComponent, descendants: true, read: ElementRef }, { propertyName: "tabPanelComponents", predicate: TabPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fd-input-group\r\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\r\n class=\"input-search\"\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <bt-tiles-viewer-group\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i5.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i6.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i6.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i7.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
199
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", inputs: { settings: "settings" }, providers: [TilesViewerService], viewQueries: [{ propertyName: "headerSpaceHolder", first: true, predicate: ["headerSpaceHolder"], descendants: true, static: true }, { propertyName: "headerGrid", first: true, predicate: ["headerGrid"], descendants: true, static: true }, { propertyName: "aboveSearch", first: true, predicate: ["aboveSearch"], descendants: true, static: true }, { propertyName: "searchHolder", first: true, predicate: ["searchHolder"], descendants: true, static: true }, { propertyName: "navHolder", first: true, predicate: ["navHolder"], descendants: true, static: true }, { propertyName: "aboveContent", first: true, predicate: ["aboveContent"], descendants: true, static: true }, { propertyName: "bgOuterHolder", first: true, predicate: ["bgOuterHolder"], descendants: true, static: true }, { propertyName: "contentAndNav", first: true, predicate: ["contentAndNav"], descendants: true, static: true }, { propertyName: "tilesViewerGroupElList", predicate: TilesViewerGroupComponent, descendants: true, read: ElementRef }, { propertyName: "tabPanelComponents", predicate: TabPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\n <fd-input-group\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\n class=\"input-search\"\n contentDensity=\"cozy\"\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </div>\n</div>\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\n <div id=\"bgOuterHolder\" #bgOuterHolder>\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\n <div class=\"backgroundImage\" id=\"backgroundImage\">\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\n </div>\n </div>\n </div>\n</div>\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\n <div class=\"aboveContent\" #aboveContent></div>\n <div id=\"contentHolder\">\n <div class=\"nav\" #navHolder>\n <div class=\"nav-container\">\n <ng-container\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\n <div class=\"content-feed\">\n <ng-container\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n</div>\n<ng-template #renderTabs let-appTileGroups>\n <fd-tab-list\n [size]=\"tabSize\"\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\n >\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\n }\n </fd-tab-list>\n</ng-template>\n<ng-template #renderGroups let-appTileGroups>\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <bt-tiles-viewer-group\n [class]=\"deviceSize$ | async\"\n [attr.index]=\"i\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"false\"\n [stackContent]=\"true\"\n [isAppTileSubGroup]=\"false\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n ></bt-tiles-viewer-group>\n }\n</ng-template>\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i5.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i6.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i6.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i7.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
200
200
  }
201
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskHeaderComponent, decorators: [{
202
202
  type: Component,
203
- args: [{ selector: 'bdc-service-desk-header', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fd-input-group\r\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\r\n class=\"input-search\"\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <bt-tiles-viewer-group\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"] }]
203
+ args: [{ selector: 'bdc-service-desk-header', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\n <fd-input-group\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\n class=\"input-search\"\n contentDensity=\"cozy\"\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </div>\n</div>\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\n <div id=\"bgOuterHolder\" #bgOuterHolder>\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\n <div class=\"backgroundImage\" id=\"backgroundImage\">\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\n </div>\n </div>\n </div>\n</div>\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\n <div class=\"aboveContent\" #aboveContent></div>\n <div id=\"contentHolder\">\n <div class=\"nav\" #navHolder>\n <div class=\"nav-container\">\n <ng-container\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\n <div class=\"content-feed\">\n <ng-container\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n</div>\n<ng-template #renderTabs let-appTileGroups>\n <fd-tab-list\n [size]=\"tabSize\"\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\n >\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\n }\n </fd-tab-list>\n</ng-template>\n<ng-template #renderGroups let-appTileGroups>\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <bt-tiles-viewer-group\n [class]=\"deviceSize$ | async\"\n [attr.index]=\"i\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"false\"\n [stackContent]=\"true\"\n [isAppTileSubGroup]=\"false\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n ></bt-tiles-viewer-group>\n }\n</ng-template>\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"] }]
204
204
  }], ctorParameters: () => [{ type: i1.PortalService }, { type: i2.TilesService }, { type: i2.TilesViewerService }, { type: i0.Renderer2 }, { type: i3.ViewportScroller }, { type: i0.ChangeDetectorRef }], propDecorators: { headerSpaceHolder: [{
205
205
  type: ViewChild,
206
206
  args: ['headerSpaceHolder', { static: true }]
@@ -234,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
234
234
  }], settings: [{
235
235
  type: Input
236
236
  }] } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlLWRlc2staGVhZGVyL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLWhlYWRlci9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFHWixtQkFBbUIsRUFDbkIsS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixrQkFBa0IsRUFFbEIseUJBQXlCLEVBQzVCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUFVckIsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDZCQUE2QjtJQTRCekUsWUFDYyxjQUE2QixFQUM3QixhQUEyQixFQUMzQixtQkFBdUMsRUFDdkMsU0FBb0IsRUFDdEIsaUJBQW1DLEVBQ25DLElBQXVCO1FBRS9CLEtBQUssQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFQaEQsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3RC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eUJBQXlCLDJCQUFVLFVBQVUscURBRzdDLGlCQUFpQix1RUM5Q25DLDBpR0F3RUE7OzJGRHRDYSwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0kseUJBQXlCLGFBR3hCLENBQUMsa0JBQWtCLENBQUMsbUJBQ2QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtxT0FHYSxpQkFBaUI7c0JBQWxFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNMLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csWUFBWTtzQkFBeEQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNELFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSyxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csYUFBYTtzQkFBMUQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNFLGFBQWE7c0JBQTFELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDbUIsc0JBQXNCO3NCQUFwRixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHNUIsa0JBQWtCO3NCQUFsRCxZQUFZO3VCQUFDLGlCQUFpQjtnQkFDdEIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFJlbmRlcmVyU3R5bGVGbGFnczIsXG4gICAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFiUGFuZWxDb21wb25lbnQsIFRhYlNpemVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwsIFBvcnRhbFNlcnZpY2UsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7XG4gICAgVGlsZXNWaWV3ZXJDb250YWluZXJDb21wb25lbnQsXG4gICAgVGlsZXNWaWV3ZXJTZXJ2aWNlLFxuICAgIFRpbGVzU2VydmljZSxcbiAgICBUaWxlc1ZpZXdlckdyb3VwQ29tcG9uZW50XG59IGZyb20gJ2JhcnNhLXRpbGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiZGMtc2VydmljZS1kZXNrLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtUaWxlc1ZpZXdlclNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZURlc2tIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBUaWxlc1ZpZXdlckNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyU3BhY2VIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJTcGFjZUhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlckdyaWQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJHcmlkOiBFbGVtZW50UmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnYWJvdmVTZWFyY2gnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhYm92ZVNlYXJjaDogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIHNlYXJjaEhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ25hdkhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIG5hdkhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2Fib3ZlQ29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGFib3ZlQ29udGVudDogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2JnT3V0ZXJIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ091dGVySG9sZGVyOiBFbGVtZW50UmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnY29udGVudEFuZE5hdicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnRBbmROYXY6IEVsZW1lbnRSZWY8YW55PjtcbiAgICBAVmlld0NoaWxkcmVuKFRpbGVzVmlld2VyR3JvdXBDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB0aWxlc1ZpZXdlckdyb3VwRWxMaXN0OiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gICAgLy8gQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWdlLWNvbnRlbnQnKSBwYWdlQ29udGVudENsYXNzID0gdHJ1ZTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oVGFiUGFuZWxDb21wb25lbnQpIHRhYlBhbmVsQ29tcG9uZW50czogUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PjtcbiAgICBASW5wdXQoKSBzZXR0aW5nczogU2VydmljZURlc2tIZWFkZXJTZXR0aW5nO1xuICAgIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xuICAgIGhlaWdodE9mU3BhY2VIb2xkZXIgPSA4ODtcbiAgICB0YWJTaXplOiBUYWJTaXplcztcbiAgICBzZWFyY2hUZXJtJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHNlYXJjaFRlcm0gPSAnJztcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIHByaXZhdGUgX2VuYWJsZVNjcm9sbCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2Rpc2FibGVJbnRlcnNlY3Rpb246IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfaXNGb3JtT3BlbmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX3N0aWNreVRvcFBvc2l0aW9uID0gNjY7XG4gICAgcHJpdmF0ZSBvYnNlcnZlckxpc3Q6IHsgZWw6IGFueTsgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIH1bXSA9IFtdO1xuICAgIHByaXZhdGUgX2xhc3RTY3JvbGxQb3M6IG51bWJlcjtcbiAgICBhcHBHcm91cHM6IGFueVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzVmlld2VyU2VydmljZTogVGlsZXNWaWV3ZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX3BvcnRhbFNlcnZpY2UsIF90aWxlc1NlcnZpY2UsIF90aWxlc1ZpZXdlclNlcnZpY2UpO1xuICAgICAgICBjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICByb290LnN0eWxlLnNldFByb3BlcnR5KCctLWFic29sdXRlLXBhZ2UtdG9wJywgdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24gKyAncHgnKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uuc2VhcmNoVGVybSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgodGVybSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gdGVybTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkLnN1YnNjcmliZSgoYXBwVGlsZUdyb3VwcykgPT4ge1xuICAgICAgICAgICAgYXBwVGlsZUdyb3Vwcy5mb3JFYWNoKChjKSA9PiB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UubG9hZEFwcEdyb3VwKGMpKTtcbiAgICAgICAgICAgIHRoaXMuYXBwR3JvdXBzID0gYXBwVGlsZUdyb3VwcztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMubmF2SG9sZGVyLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbiArICdweCcpO1xuXG4gICAgICAgIHRoaXMuc2V0R3JpZFRlbXBsYXRlUm93cyh0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJDtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdIZWlnaHQgPSB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXI7XG4gICAgICAgICAgICB0aGlzLnRhYlNpemUgPSBjO1xuICAgICAgICAgICAgaWYgKGMgPT09ICdzJykge1xuICAgICAgICAgICAgICAgIG5ld0hlaWdodCA9IDg4O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjID09PSAnbScpIHtcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAyMjA7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09ICdsJykge1xuICAgICAgICAgICAgICAgIG5ld0hlaWdodCA9IDI1MDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ID0gMzI1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3SGVpZ2h0ID0gODg7XG4gICAgICAgICAgICBpZiAodGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyICE9PSBuZXdIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgPSBuZXdIZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHcmlkVGVtcGxhdGVSb3dzKG5ld0hlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRldmljZVNpemUgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemU7XG4gICAgICAgIGxldCBzdGlja3lUb3BQb3NpdGlvbiA9IDIwO1xuICAgICAgICBpZiAoZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XG4gICAgICAgICAgICBzdGlja3lUb3BQb3NpdGlvbiA9IDYwO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N0aWNreURvbSh0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2VhcmNoSG9sZGVyLm5hdGl2ZUVsZW1lbnQsIC1zdGlja3lUb3BQb3NpdGlvbiwgJ3N0aWNreScpO1xuICAgICAgICB0aGlzLl9zdGlja3lEb20oXG4gICAgICAgICAgICB0aGlzLmFib3ZlQ29udGVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5uYXZIb2xkZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC10aGlzLl9zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICdzdGlja3knXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3N0aWNreURvbShcbiAgICAgICAgICAgIHRoaXMuYWJvdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLmJnT3V0ZXJIb2xkZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC10aGlzLl9zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICdzdGlja3knLFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmdPdXRlckhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24gKyAncHgnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iZ091dGVySG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9zdGlja3lEb20oXG4gICAgICAgICAgICB0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC1zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICduYXZBbmRDb250ZW50X3RiJyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdmaXJzdCcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdmaXJzdCcsICd0cnVlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZW5hYmxlU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWdhdGlvblN0YXJ0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFNjcm9sbFBvcyA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICAgICAgaWYgKGV2ZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50Py51cmwgIT09ICcvc2VydmljZWRlc2snICYmIGV2ZW50Py51cmwgIT09ICcvJyAmJiAhdGhpcy5fZGlzYWJsZUludGVyc2VjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZUZvcm0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWdhdGlvbkVuZCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIChldmVudD8udXJsID09PSAnL3NlcnZpY2VkZXNrJyB8fCBldmVudD8udXJsID09PSAnLycgfHwgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMgPT09ICcvc2VydmljZWRlc2snKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51blByZXBhcmVGb3JtKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvblNlYXJjaFN1Ym1pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJ3NlcnZpY2VkZXNrL3NlYXJjaD90ZXJtPScgKyB0aGlzLnNlYXJjaFRlcm0pO1xuICAgICAgICAvLyB2YXIgc2VhcmNoTW8gPSBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZCgnR2V0U2VhcmNoTW8nLCB0aGlzLnNlYXJjaFRlcm0pO1xuICAgICAgICAvLyBCYXJzYUFwaS5Cdy5Gb3JtLlNob3coeyBNbzogc2VhcmNoTW8gfSk7XG4gICAgfVxuICAgIHByZXBhcmVGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGFjaCgpO1xuICAgICAgICB0aGlzLmRpc2Nvbm5lY3RJbnRlcnNjdGlvbk9ic2VydmVyTGlzdCgpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnaGlkZScpO1xuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KGZhbHNlKTtcbiAgICAgICAgY29uc3QgZmxhZ3MgPSBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudDtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicsIGZsYWdzKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgIH1cbiAgICB1blByZXBhcmVGb3JtKCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLnNldEhlaWdodFNlYXJjaEhvbGRlcih0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KHRydWUpO1xuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hpZGUnKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdoaWRlJyk7XG4gICAgICAgIGNvbnN0IGZsYWdzID0gUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQ7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdhdXRvJywgZmxhZ3MpO1xuICAgICAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgICAgIHRoaXMuX2Nkci5yZWF0dGFjaCgpO1xuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk7XG4gICAgfVxuICAgIHNldEhlaWdodFNlYXJjaEhvbGRlcihoZWlnaHQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXJTcGFjZUhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XG4gICAgfVxuICAgIHZpc2libGVDb250ZW50KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgdmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyk7XG4gICAgfVxuXG4gICAgc2V0R3JpZFRlbXBsYXRlUm93cyhoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyR3JpZC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ2dyaWQtdGVtcGxhdGUtcm93cycsXG4gICAgICAgICAgICBgbWlubWF4KDc4cHgsIDE1JSkgNDZweCAzMnB4IDFmciBhdXRvIDEyJTsgaGVpZ2h0OiR7aGVpZ2h0fXB4YFxuICAgICAgICApO1xuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlckdyaWQubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtY29sb3InLCBgcmVkYCk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyU3BhY2VIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xuICAgIH1cbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlMyhzZWxlY3RlZFRhYjogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFibGlzdENtcCA9IChzZWxlY3RlZFRhYiBhcyBhbnkpLl90YWJzQ29tcG9uZW50O1xuICAgICAgICBpZiAodGFibGlzdENtcCkge1xuICAgICAgICAgICAgdGFibGlzdENtcC5fZGlzYWJsZVNjcm9sbFNweSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRUYWIuaWQgPT09ICcwJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWZPZnNlbGVjdGVkVGlsZUdyb3VwOiBIVE1MRWxlbWVudCA9IHRoaXMudGlsZXNWaWV3ZXJHcm91cEVsTGlzdC5nZXQoXG4gICAgICAgICAgICBOdW1iZXIoc2VsZWN0ZWRUYWIuaWQpXG4gICAgICAgICk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgZWxlbWVudFJlZk9mc2VsZWN0ZWRUaWxlR3JvdXAuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgYmxvY2s6ICdzdGFydCdcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgc2Nyb2xsVG9MYXN0UG9zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oWzAsIHRoaXMuX2xhc3RTY3JvbGxQb3NdKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBzY3JvbGxUb1RvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2VuYWJsZVNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRTY3JvbGxlci5zY3JvbGxUb1Bvc2l0aW9uKFswLCB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgLSB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbl0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgZGlzY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLmRpc2Nvbm5lY3QoKSk7XG4gICAgfVxuICAgIHByaXZhdGUgY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLm9ic2VydmUoYy5lbCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N0aWNreURvbShcbiAgICAgICAgYWJvdmUsXG4gICAgICAgIGhvbGRlcixcbiAgICAgICAgbWFyZ2luVG9wLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIHZpc2libGVDYWxsYmFjaz86ICgpID0+IHZvaWQsXG4gICAgICAgIGhpZGRlbkNhbGxCYWNrPzogKCkgPT4gdm9pZFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKGVudHJpZXMpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFlbnRyaWVzWzBdLmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmlzaWJsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGVDYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaGlkZGVuQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuQ2FsbEJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICByb290TWFyZ2luOiBgJHttYXJnaW5Ub3B9cHggMHB4IDBweCAwcHhgLFxuICAgICAgICAgICAgdGhyZXNob2xkOiAwLjFcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgd2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZXIsIG9wdGlvbnMpO1xuXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoYWJvdmUpO1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5wdXNoKHsgZWw6IGFib3ZlLCBvYnNlcnZlciB9KTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBTZXJ2aWNlRGVza0hlYWRlclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBIaWRlU2VhcmNoOiBib29sZWFuO1xufVxuIiwiPGRpdiBpZD1cImhlYWRlckdyaWRcIiBzdHlsZT1cImdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDFweCwgMTUlKSA0OHB4IDMycHggMWZyIGF1dG8gMTIlOyBoZWlnaHQ6IDE0OHB4XCIgI2hlYWRlckdyaWQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29tcGFueUxvZ29Ib2xkZXJfYWJvdmVTZWFyY2hcIiAjYWJvdmVTZWFyY2g+PC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwic2VhcmNoSG9sZGVyXCIgc3R5bGU9XCJncmlkLXJvdzogMlwiICNzZWFyY2hIb2xkZXI+XHJcbiAgICAgICAgPGZkLWlucHV0LWdyb3VwXHJcbiAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInNldHRpbmdzPy5IaWRlU2VhcmNoID8gJ25vbmUnIDogbnVsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtc2VhcmNoXCJcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk9XCJjb3p5XCJcclxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICBnbHlwaD1cInNlYXJjaFwiXHJcbiAgICAgICAgICAgIFtnbHlwaEFyaWFMYWJlbF09XCInU2VhcmNoJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGVybVwiXHJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwib25TZWFyY2hTdWJtaXQoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvZmQtaW5wdXQtZ3JvdXA+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgaWQ9XCJoZWFkZXJTcGFjZUhvbGRlclwiICNoZWFkZXJTcGFjZUhvbGRlcj5cclxuICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XHJcbiAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhY2tncm91bmRJbWFnZVwiIGlkPVwiYmFja2dyb3VuZEltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIHNyYz1cIi9hc3NldHMvYmFjay5qcGdcIiBsb2FkaW5nPVwibGF6eVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImJhY2tncm91bmRJbWFnZU92ZXJsYXlcIiBjbGFzcz1cIm92ZXJsYXlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGlkPVwiY29udGVudEhvbGRlckFuZE5hdlwiIGZpcnN0PVwidHJ1ZVwiICNjb250ZW50QW5kTmF2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFib3ZlQ29udGVudFwiICNhYm92ZUNvbnRlbnQ+PC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwiY29udGVudEhvbGRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZcIiAjbmF2SG9sZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyVGFiczsgY29udGV4dDogeyAkaW1wbGljaXQ6IChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhIH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2X3N1cnJvZ2F0ZVwiIHN0eWxlPVwiaGVpZ2h0OiAxMHB4XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZmVlZFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckdyb3VwczsgY29udGV4dDogeyAkaW1wbGljaXQ6IChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhIH1cIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFicyBsZXQtYXBwVGlsZUdyb3Vwcz5cclxuICAgIDxmZC10YWItbGlzdFxyXG4gICAgICAgIFtzaXplXT1cInRhYlNpemVcIlxyXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRhYlNpemUgPT09ICdzJyB8fCBhcHBUaWxlR3JvdXBzLmxlbmd0aCA+IDVcIlxyXG4gICAgICAgIFtleHBhbmRPdmVyZmxvd1RleHRdPVwiJ01vcmUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25TZWxlY3RlZFRhYkNoYW5nZTMoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgICAgQGZvciAoYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IHRyYWNrIGFwcFRpbGVHcm91cDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICA8ZmQtdGFiIFtpZF09XCInJyArIGlcIiBbdGl0bGVdPVwiYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpdGxlXCI+IDwvZmQtdGFiPlxyXG4gICAgICAgIH1cclxuICAgIDwvZmQtdGFiLWxpc3Q+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyR3JvdXBzIGxldC1hcHBUaWxlR3JvdXBzPlxyXG4gICAgQGZvciAoYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IHRyYWNrIGFwcFRpbGVHcm91cDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgIDxidC10aWxlcy12aWV3ZXItZ3JvdXBcclxuICAgICAgICBbYXR0ci5pbmRleF09XCJpXCJcclxuICAgICAgICBbYXBwVGlsZUdyb3VwXT1cImFwcFRpbGVHcm91cFwiXHJcbiAgICAgICAgW2VkaXRdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtzdGFja0NvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2lzQXBwVGlsZVN1Ykdyb3VwXT1cImZhbHNlXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXHJcbiAgICA+PC9idC10aWxlcy12aWV3ZXItZ3JvdXA+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlLWRlc2staGVhZGVyL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLWhlYWRlci9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFHWixtQkFBbUIsRUFDbkIsS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixrQkFBa0IsRUFFbEIseUJBQXlCLEVBQzVCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUFVckIsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDZCQUE2QjtJQTRCekUsWUFDYyxjQUE2QixFQUM3QixhQUEyQixFQUMzQixtQkFBdUMsRUFDdkMsU0FBb0IsRUFDdEIsaUJBQW1DLEVBQ25DLElBQXVCO1FBRS9CLEtBQUssQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFQaEQsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3RC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eUJBQXlCLDJCQUFVLFVBQVUscURBRzdDLGlCQUFpQix1RUM5Q25DLG04RkF5RUE7OzJGRHZDYSwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0kseUJBQXlCLGFBR3hCLENBQUMsa0JBQWtCLENBQUMsbUJBQ2QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtxT0FHYSxpQkFBaUI7c0JBQWxFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNMLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csWUFBWTtzQkFBeEQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNELFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSyxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csYUFBYTtzQkFBMUQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNFLGFBQWE7c0JBQTFELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDbUIsc0JBQXNCO3NCQUFwRixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHNUIsa0JBQWtCO3NCQUFsRCxZQUFZO3VCQUFDLGlCQUFpQjtnQkFDdEIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFJlbmRlcmVyU3R5bGVGbGFnczIsXG4gICAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFiUGFuZWxDb21wb25lbnQsIFRhYlNpemVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwsIFBvcnRhbFNlcnZpY2UsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7XG4gICAgVGlsZXNWaWV3ZXJDb250YWluZXJDb21wb25lbnQsXG4gICAgVGlsZXNWaWV3ZXJTZXJ2aWNlLFxuICAgIFRpbGVzU2VydmljZSxcbiAgICBUaWxlc1ZpZXdlckdyb3VwQ29tcG9uZW50XG59IGZyb20gJ2JhcnNhLXRpbGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiZGMtc2VydmljZS1kZXNrLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtUaWxlc1ZpZXdlclNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZURlc2tIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBUaWxlc1ZpZXdlckNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyU3BhY2VIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJTcGFjZUhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlckdyaWQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJHcmlkOiBFbGVtZW50UmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnYWJvdmVTZWFyY2gnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhYm92ZVNlYXJjaDogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIHNlYXJjaEhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ25hdkhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIG5hdkhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2Fib3ZlQ29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGFib3ZlQ29udGVudDogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2JnT3V0ZXJIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ091dGVySG9sZGVyOiBFbGVtZW50UmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnY29udGVudEFuZE5hdicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnRBbmROYXY6IEVsZW1lbnRSZWY8YW55PjtcbiAgICBAVmlld0NoaWxkcmVuKFRpbGVzVmlld2VyR3JvdXBDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB0aWxlc1ZpZXdlckdyb3VwRWxMaXN0OiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gICAgLy8gQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWdlLWNvbnRlbnQnKSBwYWdlQ29udGVudENsYXNzID0gdHJ1ZTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oVGFiUGFuZWxDb21wb25lbnQpIHRhYlBhbmVsQ29tcG9uZW50czogUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PjtcbiAgICBASW5wdXQoKSBzZXR0aW5nczogU2VydmljZURlc2tIZWFkZXJTZXR0aW5nO1xuICAgIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xuICAgIGhlaWdodE9mU3BhY2VIb2xkZXIgPSA4ODtcbiAgICB0YWJTaXplOiBUYWJTaXplcztcbiAgICBzZWFyY2hUZXJtJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHNlYXJjaFRlcm0gPSAnJztcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIHByaXZhdGUgX2VuYWJsZVNjcm9sbCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2Rpc2FibGVJbnRlcnNlY3Rpb246IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfaXNGb3JtT3BlbmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX3N0aWNreVRvcFBvc2l0aW9uID0gNjY7XG4gICAgcHJpdmF0ZSBvYnNlcnZlckxpc3Q6IHsgZWw6IGFueTsgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIH1bXSA9IFtdO1xuICAgIHByaXZhdGUgX2xhc3RTY3JvbGxQb3M6IG51bWJlcjtcbiAgICBhcHBHcm91cHM6IGFueVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzVmlld2VyU2VydmljZTogVGlsZXNWaWV3ZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX3BvcnRhbFNlcnZpY2UsIF90aWxlc1NlcnZpY2UsIF90aWxlc1ZpZXdlclNlcnZpY2UpO1xuICAgICAgICBjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICByb290LnN0eWxlLnNldFByb3BlcnR5KCctLWFic29sdXRlLXBhZ2UtdG9wJywgdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24gKyAncHgnKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uuc2VhcmNoVGVybSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgodGVybSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gdGVybTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkLnN1YnNjcmliZSgoYXBwVGlsZUdyb3VwcykgPT4ge1xuICAgICAgICAgICAgYXBwVGlsZUdyb3Vwcy5mb3JFYWNoKChjKSA9PiB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UubG9hZEFwcEdyb3VwKGMpKTtcbiAgICAgICAgICAgIHRoaXMuYXBwR3JvdXBzID0gYXBwVGlsZUdyb3VwcztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMubmF2SG9sZGVyLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbiArICdweCcpO1xuXG4gICAgICAgIHRoaXMuc2V0R3JpZFRlbXBsYXRlUm93cyh0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJDtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdIZWlnaHQgPSB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXI7XG4gICAgICAgICAgICB0aGlzLnRhYlNpemUgPSBjO1xuICAgICAgICAgICAgaWYgKGMgPT09ICdzJykge1xuICAgICAgICAgICAgICAgIG5ld0hlaWdodCA9IDg4O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjID09PSAnbScpIHtcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAyMjA7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09ICdsJykge1xuICAgICAgICAgICAgICAgIG5ld0hlaWdodCA9IDI1MDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ID0gMzI1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3SGVpZ2h0ID0gODg7XG4gICAgICAgICAgICBpZiAodGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyICE9PSBuZXdIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgPSBuZXdIZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHcmlkVGVtcGxhdGVSb3dzKG5ld0hlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRldmljZVNpemUgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemU7XG4gICAgICAgIGxldCBzdGlja3lUb3BQb3NpdGlvbiA9IDIwO1xuICAgICAgICBpZiAoZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XG4gICAgICAgICAgICBzdGlja3lUb3BQb3NpdGlvbiA9IDYwO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N0aWNreURvbSh0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2VhcmNoSG9sZGVyLm5hdGl2ZUVsZW1lbnQsIC1zdGlja3lUb3BQb3NpdGlvbiwgJ3N0aWNreScpO1xuICAgICAgICB0aGlzLl9zdGlja3lEb20oXG4gICAgICAgICAgICB0aGlzLmFib3ZlQ29udGVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5uYXZIb2xkZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC10aGlzLl9zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICdzdGlja3knXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3N0aWNreURvbShcbiAgICAgICAgICAgIHRoaXMuYWJvdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLmJnT3V0ZXJIb2xkZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC10aGlzLl9zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICdzdGlja3knLFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmdPdXRlckhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24gKyAncHgnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iZ091dGVySG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9zdGlja3lEb20oXG4gICAgICAgICAgICB0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC1zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICduYXZBbmRDb250ZW50X3RiJyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdmaXJzdCcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdmaXJzdCcsICd0cnVlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZW5hYmxlU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWdhdGlvblN0YXJ0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFNjcm9sbFBvcyA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICAgICAgaWYgKGV2ZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50Py51cmwgIT09ICcvc2VydmljZWRlc2snICYmIGV2ZW50Py51cmwgIT09ICcvJyAmJiAhdGhpcy5fZGlzYWJsZUludGVyc2VjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZUZvcm0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWdhdGlvbkVuZCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIChldmVudD8udXJsID09PSAnL3NlcnZpY2VkZXNrJyB8fCBldmVudD8udXJsID09PSAnLycgfHwgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMgPT09ICcvc2VydmljZWRlc2snKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51blByZXBhcmVGb3JtKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvblNlYXJjaFN1Ym1pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJ3NlcnZpY2VkZXNrL3NlYXJjaD90ZXJtPScgKyB0aGlzLnNlYXJjaFRlcm0pO1xuICAgICAgICAvLyB2YXIgc2VhcmNoTW8gPSBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZCgnR2V0U2VhcmNoTW8nLCB0aGlzLnNlYXJjaFRlcm0pO1xuICAgICAgICAvLyBCYXJzYUFwaS5Cdy5Gb3JtLlNob3coeyBNbzogc2VhcmNoTW8gfSk7XG4gICAgfVxuICAgIHByZXBhcmVGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGFjaCgpO1xuICAgICAgICB0aGlzLmRpc2Nvbm5lY3RJbnRlcnNjdGlvbk9ic2VydmVyTGlzdCgpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnaGlkZScpO1xuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KGZhbHNlKTtcbiAgICAgICAgY29uc3QgZmxhZ3MgPSBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudDtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicsIGZsYWdzKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgIH1cbiAgICB1blByZXBhcmVGb3JtKCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLnNldEhlaWdodFNlYXJjaEhvbGRlcih0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KHRydWUpO1xuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hpZGUnKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdoaWRlJyk7XG4gICAgICAgIGNvbnN0IGZsYWdzID0gUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQ7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdhdXRvJywgZmxhZ3MpO1xuICAgICAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgICAgIHRoaXMuX2Nkci5yZWF0dGFjaCgpO1xuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk7XG4gICAgfVxuICAgIHNldEhlaWdodFNlYXJjaEhvbGRlcihoZWlnaHQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXJTcGFjZUhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XG4gICAgfVxuICAgIHZpc2libGVDb250ZW50KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgdmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyk7XG4gICAgfVxuXG4gICAgc2V0R3JpZFRlbXBsYXRlUm93cyhoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyR3JpZC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ2dyaWQtdGVtcGxhdGUtcm93cycsXG4gICAgICAgICAgICBgbWlubWF4KDc4cHgsIDE1JSkgNDZweCAzMnB4IDFmciBhdXRvIDEyJTsgaGVpZ2h0OiR7aGVpZ2h0fXB4YFxuICAgICAgICApO1xuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlckdyaWQubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtY29sb3InLCBgcmVkYCk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyU3BhY2VIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xuICAgIH1cbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlMyhzZWxlY3RlZFRhYjogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFibGlzdENtcCA9IChzZWxlY3RlZFRhYiBhcyBhbnkpLl90YWJzQ29tcG9uZW50O1xuICAgICAgICBpZiAodGFibGlzdENtcCkge1xuICAgICAgICAgICAgdGFibGlzdENtcC5fZGlzYWJsZVNjcm9sbFNweSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRUYWIuaWQgPT09ICcwJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWZPZnNlbGVjdGVkVGlsZUdyb3VwOiBIVE1MRWxlbWVudCA9IHRoaXMudGlsZXNWaWV3ZXJHcm91cEVsTGlzdC5nZXQoXG4gICAgICAgICAgICBOdW1iZXIoc2VsZWN0ZWRUYWIuaWQpXG4gICAgICAgICk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgZWxlbWVudFJlZk9mc2VsZWN0ZWRUaWxlR3JvdXAuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgYmxvY2s6ICdzdGFydCdcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgc2Nyb2xsVG9MYXN0UG9zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oWzAsIHRoaXMuX2xhc3RTY3JvbGxQb3NdKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBzY3JvbGxUb1RvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2VuYWJsZVNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRTY3JvbGxlci5zY3JvbGxUb1Bvc2l0aW9uKFswLCB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgLSB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbl0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgZGlzY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLmRpc2Nvbm5lY3QoKSk7XG4gICAgfVxuICAgIHByaXZhdGUgY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLm9ic2VydmUoYy5lbCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N0aWNreURvbShcbiAgICAgICAgYWJvdmUsXG4gICAgICAgIGhvbGRlcixcbiAgICAgICAgbWFyZ2luVG9wLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIHZpc2libGVDYWxsYmFjaz86ICgpID0+IHZvaWQsXG4gICAgICAgIGhpZGRlbkNhbGxCYWNrPzogKCkgPT4gdm9pZFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKGVudHJpZXMpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFlbnRyaWVzWzBdLmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmlzaWJsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGVDYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaGlkZGVuQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuQ2FsbEJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICByb290TWFyZ2luOiBgJHttYXJnaW5Ub3B9cHggMHB4IDBweCAwcHhgLFxuICAgICAgICAgICAgdGhyZXNob2xkOiAwLjFcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgd2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZXIsIG9wdGlvbnMpO1xuXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoYWJvdmUpO1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5wdXNoKHsgZWw6IGFib3ZlLCBvYnNlcnZlciB9KTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBTZXJ2aWNlRGVza0hlYWRlclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBIaWRlU2VhcmNoOiBib29sZWFuO1xufVxuIiwiPGRpdiBpZD1cImhlYWRlckdyaWRcIiBzdHlsZT1cImdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDFweCwgMTUlKSA0OHB4IDMycHggMWZyIGF1dG8gMTIlOyBoZWlnaHQ6IDE0OHB4XCIgI2hlYWRlckdyaWQ+XG4gICAgPGRpdiBjbGFzcz1cImNvbXBhbnlMb2dvSG9sZGVyX2Fib3ZlU2VhcmNoXCIgI2Fib3ZlU2VhcmNoPjwvZGl2PlxuICAgIDxkaXYgaWQ9XCJzZWFyY2hIb2xkZXJcIiBzdHlsZT1cImdyaWQtcm93OiAyXCIgI3NlYXJjaEhvbGRlcj5cbiAgICAgICAgPGZkLWlucHV0LWdyb3VwXG4gICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJzZXR0aW5ncz8uSGlkZVNlYXJjaCA/ICdub25lJyA6IG51bGxcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1zZWFyY2hcIlxuICAgICAgICAgICAgY29udGVudERlbnNpdHk9XCJjb3p5XCJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICBnbHlwaD1cInNlYXJjaFwiXG4gICAgICAgICAgICBbZ2x5cGhBcmlhTGFiZWxdPVwiJ1NlYXJjaCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2gnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwib25TZWFyY2hTdWJtaXQoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1pbnB1dC1ncm91cD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBpZD1cImhlYWRlclNwYWNlSG9sZGVyXCIgI2hlYWRlclNwYWNlSG9sZGVyPlxuICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XG4gICAgICAgIDxkaXYgaWQ9XCJiZ0lubmVySG9sZGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZEltYWdlXCIgaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIHNyYz1cIi9hc3NldHMvYmFjay5qcGdcIiBsb2FkaW5nPVwibGF6eVwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VPdmVybGF5XCIgY2xhc3M9XCJvdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGlkPVwiY29udGVudEhvbGRlckFuZE5hdlwiIGZpcnN0PVwidHJ1ZVwiICNjb250ZW50QW5kTmF2PlxuICAgIDxkaXYgY2xhc3M9XCJhYm92ZUNvbnRlbnRcIiAjYWJvdmVDb250ZW50PjwvZGl2PlxuICAgIDxkaXYgaWQ9XCJjb250ZW50SG9sZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZcIiAjbmF2SG9sZGVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyVGFiczsgY29udGV4dDogeyAkaW1wbGljaXQ6IChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdl9zdXJyb2dhdGVcIiBzdHlsZT1cImhlaWdodDogMTBweFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1mZWVkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJHcm91cHM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiAoYXBwVGlsZUdyb3VwcyQgfCBhc3luYykhISB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFicyBsZXQtYXBwVGlsZUdyb3Vwcz5cbiAgICA8ZmQtdGFiLWxpc3RcbiAgICAgICAgW3NpemVdPVwidGFiU2l6ZVwiXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRhYlNpemUgPT09ICdzJyB8fCBhcHBUaWxlR3JvdXBzLmxlbmd0aCA+IDVcIlxuICAgICAgICBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdGVkVGFiQ2hhbmdlMygkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIEBmb3IgKGFwcFRpbGVHcm91cCBvZiBhcHBUaWxlR3JvdXBzOyB0cmFjayBhcHBUaWxlR3JvdXA7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxmZC10YWIgW2lkXT1cIicnICsgaVwiIFt0aXRsZV09XCJhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGl0bGVcIj4gPC9mZC10YWI+XG4gICAgICAgIH1cbiAgICA8L2ZkLXRhYi1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyR3JvdXBzIGxldC1hcHBUaWxlR3JvdXBzPlxuICAgIEBmb3IgKGFwcFRpbGVHcm91cCBvZiBhcHBUaWxlR3JvdXBzOyB0cmFjayBhcHBUaWxlR3JvdXA7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGJ0LXRpbGVzLXZpZXdlci1ncm91cFxuICAgICAgICBbY2xhc3NdPVwiZGV2aWNlU2l6ZSQgfCBhc3luY1wiXG4gICAgICAgIFthdHRyLmluZGV4XT1cImlcIlxuICAgICAgICBbYXBwVGlsZUdyb3VwXT1cImFwcFRpbGVHcm91cFwiXG4gICAgICAgIFtlZGl0XT1cImZhbHNlXCJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJ0cnVlXCJcbiAgICAgICAgW2lzQXBwVGlsZVN1Ykdyb3VwXT1cImZhbHNlXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgID48L2J0LXRpbGVzLXZpZXdlci1ncm91cD5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1156,11 +1156,11 @@ class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
1156
1156
  this.observerList.push({ el: above, observer });
1157
1157
  }
1158
1158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskHeaderComponent, deps: [{ token: i1$1.PortalService }, { token: i2$4.TilesService }, { token: i2$4.TilesViewerService }, { token: i0.Renderer2 }, { token: i1$3.ViewportScroller }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", inputs: { settings: "settings" }, providers: [TilesViewerService], viewQueries: [{ propertyName: "headerSpaceHolder", first: true, predicate: ["headerSpaceHolder"], descendants: true, static: true }, { propertyName: "headerGrid", first: true, predicate: ["headerGrid"], descendants: true, static: true }, { propertyName: "aboveSearch", first: true, predicate: ["aboveSearch"], descendants: true, static: true }, { propertyName: "searchHolder", first: true, predicate: ["searchHolder"], descendants: true, static: true }, { propertyName: "navHolder", first: true, predicate: ["navHolder"], descendants: true, static: true }, { propertyName: "aboveContent", first: true, predicate: ["aboveContent"], descendants: true, static: true }, { propertyName: "bgOuterHolder", first: true, predicate: ["bgOuterHolder"], descendants: true, static: true }, { propertyName: "contentAndNav", first: true, predicate: ["contentAndNav"], descendants: true, static: true }, { propertyName: "tilesViewerGroupElList", predicate: TilesViewerGroupComponent, descendants: true, read: ElementRef }, { propertyName: "tabPanelComponents", predicate: TabPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fd-input-group\r\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\r\n class=\"input-search\"\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <bt-tiles-viewer-group\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2$4.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i1$2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i1$2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i3.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", inputs: { settings: "settings" }, providers: [TilesViewerService], viewQueries: [{ propertyName: "headerSpaceHolder", first: true, predicate: ["headerSpaceHolder"], descendants: true, static: true }, { propertyName: "headerGrid", first: true, predicate: ["headerGrid"], descendants: true, static: true }, { propertyName: "aboveSearch", first: true, predicate: ["aboveSearch"], descendants: true, static: true }, { propertyName: "searchHolder", first: true, predicate: ["searchHolder"], descendants: true, static: true }, { propertyName: "navHolder", first: true, predicate: ["navHolder"], descendants: true, static: true }, { propertyName: "aboveContent", first: true, predicate: ["aboveContent"], descendants: true, static: true }, { propertyName: "bgOuterHolder", first: true, predicate: ["bgOuterHolder"], descendants: true, static: true }, { propertyName: "contentAndNav", first: true, predicate: ["contentAndNav"], descendants: true, static: true }, { propertyName: "tilesViewerGroupElList", predicate: TilesViewerGroupComponent, descendants: true, read: ElementRef }, { propertyName: "tabPanelComponents", predicate: TabPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\n <fd-input-group\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\n class=\"input-search\"\n contentDensity=\"cozy\"\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </div>\n</div>\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\n <div id=\"bgOuterHolder\" #bgOuterHolder>\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\n <div class=\"backgroundImage\" id=\"backgroundImage\">\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\n </div>\n </div>\n </div>\n</div>\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\n <div class=\"aboveContent\" #aboveContent></div>\n <div id=\"contentHolder\">\n <div class=\"nav\" #navHolder>\n <div class=\"nav-container\">\n <ng-container\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\n <div class=\"content-feed\">\n <ng-container\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n</div>\n<ng-template #renderTabs let-appTileGroups>\n <fd-tab-list\n [size]=\"tabSize\"\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\n >\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\n }\n </fd-tab-list>\n</ng-template>\n<ng-template #renderGroups let-appTileGroups>\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <bt-tiles-viewer-group\n [class]=\"deviceSize$ | async\"\n [attr.index]=\"i\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"false\"\n [stackContent]=\"true\"\n [isAppTileSubGroup]=\"false\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n ></bt-tiles-viewer-group>\n }\n</ng-template>\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2$4.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i1$2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i1$2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i3.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1160
1160
  }
1161
1161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskHeaderComponent, decorators: [{
1162
1162
  type: Component,
1163
- args: [{ selector: 'bdc-service-desk-header', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fd-input-group\r\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\r\n class=\"input-search\"\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <bt-tiles-viewer-group\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"] }]
1163
+ args: [{ selector: 'bdc-service-desk-header', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\n <fd-input-group\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\n class=\"input-search\"\n contentDensity=\"cozy\"\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </div>\n</div>\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\n <div id=\"bgOuterHolder\" #bgOuterHolder>\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\n <div class=\"backgroundImage\" id=\"backgroundImage\">\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\n </div>\n </div>\n </div>\n</div>\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\n <div class=\"aboveContent\" #aboveContent></div>\n <div id=\"contentHolder\">\n <div class=\"nav\" #navHolder>\n <div class=\"nav-container\">\n <ng-container\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\n <div class=\"content-feed\">\n <ng-container\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n</div>\n<ng-template #renderTabs let-appTileGroups>\n <fd-tab-list\n [size]=\"tabSize\"\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\n >\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\n }\n </fd-tab-list>\n</ng-template>\n<ng-template #renderGroups let-appTileGroups>\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\n <bt-tiles-viewer-group\n [class]=\"deviceSize$ | async\"\n [attr.index]=\"i\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"false\"\n [stackContent]=\"true\"\n [isAppTileSubGroup]=\"false\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n ></bt-tiles-viewer-group>\n }\n</ng-template>\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed!important;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bt-shellbar button{background-color:transparent}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"] }]
1164
1164
  }], ctorParameters: () => [{ type: i1$1.PortalService }, { type: i2$4.TilesService }, { type: i2$4.TilesViewerService }, { type: i0.Renderer2 }, { type: i1$3.ViewportScroller }, { type: i0.ChangeDetectorRef }], propDecorators: { headerSpaceHolder: [{
1165
1165
  type: ViewChild,
1166
1166
  args: ['headerSpaceHolder', { static: true }]