@eui/components 17.0.0-next.6 → 17.0.0-next.7
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/eui-autocomplete/eui-autocomplete.component.mjs +3 -4
- package/esm2022/eui-dropdown/eui-dropdown.component.mjs +9 -4
- package/esm2022/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.mjs +2 -2
- package/esm2022/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.mjs +2 -2
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.mjs +3 -3
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.mjs +2 -2
- package/esm2022/eui-overlay/eui-overlay.component.mjs +9 -6
- package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +7 -3
- package/esm2022/layout/eui-app/eui-app.component.mjs +2 -1
- package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +3 -3
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.mjs +19 -4
- package/esm2022/layout/eui-user-profile/user-profile-card/user-profile-card.component.mjs +9 -3
- package/esm2022/layout/eui-user-profile/user-profile.component.mjs +11 -5
- package/esm2022/shared/eui-common-header/common-header.component.mjs +12 -6
- package/eui-autocomplete/eui-autocomplete.component.d.ts +0 -1
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-dropdown/eui-dropdown.component.d.ts.map +1 -1
- package/eui-overlay/eui-overlay.component.d.ts +3 -1
- package/eui-overlay/eui-overlay.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-header/eui-page-header.component.d.ts +3 -1
- package/eui-page/components/eui-page-header/eui-page-header.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +2 -3
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +8 -3
- package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
- package/fesm2022/eui-components-eui-overlay.mjs +16 -13
- package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +6 -2
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +40 -12
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/fesm2022/eui-components-shared.mjs +11 -5
- package/fesm2022/eui-components-shared.mjs.map +1 -1
- package/layout/eui-app/eui-app.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.d.ts +7 -2
- package/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.d.ts.map +1 -1
- package/layout/eui-user-profile/user-profile-card/user-profile-card.component.d.ts +3 -1
- package/layout/eui-user-profile/user-profile-card/user-profile-card.component.d.ts.map +1 -1
- package/layout/eui-user-profile/user-profile.component.d.ts +3 -0
- package/layout/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/package.json +7 -7
- package/shared/eui-common-header/common-header.component.d.ts +5 -2
- package/shared/eui-common-header/common-header.component.d.ts.map +1 -1
@@ -162,11 +162,11 @@ export class EuiNotificationsV2Component {
|
|
162
162
|
return unreadNotifications.length;
|
163
163
|
}
|
164
164
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiNotificationsV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
165
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiNotificationsV2Component, selector: "eui-notifications-v2", inputs: { count: "count", unreadCount: "unreadCount", unreadSinceLastCheckCount: "unreadSinceLastCheckCount", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", headerHideLabel: "headerHideLabel", headerUnreadSinceLastCheckCountLabel: "headerUnreadSinceLastCheckCountLabel", headerUnreadCountLabel: "headerUnreadCountLabel", noNotificationFoundLabel: "noNotificationFoundLabel", nbUnreadCount: "nbUnreadCount", dateFormat: "dateFormat", noNotificationFoundLink: "noNotificationFoundLink", isShowMarkAsRead: "isShowMarkAsRead", isShowViewAllAction: "isShowViewAllAction", isHidePanelOnViewAllAction: "isHidePanelOnViewAllAction", customUnreadCount: "customUnreadCount", isShowMarkAllAsReadButton: "isShowMarkAllAsReadButton", isShowSettingsButton: "isShowSettingsButton", isShowRefreshButton: "isShowRefreshButton" }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", settingsClick: "settingsClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { properties: { "class": "this.string" } }, usesOnChanges: true, ngImport: i0, template: "<eui-icon-svg\n class=\"eui-notifications-v2__trigger\"\n role=\"button\"\n size=\"m\"\n icon=\"eui-notifications\"\n fillColor=\"grey-5\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\"\n tabindex=\"0\">\n <eui-badge *ngIf=\"unreadSinceLastCheckCount\" euiSizeS euiDanger>{{ unreadSinceLastCheckCount }}</eui-badge>\n</eui-icon-svg>\n\n<!-- FROM MWP -->\n\n<!-- <div class=\"mywp-notification-qv\">\n <div class=\"mywp-notification-qv__header\">\n <div class=\"mywp-notification-qv__header-left\">\n <h5 class=\"eui-u-font-bold\">\n {{ 'notif.MY-NOTIFICATION' | translate }}\n </h5>\n <ul>\n <li>\n <strong>{{ unreadIdsSinceLastCheck.length }}</strong>\n {{ 'notif.SV-NEW-COUNT-LABEL' | translate }}\n </li>\n <li>\n <span>{{ unreadCount }}</span>\n {{ 'notif.SV-UNREAD-COUNT-LABEL' | translate }}\n </li>\n </ul>\n </div>\n <div class=\"mywp-notification-qv__header-right\">\n <span class=\"hide\">\n <a (click)=\"hideSidebar($event)\">\n {{ 'notif.SV-HIDE' | translate }}\n </a>\n <span class=\"ml-2 eui-u-font-size-xs eui-icon eui-icon-chevron-right\"></span>\n </span>\n </div>\n </div>\n <div class=\"mywp-notification-qv__actions-bar\">\n <a *ngIf=\"items.length > 0\" (click)=\"onMarkAllAsRead($event)\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n <a (click)=\"onRefreshClick($event)\" class=\"d-flex align-items-center\">\n <span class=\"eui-icon eui-icon-refresh mr-1\"></span>\n {{ 'notif.SV-REFRESH' | translate }}\n </a>\n </div>\n <div class=\"mywp-notification-qv__content\" *ngIf=\"items && items.length > 0\">\n <ul>\n <li *ngFor=\"let item of items; trackBy: trackById\" [ngClass]=\"{ 'eui-u-bg-color-info-lightester-2': !item.metadata.read }\">\n <div class=\"mywp-notification-qv__content-item-top eui-u-font-size-h7\">\n <div class=\"time\">\n <span class=\"time__icon mr-2\">\n <span class=\"eui-icon eui-icon-bell eui-u-font-size-h5\" [ngClass]=\"{ 'eui-u-color-info-lighter time__icon--rotated': !item.metadata.read, 'eui-u-color-grey-light': item.metadata.read }\"></span>\n <span *ngIf=\"isNew(item)\" class=\"time__icon-dot eui-u-color-danger-light eui-u-font-size-h9 eui-icon eui-icon-circle\"></span>\n </span>\n <span class=\"eui-u-color-grey-dark\">{{ item.metadata.date }}</span>\n </div>\n <div *ngIf=\"item.metadata.important\" class=\"d-flex align-items-center eui-u-font-bold eui-u-color-grey-dark\">\n {{ 'notif.SV-IMPORTANT-LABEL' | translate }}\n <span class=\"ml-1 eui-u-color-danger-dark eui-icon eui-icon-exclamation\"></span>\n </div>\n </div>\n <span (click)=\"onItemClick(item)\" class=\"mywp-notification-qv__content-item-middle eui-u-cursor-pointer\" [ngClass]=\"{ 'eui-u-font-bold': !item.metadata.read }\">\n {{ item.label }}\n </span>\n <div class=\"mywp-notification-qv__content-item-bottom\">\n <a *ngIf=\"!item.metadata.read\" (click)=\"onMarkAsRead(item)\">{{ 'notif.MARK-AS-READ' | translate }}</a>\n </div>\n </li>\n </ul>\n </div>\n <div class=\"mywp-notification-qv__footer\" *ngIf=\"items && items.length > 0\">\n <a *ngIf=\"items.length > 0\" (click)=\"onViewAll($event)\">{{ 'notif.VIEW-ALL-NOTIFICATIONS' | translate }}</a>\n </div>\n</div> -->\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications-v2__header\">\n <div class=\"eui-notifications-v2__header-title\">\n <div class=\"eui-notifications-v2__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n </div>\n\n <div class=\"eui-notifications-v2__header-title-actions\">\n <span class=\"hide\">\n <a (click)=\"onHide()\" class=\"eui-u-text-link\">\n {{ headerHideLabel ? headerHideLabel : ('eui.HIDE' | translate) }}\n </a>\n <span class=\"ml-2 eui-u-font-size-xs eui-icon eui-icon-chevron-right\"></span>\n </span>\n </div>\n </div>\n\n <div class=\"eui-notifications-v2__header-subinfos-bar\">\n <strong>{{ unreadSinceLastCheckCount }}</strong>\n <span class=\"eui-u-ml-xs\">{{\n headerUnreadSinceLastCheckCountLabel ? headerUnreadSinceLastCheckCountLabel : ('eui.NEW-COUNT' | translate)\n }}</span>\n\n <span class=\"eui-u-ml-xs\">|</span>\n\n <span class=\"eui-u-ml-xs\">{{ unreadCount }}</span>\n <span class=\"eui-u-ml-xs\">{{ headerUnreadCountLabel ? headerUnreadCountLabel : ('eui.NEW-COUNT' | translate) }}</span>\n </div>\n\n <div class=\"eui-notifications-v2__header-subactions-bar\">\n <a *ngIf=\"items.length > 0\" (click)=\"onMarkAllAsRead($event)\" class=\"eui-u-text-link\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n <a (click)=\"onRefresh($event)\" class=\"eui-u-text-link eui-u-ml-auto\">\n <span class=\"eui-u-flex\">\n <span class=\"eui-icon eui-icon-refresh mr-1\"></span>\n {{ 'notif.SV-REFRESH' | translate }}\n </span>\n </a>\n </div>\n </div>\n </eui-overlay-header>\n\n <eui-overlay-body>\n <ul class=\"eui-notifications-items\" *ngIf=\"items\">\n <eui-notification-item-v2\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item-v2>\n </ul>\n </eui-overlay-body>\n\n <eui-overlay-footer>\n <ng-template [ngIf]=\"items?.length > 0\">\n <strong\n ><a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">{{\n viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate)\n }}</a></strong\n >\n </ng-template>\n <ng-template [ngIf]=\"items?.length === 0\">\n <div class=\"ux-notification__item-content\" *ngIf=\"!noNotificationFoundLink\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n <div class=\"ux-notification__item-content\" *ngIf=\"noNotificationFoundLink\">\n <strong\n ><a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">{{\n noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate)\n }}</a></strong\n >\n </div>\n </ng-template>\n </eui-overlay-footer>\n</eui-overlay>\n", styles: [".eui-overlay-header{padding:0}.eui-overlay-footer{background-color:var(--eui-base-color-white)}.eui-notifications-items{margin:0;padding:0}.eui-notifications-v2__trigger{cursor:pointer;margin-top:var(--eui-base-spacing-xs);margin-left:var(--eui-base-spacing-s)}.eui-notifications-v2__trigger:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:5px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-notifications-v2__header{border-bottom:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-font);cursor:default;flex-direction:column;display:flex;width:100%}.eui-notifications-v2__header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notifications-v2__header-title-label{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-notifications-v2__header-title-subLabel{margin-top:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-notifications-v2__header-title-actions{align-items:center;display:flex;margin-left:auto}.eui-notifications-v2__header-subinfos-bar,.eui-notifications-v2__header-subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-base-color-info-10);border-bottom:1px solid var(--eui-base-color-grey-15);display:flex;flex-direction:column;min-height:var(--eui-base-spacing-4xl);padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-base-color-grey-5)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{display:flex;margin:var(--eui-base-spacing-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-base-spacing-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i2.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i2.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i2.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "position", "width", "fixedWidth"] }, { kind: "component", type: i3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["aria-label"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i5.EuiNotificationItemV2Component, selector: "eui-notification-item-v2", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
165
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiNotificationsV2Component, selector: "eui-notifications-v2", inputs: { count: "count", unreadCount: "unreadCount", unreadSinceLastCheckCount: "unreadSinceLastCheckCount", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", headerHideLabel: "headerHideLabel", headerUnreadSinceLastCheckCountLabel: "headerUnreadSinceLastCheckCountLabel", headerUnreadCountLabel: "headerUnreadCountLabel", noNotificationFoundLabel: "noNotificationFoundLabel", nbUnreadCount: "nbUnreadCount", dateFormat: "dateFormat", noNotificationFoundLink: "noNotificationFoundLink", isShowMarkAsRead: "isShowMarkAsRead", isShowViewAllAction: "isShowViewAllAction", isHidePanelOnViewAllAction: "isHidePanelOnViewAllAction", customUnreadCount: "customUnreadCount", isShowMarkAllAsReadButton: "isShowMarkAllAsReadButton", isShowSettingsButton: "isShowSettingsButton", isShowRefreshButton: "isShowRefreshButton" }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", settingsClick: "settingsClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { properties: { "class": "this.string" } }, usesOnChanges: true, ngImport: i0, template: "<eui-icon-svg\n class=\"eui-notifications-v2__trigger\"\n role=\"button\"\n size=\"m\"\n icon=\"eui-notifications\"\n fillColor=\"grey-5\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\"\n tabindex=\"0\">\n <eui-badge *ngIf=\"unreadSinceLastCheckCount\" euiSizeS euiDanger>{{ unreadSinceLastCheckCount }}</eui-badge>\n</eui-icon-svg>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications-v2__header\">\n <div class=\"eui-notifications-v2__header-title\">\n <div class=\"eui-notifications-v2__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n </div>\n\n <div class=\"eui-notifications-v2__header-title-actions\">\n <span class=\"hide\">\n <a (click)=\"onHide()\" class=\"eui-u-text-link\" role=\"button\" tabIndex=\"0\">\n {{ headerHideLabel ? headerHideLabel : ('eui.HIDE' | translate) }}\n </a>\n <span class=\"ml-2 eui-u-font-size-xs eui-icon eui-icon-chevron-right\"></span>\n </span>\n </div>\n </div>\n\n <div class=\"eui-notifications-v2__header-subinfos-bar\">\n <strong>{{ unreadSinceLastCheckCount }}</strong>\n <span class=\"eui-u-ml-xs\">{{\n headerUnreadSinceLastCheckCountLabel ? headerUnreadSinceLastCheckCountLabel : ('eui.NEW-COUNT' | translate)\n }}</span>\n\n <span class=\"eui-u-ml-xs\">|</span>\n\n <span class=\"eui-u-ml-xs\">{{ unreadCount }}</span>\n <span class=\"eui-u-ml-xs\">{{ headerUnreadCountLabel ? headerUnreadCountLabel : ('eui.NEW-COUNT' | translate) }}</span>\n </div>\n\n <div class=\"eui-notifications-v2__header-subactions-bar\">\n <a *ngIf=\"items.length > 0\" (click)=\"onMarkAllAsRead($event)\" class=\"eui-u-text-link\" tabIndex=\"0\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n <a (click)=\"onRefresh($event)\" class=\"eui-u-text-link eui-u-ml-auto\" tabIndex=\"0\">\n <span class=\"eui-u-flex\">\n <span class=\"eui-icon eui-icon-refresh mr-1\"></span>\n {{ 'notif.SV-REFRESH' | translate }}\n </span>\n </a>\n </div>\n </div>\n </eui-overlay-header>\n\n <eui-overlay-body>\n <ul class=\"eui-notifications-items\" *ngIf=\"items\">\n <eui-notification-item-v2\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item-v2>\n </ul>\n </eui-overlay-body>\n\n <eui-overlay-footer>\n <ng-template [ngIf]=\"items?.length > 0\">\n <strong\n ><a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">{{\n viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate)\n }}</a></strong\n >\n </ng-template>\n <ng-template [ngIf]=\"items?.length === 0\">\n <div class=\"ux-notification__item-content\" *ngIf=\"!noNotificationFoundLink\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n <div class=\"ux-notification__item-content\" *ngIf=\"noNotificationFoundLink\">\n <strong\n ><a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">{{\n noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate)\n }}</a></strong\n >\n </div>\n </ng-template>\n </eui-overlay-footer>\n</eui-overlay>\n", styles: [".eui-overlay-header{padding:0}.eui-overlay-footer{background-color:var(--eui-base-color-white)}.eui-notifications-items{margin:0;padding:0}.eui-notifications-v2__trigger{cursor:pointer;margin-top:var(--eui-base-spacing-xs);margin-left:var(--eui-base-spacing-s)}.eui-notifications-v2__trigger:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:5px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-notifications-v2__header{border-bottom:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-font);cursor:default;flex-direction:column;display:flex;width:100%}.eui-notifications-v2__header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notifications-v2__header-title-label{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-notifications-v2__header-title-subLabel{margin-top:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-notifications-v2__header-title-actions{align-items:center;display:flex;margin-left:auto}.eui-notifications-v2__header-subinfos-bar,.eui-notifications-v2__header-subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-base-color-info-10);border-bottom:1px solid var(--eui-base-color-grey-15);display:flex;flex-direction:column;min-height:var(--eui-base-spacing-4xl);padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-base-color-grey-5)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{display:flex;margin:var(--eui-base-spacing-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-base-spacing-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i2.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i2.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i2.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "position", "width", "fixedWidth"] }, { kind: "component", type: i3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["aria-label"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i5.EuiNotificationItemV2Component, selector: "eui-notification-item-v2", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
166
166
|
}
|
167
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiNotificationsV2Component, decorators: [{
|
168
168
|
type: Component,
|
169
|
-
args: [{ selector: 'eui-notifications-v2', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-icon-svg\n class=\"eui-notifications-v2__trigger\"\n role=\"button\"\n size=\"m\"\n icon=\"eui-notifications\"\n fillColor=\"grey-5\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\"\n tabindex=\"0\">\n <eui-badge *ngIf=\"unreadSinceLastCheckCount\" euiSizeS euiDanger>{{ unreadSinceLastCheckCount }}</eui-badge>\n</eui-icon-svg>\n\n<!-- FROM MWP -->\n\n<!-- <div class=\"mywp-notification-qv\">\n <div class=\"mywp-notification-qv__header\">\n <div class=\"mywp-notification-qv__header-left\">\n <h5 class=\"eui-u-font-bold\">\n {{ 'notif.MY-NOTIFICATION' | translate }}\n </h5>\n <ul>\n <li>\n <strong>{{ unreadIdsSinceLastCheck.length }}</strong>\n {{ 'notif.SV-NEW-COUNT-LABEL' | translate }}\n </li>\n <li>\n <span>{{ unreadCount }}</span>\n {{ 'notif.SV-UNREAD-COUNT-LABEL' | translate }}\n </li>\n </ul>\n </div>\n <div class=\"mywp-notification-qv__header-right\">\n <span class=\"hide\">\n <a (click)=\"hideSidebar($event)\">\n {{ 'notif.SV-HIDE' | translate }}\n </a>\n <span class=\"ml-2 eui-u-font-size-xs eui-icon eui-icon-chevron-right\"></span>\n </span>\n </div>\n </div>\n <div class=\"mywp-notification-qv__actions-bar\">\n <a *ngIf=\"items.length > 0\" (click)=\"onMarkAllAsRead($event)\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n <a (click)=\"onRefreshClick($event)\" class=\"d-flex align-items-center\">\n <span class=\"eui-icon eui-icon-refresh mr-1\"></span>\n {{ 'notif.SV-REFRESH' | translate }}\n </a>\n </div>\n <div class=\"mywp-notification-qv__content\" *ngIf=\"items && items.length > 0\">\n <ul>\n <li *ngFor=\"let item of items; trackBy: trackById\" [ngClass]=\"{ 'eui-u-bg-color-info-lightester-2': !item.metadata.read }\">\n <div class=\"mywp-notification-qv__content-item-top eui-u-font-size-h7\">\n <div class=\"time\">\n <span class=\"time__icon mr-2\">\n <span class=\"eui-icon eui-icon-bell eui-u-font-size-h5\" [ngClass]=\"{ 'eui-u-color-info-lighter time__icon--rotated': !item.metadata.read, 'eui-u-color-grey-light': item.metadata.read }\"></span>\n <span *ngIf=\"isNew(item)\" class=\"time__icon-dot eui-u-color-danger-light eui-u-font-size-h9 eui-icon eui-icon-circle\"></span>\n </span>\n <span class=\"eui-u-color-grey-dark\">{{ item.metadata.date }}</span>\n </div>\n <div *ngIf=\"item.metadata.important\" class=\"d-flex align-items-center eui-u-font-bold eui-u-color-grey-dark\">\n {{ 'notif.SV-IMPORTANT-LABEL' | translate }}\n <span class=\"ml-1 eui-u-color-danger-dark eui-icon eui-icon-exclamation\"></span>\n </div>\n </div>\n <span (click)=\"onItemClick(item)\" class=\"mywp-notification-qv__content-item-middle eui-u-cursor-pointer\" [ngClass]=\"{ 'eui-u-font-bold': !item.metadata.read }\">\n {{ item.label }}\n </span>\n <div class=\"mywp-notification-qv__content-item-bottom\">\n <a *ngIf=\"!item.metadata.read\" (click)=\"onMarkAsRead(item)\">{{ 'notif.MARK-AS-READ' | translate }}</a>\n </div>\n </li>\n </ul>\n </div>\n <div class=\"mywp-notification-qv__footer\" *ngIf=\"items && items.length > 0\">\n <a *ngIf=\"items.length > 0\" (click)=\"onViewAll($event)\">{{ 'notif.VIEW-ALL-NOTIFICATIONS' | translate }}</a>\n </div>\n</div> -->\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications-v2__header\">\n <div class=\"eui-notifications-v2__header-title\">\n <div class=\"eui-notifications-v2__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n </div>\n\n <div class=\"eui-notifications-v2__header-title-actions\">\n <span class=\"hide\">\n <a (click)=\"onHide()\" class=\"eui-u-text-link\">\n {{ headerHideLabel ? headerHideLabel : ('eui.HIDE' | translate) }}\n </a>\n <span class=\"ml-2 eui-u-font-size-xs eui-icon eui-icon-chevron-right\"></span>\n </span>\n </div>\n </div>\n\n <div class=\"eui-notifications-v2__header-subinfos-bar\">\n <strong>{{ unreadSinceLastCheckCount }}</strong>\n <span class=\"eui-u-ml-xs\">{{\n headerUnreadSinceLastCheckCountLabel ? headerUnreadSinceLastCheckCountLabel : ('eui.NEW-COUNT' | translate)\n }}</span>\n\n <span class=\"eui-u-ml-xs\">|</span>\n\n <span class=\"eui-u-ml-xs\">{{ unreadCount }}</span>\n <span class=\"eui-u-ml-xs\">{{ headerUnreadCountLabel ? headerUnreadCountLabel : ('eui.NEW-COUNT' | translate) }}</span>\n </div>\n\n <div class=\"eui-notifications-v2__header-subactions-bar\">\n <a *ngIf=\"items.length > 0\" (click)=\"onMarkAllAsRead($event)\" class=\"eui-u-text-link\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n <a (click)=\"onRefresh($event)\" class=\"eui-u-text-link eui-u-ml-auto\">\n <span class=\"eui-u-flex\">\n <span class=\"eui-icon eui-icon-refresh mr-1\"></span>\n {{ 'notif.SV-REFRESH' | translate }}\n </span>\n </a>\n </div>\n </div>\n </eui-overlay-header>\n\n <eui-overlay-body>\n <ul class=\"eui-notifications-items\" *ngIf=\"items\">\n <eui-notification-item-v2\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item-v2>\n </ul>\n </eui-overlay-body>\n\n <eui-overlay-footer>\n <ng-template [ngIf]=\"items?.length > 0\">\n <strong\n ><a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">{{\n viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate)\n }}</a></strong\n >\n </ng-template>\n <ng-template [ngIf]=\"items?.length === 0\">\n <div class=\"ux-notification__item-content\" *ngIf=\"!noNotificationFoundLink\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n <div class=\"ux-notification__item-content\" *ngIf=\"noNotificationFoundLink\">\n <strong\n ><a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">{{\n noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate)\n }}</a></strong\n >\n </div>\n </ng-template>\n </eui-overlay-footer>\n</eui-overlay>\n", styles: [".eui-overlay-header{padding:0}.eui-overlay-footer{background-color:var(--eui-base-color-white)}.eui-notifications-items{margin:0;padding:0}.eui-notifications-v2__trigger{cursor:pointer;margin-top:var(--eui-base-spacing-xs);margin-left:var(--eui-base-spacing-s)}.eui-notifications-v2__trigger:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:5px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-notifications-v2__header{border-bottom:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-font);cursor:default;flex-direction:column;display:flex;width:100%}.eui-notifications-v2__header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notifications-v2__header-title-label{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-notifications-v2__header-title-subLabel{margin-top:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-notifications-v2__header-title-actions{align-items:center;display:flex;margin-left:auto}.eui-notifications-v2__header-subinfos-bar,.eui-notifications-v2__header-subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-base-color-info-10);border-bottom:1px solid var(--eui-base-color-grey-15);display:flex;flex-direction:column;min-height:var(--eui-base-spacing-4xl);padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-base-color-grey-5)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{display:flex;margin:var(--eui-base-spacing-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-base-spacing-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
|
169
|
+
args: [{ selector: 'eui-notifications-v2', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-icon-svg\n class=\"eui-notifications-v2__trigger\"\n role=\"button\"\n size=\"m\"\n icon=\"eui-notifications\"\n fillColor=\"grey-5\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\"\n tabindex=\"0\">\n <eui-badge *ngIf=\"unreadSinceLastCheckCount\" euiSizeS euiDanger>{{ unreadSinceLastCheckCount }}</eui-badge>\n</eui-icon-svg>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications-v2__header\">\n <div class=\"eui-notifications-v2__header-title\">\n <div class=\"eui-notifications-v2__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n </div>\n\n <div class=\"eui-notifications-v2__header-title-actions\">\n <span class=\"hide\">\n <a (click)=\"onHide()\" class=\"eui-u-text-link\" role=\"button\" tabIndex=\"0\">\n {{ headerHideLabel ? headerHideLabel : ('eui.HIDE' | translate) }}\n </a>\n <span class=\"ml-2 eui-u-font-size-xs eui-icon eui-icon-chevron-right\"></span>\n </span>\n </div>\n </div>\n\n <div class=\"eui-notifications-v2__header-subinfos-bar\">\n <strong>{{ unreadSinceLastCheckCount }}</strong>\n <span class=\"eui-u-ml-xs\">{{\n headerUnreadSinceLastCheckCountLabel ? headerUnreadSinceLastCheckCountLabel : ('eui.NEW-COUNT' | translate)\n }}</span>\n\n <span class=\"eui-u-ml-xs\">|</span>\n\n <span class=\"eui-u-ml-xs\">{{ unreadCount }}</span>\n <span class=\"eui-u-ml-xs\">{{ headerUnreadCountLabel ? headerUnreadCountLabel : ('eui.NEW-COUNT' | translate) }}</span>\n </div>\n\n <div class=\"eui-notifications-v2__header-subactions-bar\">\n <a *ngIf=\"items.length > 0\" (click)=\"onMarkAllAsRead($event)\" class=\"eui-u-text-link\" tabIndex=\"0\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n <a (click)=\"onRefresh($event)\" class=\"eui-u-text-link eui-u-ml-auto\" tabIndex=\"0\">\n <span class=\"eui-u-flex\">\n <span class=\"eui-icon eui-icon-refresh mr-1\"></span>\n {{ 'notif.SV-REFRESH' | translate }}\n </span>\n </a>\n </div>\n </div>\n </eui-overlay-header>\n\n <eui-overlay-body>\n <ul class=\"eui-notifications-items\" *ngIf=\"items\">\n <eui-notification-item-v2\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item-v2>\n </ul>\n </eui-overlay-body>\n\n <eui-overlay-footer>\n <ng-template [ngIf]=\"items?.length > 0\">\n <strong\n ><a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">{{\n viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate)\n }}</a></strong\n >\n </ng-template>\n <ng-template [ngIf]=\"items?.length === 0\">\n <div class=\"ux-notification__item-content\" *ngIf=\"!noNotificationFoundLink\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n <div class=\"ux-notification__item-content\" *ngIf=\"noNotificationFoundLink\">\n <strong\n ><a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">{{\n noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate)\n }}</a></strong\n >\n </div>\n </ng-template>\n </eui-overlay-footer>\n</eui-overlay>\n", styles: [".eui-overlay-header{padding:0}.eui-overlay-footer{background-color:var(--eui-base-color-white)}.eui-notifications-items{margin:0;padding:0}.eui-notifications-v2__trigger{cursor:pointer;margin-top:var(--eui-base-spacing-xs);margin-left:var(--eui-base-spacing-s)}.eui-notifications-v2__trigger:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:5px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-notifications-v2__header{border-bottom:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-font);cursor:default;flex-direction:column;display:flex;width:100%}.eui-notifications-v2__header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notifications-v2__header-title-label{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-notifications-v2__header-title-subLabel{margin-top:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-notifications-v2__header-title-actions{align-items:center;display:flex;margin-left:auto}.eui-notifications-v2__header-subinfos-bar,.eui-notifications-v2__header-subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m)}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-base-color-info-10);border-bottom:1px solid var(--eui-base-color-grey-15);display:flex;flex-direction:column;min-height:var(--eui-base-spacing-4xl);padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-base-color-grey-5)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{display:flex;margin:var(--eui-base-spacing-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-base-spacing-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
|
170
170
|
}], propDecorators: { refreshClick: [{
|
171
171
|
type: Output
|
172
172
|
}], notificationsClick: [{
|
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
|
|
241
241
|
}], isShowRefreshButton: [{
|
242
242
|
type: Input
|
243
243
|
}] } });
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS1ub3RpZmljYXRpb25zLXYyL2V1aS1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xheW91dC9ldWktbm90aWZpY2F0aW9ucy12Mi9ldWktbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQVM1RSxNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUWMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxRCx1QkFBa0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoRSxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFELGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0QsdUJBQWtCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEUsNkJBQXdCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEUsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZELHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTNFLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUM3Qix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FB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c0JBRG5CLEtBQUs7Z0JBU0YsbUJBQW1CO3NCQUR0QixLQUFLO2dCQVNGLDBCQUEwQjtzQkFEN0IsS0FBSztnQkFTRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBU0YseUJBQXlCO3NCQUQ1QixLQUFLO2dCQVNGLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFTRixtQkFBbUI7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb25zdW1lRXZlbnQgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1ub3RpZmljYXRpb25zLXYyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlOb3RpZmljYXRpb25zVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQE91dHB1dCgpIHJlZnJlc2hDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgbm90aWZpY2F0aW9uc0NsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB2aWV3QWxsQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNldHRpbmdzQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG1hcmtBbGxBc1JlYWRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgbm9Ob3RpZmljYXRpb25Gb3VuZENsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGl0ZW1NYXJrQXNSZWFkQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBpc092ZXJsYXlBY3RpdmUgPSBmYWxzZTtcbiAgICBjdXJyZW50RGF5Tm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIG9sZGVzdE5vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICB1bnJlYWROb3RpZmljYXRpb25zID0gW107XG4gICAgdG9kYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHN0cmluZyA9ICdldWktbm90aWZpY2F0aW9ucy12Mic7XG5cbiAgICBASW5wdXQoKSBjb3VudDogbnVtYmVyID0gbnVsbDtcbiAgICBASW5wdXQoKSB1bnJlYWRDb3VudDogbnVtYmVyID0gbnVsbDtcbiAgICBASW5wdXQoKSB1bnJlYWRTaW5jZUxhc3RDaGVja0NvdW50OiBudW1iZXIgPSBudWxsO1xuICAgIEBJbnB1dCgpIGl0ZW1zID0gW107XG4gICAgQElucHV0KCkgdW5yZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgdG90YWxMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBtYXJrQXNSZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgbWFya0FzVW5SZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgbWFya0FsbEFzUmVhZExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgcmVmcmVzaExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIHZpZXdBbGxOb3RpZmljYXRpb25zTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgaGVhZGVyVGl0bGVMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBoZWFkZXJIaWRlTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgaGVhZGVyVW5yZWFkU2luY2VMYXN0Q2hlY2tDb3VudExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIGhlYWRlclVucmVhZENvdW50TGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIG5iVW5yZWFkQ291bnQ6IG51bWJlciA9IG51bGw7XG4gICAgQElucHV0KCkgZGF0ZUZvcm1hdCA9ICdkZC9NTS9ZWVlZJztcbiAgICBASW5wdXQoKVxuICAgIGdldCBub05vdGlmaWNhdGlvbkZvdW5kTGluaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vTm90aWZpY2F0aW9uRm91bmRMaW5rO1xuICAgIH1cbiAgICBzZXQgbm9Ob3RpZmljYXRpb25Gb3VuZExpbmsodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub05vdGlmaWNhdGlvbkZvdW5kTGluayA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX25vTm90aWZpY2F0aW9uRm91bmRMaW5rID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNTaG93TWFya0FzUmVhZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd01hcmtBc1JlYWQ7XG4gICAgfVxuICAgIHNldCBpc1Nob3dNYXJrQXNSZWFkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNTaG93TWFya0FzUmVhZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd01hcmtBc1JlYWQgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd1ZpZXdBbGxBY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dWaWV3QWxsQWN0aW9uO1xuICAgIH1cbiAgICBzZXQgaXNTaG93Vmlld0FsbEFjdGlvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd1ZpZXdBbGxBY3Rpb24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1Nob3dWaWV3QWxsQWN0aW9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0hpZGVQYW5lbE9uVmlld0FsbEFjdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSGlkZVBhbmVsT25WaWV3QWxsQWN0aW9uO1xuICAgIH1cbiAgICBzZXQgaXNIaWRlUGFuZWxPblZpZXdBbGxBY3Rpb24odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0hpZGVQYW5lbE9uVmlld0FsbEFjdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzSGlkZVBhbmVsT25WaWV3QWxsQWN0aW9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBjdXN0b21VbnJlYWRDb3VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1c3RvbVVucmVhZENvdW50O1xuICAgIH1cbiAgICBzZXQgY3VzdG9tVW5yZWFkQ291bnQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9jdXN0b21VbnJlYWRDb3VudCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2N1c3RvbVVucmVhZENvdW50ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNTaG93TWFya0FsbEFzUmVhZEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd01hcmtBbGxBc1JlYWRCdXR0b247XG4gICAgfVxuICAgIHNldCBpc1Nob3dNYXJrQWxsQXNSZWFkQnV0dG9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNTaG93TWFya0FsbEFzUmVhZEJ1dHRvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd01hcmtBbGxBc1JlYWRCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd1NldHRpbmdzQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNTaG93U2V0dGluZ3NCdXR0b247XG4gICAgfVxuICAgIHNldCBpc1Nob3dTZXR0aW5nc0J1dHRvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd1NldHRpbmdzQnV0dG9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNTaG93U2V0dGluZ3NCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd1JlZnJlc2hCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dSZWZyZXNoQnV0dG9uO1xuICAgIH1cbiAgICBzZXQgaXNTaG93UmVmcmVzaEJ1dHRvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd1JlZnJlc2hCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1Nob3dSZWZyZXNoQnV0dG9uID0gdHJ1ZTtcblxuICAgIG9uSGlkZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc092ZXJsYXlBY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDbGljay5lbWl0KCk7XG4gICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgIHRoaXMuaXNPdmVybGF5QWN0aXZlID0gIXRoaXMuaXNPdmVybGF5QWN0aXZlO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuY3VzdG9tVW5yZWFkQ291bnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbVVucmVhZENvdW50ID0gY2hhbmdlcy5jdXN0b21VbnJlYWRDb3VudC5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBpZiAoIWN1c3RvbVVucmVhZENvdW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYlVucmVhZENvdW50ID0gdGhpcy5fZ2V0VW5yZWFkQ291bnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY3VzdG9tVW5yZWFkQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMubmJVbnJlYWRDb3VudCA9IHRoaXMuX2dldFVucmVhZENvdW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlZnJlc2goZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaENsaWNrLmVtaXQoKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhsaW5rOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblZpZXdBbGxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3QWxsQ2xpY2suZW1pdCgpO1xuICAgICAgICBpZiAoIXRoaXMuaXNIaWRlUGFuZWxPblZpZXdBbGxBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5vTm90aWZpY2F0aW9uRm91bmRDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub05vdGlmaWNhdGlvbkZvdW5kQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuICAgIG9uSXRlbU1hcmtBc1JlYWQobGluazogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbU1hcmtBc1JlYWRDbGljay5lbWl0KGxpbmspO1xuICAgIH1cblxuICAgIG9uTWFya0FsbEFzUmVhZChlKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFya0FsbEFzUmVhZENsaWNrLmVtaXQoZSk7XG4gICAgICAgIGNvbnN1bWVFdmVudChlKTtcbiAgICB9XG5cbiAgICBvblNldHRpbmdzKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0NsaWNrLmVtaXQoZSk7XG4gICAgICAgIGNvbnN1bWVFdmVudChlKTtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogdm9pZCB7XG4gICAgICAgIHJldHVybiBpdGVtLmlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFVucmVhZENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHVucmVhZE5vdGlmaWNhdGlvbnMgPSB0aGlzLml0ZW1zLmZpbHRlcigobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKGxpbmsubWV0YWRhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGluay5tZXRhZGF0YS5yZWFkID09PSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB1bnJlYWROb3RpZmljYXRpb25zLmxlbmd0aDtcbiAgICB9XG59XG4iLCI8ZXVpLWljb24tc3ZnXG4gICAgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9fdHJpZ2dlclwiXG4gICAgcm9sZT1cImJ1dHRvblwiXG4gICAgc2l6ZT1cIm1cIlxuICAgIGljb249XCJldWktbm90aWZpY2F0aW9uc1wiXG4gICAgZmlsbENvbG9yPVwiZ3JleS01XCJcbiAgICAoY2xpY2spPVwib25DbGlja2VkKCRldmVudClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lc2MpPVwib25IaWRlKClcIlxuICAgIHRhYmluZGV4PVwiMFwiPlxuICAgIDxldWktYmFkZ2UgKm5nSWY9XCJ1bnJlYWRTaW5jZUxhc3RDaGVja0NvdW50XCIgZXVpU2l6ZVMgZXVpRGFuZ2VyPnt7IHVucmVhZFNpbmNlTGFzdENoZWNrQ291bnQgfX08L2V1aS1iYWRnZT5cbjwvZXVpLWljb24tc3ZnPlxuXG48IS0tIEZST00gTVdQIC0tPlxuXG48IS0tIDxkaXYgY2xhc3M9XCJteXdwLW5vdGlmaWNhdGlvbi1xdlwiPlxuICAgIDxkaXYgY2xhc3M9XCJteXdwLW5vdGlmaWNhdGlvbi1xdl9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJteXdwLW5vdGlmaWNhdGlvbi1xdl9faGVhZGVyLWxlZnRcIj5cbiAgICAgICAgICAgIDxoNSBjbGFzcz1cImV1aS11LWZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgIHt7ICdub3RpZi5NWS1OT1RJRklDQVRJT04nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2g1PlxuICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyB1bnJlYWRJZHNTaW5jZUxhc3RDaGVjay5sZW5ndGggfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAge3sgJ25vdGlmLlNWLU5FVy1DT1VOVC1MQUJFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdW5yZWFkQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdub3RpZi5TVi1VTlJFQUQtQ09VTlQtTEFCRUwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXl3cC1ub3RpZmljYXRpb24tcXZfX2hlYWRlci1yaWdodFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoaWRlXCI+XG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cImhpZGVTaWRlYmFyKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ25vdGlmLlNWLUhJREUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMiBldWktdS1mb250LXNpemUteHMgZXVpLWljb24gZXVpLWljb24tY2hldnJvbi1yaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm15d3Atbm90aWZpY2F0aW9uLXF2X19hY3Rpb25zLWJhclwiPlxuICAgICAgICA8YSAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IDBcIiAoY2xpY2spPVwib25NYXJrQWxsQXNSZWFkKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7ICdub3RpZi5NQVJLLUFMTC1SRUFEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2E+XG4gICAgICAgIDxhIChjbGljayk9XCJvblJlZnJlc2hDbGljaygkZXZlbnQpXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS1pY29uIGV1aS1pY29uLXJlZnJlc2ggbXItMVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIHt7ICdub3RpZi5TVi1SRUZSRVNIJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm15d3Atbm90aWZpY2F0aW9uLXF2X19jb250ZW50XCIgKm5nSWY9XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeTogdHJhY2tCeUlkXCIgW25nQ2xhc3NdPVwieyAnZXVpLXUtYmctY29sb3ItaW5mby1saWdodGVzdGVyLTInOiAhaXRlbS5tZXRhZGF0YS5yZWFkIH1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXl3cC1ub3RpZmljYXRpb24tcXZfX2NvbnRlbnQtaXRlbS10b3AgZXVpLXUtZm9udC1zaXplLWg3XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVfX2ljb24gbXItMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLWljb24gZXVpLWljb24tYmVsbCBldWktdS1mb250LXNpemUtaDVcIiBbbmdDbGFzc109XCJ7ICdldWktdS1jb2xvci1pbmZvLWxpZ2h0ZXIgdGltZV9faWNvbi0tcm90YXRlZCc6ICFpdGVtLm1ldGFkYXRhLnJlYWQsICdldWktdS1jb2xvci1ncmV5LWxpZ2h0JzogaXRlbS5tZXRhZGF0YS5yZWFkIH1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc05ldyhpdGVtKVwiIGNsYXNzPVwidGltZV9faWNvbi1kb3QgZXVpLXUtY29sb3ItZGFuZ2VyLWxpZ2h0IGV1aS11LWZvbnQtc2l6ZS1oOSBldWktaWNvbiBldWktaWNvbi1jaXJjbGVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS11LWNvbG9yLWdyZXktZGFya1wiPnt7IGl0ZW0ubWV0YWRhdGEuZGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLm1ldGFkYXRhLmltcG9ydGFudFwiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItZ3JleS1kYXJrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnbm90aWYuU1YtSU1QT1JUQU5ULUxBQkVMJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0xIGV1aS11LWNvbG9yLWRhbmdlci1kYXJrIGV1aS1pY29uIGV1aS1pY29uLWV4Y2xhbWF0aW9uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIiBjbGFzcz1cIm15d3Atbm90aWZpY2F0aW9uLXF2X19jb250ZW50LWl0ZW0tbWlkZGxlIGV1aS11LWN1cnNvci1wb2ludGVyXCIgW25nQ2xhc3NdPVwieyAnZXVpLXUtZm9udC1ib2xkJzogIWl0ZW0ubWV0YWRhdGEucmVhZCB9XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15d3Atbm90aWZpY2F0aW9uLXF2X19jb250ZW50LWl0ZW0tYm90dG9tXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiIWl0ZW0ubWV0YWRhdGEucmVhZFwiIChjbGljayk9XCJvbk1hcmtBc1JlYWQoaXRlbSlcIj57eyAnbm90aWYuTUFSSy1BUy1SRUFEJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm15d3Atbm90aWZpY2F0aW9uLXF2X19mb290ZXJcIiAqbmdJZj1cIml0ZW1zICYmIGl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGEgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAwXCIgKGNsaWNrKT1cIm9uVmlld0FsbCgkZXZlbnQpXCI+e3sgJ25vdGlmLlZJRVctQUxMLU5PVElGSUNBVElPTlMnIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgIDwvZGl2PlxuPC9kaXY+IC0tPlxuXG48ZXVpLW92ZXJsYXkgW2lzQWN0aXZlXT1cImlzT3ZlcmxheUFjdGl2ZVwiIGNsYXNzPVwiZXVpLW92ZXJsYXktb2Zmc2V0LS13aWR0aC0zMFwiPlxuICAgIDxldWktb3ZlcmxheS1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9faGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW5vdGlmaWNhdGlvbnMtdjJfX2hlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9faGVhZGVyLXRpdGxlLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGhlYWRlclRpdGxlTGFiZWwgPyBoZWFkZXJUaXRsZUxhYmVsIDogKCdldWkuTVlOT1RJRklDQVRJT05TJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9faGVhZGVyLXRpdGxlLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoaWRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25IaWRlKClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGhlYWRlckhpZGVMYWJlbCA/IGhlYWRlckhpZGVMYWJlbCA6ICgnZXVpLkhJREUnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yIGV1aS11LWZvbnQtc2l6ZS14cyBldWktaWNvbiBldWktaWNvbi1jaGV2cm9uLXJpZ2h0XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1ub3RpZmljYXRpb25zLXYyX19oZWFkZXItc3ViaW5mb3MtYmFyXCI+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyB1bnJlYWRTaW5jZUxhc3RDaGVja0NvdW50IH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdS1tbC14c1wiPnt7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlclVucmVhZFNpbmNlTGFzdENoZWNrQ291bnRMYWJlbCA/IGhlYWRlclVucmVhZFNpbmNlTGFzdENoZWNrQ291bnRMYWJlbCA6ICgnZXVpLk5FVy1DT1VOVCcgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS11LW1sLXhzXCI+fDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXUtbWwteHNcIj57eyB1bnJlYWRDb3VudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS11LW1sLXhzXCI+e3sgaGVhZGVyVW5yZWFkQ291bnRMYWJlbCA/IGhlYWRlclVucmVhZENvdW50TGFiZWwgOiAoJ2V1aS5ORVctQ09VTlQnIHwgdHJhbnNsYXRlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW5vdGlmaWNhdGlvbnMtdjJfX2hlYWRlci1zdWJhY3Rpb25zLWJhclwiPlxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiaXRlbXMubGVuZ3RoID4gMFwiIChjbGljayk9XCJvbk1hcmtBbGxBc1JlYWQoJGV2ZW50KVwiIGNsYXNzPVwiZXVpLXUtdGV4dC1saW5rXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdub3RpZi5NQVJLLUFMTC1SRUFEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25SZWZyZXNoKCRldmVudClcIiBjbGFzcz1cImV1aS11LXRleHQtbGluayBldWktdS1tbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktaWNvbiBldWktaWNvbi1yZWZyZXNoIG1yLTFcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnbm90aWYuU1YtUkVGUkVTSCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2V1aS1vdmVybGF5LWhlYWRlcj5cblxuICAgIDxldWktb3ZlcmxheS1ib2R5PlxuICAgICAgICA8dWwgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy1pdGVtc1wiICpuZ0lmPVwiaXRlbXNcIj5cbiAgICAgICAgICAgIDxldWktbm90aWZpY2F0aW9uLWl0ZW0tdjJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0XCJcbiAgICAgICAgICAgICAgICBbbWFya0FzUmVhZExhYmVsXT1cIm1hcmtBc1JlYWRMYWJlbFwiXG4gICAgICAgICAgICAgICAgW2lzU2hvd01hcmtBc1JlYWRdPVwiaXNTaG93TWFya0FzUmVhZFwiXG4gICAgICAgICAgICAgICAgKGl0ZW1DbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoaXRlbU1hcmtBc1JlYWQpPVwib25JdGVtTWFya0FzUmVhZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2V1aS1ub3RpZmljYXRpb24taXRlbS12Mj5cbiAgICAgICAgPC91bD5cbiAgICA8L2V1aS1vdmVybGF5LWJvZHk+XG5cbiAgICA8ZXVpLW92ZXJsYXktZm9vdGVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbXM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxzdHJvbmdcbiAgICAgICAgICAgICAgICA+PGEgKGNsaWNrKT1cIm9uVmlld0FsbENsaWNrKCRldmVudClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiPnt7XG4gICAgICAgICAgICAgICAgICAgIHZpZXdBbGxOb3RpZmljYXRpb25zTGFiZWwgPyB2aWV3QWxsTm90aWZpY2F0aW9uc0xhYmVsIDogKCdldWkuVklFV0FMTE5PVElGSUNBVElPTlMnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgIH19PC9hPjwvc3Ryb25nXG4gICAgICAgICAgICA+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtcz8ubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXgtbm90aWZpY2F0aW9uX19pdGVtLWNvbnRlbnRcIiAqbmdJZj1cIiFub05vdGlmaWNhdGlvbkZvdW5kTGlua1wiPlxuICAgICAgICAgICAgICAgIHt7IG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbCA/IG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbCA6ICgnZXVpLk5PTk9USUZJQ0FUSU9ORk9VTkQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXgtbm90aWZpY2F0aW9uX19pdGVtLWNvbnRlbnRcIiAqbmdJZj1cIm5vTm90aWZpY2F0aW9uRm91bmRMaW5rXCI+XG4gICAgICAgICAgICAgICAgPHN0cm9uZ1xuICAgICAgICAgICAgICAgICAgICA+PGEgKGNsaWNrKT1cIm9uTm9Ob3RpZmljYXRpb25Gb3VuZENsaWNrKClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBub05vdGlmaWNhdGlvbkZvdW5kTGFiZWwgPyBub05vdGlmaWNhdGlvbkZvdW5kTGFiZWwgOiAoJ2V1aS5OT05PVElGSUNBVElPTkZPVU5EJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgfX08L2E+PC9zdHJvbmdcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2V1aS1vdmVybGF5LWZvb3Rlcj5cbjwvZXVpLW92ZXJsYXk+XG4iXX0=
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS1ub3RpZmljYXRpb25zLXYyL2V1aS1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xheW91dC9ldWktbm90aWZpY2F0aW9ucy12Mi9ldWktbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQVM1RSxNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUWMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxRCx1QkFBa0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoRSxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFELGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0QsdUJBQWtCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEUsNkJBQXdCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEUsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZELHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTNFLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUM3Qix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FB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c0JBRG5CLEtBQUs7Z0JBU0YsbUJBQW1CO3NCQUR0QixLQUFLO2dCQVNGLDBCQUEwQjtzQkFEN0IsS0FBSztnQkFTRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBU0YseUJBQXlCO3NCQUQ1QixLQUFLO2dCQVNGLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFTRixtQkFBbUI7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb25zdW1lRXZlbnQgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1ub3RpZmljYXRpb25zLXYyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlOb3RpZmljYXRpb25zVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQE91dHB1dCgpIHJlZnJlc2hDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgbm90aWZpY2F0aW9uc0NsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB2aWV3QWxsQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNldHRpbmdzQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG1hcmtBbGxBc1JlYWRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgbm9Ob3RpZmljYXRpb25Gb3VuZENsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGl0ZW1NYXJrQXNSZWFkQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBpc092ZXJsYXlBY3RpdmUgPSBmYWxzZTtcbiAgICBjdXJyZW50RGF5Tm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIG9sZGVzdE5vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICB1bnJlYWROb3RpZmljYXRpb25zID0gW107XG4gICAgdG9kYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHN0cmluZyA9ICdldWktbm90aWZpY2F0aW9ucy12Mic7XG5cbiAgICBASW5wdXQoKSBjb3VudDogbnVtYmVyID0gbnVsbDtcbiAgICBASW5wdXQoKSB1bnJlYWRDb3VudDogbnVtYmVyID0gbnVsbDtcbiAgICBASW5wdXQoKSB1bnJlYWRTaW5jZUxhc3RDaGVja0NvdW50OiBudW1iZXIgPSBudWxsO1xuICAgIEBJbnB1dCgpIGl0ZW1zID0gW107XG4gICAgQElucHV0KCkgdW5yZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgdG90YWxMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBtYXJrQXNSZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgbWFya0FzVW5SZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgbWFya0FsbEFzUmVhZExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgcmVmcmVzaExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIHZpZXdBbGxOb3RpZmljYXRpb25zTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgaGVhZGVyVGl0bGVMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBoZWFkZXJIaWRlTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgaGVhZGVyVW5yZWFkU2luY2VMYXN0Q2hlY2tDb3VudExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIGhlYWRlclVucmVhZENvdW50TGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIG5iVW5yZWFkQ291bnQ6IG51bWJlciA9IG51bGw7XG4gICAgQElucHV0KCkgZGF0ZUZvcm1hdCA9ICdkZC9NTS9ZWVlZJztcbiAgICBASW5wdXQoKVxuICAgIGdldCBub05vdGlmaWNhdGlvbkZvdW5kTGluaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vTm90aWZpY2F0aW9uRm91bmRMaW5rO1xuICAgIH1cbiAgICBzZXQgbm9Ob3RpZmljYXRpb25Gb3VuZExpbmsodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub05vdGlmaWNhdGlvbkZvdW5kTGluayA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX25vTm90aWZpY2F0aW9uRm91bmRMaW5rID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNTaG93TWFya0FzUmVhZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd01hcmtBc1JlYWQ7XG4gICAgfVxuICAgIHNldCBpc1Nob3dNYXJrQXNSZWFkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNTaG93TWFya0FzUmVhZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd01hcmtBc1JlYWQgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd1ZpZXdBbGxBY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dWaWV3QWxsQWN0aW9uO1xuICAgIH1cbiAgICBzZXQgaXNTaG93Vmlld0FsbEFjdGlvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd1ZpZXdBbGxBY3Rpb24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1Nob3dWaWV3QWxsQWN0aW9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0hpZGVQYW5lbE9uVmlld0FsbEFjdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSGlkZVBhbmVsT25WaWV3QWxsQWN0aW9uO1xuICAgIH1cbiAgICBzZXQgaXNIaWRlUGFuZWxPblZpZXdBbGxBY3Rpb24odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0hpZGVQYW5lbE9uVmlld0FsbEFjdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzSGlkZVBhbmVsT25WaWV3QWxsQWN0aW9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBjdXN0b21VbnJlYWRDb3VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1c3RvbVVucmVhZENvdW50O1xuICAgIH1cbiAgICBzZXQgY3VzdG9tVW5yZWFkQ291bnQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9jdXN0b21VbnJlYWRDb3VudCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2N1c3RvbVVucmVhZENvdW50ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNTaG93TWFya0FsbEFzUmVhZEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd01hcmtBbGxBc1JlYWRCdXR0b247XG4gICAgfVxuICAgIHNldCBpc1Nob3dNYXJrQWxsQXNSZWFkQnV0dG9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNTaG93TWFya0FsbEFzUmVhZEJ1dHRvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd01hcmtBbGxBc1JlYWRCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd1NldHRpbmdzQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNTaG93U2V0dGluZ3NCdXR0b247XG4gICAgfVxuICAgIHNldCBpc1Nob3dTZXR0aW5nc0J1dHRvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd1NldHRpbmdzQnV0dG9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNTaG93U2V0dGluZ3NCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd1JlZnJlc2hCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dSZWZyZXNoQnV0dG9uO1xuICAgIH1cbiAgICBzZXQgaXNTaG93UmVmcmVzaEJ1dHRvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd1JlZnJlc2hCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1Nob3dSZWZyZXNoQnV0dG9uID0gdHJ1ZTtcblxuICAgIG9uSGlkZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc092ZXJsYXlBY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDbGljay5lbWl0KCk7XG4gICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgIHRoaXMuaXNPdmVybGF5QWN0aXZlID0gIXRoaXMuaXNPdmVybGF5QWN0aXZlO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuY3VzdG9tVW5yZWFkQ291bnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbVVucmVhZENvdW50ID0gY2hhbmdlcy5jdXN0b21VbnJlYWRDb3VudC5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBpZiAoIWN1c3RvbVVucmVhZENvdW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYlVucmVhZENvdW50ID0gdGhpcy5fZ2V0VW5yZWFkQ291bnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY3VzdG9tVW5yZWFkQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMubmJVbnJlYWRDb3VudCA9IHRoaXMuX2dldFVucmVhZENvdW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlZnJlc2goZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaENsaWNrLmVtaXQoKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhsaW5rOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblZpZXdBbGxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3QWxsQ2xpY2suZW1pdCgpO1xuICAgICAgICBpZiAoIXRoaXMuaXNIaWRlUGFuZWxPblZpZXdBbGxBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5vTm90aWZpY2F0aW9uRm91bmRDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub05vdGlmaWNhdGlvbkZvdW5kQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuICAgIG9uSXRlbU1hcmtBc1JlYWQobGluazogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbU1hcmtBc1JlYWRDbGljay5lbWl0KGxpbmspO1xuICAgIH1cblxuICAgIG9uTWFya0FsbEFzUmVhZChlKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFya0FsbEFzUmVhZENsaWNrLmVtaXQoZSk7XG4gICAgICAgIGNvbnN1bWVFdmVudChlKTtcbiAgICB9XG5cbiAgICBvblNldHRpbmdzKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0NsaWNrLmVtaXQoZSk7XG4gICAgICAgIGNvbnN1bWVFdmVudChlKTtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogdm9pZCB7XG4gICAgICAgIHJldHVybiBpdGVtLmlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFVucmVhZENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHVucmVhZE5vdGlmaWNhdGlvbnMgPSB0aGlzLml0ZW1zLmZpbHRlcigobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKGxpbmsubWV0YWRhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGluay5tZXRhZGF0YS5yZWFkID09PSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB1bnJlYWROb3RpZmljYXRpb25zLmxlbmd0aDtcbiAgICB9XG59XG4iLCI8ZXVpLWljb24tc3ZnXG4gICAgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9fdHJpZ2dlclwiXG4gICAgcm9sZT1cImJ1dHRvblwiXG4gICAgc2l6ZT1cIm1cIlxuICAgIGljb249XCJldWktbm90aWZpY2F0aW9uc1wiXG4gICAgZmlsbENvbG9yPVwiZ3JleS01XCJcbiAgICAoY2xpY2spPVwib25DbGlja2VkKCRldmVudClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lc2MpPVwib25IaWRlKClcIlxuICAgIHRhYmluZGV4PVwiMFwiPlxuICAgIDxldWktYmFkZ2UgKm5nSWY9XCJ1bnJlYWRTaW5jZUxhc3RDaGVja0NvdW50XCIgZXVpU2l6ZVMgZXVpRGFuZ2VyPnt7IHVucmVhZFNpbmNlTGFzdENoZWNrQ291bnQgfX08L2V1aS1iYWRnZT5cbjwvZXVpLWljb24tc3ZnPlxuXG48ZXVpLW92ZXJsYXkgW2lzQWN0aXZlXT1cImlzT3ZlcmxheUFjdGl2ZVwiIGNsYXNzPVwiZXVpLW92ZXJsYXktb2Zmc2V0LS13aWR0aC0zMFwiPlxuICAgIDxldWktb3ZlcmxheS1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9faGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW5vdGlmaWNhdGlvbnMtdjJfX2hlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9faGVhZGVyLXRpdGxlLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGhlYWRlclRpdGxlTGFiZWwgPyBoZWFkZXJUaXRsZUxhYmVsIDogKCdldWkuTVlOT1RJRklDQVRJT05TJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9faGVhZGVyLXRpdGxlLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoaWRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25IaWRlKClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiIHJvbGU9XCJidXR0b25cIiB0YWJJbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBoZWFkZXJIaWRlTGFiZWwgPyBoZWFkZXJIaWRlTGFiZWwgOiAoJ2V1aS5ISURFJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMiBldWktdS1mb250LXNpemUteHMgZXVpLWljb24gZXVpLWljb24tY2hldnJvbi1yaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9ucy12Ml9faGVhZGVyLXN1YmluZm9zLWJhclwiPlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgdW5yZWFkU2luY2VMYXN0Q2hlY2tDb3VudCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXUtbWwteHNcIj57e1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJVbnJlYWRTaW5jZUxhc3RDaGVja0NvdW50TGFiZWwgPyBoZWFkZXJVbnJlYWRTaW5jZUxhc3RDaGVja0NvdW50TGFiZWwgOiAoJ2V1aS5ORVctQ09VTlQnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdS1tbC14c1wiPnw8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS11LW1sLXhzXCI+e3sgdW5yZWFkQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdS1tbC14c1wiPnt7IGhlYWRlclVucmVhZENvdW50TGFiZWwgPyBoZWFkZXJVbnJlYWRDb3VudExhYmVsIDogKCdldWkuTkVXLUNPVU5UJyB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1ub3RpZmljYXRpb25zLXYyX19oZWFkZXItc3ViYWN0aW9ucy1iYXJcIj5cbiAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IDBcIiAoY2xpY2spPVwib25NYXJrQWxsQXNSZWFkKCRldmVudClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiIHRhYkluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnbm90aWYuTUFSSy1BTEwtUkVBRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uUmVmcmVzaCgkZXZlbnQpXCIgY2xhc3M9XCJldWktdS10ZXh0LWxpbmsgZXVpLXUtbWwtYXV0b1wiIHRhYkluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLWljb24gZXVpLWljb24tcmVmcmVzaCBtci0xXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ25vdGlmLlNWLVJFRlJFU0gnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9ldWktb3ZlcmxheS1oZWFkZXI+XG5cbiAgICA8ZXVpLW92ZXJsYXktYm9keT5cbiAgICAgICAgPHVsIGNsYXNzPVwiZXVpLW5vdGlmaWNhdGlvbnMtaXRlbXNcIiAqbmdJZj1cIml0ZW1zXCI+XG4gICAgICAgICAgICA8ZXVpLW5vdGlmaWNhdGlvbi1pdGVtLXYyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdFwiXG4gICAgICAgICAgICAgICAgW21hcmtBc1JlYWRMYWJlbF09XCJtYXJrQXNSZWFkTGFiZWxcIlxuICAgICAgICAgICAgICAgIFtpc1Nob3dNYXJrQXNSZWFkXT1cImlzU2hvd01hcmtBc1JlYWRcIlxuICAgICAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGl0ZW1NYXJrQXNSZWFkKT1cIm9uSXRlbU1hcmtBc1JlYWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9ldWktbm90aWZpY2F0aW9uLWl0ZW0tdjI+XG4gICAgICAgIDwvdWw+XG4gICAgPC9ldWktb3ZlcmxheS1ib2R5PlxuXG4gICAgPGV1aS1vdmVybGF5LWZvb3Rlcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW1zPy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8c3Ryb25nXG4gICAgICAgICAgICAgICAgPjxhIChjbGljayk9XCJvblZpZXdBbGxDbGljaygkZXZlbnQpXCIgY2xhc3M9XCJldWktdS10ZXh0LWxpbmtcIj57e1xuICAgICAgICAgICAgICAgICAgICB2aWV3QWxsTm90aWZpY2F0aW9uc0xhYmVsID8gdmlld0FsbE5vdGlmaWNhdGlvbnNMYWJlbCA6ICgnZXVpLlZJRVdBTExOT1RJRklDQVRJT05TJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICB9fTwvYT48L3N0cm9uZ1xuICAgICAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbXM/Lmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInV4LW5vdGlmaWNhdGlvbl9faXRlbS1jb250ZW50XCIgKm5nSWY9XCIhbm9Ob3RpZmljYXRpb25Gb3VuZExpbmtcIj5cbiAgICAgICAgICAgICAgICB7eyBub05vdGlmaWNhdGlvbkZvdW5kTGFiZWwgPyBub05vdGlmaWNhdGlvbkZvdW5kTGFiZWwgOiAoJ2V1aS5OT05PVElGSUNBVElPTkZPVU5EJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInV4LW5vdGlmaWNhdGlvbl9faXRlbS1jb250ZW50XCIgKm5nSWY9XCJub05vdGlmaWNhdGlvbkZvdW5kTGlua1wiPlxuICAgICAgICAgICAgICAgIDxzdHJvbmdcbiAgICAgICAgICAgICAgICAgICAgPjxhIChjbGljayk9XCJvbk5vTm90aWZpY2F0aW9uRm91bmRDbGljaygpXCIgY2xhc3M9XCJldWktdS10ZXh0LWxpbmtcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsID8gbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsIDogKCdldWkuTk9OT1RJRklDQVRJT05GT1VORCcgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgICAgICAgIH19PC9hPjwvc3Ryb25nXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9ldWktb3ZlcmxheS1mb290ZXI+XG48L2V1aS1vdmVybGF5PlxuIl19
|
package/esm2022/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.mjs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation, Input, ContentChildren, forwardRef, } from '@angular/core';
|
1
|
+
import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation, Input, ContentChildren, forwardRef, ViewChild, } from '@angular/core';
|
2
2
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
3
3
|
import { EuiUserProfileMenuComponent } from '../../eui-user-profile';
|
4
4
|
import * as i0 from "@angular/core";
|
@@ -8,6 +8,7 @@ export class EuiToolbarItemUserProfileComponent {
|
|
8
8
|
this.class = 'eui-toolbar-item-user-profile';
|
9
9
|
this.welcomeLabel = 'Welcome';
|
10
10
|
this.impersonateLabel = 'impersonating';
|
11
|
+
this._hasTabNavigation = false;
|
11
12
|
this._hasWelcomeLabel = true;
|
12
13
|
this._isShowUserInfos = true;
|
13
14
|
this._isShowAvatarInitials = false;
|
@@ -30,17 +31,29 @@ export class EuiToolbarItemUserProfileComponent {
|
|
30
31
|
set isShowAvatarInitials(value) {
|
31
32
|
this._isShowAvatarInitials = coerceBooleanProperty(value);
|
32
33
|
}
|
34
|
+
get hasTabNavigation() {
|
35
|
+
return this._hasTabNavigation;
|
36
|
+
}
|
37
|
+
set hasTabNavigation(value) {
|
38
|
+
this._hasTabNavigation = coerceBooleanProperty(value);
|
39
|
+
}
|
40
|
+
closeUserProfileDropdown() {
|
41
|
+
this.userProfile.closeDropdown();
|
42
|
+
}
|
33
43
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiToolbarItemUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
34
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiToolbarItemUserProfileComponent, selector: "eui-toolbar-item-user-profile", inputs: { welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", hasWelcomeLabel: "hasWelcomeLabel", isShowUserInfos: "isShowUserInfos", isShowAvatarInitials: "isShowAvatarInitials" }, host: { properties: { "class": "this.class" } }, queries: [{ propertyName: "userProfileMenu", predicate: i0.forwardRef(function () { return EuiUserProfileMenuComponent; }) }], ngImport: i0, template: "<eui-user-profile\n euiUserProfileSizeS\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\">\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n", dependencies: [{ kind: "component", type: i1.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "hasMenu", "isShowUserInfos", "hasWelcomeLabel", "euiUserProfileSizeS", "isShowAvatarInitials", "hasTabNavigation"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
44
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiToolbarItemUserProfileComponent, selector: "eui-toolbar-item-user-profile", inputs: { welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", hasWelcomeLabel: "hasWelcomeLabel", isShowUserInfos: "isShowUserInfos", isShowAvatarInitials: "isShowAvatarInitials", hasTabNavigation: "hasTabNavigation" }, host: { properties: { "class": "this.class" } }, queries: [{ propertyName: "userProfileMenu", predicate: i0.forwardRef(function () { return EuiUserProfileMenuComponent; }) }], viewQueries: [{ propertyName: "userProfile", first: true, predicate: ["userProfile"], descendants: true }], ngImport: i0, template: "<eui-user-profile\n euiUserProfileSizeS\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n", dependencies: [{ kind: "component", type: i1.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "hasMenu", "isShowUserInfos", "hasWelcomeLabel", "euiUserProfileSizeS", "isShowAvatarInitials", "hasTabNavigation"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
35
45
|
}
|
36
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiToolbarItemUserProfileComponent, decorators: [{
|
37
47
|
type: Component,
|
38
|
-
args: [{ selector: 'eui-toolbar-item-user-profile', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-user-profile\n euiUserProfileSizeS\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\">\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n" }]
|
48
|
+
args: [{ selector: 'eui-toolbar-item-user-profile', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-user-profile\n euiUserProfileSizeS\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n" }]
|
39
49
|
}], propDecorators: { class: [{
|
40
50
|
type: HostBinding
|
41
51
|
}], userProfileMenu: [{
|
42
52
|
type: ContentChildren,
|
43
53
|
args: [forwardRef(() => EuiUserProfileMenuComponent)]
|
54
|
+
}], userProfile: [{
|
55
|
+
type: ViewChild,
|
56
|
+
args: ['userProfile']
|
44
57
|
}], welcomeLabel: [{
|
45
58
|
type: Input
|
46
59
|
}], impersonateLabel: [{
|
@@ -53,5 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
|
|
53
66
|
type: Input
|
54
67
|
}], isShowAvatarInitials: [{
|
55
68
|
type: Input
|
69
|
+
}], hasTabNavigation: [{
|
70
|
+
type: Input
|
56
71
|
}] } });
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLXVzZXItcHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9sYXlvdXQvZXVpLXRvb2xiYXIvdG9vbGJhci1pdGVtLXVzZXItcHJvZmlsZS90b29sYmFyLWl0ZW0tdXNlci1wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLWl0ZW0tdXNlci1wcm9maWxlL3Rvb2xiYXItaXRlbS11c2VyLXByb2ZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFFVixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBMkIsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBUTlGLE1BQU0sT0FBTyxrQ0FBa0M7SUFOL0M7UUFPbUIsVUFBSyxHQUFHLCtCQUErQixDQUFDO1FBTTlDLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLHFCQUFnQixHQUFHLGVBQWUsQ0FBQztRQStCcEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO0tBS3pDO0lBcENHLElBQ0ksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJLGVBQWUsQ0FBQyxLQUFtQjtRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELElBQ0ksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJLGVBQWUsQ0FBQyxLQUFtQjtRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELElBQ0ksb0JBQW9CO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLG9CQUFvQixDQUFDLEtBQW1CO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFDSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBbUI7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFNTSx3QkFBd0I7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNyQyxDQUFDO3dJQTlDUSxrQ0FBa0M7NEhBQWxDLGtDQUFrQyw2YkFHVCwyQkFBMkIsNklDdkJqRSwrZUFhQTs7a0dET2Esa0NBQWtDO2tCQU45QyxTQUFTOytCQUNJLCtCQUErQixtQkFFeEIsdUJBQXVCLENBQUMsT0FBTyxpQkFDakMsaUJBQWlCLENBQUMsSUFBSTs4QkFHdEIsS0FBSztzQkFBbkIsV0FBVztnQkFFb0QsZUFBZTtzQkFBOUUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBRXBDLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFFZixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBUUYsZUFBZTtzQkFEbEIsS0FBSztnQkFRRixvQkFBb0I7c0JBRHZCLEtBQUs7Z0JBUUYsZ0JBQWdCO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGZvcndhcmRSZWYsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFdWlVc2VyUHJvZmlsZUNvbXBvbmVudCwgRXVpVXNlclByb2ZpbGVNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZXVpLXVzZXItcHJvZmlsZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXRvb2xiYXItaXRlbS11c2VyLXByb2ZpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLWl0ZW0tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVG9vbGJhckl0ZW1Vc2VyUHJvZmlsZUNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCkgY2xhc3MgPSAnZXVpLXRvb2xiYXItaXRlbS11c2VyLXByb2ZpbGUnO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEV1aVVzZXJQcm9maWxlTWVudUNvbXBvbmVudCkpIHVzZXJQcm9maWxlTWVudTogUXVlcnlMaXN0PEV1aVVzZXJQcm9maWxlTWVudUNvbXBvbmVudD47XG5cbiAgICBAVmlld0NoaWxkKCd1c2VyUHJvZmlsZScpIHVzZXJQcm9maWxlOiBFdWlVc2VyUHJvZmlsZUNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHdlbGNvbWVMYWJlbCA9ICdXZWxjb21lJztcbiAgICBASW5wdXQoKSBpbXBlcnNvbmF0ZUxhYmVsID0gJ2ltcGVyc29uYXRpbmcnO1xuICAgIEBJbnB1dCgpIGF2YXRhclVybDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzV2VsY29tZUxhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzV2VsY29tZUxhYmVsO1xuICAgIH1cbiAgICBzZXQgaGFzV2VsY29tZUxhYmVsKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faGFzV2VsY29tZUxhYmVsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNTaG93VXNlckluZm9zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNTaG93VXNlckluZm9zO1xuICAgIH1cbiAgICBzZXQgaXNTaG93VXNlckluZm9zKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNTaG93VXNlckluZm9zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNTaG93QXZhdGFySW5pdGlhbHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dBdmF0YXJJbml0aWFscztcbiAgICB9XG4gICAgc2V0IGlzU2hvd0F2YXRhckluaXRpYWxzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNTaG93QXZhdGFySW5pdGlhbHMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNUYWJOYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzVGFiTmF2aWdhdGlvbjtcbiAgICB9XG4gICAgc2V0IGhhc1RhYk5hdmlnYXRpb24odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9oYXNUYWJOYXZpZ2F0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaGFzVGFiTmF2aWdhdGlvbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2hhc1dlbGNvbWVMYWJlbCA9IHRydWU7XG4gICAgcHJpdmF0ZSBfaXNTaG93VXNlckluZm9zID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9pc1Nob3dBdmF0YXJJbml0aWFscyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNsb3NlVXNlclByb2ZpbGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyUHJvZmlsZS5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxufVxuIiwiPGV1aS11c2VyLXByb2ZpbGVcbiAgICBldWlVc2VyUHJvZmlsZVNpemVTXG4gICAgW2hhc1dlbGNvbWVMYWJlbF09XCJoYXNXZWxjb21lTGFiZWxcIlxuICAgIFt3ZWxjb21lTGFiZWxdPVwid2VsY29tZUxhYmVsXCJcbiAgICBbaW1wZXJzb25hdGVMYWJlbF09XCJpbXBlcnNvbmF0ZUxhYmVsXCJcbiAgICBbYXZhdGFyVXJsXT1cImF2YXRhclVybFwiXG4gICAgW2hhc01lbnVdPVwidXNlclByb2ZpbGVNZW51Lmxlbmd0aCAhPT0gMFwiXG4gICAgW2lzU2hvd1VzZXJJbmZvc109XCJpc1Nob3dVc2VySW5mb3NcIlxuICAgIFtpc1Nob3dBdmF0YXJJbml0aWFsc109XCJpc1Nob3dBdmF0YXJJbml0aWFsc1wiXG4gICAgW2hhc1RhYk5hdmlnYXRpb25dPVwiaGFzVGFiTmF2aWdhdGlvblwiXG4gICAgI3VzZXJQcm9maWxlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS11c2VyLXByb2ZpbGUtbWVudVwiPjwvbmctY29udGVudD5cbjwvZXVpLXVzZXItcHJvZmlsZT5cbiJdfQ==
|
@@ -23,6 +23,7 @@ export class EuiUserProfileCardComponent {
|
|
23
23
|
this.impersonateLabel = 'impersonating';
|
24
24
|
this.showDetailsLabel = 'Show profile details';
|
25
25
|
this.showProfileInfo = new EventEmitter();
|
26
|
+
this.closeProfileMenu = new EventEmitter();
|
26
27
|
this._isShowAvatarInitials = false;
|
27
28
|
}
|
28
29
|
ngOnInit() {
|
@@ -42,12 +43,15 @@ export class EuiUserProfileCardComponent {
|
|
42
43
|
onShowInfoClick() {
|
43
44
|
this.showProfileInfo.emit();
|
44
45
|
}
|
46
|
+
onClose() {
|
47
|
+
this.closeProfileMenu.emit();
|
48
|
+
}
|
45
49
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiUserProfileCardComponent, deps: [{ token: i1.UserService }, { token: i1.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
46
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiUserProfileCardComponent, selector: "eui-user-profile-card", inputs: { impersonateLabel: "impersonateLabel", showDetailsLabel: "showDetailsLabel", avatarUrl: "avatarUrl", isShowAvatarInitials: "isShowAvatarInitials" }, outputs: { showProfileInfo: "showProfileInfo" }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: "<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <div *ngIf=\"isShowAvatarInitials; else defaultAvatar\" class=\"eui-user-profile-card__avatar-initials\">\n {{ avatarInitials }}\n </div>\n <ng-template #defaultAvatar>\n <div\n *ngIf=\"!avatarUrl\"\n class=\"eui-user-profile-card__avatar\"\n [ngClass]=\"isOnline ? 'eui-user-profile-card__avatar--online' : 'eui-user-profile-card__avatar--offline'\"></div>\n\n <div *ngIf=\"avatarUrl\" class=\"eui-user-profile-card__avatar eui-u-svg\">\n <img [src]=\"avatarUrl\" alt=\"avatar\" />\n </div>\n </ng-template>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-font-size-xl eui-u-mb-s\">{{ userState.fullName }}</div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.function }}\n </div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.organisation.code }}\n </div>\n </div>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n
|
50
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiUserProfileCardComponent, selector: "eui-user-profile-card", inputs: { impersonateLabel: "impersonateLabel", showDetailsLabel: "showDetailsLabel", avatarUrl: "avatarUrl", isShowAvatarInitials: "isShowAvatarInitials" }, outputs: { showProfileInfo: "showProfileInfo", closeProfileMenu: "closeProfileMenu" }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: "<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <div *ngIf=\"isShowAvatarInitials; else defaultAvatar\" class=\"eui-user-profile-card__avatar-initials\">\n {{ avatarInitials }}\n </div>\n <ng-template #defaultAvatar>\n <div\n *ngIf=\"!avatarUrl\"\n class=\"eui-user-profile-card__avatar\"\n [ngClass]=\"isOnline ? 'eui-user-profile-card__avatar--online' : 'eui-user-profile-card__avatar--offline'\"></div>\n\n <div *ngIf=\"avatarUrl\" class=\"eui-user-profile-card__avatar eui-u-svg\">\n <img [src]=\"avatarUrl\" alt=\"avatar\" />\n </div>\n </ng-template>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-font-size-xl eui-u-mb-s\">{{ userState.fullName }}</div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.function }}\n </div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.organisation.code }}\n </div>\n </div>\n <div class=\"eui-user-profile-card__main-wrapper-right-content\">\n <a class=\"eui-u-text-link\" tabindex=\"0\" (click)=\"onClose()\">close</a>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto eui-u-mt-m\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n <eui-icon-svg icon=\"eui-info\"></eui-icon-svg>\n </button>\n </div>\n</div>\n\n<ng-container *ngIf=\"(asService.state$ | async).impersonatedUserInfos\">\n <div class=\"eui-user-profile-card__impersonateInfos\">\n <div>{{ userState?.impersonatingUser?.firstName }} {{ userState?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ (asService.state$ | async).impersonatedUserInfos }}</strong>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
47
51
|
}
|
48
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiUserProfileCardComponent, decorators: [{
|
49
53
|
type: Component,
|
50
|
-
args: [{ selector: 'eui-user-profile-card', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <div *ngIf=\"isShowAvatarInitials; else defaultAvatar\" class=\"eui-user-profile-card__avatar-initials\">\n {{ avatarInitials }}\n </div>\n <ng-template #defaultAvatar>\n <div\n *ngIf=\"!avatarUrl\"\n class=\"eui-user-profile-card__avatar\"\n [ngClass]=\"isOnline ? 'eui-user-profile-card__avatar--online' : 'eui-user-profile-card__avatar--offline'\"></div>\n\n <div *ngIf=\"avatarUrl\" class=\"eui-user-profile-card__avatar eui-u-svg\">\n <img [src]=\"avatarUrl\" alt=\"avatar\" />\n </div>\n </ng-template>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-font-size-xl eui-u-mb-s\">{{ userState.fullName }}</div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.function }}\n </div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.organisation.code }}\n </div>\n </div>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n
|
54
|
+
args: [{ selector: 'eui-user-profile-card', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <div *ngIf=\"isShowAvatarInitials; else defaultAvatar\" class=\"eui-user-profile-card__avatar-initials\">\n {{ avatarInitials }}\n </div>\n <ng-template #defaultAvatar>\n <div\n *ngIf=\"!avatarUrl\"\n class=\"eui-user-profile-card__avatar\"\n [ngClass]=\"isOnline ? 'eui-user-profile-card__avatar--online' : 'eui-user-profile-card__avatar--offline'\"></div>\n\n <div *ngIf=\"avatarUrl\" class=\"eui-user-profile-card__avatar eui-u-svg\">\n <img [src]=\"avatarUrl\" alt=\"avatar\" />\n </div>\n </ng-template>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-font-size-xl eui-u-mb-s\">{{ userState.fullName }}</div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.function }}\n </div>\n <div class=\"eui-user-profile-card__userInfos-item\">\n {{ userState.organisation.code }}\n </div>\n </div>\n <div class=\"eui-user-profile-card__main-wrapper-right-content\">\n <a class=\"eui-u-text-link\" tabindex=\"0\" (click)=\"onClose()\">close</a>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto eui-u-mt-m\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n <eui-icon-svg icon=\"eui-info\"></eui-icon-svg>\n </button>\n </div>\n</div>\n\n<ng-container *ngIf=\"(asService.state$ | async).impersonatedUserInfos\">\n <div class=\"eui-user-profile-card__impersonateInfos\">\n <div>{{ userState?.impersonatingUser?.firstName }} {{ userState?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ (asService.state$ | async).impersonatedUserInfos }}</strong>\n </div>\n </div>\n</ng-container>\n" }]
|
51
55
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i1.EuiAppShellService }]; }, propDecorators: { cssClasses: [{
|
52
56
|
type: HostBinding,
|
53
57
|
args: ['class']
|
@@ -61,5 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
|
|
61
65
|
type: Input
|
62
66
|
}], showProfileInfo: [{
|
63
67
|
type: Output
|
68
|
+
}], closeProfileMenu: [{
|
69
|
+
type: Output
|
64
70
|
}] } });
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS11c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLWNhcmQvdXNlci1wcm9maWxlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS11c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLWNhcmQvdXNlci1wcm9maWxlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBUXZDLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsSUFDVyxVQUFVO1FBQ2pCLE9BQU8sdUJBQXVCLENBQUM7SUFDbkMsQ0FBQztJQVFELElBQ0ksb0JBQW9CO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLG9CQUFvQixDQUFDLEtBQW1CO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBTUQsWUFDWSxXQUF3QixFQUN6QixTQUE2QjtRQUQ1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQW5CeEMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVQLHFCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztRQVN6QyxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTNELDBCQUFxQixHQUFHLEtBQUssQ0FBQztJQUtuQyxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXO2FBQ1gsUUFBUSxFQUFFO2FBQ1YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hFLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLGdCQUFnQixHQUFHLGVBQWUsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0I7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO3dJQWxEUSwyQkFBMkI7NEhBQTNCLDJCQUEyQix3V0NYeEMsMmdFQTBDQTs7a0dEL0JhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBRWhCLHVCQUF1QixDQUFDLE9BQU8saUJBQ2pDLGlCQUFpQixDQUFDLElBQUk7bUlBSTFCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsT0FBTztnQkFRWCxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUYsb0JBQW9CO3NCQUR2QixLQUFLO2dCQU9JLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UsIFVzZXJTdGF0ZSwgRXVpQXBwU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS11c2VyLXByb2ZpbGUtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItcHJvZmlsZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVXNlclByb2ZpbGVDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdldWktdXNlci1wcm9maWxlLWNhcmQnO1xuICAgIH1cbiAgICBhdmF0YXJJbml0aWFsczogc3RyaW5nO1xuICAgIHVzZXJTdGF0ZTogVXNlclN0YXRlO1xuICAgIGlzT25saW5lID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIGltcGVyc29uYXRlTGFiZWwgPSAnaW1wZXJzb25hdGluZyc7XG4gICAgQElucHV0KCkgc2hvd0RldGFpbHNMYWJlbCA9ICdTaG93IHByb2ZpbGUgZGV0YWlscyc7XG4gICAgQElucHV0KCkgYXZhdGFyVXJsOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNTaG93QXZhdGFySW5pdGlhbHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dBdmF0YXJJbml0aWFscztcbiAgICB9XG4gICAgc2V0IGlzU2hvd0F2YXRhckluaXRpYWxzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNTaG93QXZhdGFySW5pdGlhbHMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBAT3V0cHV0KCkgc2hvd1Byb2ZpbGVJbmZvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgY2xvc2VQcm9maWxlTWVudTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIF9pc1Nob3dBdmF0YXJJbml0aWFscyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYXNTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgICAgICAgLmdldFN0YXRlKClcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE5hbWVJbml0aWFsID0gc3RhdGUuZmlyc3ROYW1lPy5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdE5hbWVJbml0aWFsID0gc3RhdGUubGFzdE5hbWU/LnN1YnN0cmluZygwLCAxKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF2YXRhckluaXRpYWxzID0gYCR7Zmlyc3ROYW1lSW5pdGlhbH0ke2xhc3ROYW1lSW5pdGlhbH1gO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJTdGF0ZSA9IHN0YXRlO1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnVzZXJTdGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TaG93SW5mb0NsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dQcm9maWxlSW5mby5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZVByb2ZpbGVNZW51LmVtaXQoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXVpLXVzZXItcHJvZmlsZS1jYXJkX19tYWluLXdyYXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLXVzZXItcHJvZmlsZS1jYXJkX19hdmF0YXItd3JhcHBlclwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNTaG93QXZhdGFySW5pdGlhbHM7IGVsc2UgZGVmYXVsdEF2YXRhclwiIGNsYXNzPVwiZXVpLXVzZXItcHJvZmlsZS1jYXJkX19hdmF0YXItaW5pdGlhbHNcIj5cbiAgICAgICAgICAgIHt7IGF2YXRhckluaXRpYWxzIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRBdmF0YXI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhYXZhdGFyVXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11c2VyLXByb2ZpbGUtY2FyZF9fYXZhdGFyXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpc09ubGluZSA/ICdldWktdXNlci1wcm9maWxlLWNhcmRfX2F2YXRhci0tb25saW5lJyA6ICdldWktdXNlci1wcm9maWxlLWNhcmRfX2F2YXRhci0tb2ZmbGluZSdcIj48L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImF2YXRhclVybFwiIGNsYXNzPVwiZXVpLXVzZXItcHJvZmlsZS1jYXJkX19hdmF0YXIgZXVpLXUtc3ZnXCI+XG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImF2YXRhclVybFwiIGFsdD1cImF2YXRhclwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLXVzZXItcHJvZmlsZS1jYXJkX191c2VySW5mb3NcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZvbnQtc2l6ZS14bCBldWktdS1tYi1zXCI+e3sgdXNlclN0YXRlLmZ1bGxOYW1lIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktdXNlci1wcm9maWxlLWNhcmRfX3VzZXJJbmZvcy1pdGVtXCI+XG4gICAgICAgICAgICB7eyB1c2VyU3RhdGUuZnVuY3Rpb24gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktdXNlci1wcm9maWxlLWNhcmRfX3VzZXJJbmZvcy1pdGVtXCI+XG4gICAgICAgICAgICB7eyB1c2VyU3RhdGUub3JnYW5pc2F0aW9uLmNvZGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImV1aS11c2VyLXByb2ZpbGUtY2FyZF9fbWFpbi13cmFwcGVyLXJpZ2h0LWNvbnRlbnRcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJldWktdS10ZXh0LWxpbmtcIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+Y2xvc2U8L2E+XG4gICAgICAgIDxidXR0b24gZXVpQnV0dG9uIGV1aUljb25CdXR0b24gZXVpSW5mbyBldWlTaXplUyBjbGFzcz1cImV1aS11LW1sLWF1dG8gZXVpLXUtbXQtbVwiIChjbGljayk9XCJvblNob3dJbmZvQ2xpY2soKVwiIHRpdGxlPVwie3sgc2hvd0RldGFpbHNMYWJlbCB9fVwiPlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWluZm9cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIihhc1NlcnZpY2Uuc3RhdGUkIHwgYXN5bmMpLmltcGVyc29uYXRlZFVzZXJJbmZvc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJldWktdXNlci1wcm9maWxlLWNhcmRfX2ltcGVyc29uYXRlSW5mb3NcIj5cbiAgICAgICAgPGRpdj57eyB1c2VyU3RhdGU/LmltcGVyc29uYXRpbmdVc2VyPy5maXJzdE5hbWUgfX0ge3sgdXNlclN0YXRlPy5pbXBlcnNvbmF0aW5nVXNlcj8ubGFzdE5hbWUgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LW10LTJ4c1wiPnt7IGltcGVyc29uYXRlTGFiZWwgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LW10LTJ4c1wiPlxuICAgICAgICAgICAgPHN0cm9uZz57eyAoYXNTZXJ2aWNlLnN0YXRlJCB8IGFzeW5jKS5pbXBlcnNvbmF0ZWRVc2VySW5mb3MgfX08L3N0cm9uZz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|