barsa-tiles 1.0.307 → 1.0.309
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.
|
@@ -85,10 +85,10 @@ export class NotificationGroupComponent extends BaseComponent {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
NotificationGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupComponent, deps: [{ token: i1.GroupByPipe }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
-
NotificationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", notificationCount: "notificationCount" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", show: "show", loadMore: "loadMore" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\
|
|
88
|
+
NotificationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", notificationCount: "notificationCount" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", show: "show", loadMore: "loadMore" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\n <ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\">\n <fd-tab\n [title]=\"tab.title | bbbTranslate\"\n *ngFor=\"let tab of tabList; let index = index; trackBy: _trackByTitle\"\n >\n <fd-notification-group-list\n *ngFor=\"let groupItem of tab.groupByItems; let index = index; trackBy: _trackByKey\"\n >\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n </fd-tab>\n </fd-tab-list>\n </fd-notification-group>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <bsu-no-data *ngIf=\"!loading; else loadingTpl\"></bsu-no-data>\n</ng-template>\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [marginTop]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto\">\n <ng-container *ngFor=\"let mo of notifications; trackBy: _trackMoById; let first = first; let last = last\">\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (show)=\"show.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.NotificationHeaderComponent, selector: "fd-notification-header", inputs: ["uniqueId"] }, { kind: "component", type: i4.NotificationActionsComponent, selector: "fd-notification-actions" }, { kind: "component", type: i4.NotificationGroupHeaderComponent, selector: "fd-notification-group-header", inputs: ["expandCompact", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: i4.NotificationGroupComponent, selector: "fd-notification-group", inputs: ["class", "mobile", "width"] }, { kind: "component", type: i4.NotificationGroupListComponent, selector: "fd-notification-group-list" }, { kind: "component", type: i5.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i5.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "component", type: i6.NoDataComponent, selector: "bsu-no-data" }, { kind: "component", type: i6.NotificationItemComponent, selector: "bsu-notification-item", inputs: ["option", "notificationItem", "showCloseButton"], outputs: ["viewed", "remove", "actionClick", "show", "close"] }, { kind: "component", type: i7.NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: ["notifications", "title"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
89
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupComponent, decorators: [{
|
|
90
90
|
type: Component,
|
|
91
|
-
args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\
|
|
91
|
+
args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\n <ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\">\n <fd-tab\n [title]=\"tab.title | bbbTranslate\"\n *ngFor=\"let tab of tabList; let index = index; trackBy: _trackByTitle\"\n >\n <fd-notification-group-list\n *ngFor=\"let groupItem of tab.groupByItems; let index = index; trackBy: _trackByKey\"\n >\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n </fd-tab>\n </fd-tab-list>\n </fd-notification-group>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <bsu-no-data *ngIf=\"!loading; else loadingTpl\"></bsu-no-data>\n</ng-template>\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [marginTop]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto\">\n <ng-container *ngFor=\"let mo of notifications; trackBy: _trackMoById; let first = first; let last = last\">\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (show)=\"show.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}\n"] }]
|
|
92
92
|
}], ctorParameters: function () { return [{ type: i1.GroupByPipe }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { notifications: [{
|
|
93
93
|
type: Input
|
|
94
94
|
}], loading: [{
|
|
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
106
106
|
}], loadMore: [{
|
|
107
107
|
type: Output
|
|
108
108
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbm90aWZpY2F0aW9uLWdyb3VwL25vdGlmaWNhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFHYixrQkFBa0IsRUFHbEIsUUFBUSxFQUdYLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQVE5QixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsYUFBYTtJQWtCekQsWUFBb0IsWUFBeUIsRUFBVSxJQUF1QjtRQUMxRSxLQUFLLEVBQUUsQ0FBQztRQURRLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFicEUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQzlDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBa0QsQ0FBQztRQUM1RSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF1RCxDQUFDO1FBQ3RGLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBNkMsQ0FBQztRQUNyRSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxhQUFRLEdBQTRCLEVBQUUsQ0FBQztRQUV2QyxZQUFPLEdBQXFEO1lBQ3hELEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO1lBQ3RDLEVBQUUsS0FBSyxFQUFFLFNBQVMs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O1lBQ0QsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN4QjtTQUNKO0lBQ0wsQ0FBQztJQUNELG9DQUFvQyxDQUFDLENBQThCLEVBQUUsRUFBb0I7UUFDckYsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN2RSxPQUFPO1NBQ1Y7UUFDRCxFQUFFLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7dUhBOUVRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLGtVQzdCdkMsaXFJQStFQTsyRkRsRGEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtrSUFHdEMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgR3JvdXBCeUl0ZW0sXHJcbiAgICBHcm91cEJ5UGlwZSxcclxuICAgIEludGVyc2VjdGlvblN0YXR1cyxcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXHJcbiAgICBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMsXHJcbiAgICBCYXJzYUFwaSxcclxuICAgIE5vdGlmaWNhdGlvbkl0ZW0sXHJcbiAgICBOb3RpZmljYXRpb25BY3Rpb25cclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtbm90aWZpY2F0aW9uLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Db3VudDogeyB1bnJlYWQ6IG51bWJlcjsgYWxsOiBudW1iZXIgfTtcclxuXHJcbiAgICBAT3V0cHV0KCkgdmlld2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpZmljYXRpb25JdGVtPigpO1xyXG4gICAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtczogTm90aWZpY2F0aW9uSXRlbVtdOyBzaWxlbnQ6IGJvb2xlYW4gfT4oKTtcclxuICAgIEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtOiBOb3RpZmljYXRpb25JdGVtOyBidG46IE5vdGlmaWNhdGlvbkFjdGlvbiB9PigpO1xyXG4gICAgQE91dHB1dCgpIHNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IG5hbWE6IHN0cmluZyB9PigpO1xyXG4gICAgQE91dHB1dCgpIGxvYWRNb3JlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgZXhwYW5kZWQ6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XHJcblxyXG4gICAgdGFiTGlzdDogeyB0aXRsZTogc3RyaW5nOyBncm91cEJ5SXRlbXM6IEdyb3VwQnlJdGVtW10gfVtdID0gW1xyXG4gICAgICAgIHsgdGl0bGU6ICdCeSBEYXRlJywgZ3JvdXBCeUl0ZW1zOiBbXSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICdCeSBUeXBlJywgZ3JvdXBCeUl0ZW1zOiBbXSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICdCeSBQcmlvcml0eScsIGdyb3VwQnlJdGVtczogW10gfVxyXG4gICAgXTtcclxuICAgIHZpZXdlZE5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXSA9IFtdO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZ3JvdXBCeVBpcGU6IEdyb3VwQnlQaXBlLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlHcm91cEJ5SXRlbXModGhpcy5ub3RpZmljYXRpb25zKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG5vdGlmaWNhdGlvbnMgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbnMgJiYgIW5vdGlmaWNhdGlvbnMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBseUdyb3VwQnlJdGVtcyhub3RpZmljYXRpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXBwbHlHcm91cEJ5SXRlbXMobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghbm90aWZpY2F0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50YWJMaXN0WzBdLmdyb3VwQnlJdGVtcyA9IHRoaXMuX2dyb3VwQnlQaXBlLnRyYW5zZm9ybShub3RpZmljYXRpb25zLCAnQ3JlYXRpb25EYXRlJyk7XHJcbiAgICAgICAgdGhpcy50YWJMaXN0WzFdLmdyb3VwQnlJdGVtcyA9IHRoaXMuX2dyb3VwQnlQaXBlLnRyYW5zZm9ybShub3RpZmljYXRpb25zLCAnU3ViamVjdCcpO1xyXG4gICAgICAgIHRoaXMudGFiTGlzdFsyXS5ncm91cEJ5SXRlbXMgPSB0aGlzLl9ncm91cEJ5UGlwZS50cmFuc2Zvcm0obm90aWZpY2F0aW9ucywgJ1ByaW9yaXR5Jyk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYkxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFiTGlzdFtpXS5ncm91cEJ5SXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEtleSA9IHRoaXMudGFiTGlzdFtpXS5ncm91cEJ5SXRlbXNbMF0ua2V5O1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpcnN0S2V5ICYmIHR5cGVvZiB0aGlzLmV4cGFuZGVkW2ZpcnN0S2V5XSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkW2ZpcnN0S2V5XSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBfdHJhY2tCeVRpdGxlKF9pbmRleDogbnVtYmVyLCBfOiB7IHRpdGxlOiBzdHJpbmc7IGdyb3VwQnlJdGVtczogR3JvdXBCeUl0ZW1bXSB9KTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gX2luZGV4O1xyXG4gICAgfVxyXG4gICAgX3RyYWNrQnlLZXkoX2luZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IHN0cmluZzsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnkgfSk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0ua2V5O1xyXG4gICAgfVxyXG4gICAgX3RyYWNrTW9CeUlkKF9pbmRleDogbnVtYmVyLCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIG1vLklkO1xyXG4gICAgfVxyXG4gICAgb25WaXNpYmlsaXR5Q2hhbmdlKGU6IEludGVyc2VjdGlvblN0YXR1cywgbW86IE5vdGlmaWNhdGlvbkl0ZW0sIGlzTGFzdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmIChlID09PSBJbnRlcnNlY3Rpb25TdGF0dXMuVmlzaWJsZSkge1xyXG4gICAgICAgICAgICBpZiAobW8uVW5yZWFkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlZE5vdGlmaWNhdGlvbnMgPSBbLi4udGhpcy52aWV3ZWROb3RpZmljYXRpb25zLmZpbHRlcigoYykgPT4gYy5VbnJlYWQpLCBtb107XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlZC5lbWl0KG1vKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaXNMYXN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRNb3JlLmVtaXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzQ2hhbmdlZChlOiBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMsIG1vOiBOb3RpZmljYXRpb25JdGVtKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGUucmVzdWx0ICYmICFlLmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoeyBpdGVtczogW21vXSwgc2lsZW50OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Cdy5Ub2FzdC5TdWNjZXNzKGAke2UuY2hvaWNlPy5UaXRsZX0gJHtCYXJzYUFwaS5CQkIuQWN0aW9ufWApO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1vLiRDaG9pY2VEZWZTdGF0dXMgPSBlO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMgJiYgbm90aWZpY2F0aW9ucy5sZW5ndGggPiAwOyBlbHNlIG5vRGF0YVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwPlxyXG4gICAgICAgICAgICA8ZmQtdGFiLWxpc3Qgc2l6ZT1cInNcIj5cclxuICAgICAgICAgICAgICAgIDxmZC10YWJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGFiLnRpdGxlIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkxpc3Q7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiBfdHJhY2tCeVRpdGxlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwLWxpc3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwSXRlbSBvZiB0YWIuZ3JvdXBCeUl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogX3RyYWNrQnlLZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXIgWyhleHBhbmRlZCldPVwiZXhwYW5kZWRbZ3JvdXBJdGVtLmtleV1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24taGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidC1ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpZmljYXRpb25zXT1cImdyb3VwSXRlbS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJncm91cEl0ZW0ua2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idC1ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24taGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1hY3Rpb25zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBmZC1idXR0b24gbGFiZWw9XCJBY2NlcHQgQWxsXCI+PC9idXR0b24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInRGVsZXRlQWxsJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInRGVsZXRlQWxsJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmUuZW1pdCh7IGl0ZW1zOiBncm91cEl0ZW0udmFsdWUsIHNpbGVudDogZmFsc2UgfSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWFjdGlvbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb25Cb2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBncm91cEl0ZW0udmFsdWUsIGV4cGFuZGVkOiBleHBhbmRlZFtncm91cEl0ZW0ua2V5XSB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGZkLW5vdGlmaWNhdGlvbi1saW1pdCAqbmdJZj1cImdyb3VwSXRlbS52YWx1ZS5sZW5ndGggLSA0ID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGZkLW5vdGlmaWNhdGlvbi1saW1pdC10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVyZSBhcmUge3sgZ3JvdXBJdGVtLnZhbHVlLmxlbmd0aCAtIDQgfX0gbW9yZSBub3RpZmljYXRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgZmQtbm90aWZpY2F0aW9uLWxpbWl0LWRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBuZWVkIHRvIGNsb3NlIG9yIHRha2UgYWN0aW9uIG9uIHRoZSBsaXN0ZWQgbm90aWZpY2F0aW9ucyB0byBkaXNwbGF5IG1vcmUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWxpbWl0PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1ncm91cC1saXN0PlxyXG4gICAgICAgICAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgICAgIDwvZmQtdGFiLWxpc3Q+XHJcbiAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tZ3JvdXA+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPlxyXG4gICAgPGJzdS1uby1kYXRhICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2UgbG9hZGluZ1RwbFwiPjwvYnN1LW5vLWRhdGE+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RwbD5cclxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IDMwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZVwiPlxyXG4gICAgICAgIDxic3UtbWFzayBbbWFyZ2luVG9wXT1cIicxMHB4J1wiPjwvYnN1LW1hc2s+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25JdGVtPiA8L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25Cb2R5IGxldC1ub3RpZmljYXRpb25zIGxldC1leGFwYW5kZWQ9XCJleHBhbmRlZFwiPlxyXG4gICAgPGRpdiBzdHlsZT1cIm1heC1oZWlnaHQ6IDM0NnB4OyBvdmVyZmxvdzogYXV0b1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vIG9mIG5vdGlmaWNhdGlvbnM7IHRyYWNrQnk6IF90cmFja01vQnlJZDsgbGV0IGZpcnN0ID0gZmlyc3Q7IGxldCBsYXN0ID0gbGFzdFwiPlxyXG4gICAgICAgICAgICA8YnN1LW5vdGlmaWNhdGlvbi1pdGVtXHJcbiAgICAgICAgICAgICAgICBbbm90aWZpY2F0aW9uSXRlbV09XCJtb1wiXHJcbiAgICAgICAgICAgICAgICAodmlld2VkKT1cInZpZXdlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJyZW1vdmUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChzaG93KT1cInNob3cuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJhY3Rpb25DbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJcclxuICAgICAgICAgICAgICAgIFtpbnRlcnNlY3Rpb25UaHJlc2hvbGRdPVwiMC41XCJcclxuICAgICAgICAgICAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cIm9uVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQsIG1vLCBsYXN0KVwiXHJcbiAgICAgICAgICAgID48L2JzdS1ub3RpZmljYXRpb24taXRlbT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbm90aWZpY2F0aW9uLWdyb3VwL25vdGlmaWNhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFHYixrQkFBa0IsRUFHbEIsUUFBUSxFQUdYLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQVE5QixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsYUFBYTtJQWtCekQsWUFBb0IsWUFBeUIsRUFBVSxJQUF1QjtRQUMxRSxLQUFLLEVBQUUsQ0FBQztRQURRLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFicEUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQzlDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBa0QsQ0FBQztRQUM1RSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF1RCxDQUFDO1FBQ3RGLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBNkMsQ0FBQztRQUNyRSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxhQUFRLEdBQTRCLEVBQUUsQ0FBQztRQUV2QyxZQUFPLEdBQXFEO1lBQ3hELEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO1lBQ3RDLEVBQUUsS0FBSyxFQUFFLFNBQVMs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O1lBQ0QsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN4QjtTQUNKO0lBQ0wsQ0FBQztJQUNELG9DQUFvQyxDQUFDLENBQThCLEVBQUUsRUFBb0I7UUFDckYsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN2RSxPQUFPO1NBQ1Y7UUFDRCxFQUFFLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7dUhBOUVRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLGtVQzdCdkMscWdJQStFQTsyRkRsRGEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtrSUFHdEMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgR3JvdXBCeUl0ZW0sXHJcbiAgICBHcm91cEJ5UGlwZSxcclxuICAgIEludGVyc2VjdGlvblN0YXR1cyxcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXHJcbiAgICBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMsXHJcbiAgICBCYXJzYUFwaSxcclxuICAgIE5vdGlmaWNhdGlvbkl0ZW0sXHJcbiAgICBOb3RpZmljYXRpb25BY3Rpb25cclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtbm90aWZpY2F0aW9uLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Db3VudDogeyB1bnJlYWQ6IG51bWJlcjsgYWxsOiBudW1iZXIgfTtcclxuXHJcbiAgICBAT3V0cHV0KCkgdmlld2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpZmljYXRpb25JdGVtPigpO1xyXG4gICAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtczogTm90aWZpY2F0aW9uSXRlbVtdOyBzaWxlbnQ6IGJvb2xlYW4gfT4oKTtcclxuICAgIEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtOiBOb3RpZmljYXRpb25JdGVtOyBidG46IE5vdGlmaWNhdGlvbkFjdGlvbiB9PigpO1xyXG4gICAgQE91dHB1dCgpIHNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IG5hbWE6IHN0cmluZyB9PigpO1xyXG4gICAgQE91dHB1dCgpIGxvYWRNb3JlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgZXhwYW5kZWQ6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XHJcblxyXG4gICAgdGFiTGlzdDogeyB0aXRsZTogc3RyaW5nOyBncm91cEJ5SXRlbXM6IEdyb3VwQnlJdGVtW10gfVtdID0gW1xyXG4gICAgICAgIHsgdGl0bGU6ICdCeSBEYXRlJywgZ3JvdXBCeUl0ZW1zOiBbXSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICdCeSBUeXBlJywgZ3JvdXBCeUl0ZW1zOiBbXSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICdCeSBQcmlvcml0eScsIGdyb3VwQnlJdGVtczogW10gfVxyXG4gICAgXTtcclxuICAgIHZpZXdlZE5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXSA9IFtdO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZ3JvdXBCeVBpcGU6IEdyb3VwQnlQaXBlLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlHcm91cEJ5SXRlbXModGhpcy5ub3RpZmljYXRpb25zKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG5vdGlmaWNhdGlvbnMgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbnMgJiYgIW5vdGlmaWNhdGlvbnMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBseUdyb3VwQnlJdGVtcyhub3RpZmljYXRpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXBwbHlHcm91cEJ5SXRlbXMobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghbm90aWZpY2F0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50YWJMaXN0WzBdLmdyb3VwQnlJdGVtcyA9IHRoaXMuX2dyb3VwQnlQaXBlLnRyYW5zZm9ybShub3RpZmljYXRpb25zLCAnQ3JlYXRpb25EYXRlJyk7XHJcbiAgICAgICAgdGhpcy50YWJMaXN0WzFdLmdyb3VwQnlJdGVtcyA9IHRoaXMuX2dyb3VwQnlQaXBlLnRyYW5zZm9ybShub3RpZmljYXRpb25zLCAnU3ViamVjdCcpO1xyXG4gICAgICAgIHRoaXMudGFiTGlzdFsyXS5ncm91cEJ5SXRlbXMgPSB0aGlzLl9ncm91cEJ5UGlwZS50cmFuc2Zvcm0obm90aWZpY2F0aW9ucywgJ1ByaW9yaXR5Jyk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYkxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFiTGlzdFtpXS5ncm91cEJ5SXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEtleSA9IHRoaXMudGFiTGlzdFtpXS5ncm91cEJ5SXRlbXNbMF0ua2V5O1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpcnN0S2V5ICYmIHR5cGVvZiB0aGlzLmV4cGFuZGVkW2ZpcnN0S2V5XSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkW2ZpcnN0S2V5XSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBfdHJhY2tCeVRpdGxlKF9pbmRleDogbnVtYmVyLCBfOiB7IHRpdGxlOiBzdHJpbmc7IGdyb3VwQnlJdGVtczogR3JvdXBCeUl0ZW1bXSB9KTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gX2luZGV4O1xyXG4gICAgfVxyXG4gICAgX3RyYWNrQnlLZXkoX2luZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IHN0cmluZzsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnkgfSk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0ua2V5O1xyXG4gICAgfVxyXG4gICAgX3RyYWNrTW9CeUlkKF9pbmRleDogbnVtYmVyLCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIG1vLklkO1xyXG4gICAgfVxyXG4gICAgb25WaXNpYmlsaXR5Q2hhbmdlKGU6IEludGVyc2VjdGlvblN0YXR1cywgbW86IE5vdGlmaWNhdGlvbkl0ZW0sIGlzTGFzdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmIChlID09PSBJbnRlcnNlY3Rpb25TdGF0dXMuVmlzaWJsZSkge1xyXG4gICAgICAgICAgICBpZiAobW8uVW5yZWFkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlZE5vdGlmaWNhdGlvbnMgPSBbLi4udGhpcy52aWV3ZWROb3RpZmljYXRpb25zLmZpbHRlcigoYykgPT4gYy5VbnJlYWQpLCBtb107XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlZC5lbWl0KG1vKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaXNMYXN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRNb3JlLmVtaXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzQ2hhbmdlZChlOiBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMsIG1vOiBOb3RpZmljYXRpb25JdGVtKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGUucmVzdWx0ICYmICFlLmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoeyBpdGVtczogW21vXSwgc2lsZW50OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Cdy5Ub2FzdC5TdWNjZXNzKGAke2UuY2hvaWNlPy5UaXRsZX0gJHtCYXJzYUFwaS5CQkIuQWN0aW9ufWApO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1vLiRDaG9pY2VEZWZTdGF0dXMgPSBlO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMgJiYgbm90aWZpY2F0aW9ucy5sZW5ndGggPiAwOyBlbHNlIG5vRGF0YVwiPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxmZC1ub3RpZmljYXRpb24tZ3JvdXA+XG4gICAgICAgICAgICA8ZmQtdGFiLWxpc3Qgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgICAgICA8ZmQtdGFiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0YWIudGl0bGUgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkxpc3Q7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiBfdHJhY2tCeVRpdGxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tZ3JvdXAtbGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwSXRlbSBvZiB0YWIuZ3JvdXBCeUl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogX3RyYWNrQnlLZXlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlciBbKGV4cGFuZGVkKV09XCJleHBhbmRlZFtncm91cEl0ZW0ua2V5XVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24taGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGlmaWNhdGlvbnNdPVwiZ3JvdXBJdGVtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJncm91cEl0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxidXR0b24gZmQtYnV0dG9uIGxhYmVsPVwiQWNjZXB0IEFsbFwiPjwvYnV0dG9uPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidEZWxldGVBbGwnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInRGVsZXRlQWxsJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZS5lbWl0KHsgaXRlbXM6IGdyb3VwSXRlbS52YWx1ZSwgc2lsZW50OiBmYWxzZSB9KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbkJvZHk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBncm91cEl0ZW0udmFsdWUsIGV4cGFuZGVkOiBleHBhbmRlZFtncm91cEl0ZW0ua2V5XSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGZkLW5vdGlmaWNhdGlvbi1saW1pdCAqbmdJZj1cImdyb3VwSXRlbS52YWx1ZS5sZW5ndGggLSA0ID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBmZC1ub3RpZmljYXRpb24tbGltaXQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZXJlIGFyZSB7eyBncm91cEl0ZW0udmFsdWUubGVuZ3RoIC0gNCB9fSBtb3JlIG5vdGlmaWNhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGZkLW5vdGlmaWNhdGlvbi1saW1pdC1kZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWW91IG5lZWQgdG8gY2xvc2Ugb3IgdGFrZSBhY3Rpb24gb24gdGhlIGxpc3RlZCBub3RpZmljYXRpb25zIHRvIGRpc3BsYXkgbW9yZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1saW1pdD4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWdyb3VwLWxpc3Q+XG4gICAgICAgICAgICAgICAgPC9mZC10YWI+XG4gICAgICAgICAgICA8L2ZkLXRhYi1saXN0PlxuICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1ncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gICAgPGJzdS1uby1kYXRhICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2UgbG9hZGluZ1RwbFwiPjwvYnN1LW5vLWRhdGE+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IDMwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZVwiPlxuICAgICAgICA8YnN1LW1hc2sgW21hcmdpblRvcF09XCInMTBweCdcIj48L2JzdS1tYXNrPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbm90aWZpY2F0aW9uSXRlbT4gPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25Cb2R5IGxldC1ub3RpZmljYXRpb25zIGxldC1leGFwYW5kZWQ9XCJleHBhbmRlZFwiPlxuICAgIDxkaXYgc3R5bGU9XCJtYXgtaGVpZ2h0OiAzNDZweDsgb3ZlcmZsb3cteTogYXV0b1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtbyBvZiBub3RpZmljYXRpb25zOyB0cmFja0J5OiBfdHJhY2tNb0J5SWQ7IGxldCBmaXJzdCA9IGZpcnN0OyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgIDxic3Utbm90aWZpY2F0aW9uLWl0ZW1cbiAgICAgICAgICAgICAgICBbbm90aWZpY2F0aW9uSXRlbV09XCJtb1wiXG4gICAgICAgICAgICAgICAgKHZpZXdlZCk9XCJ2aWV3ZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChzaG93KT1cInNob3cuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoYWN0aW9uQ2xpY2spPVwiYWN0aW9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlclxuICAgICAgICAgICAgICAgIFtpbnRlcnNlY3Rpb25UaHJlc2hvbGRdPVwiMC41XCJcbiAgICAgICAgICAgICAgICAodmlzaWJpbGl0eUNoYW5nZSk9XCJvblZpc2liaWxpdHlDaGFuZ2UoJGV2ZW50LCBtbywgbGFzdClcIlxuICAgICAgICAgICAgPjwvYnN1LW5vdGlmaWNhdGlvbi1pdGVtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
package/fesm2015/barsa-tiles.mjs
CHANGED
|
@@ -2189,10 +2189,10 @@ class NotificationGroupComponent extends BaseComponent {
|
|
|
2189
2189
|
}
|
|
2190
2190
|
}
|
|
2191
2191
|
NotificationGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupComponent, deps: [{ token: i1$2.GroupByPipe }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2192
|
-
NotificationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", notificationCount: "notificationCount" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", show: "show", loadMore: "loadMore" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\
|
|
2192
|
+
NotificationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", notificationCount: "notificationCount" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", show: "show", loadMore: "loadMore" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\n <ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\">\n <fd-tab\n [title]=\"tab.title | bbbTranslate\"\n *ngFor=\"let tab of tabList; let index = index; trackBy: _trackByTitle\"\n >\n <fd-notification-group-list\n *ngFor=\"let groupItem of tab.groupByItems; let index = index; trackBy: _trackByKey\"\n >\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n </fd-tab>\n </fd-tab-list>\n </fd-notification-group>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <bsu-no-data *ngIf=\"!loading; else loadingTpl\"></bsu-no-data>\n</ng-template>\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [marginTop]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto\">\n <ng-container *ngFor=\"let mo of notifications; trackBy: _trackMoById; let first = first; let last = last\">\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (show)=\"show.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}\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: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4$2.NotificationHeaderComponent, selector: "fd-notification-header", inputs: ["uniqueId"] }, { kind: "component", type: i4$2.NotificationActionsComponent, selector: "fd-notification-actions" }, { kind: "component", type: i4$2.NotificationGroupHeaderComponent, selector: "fd-notification-group-header", inputs: ["expandCompact", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: i4$2.NotificationGroupComponent, selector: "fd-notification-group", inputs: ["class", "mobile", "width"] }, { kind: "component", type: i4$2.NotificationGroupListComponent, selector: "fd-notification-group-list" }, { kind: "component", type: i8$2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i8$2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1$2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "component", type: i6.NoDataComponent, selector: "bsu-no-data" }, { kind: "component", type: i6.NotificationItemComponent, selector: "bsu-notification-item", inputs: ["option", "notificationItem", "showCloseButton"], outputs: ["viewed", "remove", "actionClick", "show", "close"] }, { kind: "component", type: NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: ["notifications", "title"] }, { kind: "pipe", type: i1$2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2193
2193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupComponent, decorators: [{
|
|
2194
2194
|
type: Component,
|
|
2195
|
-
args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\
|
|
2195
|
+
args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\n <ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\">\n <fd-tab\n [title]=\"tab.title | bbbTranslate\"\n *ngFor=\"let tab of tabList; let index = index; trackBy: _trackByTitle\"\n >\n <fd-notification-group-list\n *ngFor=\"let groupItem of tab.groupByItems; let index = index; trackBy: _trackByKey\"\n >\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n </fd-tab>\n </fd-tab-list>\n </fd-notification-group>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <bsu-no-data *ngIf=\"!loading; else loadingTpl\"></bsu-no-data>\n</ng-template>\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [marginTop]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto\">\n <ng-container *ngFor=\"let mo of notifications; trackBy: _trackMoById; let first = first; let last = last\">\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (show)=\"show.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}\n"] }]
|
|
2196
2196
|
}], ctorParameters: function () { return [{ type: i1$2.GroupByPipe }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { notifications: [{
|
|
2197
2197
|
type: Input
|
|
2198
2198
|
}], loading: [{
|