@softheon/armature 17.26.0 → 17.26.2
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.
- package/esm2022/lib/armature.module.mjs +8 -4
- package/esm2022/lib/core/components/app-template/app-template.component.mjs +6 -4
- package/esm2022/lib/header/components/header/header.component.mjs +8 -4
- package/esm2022/lib/header/components/sof-header/sof-header.component.mjs +1 -1
- package/esm2022/lib/header/header-api.mjs +2 -1
- package/esm2022/lib/header/header.module.mjs +11 -6
- package/esm2022/lib/header/models/header-external-links.mjs +2 -0
- package/esm2022/lib/header/models/header.settings.mjs +1 -1
- package/esm2022/lib/mfe/components/entity-base/entity-base.component.mjs +72 -0
- package/esm2022/lib/mfe/mfe.module.mjs +24 -0
- package/esm2022/lib/mfe/models/entity-config-base.mjs +2 -0
- package/esm2022/lib/mfe/models/entity-dto.mjs +2 -0
- package/esm2022/lib/mfe/services/entity-helper.service.mjs +113 -0
- package/esm2022/lib/navigation/components/b2b-nav/b2b-nav.component.mjs +202 -0
- package/esm2022/lib/navigation/models/nav.settings.mjs +1 -1
- package/esm2022/public-api.mjs +8 -1
- package/fesm2022/softheon-armature.mjs +482 -94
- package/fesm2022/softheon-armature.mjs.map +1 -1
- package/lib/armature.module.d.ts +2 -1
- package/lib/core/components/app-template/app-template.component.d.ts +1 -1
- package/lib/header/components/header/header.component.d.ts +4 -1
- package/lib/header/header-api.d.ts +1 -0
- package/lib/header/header.module.d.ts +2 -1
- package/lib/header/models/header-external-links.d.ts +13 -0
- package/lib/header/models/header.settings.d.ts +3 -0
- package/lib/mfe/components/entity-base/entity-base.component.d.ts +34 -0
- package/lib/mfe/mfe.module.d.ts +7 -0
- package/lib/mfe/models/entity-config-base.d.ts +5 -0
- package/lib/mfe/models/entity-dto.d.ts +9 -0
- package/lib/mfe/services/entity-helper.service.d.ts +60 -0
- package/lib/navigation/components/b2b-nav/b2b-nav.component.d.ts +91 -0
- package/lib/navigation/models/nav.settings.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +6 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Optional, Output, signal } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "angular-oauth2-oidc";
|
|
4
4
|
import * as i2 from "@ngx-translate/core";
|
|
@@ -13,6 +13,7 @@ import * as i10 from "@angular/material/toolbar";
|
|
|
13
13
|
import * as i11 from "@angular/material/menu";
|
|
14
14
|
import * as i12 from "@angular/material/button";
|
|
15
15
|
import * as i13 from "@angular/material/slide-toggle";
|
|
16
|
+
import * as i14 from "@angular/material/tooltip";
|
|
16
17
|
/** The Header Component */
|
|
17
18
|
export class ArmatureHeaderComponent {
|
|
18
19
|
/** Gets the non used language */
|
|
@@ -60,6 +61,8 @@ export class ArmatureHeaderComponent {
|
|
|
60
61
|
this.isLoggedIn = false;
|
|
61
62
|
/** The header language settings */
|
|
62
63
|
this.headerLanguageSettings = {};
|
|
64
|
+
/** The header external links */
|
|
65
|
+
this.externalLinks = signal([]);
|
|
63
66
|
this.mobileQuery = media.matchMedia('(max-width: 959px)');
|
|
64
67
|
this._mobileQueryListener = () => {
|
|
65
68
|
changeDetectorRef.detectChanges();
|
|
@@ -89,6 +92,7 @@ export class ArmatureHeaderComponent {
|
|
|
89
92
|
this.settings.darkThemeText = this.settings.darkThemeText || 'Dark Theme';
|
|
90
93
|
this.setHeaderThemeSettings();
|
|
91
94
|
this.headerLanguageSettings = this.settings.languageSettings;
|
|
95
|
+
this.externalLinks.set(this.settings.externalLinks || []);
|
|
92
96
|
// set up oauth only when configs and issuer are provided
|
|
93
97
|
if (this.authSettings && this.authSettings.issuer) {
|
|
94
98
|
this.authorizationService.initializeAuthSettings(this.authSettings);
|
|
@@ -138,11 +142,11 @@ export class ArmatureHeaderComponent {
|
|
|
138
142
|
this.themeSettings.borderBottomSize = this.themeSettings.borderBottomSize || '0px';
|
|
139
143
|
}
|
|
140
144
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureHeaderComponent, deps: [{ token: i1.OAuthService }, { token: i1.OAuthStorage }, { token: i2.TranslateService }, { token: i3.MediaMatcher }, { token: i0.ChangeDetectorRef }, { token: i4.AuthorizationService }, { token: i5.HybridSamlOauthService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: ArmatureHeaderComponent, selector: "sof-ar-header", inputs: { settings: "settings", themeSettings: "themeSettings", authSettings: "authSettings", currentLang: "currentLang" }, outputs: { setLanguage$: "setLanguage$", isLoggedInEE: "isLoggedInEE" }, ngImport: i0, template: "<ng-container *ngIf=\"displaySuperHeader\">\r\n <div class=\"sof-super-header\" [ngStyle]=\"{'background-color' : superHeaderColor}\">\r\n <ng-content select=\"[sof-ar-super-header]\"></ng-content>\r\n </div>\r\n</ng-container>\r\n<header>\r\n <mat-toolbar class=\"sof-ar-header\" [class.sof-ar-header-shadow]=\"headerDropShadow\"\r\n [ngStyle]=\"{'height.px': settings?.headerStyles?.height, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.headerStyles?.heightMobile || 64, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\">\r\n <div class=\"sof-ar-header--left\" [class.sof-ar-toggle-navigation]=\"(mobileQuery.matches && (armatureNavigation || armatureHeaderOverlay)) || settings?.createSpaceForNavToggle\">\r\n <!-- Logo Image -->\r\n <ng-container *ngIf=\"displayLogo\">\r\n <ng-container *ngIf=\"settings?.logoRouterLinkPath === 'internal'; else external\">\r\n <a [routerLink]=\"settings?.logoRouterLink\">\r\n <img class=\"sof-ar-header-logo\" [src]=\"logoUrl\" alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-container>\r\n <ng-template #external>\r\n <a [href]=\"settings?.logoRouterLink\"><img class=\"sof-ar-header-logo\" [src]=\"logoUrl\"\r\n alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <!-- Logo Text -->\r\n <ng-container *ngIf=\"displayLogoText\">\r\n <p class=\"sof-ar-header-logo-text\">{{headerLogoText}}</p>\r\n </ng-container>\r\n <!-- NG-Content Left -->\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--center\">\r\n <!-- NG-Content Center -->\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--right\" fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <!-- NG-Content Right -->\r\n <span fxFlex=\"auto 0 1\" [fxHide.lt-sm]=\"!armatureNavigation && armatureHeaderOverlay\">\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </span>\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"displayDropDownMenu\">\r\n <button id=\"sof-ar-header-btn-dropdown\" mat-icon-button [disableRipple]=\"true\"\r\n [matMenuTriggerFor]=\"sofArHeaderMenu\" [attr.aria-label]=\"dropDownAriaText | translate\">\r\n <span [style.color]=\"iconColor\">\r\n <i class=\"{{headerDropDownIcon}}\"></i>\r\n <span class=\"sr-only\">{{dropDownMenuSRText | translate}}</span>\r\n </span>\r\n </button>\r\n <mat-menu #sofArHeaderMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <!-- NG-Content Menu -->\r\n <ng-content select=\"[sof-ar-header-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <!-- Language button -->\r\n <div fxFlex=\"auto 0 1\"\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length > 2 && !mobileQuery.matches\">\r\n <button id=\"sof-ar-header-lang-dropdown\" mat-flat-button class=\"sof-flat-button\" color=\"primary\"\r\n [matMenuTriggerFor]=\"headerLanguageMenu\" [attr.aria-label]=\"headerLanguageSettings.buttonText | translate\">\r\n <span>\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{headerLanguageSettings.buttonText | translate}}\r\n </span>\r\n </button>\r\n <mat-menu #headerLanguageMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <button mat-menu-item *ngFor=\"let lang of headerLanguageSettings.languages\" (click)=\"setLanguage$.emit(lang)\"\r\n id=\"apply-lang-btn-{{lang}}\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n <div fxFlex=\"auto\">\r\n {{ lang | translate }}\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <i *ngIf=\"currentLang === lang\" class=\"fad fa-check selected-language-icon\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <div\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length === 2 && !mobileQuery.matches\">\r\n <button *ngIf=\"headerLanguageSettings.languages.length === 2\" id=\"sof-ar-header-lang-button\" mat-flat-button\r\n class=\"sof-flat-button\" color=\"primary\" (click)=\"setLanguage$.emit()\">\r\n <span fxLayoutAlign=\"center center\">\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{otherLangText | translate}}\r\n </span>\r\n </button>\r\n </div>\r\n <!-- Authorization button -->\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"settings?.displayAuthInfo\">\r\n <button *ngIf=\"!isLoggedIn;else loggedIn\" id=\"sof-ar-header-btn-auth\" mat-flat-button color=\"primary\" (click)=\"authorizeUser()\"\r\n [attr.aria-label]=\"authBtnText | translate\" class=\"sof-flat-button\">\r\n {{ authBtnText | translate }}\r\n </button>\r\n <ng-template #loggedIn>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <div fxFlex=\"auto 0 1\" fxHide.lt-md>\r\n <button [disabled]=\"settings?.makeUsernameUnclickable\" id=\"sof-ar-logged-in-btn-dropdown\" data-privacy=\"exclude\" [matMenuTriggerFor]=\"sofArLoginMenu\"\r\n mat-stroked-button style=\"padding-left:0px !important\"\r\n ngClass=\"left-radius-10 sof-stroked-button mobile-border\" color=\"primary\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"15px\">\r\n <div fxFlex=\"46px\" fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"absent-account-image\">\r\n <div fxFlex=\"100%\">\r\n {{ userName.charAt(0).toUpperCase() }}\r\n </div>\r\n </div>\r\n <div fxShow fxHide.lt-md fxFlex=\"auto\" class=\"signed-in-name\">\r\n {{ userName }}\r\n </div>\r\n </div>\r\n </button>\r\n <!-- Login menu -->\r\n <mat-menu #sofArLoginMenu=\"matMenu\" class=\"sof-ar-mat-menu\" id=\"loginMenu\">\r\n <a mat-menu-item href=\"{{manageUrl}}\" target=\"_blank\">\r\n {{ authSettings.myAccountText | translate }}\r\n </a>\r\n <div *ngIf=\"settings.displayDarkTheme\" mat-menu-item (click)=\"$event.stopPropagation()\" disabled>\r\n <mat-slide-toggle color=\"accent\" labelPosition=\"before\" [aria-label]=\"settings.darkThemeText\"\r\n [id]=\"'dark-theme-toggle-btn'\" (change)=\"toggleTheme($event)\">\r\n {{ settings.darkThemeText + '(coming soon!)' | translate }}\r\n <!-- TODO: determine if icon is liked <i class=\"fad fa-moon-cloud dark-theme-icon\"></i> -->\r\n </mat-slide-toggle>\r\n </div>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <div fxFlex=\"auto 0 1\">\r\n <button id=\"sof-ar-log-out-btn\" mat-flat-button class=\"sof-flat-icon-button\" color=\"primary\" size=\"medium\"\r\n (click)=\"authorizeUser()\" [attr.aria-label]=\"authBtnText | translate\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <i fxFlex=\"100%\" class=\"fas fa-sign-out-alt\"></i>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </mat-toolbar>\r\n</header>\r\n", styles: [":root{--primary-color-50-parts: #edf4ff;--primary-color-100-parts: #b9d4fc;--primary-color-200-parts: #8ab7fb;--primary-color-300-parts: #5b9af9;--primary-color-400-parts: #3784f7;--primary-color-500-parts: #146ef6;--primary-color-600-parts: #1266f5;--primary-color-700-parts: #0e5bf3;--primary-color-800-parts: #0b51f2;--primary-color-900-parts: #063fef;--primary-color-A50-parts: rgba(20, 110, 246, .04);--primary-color-A100-parts: rgba(20, 110, 246, .08);--primary-color-A200-parts: rgba(20, 110, 246, .16);--primary-color-A300-parts: rgba(20, 110, 246, .24);--primary-color-A400-parts: rgba(20, 110, 246, .32);--primary-color-A500-parts: rgba(20, 110, 246, .4);--primary-color-A600-parts: rgba(20, 110, 246, .48);--primary-color-A700-parts: rgba(20, 110, 246, .56);--primary-color-A800-parts: rgba(20, 110, 246, .64);--primary-color-A900-parts: rgba(20, 110, 246, .72);--primary-color-contrast-50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-500-parts: rgba(255, 255, 255, 1);--primary-color-contrast-600-parts: rgba(255, 255, 255, 1);--primary-color-contrast-700-parts: rgba(255, 255, 255, 1);--primary-color-contrast-800-parts: rgba(255, 255, 255, 1);--primary-color-contrast-900-parts: rgba(255, 255, 255, 1);--primary-color-contrast-A50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A500-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A600-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A700-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A800-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A900-parts: rgba(0, 0, 0, .87);--primary-color-50-parts-rgb: 237, 244, 255;--primary-color-100-parts-rgb: 185, 212, 252;--primary-color-200-parts-rgb: 138, 183, 251;--primary-color-300-parts-rgb: 91, 154, 249;--primary-color-400-parts-rgb: 55, 132, 247;--primary-color-500-parts-rgb: 20, 110, 246;--primary-color-600-parts-rgb: 18, 102, 245;--primary-color-700-parts-rgb: 14, 91, 243;--primary-color-800-parts-rgb: 11, 81, 242;--primary-color-900-parts-rgb: 6, 63, 239;--accent-color-50-parts: #e0f2f1;--accent-color-100-parts: #b2dfdb;--accent-color-200-parts: #80cbc4;--accent-color-300-parts: #4db6ac;--accent-color-400-parts: #26a69a;--accent-color-500-parts: #009688;--accent-color-600-parts: #00897b;--accent-color-700-parts: #00796b;--accent-color-800-parts: #00695c;--accent-color-900-parts: #004d40;--accent-color-A50-parts: rgba(0, 150, 136, .04);--accent-color-A100-parts: rgba(0, 150, 136, .08);--accent-color-A200-parts: rgba(0, 150, 136, .16);--accent-color-A300-parts: rgba(0, 150, 136, .24);--accent-color-A400-parts: rgba(0, 150, 136, .32);--accent-color-A500-parts: rgba(0, 150, 136, .4);--accent-color-A600-parts: rgba(0, 150, 136, .48);--accent-color-A700-parts: rgba(0, 150, 136, .56);--accent-color-A800-parts: rgba(0, 150, 136, .64);--accent-color-A900-parts: rgba(0, 150, 136, .72);--accent-color-contrast-50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-500-parts: rgba(255, 255, 255, 1);--accent-color-contrast-600-parts: rgba(255, 255, 255, 1);--accent-color-contrast-700-parts: rgba(255, 255, 255, 1);--accent-color-contrast-800-parts: rgba(255, 255, 255, 1);--accent-color-contrast-900-parts: rgba(255, 255, 255, 1);--accent-color-contrast-A50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A500-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A600-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A700-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A800-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A900-parts: rgba(0, 0, 0, .87);--accent-color-50-parts-rgb: 224, 242, 241;--accent-color-100-parts-rgb: 178, 223, 219;--accent-color-200-parts-rgb: 128, 203, 196;--accent-color-300-parts-rgb: 77, 182, 172;--accent-color-400-parts-rgb: 38, 166, 154;--accent-color-500-parts-rgb: 0, 150, 136;--accent-color-600-parts-rgb: 0, 137, 123;--accent-color-700-parts-rgb: 0, 121, 107;--accent-color-800-parts-rgb: 0, 105, 92;--accent-color-900-parts-rgb: 0, 77, 64;--warn-color-50-parts: #fceee3;--warn-color-100-parts: #f8d4b9;--warn-color-200-parts: #f4b78b;--warn-color-300-parts: #ef9a5d;--warn-color-400-parts: #eb843a;--warn-color-500-parts: #e86e17;--warn-color-600-parts: #e56614;--warn-color-700-parts: #e25b11;--warn-color-800-parts: #de510d;--warn-color-900-parts: #d83f07;--warn-color-A50-parts: rgba(232, 110, 23, .04);--warn-color-A100-parts: rgba(232, 110, 23, .08);--warn-color-A200-parts: rgba(232, 110, 23, .16);--warn-color-A300-parts: rgba(232, 110, 23, .24);--warn-color-A400-parts: rgba(232, 110, 23, .32);--warn-color-A500-parts: rgba(232, 110, 23, .4);--warn-color-A600-parts: rgba(232, 110, 23, .48);--warn-color-A700-parts: rgba(232, 110, 23, .56);--warn-color-A800-parts: rgba(232, 110, 23, .64);--warn-color-A900-parts: rgba(232, 110, 23, .72);--warn-color-contrast-50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-900-parts: rgba(255, 255, 255, 1);--warn-color-contrast-A50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A900-parts: rgba(0, 0, 0, .87);--warn-color-50-parts-rgb: 252, 238, 227;--warn-color-100-parts-rgb: 248, 212, 185;--warn-color-200-parts-rgb: 244, 183, 139;--warn-color-300-parts-rgb: 239, 154, 93;--warn-color-400-parts-rgb: 235, 132, 58;--warn-color-500-parts-rgb: 232, 110, 23;--warn-color-600-parts-rgb: 229, 102, 20;--warn-color-700-parts-rgb: 226, 91, 17;--warn-color-800-parts-rgb: 222, 81, 13;--warn-color-900-parts-rgb: 216, 63, 7;--info-color-50-parts: #edf4ff;--info-color-100-parts: #b9d4fc;--info-color-200-parts: #8ab7fb;--info-color-300-parts: #5b9af9;--info-color-400-parts: #3784f7;--info-color-500-parts: #146ef6;--info-color-600-parts: #1266f5;--info-color-700-parts: #0e5bf3;--info-color-800-parts: #0b51f2;--info-color-900-parts: #063fef;--info-color-A50-parts: rgba(20, 110, 246, .04);--info-color-A100-parts: rgba(20, 110, 246, .08);--info-color-A200-parts: rgba(20, 110, 246, .16);--info-color-A300-parts: rgba(20, 110, 246, .24);--info-color-A400-parts: rgba(20, 110, 246, .32);--info-color-A500-parts: rgba(20, 110, 246, .4);--info-color-A600-parts: rgba(20, 110, 246, .48);--info-color-A700-parts: rgba(20, 110, 246, .56);--info-color-A800-parts: rgba(20, 110, 246, .64);--info-color-A900-parts: rgba(20, 110, 246, .72);--info-color-contrast-50-parts: rgba(0, 0, 0, .87);--info-color-contrast-100-parts: rgba(0, 0, 0, .87);--info-color-contrast-200-parts: rgba(0, 0, 0, .87);--info-color-contrast-300-parts: rgba(0, 0, 0, .87);--info-color-contrast-400-parts: rgba(0, 0, 0, .87);--info-color-contrast-500-parts: rgba(255, 255, 255, 1);--info-color-contrast-600-parts: rgba(255, 255, 255, 1);--info-color-contrast-700-parts: rgba(255, 255, 255, 1);--info-color-contrast-800-parts: rgba(255, 255, 255, 1);--info-color-contrast-900-parts: rgba(255, 255, 255, 1);--info-color-contrast-A50-parts: rgba(0, 0, 0, .87);--info-color-contrast-A100-parts: rgba(0, 0, 0, .87);--info-color-contrast-A200-parts: rgba(0, 0, 0, .87);--info-color-contrast-A300-parts: rgba(0, 0, 0, .87);--info-color-contrast-A400-parts: rgba(0, 0, 0, .87);--info-color-contrast-A500-parts: rgba(0, 0, 0, .87);--info-color-contrast-A600-parts: rgba(0, 0, 0, .87);--info-color-contrast-A700-parts: rgba(0, 0, 0, .87);--info-color-contrast-A800-parts: rgba(0, 0, 0, .87);--info-color-contrast-A900-parts: rgba(0, 0, 0, .87);--info-color-50-parts-rgb: 237, 244, 255;--info-color-100-parts-rgb: 185, 212, 252;--info-color-200-parts-rgb: 138, 183, 251;--info-color-300-parts-rgb: 91, 154, 249;--info-color-400-parts-rgb: 55, 132, 247;--info-color-500-parts-rgb: 20, 110, 246;--info-color-600-parts-rgb: 18, 102, 245;--info-color-700-parts-rgb: 14, 91, 243;--info-color-800-parts-rgb: 11, 81, 242;--info-color-900-parts-rgb: 6, 63, 239;--success-color-50-parts: #e7f0e6;--success-color-100-parts: #c4dac1;--success-color-200-parts: #9cc198;--success-color-300-parts: #74a86e;--success-color-400-parts: #57954f;--success-color-500-parts: #398230;--success-color-600-parts: #337a2b;--success-color-700-parts: #2c6f24;--success-color-800-parts: #24651e;--success-color-900-parts: #175213;--success-color-A50-parts: rgba(57, 130, 48, .04);--success-color-A100-parts: rgba(57, 130, 48, .08);--success-color-A200-parts: rgba(57, 130, 48, .16);--success-color-A300-parts: rgba(57, 130, 48, .24);--success-color-A400-parts: rgba(57, 130, 48, .32);--success-color-A500-parts: rgba(57, 130, 48, .4);--success-color-A600-parts: rgba(57, 130, 48, .48);--success-color-A700-parts: rgba(57, 130, 48, .56);--success-color-A800-parts: rgba(57, 130, 48, .64);--success-color-A900-parts: rgba(57, 130, 48, .72);--success-color-contrast-50-parts: rgba(0, 0, 0, .87);--success-color-contrast-100-parts: rgba(0, 0, 0, .87);--success-color-contrast-200-parts: rgba(0, 0, 0, .87);--success-color-contrast-300-parts: rgba(0, 0, 0, .87);--success-color-contrast-400-parts: rgba(0, 0, 0, .87);--success-color-contrast-500-parts: rgba(255, 255, 255, 1);--success-color-contrast-600-parts: rgba(255, 255, 255, 1);--success-color-contrast-700-parts: rgba(255, 255, 255, 1);--success-color-contrast-800-parts: rgba(255, 255, 255, 1);--success-color-contrast-900-parts: rgba(255, 255, 255, 1);--success-color-contrast-A50-parts: rgba(0, 0, 0, .87);--success-color-contrast-A100-parts: rgba(0, 0, 0, .87);--success-color-contrast-A200-parts: rgba(0, 0, 0, .87);--success-color-contrast-A300-parts: rgba(0, 0, 0, .87);--success-color-contrast-A400-parts: rgba(0, 0, 0, .87);--success-color-contrast-A500-parts: rgba(0, 0, 0, .87);--success-color-contrast-A600-parts: rgba(0, 0, 0, .87);--success-color-contrast-A700-parts: rgba(0, 0, 0, .87);--success-color-contrast-A800-parts: rgba(0, 0, 0, .87);--success-color-contrast-A900-parts: rgba(0, 0, 0, .87);--success-color-50-parts-rgb: 231, 240, 230;--success-color-100-parts-rgb: 196, 218, 193;--success-color-200-parts-rgb: 156, 193, 152;--success-color-300-parts-rgb: 116, 168, 110;--success-color-400-parts-rgb: 87, 149, 79;--success-color-500-parts-rgb: 57, 130, 48;--success-color-600-parts-rgb: 51, 122, 43;--success-color-700-parts-rgb: 44, 111, 36;--success-color-800-parts-rgb: 36, 101, 30;--success-color-900-parts-rgb: 23, 82, 19;--error-color-50-parts: #fae5e4;--error-color-100-parts: #f3bdba;--error-color-200-parts: #eb928d;--error-color-300-parts: #e3665f;--error-color-400-parts: #dd453c;--error-color-500-parts: #d7241a;--error-color-600-parts: #d32017;--error-color-700-parts: #cd1b13;--error-color-800-parts: #c7160f;--error-color-900-parts: #be0d08;--error-color-A50-parts: rgba(215, 36, 26, .04);--error-color-A100-parts: rgba(215, 36, 26, .08);--error-color-A200-parts: rgba(215, 36, 26, .16);--error-color-A300-parts: rgba(215, 36, 26, .24);--error-color-A400-parts: rgba(215, 36, 26, .32);--error-color-A500-parts: rgba(215, 36, 26, .4);--error-color-A600-parts: rgba(215, 36, 26, .48);--error-color-A700-parts: rgba(215, 36, 26, .56);--error-color-A800-parts: rgba(215, 36, 26, .64);--error-color-A900-parts: rgba(215, 36, 26, .72);--error-color-contrast-50-parts: rgba(0, 0, 0, .87);--error-color-contrast-100-parts: rgba(0, 0, 0, .87);--error-color-contrast-200-parts: rgba(0, 0, 0, .87);--error-color-contrast-300-parts: rgba(0, 0, 0, .87);--error-color-contrast-400-parts: rgba(0, 0, 0, .87);--error-color-contrast-500-parts: rgba(255, 255, 255, 1);--error-color-contrast-600-parts: rgba(255, 255, 255, 1);--error-color-contrast-700-parts: rgba(255, 255, 255, 1);--error-color-contrast-800-parts: rgba(255, 255, 255, 1);--error-color-contrast-900-parts: rgba(255, 255, 255, 1);--error-color-contrast-A50-parts: rgba(0, 0, 0, .87);--error-color-contrast-A100-parts: rgba(0, 0, 0, .87);--error-color-contrast-A200-parts: rgba(0, 0, 0, .87);--error-color-contrast-A300-parts: rgba(0, 0, 0, .87);--error-color-contrast-A400-parts: rgba(0, 0, 0, .87);--error-color-contrast-A500-parts: rgba(0, 0, 0, .87);--error-color-contrast-A600-parts: rgba(0, 0, 0, .87);--error-color-contrast-A700-parts: rgba(0, 0, 0, .87);--error-color-contrast-A800-parts: rgba(0, 0, 0, .87);--error-color-contrast-A900-parts: rgba(0, 0, 0, .87);--error-color-50-parts-rgb: 250, 229, 228;--error-color-100-parts-rgb: 243, 189, 186;--error-color-200-parts-rgb: 235, 146, 141;--error-color-300-parts-rgb: 227, 102, 95;--error-color-400-parts-rgb: 221, 69, 60;--error-color-500-parts-rgb: 215, 36, 26;--error-color-600-parts-rgb: 211, 32, 23;--error-color-700-parts-rgb: 205, 27, 19;--error-color-800-parts-rgb: 199, 22, 15;--error-color-900-parts-rgb: 190, 13, 8;--neutral-color-50-parts: #e9e9e9;--neutral-color-100-parts: #dddddd;--neutral-color-200-parts: #cccccc;--neutral-color-300-parts: #b0b0b0;--neutral-color-400-parts: #909090;--neutral-color-500-parts: #515151;--neutral-color-600-parts: #424242;--neutral-color-700-parts: #333333;--neutral-color-800-parts: #212121;--neutral-color-900-parts: #141414;--neutral-color-A50-parts: rgba(81, 81, 81, .04);--neutral-color-A100-parts: rgba(81, 81, 81, .08);--neutral-color-A200-parts: rgba(81, 81, 81, .16);--neutral-color-A300-parts: rgba(81, 81, 81, .24);--neutral-color-A400-parts: rgba(81, 81, 81, .32);--neutral-color-A500-parts: rgba(81, 81, 81, .4);--neutral-color-A600-parts: rgba(81, 81, 81, .48);--neutral-color-A700-parts: rgba(81, 81, 81, .56);--neutral-color-A800-parts: rgba(81, 81, 81, .64);--neutral-color-A900-parts: rgba(81, 81, 81, .72);--neutral-color-contrast-50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-400-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-500-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-600-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-700-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-800-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-900-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-A50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A400-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A500-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A600-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A700-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A800-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A900-parts: rgba(0, 0, 0, .87);--neutral-color-50-parts-rgb: 233, 233, 233;--neutral-color-100-parts-rgb: 221, 221, 221;--neutral-color-200-parts-rgb: 204, 204, 204;--neutral-color-300-parts-rgb: 176, 176, 176;--neutral-color-400-parts-rgb: 144, 144, 144;--neutral-color-500-parts-rgb: 81, 81, 81;--neutral-color-600-parts-rgb: 66, 66, 66;--neutral-color-700-parts-rgb: 51, 51, 51;--neutral-color-800-parts-rgb: 33, 33, 33;--neutral-color-900-parts-rgb: 20, 20, 20}.sof-super-header{height:34px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 599px){.sof-super-header{justify-content:center;padding:0}}.sof-ar-header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.sof-ar-header.sof-ar-header-shadow{box-shadow:0 1px 4px #00000080}.sof-ar-header-logo-text{font-size:20px;display:inline-block}::ng-deep .sof-ar-header-icon,::ng-deep .sof-ar-header-menu-icon{font-size:24px}::ng-deep .sof-ar-header-menu-icon{padding-right:10px}::ng-deep .sof-ar-mat-menu{border-radius:2px!important}::ng-deep .sof-ar-mat-menu .mat-mdc-menu-content{padding-top:0!important;padding-bottom:0!important;min-width:150px}::ng-deep .sof-ar-header-menu-list.sof-ar-header-menu-border{border-bottom:1px solid rgba(0,0,0,.25)!important}::ng-deep .sof-ar-header-menu-list{display:flex!important;align-items:center}::ng-deep .sof-ar-header-button-text{font-weight:600;font-size:14px;padding-left:10px;padding-right:10px}.sof-ar-header-logo{max-width:100%;height:32px}@media only screen and (max-width: 599px){.sof-ar-header-logo{height:24px}}.sof-ar-header--left{align-items:center;display:flex}.sof-ar-header--left.sof-ar-toggle-navigation{margin-left:50px}.sof-ar-header--right{text-align:right}.sof-ar-header--center{text-align:center}.absent-account-image{border-right:2px solid var(--primary-color-500-parts)!important;border-radius:6px!important;background:var(--primary-color-500-parts)!important;color:#fff;font-weight:500!important;font-size:16px!important;height:46px!important;margin-left:-1px!important;margin-top:-1px!important}.signed-in-name{font-weight:500!important;font-size:16px!important;color:var(--primary-color-500-parts)!important}.left-radius-10{border-top-left-radius:11px!important;border-bottom-left-radius:11px!important}.language-globe{padding-right:8px;font-size:20px!important}.dark-theme-icon{font-size:20px!important}.selected-language-icon{color:var(--primary-color-500-parts)!important;font-size:20px!important;padding-right:10px!important}.hidden{display:none}@media screen and (max-width: 960px){.mobile-border{padding:0;border:0px;border-radius:11px!important}}\n"], dependencies: [{ kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i9.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: ArmatureHeaderComponent, selector: "sof-ar-header", inputs: { settings: "settings", themeSettings: "themeSettings", authSettings: "authSettings", currentLang: "currentLang" }, outputs: { setLanguage$: "setLanguage$", isLoggedInEE: "isLoggedInEE" }, ngImport: i0, template: "<ng-container *ngIf=\"displaySuperHeader\">\r\n <div class=\"sof-super-header\" [ngStyle]=\"{'background-color' : superHeaderColor}\">\r\n <ng-content select=\"[sof-ar-super-header]\"></ng-content>\r\n </div>\r\n</ng-container>\r\n<header>\r\n <mat-toolbar class=\"sof-ar-header\" [class.sof-ar-header-shadow]=\"headerDropShadow\"\r\n [ngStyle]=\"{'height.px': settings?.headerStyles?.height, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.headerStyles?.heightMobile || 64, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\">\r\n <div class=\"sof-ar-header--left\"\r\n [class.sof-ar-toggle-navigation]=\"(mobileQuery.matches && (armatureNavigation || armatureHeaderOverlay)) || settings?.createSpaceForNavToggle\">\r\n <!-- external links -->\r\n @if(externalLinks().length) {\r\n <button class=\"external-link-button\" mat-button [matMenuTriggerFor]=\"menu\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <i class=\"ph ph-dots-nine external-link-button\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <div fxLayout=\"row wrap\" class=\"external-link-container\">\r\n @for(link of externalLinks(); track link.translateKey) {\r\n <a mat-menu-item fxLayout=\"column\" fxFlex=\"auto\" fxLayoutAlign=\"center start\" href=\"{{link.uri}}\" target=\"_blank\" [matTooltip]=\"(link.iconAltTextTranslateKey | translate)\">\r\n @if(!!link.icon || !!link.logo) {\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n @if(!!link.icon) {\r\n <i class=\"{{link.icon}} external-link-icon\"></i>\r\n }\r\n @else if(!!link.logo){\r\n <img src=\"{{link.logo}}\" alt=\"{{link.iconAltTextTranslateKey | translate}}\" width=\"32px\" height=\"32px\" />\r\n }\r\n </div>\r\n }\r\n @if(!!link.translateKey) {\r\n <div fxFlex=\"auto\" class=\"link-text-container\">\r\n {{link.translateKey | translate}}\r\n </div>\r\n }\r\n </a>\r\n }\r\n </div>\r\n </mat-menu>\r\n }\r\n <!-- Logo Image -->\r\n <ng-container *ngIf=\"displayLogo\">\r\n <ng-container *ngIf=\"settings?.logoRouterLinkPath === 'internal'; else external\">\r\n <a [routerLink]=\"settings?.logoRouterLink\">\r\n <img class=\"sof-ar-header-logo\" [src]=\"logoUrl\" alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-container>\r\n <ng-template #external>\r\n <a [href]=\"settings?.logoRouterLink\"><img class=\"sof-ar-header-logo\" [src]=\"logoUrl\"\r\n alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <!-- Logo Text -->\r\n <ng-container *ngIf=\"displayLogoText\">\r\n <p class=\"sof-ar-header-logo-text\">{{headerLogoText}}</p>\r\n </ng-container>\r\n <!-- NG-Content Left -->\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--center\">\r\n <!-- NG-Content Center -->\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--right\" fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <!-- NG-Content Right -->\r\n <span fxFlex=\"auto 0 1\" [fxHide.lt-sm]=\"!armatureNavigation && armatureHeaderOverlay\">\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </span>\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"displayDropDownMenu\">\r\n <button id=\"sof-ar-header-btn-dropdown\" mat-icon-button [disableRipple]=\"true\"\r\n [matMenuTriggerFor]=\"sofArHeaderMenu\" [attr.aria-label]=\"dropDownAriaText | translate\">\r\n <span [style.color]=\"iconColor\">\r\n <i class=\"{{headerDropDownIcon}}\"></i>\r\n <span class=\"sr-only\">{{dropDownMenuSRText | translate}}</span>\r\n </span>\r\n </button>\r\n <mat-menu #sofArHeaderMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <!-- NG-Content Menu -->\r\n <ng-content select=\"[sof-ar-header-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <!-- Language button -->\r\n <div fxFlex=\"auto 0 1\"\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length > 2 && !mobileQuery.matches\">\r\n <button id=\"sof-ar-header-lang-dropdown\" mat-flat-button class=\"sof-flat-button\" color=\"primary\"\r\n [matMenuTriggerFor]=\"headerLanguageMenu\" [attr.aria-label]=\"headerLanguageSettings.buttonText | translate\">\r\n <span>\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{headerLanguageSettings.buttonText | translate}}\r\n </span>\r\n </button>\r\n <mat-menu #headerLanguageMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <button mat-menu-item *ngFor=\"let lang of headerLanguageSettings.languages\" (click)=\"setLanguage$.emit(lang)\"\r\n id=\"apply-lang-btn-{{lang}}\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n <div fxFlex=\"auto\">\r\n {{ lang | translate }}\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <i *ngIf=\"currentLang === lang\" class=\"fad fa-check selected-language-icon\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <div\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length === 2 && !mobileQuery.matches\">\r\n <button *ngIf=\"headerLanguageSettings.languages.length === 2\" id=\"sof-ar-header-lang-button\" mat-flat-button\r\n class=\"sof-flat-button\" color=\"primary\" (click)=\"setLanguage$.emit()\">\r\n <span fxLayoutAlign=\"center center\">\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{otherLangText | translate}}\r\n </span>\r\n </button>\r\n </div>\r\n <!-- Authorization button -->\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"settings?.displayAuthInfo\">\r\n <button *ngIf=\"!isLoggedIn;else loggedIn\" id=\"sof-ar-header-btn-auth\" mat-flat-button color=\"primary\"\r\n (click)=\"authorizeUser()\" [attr.aria-label]=\"authBtnText | translate\" class=\"sof-flat-button\">\r\n {{ authBtnText | translate }}\r\n </button>\r\n <ng-template #loggedIn>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <div fxFlex=\"auto 0 1\" fxHide.lt-md>\r\n <button [disabled]=\"settings?.makeUsernameUnclickable\" id=\"sof-ar-logged-in-btn-dropdown\"\r\n data-privacy=\"exclude\" [matMenuTriggerFor]=\"sofArLoginMenu\" mat-stroked-button\r\n style=\"padding-left:0px !important\" ngClass=\"left-radius-10 sof-stroked-button mobile-border\"\r\n color=\"primary\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"15px\">\r\n <div fxFlex=\"46px\" fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"absent-account-image\">\r\n <div fxFlex=\"100%\">\r\n {{ userName.charAt(0).toUpperCase() }}\r\n </div>\r\n </div>\r\n <div fxShow fxHide.lt-md fxFlex=\"auto\" class=\"signed-in-name\">\r\n {{ userName }}\r\n </div>\r\n </div>\r\n </button>\r\n <!-- Login menu -->\r\n <mat-menu #sofArLoginMenu=\"matMenu\" class=\"sof-ar-mat-menu\" id=\"loginMenu\">\r\n <a mat-menu-item href=\"{{manageUrl}}\" target=\"_blank\">\r\n {{ authSettings.myAccountText | translate }}\r\n </a>\r\n <div *ngIf=\"settings.displayDarkTheme\" mat-menu-item (click)=\"$event.stopPropagation()\" disabled>\r\n <mat-slide-toggle color=\"accent\" labelPosition=\"before\" [aria-label]=\"settings.darkThemeText\"\r\n [id]=\"'dark-theme-toggle-btn'\" (change)=\"toggleTheme($event)\">\r\n {{ settings.darkThemeText + '(coming soon!)' | translate }}\r\n <!-- TODO: determine if icon is liked <i class=\"fad fa-moon-cloud dark-theme-icon\"></i> -->\r\n </mat-slide-toggle>\r\n </div>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <div fxFlex=\"auto 0 1\">\r\n <button id=\"sof-ar-log-out-btn\" mat-flat-button class=\"sof-flat-icon-button\" color=\"primary\" size=\"medium\"\r\n (click)=\"authorizeUser()\" [attr.aria-label]=\"authBtnText | translate\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <i fxFlex=\"100%\" class=\"fas fa-sign-out-alt\"></i>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </mat-toolbar>\r\n</header>", styles: [":root{--primary-color-50-parts: #edf4ff;--primary-color-100-parts: #b9d4fc;--primary-color-200-parts: #8ab7fb;--primary-color-300-parts: #5b9af9;--primary-color-400-parts: #3784f7;--primary-color-500-parts: #146ef6;--primary-color-600-parts: #1266f5;--primary-color-700-parts: #0e5bf3;--primary-color-800-parts: #0b51f2;--primary-color-900-parts: #063fef;--primary-color-A50-parts: rgba(20, 110, 246, .04);--primary-color-A100-parts: rgba(20, 110, 246, .08);--primary-color-A200-parts: rgba(20, 110, 246, .16);--primary-color-A300-parts: rgba(20, 110, 246, .24);--primary-color-A400-parts: rgba(20, 110, 246, .32);--primary-color-A500-parts: rgba(20, 110, 246, .4);--primary-color-A600-parts: rgba(20, 110, 246, .48);--primary-color-A700-parts: rgba(20, 110, 246, .56);--primary-color-A800-parts: rgba(20, 110, 246, .64);--primary-color-A900-parts: rgba(20, 110, 246, .72);--primary-color-contrast-50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-500-parts: rgba(255, 255, 255, 1);--primary-color-contrast-600-parts: rgba(255, 255, 255, 1);--primary-color-contrast-700-parts: rgba(255, 255, 255, 1);--primary-color-contrast-800-parts: rgba(255, 255, 255, 1);--primary-color-contrast-900-parts: rgba(255, 255, 255, 1);--primary-color-contrast-A50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A500-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A600-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A700-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A800-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A900-parts: rgba(0, 0, 0, .87);--primary-color-50-parts-rgb: 237, 244, 255;--primary-color-100-parts-rgb: 185, 212, 252;--primary-color-200-parts-rgb: 138, 183, 251;--primary-color-300-parts-rgb: 91, 154, 249;--primary-color-400-parts-rgb: 55, 132, 247;--primary-color-500-parts-rgb: 20, 110, 246;--primary-color-600-parts-rgb: 18, 102, 245;--primary-color-700-parts-rgb: 14, 91, 243;--primary-color-800-parts-rgb: 11, 81, 242;--primary-color-900-parts-rgb: 6, 63, 239;--accent-color-50-parts: #e0f2f1;--accent-color-100-parts: #b2dfdb;--accent-color-200-parts: #80cbc4;--accent-color-300-parts: #4db6ac;--accent-color-400-parts: #26a69a;--accent-color-500-parts: #009688;--accent-color-600-parts: #00897b;--accent-color-700-parts: #00796b;--accent-color-800-parts: #00695c;--accent-color-900-parts: #004d40;--accent-color-A50-parts: rgba(0, 150, 136, .04);--accent-color-A100-parts: rgba(0, 150, 136, .08);--accent-color-A200-parts: rgba(0, 150, 136, .16);--accent-color-A300-parts: rgba(0, 150, 136, .24);--accent-color-A400-parts: rgba(0, 150, 136, .32);--accent-color-A500-parts: rgba(0, 150, 136, .4);--accent-color-A600-parts: rgba(0, 150, 136, .48);--accent-color-A700-parts: rgba(0, 150, 136, .56);--accent-color-A800-parts: rgba(0, 150, 136, .64);--accent-color-A900-parts: rgba(0, 150, 136, .72);--accent-color-contrast-50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-500-parts: rgba(255, 255, 255, 1);--accent-color-contrast-600-parts: rgba(255, 255, 255, 1);--accent-color-contrast-700-parts: rgba(255, 255, 255, 1);--accent-color-contrast-800-parts: rgba(255, 255, 255, 1);--accent-color-contrast-900-parts: rgba(255, 255, 255, 1);--accent-color-contrast-A50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A500-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A600-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A700-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A800-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A900-parts: rgba(0, 0, 0, .87);--accent-color-50-parts-rgb: 224, 242, 241;--accent-color-100-parts-rgb: 178, 223, 219;--accent-color-200-parts-rgb: 128, 203, 196;--accent-color-300-parts-rgb: 77, 182, 172;--accent-color-400-parts-rgb: 38, 166, 154;--accent-color-500-parts-rgb: 0, 150, 136;--accent-color-600-parts-rgb: 0, 137, 123;--accent-color-700-parts-rgb: 0, 121, 107;--accent-color-800-parts-rgb: 0, 105, 92;--accent-color-900-parts-rgb: 0, 77, 64;--warn-color-50-parts: #fceee3;--warn-color-100-parts: #f8d4b9;--warn-color-200-parts: #f4b78b;--warn-color-300-parts: #ef9a5d;--warn-color-400-parts: #eb843a;--warn-color-500-parts: #e86e17;--warn-color-600-parts: #e56614;--warn-color-700-parts: #e25b11;--warn-color-800-parts: #de510d;--warn-color-900-parts: #d83f07;--warn-color-A50-parts: rgba(232, 110, 23, .04);--warn-color-A100-parts: rgba(232, 110, 23, .08);--warn-color-A200-parts: rgba(232, 110, 23, .16);--warn-color-A300-parts: rgba(232, 110, 23, .24);--warn-color-A400-parts: rgba(232, 110, 23, .32);--warn-color-A500-parts: rgba(232, 110, 23, .4);--warn-color-A600-parts: rgba(232, 110, 23, .48);--warn-color-A700-parts: rgba(232, 110, 23, .56);--warn-color-A800-parts: rgba(232, 110, 23, .64);--warn-color-A900-parts: rgba(232, 110, 23, .72);--warn-color-contrast-50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-900-parts: rgba(255, 255, 255, 1);--warn-color-contrast-A50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A900-parts: rgba(0, 0, 0, .87);--warn-color-50-parts-rgb: 252, 238, 227;--warn-color-100-parts-rgb: 248, 212, 185;--warn-color-200-parts-rgb: 244, 183, 139;--warn-color-300-parts-rgb: 239, 154, 93;--warn-color-400-parts-rgb: 235, 132, 58;--warn-color-500-parts-rgb: 232, 110, 23;--warn-color-600-parts-rgb: 229, 102, 20;--warn-color-700-parts-rgb: 226, 91, 17;--warn-color-800-parts-rgb: 222, 81, 13;--warn-color-900-parts-rgb: 216, 63, 7;--info-color-50-parts: #edf4ff;--info-color-100-parts: #b9d4fc;--info-color-200-parts: #8ab7fb;--info-color-300-parts: #5b9af9;--info-color-400-parts: #3784f7;--info-color-500-parts: #146ef6;--info-color-600-parts: #1266f5;--info-color-700-parts: #0e5bf3;--info-color-800-parts: #0b51f2;--info-color-900-parts: #063fef;--info-color-A50-parts: rgba(20, 110, 246, .04);--info-color-A100-parts: rgba(20, 110, 246, .08);--info-color-A200-parts: rgba(20, 110, 246, .16);--info-color-A300-parts: rgba(20, 110, 246, .24);--info-color-A400-parts: rgba(20, 110, 246, .32);--info-color-A500-parts: rgba(20, 110, 246, .4);--info-color-A600-parts: rgba(20, 110, 246, .48);--info-color-A700-parts: rgba(20, 110, 246, .56);--info-color-A800-parts: rgba(20, 110, 246, .64);--info-color-A900-parts: rgba(20, 110, 246, .72);--info-color-contrast-50-parts: rgba(0, 0, 0, .87);--info-color-contrast-100-parts: rgba(0, 0, 0, .87);--info-color-contrast-200-parts: rgba(0, 0, 0, .87);--info-color-contrast-300-parts: rgba(0, 0, 0, .87);--info-color-contrast-400-parts: rgba(0, 0, 0, .87);--info-color-contrast-500-parts: rgba(255, 255, 255, 1);--info-color-contrast-600-parts: rgba(255, 255, 255, 1);--info-color-contrast-700-parts: rgba(255, 255, 255, 1);--info-color-contrast-800-parts: rgba(255, 255, 255, 1);--info-color-contrast-900-parts: rgba(255, 255, 255, 1);--info-color-contrast-A50-parts: rgba(0, 0, 0, .87);--info-color-contrast-A100-parts: rgba(0, 0, 0, .87);--info-color-contrast-A200-parts: rgba(0, 0, 0, .87);--info-color-contrast-A300-parts: rgba(0, 0, 0, .87);--info-color-contrast-A400-parts: rgba(0, 0, 0, .87);--info-color-contrast-A500-parts: rgba(0, 0, 0, .87);--info-color-contrast-A600-parts: rgba(0, 0, 0, .87);--info-color-contrast-A700-parts: rgba(0, 0, 0, .87);--info-color-contrast-A800-parts: rgba(0, 0, 0, .87);--info-color-contrast-A900-parts: rgba(0, 0, 0, .87);--info-color-50-parts-rgb: 237, 244, 255;--info-color-100-parts-rgb: 185, 212, 252;--info-color-200-parts-rgb: 138, 183, 251;--info-color-300-parts-rgb: 91, 154, 249;--info-color-400-parts-rgb: 55, 132, 247;--info-color-500-parts-rgb: 20, 110, 246;--info-color-600-parts-rgb: 18, 102, 245;--info-color-700-parts-rgb: 14, 91, 243;--info-color-800-parts-rgb: 11, 81, 242;--info-color-900-parts-rgb: 6, 63, 239;--success-color-50-parts: #e7f0e6;--success-color-100-parts: #c4dac1;--success-color-200-parts: #9cc198;--success-color-300-parts: #74a86e;--success-color-400-parts: #57954f;--success-color-500-parts: #398230;--success-color-600-parts: #337a2b;--success-color-700-parts: #2c6f24;--success-color-800-parts: #24651e;--success-color-900-parts: #175213;--success-color-A50-parts: rgba(57, 130, 48, .04);--success-color-A100-parts: rgba(57, 130, 48, .08);--success-color-A200-parts: rgba(57, 130, 48, .16);--success-color-A300-parts: rgba(57, 130, 48, .24);--success-color-A400-parts: rgba(57, 130, 48, .32);--success-color-A500-parts: rgba(57, 130, 48, .4);--success-color-A600-parts: rgba(57, 130, 48, .48);--success-color-A700-parts: rgba(57, 130, 48, .56);--success-color-A800-parts: rgba(57, 130, 48, .64);--success-color-A900-parts: rgba(57, 130, 48, .72);--success-color-contrast-50-parts: rgba(0, 0, 0, .87);--success-color-contrast-100-parts: rgba(0, 0, 0, .87);--success-color-contrast-200-parts: rgba(0, 0, 0, .87);--success-color-contrast-300-parts: rgba(0, 0, 0, .87);--success-color-contrast-400-parts: rgba(0, 0, 0, .87);--success-color-contrast-500-parts: rgba(255, 255, 255, 1);--success-color-contrast-600-parts: rgba(255, 255, 255, 1);--success-color-contrast-700-parts: rgba(255, 255, 255, 1);--success-color-contrast-800-parts: rgba(255, 255, 255, 1);--success-color-contrast-900-parts: rgba(255, 255, 255, 1);--success-color-contrast-A50-parts: rgba(0, 0, 0, .87);--success-color-contrast-A100-parts: rgba(0, 0, 0, .87);--success-color-contrast-A200-parts: rgba(0, 0, 0, .87);--success-color-contrast-A300-parts: rgba(0, 0, 0, .87);--success-color-contrast-A400-parts: rgba(0, 0, 0, .87);--success-color-contrast-A500-parts: rgba(0, 0, 0, .87);--success-color-contrast-A600-parts: rgba(0, 0, 0, .87);--success-color-contrast-A700-parts: rgba(0, 0, 0, .87);--success-color-contrast-A800-parts: rgba(0, 0, 0, .87);--success-color-contrast-A900-parts: rgba(0, 0, 0, .87);--success-color-50-parts-rgb: 231, 240, 230;--success-color-100-parts-rgb: 196, 218, 193;--success-color-200-parts-rgb: 156, 193, 152;--success-color-300-parts-rgb: 116, 168, 110;--success-color-400-parts-rgb: 87, 149, 79;--success-color-500-parts-rgb: 57, 130, 48;--success-color-600-parts-rgb: 51, 122, 43;--success-color-700-parts-rgb: 44, 111, 36;--success-color-800-parts-rgb: 36, 101, 30;--success-color-900-parts-rgb: 23, 82, 19;--error-color-50-parts: #fae5e4;--error-color-100-parts: #f3bdba;--error-color-200-parts: #eb928d;--error-color-300-parts: #e3665f;--error-color-400-parts: #dd453c;--error-color-500-parts: #d7241a;--error-color-600-parts: #d32017;--error-color-700-parts: #cd1b13;--error-color-800-parts: #c7160f;--error-color-900-parts: #be0d08;--error-color-A50-parts: rgba(215, 36, 26, .04);--error-color-A100-parts: rgba(215, 36, 26, .08);--error-color-A200-parts: rgba(215, 36, 26, .16);--error-color-A300-parts: rgba(215, 36, 26, .24);--error-color-A400-parts: rgba(215, 36, 26, .32);--error-color-A500-parts: rgba(215, 36, 26, .4);--error-color-A600-parts: rgba(215, 36, 26, .48);--error-color-A700-parts: rgba(215, 36, 26, .56);--error-color-A800-parts: rgba(215, 36, 26, .64);--error-color-A900-parts: rgba(215, 36, 26, .72);--error-color-contrast-50-parts: rgba(0, 0, 0, .87);--error-color-contrast-100-parts: rgba(0, 0, 0, .87);--error-color-contrast-200-parts: rgba(0, 0, 0, .87);--error-color-contrast-300-parts: rgba(0, 0, 0, .87);--error-color-contrast-400-parts: rgba(0, 0, 0, .87);--error-color-contrast-500-parts: rgba(255, 255, 255, 1);--error-color-contrast-600-parts: rgba(255, 255, 255, 1);--error-color-contrast-700-parts: rgba(255, 255, 255, 1);--error-color-contrast-800-parts: rgba(255, 255, 255, 1);--error-color-contrast-900-parts: rgba(255, 255, 255, 1);--error-color-contrast-A50-parts: rgba(0, 0, 0, .87);--error-color-contrast-A100-parts: rgba(0, 0, 0, .87);--error-color-contrast-A200-parts: rgba(0, 0, 0, .87);--error-color-contrast-A300-parts: rgba(0, 0, 0, .87);--error-color-contrast-A400-parts: rgba(0, 0, 0, .87);--error-color-contrast-A500-parts: rgba(0, 0, 0, .87);--error-color-contrast-A600-parts: rgba(0, 0, 0, .87);--error-color-contrast-A700-parts: rgba(0, 0, 0, .87);--error-color-contrast-A800-parts: rgba(0, 0, 0, .87);--error-color-contrast-A900-parts: rgba(0, 0, 0, .87);--error-color-50-parts-rgb: 250, 229, 228;--error-color-100-parts-rgb: 243, 189, 186;--error-color-200-parts-rgb: 235, 146, 141;--error-color-300-parts-rgb: 227, 102, 95;--error-color-400-parts-rgb: 221, 69, 60;--error-color-500-parts-rgb: 215, 36, 26;--error-color-600-parts-rgb: 211, 32, 23;--error-color-700-parts-rgb: 205, 27, 19;--error-color-800-parts-rgb: 199, 22, 15;--error-color-900-parts-rgb: 190, 13, 8;--neutral-color-50-parts: #e9e9e9;--neutral-color-100-parts: #dddddd;--neutral-color-200-parts: #cccccc;--neutral-color-300-parts: #b0b0b0;--neutral-color-400-parts: #909090;--neutral-color-500-parts: #515151;--neutral-color-600-parts: #424242;--neutral-color-700-parts: #333333;--neutral-color-800-parts: #212121;--neutral-color-900-parts: #141414;--neutral-color-A50-parts: rgba(81, 81, 81, .04);--neutral-color-A100-parts: rgba(81, 81, 81, .08);--neutral-color-A200-parts: rgba(81, 81, 81, .16);--neutral-color-A300-parts: rgba(81, 81, 81, .24);--neutral-color-A400-parts: rgba(81, 81, 81, .32);--neutral-color-A500-parts: rgba(81, 81, 81, .4);--neutral-color-A600-parts: rgba(81, 81, 81, .48);--neutral-color-A700-parts: rgba(81, 81, 81, .56);--neutral-color-A800-parts: rgba(81, 81, 81, .64);--neutral-color-A900-parts: rgba(81, 81, 81, .72);--neutral-color-contrast-50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-400-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-500-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-600-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-700-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-800-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-900-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-A50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A400-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A500-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A600-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A700-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A800-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A900-parts: rgba(0, 0, 0, .87);--neutral-color-50-parts-rgb: 233, 233, 233;--neutral-color-100-parts-rgb: 221, 221, 221;--neutral-color-200-parts-rgb: 204, 204, 204;--neutral-color-300-parts-rgb: 176, 176, 176;--neutral-color-400-parts-rgb: 144, 144, 144;--neutral-color-500-parts-rgb: 81, 81, 81;--neutral-color-600-parts-rgb: 66, 66, 66;--neutral-color-700-parts-rgb: 51, 51, 51;--neutral-color-800-parts-rgb: 33, 33, 33;--neutral-color-900-parts-rgb: 20, 20, 20}.sof-super-header{height:34px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 599px){.sof-super-header{justify-content:center;padding:0}}.external-link-button{margin-left:-7px;min-width:44px;width:44px}.external-link-container{width:250px}.link-text-container{margin-left:8px}.external-link-button{font-size:32px}.external-link-icon{font-size:26px}.sof-ar-header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.sof-ar-header.sof-ar-header-shadow{box-shadow:0 1px 4px #00000080}.sof-ar-header-logo-text{font-size:20px;display:inline-block}::ng-deep .sof-ar-header-icon,::ng-deep .sof-ar-header-menu-icon{font-size:24px}::ng-deep .sof-ar-header-menu-icon{padding-right:10px}::ng-deep .sof-ar-mat-menu{border-radius:2px!important}::ng-deep .sof-ar-mat-menu .mat-mdc-menu-content{padding-top:0!important;padding-bottom:0!important;min-width:150px}::ng-deep .sof-ar-header-menu-list.sof-ar-header-menu-border{border-bottom:1px solid rgba(0,0,0,.25)!important}::ng-deep .sof-ar-header-menu-list{display:flex!important;align-items:center}::ng-deep .sof-ar-header-button-text{font-weight:600;font-size:14px;padding-left:10px;padding-right:10px}.sof-ar-header-logo{max-width:100%;height:32px}@media only screen and (max-width: 599px){.sof-ar-header-logo{height:24px}}.sof-ar-header--left{align-items:center;display:flex}.sof-ar-header--left.sof-ar-toggle-navigation{margin-left:50px}.sof-ar-header--right{text-align:right}.sof-ar-header--center{text-align:center}.absent-account-image{border-right:2px solid var(--primary-color-500-parts)!important;border-radius:6px!important;background:var(--primary-color-500-parts)!important;color:#fff;font-weight:500!important;font-size:16px!important;height:46px!important;margin-left:-1px!important;margin-top:-1px!important}.signed-in-name{font-weight:500!important;font-size:16px!important;color:var(--primary-color-500-parts)!important}.left-radius-10{border-top-left-radius:11px!important;border-bottom-left-radius:11px!important}.language-globe{padding-right:8px;font-size:20px!important}.dark-theme-icon{font-size:20px!important}.selected-language-icon{color:var(--primary-color-500-parts)!important;font-size:20px!important;padding-right:10px!important}.hidden{display:none}@media screen and (max-width: 960px){.mobile-border{padding:0;border:0px;border-radius:11px!important}}\n"], dependencies: [{ kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i9.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i14.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
142
146
|
}
|
|
143
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureHeaderComponent, decorators: [{
|
|
144
148
|
type: Component,
|
|
145
|
-
args: [{ selector: 'sof-ar-header', template: "<ng-container *ngIf=\"displaySuperHeader\">\r\n <div class=\"sof-super-header\" [ngStyle]=\"{'background-color' : superHeaderColor}\">\r\n <ng-content select=\"[sof-ar-super-header]\"></ng-content>\r\n </div>\r\n</ng-container>\r\n<header>\r\n <mat-toolbar class=\"sof-ar-header\" [class.sof-ar-header-shadow]=\"headerDropShadow\"\r\n [ngStyle]=\"{'height.px': settings?.headerStyles?.height, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.headerStyles?.heightMobile || 64, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\">\r\n <div class=\"sof-ar-header--left\" [class.sof-ar-toggle-navigation]=\"(mobileQuery.matches && (armatureNavigation || armatureHeaderOverlay)) || settings?.createSpaceForNavToggle\">\r\n <!-- Logo Image -->\r\n <ng-container *ngIf=\"displayLogo\">\r\n <ng-container *ngIf=\"settings?.logoRouterLinkPath === 'internal'; else external\">\r\n <a [routerLink]=\"settings?.logoRouterLink\">\r\n <img class=\"sof-ar-header-logo\" [src]=\"logoUrl\" alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-container>\r\n <ng-template #external>\r\n <a [href]=\"settings?.logoRouterLink\"><img class=\"sof-ar-header-logo\" [src]=\"logoUrl\"\r\n alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <!-- Logo Text -->\r\n <ng-container *ngIf=\"displayLogoText\">\r\n <p class=\"sof-ar-header-logo-text\">{{headerLogoText}}</p>\r\n </ng-container>\r\n <!-- NG-Content Left -->\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--center\">\r\n <!-- NG-Content Center -->\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--right\" fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <!-- NG-Content Right -->\r\n <span fxFlex=\"auto 0 1\" [fxHide.lt-sm]=\"!armatureNavigation && armatureHeaderOverlay\">\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </span>\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"displayDropDownMenu\">\r\n <button id=\"sof-ar-header-btn-dropdown\" mat-icon-button [disableRipple]=\"true\"\r\n [matMenuTriggerFor]=\"sofArHeaderMenu\" [attr.aria-label]=\"dropDownAriaText | translate\">\r\n <span [style.color]=\"iconColor\">\r\n <i class=\"{{headerDropDownIcon}}\"></i>\r\n <span class=\"sr-only\">{{dropDownMenuSRText | translate}}</span>\r\n </span>\r\n </button>\r\n <mat-menu #sofArHeaderMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <!-- NG-Content Menu -->\r\n <ng-content select=\"[sof-ar-header-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <!-- Language button -->\r\n <div fxFlex=\"auto 0 1\"\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length > 2 && !mobileQuery.matches\">\r\n <button id=\"sof-ar-header-lang-dropdown\" mat-flat-button class=\"sof-flat-button\" color=\"primary\"\r\n [matMenuTriggerFor]=\"headerLanguageMenu\" [attr.aria-label]=\"headerLanguageSettings.buttonText | translate\">\r\n <span>\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{headerLanguageSettings.buttonText | translate}}\r\n </span>\r\n </button>\r\n <mat-menu #headerLanguageMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <button mat-menu-item *ngFor=\"let lang of headerLanguageSettings.languages\" (click)=\"setLanguage$.emit(lang)\"\r\n id=\"apply-lang-btn-{{lang}}\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n <div fxFlex=\"auto\">\r\n {{ lang | translate }}\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <i *ngIf=\"currentLang === lang\" class=\"fad fa-check selected-language-icon\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <div\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length === 2 && !mobileQuery.matches\">\r\n <button *ngIf=\"headerLanguageSettings.languages.length === 2\" id=\"sof-ar-header-lang-button\" mat-flat-button\r\n class=\"sof-flat-button\" color=\"primary\" (click)=\"setLanguage$.emit()\">\r\n <span fxLayoutAlign=\"center center\">\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{otherLangText | translate}}\r\n </span>\r\n </button>\r\n </div>\r\n <!-- Authorization button -->\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"settings?.displayAuthInfo\">\r\n <button *ngIf=\"!isLoggedIn;else loggedIn\" id=\"sof-ar-header-btn-auth\" mat-flat-button color=\"primary\" (click)=\"authorizeUser()\"\r\n [attr.aria-label]=\"authBtnText | translate\" class=\"sof-flat-button\">\r\n {{ authBtnText | translate }}\r\n </button>\r\n <ng-template #loggedIn>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <div fxFlex=\"auto 0 1\" fxHide.lt-md>\r\n <button [disabled]=\"settings?.makeUsernameUnclickable\" id=\"sof-ar-logged-in-btn-dropdown\" data-privacy=\"exclude\" [matMenuTriggerFor]=\"sofArLoginMenu\"\r\n mat-stroked-button style=\"padding-left:0px !important\"\r\n ngClass=\"left-radius-10 sof-stroked-button mobile-border\" color=\"primary\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"15px\">\r\n <div fxFlex=\"46px\" fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"absent-account-image\">\r\n <div fxFlex=\"100%\">\r\n {{ userName.charAt(0).toUpperCase() }}\r\n </div>\r\n </div>\r\n <div fxShow fxHide.lt-md fxFlex=\"auto\" class=\"signed-in-name\">\r\n {{ userName }}\r\n </div>\r\n </div>\r\n </button>\r\n <!-- Login menu -->\r\n <mat-menu #sofArLoginMenu=\"matMenu\" class=\"sof-ar-mat-menu\" id=\"loginMenu\">\r\n <a mat-menu-item href=\"{{manageUrl}}\" target=\"_blank\">\r\n {{ authSettings.myAccountText | translate }}\r\n </a>\r\n <div *ngIf=\"settings.displayDarkTheme\" mat-menu-item (click)=\"$event.stopPropagation()\" disabled>\r\n <mat-slide-toggle color=\"accent\" labelPosition=\"before\" [aria-label]=\"settings.darkThemeText\"\r\n [id]=\"'dark-theme-toggle-btn'\" (change)=\"toggleTheme($event)\">\r\n {{ settings.darkThemeText + '(coming soon!)' | translate }}\r\n <!-- TODO: determine if icon is liked <i class=\"fad fa-moon-cloud dark-theme-icon\"></i> -->\r\n </mat-slide-toggle>\r\n </div>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <div fxFlex=\"auto 0 1\">\r\n <button id=\"sof-ar-log-out-btn\" mat-flat-button class=\"sof-flat-icon-button\" color=\"primary\" size=\"medium\"\r\n (click)=\"authorizeUser()\" [attr.aria-label]=\"authBtnText | translate\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <i fxFlex=\"100%\" class=\"fas fa-sign-out-alt\"></i>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </mat-toolbar>\r\n</header>\r\n", styles: [":root{--primary-color-50-parts: #edf4ff;--primary-color-100-parts: #b9d4fc;--primary-color-200-parts: #8ab7fb;--primary-color-300-parts: #5b9af9;--primary-color-400-parts: #3784f7;--primary-color-500-parts: #146ef6;--primary-color-600-parts: #1266f5;--primary-color-700-parts: #0e5bf3;--primary-color-800-parts: #0b51f2;--primary-color-900-parts: #063fef;--primary-color-A50-parts: rgba(20, 110, 246, .04);--primary-color-A100-parts: rgba(20, 110, 246, .08);--primary-color-A200-parts: rgba(20, 110, 246, .16);--primary-color-A300-parts: rgba(20, 110, 246, .24);--primary-color-A400-parts: rgba(20, 110, 246, .32);--primary-color-A500-parts: rgba(20, 110, 246, .4);--primary-color-A600-parts: rgba(20, 110, 246, .48);--primary-color-A700-parts: rgba(20, 110, 246, .56);--primary-color-A800-parts: rgba(20, 110, 246, .64);--primary-color-A900-parts: rgba(20, 110, 246, .72);--primary-color-contrast-50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-500-parts: rgba(255, 255, 255, 1);--primary-color-contrast-600-parts: rgba(255, 255, 255, 1);--primary-color-contrast-700-parts: rgba(255, 255, 255, 1);--primary-color-contrast-800-parts: rgba(255, 255, 255, 1);--primary-color-contrast-900-parts: rgba(255, 255, 255, 1);--primary-color-contrast-A50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A500-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A600-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A700-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A800-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A900-parts: rgba(0, 0, 0, .87);--primary-color-50-parts-rgb: 237, 244, 255;--primary-color-100-parts-rgb: 185, 212, 252;--primary-color-200-parts-rgb: 138, 183, 251;--primary-color-300-parts-rgb: 91, 154, 249;--primary-color-400-parts-rgb: 55, 132, 247;--primary-color-500-parts-rgb: 20, 110, 246;--primary-color-600-parts-rgb: 18, 102, 245;--primary-color-700-parts-rgb: 14, 91, 243;--primary-color-800-parts-rgb: 11, 81, 242;--primary-color-900-parts-rgb: 6, 63, 239;--accent-color-50-parts: #e0f2f1;--accent-color-100-parts: #b2dfdb;--accent-color-200-parts: #80cbc4;--accent-color-300-parts: #4db6ac;--accent-color-400-parts: #26a69a;--accent-color-500-parts: #009688;--accent-color-600-parts: #00897b;--accent-color-700-parts: #00796b;--accent-color-800-parts: #00695c;--accent-color-900-parts: #004d40;--accent-color-A50-parts: rgba(0, 150, 136, .04);--accent-color-A100-parts: rgba(0, 150, 136, .08);--accent-color-A200-parts: rgba(0, 150, 136, .16);--accent-color-A300-parts: rgba(0, 150, 136, .24);--accent-color-A400-parts: rgba(0, 150, 136, .32);--accent-color-A500-parts: rgba(0, 150, 136, .4);--accent-color-A600-parts: rgba(0, 150, 136, .48);--accent-color-A700-parts: rgba(0, 150, 136, .56);--accent-color-A800-parts: rgba(0, 150, 136, .64);--accent-color-A900-parts: rgba(0, 150, 136, .72);--accent-color-contrast-50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-500-parts: rgba(255, 255, 255, 1);--accent-color-contrast-600-parts: rgba(255, 255, 255, 1);--accent-color-contrast-700-parts: rgba(255, 255, 255, 1);--accent-color-contrast-800-parts: rgba(255, 255, 255, 1);--accent-color-contrast-900-parts: rgba(255, 255, 255, 1);--accent-color-contrast-A50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A500-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A600-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A700-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A800-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A900-parts: rgba(0, 0, 0, .87);--accent-color-50-parts-rgb: 224, 242, 241;--accent-color-100-parts-rgb: 178, 223, 219;--accent-color-200-parts-rgb: 128, 203, 196;--accent-color-300-parts-rgb: 77, 182, 172;--accent-color-400-parts-rgb: 38, 166, 154;--accent-color-500-parts-rgb: 0, 150, 136;--accent-color-600-parts-rgb: 0, 137, 123;--accent-color-700-parts-rgb: 0, 121, 107;--accent-color-800-parts-rgb: 0, 105, 92;--accent-color-900-parts-rgb: 0, 77, 64;--warn-color-50-parts: #fceee3;--warn-color-100-parts: #f8d4b9;--warn-color-200-parts: #f4b78b;--warn-color-300-parts: #ef9a5d;--warn-color-400-parts: #eb843a;--warn-color-500-parts: #e86e17;--warn-color-600-parts: #e56614;--warn-color-700-parts: #e25b11;--warn-color-800-parts: #de510d;--warn-color-900-parts: #d83f07;--warn-color-A50-parts: rgba(232, 110, 23, .04);--warn-color-A100-parts: rgba(232, 110, 23, .08);--warn-color-A200-parts: rgba(232, 110, 23, .16);--warn-color-A300-parts: rgba(232, 110, 23, .24);--warn-color-A400-parts: rgba(232, 110, 23, .32);--warn-color-A500-parts: rgba(232, 110, 23, .4);--warn-color-A600-parts: rgba(232, 110, 23, .48);--warn-color-A700-parts: rgba(232, 110, 23, .56);--warn-color-A800-parts: rgba(232, 110, 23, .64);--warn-color-A900-parts: rgba(232, 110, 23, .72);--warn-color-contrast-50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-900-parts: rgba(255, 255, 255, 1);--warn-color-contrast-A50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A900-parts: rgba(0, 0, 0, .87);--warn-color-50-parts-rgb: 252, 238, 227;--warn-color-100-parts-rgb: 248, 212, 185;--warn-color-200-parts-rgb: 244, 183, 139;--warn-color-300-parts-rgb: 239, 154, 93;--warn-color-400-parts-rgb: 235, 132, 58;--warn-color-500-parts-rgb: 232, 110, 23;--warn-color-600-parts-rgb: 229, 102, 20;--warn-color-700-parts-rgb: 226, 91, 17;--warn-color-800-parts-rgb: 222, 81, 13;--warn-color-900-parts-rgb: 216, 63, 7;--info-color-50-parts: #edf4ff;--info-color-100-parts: #b9d4fc;--info-color-200-parts: #8ab7fb;--info-color-300-parts: #5b9af9;--info-color-400-parts: #3784f7;--info-color-500-parts: #146ef6;--info-color-600-parts: #1266f5;--info-color-700-parts: #0e5bf3;--info-color-800-parts: #0b51f2;--info-color-900-parts: #063fef;--info-color-A50-parts: rgba(20, 110, 246, .04);--info-color-A100-parts: rgba(20, 110, 246, .08);--info-color-A200-parts: rgba(20, 110, 246, .16);--info-color-A300-parts: rgba(20, 110, 246, .24);--info-color-A400-parts: rgba(20, 110, 246, .32);--info-color-A500-parts: rgba(20, 110, 246, .4);--info-color-A600-parts: rgba(20, 110, 246, .48);--info-color-A700-parts: rgba(20, 110, 246, .56);--info-color-A800-parts: rgba(20, 110, 246, .64);--info-color-A900-parts: rgba(20, 110, 246, .72);--info-color-contrast-50-parts: rgba(0, 0, 0, .87);--info-color-contrast-100-parts: rgba(0, 0, 0, .87);--info-color-contrast-200-parts: rgba(0, 0, 0, .87);--info-color-contrast-300-parts: rgba(0, 0, 0, .87);--info-color-contrast-400-parts: rgba(0, 0, 0, .87);--info-color-contrast-500-parts: rgba(255, 255, 255, 1);--info-color-contrast-600-parts: rgba(255, 255, 255, 1);--info-color-contrast-700-parts: rgba(255, 255, 255, 1);--info-color-contrast-800-parts: rgba(255, 255, 255, 1);--info-color-contrast-900-parts: rgba(255, 255, 255, 1);--info-color-contrast-A50-parts: rgba(0, 0, 0, .87);--info-color-contrast-A100-parts: rgba(0, 0, 0, .87);--info-color-contrast-A200-parts: rgba(0, 0, 0, .87);--info-color-contrast-A300-parts: rgba(0, 0, 0, .87);--info-color-contrast-A400-parts: rgba(0, 0, 0, .87);--info-color-contrast-A500-parts: rgba(0, 0, 0, .87);--info-color-contrast-A600-parts: rgba(0, 0, 0, .87);--info-color-contrast-A700-parts: rgba(0, 0, 0, .87);--info-color-contrast-A800-parts: rgba(0, 0, 0, .87);--info-color-contrast-A900-parts: rgba(0, 0, 0, .87);--info-color-50-parts-rgb: 237, 244, 255;--info-color-100-parts-rgb: 185, 212, 252;--info-color-200-parts-rgb: 138, 183, 251;--info-color-300-parts-rgb: 91, 154, 249;--info-color-400-parts-rgb: 55, 132, 247;--info-color-500-parts-rgb: 20, 110, 246;--info-color-600-parts-rgb: 18, 102, 245;--info-color-700-parts-rgb: 14, 91, 243;--info-color-800-parts-rgb: 11, 81, 242;--info-color-900-parts-rgb: 6, 63, 239;--success-color-50-parts: #e7f0e6;--success-color-100-parts: #c4dac1;--success-color-200-parts: #9cc198;--success-color-300-parts: #74a86e;--success-color-400-parts: #57954f;--success-color-500-parts: #398230;--success-color-600-parts: #337a2b;--success-color-700-parts: #2c6f24;--success-color-800-parts: #24651e;--success-color-900-parts: #175213;--success-color-A50-parts: rgba(57, 130, 48, .04);--success-color-A100-parts: rgba(57, 130, 48, .08);--success-color-A200-parts: rgba(57, 130, 48, .16);--success-color-A300-parts: rgba(57, 130, 48, .24);--success-color-A400-parts: rgba(57, 130, 48, .32);--success-color-A500-parts: rgba(57, 130, 48, .4);--success-color-A600-parts: rgba(57, 130, 48, .48);--success-color-A700-parts: rgba(57, 130, 48, .56);--success-color-A800-parts: rgba(57, 130, 48, .64);--success-color-A900-parts: rgba(57, 130, 48, .72);--success-color-contrast-50-parts: rgba(0, 0, 0, .87);--success-color-contrast-100-parts: rgba(0, 0, 0, .87);--success-color-contrast-200-parts: rgba(0, 0, 0, .87);--success-color-contrast-300-parts: rgba(0, 0, 0, .87);--success-color-contrast-400-parts: rgba(0, 0, 0, .87);--success-color-contrast-500-parts: rgba(255, 255, 255, 1);--success-color-contrast-600-parts: rgba(255, 255, 255, 1);--success-color-contrast-700-parts: rgba(255, 255, 255, 1);--success-color-contrast-800-parts: rgba(255, 255, 255, 1);--success-color-contrast-900-parts: rgba(255, 255, 255, 1);--success-color-contrast-A50-parts: rgba(0, 0, 0, .87);--success-color-contrast-A100-parts: rgba(0, 0, 0, .87);--success-color-contrast-A200-parts: rgba(0, 0, 0, .87);--success-color-contrast-A300-parts: rgba(0, 0, 0, .87);--success-color-contrast-A400-parts: rgba(0, 0, 0, .87);--success-color-contrast-A500-parts: rgba(0, 0, 0, .87);--success-color-contrast-A600-parts: rgba(0, 0, 0, .87);--success-color-contrast-A700-parts: rgba(0, 0, 0, .87);--success-color-contrast-A800-parts: rgba(0, 0, 0, .87);--success-color-contrast-A900-parts: rgba(0, 0, 0, .87);--success-color-50-parts-rgb: 231, 240, 230;--success-color-100-parts-rgb: 196, 218, 193;--success-color-200-parts-rgb: 156, 193, 152;--success-color-300-parts-rgb: 116, 168, 110;--success-color-400-parts-rgb: 87, 149, 79;--success-color-500-parts-rgb: 57, 130, 48;--success-color-600-parts-rgb: 51, 122, 43;--success-color-700-parts-rgb: 44, 111, 36;--success-color-800-parts-rgb: 36, 101, 30;--success-color-900-parts-rgb: 23, 82, 19;--error-color-50-parts: #fae5e4;--error-color-100-parts: #f3bdba;--error-color-200-parts: #eb928d;--error-color-300-parts: #e3665f;--error-color-400-parts: #dd453c;--error-color-500-parts: #d7241a;--error-color-600-parts: #d32017;--error-color-700-parts: #cd1b13;--error-color-800-parts: #c7160f;--error-color-900-parts: #be0d08;--error-color-A50-parts: rgba(215, 36, 26, .04);--error-color-A100-parts: rgba(215, 36, 26, .08);--error-color-A200-parts: rgba(215, 36, 26, .16);--error-color-A300-parts: rgba(215, 36, 26, .24);--error-color-A400-parts: rgba(215, 36, 26, .32);--error-color-A500-parts: rgba(215, 36, 26, .4);--error-color-A600-parts: rgba(215, 36, 26, .48);--error-color-A700-parts: rgba(215, 36, 26, .56);--error-color-A800-parts: rgba(215, 36, 26, .64);--error-color-A900-parts: rgba(215, 36, 26, .72);--error-color-contrast-50-parts: rgba(0, 0, 0, .87);--error-color-contrast-100-parts: rgba(0, 0, 0, .87);--error-color-contrast-200-parts: rgba(0, 0, 0, .87);--error-color-contrast-300-parts: rgba(0, 0, 0, .87);--error-color-contrast-400-parts: rgba(0, 0, 0, .87);--error-color-contrast-500-parts: rgba(255, 255, 255, 1);--error-color-contrast-600-parts: rgba(255, 255, 255, 1);--error-color-contrast-700-parts: rgba(255, 255, 255, 1);--error-color-contrast-800-parts: rgba(255, 255, 255, 1);--error-color-contrast-900-parts: rgba(255, 255, 255, 1);--error-color-contrast-A50-parts: rgba(0, 0, 0, .87);--error-color-contrast-A100-parts: rgba(0, 0, 0, .87);--error-color-contrast-A200-parts: rgba(0, 0, 0, .87);--error-color-contrast-A300-parts: rgba(0, 0, 0, .87);--error-color-contrast-A400-parts: rgba(0, 0, 0, .87);--error-color-contrast-A500-parts: rgba(0, 0, 0, .87);--error-color-contrast-A600-parts: rgba(0, 0, 0, .87);--error-color-contrast-A700-parts: rgba(0, 0, 0, .87);--error-color-contrast-A800-parts: rgba(0, 0, 0, .87);--error-color-contrast-A900-parts: rgba(0, 0, 0, .87);--error-color-50-parts-rgb: 250, 229, 228;--error-color-100-parts-rgb: 243, 189, 186;--error-color-200-parts-rgb: 235, 146, 141;--error-color-300-parts-rgb: 227, 102, 95;--error-color-400-parts-rgb: 221, 69, 60;--error-color-500-parts-rgb: 215, 36, 26;--error-color-600-parts-rgb: 211, 32, 23;--error-color-700-parts-rgb: 205, 27, 19;--error-color-800-parts-rgb: 199, 22, 15;--error-color-900-parts-rgb: 190, 13, 8;--neutral-color-50-parts: #e9e9e9;--neutral-color-100-parts: #dddddd;--neutral-color-200-parts: #cccccc;--neutral-color-300-parts: #b0b0b0;--neutral-color-400-parts: #909090;--neutral-color-500-parts: #515151;--neutral-color-600-parts: #424242;--neutral-color-700-parts: #333333;--neutral-color-800-parts: #212121;--neutral-color-900-parts: #141414;--neutral-color-A50-parts: rgba(81, 81, 81, .04);--neutral-color-A100-parts: rgba(81, 81, 81, .08);--neutral-color-A200-parts: rgba(81, 81, 81, .16);--neutral-color-A300-parts: rgba(81, 81, 81, .24);--neutral-color-A400-parts: rgba(81, 81, 81, .32);--neutral-color-A500-parts: rgba(81, 81, 81, .4);--neutral-color-A600-parts: rgba(81, 81, 81, .48);--neutral-color-A700-parts: rgba(81, 81, 81, .56);--neutral-color-A800-parts: rgba(81, 81, 81, .64);--neutral-color-A900-parts: rgba(81, 81, 81, .72);--neutral-color-contrast-50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-400-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-500-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-600-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-700-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-800-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-900-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-A50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A400-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A500-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A600-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A700-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A800-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A900-parts: rgba(0, 0, 0, .87);--neutral-color-50-parts-rgb: 233, 233, 233;--neutral-color-100-parts-rgb: 221, 221, 221;--neutral-color-200-parts-rgb: 204, 204, 204;--neutral-color-300-parts-rgb: 176, 176, 176;--neutral-color-400-parts-rgb: 144, 144, 144;--neutral-color-500-parts-rgb: 81, 81, 81;--neutral-color-600-parts-rgb: 66, 66, 66;--neutral-color-700-parts-rgb: 51, 51, 51;--neutral-color-800-parts-rgb: 33, 33, 33;--neutral-color-900-parts-rgb: 20, 20, 20}.sof-super-header{height:34px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 599px){.sof-super-header{justify-content:center;padding:0}}.sof-ar-header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.sof-ar-header.sof-ar-header-shadow{box-shadow:0 1px 4px #00000080}.sof-ar-header-logo-text{font-size:20px;display:inline-block}::ng-deep .sof-ar-header-icon,::ng-deep .sof-ar-header-menu-icon{font-size:24px}::ng-deep .sof-ar-header-menu-icon{padding-right:10px}::ng-deep .sof-ar-mat-menu{border-radius:2px!important}::ng-deep .sof-ar-mat-menu .mat-mdc-menu-content{padding-top:0!important;padding-bottom:0!important;min-width:150px}::ng-deep .sof-ar-header-menu-list.sof-ar-header-menu-border{border-bottom:1px solid rgba(0,0,0,.25)!important}::ng-deep .sof-ar-header-menu-list{display:flex!important;align-items:center}::ng-deep .sof-ar-header-button-text{font-weight:600;font-size:14px;padding-left:10px;padding-right:10px}.sof-ar-header-logo{max-width:100%;height:32px}@media only screen and (max-width: 599px){.sof-ar-header-logo{height:24px}}.sof-ar-header--left{align-items:center;display:flex}.sof-ar-header--left.sof-ar-toggle-navigation{margin-left:50px}.sof-ar-header--right{text-align:right}.sof-ar-header--center{text-align:center}.absent-account-image{border-right:2px solid var(--primary-color-500-parts)!important;border-radius:6px!important;background:var(--primary-color-500-parts)!important;color:#fff;font-weight:500!important;font-size:16px!important;height:46px!important;margin-left:-1px!important;margin-top:-1px!important}.signed-in-name{font-weight:500!important;font-size:16px!important;color:var(--primary-color-500-parts)!important}.left-radius-10{border-top-left-radius:11px!important;border-bottom-left-radius:11px!important}.language-globe{padding-right:8px;font-size:20px!important}.dark-theme-icon{font-size:20px!important}.selected-language-icon{color:var(--primary-color-500-parts)!important;font-size:20px!important;padding-right:10px!important}.hidden{display:none}@media screen and (max-width: 960px){.mobile-border{padding:0;border:0px;border-radius:11px!important}}\n"] }]
|
|
149
|
+
args: [{ selector: 'sof-ar-header', template: "<ng-container *ngIf=\"displaySuperHeader\">\r\n <div class=\"sof-super-header\" [ngStyle]=\"{'background-color' : superHeaderColor}\">\r\n <ng-content select=\"[sof-ar-super-header]\"></ng-content>\r\n </div>\r\n</ng-container>\r\n<header>\r\n <mat-toolbar class=\"sof-ar-header\" [class.sof-ar-header-shadow]=\"headerDropShadow\"\r\n [ngStyle]=\"{'height.px': settings?.headerStyles?.height, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.headerStyles?.heightMobile || 64, background: headerColor, 'border-bottom': themeSettings.borderBottomSize + ' solid ' + themeSettings.borderBottomColor }\">\r\n <div class=\"sof-ar-header--left\"\r\n [class.sof-ar-toggle-navigation]=\"(mobileQuery.matches && (armatureNavigation || armatureHeaderOverlay)) || settings?.createSpaceForNavToggle\">\r\n <!-- external links -->\r\n @if(externalLinks().length) {\r\n <button class=\"external-link-button\" mat-button [matMenuTriggerFor]=\"menu\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <i class=\"ph ph-dots-nine external-link-button\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <div fxLayout=\"row wrap\" class=\"external-link-container\">\r\n @for(link of externalLinks(); track link.translateKey) {\r\n <a mat-menu-item fxLayout=\"column\" fxFlex=\"auto\" fxLayoutAlign=\"center start\" href=\"{{link.uri}}\" target=\"_blank\" [matTooltip]=\"(link.iconAltTextTranslateKey | translate)\">\r\n @if(!!link.icon || !!link.logo) {\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n @if(!!link.icon) {\r\n <i class=\"{{link.icon}} external-link-icon\"></i>\r\n }\r\n @else if(!!link.logo){\r\n <img src=\"{{link.logo}}\" alt=\"{{link.iconAltTextTranslateKey | translate}}\" width=\"32px\" height=\"32px\" />\r\n }\r\n </div>\r\n }\r\n @if(!!link.translateKey) {\r\n <div fxFlex=\"auto\" class=\"link-text-container\">\r\n {{link.translateKey | translate}}\r\n </div>\r\n }\r\n </a>\r\n }\r\n </div>\r\n </mat-menu>\r\n }\r\n <!-- Logo Image -->\r\n <ng-container *ngIf=\"displayLogo\">\r\n <ng-container *ngIf=\"settings?.logoRouterLinkPath === 'internal'; else external\">\r\n <a [routerLink]=\"settings?.logoRouterLink\">\r\n <img class=\"sof-ar-header-logo\" [src]=\"logoUrl\" alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-container>\r\n <ng-template #external>\r\n <a [href]=\"settings?.logoRouterLink\"><img class=\"sof-ar-header-logo\" [src]=\"logoUrl\"\r\n alt=\"{{logoAltText | translate}}\"\r\n [ngStyle]=\"{'height.px': settings?.logoStyles?.height, 'width.px': settings?.logoStyles?.width, 'max-width': settings?.logoStyles?.width + 'px' || '100%'}\"\r\n [ngStyle.lt-sm]=\"{'height.px': settings?.logoStyles?.heightMobile, 'width.px': settings?.logoStyles?.widthMobile, 'max-width': settings?.logoStyles?.widthMobile + 'px' || '100%'}\" />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <!-- Logo Text -->\r\n <ng-container *ngIf=\"displayLogoText\">\r\n <p class=\"sof-ar-header-logo-text\">{{headerLogoText}}</p>\r\n </ng-container>\r\n <!-- NG-Content Left -->\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--center\">\r\n <!-- NG-Content Center -->\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </div>\r\n <div class=\"sof-ar-header--right\" fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <!-- NG-Content Right -->\r\n <span fxFlex=\"auto 0 1\" [fxHide.lt-sm]=\"!armatureNavigation && armatureHeaderOverlay\">\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </span>\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"displayDropDownMenu\">\r\n <button id=\"sof-ar-header-btn-dropdown\" mat-icon-button [disableRipple]=\"true\"\r\n [matMenuTriggerFor]=\"sofArHeaderMenu\" [attr.aria-label]=\"dropDownAriaText | translate\">\r\n <span [style.color]=\"iconColor\">\r\n <i class=\"{{headerDropDownIcon}}\"></i>\r\n <span class=\"sr-only\">{{dropDownMenuSRText | translate}}</span>\r\n </span>\r\n </button>\r\n <mat-menu #sofArHeaderMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <!-- NG-Content Menu -->\r\n <ng-content select=\"[sof-ar-header-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <!-- Language button -->\r\n <div fxFlex=\"auto 0 1\"\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length > 2 && !mobileQuery.matches\">\r\n <button id=\"sof-ar-header-lang-dropdown\" mat-flat-button class=\"sof-flat-button\" color=\"primary\"\r\n [matMenuTriggerFor]=\"headerLanguageMenu\" [attr.aria-label]=\"headerLanguageSettings.buttonText | translate\">\r\n <span>\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{headerLanguageSettings.buttonText | translate}}\r\n </span>\r\n </button>\r\n <mat-menu #headerLanguageMenu=\"matMenu\" class=\"sof-ar-mat-menu\">\r\n <button mat-menu-item *ngFor=\"let lang of headerLanguageSettings.languages\" (click)=\"setLanguage$.emit(lang)\"\r\n id=\"apply-lang-btn-{{lang}}\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n <div fxFlex=\"auto\">\r\n {{ lang | translate }}\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <i *ngIf=\"currentLang === lang\" class=\"fad fa-check selected-language-icon\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <div\r\n *ngIf=\"headerLanguageSettings?.displayLanguageOptions && headerLanguageSettings?.languages?.length === 2 && !mobileQuery.matches\">\r\n <button *ngIf=\"headerLanguageSettings.languages.length === 2\" id=\"sof-ar-header-lang-button\" mat-flat-button\r\n class=\"sof-flat-button\" color=\"primary\" (click)=\"setLanguage$.emit()\">\r\n <span fxLayoutAlign=\"center center\">\r\n <i class=\"far fa-globe language-globe\"></i>\r\n {{otherLangText | translate}}\r\n </span>\r\n </button>\r\n </div>\r\n <!-- Authorization button -->\r\n <div fxFlex=\"auto 0 1\" *ngIf=\"settings?.displayAuthInfo\">\r\n <button *ngIf=\"!isLoggedIn;else loggedIn\" id=\"sof-ar-header-btn-auth\" mat-flat-button color=\"primary\"\r\n (click)=\"authorizeUser()\" [attr.aria-label]=\"authBtnText | translate\" class=\"sof-flat-button\">\r\n {{ authBtnText | translate }}\r\n </button>\r\n <ng-template #loggedIn>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\">\r\n <div fxFlex=\"auto 0 1\" fxHide.lt-md>\r\n <button [disabled]=\"settings?.makeUsernameUnclickable\" id=\"sof-ar-logged-in-btn-dropdown\"\r\n data-privacy=\"exclude\" [matMenuTriggerFor]=\"sofArLoginMenu\" mat-stroked-button\r\n style=\"padding-left:0px !important\" ngClass=\"left-radius-10 sof-stroked-button mobile-border\"\r\n color=\"primary\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"15px\">\r\n <div fxFlex=\"46px\" fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"absent-account-image\">\r\n <div fxFlex=\"100%\">\r\n {{ userName.charAt(0).toUpperCase() }}\r\n </div>\r\n </div>\r\n <div fxShow fxHide.lt-md fxFlex=\"auto\" class=\"signed-in-name\">\r\n {{ userName }}\r\n </div>\r\n </div>\r\n </button>\r\n <!-- Login menu -->\r\n <mat-menu #sofArLoginMenu=\"matMenu\" class=\"sof-ar-mat-menu\" id=\"loginMenu\">\r\n <a mat-menu-item href=\"{{manageUrl}}\" target=\"_blank\">\r\n {{ authSettings.myAccountText | translate }}\r\n </a>\r\n <div *ngIf=\"settings.displayDarkTheme\" mat-menu-item (click)=\"$event.stopPropagation()\" disabled>\r\n <mat-slide-toggle color=\"accent\" labelPosition=\"before\" [aria-label]=\"settings.darkThemeText\"\r\n [id]=\"'dark-theme-toggle-btn'\" (change)=\"toggleTheme($event)\">\r\n {{ settings.darkThemeText + '(coming soon!)' | translate }}\r\n <!-- TODO: determine if icon is liked <i class=\"fad fa-moon-cloud dark-theme-icon\"></i> -->\r\n </mat-slide-toggle>\r\n </div>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </mat-menu>\r\n </div>\r\n <div fxFlex=\"auto 0 1\">\r\n <button id=\"sof-ar-log-out-btn\" mat-flat-button class=\"sof-flat-icon-button\" color=\"primary\" size=\"medium\"\r\n (click)=\"authorizeUser()\" [attr.aria-label]=\"authBtnText | translate\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <i fxFlex=\"100%\" class=\"fas fa-sign-out-alt\"></i>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </mat-toolbar>\r\n</header>", styles: [":root{--primary-color-50-parts: #edf4ff;--primary-color-100-parts: #b9d4fc;--primary-color-200-parts: #8ab7fb;--primary-color-300-parts: #5b9af9;--primary-color-400-parts: #3784f7;--primary-color-500-parts: #146ef6;--primary-color-600-parts: #1266f5;--primary-color-700-parts: #0e5bf3;--primary-color-800-parts: #0b51f2;--primary-color-900-parts: #063fef;--primary-color-A50-parts: rgba(20, 110, 246, .04);--primary-color-A100-parts: rgba(20, 110, 246, .08);--primary-color-A200-parts: rgba(20, 110, 246, .16);--primary-color-A300-parts: rgba(20, 110, 246, .24);--primary-color-A400-parts: rgba(20, 110, 246, .32);--primary-color-A500-parts: rgba(20, 110, 246, .4);--primary-color-A600-parts: rgba(20, 110, 246, .48);--primary-color-A700-parts: rgba(20, 110, 246, .56);--primary-color-A800-parts: rgba(20, 110, 246, .64);--primary-color-A900-parts: rgba(20, 110, 246, .72);--primary-color-contrast-50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-500-parts: rgba(255, 255, 255, 1);--primary-color-contrast-600-parts: rgba(255, 255, 255, 1);--primary-color-contrast-700-parts: rgba(255, 255, 255, 1);--primary-color-contrast-800-parts: rgba(255, 255, 255, 1);--primary-color-contrast-900-parts: rgba(255, 255, 255, 1);--primary-color-contrast-A50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A500-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A600-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A700-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A800-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A900-parts: rgba(0, 0, 0, .87);--primary-color-50-parts-rgb: 237, 244, 255;--primary-color-100-parts-rgb: 185, 212, 252;--primary-color-200-parts-rgb: 138, 183, 251;--primary-color-300-parts-rgb: 91, 154, 249;--primary-color-400-parts-rgb: 55, 132, 247;--primary-color-500-parts-rgb: 20, 110, 246;--primary-color-600-parts-rgb: 18, 102, 245;--primary-color-700-parts-rgb: 14, 91, 243;--primary-color-800-parts-rgb: 11, 81, 242;--primary-color-900-parts-rgb: 6, 63, 239;--accent-color-50-parts: #e0f2f1;--accent-color-100-parts: #b2dfdb;--accent-color-200-parts: #80cbc4;--accent-color-300-parts: #4db6ac;--accent-color-400-parts: #26a69a;--accent-color-500-parts: #009688;--accent-color-600-parts: #00897b;--accent-color-700-parts: #00796b;--accent-color-800-parts: #00695c;--accent-color-900-parts: #004d40;--accent-color-A50-parts: rgba(0, 150, 136, .04);--accent-color-A100-parts: rgba(0, 150, 136, .08);--accent-color-A200-parts: rgba(0, 150, 136, .16);--accent-color-A300-parts: rgba(0, 150, 136, .24);--accent-color-A400-parts: rgba(0, 150, 136, .32);--accent-color-A500-parts: rgba(0, 150, 136, .4);--accent-color-A600-parts: rgba(0, 150, 136, .48);--accent-color-A700-parts: rgba(0, 150, 136, .56);--accent-color-A800-parts: rgba(0, 150, 136, .64);--accent-color-A900-parts: rgba(0, 150, 136, .72);--accent-color-contrast-50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-500-parts: rgba(255, 255, 255, 1);--accent-color-contrast-600-parts: rgba(255, 255, 255, 1);--accent-color-contrast-700-parts: rgba(255, 255, 255, 1);--accent-color-contrast-800-parts: rgba(255, 255, 255, 1);--accent-color-contrast-900-parts: rgba(255, 255, 255, 1);--accent-color-contrast-A50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A500-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A600-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A700-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A800-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A900-parts: rgba(0, 0, 0, .87);--accent-color-50-parts-rgb: 224, 242, 241;--accent-color-100-parts-rgb: 178, 223, 219;--accent-color-200-parts-rgb: 128, 203, 196;--accent-color-300-parts-rgb: 77, 182, 172;--accent-color-400-parts-rgb: 38, 166, 154;--accent-color-500-parts-rgb: 0, 150, 136;--accent-color-600-parts-rgb: 0, 137, 123;--accent-color-700-parts-rgb: 0, 121, 107;--accent-color-800-parts-rgb: 0, 105, 92;--accent-color-900-parts-rgb: 0, 77, 64;--warn-color-50-parts: #fceee3;--warn-color-100-parts: #f8d4b9;--warn-color-200-parts: #f4b78b;--warn-color-300-parts: #ef9a5d;--warn-color-400-parts: #eb843a;--warn-color-500-parts: #e86e17;--warn-color-600-parts: #e56614;--warn-color-700-parts: #e25b11;--warn-color-800-parts: #de510d;--warn-color-900-parts: #d83f07;--warn-color-A50-parts: rgba(232, 110, 23, .04);--warn-color-A100-parts: rgba(232, 110, 23, .08);--warn-color-A200-parts: rgba(232, 110, 23, .16);--warn-color-A300-parts: rgba(232, 110, 23, .24);--warn-color-A400-parts: rgba(232, 110, 23, .32);--warn-color-A500-parts: rgba(232, 110, 23, .4);--warn-color-A600-parts: rgba(232, 110, 23, .48);--warn-color-A700-parts: rgba(232, 110, 23, .56);--warn-color-A800-parts: rgba(232, 110, 23, .64);--warn-color-A900-parts: rgba(232, 110, 23, .72);--warn-color-contrast-50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-900-parts: rgba(255, 255, 255, 1);--warn-color-contrast-A50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A900-parts: rgba(0, 0, 0, .87);--warn-color-50-parts-rgb: 252, 238, 227;--warn-color-100-parts-rgb: 248, 212, 185;--warn-color-200-parts-rgb: 244, 183, 139;--warn-color-300-parts-rgb: 239, 154, 93;--warn-color-400-parts-rgb: 235, 132, 58;--warn-color-500-parts-rgb: 232, 110, 23;--warn-color-600-parts-rgb: 229, 102, 20;--warn-color-700-parts-rgb: 226, 91, 17;--warn-color-800-parts-rgb: 222, 81, 13;--warn-color-900-parts-rgb: 216, 63, 7;--info-color-50-parts: #edf4ff;--info-color-100-parts: #b9d4fc;--info-color-200-parts: #8ab7fb;--info-color-300-parts: #5b9af9;--info-color-400-parts: #3784f7;--info-color-500-parts: #146ef6;--info-color-600-parts: #1266f5;--info-color-700-parts: #0e5bf3;--info-color-800-parts: #0b51f2;--info-color-900-parts: #063fef;--info-color-A50-parts: rgba(20, 110, 246, .04);--info-color-A100-parts: rgba(20, 110, 246, .08);--info-color-A200-parts: rgba(20, 110, 246, .16);--info-color-A300-parts: rgba(20, 110, 246, .24);--info-color-A400-parts: rgba(20, 110, 246, .32);--info-color-A500-parts: rgba(20, 110, 246, .4);--info-color-A600-parts: rgba(20, 110, 246, .48);--info-color-A700-parts: rgba(20, 110, 246, .56);--info-color-A800-parts: rgba(20, 110, 246, .64);--info-color-A900-parts: rgba(20, 110, 246, .72);--info-color-contrast-50-parts: rgba(0, 0, 0, .87);--info-color-contrast-100-parts: rgba(0, 0, 0, .87);--info-color-contrast-200-parts: rgba(0, 0, 0, .87);--info-color-contrast-300-parts: rgba(0, 0, 0, .87);--info-color-contrast-400-parts: rgba(0, 0, 0, .87);--info-color-contrast-500-parts: rgba(255, 255, 255, 1);--info-color-contrast-600-parts: rgba(255, 255, 255, 1);--info-color-contrast-700-parts: rgba(255, 255, 255, 1);--info-color-contrast-800-parts: rgba(255, 255, 255, 1);--info-color-contrast-900-parts: rgba(255, 255, 255, 1);--info-color-contrast-A50-parts: rgba(0, 0, 0, .87);--info-color-contrast-A100-parts: rgba(0, 0, 0, .87);--info-color-contrast-A200-parts: rgba(0, 0, 0, .87);--info-color-contrast-A300-parts: rgba(0, 0, 0, .87);--info-color-contrast-A400-parts: rgba(0, 0, 0, .87);--info-color-contrast-A500-parts: rgba(0, 0, 0, .87);--info-color-contrast-A600-parts: rgba(0, 0, 0, .87);--info-color-contrast-A700-parts: rgba(0, 0, 0, .87);--info-color-contrast-A800-parts: rgba(0, 0, 0, .87);--info-color-contrast-A900-parts: rgba(0, 0, 0, .87);--info-color-50-parts-rgb: 237, 244, 255;--info-color-100-parts-rgb: 185, 212, 252;--info-color-200-parts-rgb: 138, 183, 251;--info-color-300-parts-rgb: 91, 154, 249;--info-color-400-parts-rgb: 55, 132, 247;--info-color-500-parts-rgb: 20, 110, 246;--info-color-600-parts-rgb: 18, 102, 245;--info-color-700-parts-rgb: 14, 91, 243;--info-color-800-parts-rgb: 11, 81, 242;--info-color-900-parts-rgb: 6, 63, 239;--success-color-50-parts: #e7f0e6;--success-color-100-parts: #c4dac1;--success-color-200-parts: #9cc198;--success-color-300-parts: #74a86e;--success-color-400-parts: #57954f;--success-color-500-parts: #398230;--success-color-600-parts: #337a2b;--success-color-700-parts: #2c6f24;--success-color-800-parts: #24651e;--success-color-900-parts: #175213;--success-color-A50-parts: rgba(57, 130, 48, .04);--success-color-A100-parts: rgba(57, 130, 48, .08);--success-color-A200-parts: rgba(57, 130, 48, .16);--success-color-A300-parts: rgba(57, 130, 48, .24);--success-color-A400-parts: rgba(57, 130, 48, .32);--success-color-A500-parts: rgba(57, 130, 48, .4);--success-color-A600-parts: rgba(57, 130, 48, .48);--success-color-A700-parts: rgba(57, 130, 48, .56);--success-color-A800-parts: rgba(57, 130, 48, .64);--success-color-A900-parts: rgba(57, 130, 48, .72);--success-color-contrast-50-parts: rgba(0, 0, 0, .87);--success-color-contrast-100-parts: rgba(0, 0, 0, .87);--success-color-contrast-200-parts: rgba(0, 0, 0, .87);--success-color-contrast-300-parts: rgba(0, 0, 0, .87);--success-color-contrast-400-parts: rgba(0, 0, 0, .87);--success-color-contrast-500-parts: rgba(255, 255, 255, 1);--success-color-contrast-600-parts: rgba(255, 255, 255, 1);--success-color-contrast-700-parts: rgba(255, 255, 255, 1);--success-color-contrast-800-parts: rgba(255, 255, 255, 1);--success-color-contrast-900-parts: rgba(255, 255, 255, 1);--success-color-contrast-A50-parts: rgba(0, 0, 0, .87);--success-color-contrast-A100-parts: rgba(0, 0, 0, .87);--success-color-contrast-A200-parts: rgba(0, 0, 0, .87);--success-color-contrast-A300-parts: rgba(0, 0, 0, .87);--success-color-contrast-A400-parts: rgba(0, 0, 0, .87);--success-color-contrast-A500-parts: rgba(0, 0, 0, .87);--success-color-contrast-A600-parts: rgba(0, 0, 0, .87);--success-color-contrast-A700-parts: rgba(0, 0, 0, .87);--success-color-contrast-A800-parts: rgba(0, 0, 0, .87);--success-color-contrast-A900-parts: rgba(0, 0, 0, .87);--success-color-50-parts-rgb: 231, 240, 230;--success-color-100-parts-rgb: 196, 218, 193;--success-color-200-parts-rgb: 156, 193, 152;--success-color-300-parts-rgb: 116, 168, 110;--success-color-400-parts-rgb: 87, 149, 79;--success-color-500-parts-rgb: 57, 130, 48;--success-color-600-parts-rgb: 51, 122, 43;--success-color-700-parts-rgb: 44, 111, 36;--success-color-800-parts-rgb: 36, 101, 30;--success-color-900-parts-rgb: 23, 82, 19;--error-color-50-parts: #fae5e4;--error-color-100-parts: #f3bdba;--error-color-200-parts: #eb928d;--error-color-300-parts: #e3665f;--error-color-400-parts: #dd453c;--error-color-500-parts: #d7241a;--error-color-600-parts: #d32017;--error-color-700-parts: #cd1b13;--error-color-800-parts: #c7160f;--error-color-900-parts: #be0d08;--error-color-A50-parts: rgba(215, 36, 26, .04);--error-color-A100-parts: rgba(215, 36, 26, .08);--error-color-A200-parts: rgba(215, 36, 26, .16);--error-color-A300-parts: rgba(215, 36, 26, .24);--error-color-A400-parts: rgba(215, 36, 26, .32);--error-color-A500-parts: rgba(215, 36, 26, .4);--error-color-A600-parts: rgba(215, 36, 26, .48);--error-color-A700-parts: rgba(215, 36, 26, .56);--error-color-A800-parts: rgba(215, 36, 26, .64);--error-color-A900-parts: rgba(215, 36, 26, .72);--error-color-contrast-50-parts: rgba(0, 0, 0, .87);--error-color-contrast-100-parts: rgba(0, 0, 0, .87);--error-color-contrast-200-parts: rgba(0, 0, 0, .87);--error-color-contrast-300-parts: rgba(0, 0, 0, .87);--error-color-contrast-400-parts: rgba(0, 0, 0, .87);--error-color-contrast-500-parts: rgba(255, 255, 255, 1);--error-color-contrast-600-parts: rgba(255, 255, 255, 1);--error-color-contrast-700-parts: rgba(255, 255, 255, 1);--error-color-contrast-800-parts: rgba(255, 255, 255, 1);--error-color-contrast-900-parts: rgba(255, 255, 255, 1);--error-color-contrast-A50-parts: rgba(0, 0, 0, .87);--error-color-contrast-A100-parts: rgba(0, 0, 0, .87);--error-color-contrast-A200-parts: rgba(0, 0, 0, .87);--error-color-contrast-A300-parts: rgba(0, 0, 0, .87);--error-color-contrast-A400-parts: rgba(0, 0, 0, .87);--error-color-contrast-A500-parts: rgba(0, 0, 0, .87);--error-color-contrast-A600-parts: rgba(0, 0, 0, .87);--error-color-contrast-A700-parts: rgba(0, 0, 0, .87);--error-color-contrast-A800-parts: rgba(0, 0, 0, .87);--error-color-contrast-A900-parts: rgba(0, 0, 0, .87);--error-color-50-parts-rgb: 250, 229, 228;--error-color-100-parts-rgb: 243, 189, 186;--error-color-200-parts-rgb: 235, 146, 141;--error-color-300-parts-rgb: 227, 102, 95;--error-color-400-parts-rgb: 221, 69, 60;--error-color-500-parts-rgb: 215, 36, 26;--error-color-600-parts-rgb: 211, 32, 23;--error-color-700-parts-rgb: 205, 27, 19;--error-color-800-parts-rgb: 199, 22, 15;--error-color-900-parts-rgb: 190, 13, 8;--neutral-color-50-parts: #e9e9e9;--neutral-color-100-parts: #dddddd;--neutral-color-200-parts: #cccccc;--neutral-color-300-parts: #b0b0b0;--neutral-color-400-parts: #909090;--neutral-color-500-parts: #515151;--neutral-color-600-parts: #424242;--neutral-color-700-parts: #333333;--neutral-color-800-parts: #212121;--neutral-color-900-parts: #141414;--neutral-color-A50-parts: rgba(81, 81, 81, .04);--neutral-color-A100-parts: rgba(81, 81, 81, .08);--neutral-color-A200-parts: rgba(81, 81, 81, .16);--neutral-color-A300-parts: rgba(81, 81, 81, .24);--neutral-color-A400-parts: rgba(81, 81, 81, .32);--neutral-color-A500-parts: rgba(81, 81, 81, .4);--neutral-color-A600-parts: rgba(81, 81, 81, .48);--neutral-color-A700-parts: rgba(81, 81, 81, .56);--neutral-color-A800-parts: rgba(81, 81, 81, .64);--neutral-color-A900-parts: rgba(81, 81, 81, .72);--neutral-color-contrast-50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-400-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-500-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-600-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-700-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-800-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-900-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-A50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A400-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A500-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A600-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A700-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A800-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A900-parts: rgba(0, 0, 0, .87);--neutral-color-50-parts-rgb: 233, 233, 233;--neutral-color-100-parts-rgb: 221, 221, 221;--neutral-color-200-parts-rgb: 204, 204, 204;--neutral-color-300-parts-rgb: 176, 176, 176;--neutral-color-400-parts-rgb: 144, 144, 144;--neutral-color-500-parts-rgb: 81, 81, 81;--neutral-color-600-parts-rgb: 66, 66, 66;--neutral-color-700-parts-rgb: 51, 51, 51;--neutral-color-800-parts-rgb: 33, 33, 33;--neutral-color-900-parts-rgb: 20, 20, 20}.sof-super-header{height:34px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 599px){.sof-super-header{justify-content:center;padding:0}}.external-link-button{margin-left:-7px;min-width:44px;width:44px}.external-link-container{width:250px}.link-text-container{margin-left:8px}.external-link-button{font-size:32px}.external-link-icon{font-size:26px}.sof-ar-header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.sof-ar-header.sof-ar-header-shadow{box-shadow:0 1px 4px #00000080}.sof-ar-header-logo-text{font-size:20px;display:inline-block}::ng-deep .sof-ar-header-icon,::ng-deep .sof-ar-header-menu-icon{font-size:24px}::ng-deep .sof-ar-header-menu-icon{padding-right:10px}::ng-deep .sof-ar-mat-menu{border-radius:2px!important}::ng-deep .sof-ar-mat-menu .mat-mdc-menu-content{padding-top:0!important;padding-bottom:0!important;min-width:150px}::ng-deep .sof-ar-header-menu-list.sof-ar-header-menu-border{border-bottom:1px solid rgba(0,0,0,.25)!important}::ng-deep .sof-ar-header-menu-list{display:flex!important;align-items:center}::ng-deep .sof-ar-header-button-text{font-weight:600;font-size:14px;padding-left:10px;padding-right:10px}.sof-ar-header-logo{max-width:100%;height:32px}@media only screen and (max-width: 599px){.sof-ar-header-logo{height:24px}}.sof-ar-header--left{align-items:center;display:flex}.sof-ar-header--left.sof-ar-toggle-navigation{margin-left:50px}.sof-ar-header--right{text-align:right}.sof-ar-header--center{text-align:center}.absent-account-image{border-right:2px solid var(--primary-color-500-parts)!important;border-radius:6px!important;background:var(--primary-color-500-parts)!important;color:#fff;font-weight:500!important;font-size:16px!important;height:46px!important;margin-left:-1px!important;margin-top:-1px!important}.signed-in-name{font-weight:500!important;font-size:16px!important;color:var(--primary-color-500-parts)!important}.left-radius-10{border-top-left-radius:11px!important;border-bottom-left-radius:11px!important}.language-globe{padding-right:8px;font-size:20px!important}.dark-theme-icon{font-size:20px!important}.selected-language-icon{color:var(--primary-color-500-parts)!important;font-size:20px!important;padding-right:10px!important}.hidden{display:none}@media screen and (max-width: 960px){.mobile-border{padding:0;border:0px;border-radius:11px!important}}\n"] }]
|
|
146
150
|
}], ctorParameters: () => [{ type: i1.OAuthService }, { type: i1.OAuthStorage }, { type: i2.TranslateService }, { type: i3.MediaMatcher }, { type: i0.ChangeDetectorRef }, { type: i4.AuthorizationService }, { type: i5.HybridSamlOauthService, decorators: [{
|
|
147
151
|
type: Optional
|
|
148
152
|
}] }], propDecorators: { settings: [{
|
|
@@ -158,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
158
162
|
}], isLoggedInEE: [{
|
|
159
163
|
type: Output
|
|
160
164
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvaGVhZGVyL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2hlYWRlci9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFZNUcsMkJBQTJCO0FBTTNCLE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLGlDQUFpQztJQUNqQyxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFpRUQsaUNBQWlDO0lBQ2pDLElBQVcsV0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsOENBQThDO1FBQzlDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sU0FBUyxDQUFDO0lBQ3ZELENBQUM7SUFj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YUFBYSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLElBQUksS0FBSyxDQUFDO0lBQ3JGLENBQUM7OEdBMU5VLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBQQ25CcEMsZ3VSQThJQTs7MkZEM0hhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxlQUFlOzswQkFxSXRCLFFBQVE7eUNBOUhLLFFBQVE7c0JBQXZCLEtBQUs7Z0JBR1UsYUFBYTtzQkFBNUIsS0FBSztnQkFHVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBR1csWUFBWTtzQkFBNUIsTUFBTTtnQkFHVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlLCBPQXV0aFN0b3JhZ2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuaW1wb3J0IHsgQXV0aG9yaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2F1dGhvcml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEh5YnJpZFNhbWxPYXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9vYXV0aC9vYXV0aC1hcGknO1xyXG5pbXBvcnQgeyBBY2Nlc3NUb2tlbkNsYWltcyB9IGZyb20gJy4uLy4uLy4uL3JiYWMvcmJhYy1hcGknO1xyXG5pbXBvcnQgeyBIZWFkZXJBdXRoU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGVyLWF1dGguc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci1sYW5ndWFnZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclRoZW1lU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGVyLXRoZW1lLnNldHRpbmdzJztcclxuaW1wb3J0IHsgSGVhZGVyU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGVyLnNldHRpbmdzJztcclxuXHJcbi8qKiBUaGUgSGVhZGVyIENvbXBvbmVudCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcm1hdHVyZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8qKiBDb21wb25lbnQgSW5wdXQgLSB0aGUgaGVhZGVyIHNldHRpbmdzICovXHJcbiAgQElucHV0KCkgcHVibGljIHNldHRpbmdzOiBIZWFkZXJTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIGhlYWRlciB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0aGVtZVNldHRpbmdzOiBIZWFkZXJUaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBBdXRob3JpemF0aW9uIHNldHRpbmdzLiovXHJcbiAgQElucHV0KCkgcHVibGljIGF1dGhTZXR0aW5nczogSGVhZGVyQXV0aFNldHRpbmdzO1xyXG5cclxuICAvKiogQ3VycmVudCBsYW5ndWFnZSAqKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZztcclxuXHJcbiAgLyoqIFNldHMgbGFuZ3VhZ2UgKiovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXRMYW5ndWFnZSQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKiBFdmVudCBFbWl0dGVyIGZvciBpZiB1c2VyIGlzIGxvZ2dlZCBpbi4gKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGlzTG9nZ2VkSW5FRTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAvKiogR2V0cyB0aGUgbm9uIHVzZWQgbGFuZ3VhZ2UgKi9cclxuICBwdWJsaWMgZ2V0IG90aGVyTGFuZ1RleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5sYW5ndWFnZVNldHRpbmdzPy5sYW5ndWFnZXM/LmZpbmQoeCA9PiB4ICE9PSB0aGlzLmN1cnJlbnRMYW5nKTtcclxuICB9XHJcblxyXG4gIC8qKiBTRVRUSU5HUyAqL1xyXG5cclxuICAvKiogaWYgdGhlIGhlYWRlciBpcyBiZWluZyBwYWlyZWQgd2l0aCB0aGUgYXJtYXR1cmUgbmF2aWdhdGlvbi4gdGhpcyB3aWxsIGF1dG8gY3JlYXRlIHRoZSByb29tIG9uIG1vYmlsZSBmb3IgdGhlIG5hdmlnYXRpb24gaWNvbiAqL1xyXG4gIHB1YmxpYyBhcm1hdHVyZU5hdmlnYXRpb246IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gdXNlIHRoZSBhcm1hdHVyZSBoZWFkZXIgb3ZlcmxheSwgZG9lcyBub3QgbWl4IHdpdGggYXJtYXR1cmUgbmF2aWdhdGlvblxyXG4gICAqIFRoaXMgaW5zdGVhZCB3aWxsIGhpZGUgdGhlIHJpZ2h0IGhlYWRlciBjb250ZW50IGFuZCBkaXNwbGF5IHdoYXQncyBwYXNzZWQgdG8gaXQgd2l0aGluIHRoZSBzaWRlIG5hdi5cclxuICAgKi9cclxuICBwdWJsaWMgYXJtYXR1cmVIZWFkZXJPdmVybGF5OiBib29sZWFuO1xyXG5cclxuICAvKiogd2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgbG9nbyAqL1xyXG4gIHB1YmxpYyBkaXNwbGF5TG9nbzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHRoZSBsb2dvIHVybCAqL1xyXG4gIHB1YmxpYyBsb2dvVXJsOiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgbG9nbyBhbHQgdGV4dCAqL1xyXG4gIHB1YmxpYyBsb2dvQWx0VGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogd2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgbG9nbyB0ZXh0LCBkZWZhdWx0IGZhbHNlICovXHJcbiAgcHVibGljIGRpc3BsYXlMb2dvVGV4dDogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHRoZSBoZWFkZXIgbG9nbyB0ZXh0ICovXHJcbiAgcHVibGljIGhlYWRlckxvZ29UZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBidWlsdCBpbiBkcm9wIGRvd24gbWVudSwgZGVmYXVsdCBmYWxzZSAqL1xyXG4gIHB1YmxpYyBkaXNwbGF5RHJvcERvd25NZW51OiBib29sZWFuO1xyXG5cclxuICAvKiogdGhlIGRyb3AgZG93biBtZW51IHNjcmVlbiByZWFkZXIgdGV4dCAqL1xyXG4gIHB1YmxpYyBkcm9wRG93bk1lbnVTUlRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBkcm9wIGRvd24gbWVudSBhcmlhIHRleHQgKi9cclxuICBwdWJsaWMgZHJvcERvd25BcmlhVGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGhlYWRlciBtZW51IGRyb3AgZG93biBpY29uICovXHJcbiAgcHVibGljIGhlYWRlckRyb3BEb3duSWNvbjogc3RyaW5nO1xyXG5cclxuICAvKiogd2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgc3VwZXIgaGVhZGVyLCBkZWZhdWx0IGZhbHNlICovXHJcbiAgcHVibGljIGRpc3BsYXlTdXBlckhlYWRlcjogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFRIRU1FIFNFVFRJTkdTICovXHJcblxyXG4gIC8qKiB0aGUgaGVhZGVyIGNvbG9yICovXHJcbiAgcHVibGljIGhlYWRlckNvbG9yOiBzdHJpbmc7XHJcblxyXG4gIC8qKiB1c2luZyBjb2xvciBzdHJpbmcgaWNvbiBjb2xvciwgb3ZlcnJpZGVzIGljb25NYXRDb2xvciAqL1xyXG4gIHB1YmxpYyBpY29uQ29sb3I6IHN0cmluZztcclxuXHJcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFkZCBhIGRyb3Agc2hhZG93IHRvIHRoZSBoZWFkZXIsIGRlZmF1bHQgdHJ1ZSAqL1xyXG4gIHB1YmxpYyBoZWFkZXJEcm9wU2hhZG93OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIGNvbG9yIG9mIHRoZSBzdXBlciBoZWFkZXIgKi9cclxuICBwdWJsaWMgc3VwZXJIZWFkZXJDb2xvcjogc3RyaW5nO1xyXG5cclxuICAvKiogQVVUSCBTRVRUSU5HUyAqL1xyXG5cclxuICAvKiogRmxhZyBpZiB1c2VyIGlzIGxvZ2dlZCBpbi4gKi9cclxuICBwdWJsaWMgaXNMb2dnZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogVXNlciBuYW1lICoqL1xyXG4gIHB1YmxpYyB1c2VyTmFtZTogc3RyaW5nO1xyXG5cclxuICAvKiogQXV0aG9yaXphdGlvbiBCdXR0b24gVGV4dC4gKi9cclxuICBwdWJsaWMgZ2V0IGF1dGhCdG5UZXh0KCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuaXNMb2dnZWRJbikge1xyXG4gICAgICByZXR1cm4gJ1NJR04gSU4nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2dnZWRJbiA/IHRoaXMuYXV0aFNldHRpbmdzLmxvZ091dFRleHQgOiB0aGlzLmF1dGhTZXR0aW5ncy5sb2dJblRleHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1hbmFnZVVybCgpOiBzdHJpbmcge1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1zdHJpbmctbGl0ZXJhbFxyXG4gICAgcmV0dXJuIGAke3RoaXMuYXV0aFNlcnZpY2VbJ2NvbmZpZyddLmlzc3Vlcn0vbWFuYWdlYDtcclxuICB9XHJcblxyXG4gIC8qKiBUaGUgaGVhZGVyIGxhbmd1YWdlIHNldHRpbmdzICovXHJcbiAgcHVibGljIGhlYWRlckxhbmd1YWdlU2V0dGluZ3M6IEhlYWRlckxhbmd1YWdlU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIHRoZSBtb2JpbGUgcXVlcnkgKi9cclxuICBwdWJsaWMgbW9iaWxlUXVlcnk6IE1lZGlhUXVlcnlMaXN0O1xyXG5cclxuICAvKiogdGhlIG1vYmlsZSBxdWVyeSBsaXN0ZW5lcjIgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IF9tb2JpbGVRdWVyeUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xyXG5cclxuICAvKiogVGhlIGNsYWltcyAqL1xyXG4gIHByaXZhdGUgY2xhaW1zOiBBY2Nlc3NUb2tlbkNsYWltcztcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3IuXHJcbiAgICogQHBhcmFtIGF1dGhTZXJ2aWNlIE9BdXRoIFNlcnZpY2UuXHJcbiAgICogQHBhcmFtIGF1dGhTdG9yYWdlIE9BdXRoIFN0b3JhZ2UuXHJcbiAgICogQHBhcmFtIGh5YnJpZEF1dGhTZXJ2aWNlIEh5YnJpZCBTQU1MIE9hdXRoIHNlcnZpY2UuXHJcbiAgICogQHBhcmFtIG1lZGlhIFRoZSBtZWRpYSBtYXRjaGVyXHJcbiAgICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIFRoZSBjaGFuZ2UgZGV0ZWN0b3IgcmVmZXJlbmNlXHJcbiAgICogQHBhcmFtIGF1dGhvcml6YXRpb25TZXJ2aWNlIFRoZSBBdXRob3JpemF0aW9uIFNlcnZpY2UuXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTdG9yYWdlOiBPQXV0aFN0b3JhZ2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lZGlhOiBNZWRpYU1hdGNoZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aG9yaXphdGlvblNlcnZpY2U6IEF1dGhvcml6YXRpb25TZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBoeWJyaWRBdXRoU2VydmljZTogSHlicmlkU2FtbE9hdXRoU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5tb2JpbGVRdWVyeSA9IG1lZGlhLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk1OXB4KScpO1xyXG4gICAgdGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lciA9ICgpID0+IHtcclxuICAgICAgY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfTtcclxuICAgIC8vIGJlbG93IGlmIHN0YXRlbWVudCBpcyBmb3IgZWRnZSBzdXBwb3J0IHNpbmNlIGFkZEV2ZW50TGlzdGVuZXIgZG9lc24ndCBleGlzdCBmb3IgTWVkaWFRdWVyeUxpc3RzXHJcbiAgICBpZiAodGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMubW9iaWxlUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lcik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRMaXN0ZW5lcih0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBPbiBJbml0ICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gYmFzaWMgc2V0dGluZ3NcclxuICAgIHRoaXMuc2V0dGluZ3MuYXJtYXR1cmVOYXZpZ2F0aW9uICE9IHVuZGVmaW5lZCA/IHRoaXMuYXJtYXR1cmVOYXZpZ2F0aW9uID0gdGhpcy5zZXR0aW5ncy5hcm1hdHVyZU5hdmlnYXRpb24gOiB0aGlzLmFybWF0dXJlTmF2aWdhdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLnNldHRpbmdzLmFybWF0dXJlSGVhZGVyT3ZlcmxheSA/IHRoaXMuYXJtYXR1cmVIZWFkZXJPdmVybGF5ID0gdGhpcy5zZXR0aW5ncy5hcm1hdHVyZUhlYWRlck92ZXJsYXkgOiB0aGlzLmFybWF0dXJlSGVhZGVyT3ZlcmxheSA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheUxvZ28gPyB0aGlzLmRpc3BsYXlMb2dvID0gdGhpcy5zZXR0aW5ncy5kaXNwbGF5TG9nbyA6IHRoaXMuZGlzcGxheUxvZ28gPSBmYWxzZTtcclxuICAgIHRoaXMuc2V0dGluZ3MubG9nb1VybCA/IHRoaXMubG9nb1VybCA9IHRoaXMuc2V0dGluZ3MubG9nb1VybCA6IHRoaXMubG9nb1VybCA9ICcuL2Fzc2V0cy9sb2dvcy9sb2dvLnN2Zyc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmxvZ29BbHRUZXh0ID8gdGhpcy5sb2dvQWx0VGV4dCA9IHRoaXMuc2V0dGluZ3MubG9nb0FsdFRleHQgOiB0aGlzLmxvZ29BbHRUZXh0ID0gJ3RoZSBoZWFkZXIgbG9nbyc7XHJcblxyXG4gICAgdGhpcy5zZXR0aW5ncy5kaXNwbGF5TG9nb1RleHQgPyB0aGlzLmRpc3BsYXlMb2dvVGV4dCA9IHRoaXMuc2V0dGluZ3MuZGlzcGxheUxvZ29UZXh0IDogdGhpcy5kaXNwbGF5TG9nb1RleHQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2V0dGluZ3MuaGVhZGVyTG9nb1RleHQgPyB0aGlzLmhlYWRlckxvZ29UZXh0ID0gdGhpcy5zZXR0aW5ncy5oZWFkZXJMb2dvVGV4dCA6IHRoaXMuaGVhZGVyTG9nb1RleHQgPSAnU29mdGhlb24nO1xyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheURyb3BEb3duTWVudSA/IHRoaXMuZGlzcGxheURyb3BEb3duTWVudSA9IHRoaXMuc2V0dGluZ3MuZGlzcGxheURyb3BEb3duTWVudSA6IHRoaXMuZGlzcGxheURyb3BEb3duTWVudSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5kcm9wRG93bk1lbnVTUlRleHQgPyB0aGlzLmRyb3BEb3duTWVudVNSVGV4dCA9IHRoaXMuc2V0dGluZ3MuZHJvcERvd25NZW51U1JUZXh0IDogdGhpcy5kcm9wRG93bk1lbnVTUlRleHQgPSAnSGVhZGVyIERyb3Bkb3duIE1lbnUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5kcm9wRG93bkFyaWFUZXh0ID8gdGhpcy5kcm9wRG93bkFyaWFUZXh0ID0gdGhpcy5zZXR0aW5ncy5kcm9wRG93bkFyaWFUZXh0IDogdGhpcy5kcm9wRG93bkFyaWFUZXh0ID0gJ0hlYWRlciBEcm9wZG93biBNZW51IGJ1dHRvbiBpY29uJztcclxuICAgIHRoaXMuc2V0dGluZ3MuaGVhZGVyRHJvcERvd25JY29uID8gdGhpcy5oZWFkZXJEcm9wRG93bkljb24gPSB0aGlzLnNldHRpbmdzLmhlYWRlckRyb3BEb3duSWNvbiA6IHRoaXMuaGVhZGVyRHJvcERvd25JY29uID0gJ2ZhZCBmYS11c2VyLWNpcmNsZSc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmRhcmtUaGVtZVRleHQgPSB0aGlzLnNldHRpbmdzLmRhcmtUaGVtZVRleHQgfHwgJ0RhcmsgVGhlbWUnO1xyXG4gICAgdGhpcy5zZXRIZWFkZXJUaGVtZVNldHRpbmdzKCk7XHJcbiAgICB0aGlzLmhlYWRlckxhbmd1YWdlU2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzLmxhbmd1YWdlU2V0dGluZ3M7XHJcblxyXG4gICAgLy8gc2V0IHVwIG9hdXRoIG9ubHkgd2hlbiBjb25maWdzIGFuZCBpc3N1ZXIgYXJlIHByb3ZpZGVkXHJcbiAgICBpZiAodGhpcy5hdXRoU2V0dGluZ3MgJiYgdGhpcy5hdXRoU2V0dGluZ3MuaXNzdWVyKSB7XHJcbiAgICAgIHRoaXMuYXV0aG9yaXphdGlvblNlcnZpY2UuaW5pdGlhbGl6ZUF1dGhTZXR0aW5ncyh0aGlzLmF1dGhTZXR0aW5ncyk7XHJcbiAgICAgIHRoaXMuYXV0aG9yaXphdGlvblNlcnZpY2UuaXNMb2dnZWRJbiQuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9nZ2VkSW4gPSB2YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLnVzZXJOYW1lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZXMgdGhlIHRoZW0gb2YgdGhlIGFwcGxpY2F0aW9uXHJcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBldmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyB0b2dnbGVUaGVtZShldmVudDogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpOiB2b2lkIHtcclxuICAgIC8vIFdJUDogZGlmZmVyZW50IGZlYXR1cmVcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogQXV0aG9yaXplIFVzZXIuXHJcbiAgKi9cclxuICBwdWJsaWMgYXV0aG9yaXplVXNlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aG9yaXphdGlvblNlcnZpY2UuYXV0aG9yaXplVXNlcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgdGhlbWUgY29sb3JcclxuICAgKiBAcGFyYW0gdmFyaWFibGUgdGhlIGNzcyB2YXJpYWJsZSBuYW1lXHJcbiAgICogQHBhcmFtIGNvbG9yIHRoZSBjb2xvclxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRUaGVtZUNvbG9yKHZhcmlhYmxlOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1zb2YtaGVhZGVyLSR7dmFyaWFibGV9YCwgY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgdGhlIGhlYWRlciB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gIHByaXZhdGUgc2V0SGVhZGVyVGhlbWVTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIC8vIFN1cGVyIEhlYWRlciBTZXR0aW5nc1xyXG4gICAgdGhpcy5zZXR0aW5ncy5kaXNwbGF5U3VwZXJIZWFkZXIgPyB0aGlzLmRpc3BsYXlTdXBlckhlYWRlciA9IHRoaXMuc2V0dGluZ3MuZGlzcGxheVN1cGVySGVhZGVyIDogdGhpcy5kaXNwbGF5U3VwZXJIZWFkZXIgPSBmYWxzZTtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvclxyXG4gICAgICA/IHRoaXMuc3VwZXJIZWFkZXJDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5zdXBlckhlYWRlckNvbG9yIDogdGhpcy5zdXBlckhlYWRlckNvbG9yID0gJyMwMDAnO1xyXG5cclxuICAgIC8vIEhlYWRlciBUaGVtZSBTZXR0aW5nc1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzICYmIHRoaXMudGhlbWVTZXR0aW5ncy5zdXBlckhlYWRlckNvbG9yID8gdGhpcy5oZWFkZXJDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJDb2xvciA6IHRoaXMuaGVhZGVyQ29sb3IgPSAnI2ZmZic7XHJcbiAgICB0aGlzLmhlYWRlckNvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmhlYWRlckNvbG9yIHx8ICcjZmZmJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA/IHRoaXMuaWNvbkNvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmljb25Db2xvciA6IHRoaXMuaWNvbkNvbG9yID0gJyM0REI2QUMnO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzICYmIHRoaXMudGhlbWVTZXR0aW5ncy5zdXBlckhlYWRlckNvbG9yID9cclxuICAgIHRoaXMuaGVhZGVyRHJvcFNoYWRvdyA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJEcm9wU2hhZG93IDogdGhpcy5oZWFkZXJEcm9wU2hhZG93ID0gdHJ1ZTtcclxuICAgIHRoaXMuaGVhZGVyRHJvcFNoYWRvdyA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJEcm9wU2hhZG93ID09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyRHJvcFNoYWRvdztcclxuXHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tQ29sb3IgPSB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tQ29sb3IgfHwgJyc7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tU2l6ZSA9IHRoaXMudGhlbWVTZXR0aW5ncy5ib3JkZXJCb3R0b21TaXplIHx8ICcwcHgnO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlTdXBlckhlYWRlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzb2Ytc3VwZXItaGVhZGVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJyA6IHN1cGVySGVhZGVyQ29sb3J9XCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLXN1cGVyLWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48aGVhZGVyPlxyXG4gIDxtYXQtdG9vbGJhciBjbGFzcz1cInNvZi1hci1oZWFkZXJcIiBbY2xhc3Muc29mLWFyLWhlYWRlci1zaGFkb3ddPVwiaGVhZGVyRHJvcFNoYWRvd1wiXHJcbiAgICBbbmdTdHlsZV09XCJ7J2hlaWdodC5weCc6IHNldHRpbmdzPy5oZWFkZXJTdHlsZXM/LmhlaWdodCwgYmFja2dyb3VuZDogaGVhZGVyQ29sb3IsICdib3JkZXItYm90dG9tJzogdGhlbWVTZXR0aW5ncy5ib3JkZXJCb3R0b21TaXplICsgJyBzb2xpZCAnICsgdGhlbWVTZXR0aW5ncy5ib3JkZXJCb3R0b21Db2xvciB9XCJcclxuICAgIFtuZ1N0eWxlLmx0LXNtXT1cInsnaGVpZ2h0LnB4Jzogc2V0dGluZ3M/LmhlYWRlclN0eWxlcz8uaGVpZ2h0TW9iaWxlIHx8IDY0LCBiYWNrZ3JvdW5kOiBoZWFkZXJDb2xvciwgJ2JvcmRlci1ib3R0b20nOiB0aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbVNpemUgKyAnIHNvbGlkICcgKyB0aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbUNvbG9yIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItaGVhZGVyLS1sZWZ0XCIgW2NsYXNzLnNvZi1hci10b2dnbGUtbmF2aWdhdGlvbl09XCIobW9iaWxlUXVlcnkubWF0Y2hlcyAmJiAoYXJtYXR1cmVOYXZpZ2F0aW9uIHx8IGFybWF0dXJlSGVhZGVyT3ZlcmxheSkpIHx8IHNldHRpbmdzPy5jcmVhdGVTcGFjZUZvck5hdlRvZ2dsZVwiPlxyXG4gICAgICA8IS0tIExvZ28gSW1hZ2UgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5TG9nb1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZXR0aW5ncz8ubG9nb1JvdXRlckxpbmtQYXRoID09PSAnaW50ZXJuYWwnOyBlbHNlIGV4dGVybmFsXCI+XHJcbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJzZXR0aW5ncz8ubG9nb1JvdXRlckxpbmtcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInNvZi1hci1oZWFkZXItbG9nb1wiIFtzcmNdPVwibG9nb1VybFwiIGFsdD1cInt7bG9nb0FsdFRleHQgfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydoZWlnaHQucHgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8uaGVpZ2h0LCAnd2lkdGgucHgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8ud2lkdGgsICdtYXgtd2lkdGgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8ud2lkdGggKyAncHgnIHx8ICcxMDAlJ31cIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlLmx0LXNtXT1cInsnaGVpZ2h0LnB4Jzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LmhlaWdodE1vYmlsZSwgJ3dpZHRoLnB4Jzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LndpZHRoTW9iaWxlLCAnbWF4LXdpZHRoJzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LndpZHRoTW9iaWxlICsgJ3B4JyB8fCAnMTAwJSd9XCIgLz5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2V4dGVybmFsPlxyXG4gICAgICAgICAgPGEgW2hyZWZdPVwic2V0dGluZ3M/LmxvZ29Sb3V0ZXJMaW5rXCI+PGltZyBjbGFzcz1cInNvZi1hci1oZWFkZXItbG9nb1wiIFtzcmNdPVwibG9nb1VybFwiXHJcbiAgICAgICAgICAgICAgYWx0PVwie3tsb2dvQWx0VGV4dCB8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J2hlaWdodC5weCc6IHNldHRpbmdzPy5sb2dvU3R5bGVzPy5oZWlnaHQsICd3aWR0aC5weCc6IHNldHRpbmdzPy5sb2dvU3R5bGVzPy53aWR0aCwgJ21heC13aWR0aCc6IHNldHRpbmdzPy5sb2dvU3R5bGVzPy53aWR0aCArICdweCcgfHwgJzEwMCUnfVwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGUubHQtc21dPVwieydoZWlnaHQucHgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8uaGVpZ2h0TW9iaWxlLCAnd2lkdGgucHgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8ud2lkdGhNb2JpbGUsICdtYXgtd2lkdGgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8ud2lkdGhNb2JpbGUgKyAncHgnIHx8ICcxMDAlJ31cIiAvPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIExvZ28gVGV4dCAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlMb2dvVGV4dFwiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwic29mLWFyLWhlYWRlci1sb2dvLXRleHRcIj57e2hlYWRlckxvZ29UZXh0fX08L3A+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIE5HLUNvbnRlbnQgTGVmdCAtLT5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1oZWFkZXItbGVmdF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItaGVhZGVyLS1jZW50ZXJcIj5cclxuICAgICAgPCEtLSBORy1Db250ZW50IENlbnRlciAtLT5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1oZWFkZXItY2VudGVyXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNvZi1hci1oZWFkZXItLXJpZ2h0XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiPlxyXG4gICAgICA8IS0tIE5HLUNvbnRlbnQgUmlnaHQgLS0+XHJcbiAgICAgIDxzcGFuIGZ4RmxleD1cImF1dG8gMCAxXCIgW2Z4SGlkZS5sdC1zbV09XCIhYXJtYXR1cmVOYXZpZ2F0aW9uICYmIGFybWF0dXJlSGVhZGVyT3ZlcmxheVwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItaGVhZGVyLXJpZ2h0XVwiPjwvbmctY29udGVudD5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cImF1dG8gMCAxXCIgKm5nSWY9XCJkaXNwbGF5RHJvcERvd25NZW51XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBpZD1cInNvZi1hci1oZWFkZXItYnRuLWRyb3Bkb3duXCIgbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxyXG4gICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNvZkFySGVhZGVyTWVudVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcERvd25BcmlhVGV4dCB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImljb25Db2xvclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cInt7aGVhZGVyRHJvcERvd25JY29ufX1cIj48L2k+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnt7ZHJvcERvd25NZW51U1JUZXh0IHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1tZW51ICNzb2ZBckhlYWRlck1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJzb2YtYXItbWF0LW1lbnVcIj5cclxuICAgICAgICAgIDwhLS0gTkctQ29udGVudCBNZW51IC0tPlxyXG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1oZWFkZXItbWVudV1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gTGFuZ3VhZ2UgYnV0dG9uIC0tPlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cImF1dG8gMCAxXCJcclxuICAgICAgICAqbmdJZj1cImhlYWRlckxhbmd1YWdlU2V0dGluZ3M/LmRpc3BsYXlMYW5ndWFnZU9wdGlvbnMgJiYgaGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5sZW5ndGggPiAyICYmICAhbW9iaWxlUXVlcnkubWF0Y2hlc1wiPlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJzb2YtYXItaGVhZGVyLWxhbmctZHJvcGRvd25cIiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJzb2YtZmxhdC1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImhlYWRlckxhbmd1YWdlTWVudVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncy5idXR0b25UZXh0IHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZ2xvYmUgbGFuZ3VhZ2UtZ2xvYmVcIj48L2k+XHJcbiAgICAgICAgICAgIHt7aGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncy5idXR0b25UZXh0IHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8bWF0LW1lbnUgI2hlYWRlckxhbmd1YWdlTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInNvZi1hci1tYXQtbWVudVwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBsYW5nIG9mIGhlYWRlckxhbmd1YWdlU2V0dGluZ3MubGFuZ3VhZ2VzXCIgKGNsaWNrKT1cInNldExhbmd1YWdlJC5lbWl0KGxhbmcpXCJcclxuICAgICAgICAgICAgaWQ9XCJhcHBseS1sYW5nLWJ0bi17e2xhbmd9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAge3sgbGFuZyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiYXV0b1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImN1cnJlbnRMYW5nID09PSBsYW5nXCIgY2xhc3M9XCJmYWQgZmEtY2hlY2sgc2VsZWN0ZWQtbGFuZ3VhZ2UtaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwiaGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncz8uZGlzcGxheUxhbmd1YWdlT3B0aW9ucyAmJiBoZWFkZXJMYW5ndWFnZVNldHRpbmdzPy5sYW5ndWFnZXM/Lmxlbmd0aCA9PT0gMiAmJiAgIW1vYmlsZVF1ZXJ5Lm1hdGNoZXNcIj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncy5sYW5ndWFnZXMubGVuZ3RoID09PSAyXCIgaWQ9XCJzb2YtYXItaGVhZGVyLWxhbmctYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cInNvZi1mbGF0LWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzZXRMYW5ndWFnZSQuZW1pdCgpXCI+XHJcbiAgICAgICAgICA8c3BhbiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1nbG9iZSBsYW5ndWFnZS1nbG9iZVwiPjwvaT5cclxuICAgICAgICAgICAge3tvdGhlckxhbmdUZXh0IHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gQXV0aG9yaXphdGlvbiBidXR0b24gLS0+XHJcbiAgICAgIDxkaXYgZnhGbGV4PVwiYXV0byAwIDFcIiAqbmdJZj1cInNldHRpbmdzPy5kaXNwbGF5QXV0aEluZm9cIj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzTG9nZ2VkSW47ZWxzZSBsb2dnZWRJblwiIGlkPVwic29mLWFyLWhlYWRlci1idG4tYXV0aFwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYXV0aG9yaXplVXNlcigpXCJcclxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXV0aEJ0blRleHQgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInNvZi1mbGF0LWJ1dHRvblwiPlxyXG4gICAgICAgICAge3sgYXV0aEJ0blRleHQgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvZ2dlZEluPlxyXG4gICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiYXV0byAwIDFcIiBmeEhpZGUubHQtbWQ+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwic2V0dGluZ3M/Lm1ha2VVc2VybmFtZVVuY2xpY2thYmxlXCIgaWQ9XCJzb2YtYXItbG9nZ2VkLWluLWJ0bi1kcm9wZG93blwiIGRhdGEtcHJpdmFjeT1cImV4Y2x1ZGVcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwic29mQXJMb2dpbk1lbnVcIlxyXG4gICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uIHN0eWxlPVwicGFkZGluZy1sZWZ0OjBweCAhaW1wb3J0YW50XCJcclxuICAgICAgICAgICAgICAgIG5nQ2xhc3M9XCJsZWZ0LXJhZGl1cy0xMCBzb2Ytc3Ryb2tlZC1idXR0b24gbW9iaWxlLWJvcmRlclwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxNXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiNDZweFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cImFic2VudC1hY2NvdW50LWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg9XCIxMDAlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBmeFNob3cgZnhIaWRlLmx0LW1kIGZ4RmxleD1cImF1dG9cIiBjbGFzcz1cInNpZ25lZC1pbi1uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgdXNlck5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8IS0tIExvZ2luIG1lbnUgLS0+XHJcbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNzb2ZBckxvZ2luTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInNvZi1hci1tYXQtbWVudVwiIGlkPVwibG9naW5NZW51XCI+XHJcbiAgICAgICAgICAgICAgICA8YSBtYXQtbWVudS1pdGVtIGhyZWY9XCJ7e21hbmFnZVVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGF1dGhTZXR0aW5ncy5teUFjY291bnRUZXh0IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2V0dGluZ3MuZGlzcGxheURhcmtUaGVtZVwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIGRpc2FibGVkPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj1cImFjY2VudFwiIGxhYmVsUG9zaXRpb249XCJiZWZvcmVcIiBbYXJpYS1sYWJlbF09XCJzZXR0aW5ncy5kYXJrVGhlbWVUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2RhcmstdGhlbWUtdG9nZ2xlLWJ0bidcIiAoY2hhbmdlKT1cInRvZ2dsZVRoZW1lKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZXR0aW5ncy5kYXJrVGhlbWVUZXh0ICsgJyhjb21pbmcgc29vbiEpJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVE9ETzogZGV0ZXJtaW5lIGlmIGljb24gaXMgbGlrZWQgPGkgY2xhc3M9XCJmYWQgZmEtbW9vbi1jbG91ZCBkYXJrLXRoZW1lLWljb25cIj48L2k+IC0tPlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtaGVhZGVyLXVzZXItbWVudV1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiYXV0byAwIDFcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIGlkPVwic29mLWFyLWxvZy1vdXQtYnRuXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWZsYXQtaWNvbi1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIiBzaXplPVwibWVkaXVtXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhdXRob3JpemVVc2VyKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImF1dGhCdG5UZXh0IHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGkgZnhGbGV4PVwiMTAwJVwiIGNsYXNzPVwiZmFzIGZhLXNpZ24tb3V0LWFsdFwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtdG9vbGJhcj5cclxuPC9oZWFkZXI+XHJcbiJdfQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvaGVhZGVyL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2hlYWRlci9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFrQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhcEksMkJBQTJCO0FBTTNCLE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLGlDQUFpQztJQUNqQyxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFpRUQsaUNBQWlDO0lBQ2pDLElBQVcsV0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsOENBQThDO1FBQzlDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sU0FBUyxDQUFDO0lB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QyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFFdEgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztRQUNsRixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLElBQUksS0FBSyxDQUFDO0lBQ3JGLENBQUM7OEdBL05VLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBQQ3BCcEMsdXVVQTRLUzs7MkZEeEpJLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxlQUFlOzswQkF3SXRCLFFBQVE7eUNBaklLLFFBQVE7c0JBQXZCLEtBQUs7Z0JBR1UsYUFBYTtzQkFBNUIsS0FBSztnQkFHVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBR1csWUFBWTtzQkFBNUIsTUFBTTtnQkFHVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgV3JpdGFibGVTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlLCBPQXV0aFN0b3JhZ2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuaW1wb3J0IHsgQXV0aG9yaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2F1dGhvcml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEh5YnJpZFNhbWxPYXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9vYXV0aC9vYXV0aC1hcGknO1xyXG5pbXBvcnQgeyBBY2Nlc3NUb2tlbkNsYWltcyB9IGZyb20gJy4uLy4uLy4uL3JiYWMvcmJhYy1hcGknO1xyXG5pbXBvcnQgeyBIZWFkZXJBdXRoU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGVyLWF1dGguc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci1sYW5ndWFnZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclRoZW1lU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGVyLXRoZW1lLnNldHRpbmdzJztcclxuaW1wb3J0IHsgSGVhZGVyU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGVyLnNldHRpbmdzJztcclxuaW1wb3J0IHsgSGVhZGVyRXh0ZXJuYWxMaW5rcyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItZXh0ZXJuYWwtbGlua3MnO1xyXG5cclxuLyoqIFRoZSBIZWFkZXIgQ29tcG9uZW50ICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc29mLWFyLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFybWF0dXJlSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoqIENvbXBvbmVudCBJbnB1dCAtIHRoZSBoZWFkZXIgc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0dGluZ3M6IEhlYWRlclNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDb21wb25lbnQgSW5wdXQgLSB0aGUgaGVhZGVyIHRoZW1lIHNldHRpbmdzICovXHJcbiAgQElucHV0KCkgcHVibGljIHRoZW1lU2V0dGluZ3M6IEhlYWRlclRoZW1lU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIEF1dGhvcml6YXRpb24gc2V0dGluZ3MuKi9cclxuICBASW5wdXQoKSBwdWJsaWMgYXV0aFNldHRpbmdzOiBIZWFkZXJBdXRoU2V0dGluZ3M7XHJcblxyXG4gIC8qKiBDdXJyZW50IGxhbmd1YWdlICoqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50TGFuZzogc3RyaW5nO1xyXG5cclxuICAvKiogU2V0cyBsYW5ndWFnZSAqKi9cclxuICBAT3V0cHV0KCkgcHVibGljIHNldExhbmd1YWdlJDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqIEV2ZW50IEVtaXR0ZXIgZm9yIGlmIHVzZXIgaXMgbG9nZ2VkIGluLiAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaXNMb2dnZWRJbkVFOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKiBHZXRzIHRoZSBub24gdXNlZCBsYW5ndWFnZSAqL1xyXG4gIHB1YmxpYyBnZXQgb3RoZXJMYW5nVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3M/Lmxhbmd1YWdlU2V0dGluZ3M/Lmxhbmd1YWdlcz8uZmluZCh4ID0+IHggIT09IHRoaXMuY3VycmVudExhbmcpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNFVFRJTkdTICovXHJcblxyXG4gIC8qKiBpZiB0aGUgaGVhZGVyIGlzIGJlaW5nIHBhaXJlZCB3aXRoIHRoZSBhcm1hdHVyZSBuYXZpZ2F0aW9uLiB0aGlzIHdpbGwgYXV0byBjcmVhdGUgdGhlIHJvb20gb24gbW9iaWxlIGZvciB0aGUgbmF2aWdhdGlvbiBpY29uICovXHJcbiAgcHVibGljIGFybWF0dXJlTmF2aWdhdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0byB1c2UgdGhlIGFybWF0dXJlIGhlYWRlciBvdmVybGF5LCBkb2VzIG5vdCBtaXggd2l0aCBhcm1hdHVyZSBuYXZpZ2F0aW9uXHJcbiAgICogVGhpcyBpbnN0ZWFkIHdpbGwgaGlkZSB0aGUgcmlnaHQgaGVhZGVyIGNvbnRlbnQgYW5kIGRpc3BsYXkgd2hhdCdzIHBhc3NlZCB0byBpdCB3aXRoaW4gdGhlIHNpZGUgbmF2LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhcm1hdHVyZUhlYWRlck92ZXJsYXk6IGJvb2xlYW47XHJcblxyXG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0byBkaXNwbGF5IHRoZSBsb2dvICovXHJcbiAgcHVibGljIGRpc3BsYXlMb2dvOiBib29sZWFuO1xyXG5cclxuICAvKiogdGhlIGxvZ28gdXJsICovXHJcbiAgcHVibGljIGxvZ29Vcmw6IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBsb2dvIGFsdCB0ZXh0ICovXHJcbiAgcHVibGljIGxvZ29BbHRUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBsb2dvIHRleHQsIGRlZmF1bHQgZmFsc2UgKi9cclxuICBwdWJsaWMgZGlzcGxheUxvZ29UZXh0OiBib29sZWFuO1xyXG5cclxuICAvKiogdGhlIGhlYWRlciBsb2dvIHRleHQgKi9cclxuICBwdWJsaWMgaGVhZGVyTG9nb1RleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIHdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGJ1aWx0IGluIGRyb3AgZG93biBtZW51LCBkZWZhdWx0IGZhbHNlICovXHJcbiAgcHVibGljIGRpc3BsYXlEcm9wRG93bk1lbnU6IGJvb2xlYW47XHJcblxyXG4gIC8qKiB0aGUgZHJvcCBkb3duIG1lbnUgc2NyZWVuIHJlYWRlciB0ZXh0ICovXHJcbiAgcHVibGljIGRyb3BEb3duTWVudVNSVGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGRyb3AgZG93biBtZW51IGFyaWEgdGV4dCAqL1xyXG4gIHB1YmxpYyBkcm9wRG93bkFyaWFUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgaGVhZGVyIG1lbnUgZHJvcCBkb3duIGljb24gKi9cclxuICBwdWJsaWMgaGVhZGVyRHJvcERvd25JY29uOiBzdHJpbmc7XHJcblxyXG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBzdXBlciBoZWFkZXIsIGRlZmF1bHQgZmFsc2UgKi9cclxuICBwdWJsaWMgZGlzcGxheVN1cGVySGVhZGVyOiBib29sZWFuO1xyXG5cclxuICAvKiogVEhFTUUgU0VUVElOR1MgKi9cclxuXHJcbiAgLyoqIHRoZSBoZWFkZXIgY29sb3IgKi9cclxuICBwdWJsaWMgaGVhZGVyQ29sb3I6IHN0cmluZztcclxuXHJcbiAgLyoqIHVzaW5nIGNvbG9yIHN0cmluZyBpY29uIGNvbG9yLCBvdmVycmlkZXMgaWNvbk1hdENvbG9yICovXHJcbiAgcHVibGljIGljb25Db2xvcjogc3RyaW5nO1xyXG5cclxuICAvKiogV2hldGhlciBvciBub3QgdG8gYWRkIGEgZHJvcCBzaGFkb3cgdG8gdGhlIGhlYWRlciwgZGVmYXVsdCB0cnVlICovXHJcbiAgcHVibGljIGhlYWRlckRyb3BTaGFkb3c6IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUaGUgY29sb3Igb2YgdGhlIHN1cGVyIGhlYWRlciAqL1xyXG4gIHB1YmxpYyBzdXBlckhlYWRlckNvbG9yOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBBVVRIIFNFVFRJTkdTICovXHJcblxyXG4gIC8qKiBGbGFnIGlmIHVzZXIgaXMgbG9nZ2VkIGluLiAqL1xyXG4gIHB1YmxpYyBpc0xvZ2dlZEluOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBVc2VyIG5hbWUgKiovXHJcbiAgcHVibGljIHVzZXJOYW1lOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBBdXRob3JpemF0aW9uIEJ1dHRvbiBUZXh0LiAqL1xyXG4gIHB1YmxpYyBnZXQgYXV0aEJ0blRleHQoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5pc0xvZ2dlZEluKSB7XHJcbiAgICAgIHJldHVybiAnU0lHTiBJTic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5pc0xvZ2dlZEluID8gdGhpcy5hdXRoU2V0dGluZ3MubG9nT3V0VGV4dCA6IHRoaXMuYXV0aFNldHRpbmdzLmxvZ0luVGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbWFuYWdlVXJsKCk6IHN0cmluZyB7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXN0cmluZy1saXRlcmFsXHJcbiAgICByZXR1cm4gYCR7dGhpcy5hdXRoU2VydmljZVsnY29uZmlnJ10uaXNzdWVyfS9tYW5hZ2VgO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBoZWFkZXIgbGFuZ3VhZ2Ugc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgaGVhZGVyTGFuZ3VhZ2VTZXR0aW5nczogSGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIGhlYWRlciBleHRlcm5hbCBsaW5rcyAqL1xyXG4gIHB1YmxpYyBleHRlcm5hbExpbmtzOiBXcml0YWJsZVNpZ25hbDxBcnJheTxIZWFkZXJFeHRlcm5hbExpbmtzPj4gPSBzaWduYWwoW10pO1xyXG5cclxuICAvKiogdGhlIG1vYmlsZSBxdWVyeSAqL1xyXG4gIHB1YmxpYyBtb2JpbGVRdWVyeTogTWVkaWFRdWVyeUxpc3Q7XHJcblxyXG4gIC8qKiB0aGUgbW9iaWxlIHF1ZXJ5IGxpc3RlbmVyMiAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX21vYmlsZVF1ZXJ5TGlzdGVuZXI6ICgpID0+IHZvaWQ7XHJcblxyXG4gIC8qKiBUaGUgY2xhaW1zICovXHJcbiAgcHJpdmF0ZSBjbGFpbXM6IEFjY2Vzc1Rva2VuQ2xhaW1zO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3Rvci5cclxuICAgKiBAcGFyYW0gYXV0aFNlcnZpY2UgT0F1dGggU2VydmljZS5cclxuICAgKiBAcGFyYW0gYXV0aFN0b3JhZ2UgT0F1dGggU3RvcmFnZS5cclxuICAgKiBAcGFyYW0gaHlicmlkQXV0aFNlcnZpY2UgSHlicmlkIFNBTUwgT2F1dGggc2VydmljZS5cclxuICAgKiBAcGFyYW0gbWVkaWEgVGhlIG1lZGlhIG1hdGNoZXJcclxuICAgKiBAcGFyYW0gY2hhbmdlRGV0ZWN0b3JSZWYgVGhlIGNoYW5nZSBkZXRlY3RvciByZWZlcmVuY2VcclxuICAgKiBAcGFyYW0gYXV0aG9yaXphdGlvblNlcnZpY2UgVGhlIEF1dGhvcml6YXRpb24gU2VydmljZS5cclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFN0b3JhZ2U6IE9BdXRoU3RvcmFnZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVkaWE6IE1lZGlhTWF0Y2hlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRob3JpemF0aW9uU2VydmljZTogQXV0aG9yaXphdGlvblNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGh5YnJpZEF1dGhTZXJ2aWNlOiBIeWJyaWRTYW1sT2F1dGhTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5ID0gbWVkaWEubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTU5cHgpJyk7XHJcbiAgICB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9O1xyXG4gICAgLy8gYmVsb3cgaWYgc3RhdGVtZW50IGlzIGZvciBlZGdlIHN1cHBvcnQgc2luY2UgYWRkRXZlbnRMaXN0ZW5lciBkb2Vzbid0IGV4aXN0IGZvciBNZWRpYVF1ZXJ5TGlzdHNcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZExpc3RlbmVyKHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIEluaXQgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBiYXNpYyBzZXR0aW5nc1xyXG4gICAgdGhpcy5zZXR0aW5ncy5hcm1hdHVyZU5hdmlnYXRpb24gIT0gdW5kZWZpbmVkID8gdGhpcy5hcm1hdHVyZU5hdmlnYXRpb24gPSB0aGlzLnNldHRpbmdzLmFybWF0dXJlTmF2aWdhdGlvbiA6IHRoaXMuYXJtYXR1cmVOYXZpZ2F0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc2V0dGluZ3MuYXJtYXR1cmVIZWFkZXJPdmVybGF5ID8gdGhpcy5hcm1hdHVyZUhlYWRlck92ZXJsYXkgPSB0aGlzLnNldHRpbmdzLmFybWF0dXJlSGVhZGVyT3ZlcmxheSA6IHRoaXMuYXJtYXR1cmVIZWFkZXJPdmVybGF5ID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5zZXR0aW5ncy5kaXNwbGF5TG9nbyA/IHRoaXMuZGlzcGxheUxvZ28gPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlMb2dvIDogdGhpcy5kaXNwbGF5TG9nbyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5sb2dvVXJsID8gdGhpcy5sb2dvVXJsID0gdGhpcy5zZXR0aW5ncy5sb2dvVXJsIDogdGhpcy5sb2dvVXJsID0gJy4vYXNzZXRzL2xvZ29zL2xvZ28uc3ZnJztcclxuICAgIHRoaXMuc2V0dGluZ3MubG9nb0FsdFRleHQgPyB0aGlzLmxvZ29BbHRUZXh0ID0gdGhpcy5zZXR0aW5ncy5sb2dvQWx0VGV4dCA6IHRoaXMubG9nb0FsdFRleHQgPSAndGhlIGhlYWRlciBsb2dvJztcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzLmRpc3BsYXlMb2dvVGV4dCA/IHRoaXMuZGlzcGxheUxvZ29UZXh0ID0gdGhpcy5zZXR0aW5ncy5kaXNwbGF5TG9nb1RleHQgOiB0aGlzLmRpc3BsYXlMb2dvVGV4dCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5oZWFkZXJMb2dvVGV4dCA/IHRoaXMuaGVhZGVyTG9nb1RleHQgPSB0aGlzLnNldHRpbmdzLmhlYWRlckxvZ29UZXh0IDogdGhpcy5oZWFkZXJMb2dvVGV4dCA9ICdTb2Z0aGVvbic7XHJcblxyXG4gICAgdGhpcy5zZXR0aW5ncy5kaXNwbGF5RHJvcERvd25NZW51ID8gdGhpcy5kaXNwbGF5RHJvcERvd25NZW51ID0gdGhpcy5zZXR0aW5ncy5kaXNwbGF5RHJvcERvd25NZW51IDogdGhpcy5kaXNwbGF5RHJvcERvd25NZW51ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNldHRpbmdzLmRyb3BEb3duTWVudVNSVGV4dCA/IHRoaXMuZHJvcERvd25NZW51U1JUZXh0ID0gdGhpcy5zZXR0aW5ncy5kcm9wRG93bk1lbnVTUlRleHQgOiB0aGlzLmRyb3BEb3duTWVudVNSVGV4dCA9ICdIZWFkZXIgRHJvcGRvd24gTWVudSc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmRyb3BEb3duQXJpYVRleHQgPyB0aGlzLmRyb3BEb3duQXJpYVRleHQgPSB0aGlzLnNldHRpbmdzLmRyb3BEb3duQXJpYVRleHQgOiB0aGlzLmRyb3BEb3duQXJpYVRleHQgPSAnSGVhZGVyIERyb3Bkb3duIE1lbnUgYnV0dG9uIGljb24nO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5oZWFkZXJEcm9wRG93bkljb24gPyB0aGlzLmhlYWRlckRyb3BEb3duSWNvbiA9IHRoaXMuc2V0dGluZ3MuaGVhZGVyRHJvcERvd25JY29uIDogdGhpcy5oZWFkZXJEcm9wRG93bkljb24gPSAnZmFkIGZhLXVzZXItY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MuZGFya1RoZW1lVGV4dCA9IHRoaXMuc2V0dGluZ3MuZGFya1RoZW1lVGV4dCB8fCAnRGFyayBUaGVtZSc7XHJcbiAgICB0aGlzLnNldEhlYWRlclRoZW1lU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3MubGFuZ3VhZ2VTZXR0aW5ncztcclxuXHJcbiAgICB0aGlzLmV4dGVybmFsTGlua3Muc2V0KHRoaXMuc2V0dGluZ3MuZXh0ZXJuYWxMaW5rcyB8fCBbXSk7XHJcblxyXG4gICAgLy8gc2V0IHVwIG9hdXRoIG9ubHkgd2hlbiBjb25maWdzIGFuZCBpc3N1ZXIgYXJlIHByb3ZpZGVkXHJcbiAgICBpZiAodGhpcy5hdXRoU2V0dGluZ3MgJiYgdGhpcy5hdXRoU2V0dGluZ3MuaXNzdWVyKSB7XHJcbiAgICAgIHRoaXMuYXV0aG9yaXphdGlvblNlcnZpY2UuaW5pdGlhbGl6ZUF1dGhTZXR0aW5ncyh0aGlzLmF1dGhTZXR0aW5ncyk7XHJcbiAgICAgIHRoaXMuYXV0aG9yaXphdGlvblNlcnZpY2UuaXNMb2dnZWRJbiQuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9nZ2VkSW4gPSB2YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLnVzZXJOYW1lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZXMgdGhlIHRoZW0gb2YgdGhlIGFwcGxpY2F0aW9uXHJcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBldmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyB0b2dnbGVUaGVtZShldmVudDogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpOiB2b2lkIHtcclxuICAgIC8vIFdJUDogZGlmZmVyZW50IGZlYXR1cmVcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogQXV0aG9yaXplIFVzZXIuXHJcbiAgKi9cclxuICBwdWJsaWMgYXV0aG9yaXplVXNlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aG9yaXphdGlvblNlcnZpY2UuYXV0aG9yaXplVXNlcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgdGhlbWUgY29sb3JcclxuICAgKiBAcGFyYW0gdmFyaWFibGUgdGhlIGNzcyB2YXJpYWJsZSBuYW1lXHJcbiAgICogQHBhcmFtIGNvbG9yIHRoZSBjb2xvclxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRUaGVtZUNvbG9yKHZhcmlhYmxlOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1zb2YtaGVhZGVyLSR7dmFyaWFibGV9YCwgY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgdGhlIGhlYWRlciB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gIHByaXZhdGUgc2V0SGVhZGVyVGhlbWVTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIC8vIFN1cGVyIEhlYWRlciBTZXR0aW5nc1xyXG4gICAgdGhpcy5zZXR0aW5ncy5kaXNwbGF5U3VwZXJIZWFkZXIgPyB0aGlzLmRpc3BsYXlTdXBlckhlYWRlciA9IHRoaXMuc2V0dGluZ3MuZGlzcGxheVN1cGVySGVhZGVyIDogdGhpcy5kaXNwbGF5U3VwZXJIZWFkZXIgPSBmYWxzZTtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvclxyXG4gICAgICA/IHRoaXMuc3VwZXJIZWFkZXJDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5zdXBlckhlYWRlckNvbG9yIDogdGhpcy5zdXBlckhlYWRlckNvbG9yID0gJyMwMDAnO1xyXG5cclxuICAgIC8vIEhlYWRlciBUaGVtZSBTZXR0aW5nc1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzICYmIHRoaXMudGhlbWVTZXR0aW5ncy5zdXBlckhlYWRlckNvbG9yID8gdGhpcy5oZWFkZXJDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJDb2xvciA6IHRoaXMuaGVhZGVyQ29sb3IgPSAnI2ZmZic7XHJcbiAgICB0aGlzLmhlYWRlckNvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmhlYWRlckNvbG9yIHx8ICcjZmZmJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA/IHRoaXMuaWNvbkNvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmljb25Db2xvciA6IHRoaXMuaWNvbkNvbG9yID0gJyM0REI2QUMnO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzICYmIHRoaXMudGhlbWVTZXR0aW5ncy5zdXBlckhlYWRlckNvbG9yID9cclxuICAgIHRoaXMuaGVhZGVyRHJvcFNoYWRvdyA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJEcm9wU2hhZG93IDogdGhpcy5oZWFkZXJEcm9wU2hhZG93ID0gdHJ1ZTtcclxuICAgIHRoaXMuaGVhZGVyRHJvcFNoYWRvdyA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJEcm9wU2hhZG93ID09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyRHJvcFNoYWRvdztcclxuXHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tQ29sb3IgPSB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tQ29sb3IgfHwgJyc7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tU2l6ZSA9IHRoaXMudGhlbWVTZXR0aW5ncy5ib3JkZXJCb3R0b21TaXplIHx8ICcwcHgnO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlTdXBlckhlYWRlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzb2Ytc3VwZXItaGVhZGVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJyA6IHN1cGVySGVhZGVyQ29sb3J9XCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLXN1cGVyLWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48aGVhZGVyPlxyXG4gIDxtYXQtdG9vbGJhciBjbGFzcz1cInNvZi1hci1oZWFkZXJcIiBbY2xhc3Muc29mLWFyLWhlYWRlci1zaGFkb3ddPVwiaGVhZGVyRHJvcFNoYWRvd1wiXHJcbiAgICBbbmdTdHlsZV09XCJ7J2hlaWdodC5weCc6IHNldHRpbmdzPy5oZWFkZXJTdHlsZXM/LmhlaWdodCwgYmFja2dyb3VuZDogaGVhZGVyQ29sb3IsICdib3JkZXItYm90dG9tJzogdGhlbWVTZXR0aW5ncy5ib3JkZXJCb3R0b21TaXplICsgJyBzb2xpZCAnICsgdGhlbWVTZXR0aW5ncy5ib3JkZXJCb3R0b21Db2xvciB9XCJcclxuICAgIFtuZ1N0eWxlLmx0LXNtXT1cInsnaGVpZ2h0LnB4Jzogc2V0dGluZ3M/LmhlYWRlclN0eWxlcz8uaGVpZ2h0TW9iaWxlIHx8IDY0LCBiYWNrZ3JvdW5kOiBoZWFkZXJDb2xvciwgJ2JvcmRlci1ib3R0b20nOiB0aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbVNpemUgKyAnIHNvbGlkICcgKyB0aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbUNvbG9yIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItaGVhZGVyLS1sZWZ0XCJcclxuICAgICAgW2NsYXNzLnNvZi1hci10b2dnbGUtbmF2aWdhdGlvbl09XCIobW9iaWxlUXVlcnkubWF0Y2hlcyAmJiAoYXJtYXR1cmVOYXZpZ2F0aW9uIHx8IGFybWF0dXJlSGVhZGVyT3ZlcmxheSkpIHx8IHNldHRpbmdzPy5jcmVhdGVTcGFjZUZvck5hdlRvZ2dsZVwiPlxyXG4gICAgICA8IS0tIGV4dGVybmFsIGxpbmtzIC0tPlxyXG4gICAgICBAaWYoZXh0ZXJuYWxMaW5rcygpLmxlbmd0aCkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJleHRlcm5hbC1saW5rLWJ1dHRvblwiIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cInBoIHBoLWRvdHMtbmluZSBleHRlcm5hbC1saW5rLWJ1dHRvblwiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBjbGFzcz1cImV4dGVybmFsLWxpbmstY29udGFpbmVyXCI+XHJcbiAgICAgICAgICBAZm9yKGxpbmsgb2YgZXh0ZXJuYWxMaW5rcygpOyB0cmFjayBsaW5rLnRyYW5zbGF0ZUtleSkge1xyXG4gICAgICAgICAgPGEgbWF0LW1lbnUtaXRlbSBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD1cImF1dG9cIiBmeExheW91dEFsaWduPVwiY2VudGVyIHN0YXJ0XCIgaHJlZj1cInt7bGluay51cml9fVwiIHRhcmdldD1cIl9ibGFua1wiIFttYXRUb29sdGlwXT1cIihsaW5rLmljb25BbHRUZXh0VHJhbnNsYXRlS2V5IHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgIEBpZighIWxpbmsuaWNvbiB8fCAhIWxpbmsubG9nbykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg9XCJhdXRvXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIEBpZighIWxpbmsuaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3tsaW5rLmljb259fSBleHRlcm5hbC1saW5rLWljb25cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGVsc2UgaWYoISFsaW5rLmxvZ28pe1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwie3tsaW5rLmxvZ299fVwiIGFsdD1cInt7bGluay5pY29uQWx0VGV4dFRyYW5zbGF0ZUtleSB8IHRyYW5zbGF0ZX19XCIgd2lkdGg9XCIzMnB4XCIgaGVpZ2h0PVwiMzJweFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmKCEhbGluay50cmFuc2xhdGVLZXkpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg9XCJhdXRvXCIgY2xhc3M9XCJsaW5rLXRleHQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tsaW5rLnRyYW5zbGF0ZUtleSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgIH1cclxuICAgICAgPCEtLSBMb2dvIEltYWdlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUxvZ29cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2V0dGluZ3M/LmxvZ29Sb3V0ZXJMaW5rUGF0aCA9PT0gJ2ludGVybmFsJzsgZWxzZSBleHRlcm5hbFwiPlxyXG4gICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwic2V0dGluZ3M/LmxvZ29Sb3V0ZXJMaW5rXCI+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJzb2YtYXItaGVhZGVyLWxvZ29cIiBbc3JjXT1cImxvZ29VcmxcIiBhbHQ9XCJ7e2xvZ29BbHRUZXh0IHwgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnaGVpZ2h0LnB4Jzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LmhlaWdodCwgJ3dpZHRoLnB4Jzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LndpZHRoLCAnbWF4LXdpZHRoJzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LndpZHRoICsgJ3B4JyB8fCAnMTAwJSd9XCJcclxuICAgICAgICAgICAgICBbbmdTdHlsZS5sdC1zbV09XCJ7J2hlaWdodC5weCc6IHNldHRpbmdzPy5sb2dvU3R5bGVzPy5oZWlnaHRNb2JpbGUsICd3aWR0aC5weCc6IHNldHRpbmdzPy5sb2dvU3R5bGVzPy53aWR0aE1vYmlsZSwgJ21heC13aWR0aCc6IHNldHRpbmdzPy5sb2dvU3R5bGVzPy53aWR0aE1vYmlsZSArICdweCcgfHwgJzEwMCUnfVwiIC8+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNleHRlcm5hbD5cclxuICAgICAgICAgIDxhIFtocmVmXT1cInNldHRpbmdzPy5sb2dvUm91dGVyTGlua1wiPjxpbWcgY2xhc3M9XCJzb2YtYXItaGVhZGVyLWxvZ29cIiBbc3JjXT1cImxvZ29VcmxcIlxyXG4gICAgICAgICAgICAgIGFsdD1cInt7bG9nb0FsdFRleHQgfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydoZWlnaHQucHgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8uaGVpZ2h0LCAnd2lkdGgucHgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8ud2lkdGgsICdtYXgtd2lkdGgnOiBzZXR0aW5ncz8ubG9nb1N0eWxlcz8ud2lkdGggKyAncHgnIHx8ICcxMDAlJ31cIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlLmx0LXNtXT1cInsnaGVpZ2h0LnB4Jzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LmhlaWdodE1vYmlsZSwgJ3dpZHRoLnB4Jzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LndpZHRoTW9iaWxlLCAnbWF4LXdpZHRoJzogc2V0dGluZ3M/LmxvZ29TdHlsZXM/LndpZHRoTW9iaWxlICsgJ3B4JyB8fCAnMTAwJSd9XCIgLz5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBMb2dvIFRleHQgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5TG9nb1RleHRcIj5cclxuICAgICAgICA8cCBjbGFzcz1cInNvZi1hci1oZWFkZXItbG9nby10ZXh0XCI+e3toZWFkZXJMb2dvVGV4dH19PC9wPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBORy1Db250ZW50IExlZnQgLS0+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItaGVhZGVyLWxlZnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLWhlYWRlci0tY2VudGVyXCI+XHJcbiAgICAgIDwhLS0gTkctQ29udGVudCBDZW50ZXIgLS0+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItaGVhZGVyLWNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItaGVhZGVyLS1yaWdodFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cclxuICAgICAgPCEtLSBORy1Db250ZW50IFJpZ2h0IC0tPlxyXG4gICAgICA8c3BhbiBmeEZsZXg9XCJhdXRvIDAgMVwiIFtmeEhpZGUubHQtc21dPVwiIWFybWF0dXJlTmF2aWdhdGlvbiAmJiBhcm1hdHVyZUhlYWRlck92ZXJsYXlcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLWhlYWRlci1yaWdodF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPGRpdiBmeEZsZXg9XCJhdXRvIDAgMVwiICpuZ0lmPVwiZGlzcGxheURyb3BEb3duTWVudVwiPlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJzb2YtYXItaGVhZGVyLWJ0bi1kcm9wZG93blwiIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcclxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzb2ZBckhlYWRlck1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImRyb3BEb3duQXJpYVRleHQgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJpY29uQ29sb3JcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJ7e2hlYWRlckRyb3BEb3duSWNvbn19XCI+PC9pPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57e2Ryb3BEb3duTWVudVNSVGV4dCB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtbWVudSAjc29mQXJIZWFkZXJNZW51PVwibWF0TWVudVwiIGNsYXNzPVwic29mLWFyLW1hdC1tZW51XCI+XHJcbiAgICAgICAgICA8IS0tIE5HLUNvbnRlbnQgTWVudSAtLT5cclxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItaGVhZGVyLW1lbnVdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIExhbmd1YWdlIGJ1dHRvbiAtLT5cclxuICAgICAgPGRpdiBmeEZsZXg9XCJhdXRvIDAgMVwiXHJcbiAgICAgICAgKm5nSWY9XCJoZWFkZXJMYW5ndWFnZVNldHRpbmdzPy5kaXNwbGF5TGFuZ3VhZ2VPcHRpb25zICYmIGhlYWRlckxhbmd1YWdlU2V0dGluZ3M/Lmxhbmd1YWdlcz8ubGVuZ3RoID4gMiAmJiAgIW1vYmlsZVF1ZXJ5Lm1hdGNoZXNcIj5cclxuICAgICAgICA8YnV0dG9uIGlkPVwic29mLWFyLWhlYWRlci1sYW5nLWRyb3Bkb3duXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWZsYXQtYnV0dG9uXCIgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJoZWFkZXJMYW5ndWFnZU1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImhlYWRlckxhbmd1YWdlU2V0dGluZ3MuYnV0dG9uVGV4dCB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWdsb2JlIGxhbmd1YWdlLWdsb2JlXCI+PC9pPlxyXG4gICAgICAgICAgICB7e2hlYWRlckxhbmd1YWdlU2V0dGluZ3MuYnV0dG9uVGV4dCB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1tZW51ICNoZWFkZXJMYW5ndWFnZU1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJzb2YtYXItbWF0LW1lbnVcIj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgbGFuZyBvZiBoZWFkZXJMYW5ndWFnZVNldHRpbmdzLmxhbmd1YWdlc1wiIChjbGljayk9XCJzZXRMYW5ndWFnZSQuZW1pdChsYW5nKVwiXHJcbiAgICAgICAgICAgIGlkPVwiYXBwbHktbGFuZy1idG4te3tsYW5nfX1cIj5cclxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD1cImF1dG9cIj5cclxuICAgICAgICAgICAgICAgIHt7IGxhbmcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD1cImF1dG9cIiBmeExheW91dEFsaWduPVwiZW5kIGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjdXJyZW50TGFuZyA9PT0gbGFuZ1wiIGNsYXNzPVwiZmFkIGZhLWNoZWNrIHNlbGVjdGVkLWxhbmd1YWdlLWljb25cIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAqbmdJZj1cImhlYWRlckxhbmd1YWdlU2V0dGluZ3M/LmRpc3BsYXlMYW5ndWFnZU9wdGlvbnMgJiYgaGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5sZW5ndGggPT09IDIgJiYgICFtb2JpbGVRdWVyeS5tYXRjaGVzXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImhlYWRlckxhbmd1YWdlU2V0dGluZ3MubGFuZ3VhZ2VzLmxlbmd0aCA9PT0gMlwiIGlkPVwic29mLWFyLWhlYWRlci1sYW5nLWJ1dHRvblwiIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgY2xhc3M9XCJzb2YtZmxhdC1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2V0TGFuZ3VhZ2UkLmVtaXQoKVwiPlxyXG4gICAgICAgICAgPHNwYW4gZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZ2xvYmUgbGFuZ3VhZ2UtZ2xvYmVcIj48L2k+XHJcbiAgICAgICAgICAgIHt7b3RoZXJMYW5nVGV4dCB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIEF1dGhvcml6YXRpb24gYnV0dG9uIC0tPlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cImF1dG8gMCAxXCIgKm5nSWY9XCJzZXR0aW5ncz8uZGlzcGxheUF1dGhJbmZvXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFpc0xvZ2dlZEluO2Vsc2UgbG9nZ2VkSW5cIiBpZD1cInNvZi1hci1oZWFkZXItYnRuLWF1dGhcIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIChjbGljayk9XCJhdXRob3JpemVVc2VyKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImF1dGhCdG5UZXh0IHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJzb2YtZmxhdC1idXR0b25cIj5cclxuICAgICAgICAgIHt7IGF1dGhCdG5UZXh0IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNsb2dnZWRJbj5cclxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD1cImF1dG8gMCAxXCIgZnhIaWRlLmx0LW1kPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNldHRpbmdzPy5tYWtlVXNlcm5hbWVVbmNsaWNrYWJsZVwiIGlkPVwic29mLWFyLWxvZ2dlZC1pbi1idG4tZHJvcGRvd25cIlxyXG4gICAgICAgICAgICAgICAgZGF0YS1wcml2YWN5PVwiZXhjbHVkZVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJzb2ZBckxvZ2luTWVudVwiIG1hdC1zdHJva2VkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6MHB4ICFpbXBvcnRhbnRcIiBuZ0NsYXNzPVwibGVmdC1yYWRpdXMtMTAgc29mLXN0cm9rZWQtYnV0dG9uIG1vYmlsZS1ib3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg9XCI0NnB4XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiYWJzZW50LWFjY291bnQtaW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjEwMCVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXJOYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGZ4U2hvdyBmeEhpZGUubHQtbWQgZnhGbGV4PVwiYXV0b1wiIGNsYXNzPVwic2lnbmVkLWluLW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyB1c2VyTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwhLS0gTG9naW4gbWVudSAtLT5cclxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI3NvZkFyTG9naW5NZW51PVwibWF0TWVudVwiIGNsYXNzPVwic29mLWFyLW1hdC1tZW51XCIgaWQ9XCJsb2dpbk1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxhIG1hdC1tZW51LWl0ZW0gaHJlZj1cInt7bWFuYWdlVXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICAgICAge3sgYXV0aFNldHRpbmdzLm15QWNjb3VudFRleHQgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZXR0aW5ncy5kaXNwbGF5RGFya1RoZW1lXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgZGlzYWJsZWQ+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNvbG9yPVwiYWNjZW50XCIgbGFiZWxQb3NpdGlvbj1cImJlZm9yZVwiIFthcmlhLWxhYmVsXT1cInNldHRpbmdzLmRhcmtUaGVtZVRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCInZGFyay10aGVtZS10b2dnbGUtYnRuJ1wiIChjaGFuZ2UpPVwidG9nZ2xlVGhlbWUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHNldHRpbmdzLmRhcmtUaGVtZVRleHQgKyAnKGNvbWluZyBzb29uISknIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBUT0RPOiBkZXRlcm1pbmUgaWYgaWNvbiBpcyBsaWtlZCA8aSBjbGFzcz1cImZhZCBmYS1tb29uLWNsb3VkIGRhcmstdGhlbWUtaWNvblwiPjwvaT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1oZWFkZXItdXNlci1tZW51XVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBmeEZsZXg9XCJhdXRvIDAgMVwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJzb2YtYXItbG9nLW91dC1idG5cIiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJzb2YtZmxhdC1pY29uLWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImF1dGhvcml6ZVVzZXIoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiYXV0aEJ0blRleHQgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBmeEZsZXg9XCIxMDAlXCIgY2xhc3M9XCJmYXMgZmEtc2lnbi1vdXQtYWx0XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC10b29sYmFyPlxyXG48L2hlYWRlcj4iXX0=
|