@fundamental-ngx/core 0.58.0-rc.7 → 0.58.0-rc.71
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/button/index.d.ts +1 -1
- package/card/index.d.ts +8 -4
- package/combobox/index.d.ts +9 -1
- package/dialog/index.d.ts +2 -2
- package/feed-input/index.d.ts +1 -1
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +44 -8
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -2
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +3 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +32 -5
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-theming.mjs +2 -3
- package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/form/index.d.ts +2 -2
- package/input-group/index.d.ts +1 -1
- package/list/index.d.ts +4 -4
- package/menu/index.d.ts +2 -2
- package/message-box/index.d.ts +1 -1
- package/multi-combobox/index.d.ts +2 -2
- package/multi-input/index.d.ts +1 -1
- package/nested-list/index.d.ts +11 -11
- package/notification/index.d.ts +2 -0
- package/overflow-layout/index.d.ts +4 -4
- package/package.json +45 -45
- package/popover/index.d.ts +2 -2
- package/segmented-button/index.d.ts +3 -3
- package/shellbar/index.d.ts +13 -2
- package/table/index.d.ts +2 -2
- package/tabs/index.d.ts +3 -3
- package/time/index.d.ts +1 -1
- package/time-picker/index.d.ts +1 -1
- package/toolbar/index.d.ts +1 -1
- package/tree/index.d.ts +3 -3
- package/schematics/add-animations/index.d.ts +0 -7
- package/schematics/add-animations/index.js +0 -83
- package/schematics/add-animations/index.js.map +0 -1
- package/schematics/add-animations/schema.json +0 -21
- package/schematics/add-dependencies/index.d.ts +0 -7
- package/schematics/add-dependencies/index.js +0 -105
- package/schematics/add-dependencies/index.js.map +0 -1
- package/schematics/add-dependencies/schema.json +0 -15
- package/schematics/add-styles/index.d.ts +0 -7
- package/schematics/add-styles/index.js +0 -97
- package/schematics/add-styles/index.js.map +0 -1
- package/schematics/add-styles/schema.json +0 -21
- package/schematics/add-theming/index.d.ts +0 -7
- package/schematics/add-theming/index.js +0 -108
- package/schematics/add-theming/index.js.map +0 -1
- package/schematics/add-theming/schema.json +0 -72
- package/schematics/collection.json +0 -40
- package/schematics/models/schema.d.ts +0 -6
- package/schematics/models/schema.js +0 -3
- package/schematics/models/schema.js.map +0 -1
- package/schematics/ng-add/index.d.ts +0 -9
- package/schematics/ng-add/index.js +0 -30
- package/schematics/ng-add/index.js.map +0 -1
- package/schematics/ng-add/schema.json +0 -84
- package/schematics/utils/calls-providers-function.d.ts +0 -11
- package/schematics/utils/calls-providers-function.js +0 -54
- package/schematics/utils/calls-providers-function.js.map +0 -1
- package/schematics/utils/file-utils.d.ts +0 -2
- package/schematics/utils/file-utils.js +0 -26
- package/schematics/utils/file-utils.js.map +0 -1
- package/schematics/utils/main-ts-file-path.d.ts +0 -2
- package/schematics/utils/main-ts-file-path.js +0 -27
- package/schematics/utils/main-ts-file-path.js.map +0 -1
- package/schematics/utils/ng-module-utils.d.ts +0 -6
- package/schematics/utils/ng-module-utils.js +0 -71
- package/schematics/utils/ng-module-utils.js.map +0 -1
- package/schematics/utils/one-time-packages.d.ts +0 -6
- package/schematics/utils/one-time-packages.js +0 -39
- package/schematics/utils/one-time-packages.js.map +0 -1
- package/schematics/utils/package-utils.d.ts +0 -10
- package/schematics/utils/package-utils.js +0 -25
- package/schematics/utils/package-utils.js.map +0 -1
- package/schematics/utils/workspace.d.ts +0 -40
- package/schematics/utils/workspace.js +0 -110
- package/schematics/utils/workspace.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-overflow-layout.mjs","sources":["../tmp-esm2022/overflow-layout/tokens/overflow-expand.token.js","../tmp-esm2022/overflow-layout/directives/overflow-expand.directive.js","../tmp-esm2022/overflow-layout/directives/overflow-item-container-ref.directive.js","../tmp-esm2022/overflow-layout/tokens/overflow-item-ref.token.js","../tmp-esm2022/overflow-layout/directives/overflow-item-ref.directive.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-item-container.directive.js","../tmp-esm2022/overflow-layout/tokens/overflow-container.token.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-popover-content.directive.js","../tmp-esm2022/overflow-layout/overflow-layout.service.js","../tmp-esm2022/overflow-layout/tokens/overflow-focusable-item.token.js","../tmp-esm2022/overflow-layout/overflow-layout.component.js","../tmp-esm2022/overflow-layout/tokens/overflow-item.token.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-focusable-item.directive.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-item.directive.js","../tmp-esm2022/overflow-layout/overflow-layout.module.js","../tmp-esm2022/overflow-layout/fundamental-ngx-core-overflow-layout.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_EXPAND = new InjectionToken('FdOverflowLayoutExpand');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctZXhwYW5kLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC90b2tlbnMvb3ZlcmZsb3ctZXhwYW5kLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQWlCLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dFeHBhbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWV4cGFuZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRkRfT1ZFUkZMT1dfRVhQQU5EID0gbmV3IEluamVjdGlvblRva2VuPE92ZXJmbG93RXhwYW5kPignRmRPdmVyZmxvd0xheW91dEV4cGFuZCcpO1xuIl19","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { FD_OVERFLOW_EXPAND } from '../tokens/overflow-expand.token';\nimport * as i0 from \"@angular/core\";\n/**\n * Structural directive which is responsible for rendering the \"More\" button and handling further logic.\n */\nexport class OverflowExpandDirective {\n /** @hidden */\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n /** @hidden */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowExpandDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowExpandDirective, isStandalone: true, selector: \"[fdOverflowExpand]\", inputs: { fdOverflowExpandItems: \"fdOverflowExpandItems\" }, providers: [\n {\n provide: FD_OVERFLOW_EXPAND,\n useExisting: OverflowExpandDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowExpandDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowExpand]',\n providers: [\n {\n provide: FD_OVERFLOW_EXPAND,\n useExisting: OverflowExpandDirective\n }\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { fdOverflowExpandItems: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctZXhwYW5kLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1leHBhbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckU7O0dBRUc7QUFXSCxNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLGNBQWM7SUFDZCxZQUFtQixXQUEyRDtRQUEzRCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0Q7SUFBRyxDQUFDO0lBRWxGLGNBQWM7SUFDZCxNQUFNLENBQUMsc0JBQXNCLENBQ3pCLEdBQTRCLEVBQzVCLEdBQW1DO1FBRW5DLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBZFEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNkhBUnJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLHVCQUF1QjthQUN2QztTQUNKOzsyRkFHUSx1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcseUJBQXlCO3lCQUN2QztxQkFDSjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7Z0ZBSUcscUJBQXFCO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93RXhwYW5kLCBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZUNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWV4cGFuZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfRVhQQU5EIH0gZnJvbSAnLi4vdG9rZW5zL292ZXJmbG93LWV4cGFuZC50b2tlbic7XG5cbi8qKlxuICogU3RydWN0dXJhbCBkaXJlY3RpdmUgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHJlbmRlcmluZyB0aGUgXCJNb3JlXCIgYnV0dG9uIGFuZCBoYW5kbGluZyBmdXJ0aGVyIGxvZ2ljLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE92ZXJmbG93RXhwYW5kXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX09WRVJGTE9XX0VYUEFORCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93RXhwYW5kRGlyZWN0aXZlPFQgZXh0ZW5kcyBhbnlbXSA9IGFueVtdPiBpbXBsZW1lbnRzIE92ZXJmbG93RXhwYW5kPFQ+IHtcbiAgICAvKiogSXRlbXMgdG8gZXhwYW5kICovXG4gICAgQElucHV0KClcbiAgICBmZE92ZXJmbG93RXhwYW5kSXRlbXM6IFQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8T3ZlcmZsb3dFeHBhbmREaXJlY3RpdmVDb250ZXh0PFQ+Pikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgICAgIGRpcjogT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgICAgIGN0eDogT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmVDb250ZXh0XG4gICAgKTogY3R4IGlzIE92ZXJmbG93RXhwYW5kRGlyZWN0aXZlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiJdfQ==","import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Directive to hide component without actual destroying of the component instance.\n */\nexport class OverflowItemContainerRefDirective {\n /**\n * Shows or hides element without destroying the view itself.\n * @param value\n */\n set hidden(value) {\n if (this._hidden === value) {\n return;\n }\n this._hidden = value;\n if (value && !this._detached) {\n this._viewRef = this._viewContainerRef.detach();\n this._detached = true;\n }\n else if (!value && this._viewRef && !this._viewRef.destroyed && this._detached) {\n this._viewRef = this._viewContainerRef.insert(this._viewRef);\n this._detached = false;\n }\n }\n /** @hidden */\n constructor(_templateRef, _viewContainerRef) {\n this._templateRef = _templateRef;\n this._viewContainerRef = _viewContainerRef;\n /** @hidden */\n this._detached = false;\n /** @hidden */\n this._hidden = false;\n // Create embedded view right away and manipulate its visibility later.\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n /** @hidden */\n ngOnDestroy() {\n this._viewRef?.destroy();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemContainerRefDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowItemContainerRefDirective, isStandalone: true, selector: \"[fdOverflowItemContainerRef]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemContainerRefDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowItemContainerRef]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS1jb250YWluZXItcmVmLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1pdGVtLWNvbnRhaW5lci1yZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsV0FBVyxFQUFFLGdCQUFnQixFQUFXLE1BQU0sZUFBZSxDQUFDOztBQUU3Rjs7R0FFRztBQUtILE1BQU0sT0FBTyxpQ0FBaUM7SUFVMUM7OztPQUdHO0lBQ0gsSUFBSSxNQUFNLENBQUMsS0FBYztRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUcsQ0FBQztZQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO2FBQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9FLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFDWSxZQUE4QixFQUM5QixpQkFBbUM7UUFEbkMsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUEzQi9DLGNBQWM7UUFDTixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGNBQWM7UUFDTixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBeUJwQix1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBeENRLGlDQUFpQztrR0FBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUo3QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgVmlld1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBoaWRlIGNvbXBvbmVudCB3aXRob3V0IGFjdHVhbCBkZXN0cm95aW5nIG9mIHRoZSBjb21wb25lbnQgaW5zdGFuY2UuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlld1JlZjogVmlld1JlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGV0YWNoZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGlkZGVuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBvciBoaWRlcyBlbGVtZW50IHdpdGhvdXQgZGVzdHJveWluZyB0aGUgdmlldyBpdHNlbGYuXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IGhpZGRlbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5faGlkZGVuID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hpZGRlbiA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUgJiYgIXRoaXMuX2RldGFjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5kZXRhY2goKSE7XG4gICAgICAgICAgICB0aGlzLl9kZXRhY2hlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoIXZhbHVlICYmIHRoaXMuX3ZpZXdSZWYgJiYgIXRoaXMuX3ZpZXdSZWYuZGVzdHJveWVkICYmIHRoaXMuX2RldGFjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5pbnNlcnQodGhpcy5fdmlld1JlZik7XG4gICAgICAgICAgICB0aGlzLl9kZXRhY2hlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgLy8gQ3JlYXRlIGVtYmVkZGVkIHZpZXcgcmlnaHQgYXdheSBhbmQgbWFuaXB1bGF0ZSBpdHMgdmlzaWJpbGl0eSBsYXRlci5cbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_ITEM_REF = new InjectionToken('OverflowLayoutItemRef');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS1yZWYudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L3Rva2Vucy9vdmVyZmxvdy1pdGVtLXJlZi50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFrQix1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS1yZWYuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IEZEX09WRVJGTE9XX0lURU1fUkVGID0gbmV3IEluamVjdGlvblRva2VuPE92ZXJmbG93SXRlbVJlZj4oJ092ZXJmbG93TGF5b3V0SXRlbVJlZicpO1xuIl19","import { Directive, inject, INJECTOR, Input, TemplateRef } from '@angular/core';\nimport { FD_OVERFLOW_ITEM_REF } from '../tokens/overflow-item-ref.token';\nimport * as i0 from \"@angular/core\";\n/**\n * Structural directive which is used to pass the context of the item to the template engine.\n */\nexport class OverflowItemRefDirective {\n /**\n * Whether the item is hidden.\n */\n set hidden(value) {\n this._hidden = value;\n this.overflowItem.hiddenChange.emit(value);\n }\n get hidden() {\n return this._hidden;\n }\n /** @hidden */\n constructor(templateRef) {\n this.templateRef = templateRef;\n /** @hidden */\n this._hidden = false;\n /** Whether the item is softly hidden. */\n this.softHidden = true;\n /** @hidden */\n this.injector = inject(INJECTOR);\n }\n /** @hidden */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n /**\n * Sets the element reference of the `fdOverflowLayoutItem` directive.`\n * @param elmRef\n */\n setElementRef(elmRef) {\n if (this.elementRef) {\n return;\n }\n this.elementRef = elmRef;\n }\n /**\n * Sets the `fdOverflowLayoutItem` directive.\n * @param item\n */\n setOverflowItem(item) {\n this.overflowItem = item;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemRefDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowItemRefDirective, isStandalone: true, selector: \"[fdOverflowItemRef]\", inputs: { item: [\"fdOverflowItemRef\", \"item\"] }, providers: [\n {\n provide: FD_OVERFLOW_ITEM_REF,\n useExisting: OverflowItemRefDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemRefDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowItemRef]',\n providers: [\n {\n provide: FD_OVERFLOW_ITEM_REF,\n useExisting: OverflowItemRefDirective\n }\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { item: [{\n type: Input,\n args: ['fdOverflowItemRef']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS1yZWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC9kaXJlY3RpdmVzL292ZXJmbG93LWl0ZW0tcmVmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFekU7O0dBRUc7QUFXSCxNQUFNLE9BQU8sd0JBQXdCO0lBYWpDOztPQUVHO0lBQ0gsSUFBSSxNQUFNLENBQUMsS0FBYztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBeUJELGNBQWM7SUFDZCxZQUFtQixXQUF5RDtRQUF6RCxnQkFBVyxHQUFYLFdBQVcsQ0FBOEM7UUF4QjVFLGNBQWM7UUFDZCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBZ0JoQix5Q0FBeUM7UUFDekMsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixjQUFjO1FBQ0wsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUcwQyxDQUFDO0lBRWhGLGNBQWM7SUFDZCxNQUFNLENBQUMsc0JBQXNCLENBQ3pCLEdBQTZCLEVBQzdCLEdBQWlDO1FBRWpDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsTUFBa0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZSxDQUFDLElBQWtCO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7OEdBNUVRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG1IQVJ0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLFdBQVcsRUFBRSx3QkFBd0I7YUFDeEM7U0FDSjs7MkZBR1Esd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLDBCQUEwQjt5QkFDeEM7cUJBQ0o7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25CO2dGQUlHLElBQUk7c0JBREgsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSU5KRUNUT1IsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGFzRWxlbWVudFJlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbURpcmVjdGl2ZUNvbnRleHQsIE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS1yZWYuaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfSVRFTV9SRUYgfSBmcm9tICcuLi90b2tlbnMvb3ZlcmZsb3ctaXRlbS1yZWYudG9rZW4nO1xuXG4vKipcbiAqIFN0cnVjdHVyYWwgZGlyZWN0aXZlIHdoaWNoIGlzIHVzZWQgdG8gcGFzcyB0aGUgY29udGV4dCBvZiB0aGUgaXRlbSB0byB0aGUgdGVtcGxhdGUgZW5naW5lLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE92ZXJmbG93SXRlbVJlZl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9PVkVSRkxPV19JVEVNX1JFRixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmU8VCA9IGFueT4gaW1wbGVtZW50cyBPdmVyZmxvd0l0ZW1SZWY8VD4sIEhhc0VsZW1lbnRSZWYge1xuICAgIC8qKiBJdGVtIGluc3RhbmNlLiBVc2VkIGZvciBjb3JyZWN0IGF1dG9jb21wbGV0ZS4gKi9cbiAgICBASW5wdXQoJ2ZkT3ZlcmZsb3dJdGVtUmVmJylcbiAgICBpdGVtOiBUO1xuICAgIC8qKlxuICAgICAqIEVsZW1lbnQgcmVmIG9mIHRoZSBgZmRPdmVyZmxvd0xheW91dEl0ZW1gIGRpcmVjdGl2ZS5cbiAgICAgKi9cbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIGBmZE92ZXJmbG93TGF5b3V0SXRlbWAgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIG92ZXJmbG93SXRlbTogT3ZlcmZsb3dJdGVtO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaGlkZGVuLlxuICAgICAqL1xuICAgIHNldCBoaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZGVuID0gdmFsdWU7XG4gICAgICAgIHRoaXMub3ZlcmZsb3dJdGVtLmhpZGRlbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgaGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZGVuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hpZGRlbiA9IGZhbHNlO1xuXG4gICAgLyoqIEluZGV4IG9mIHRoZSBpdGVtIGluIHRoZSB2aXNpYmxlIG9yIGhpZGRlbiBhcnJheSBvZiBPdmVyZmxvdyBMYXlvdXQgQ29tcG9uZW50J3MgaXRlbXMuICovXG4gICAgaW5kZXg6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbiB0aGUgYXJyYXkgb2YgaXRlbXMuXG4gICAgICovXG4gICAgZ2xvYmFsSW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBsYXN0IGluIHRoZSBhcnJheS4gKi9cbiAgICBmaXJzdDogYm9vbGVhbjtcblxuICAgIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBmaXJzdCBpbiB0aGUgYXJyYXkuICovXG4gICAgbGFzdDogYm9vbGVhbjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHNvZnRseSBoaWRkZW4uICovXG4gICAgc29mdEhpZGRlbiA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxPdmVyZmxvd0l0ZW1EaXJlY3RpdmVDb250ZXh0PFQ+Pikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgICAgIGRpcjogT3ZlcmZsb3dJdGVtUmVmRGlyZWN0aXZlLFxuICAgICAgICBjdHg6IE92ZXJmbG93SXRlbURpcmVjdGl2ZUNvbnRleHRcbiAgICApOiBjdHggaXMgT3ZlcmZsb3dJdGVtRGlyZWN0aXZlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGVsZW1lbnQgcmVmZXJlbmNlIG9mIHRoZSBgZmRPdmVyZmxvd0xheW91dEl0ZW1gIGRpcmVjdGl2ZS5gXG4gICAgICogQHBhcmFtIGVsbVJlZlxuICAgICAqL1xuICAgIHNldEVsZW1lbnRSZWYoZWxtUmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbG1SZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYGZkT3ZlcmZsb3dMYXlvdXRJdGVtYCBkaXJlY3RpdmUuXG4gICAgICogQHBhcmFtIGl0ZW1cbiAgICAgKi9cbiAgICBzZXRPdmVyZmxvd0l0ZW0oaXRlbTogT3ZlcmZsb3dJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3ZlcmZsb3dJdGVtID0gaXRlbTtcbiAgICB9XG59XG4iXX0=","import { ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { OverflowItemContainerRefDirective } from './overflow-item-container-ref.directive';\nimport * as i0 from \"@angular/core\";\nexport class OverflowLayoutItemContainerDirective {\n /** @hidden */\n constructor(elementRef) {\n this.elementRef = elementRef;\n /**\n * Whether this item is the first one in the array.\n */\n this.last = false;\n /**\n * Whether this item is the last one in the array.\n */\n this.first = false;\n /**\n * Whether this item is softly hidden. Used during free space calculation without flickering of the items.\n */\n this.softHidden = true;\n /** @hidden */\n this._initialClass = 'fd-overflow-layout__item';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutItemContainerDirective, isStandalone: true, selector: \"[fdOverflowLayoutItemContainer]\", inputs: { last: \"last\", first: \"first\", softHidden: \"softHidden\" }, host: { properties: { \"class.fd-overflow-layout__item--last\": \"this.last\", \"class.fd-overflow-layout__item--first\": \"this.first\", \"class.fd-overflow-layout__item--soft-hidden\": \"this.softHidden\", \"class\": \"this._initialClass\" } }, queries: [{ propertyName: \"containerRef\", first: true, predicate: OverflowItemContainerRefDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutItemContainer]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { last: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-overflow-layout__item--last']\n }], first: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-overflow-layout__item--first']\n }], softHidden: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-overflow-layout__item--soft-hidden']\n }], containerRef: [{\n type: ContentChild,\n args: [OverflowItemContainerRefDirective]\n }], _initialClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1sYXlvdXQtaXRlbS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQU01RixNQUFNLE9BQU8sb0NBQW9DO0lBZ0M3QyxjQUFjO0lBQ2QsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhDekM7O1dBRUc7UUFHSCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWI7O1dBRUc7UUFHSCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQ7O1dBRUc7UUFHSCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBUWxCLGNBQWM7UUFFRyxrQkFBYSxHQUFHLDBCQUEwQixDQUFDO0lBR2hCLENBQUM7OEdBakNwQyxvQ0FBb0M7a0dBQXBDLG9DQUFvQyxnYkF5Qi9CLGlDQUFpQzs7MkZBekJ0QyxvQ0FBb0M7a0JBSmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQU9HLElBQUk7c0JBRkgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBUW5ELEtBQUs7c0JBRkosS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBUXBELFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw2Q0FBNkM7Z0JBTzFELFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxpQ0FBaUM7Z0JBSzlCLGFBQWE7c0JBRDdCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbUNvbnRhaW5lclJlZkRpcmVjdGl2ZSB9IGZyb20gJy4vb3ZlcmZsb3ctaXRlbS1jb250YWluZXItcmVmLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyBpdGVtIGlzIHRoZSBmaXJzdCBvbmUgaW4gdGhlIGFycmF5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1vdmVyZmxvdy1sYXlvdXRfX2l0ZW0tLWxhc3QnKVxuICAgIGxhc3QgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyBpdGVtIGlzIHRoZSBsYXN0IG9uZSBpbiB0aGUgYXJyYXkuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW92ZXJmbG93LWxheW91dF9faXRlbS0tZmlyc3QnKVxuICAgIGZpcnN0ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBzb2Z0bHkgaGlkZGVuLiBVc2VkIGR1cmluZyBmcmVlIHNwYWNlIGNhbGN1bGF0aW9uIHdpdGhvdXQgZmxpY2tlcmluZyBvZiB0aGUgaXRlbXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW92ZXJmbG93LWxheW91dF9faXRlbS0tc29mdC1oaWRkZW4nKVxuICAgIHNvZnRIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVyIHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE92ZXJmbG93SXRlbUNvbnRhaW5lclJlZkRpcmVjdGl2ZSlcbiAgICBjb250YWluZXJSZWY6IE92ZXJmbG93SXRlbUNvbnRhaW5lclJlZkRpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaW5pdGlhbENsYXNzID0gJ2ZkLW92ZXJmbG93LWxheW91dF9faXRlbSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuIl19","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_CONTAINER = new InjectionToken('FdOverflowContainer');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctY29udGFpbmVyLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC90b2tlbnMvb3ZlcmZsb3ctY29udGFpbmVyLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQW9CLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dDb250YWluZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWNvbnRhaW5lci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRkRfT1ZFUkZMT1dfQ09OVEFJTkVSID0gbmV3IEluamVjdGlvblRva2VuPE92ZXJmbG93Q29udGFpbmVyPignRmRPdmVyZmxvd0NvbnRhaW5lcicpO1xuIl19","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Directive, HostBinding, HostListener, Inject, Input, Optional, computed, effect } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FD_OVERFLOW_CONTAINER } from '../tokens/overflow-container.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/utils\";\n/**\n * Directive to wrap Overlay Layout \"More\" popover content.\n * Used to apply keyboard navigation through the items.\n */\nexport class OverflowLayoutPopoverContentDirective {\n /**\n * Array of hidden items.\n */\n set items(value) {\n // Need to set items with a delay so that elementRef of the focusable item would refresh.\n setTimeout(() => {\n this._items = value;\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this._items\n .filter((item) => item.overflowItem.focusableItem?.focusable)\n .map((item) => item.overflowItem.focusableItem))\n .withWrap()\n .withHorizontalOrientation(this._dir$());\n });\n }\n /** @hidden */\n constructor(_overflowContainer, _rtl) {\n this._overflowContainer = _overflowContainer;\n this._rtl = _rtl;\n /** @hidden */\n this._initialClass = 'fd-overflow-layout__popover-container';\n /** @hidden */\n this._dir$ = computed(() => (this._rtl?.rtlSignal() ? 'rtl' : 'ltr'), ...(ngDevMode ? [{ debugName: \"_dir$\" }] : []));\n this._overflowContainer?.registerPopoverContent(this);\n effect(() => {\n this._keyboardEventsManager = this._keyboardEventsManager?.withHorizontalOrientation(this._dir$());\n });\n }\n /** @hidden */\n keyUpHandler(event) {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this._items.findIndex((item) => item.overflowItem.elmRef.nativeElement === event.target);\n if (index !== -1) {\n this._keyboardEventsManager?.setActiveItem(index);\n }\n }\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n // passing the event to key manager, so we get a change fired\n this._keyboardEventsManager?.onKeydown(event);\n }\n }\n /**\n * Focuses on the first tabbable element inside directive's element.\n */\n focusFirstTabbableElement() {\n this._keyboardEventsManager?.setActiveItem(0);\n }\n /** @hidden */\n ngOnDestroy() {\n this._keyboardEventsManager?.destroy();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutPopoverContentDirective, deps: [{ token: FD_OVERFLOW_CONTAINER }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutPopoverContentDirective, isStandalone: true, selector: \"[fdOverflowLayoutPopoverContent]\", inputs: { items: \"items\" }, host: { listeners: { \"keyup\": \"keyUpHandler($event)\" }, properties: { \"class\": \"this._initialClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutPopoverContentDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutPopoverContent]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [FD_OVERFLOW_CONTAINER]\n }] }, { type: i1.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { items: [{\n type: Input\n }], _initialClass: [{\n type: HostBinding,\n args: ['class']\n }], keyUpHandler: [{\n type: HostListener,\n args: ['keyup', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LXBvcG92ZXItY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LXBvcG92ZXItY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0YsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBWSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUszRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRTNFOzs7R0FHRztBQUtILE1BQU0sT0FBTyxxQ0FBcUM7SUFDOUM7O09BRUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUF3QjtRQUM5Qix5RkFBeUY7UUFDekYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQzdDLElBQUksQ0FBQyxNQUFNO2lCQUNOLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO2lCQUM1RCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQ3REO2lCQUNJLFFBQVEsRUFBRTtpQkFDVix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFlRCxjQUFjO0lBQ2QsWUFDMkMsa0JBQXFDLEVBQ3hELElBQWdCO1FBREcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUN4RCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBaEJ4QyxjQUFjO1FBRUcsa0JBQWEsR0FBRyx1Q0FBdUMsQ0FBQztRQVF6RSxjQUFjO1FBQ0csVUFBSyxHQUFHLFFBQVEsQ0FBZ0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpREFBQyxDQUFDO1FBTzdGLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBRWQsWUFBWSxDQUFDLEtBQW9CO1FBQzdCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2Qiw2REFBNkQ7WUFDN0QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gseUJBQXlCO1FBQ3JCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7OEdBekVRLHFDQUFxQyxrQkFtQ2xDLHFCQUFxQjtrR0FuQ3hCLHFDQUFxQzs7MkZBQXJDLHFDQUFxQztrQkFKakQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQW9DUSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVE7eUNBL0JULEtBQUs7c0JBRFIsS0FBSztnQkFrQlcsYUFBYTtzQkFEN0IsV0FBVzt1QkFBQyxPQUFPO2dCQTBCcEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERPV05fQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBUQUIsIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVV0aWwsIE51bGxhYmxlLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgT3ZlcmZsb3dDb250YWluZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWNvbnRhaW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dJdGVtUmVmIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vdmVyZmxvdy1pdGVtLXJlZi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dQb3BvdmVyQ29udGVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctcG9wb3Zlci1jb250ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19DT05UQUlORVIgfSBmcm9tICcuLi90b2tlbnMvb3ZlcmZsb3ctY29udGFpbmVyLnRva2VuJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gd3JhcCBPdmVybGF5IExheW91dCBcIk1vcmVcIiBwb3BvdmVyIGNvbnRlbnQuXG4gKiBVc2VkIHRvIGFwcGx5IGtleWJvYXJkIG5hdmlnYXRpb24gdGhyb3VnaCB0aGUgaXRlbXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dMYXlvdXRQb3BvdmVyQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmZsb3dMYXlvdXRQb3BvdmVyQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE92ZXJmbG93UG9wb3ZlckNvbnRlbnQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgaGlkZGVuIGl0ZW1zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBPdmVyZmxvd0l0ZW1SZWZbXSkge1xuICAgICAgICAvLyBOZWVkIHRvIHNldCBpdGVtcyB3aXRoIGEgZGVsYXkgc28gdGhhdCBlbGVtZW50UmVmIG9mIHRoZSBmb2N1c2FibGUgaXRlbSB3b3VsZCByZWZyZXNoLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXI/LmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIoXG4gICAgICAgICAgICAgICAgdGhpcy5faXRlbXNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5vdmVyZmxvd0l0ZW0uZm9jdXNhYmxlSXRlbT8uZm9jdXNhYmxlKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLm92ZXJmbG93SXRlbS5mb2N1c2FibGVJdGVtKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC53aXRoV3JhcCgpXG4gICAgICAgICAgICAgICAgLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24odGhpcy5fZGlyJCgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbml0aWFsQ2xhc3MgPSAnZmQtb3ZlcmZsb3ctbGF5b3V0X19wb3BvdmVyLWNvbnRhaW5lcic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2tleWJvYXJkRXZlbnRzTWFuYWdlcjogTnVsbGFibGU8Rm9jdXNLZXlNYW5hZ2VyPE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbT4+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pdGVtczogT3ZlcmZsb3dJdGVtUmVmW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpciQgPSBjb21wdXRlZDwnbHRyJyB8ICdydGwnPigoKSA9PiAodGhpcy5fcnRsPy5ydGxTaWduYWwoKSA/ICdydGwnIDogJ2x0cicpKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRkRfT1ZFUkZMT1dfQ09OVEFJTkVSKSBwcml2YXRlIF9vdmVyZmxvd0NvbnRhaW5lcjogT3ZlcmZsb3dDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bDogUnRsU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9vdmVyZmxvd0NvbnRhaW5lcj8ucmVnaXN0ZXJQb3BvdmVyQ29udGVudCh0aGlzKTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyID0gdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2RpciQoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICAgIGtleVVwSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFRBQikpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5faXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLm92ZXJmbG93SXRlbS5lbG1SZWYubmF0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRE9XTl9BUlJPVywgVVBfQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIC8vIHBhc3NpbmcgdGhlIGV2ZW50IHRvIGtleSBtYW5hZ2VyLCBzbyB3ZSBnZXQgYSBjaGFuZ2UgZmlyZWRcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8ub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvY3VzZXMgb24gdGhlIGZpcnN0IHRhYmJhYmxlIGVsZW1lbnQgaW5zaWRlIGRpcmVjdGl2ZSdzIGVsZW1lbnQuXG4gICAgICovXG4gICAgZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5zZXRBY3RpdmVJdGVtKDApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8uZGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==","import { ElementRef, Injectable } from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject, Subscription, debounceTime, distinctUntilChanged, filter, skip } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class OverflowLayoutListeningResult {\n constructor() {\n /** Whether to show more button */\n this.showMore = false;\n /** Overflow item s */\n this.items = [];\n /** Hidden overflow items */\n this.hiddenItems = [];\n /** Visible overflow items */\n this.visibleItems = [];\n }\n}\nexport class OverflowLayoutService {\n /**\n * Observable which emits when changes detection is required.\n */\n get detectChanges() {\n return this._detectChanges$.asObservable();\n }\n /**\n * Observable which emits when new calculation result is available.\n */\n get onResult() {\n return this._result$.asObservable();\n }\n /** @hidden */\n constructor(_elRef) {\n this._elRef = _elRef;\n /**\n * Overflow Layout calculation result.\n */\n this.result = new OverflowLayoutListeningResult();\n /** @hidden */\n this._listenToItemResize = true;\n /** @hidden */\n this._subscription = new Subscription();\n /** @hidden */\n this._allItems = [];\n /** @hidden */\n this._hiddenItems = [];\n /** @hidden */\n this._detectChanges$ = new Subject();\n /** @hidden */\n this._result$ = new Subject();\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscription.unsubscribe();\n }\n /** @hidden */\n startListening(config) {\n this.setConfig(config);\n this.fitVisibleItems();\n this._listenToSizeChanges(this._elRef.nativeElement, this.config.itemsWrapper);\n }\n /** @hidden */\n setConfig(config) {\n this.config = config;\n }\n /**\n * Calculates available space for items and hides items that are not fitting into the container.\n */\n fitVisibleItems() {\n this._listenToItemResize = false;\n this._allItems = this.config.items;\n let allItems = [...this.config.items];\n let visibleContainerItems = [...this.config.visibleItems];\n this._elRef.nativeElement.style.height = `${this._elRef.nativeElement.clientHeight}px`;\n allItems.forEach((item, index) => {\n // Softly hide previously completely hidden item in order to correctly calculate it's size.\n item.softHidden = true;\n item.hidden = false;\n item.index = index;\n item.first = index === 0;\n item.last = index === allItems.length - 1;\n item.globalIndex = index;\n visibleContainerItems[index].containerRef.hidden = false;\n });\n this._detectChanges$.next();\n allItems = this.config.direction === 'right' ? allItems : allItems.reverse();\n visibleContainerItems =\n this.config.direction === 'right' ? visibleContainerItems : visibleContainerItems.reverse();\n this.result.showMore = false;\n this._emitResult();\n const containerWidth = this._elRef.nativeElement.getBoundingClientRect().width;\n const itemsContainerWidth = allItems.reduce((total, item) => total + (this._getElementWidth(item.elementRef.nativeElement) || 0), 0);\n if (containerWidth >= itemsContainerWidth &&\n this.config.visibleItems.length <= this.config.maxVisibleItems &&\n this._hiddenItems.length === 0) {\n // Make all items fully visible.\n allItems.forEach((item) => {\n item.softHidden = false;\n });\n this.result.showMore = false;\n this.result.hiddenItems = this._hiddenItems;\n this._emitResult();\n this._listenToItemResize = true;\n this._elRef.nativeElement.style.height = '';\n return;\n }\n this.result.showMore = true;\n this._emitResult();\n let fittingElmCount = 0;\n let fittingElmsWidth = 0;\n let shouldHideItems = false;\n const showMoreContainerWidth = Math.ceil(this.config.showMoreContainer ? this._getElementWidth(this.config.showMoreContainer) : 0);\n let layoutWidth = containerWidth - showMoreContainerWidth;\n // Try to find all forced visible items\n const forcedItemsIndexes = this._getForcedItemsIndexes();\n forcedItemsIndexes.forEach((itemIndex) => {\n const container = this.config.visibleItems[itemIndex];\n if (!container) {\n return;\n }\n const elementSize = this._getElementWidth(container.elementRef.nativeElement);\n layoutWidth -= elementSize;\n });\n const maxVisibleItems = this.config.maxVisibleItems -\n forcedItemsIndexes.filter((index) => index >= this.config.maxVisibleItems).length;\n if (layoutWidth < 0 && forcedItemsIndexes.length > 0) {\n console.warn('There is no enough space to fit all forced visible items into the container. Please adjust their visibility accordingly.');\n }\n this._detectChanges$.next();\n visibleContainerItems.forEach((item, index) => {\n const itemRef = allItems[index];\n // If item is forced to be visible, just display the item since it's size calculation was already taken care of in previous iteration.\n if (itemRef.overflowItem.forceVisibility) {\n return;\n }\n if (shouldHideItems && !itemRef.overflowItem.forceVisibility) {\n item.containerRef.hidden = true;\n item.softHidden = false;\n itemRef.hidden = true;\n return;\n }\n const elementSize = this._getElementWidth(item.elementRef.nativeElement);\n const combinedWidth = fittingElmsWidth + elementSize;\n const condition = (combinedWidth <= layoutWidth ||\n (item === this.config.visibleItems[this.config.visibleItems.length - 1] &&\n combinedWidth <= layoutWidth + showMoreContainerWidth)) &&\n fittingElmCount < maxVisibleItems;\n if (condition) {\n fittingElmsWidth += elementSize;\n fittingElmCount++;\n }\n else if (!itemRef.overflowItem.forceVisibility) {\n shouldHideItems = true;\n item.softHidden = false;\n item.containerRef.hidden = true;\n itemRef.hidden = true;\n }\n });\n // Reverse original order back.\n allItems = this.config.direction === 'right' ? allItems : allItems.reverse();\n allItems.forEach((item) => {\n item.softHidden = false;\n });\n let hiddenItems = allItems.filter((i) => i.hidden);\n hiddenItems = this.config.reverseHiddenItems ? hiddenItems.reverse() : hiddenItems;\n const visibleItems = allItems.filter((i) => !i.hidden);\n visibleItems.forEach((item, index) => {\n item.index = index;\n item.first = index === 0;\n item.last = index === visibleItems.length - 1;\n });\n this._hiddenItems = hiddenItems.map((item, index) => {\n item.first = index === 0;\n item.last = index === hiddenItems.length - 1;\n item.index = index;\n return item;\n });\n this.result.showMore = this._hiddenItems.length > 0;\n this.result.hiddenItems = this._hiddenItems;\n this._emitResult();\n this._elRef.nativeElement.style.height = '';\n this._listenToItemResize = true;\n }\n /** @hidden */\n _getForcedItemsIndexes() {\n return this._allItems\n .map((item, index) => (item.overflowItem.forceVisibility ? index : -1))\n .filter((i) => i > -1);\n }\n /**\n * @hidden\n * Returns combined width of the element including margins.\n * @param element Element to calculate width of.\n */\n _getElementWidth(element) {\n const elementStyle = getComputedStyle(element);\n const elementWidth = element.getBoundingClientRect().width;\n const elementSize = elementWidth + parseFloat(elementStyle.marginLeft) + parseFloat(elementStyle.marginRight);\n return Math.ceil(elementSize);\n }\n /** @hidden */\n _emitResult() {\n this._result$.next(this.result);\n }\n /** @hidden */\n _listenToSizeChanges(...elements) {\n elements.forEach((element) => this._subscription.add(resizeObservable(element)\n .pipe(skip(1), filter(() => this._listenToItemResize), distinctUntilChanged(), debounceTime(30))\n .subscribe(() => {\n setTimeout(() => {\n this.fitVisibleItems();\n });\n })));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutService, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L292ZXJmbG93LWxheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWtCM0csTUFBTSxPQUFPLDZCQUE2QjtJQUExQztRQUNJLGtDQUFrQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHNCQUFzQjtRQUN0QixVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUU5Qiw0QkFBNEI7UUFDNUIsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBRXBDLDZCQUE2QjtRQUM3QixpQkFBWSxHQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztDQUFBO0FBR0QsTUFBTSxPQUFPLHFCQUFxQjtJQTZCOUI7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBb0IsTUFBK0I7UUFBL0IsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUF0Q25EOztXQUVHO1FBQ0gsV0FBTSxHQUFHLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUU3QyxjQUFjO1FBQ04sd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRW5DLGNBQWM7UUFDRyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFcEQsY0FBYztRQUNOLGNBQVMsR0FBc0IsRUFBRSxDQUFDO1FBRTFDLGNBQWM7UUFDTixpQkFBWSxHQUFzQixFQUFFLENBQUM7UUFFN0MsY0FBYztRQUNOLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU5QyxjQUFjO1FBQ04sYUFBUSxHQUFHLElBQUksT0FBTyxFQUFpQyxDQUFDO0lBaUJWLENBQUM7SUFFdkQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjO0lBQ2QsY0FBYyxDQUFDLE1BQTRCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUyxDQUFDLE1BQTRCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFbkMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxJQUFJLENBQUM7UUFFdkYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM3QiwyRkFBMkY7WUFDM0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxLQUFLLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU1QixRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3RSxxQkFBcUI7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUMvRSxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQ3ZDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3BGLENBQUMsQ0FDSixDQUFDO1FBRUYsSUFDSSxjQUFjLElBQUksbUJBQW1CO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWU7WUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUNoQyxDQUFDO1lBQ0MsZ0NBQWdDO1lBQ2hDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUM1QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUM1QyxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQztRQUU1QixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0YsQ0FBQztRQUNGLElBQUksV0FBVyxHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQztRQUUxRCx1Q0FBdUM7UUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUV6RCxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2IsT0FBTztZQUNYLENBQUM7WUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUU5RSxXQUFXLElBQUksV0FBVyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZTtZQUMzQixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUV0RixJQUFJLFdBQVcsR0FBRyxDQUFDLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQ1IsMEhBQTBILENBQzdILENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU1QixxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLHNJQUFzSTtZQUN0SSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZDLE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxlQUFlLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMzRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDdEIsT0FBTztZQUNYLENBQUM7WUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RSxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsR0FBRyxXQUFXLENBQUM7WUFFckQsTUFBTSxTQUFTLEdBQ1gsQ0FBQyxhQUFhLElBQUksV0FBVztnQkFDekIsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDbkUsYUFBYSxJQUFJLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUMvRCxlQUFlLEdBQUcsZUFBZSxDQUFDO1lBRXRDLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osZ0JBQWdCLElBQUksV0FBVyxDQUFDO2dCQUNoQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixDQUFDO2lCQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMvQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCwrQkFBK0I7UUFDL0IsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFN0UsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNuRixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssS0FBSyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLEtBQUssV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFNUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYztJQUNOLHNCQUFzQjtRQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTO2FBQ2hCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0RSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsT0FBb0I7UUFDekMsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sV0FBVyxHQUFHLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFOUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBQ04sV0FBVztRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQixDQUFDLEdBQUcsUUFBdUI7UUFDbkQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNsQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7YUFDcEIsSUFBSSxDQUNELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQ3RDLG9CQUFvQixFQUFFLEVBQ3RCLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FDbkI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDVCxDQUNKLENBQUM7SUFDTixDQUFDOzhHQXBRUSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVzaXplT2JzZXJ2YWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBza2lwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMvb3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4vaW50ZXJmYWNlcy9vdmVyZmxvdy1pdGVtLXJlZi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJmbG93TGF5b3V0Q29uZmlnIHtcbiAgICBpdGVtczogT3ZlcmZsb3dJdGVtUmVmW107XG4gICAgZm9jdXNhYmxlSXRlbXM6IE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbVtdO1xuICAgIHZpc2libGVJdGVtczogT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyRGlyZWN0aXZlW107XG4gICAgaXRlbXNXcmFwcGVyOiBIVE1MRWxlbWVudDtcbiAgICBzaG93TW9yZUNvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xuICAgIGxheW91dENvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIG1heFZpc2libGVJdGVtczogbnVtYmVyO1xuICAgIGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JztcbiAgICBlbmFibGVLZXlib2FyZE5hdmlnYXRpb246IGJvb2xlYW47XG4gICAgcmV2ZXJzZUhpZGRlbkl0ZW1zOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgT3ZlcmZsb3dMYXlvdXRMaXN0ZW5pbmdSZXN1bHQge1xuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgbW9yZSBidXR0b24gKi9cbiAgICBzaG93TW9yZSA9IGZhbHNlO1xuXG4gICAgLyoqIE92ZXJmbG93IGl0ZW0gcyAqL1xuICAgIGl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIEhpZGRlbiBvdmVyZmxvdyBpdGVtcyAqL1xuICAgIGhpZGRlbkl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIFZpc2libGUgb3ZlcmZsb3cgaXRlbXMgKi9cbiAgICB2aXNpYmxlSXRlbXM6IE92ZXJmbG93SXRlbVJlZltdID0gW107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIE92ZXJmbG93IExheW91dCBjb25maWcuXG4gICAgICovXG4gICAgY29uZmlnOiBPdmVyZmxvd0xheW91dENvbmZpZztcblxuICAgIC8qKlxuICAgICAqIE92ZXJmbG93IExheW91dCBjYWxjdWxhdGlvbiByZXN1bHQuXG4gICAgICovXG4gICAgcmVzdWx0ID0gbmV3IE92ZXJmbG93TGF5b3V0TGlzdGVuaW5nUmVzdWx0KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvSXRlbVJlc2l6ZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWxsSXRlbXM6IE92ZXJmbG93SXRlbVJlZltdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hpZGRlbkl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXRlY3RDaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc3VsdCQgPSBuZXcgU3ViamVjdDxPdmVyZmxvd0xheW91dExpc3RlbmluZ1Jlc3VsdD4oKTtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgd2hlbiBjaGFuZ2VzIGRldGVjdGlvbiBpcyByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBnZXQgZGV0ZWN0Q2hhbmdlcygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RldGVjdENoYW5nZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgd2hlbiBuZXcgY2FsY3VsYXRpb24gcmVzdWx0IGlzIGF2YWlsYWJsZS5cbiAgICAgKi9cbiAgICBnZXQgb25SZXN1bHQoKTogT2JzZXJ2YWJsZTxPdmVyZmxvd0xheW91dExpc3RlbmluZ1Jlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzdWx0JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhcnRMaXN0ZW5pbmcoY29uZmlnOiBPdmVyZmxvd0xheW91dENvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLmZpdFZpc2libGVJdGVtcygpO1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub1NpemVDaGFuZ2VzKHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29uZmlnLml0ZW1zV3JhcHBlcik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRDb25maWcoY29uZmlnOiBPdmVyZmxvd0xheW91dENvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIGF2YWlsYWJsZSBzcGFjZSBmb3IgaXRlbXMgYW5kIGhpZGVzIGl0ZW1zIHRoYXQgYXJlIG5vdCBmaXR0aW5nIGludG8gdGhlIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBmaXRWaXNpYmxlSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvSXRlbVJlc2l6ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9hbGxJdGVtcyA9IHRoaXMuY29uZmlnLml0ZW1zO1xuXG4gICAgICAgIGxldCBhbGxJdGVtcyA9IFsuLi50aGlzLmNvbmZpZy5pdGVtc107XG4gICAgICAgIGxldCB2aXNpYmxlQ29udGFpbmVySXRlbXMgPSBbLi4udGhpcy5jb25maWcudmlzaWJsZUl0ZW1zXTtcblxuICAgICAgICB0aGlzLl9lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fXB4YDtcblxuICAgICAgICBhbGxJdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgLy8gU29mdGx5IGhpZGUgcHJldmlvdXNseSBjb21wbGV0ZWx5IGhpZGRlbiBpdGVtIGluIG9yZGVyIHRvIGNvcnJlY3RseSBjYWxjdWxhdGUgaXQncyBzaXplLlxuICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLmluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICBpdGVtLmZpcnN0ID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpdGVtLmxhc3QgPSBpbmRleCA9PT0gYWxsSXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGl0ZW0uZ2xvYmFsSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIHZpc2libGVDb250YWluZXJJdGVtc1tpbmRleF0uY29udGFpbmVyUmVmLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzJC5uZXh0KCk7XG5cbiAgICAgICAgYWxsSXRlbXMgPSB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPT09ICdyaWdodCcgPyBhbGxJdGVtcyA6IGFsbEl0ZW1zLnJldmVyc2UoKTtcbiAgICAgICAgdmlzaWJsZUNvbnRhaW5lckl0ZW1zID1cbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyA/IHZpc2libGVDb250YWluZXJJdGVtcyA6IHZpc2libGVDb250YWluZXJJdGVtcy5yZXZlcnNlKCk7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQuc2hvd01vcmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZW1pdFJlc3VsdCgpO1xuICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIGNvbnN0IGl0ZW1zQ29udGFpbmVyV2lkdGggPSBhbGxJdGVtcy5yZWR1Y2UoXG4gICAgICAgICAgICAodG90YWwsIGl0ZW0pID0+IHRvdGFsICsgKHRoaXMuX2dldEVsZW1lbnRXaWR0aChpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkgfHwgMCksXG4gICAgICAgICAgICAwXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGFpbmVyV2lkdGggPj0gaXRlbXNDb250YWluZXJXaWR0aCAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcudmlzaWJsZUl0ZW1zLmxlbmd0aCA8PSB0aGlzLmNvbmZpZy5tYXhWaXNpYmxlSXRlbXMgJiZcbiAgICAgICAgICAgIHRoaXMuX2hpZGRlbkl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIE1ha2UgYWxsIGl0ZW1zIGZ1bGx5IHZpc2libGUuXG4gICAgICAgICAgICBhbGxJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0LnNob3dNb3JlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnJlc3VsdC5oaWRkZW5JdGVtcyA9IHRoaXMuX2hpZGRlbkl0ZW1zO1xuICAgICAgICAgICAgdGhpcy5fZW1pdFJlc3VsdCgpO1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuVG9JdGVtUmVzaXplID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXN1bHQuc2hvd01vcmUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9lbWl0UmVzdWx0KCk7XG4gICAgICAgIGxldCBmaXR0aW5nRWxtQ291bnQgPSAwO1xuICAgICAgICBsZXQgZml0dGluZ0VsbXNXaWR0aCA9IDA7XG4gICAgICAgIGxldCBzaG91bGRIaWRlSXRlbXMgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBzaG93TW9yZUNvbnRhaW5lcldpZHRoID0gTWF0aC5jZWlsKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuc2hvd01vcmVDb250YWluZXIgPyB0aGlzLl9nZXRFbGVtZW50V2lkdGgodGhpcy5jb25maWcuc2hvd01vcmVDb250YWluZXIpIDogMFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGF5b3V0V2lkdGggPSBjb250YWluZXJXaWR0aCAtIHNob3dNb3JlQ29udGFpbmVyV2lkdGg7XG5cbiAgICAgICAgLy8gVHJ5IHRvIGZpbmQgYWxsIGZvcmNlZCB2aXNpYmxlIGl0ZW1zXG4gICAgICAgIGNvbnN0IGZvcmNlZEl0ZW1zSW5kZXhlcyA9IHRoaXMuX2dldEZvcmNlZEl0ZW1zSW5kZXhlcygpO1xuXG4gICAgICAgIGZvcmNlZEl0ZW1zSW5kZXhlcy5mb3JFYWNoKChpdGVtSW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29uZmlnLnZpc2libGVJdGVtc1tpdGVtSW5kZXhdO1xuICAgICAgICAgICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50U2l6ZSA9IHRoaXMuX2dldEVsZW1lbnRXaWR0aChjb250YWluZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgbGF5b3V0V2lkdGggLT0gZWxlbWVudFNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IG1heFZpc2libGVJdGVtcyA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5tYXhWaXNpYmxlSXRlbXMgLVxuICAgICAgICAgICAgZm9yY2VkSXRlbXNJbmRleGVzLmZpbHRlcigoaW5kZXgpID0+IGluZGV4ID49IHRoaXMuY29uZmlnLm1heFZpc2libGVJdGVtcykubGVuZ3RoO1xuXG4gICAgICAgIGlmIChsYXlvdXRXaWR0aCA8IDAgJiYgZm9yY2VkSXRlbXNJbmRleGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnVGhlcmUgaXMgbm8gZW5vdWdoIHNwYWNlIHRvIGZpdCBhbGwgZm9yY2VkIHZpc2libGUgaXRlbXMgaW50byB0aGUgY29udGFpbmVyLiBQbGVhc2UgYWRqdXN0IHRoZWlyIHZpc2liaWxpdHkgYWNjb3JkaW5nbHkuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMkLm5leHQoKTtcblxuICAgICAgICB2aXNpYmxlQ29udGFpbmVySXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1SZWYgPSBhbGxJdGVtc1tpbmRleF07XG4gICAgICAgICAgICAvLyBJZiBpdGVtIGlzIGZvcmNlZCB0byBiZSB2aXNpYmxlLCBqdXN0IGRpc3BsYXkgdGhlIGl0ZW0gc2luY2UgaXQncyBzaXplIGNhbGN1bGF0aW9uIHdhcyBhbHJlYWR5IHRha2VuIGNhcmUgb2YgaW4gcHJldmlvdXMgaXRlcmF0aW9uLlxuICAgICAgICAgICAgaWYgKGl0ZW1SZWYub3ZlcmZsb3dJdGVtLmZvcmNlVmlzaWJpbGl0eSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzaG91bGRIaWRlSXRlbXMgJiYgIWl0ZW1SZWYub3ZlcmZsb3dJdGVtLmZvcmNlVmlzaWJpbGl0eSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uY29udGFpbmVyUmVmLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaXRlbVJlZi5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZWxlbWVudFNpemUgPSB0aGlzLl9nZXRFbGVtZW50V2lkdGgoaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgY29tYmluZWRXaWR0aCA9IGZpdHRpbmdFbG1zV2lkdGggKyBlbGVtZW50U2l6ZTtcblxuICAgICAgICAgICAgY29uc3QgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICAoY29tYmluZWRXaWR0aCA8PSBsYXlvdXRXaWR0aCB8fFxuICAgICAgICAgICAgICAgICAgICAoaXRlbSA9PT0gdGhpcy5jb25maWcudmlzaWJsZUl0ZW1zW3RoaXMuY29uZmlnLnZpc2libGVJdGVtcy5sZW5ndGggLSAxXSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZWRXaWR0aCA8PSBsYXlvdXRXaWR0aCArIHNob3dNb3JlQ29udGFpbmVyV2lkdGgpKSAmJlxuICAgICAgICAgICAgICAgIGZpdHRpbmdFbG1Db3VudCA8IG1heFZpc2libGVJdGVtcztcblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgICAgIGZpdHRpbmdFbG1zV2lkdGggKz0gZWxlbWVudFNpemU7XG4gICAgICAgICAgICAgICAgZml0dGluZ0VsbUNvdW50Kys7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpdGVtUmVmLm92ZXJmbG93SXRlbS5mb3JjZVZpc2liaWxpdHkpIHtcbiAgICAgICAgICAgICAgICBzaG91bGRIaWRlSXRlbXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGl0ZW0uc29mdEhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGl0ZW0uY29udGFpbmVyUmVmLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgaXRlbVJlZi5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZXZlcnNlIG9yaWdpbmFsIG9yZGVyIGJhY2suXG4gICAgICAgIGFsbEl0ZW1zID0gdGhpcy5jb25maWcuZGlyZWN0aW9uID09PSAncmlnaHQnID8gYWxsSXRlbXMgOiBhbGxJdGVtcy5yZXZlcnNlKCk7XG5cbiAgICAgICAgYWxsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCBoaWRkZW5JdGVtcyA9IGFsbEl0ZW1zLmZpbHRlcigoaSkgPT4gaS5oaWRkZW4pO1xuICAgICAgICBoaWRkZW5JdGVtcyA9IHRoaXMuY29uZmlnLnJldmVyc2VIaWRkZW5JdGVtcyA/IGhpZGRlbkl0ZW1zLnJldmVyc2UoKSA6IGhpZGRlbkl0ZW1zO1xuICAgICAgICBjb25zdCB2aXNpYmxlSXRlbXMgPSBhbGxJdGVtcy5maWx0ZXIoKGkpID0+ICFpLmhpZGRlbik7XG5cbiAgICAgICAgdmlzaWJsZUl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpdGVtLmluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICBpdGVtLmZpcnN0ID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpdGVtLmxhc3QgPSBpbmRleCA9PT0gdmlzaWJsZUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2hpZGRlbkl0ZW1zID0gaGlkZGVuSXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaXRlbS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICAgICAgaXRlbS5sYXN0ID0gaW5kZXggPT09IGhpZGRlbkl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBpdGVtLmluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQuc2hvd01vcmUgPSB0aGlzLl9oaWRkZW5JdGVtcy5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLnJlc3VsdC5oaWRkZW5JdGVtcyA9IHRoaXMuX2hpZGRlbkl0ZW1zO1xuICAgICAgICB0aGlzLl9lbWl0UmVzdWx0KCk7XG4gICAgICAgIHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XG5cbiAgICAgICAgdGhpcy5fbGlzdGVuVG9JdGVtUmVzaXplID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEZvcmNlZEl0ZW1zSW5kZXhlcygpOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbGxJdGVtc1xuICAgICAgICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IChpdGVtLm92ZXJmbG93SXRlbS5mb3JjZVZpc2liaWxpdHkgPyBpbmRleCA6IC0xKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGkpID0+IGkgPiAtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFJldHVybnMgY29tYmluZWQgd2lkdGggb2YgdGhlIGVsZW1lbnQgaW5jbHVkaW5nIG1hcmdpbnMuXG4gICAgICogQHBhcmFtIGVsZW1lbnQgRWxlbWVudCB0byBjYWxjdWxhdGUgd2lkdGggb2YuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0RWxlbWVudFdpZHRoKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgY29uc3QgZWxlbWVudFNpemUgPSBlbGVtZW50V2lkdGggKyBwYXJzZUZsb2F0KGVsZW1lbnRTdHlsZS5tYXJnaW5MZWZ0KSArIHBhcnNlRmxvYXQoZWxlbWVudFN0eWxlLm1hcmdpblJpZ2h0KTtcblxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKGVsZW1lbnRTaXplKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2VtaXRSZXN1bHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc3VsdCQubmV4dCh0aGlzLnJlc3VsdCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1NpemVDaGFuZ2VzKC4uLmVsZW1lbnRzOiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgICAgIHJlc2l6ZU9ic2VydmFibGUoZWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX2xpc3RlblRvSXRlbVJlc2l6ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDMwKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maXRWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_FOCUSABLE_ITEM = new InjectionToken('FdOverflowLayoutFocusableItem');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L3Rva2Vucy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUN4RCwrQkFBK0IsQ0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWZvY3VzYWJsZS1pdGVtLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBGRF9PVkVSRkxPV19GT0NVU0FCTEVfSVRFTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0+KFxuICAgICdGZE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbSdcbik7XG4iXX0=","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, NgZone, Optional, Output, QueryList, ViewChild, ViewChildren, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { PopoverBodyDirective, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subject, Subscription, debounceTime, filter, first, fromEvent, startWith } from 'rxjs';\nimport { OverflowItemContainerRefDirective } from './directives/overflow-item-container-ref.directive';\nimport { OverflowLayoutItemContainerDirective } from './directives/overflow-layout-item-container.directive';\nimport { OverflowLayoutPopoverContentDirective } from './directives/overflow-layout-popover-content.directive';\nimport { OverflowLayoutService } from './overflow-layout.service';\nimport { FD_OVERFLOW_CONTAINER } from './tokens/overflow-container.token';\nimport { FD_OVERFLOW_EXPAND } from './tokens/overflow-expand.token';\nimport { FD_OVERFLOW_FOCUSABLE_ITEM } from './tokens/overflow-focusable-item.token';\nimport { FD_OVERFLOW_ITEM_REF } from './tokens/overflow-item-ref.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./overflow-layout.service\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nexport class OverflowLayoutComponent {\n /**\n * Maximum amount of visible items.\n */\n set maxVisibleItems(value) {\n if (value === this._maxVisibleItems) {\n return;\n }\n this._maxVisibleItems = value;\n this.triggerRecalculation();\n }\n get maxVisibleItems() {\n return this._maxVisibleItems;\n }\n /** @hidden */\n constructor(_elementRef, _ngZone, _cdr, _overflowLayoutService, _rtl) {\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n this._cdr = _cdr;\n this._overflowLayoutService = _overflowLayoutService;\n this._rtl = _rtl;\n /**\n * Keyboard event to listen for keyboard navigation through items.\n */\n this.navigationTrigger = 'keyup';\n /** Direction of the fitting items calculation. */\n this.showMorePosition = 'right';\n /** Whether the show more button should be rendered */\n this.renderShowMoreButton = true;\n /** Whether to render hidden items in reverse order. */\n this.reverseHiddenItems = false;\n /** Whether to enable keyboard navigation. */\n this.enableKeyboardNavigation = true;\n /**\n * Event, triggered when amount of visible items has been changed.\n */\n this.visibleItemsCount = new EventEmitter();\n /**\n * Event, triggered when amount of hidden items has been changed.\n */\n this.hiddenItemsCount = new EventEmitter();\n /**\n * Event, triggered when hidden items have been changed.\n */\n this.hiddenItemsChange = new EventEmitter();\n /** @hidden */\n this._initialClass = 'fd-overflow-layout';\n /** @hidden */\n this._allItems = [];\n /** @hidden */\n this._hiddenItems = [];\n /** @hidden */\n this._showMore = false;\n /** @hidden */\n this._subscription = new Subscription();\n /** @hidden */\n this._fillTrigger$ = new Subject();\n /** @hidden */\n this._maxVisibleItems = Infinity;\n /** @hidden */\n this._canListenToResize = false;\n /** @hidden */\n this._dir = 'ltr';\n /** Overflow Layout more button text */\n this.moreItemsButtonText = (count) => `${count} more`;\n this._subscription.add(this._fillTrigger$.pipe(debounceTime(30)).subscribe(() => {\n this._overflowLayoutService.setConfig(this._config);\n this._overflowLayoutService.fitVisibleItems();\n }));\n }\n /** @hidden */\n get _config() {\n return {\n visibleItems: this._visibleItems.toArray(),\n items: this._items.toArray(),\n focusableItems: this._focusableOverflowItems.toArray(),\n itemsWrapper: this._itemsWrapper.nativeElement,\n showMoreContainer: this._showMoreContainer?.nativeElement,\n layoutContainerElement: this._layoutContainer.nativeElement,\n maxVisibleItems: this.maxVisibleItems,\n direction: this.showMorePosition,\n enableKeyboardNavigation: this.enableKeyboardNavigation,\n reverseHiddenItems: this.reverseHiddenItems\n };\n }\n /** @hidden */\n ngOnInit() {\n this._setupKeyboardListener();\n }\n /** @hidden */\n ngAfterViewInit() {\n this._subscription.add(this._overflowLayoutService.detectChanges.subscribe(() => {\n this._cdr.detectChanges();\n }));\n this._subscription.add(this._overflowLayoutService.onResult.subscribe((result) => {\n this._hiddenItems = result.hiddenItems;\n this._showMore = result.showMore;\n this.hiddenItemsChange.emit(result.hiddenItems);\n this.hiddenItemsCount.emit(result.hiddenItems.length);\n this.visibleItemsCount.emit(this._allItems.filter((i) => !i.hidden).length);\n this._cdr.detectChanges();\n }));\n this._subscription.add(this._items.changes.pipe(startWith(() => this._items)).subscribe(() => {\n this._allItems = this._items.toArray();\n this._cdr.detectChanges();\n this._overflowLayoutService.setConfig(this._config);\n this._overflowLayoutService.fitVisibleItems();\n }));\n this._setFocusKeyManager();\n this._subscribeToRtl();\n // There might be cases when the elements are not rendered yet, but the component is initialized already.\n // It may happen when it's inside the components that are wrapping ng-content with ng-containers and so on.\n // IntersectionObserver is a good solution for this case, but it's hardly manageable when testing.\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._overflowLayoutService.startListening(this._config);\n this._canListenToResize = true;\n });\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscription.unsubscribe();\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = null;\n }\n /**\n * Triggers layout recalculation of the items.\n */\n triggerRecalculation() {\n if (!this._canListenToResize) {\n return;\n }\n this._fillTrigger$.next();\n }\n /**\n * Sets current focused element.\n * @param element Element that needs to be focused.\n */\n setFocusedElement(element) {\n const index = this._focusableOverflowItems.toArray().findIndex((item) => item === element);\n if (index !== -1) {\n this._keyboardEventsManager?.setActiveItem(index);\n }\n }\n /**\n * Registers popover content directive for main component.\n * @param content {OverflowPopoverContent} directive\n */\n registerPopoverContent(content) {\n this._overflowPopoverContent = content;\n }\n /** @hidden */\n _onPopoverStateChange(opened) {\n if (opened) {\n this._overflowPopoverContent?.focusFirstTabbableElement();\n }\n }\n /** @hidden */\n _setupKeyboardListener() {\n this._subscription.add(fromEvent(this._elementRef.nativeElement, this.navigationTrigger)\n .pipe(filter(() => this.enableKeyboardNavigation))\n .subscribe((event) => {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this._focusableOverflowItems\n .toArray()\n .findIndex((item) => item.focusable && item.elementRef.nativeElement === event.target);\n if (index !== -1) {\n this._keyboardEventsManager?.setActiveItem(index);\n }\n }\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n // passing the event to key manager so, we get a change fired\n this._keyboardEventsManager?.onKeydown(event);\n }\n }));\n }\n /** @hidden */\n _setFocusKeyManager() {\n if (!this.enableKeyboardNavigation) {\n return;\n }\n this._dir = this._rtl?.rtl.value ? 'rtl' : 'ltr';\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this._focusableOverflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir)\n .withVerticalOrientation()\n .skipPredicate((item) => !item.navigable || item.hidden);\n }\n /** @hidden Rtl change subscription */\n _subscribeToRtl() {\n if (!this._rtl || !this.enableKeyboardNavigation) {\n return;\n }\n this._subscription.add(this._rtl.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager = this._keyboardEventsManager?.withHorizontalOrientation(this._dir);\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.OverflowLayoutService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: OverflowLayoutComponent, isStandalone: true, selector: \"fd-overflow-layout\", inputs: { maxVisibleItems: \"maxVisibleItems\", navigationTrigger: \"navigationTrigger\", showMorePosition: \"showMorePosition\", renderShowMoreButton: [\"renderShowMoreButton\", \"renderShowMoreButton\", booleanAttribute], reverseHiddenItems: \"reverseHiddenItems\", enableKeyboardNavigation: \"enableKeyboardNavigation\", ariaRole: \"ariaRole\", moreItemsButtonText: \"moreItemsButtonText\" }, outputs: { visibleItemsCount: \"visibleItemsCount\", hiddenItemsCount: \"hiddenItemsCount\", hiddenItemsChange: \"hiddenItemsChange\" }, host: { properties: { \"class\": \"this._initialClass\" } }, providers: [\n {\n provide: FD_OVERFLOW_CONTAINER,\n useExisting: OverflowLayoutComponent\n },\n OverflowLayoutService\n ], queries: [{ propertyName: \"_moreButton\", first: true, predicate: FD_OVERFLOW_EXPAND, descendants: true }, { propertyName: \"_items\", predicate: FD_OVERFLOW_ITEM_REF, descendants: true }, { propertyName: \"_focusableOverflowItems\", predicate: FD_OVERFLOW_FOCUSABLE_ITEM, descendants: true }], viewQueries: [{ propertyName: \"_itemsWrapper\", first: true, predicate: [\"itemsWrapper\"], descendants: true }, { propertyName: \"_layoutContainer\", first: true, predicate: [\"layoutContainer\"], descendants: true }, { propertyName: \"_showMoreContainer\", first: true, predicate: [\"showMoreContainer\"], descendants: true }, { propertyName: \"_visibleItems\", predicate: OverflowLayoutItemContainerDirective, descendants: true }], ngImport: i0, template: \"@if (renderShowMoreButton && showMorePosition === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<div class=\\\"fd-overflow-layout__items-container\\\" #layoutContainer>\\n <div class=\\\"fd-overflow-layout__items-wrapper\\\">\\n <div class=\\\"fd-overflow-layout__items\\\" #itemsWrapper [attr.role]=\\\"ariaRole\\\">\\n @for (item of _allItems; track item.templateRef) {\\n <div\\n fdOverflowLayoutItemContainer\\n [first]=\\\"item.first\\\"\\n [last]=\\\"item.last\\\"\\n [softHidden]=\\\"item.softHidden\\\"\\n [attr.role]=\\\"ariaRole === 'list' ? 'listitem' : null\\\"\\n >\\n <ng-container *fdOverflowItemContainerRef>\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n </ng-container>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n@if (renderShowMoreButton && showMorePosition === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<ng-template #showMore>\\n <div class=\\\"fd-overflow-layout__more\\\" [style.display]=\\\"_showMore ? 'block' : 'none'\\\" #showMoreContainer>\\n <ng-template #defaultShowMore>\\n <fd-popover\\n (isOpenChange)=\\\"_onPopoverStateChange($event)\\\"\\n placement=\\\"bottom\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [maxWidth]=\\\"312\\\"\\n >\\n <fd-popover-control>\\n <button fd-button [fdMenu]=\\\"true\\\" fdType=\\\"transparent\\\">\\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate: { count: _hiddenItems.length } }}\\n </button>\\n </fd-popover-control>\\n <ng-template fdPopoverBody>\\n <div fdOverflowLayoutPopoverContent [items]=\\\"_hiddenItems\\\">\\n @for (item of _hiddenItems; track item) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n }\\n </div>\\n </ng-template>\\n </fd-popover>\\n </ng-template>\\n <ng-template\\n [ngTemplateOutlet]=\\\"_moreButton?.templateRef || defaultShowMore\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: _hiddenItems }\\\"\\n ></ng-template>\\n </div>\\n</ng-template>\\n\", styles: [\".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout{display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{position:relative}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__popover-container{display:block;white-space:normal}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: OverflowLayoutItemContainerDirective, selector: \"[fdOverflowLayoutItemContainer]\", inputs: [\"last\", \"first\", \"softHidden\"] }, { kind: \"directive\", type: OverflowItemContainerRefDirective, selector: \"[fdOverflowItemContainerRef]\" }, { kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: ButtonComponent, selector: \"button[fd-button], a[fd-button], span[fd-button]\", inputs: [\"class\", \"id\"], exportAs: [\"fd-button\"] }, { kind: \"directive\", type: PopoverBodyDirective, selector: \"[fdPopoverBody]\" }, { kind: \"directive\", type: OverflowLayoutPopoverContentDirective, selector: \"[fdOverflowLayoutPopoverContent]\", inputs: [\"items\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-overflow-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: FD_OVERFLOW_CONTAINER,\n useExisting: OverflowLayoutComponent\n },\n OverflowLayoutService\n ], imports: [\n NgTemplateOutlet,\n OverflowLayoutItemContainerDirective,\n OverflowItemContainerRefDirective,\n PopoverComponent,\n PopoverControlComponent,\n ButtonComponent,\n PopoverBodyDirective,\n OverflowLayoutPopoverContentDirective,\n FdTranslatePipe\n ], template: \"@if (renderShowMoreButton && showMorePosition === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<div class=\\\"fd-overflow-layout__items-container\\\" #layoutContainer>\\n <div class=\\\"fd-overflow-layout__items-wrapper\\\">\\n <div class=\\\"fd-overflow-layout__items\\\" #itemsWrapper [attr.role]=\\\"ariaRole\\\">\\n @for (item of _allItems; track item.templateRef) {\\n <div\\n fdOverflowLayoutItemContainer\\n [first]=\\\"item.first\\\"\\n [last]=\\\"item.last\\\"\\n [softHidden]=\\\"item.softHidden\\\"\\n [attr.role]=\\\"ariaRole === 'list' ? 'listitem' : null\\\"\\n >\\n <ng-container *fdOverflowItemContainerRef>\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n </ng-container>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n@if (renderShowMoreButton && showMorePosition === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<ng-template #showMore>\\n <div class=\\\"fd-overflow-layout__more\\\" [style.display]=\\\"_showMore ? 'block' : 'none'\\\" #showMoreContainer>\\n <ng-template #defaultShowMore>\\n <fd-popover\\n (isOpenChange)=\\\"_onPopoverStateChange($event)\\\"\\n placement=\\\"bottom\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [maxWidth]=\\\"312\\\"\\n >\\n <fd-popover-control>\\n <button fd-button [fdMenu]=\\\"true\\\" fdType=\\\"transparent\\\">\\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate: { count: _hiddenItems.length } }}\\n </button>\\n </fd-popover-control>\\n <ng-template fdPopoverBody>\\n <div fdOverflowLayoutPopoverContent [items]=\\\"_hiddenItems\\\">\\n @for (item of _hiddenItems; track item) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n }\\n </div>\\n </ng-template>\\n </fd-popover>\\n </ng-template>\\n <ng-template\\n [ngTemplateOutlet]=\\\"_moreButton?.templateRef || defaultShowMore\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: _hiddenItems }\\\"\\n ></ng-template>\\n </div>\\n</ng-template>\\n\", styles: [\".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout{display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{position:relative}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__popover-container{display:block;white-space:normal}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.OverflowLayoutService }, { type: i2.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { maxVisibleItems: [{\n type: Input\n }], navigationTrigger: [{\n type: Input\n }], showMorePosition: [{\n type: Input\n }], renderShowMoreButton: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], reverseHiddenItems: [{\n type: Input\n }], enableKeyboardNavigation: [{\n type: Input\n }], ariaRole: [{\n type: Input\n }], visibleItemsCount: [{\n type: Output\n }], hiddenItemsCount: [{\n type: Output\n }], hiddenItemsChange: [{\n type: Output\n }], _items: [{\n type: ContentChildren,\n args: [FD_OVERFLOW_ITEM_REF, { descendants: true }]\n }], _moreButton: [{\n type: ContentChild,\n args: [FD_OVERFLOW_EXPAND]\n }], _focusableOverflowItems: [{\n type: ContentChildren,\n args: [FD_OVERFLOW_FOCUSABLE_ITEM, { descendants: true }]\n }], _visibleItems: [{\n type: ViewChildren,\n args: [OverflowLayoutItemContainerDirective]\n }], _itemsWrapper: [{\n type: ViewChild,\n args: ['itemsWrapper']\n }], _layoutContainer: [{\n type: ViewChild,\n args: ['layoutContainer']\n }], _showMoreContainer: [{\n type: ViewChild,\n args: ['showMoreContainer']\n }], _initialClass: [{\n type: HostBinding,\n args: ['class']\n }], moreItemsButtonText: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvb3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvb3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBR04sUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUss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QU9QLGdCQUFnQjtzQkFEZixNQUFNO2dCQU9QLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFRUCxNQUFNO3NCQURMLGVBQWU7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVE1RCxXQUFXO3NCQURWLFlBQVk7dUJBQUMsa0JBQWtCO2dCQVFoQyx1QkFBdUI7c0JBRHRCLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVFsRSxhQUFhO3NCQURaLFlBQVk7dUJBQUMsb0NBQW9DO2dCQVFsRCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsY0FBYztnQkFRekIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVE1QixrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUtyQixhQUFhO3NCQURyQixXQUFXO3VCQUFDLE9BQU87Z0JBbURwQixtQkFBbUI7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBET1dOX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVEFCLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVV0aWwsIE51bGxhYmxlLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBQb3BvdmVyQm9keURpcmVjdGl2ZSwgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmlyc3QsIGZyb21FdmVudCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctaXRlbS1jb250YWluZXItcmVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWxheW91dC1wb3BvdmVyLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJmbG93Q29udGFpbmVyIH0gZnJvbSAnLi9pbnRlcmZhY2VzL292ZXJmbG93LWNvbnRhaW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dFeHBhbmQgfSBmcm9tICcuL2ludGVyZmFjZXMvb3ZlcmZsb3ctZXhwYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMvb3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4vaW50ZXJmYWNlcy9vdmVyZmxvdy1pdGVtLXJlZi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dQb3BvdmVyQ29udGVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9vdmVyZmxvdy1wb3BvdmVyLWNvbnRlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0Q29uZmlnLCBPdmVyZmxvd0xheW91dFNlcnZpY2UgfSBmcm9tICcuL292ZXJmbG93LWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEZEX09WRVJGTE9XX0NPTlRBSU5FUiB9IGZyb20gJy4vdG9rZW5zL292ZXJmbG93LWNvbnRhaW5lci50b2tlbic7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19FWFBBTkQgfSBmcm9tICcuL3Rva2Vucy9vdmVyZmxvdy1leHBhbmQudG9rZW4nO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfRk9DVVNBQkxFX0lURU0gfSBmcm9tICcuL3Rva2Vucy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19JVEVNX1JFRiB9IGZyb20gJy4vdG9rZW5zL292ZXJmbG93LWl0ZW0tcmVmLnRva2VuJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1vdmVyZmxvdy1sYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vdmVyZmxvdy1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9vdmVyZmxvdy1sYXlvdXQuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX09WRVJGTE9XX0NPTlRBSU5FUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0xheW91dENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICBPdmVyZmxvd0xheW91dFNlcnZpY2VcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5RGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE92ZXJmbG93Q29udGFpbmVyIHtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGFtb3VudCBvZiB2aXNpYmxlIGl0ZW1zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1heFZpc2libGVJdGVtcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fbWF4VmlzaWJsZUl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbWF4VmlzaWJsZUl0ZW1zID0gdmFsdWU7XG4gICAgICAgIHRoaXMudHJpZ2dlclJlY2FsY3VsYXRpb24oKTtcbiAgICB9XG5cbiAgICBnZXQgbWF4VmlzaWJsZUl0ZW1zKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhWaXNpYmxlSXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogS2V5Ym9hcmQgZXZlbnQgdG8gbGlzdGVuIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uIHRocm91Z2ggaXRlbXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0aW9uVHJpZ2dlcjogJ2tleXVwJyB8ICdrZXlkb3duJyA9ICdrZXl1cCc7XG5cbiAgICAvKiogRGlyZWN0aW9uIG9mIHRoZSBmaXR0aW5nIGl0ZW1zIGNhbGN1bGF0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd01vcmVQb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgc2hvdyBtb3JlIGJ1dHRvbiBzaG91bGQgYmUgcmVuZGVyZWQgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICByZW5kZXJTaG93TW9yZUJ1dHRvbiA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0byByZW5kZXIgaGlkZGVuIGl0ZW1zIGluIHJldmVyc2Ugb3JkZXIuICovXG4gICAgQElucHV0KClcbiAgICByZXZlcnNlSGlkZGVuSXRlbXMgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGVuYWJsZSBrZXlib2FyZCBuYXZpZ2F0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uID0gdHJ1ZTtcblxuICAgIC8qKiBBcmlhIHJvbGUgb2YgdGhlIG92ZXJmbG93IGxheW91dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFSb2xlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCwgdHJpZ2dlcmVkIHdoZW4gYW1vdW50IG9mIHZpc2libGUgaXRlbXMgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICB2aXNpYmxlSXRlbXNDb3VudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQsIHRyaWdnZXJlZCB3aGVuIGFtb3VudCBvZiBoaWRkZW4gaXRlbXMgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBoaWRkZW5JdGVtc0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCwgdHJpZ2dlcmVkIHdoZW4gaGlkZGVuIGl0ZW1zIGhhdmUgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGhpZGRlbkl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPdmVyZmxvd0l0ZW1SZWZbXT4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0IG9mIGl0ZW1zIHRvIGRpc3BsYXkuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGRF9PVkVSRkxPV19JVEVNX1JFRiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIF9pdGVtczogUXVlcnlMaXN0PE92ZXJmbG93SXRlbVJlZj47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGVtcGxhdGUgZm9yIHRoZSBjdXN0b20gXCJNb3JlXCIgYnV0dG9uLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRkRfT1ZFUkZMT1dfRVhQQU5EKVxuICAgIF9tb3JlQnV0dG9uOiBOdWxsYWJsZTxPdmVyZmxvd0V4cGFuZD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTGlzdCBvZiBpdGVtcyB0aGF0IGNhbiBiZSBmb2N1c2VkXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGRF9PVkVSRkxPV19GT0NVU0FCTEVfSVRFTSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIF9mb2N1c2FibGVPdmVyZmxvd0l0ZW1zOiBRdWVyeUxpc3Q8T3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0IG9mIHJlbmRlcmVkIGl0ZW1zLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyRGlyZWN0aXZlKVxuICAgIF92aXNpYmxlSXRlbXM6IFF1ZXJ5TGlzdDxPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEl0ZW1zIHdyYXBwZXIgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW1zV3JhcHBlcicpXG4gICAgX2l0ZW1zV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTGF5b3V0IGNvbnRhaW5lciBlbGVtZW50LlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2xheW91dENvbnRhaW5lcicpXG4gICAgX2xheW91dENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogXCJNb3JlXCIgYnV0dG9uIGNvbnRhaW5lciBlbGVtZW50LlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3Nob3dNb3JlQ29udGFpbmVyJylcbiAgICBfc2hvd01vcmVDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICByZWFkb25seSBfaW5pdGlhbENsYXNzID0gJ2ZkLW92ZXJmbG93LWxheW91dCc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hbGxJdGVtczogT3ZlcmZsb3dJdGVtUmVmW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hpZGRlbkl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2hvd01vcmUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vdmVyZmxvd1BvcG92ZXJDb250ZW50OiBPdmVyZmxvd1BvcG92ZXJDb250ZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9maWxsVHJpZ2dlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tYXhWaXNpYmxlSXRlbXMgPSBJbmZpbml0eTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FuTGlzdGVuVG9SZXNpemUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlyOiAncnRsJyB8ICdsdHInID0gJ2x0cic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2tleWJvYXJkRXZlbnRzTWFuYWdlcjogTnVsbGFibGU8Rm9jdXNLZXlNYW5hZ2VyPE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbT4+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX25nWm9uZTogTmdab25lLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlOiBPdmVyZmxvd0xheW91dFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3J0bDogUnRsU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fZmlsbFRyaWdnZXIkLnBpcGUoZGVib3VuY2VUaW1lKDMwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vdmVyZmxvd0xheW91dFNlcnZpY2Uuc2V0Q29uZmlnKHRoaXMuX2NvbmZpZyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLmZpdFZpc2libGVJdGVtcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogT3ZlcmZsb3cgTGF5b3V0IG1vcmUgYnV0dG9uIHRleHQgKi9cbiAgICBASW5wdXQoKVxuICAgIG1vcmVJdGVtc0J1dHRvblRleHQ6IChoaWRkZW5JdGVtc0NvdW50OiBudW1iZXIpID0+IHN0cmluZyA9IChjb3VudCkgPT4gYCR7Y291bnR9IG1vcmVgO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfY29uZmlnKCk6IE92ZXJmbG93TGF5b3V0Q29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZpc2libGVJdGVtczogdGhpcy5fdmlzaWJsZUl0ZW1zLnRvQXJyYXkoKSxcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLl9pdGVtcy50b0FycmF5KCksXG4gICAgICAgICAgICBmb2N1c2FibGVJdGVtczogdGhpcy5fZm9jdXNhYmxlT3ZlcmZsb3dJdGVtcy50b0FycmF5KCksXG4gICAgICAgICAgICBpdGVtc1dyYXBwZXI6IHRoaXMuX2l0ZW1zV3JhcHBlci5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgc2hvd01vcmVDb250YWluZXI6IHRoaXMuX3Nob3dNb3JlQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgbGF5b3V0Q29udGFpbmVyRWxlbWVudDogdGhpcy5fbGF5b3V0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBtYXhWaXNpYmxlSXRlbXM6IHRoaXMubWF4VmlzaWJsZUl0ZW1zLFxuICAgICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnNob3dNb3JlUG9zaXRpb24sXG4gICAgICAgICAgICBlbmFibGVLZXlib2FyZE5hdmlnYXRpb246IHRoaXMuZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uLFxuICAgICAgICAgICAgcmV2ZXJzZUhpZGRlbkl0ZW1zOiB0aGlzLnJldmVyc2VIaWRkZW5JdGVtc1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldHVwS2V5Ym9hcmRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLmRldGVjdENoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLm9uUmVzdWx0LnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faGlkZGVuSXRlbXMgPSByZXN1bHQuaGlkZGVuSXRlbXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd01vcmUgPSByZXN1bHQuc2hvd01vcmU7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zQ2hhbmdlLmVtaXQocmVzdWx0LmhpZGRlbkl0ZW1zKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zQ291bnQuZW1pdChyZXN1bHQuaGlkZGVuSXRlbXMubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVJdGVtc0NvdW50LmVtaXQodGhpcy5fYWxsSXRlbXMuZmlsdGVyKChpKSA9PiAhaS5oaWRkZW4pLmxlbmd0aCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5faXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgoKSA9PiB0aGlzLl9pdGVtcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWxsSXRlbXMgPSB0aGlzLl9pdGVtcy50b0FycmF5KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLnNldENvbmZpZyh0aGlzLl9jb25maWcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX292ZXJmbG93TGF5b3V0U2VydmljZS5maXRWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fc2V0Rm9jdXNLZXlNYW5hZ2VyKCk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZVRvUnRsKCk7XG5cbiAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgY2FzZXMgd2hlbiB0aGUgZWxlbWVudHMgYXJlIG5vdCByZW5kZXJlZCB5ZXQsIGJ1dCB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkIGFscmVhZHkuXG4gICAgICAgIC8vIEl0IG1heSBoYXBwZW4gd2hlbiBpdCdzIGluc2lkZSB0aGUgY29tcG9uZW50cyB0aGF0IGFyZSB3cmFwcGluZyBuZy1jb250ZW50IHdpdGggbmctY29udGFpbmVycyBhbmQgc28gb24uXG4gICAgICAgIC8vIEludGVyc2VjdGlvbk9ic2VydmVyIGlzIGEgZ29vZCBzb2x1dGlvbiBmb3IgdGhpcyBjYXNlLCBidXQgaXQncyBoYXJkbHkgbWFuYWdlYWJsZSB3aGVuIHRlc3RpbmcuXG4gICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9vdmVyZmxvd0xheW91dFNlcnZpY2Uuc3RhcnRMaXN0ZW5pbmcodGhpcy5fY29uZmlnKTtcblxuICAgICAgICAgICAgdGhpcy5fY2FuTGlzdGVuVG9SZXNpemUgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcnMgbGF5b3V0IHJlY2FsY3VsYXRpb24gb2YgdGhlIGl0ZW1zLlxuICAgICAqL1xuICAgIHRyaWdnZXJSZWNhbGN1bGF0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2Nhbkxpc3RlblRvUmVzaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9maWxsVHJpZ2dlciQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgY3VycmVudCBmb2N1c2VkIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIGVsZW1lbnQgRWxlbWVudCB0aGF0IG5lZWRzIHRvIGJlIGZvY3VzZWQuXG4gICAgICovXG4gICAgc2V0Rm9jdXNlZEVsZW1lbnQoZWxlbWVudDogT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fZm9jdXNhYmxlT3ZlcmZsb3dJdGVtcy50b0FycmF5KCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtID09PSBlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIHBvcG92ZXIgY29udGVudCBkaXJlY3RpdmUgZm9yIG1haW4gY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSBjb250ZW50IHtPdmVyZmxvd1BvcG92ZXJDb250ZW50fSBkaXJlY3RpdmVcbiAgICAgKi9cbiAgICByZWdpc3RlclBvcG92ZXJDb250ZW50KGNvbnRlbnQ6IE92ZXJmbG93UG9wb3ZlckNvbnRlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dQb3BvdmVyQ29udGVudCA9IGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25Qb3BvdmVyU3RhdGVDaGFuZ2Uob3BlbmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChvcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX292ZXJmbG93UG9wb3ZlckNvbnRlbnQ/LmZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0dXBLZXlib2FyZExpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5uYXZpZ2F0aW9uVHJpZ2dlcilcbiAgICAgICAgICAgICAgICAucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy5lbmFibGVLZXlib2FyZE5hdmlnYXRpb24pKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgVEFCKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9mb2N1c2FibGVPdmVyZmxvd0l0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uZm9jdXNhYmxlICYmIGl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8uc2V0QWN0aXZlSXRlbShpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtET1dOX0FSUk9XLCBVUF9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2luZyB0aGUgZXZlbnQgdG8ga2V5IG1hbmFnZXIgc28sIHdlIGdldCBhIGNoYW5nZSBmaXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEZvY3VzS2V5TWFuYWdlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVuYWJsZUtleWJvYXJkTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RpciA9IHRoaXMuX3J0bD8ucnRsLnZhbHVlID8gJ3J0bCcgOiAnbHRyJztcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5fZm9jdXNhYmxlT3ZlcmZsb3dJdGVtcylcbiAgICAgICAgICAgIC53aXRoV3JhcCgpXG4gICAgICAgICAgICAud2l0aEhvcml6b250YWxPcmllbnRhdGlvbih0aGlzLl9kaXIpXG4gICAgICAgICAgICAud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oKVxuICAgICAgICAgICAgLnNraXBQcmVkaWNhdGUoKGl0ZW0pID0+ICFpdGVtLm5hdmlnYWJsZSB8fCBpdGVtLmhpZGRlbik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUnRsIGNoYW5nZSBzdWJzY3JpcHRpb24gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpYmVUb1J0bCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9ydGwgfHwgIXRoaXMuZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fcnRsLnJ0bC5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGlyID0gaXNSdGwgPyAncnRsJyA6ICdsdHInO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyID0gdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2Rpcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIkBpZiAocmVuZGVyU2hvd01vcmVCdXR0b24gJiYgc2hvd01vcmVQb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNob3dNb3JlXCI+PC9uZy10ZW1wbGF0ZT5cbn1cbjxkaXYgY2xhc3M9XCJmZC1vdmVyZmxvdy1sYXlvdXRfX2l0ZW1zLWNvbnRhaW5lclwiICNsYXlvdXRDb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZkLW92ZXJmbG93LWxheW91dF9faXRlbXMtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtb3ZlcmZsb3ctbGF5b3V0X19pdGVtc1wiICNpdGVtc1dyYXBwZXIgW2F0dHIucm9sZV09XCJhcmlhUm9sZVwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBfYWxsSXRlbXM7IHRyYWNrIGl0ZW0udGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtmaXJzdF09XCJpdGVtLmZpcnN0XCJcbiAgICAgICAgICAgICAgICAgICAgW2xhc3RdPVwiaXRlbS5sYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgW3NvZnRIaWRkZW5dPVwiaXRlbS5zb2Z0SGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJhcmlhUm9sZSA9PT0gJ2xpc3QnID8gJ2xpc3RpdGVtJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZmRPdmVyZmxvd0l0ZW1Db250YWluZXJSZWY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaXRlbS5pbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3Q6IGl0ZW0uZmlyc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3Q6IGl0ZW0ubGFzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsSW5kZXg6IGl0ZW0uZ2xvYmFsSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluamVjdG9yOiBpdGVtLmluamVjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5AaWYgKHJlbmRlclNob3dNb3JlQnV0dG9uICYmIHNob3dNb3JlUG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2hvd01vcmVcIj48L25nLXRlbXBsYXRlPlxufVxuPG5nLXRlbXBsYXRlICNzaG93TW9yZT5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtb3ZlcmZsb3ctbGF5b3V0X19tb3JlXCIgW3N0eWxlLmRpc3BsYXldPVwiX3Nob3dNb3JlID8gJ2Jsb2NrJyA6ICdub25lJ1wiICNzaG93TW9yZUNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0U2hvd01vcmU+XG4gICAgICAgICAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAgICAgICAgIChpc09wZW5DaGFuZ2UpPVwiX29uUG9wb3ZlclN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbbWF4V2lkdGhdPVwiMzEyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBbZmRNZW51XT1cInRydWVcIiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2NvcmVPdmVyZmxvd0xheW91dC5tb3JlSXRlbXNCdXR0b24nIHwgZmRUcmFuc2xhdGU6IHsgY291bnQ6IF9oaWRkZW5JdGVtcy5sZW5ndGggfSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRQb3BvdmVyQm9keT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZE92ZXJmbG93TGF5b3V0UG9wb3ZlckNvbnRlbnQgW2l0ZW1zXT1cIl9oaWRkZW5JdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBfaGlkZGVuSXRlbXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGl0ZW0uaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdDogaXRlbS5maXJzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3Q6IGl0ZW0ubGFzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbEluZGV4OiBpdGVtLmdsb2JhbEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5qZWN0b3I6IGl0ZW0uaW5qZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiX21vcmVCdXR0b24/LnRlbXBsYXRlUmVmIHx8IGRlZmF1bHRTaG93TW9yZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IF9oaWRkZW5JdGVtcyB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_ITEM = new InjectionToken('FdOverflowItem');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvdG9rZW5zL292ZXJmbG93LWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBZSxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRkRfT1ZFUkZMT1dfSVRFTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPdmVyZmxvd0l0ZW0+KCdGZE92ZXJmbG93SXRlbScpO1xuIl19","import { Directive, ElementRef, HostBinding, HostListener, Inject, Input, Optional } from '@angular/core';\nimport { OverflowLayoutComponent } from '../overflow-layout.component';\nimport { FD_OVERFLOW_FOCUSABLE_ITEM } from '../tokens/overflow-focusable-item.token';\nimport { FD_OVERFLOW_ITEM } from '../tokens/overflow-item.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../overflow-layout.component\";\nexport class OverflowLayoutFocusableItemDirective {\n /** @hidden */\n get _tabindex() {\n return this.focusable ? 0 : -1;\n }\n /** Whether the item is hidden. */\n get hidden() {\n return !!this._overflowItem?.hidden;\n }\n /** @hidden */\n constructor(_overflowContainer, _overflowItem, elementRef) {\n this._overflowContainer = _overflowContainer;\n this._overflowItem = _overflowItem;\n this.elementRef = elementRef;\n /** Whether the item should be focusable. */\n this.focusable = true;\n /** Whether the item should be navigable via keyboard. */\n this.navigable = true;\n }\n /** @hidden */\n _onFocus() {\n this._overflowContainer.setFocusedElement(this);\n }\n /** @hidden */\n ngOnInit() {\n if (this._overflowItem) {\n this._overflowItem.focusableItem = this;\n }\n }\n /** @hidden */\n focus() {\n this.elementRef.nativeElement.focus();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutFocusableItemDirective, deps: [{ token: i1.OverflowLayoutComponent }, { token: FD_OVERFLOW_ITEM, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutFocusableItemDirective, isStandalone: true, selector: \"[fdOverflowLayoutFocusableItem], [fdOverflowLayoutItem][focusable]\", inputs: { focusable: \"focusable\", navigable: \"navigable\" }, host: { listeners: { \"focus\": \"_onFocus()\" }, properties: { \"attr.tabindex\": \"this._tabindex\" } }, providers: [\n {\n provide: FD_OVERFLOW_FOCUSABLE_ITEM,\n useExisting: OverflowLayoutFocusableItemDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutFocusableItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutFocusableItem], [fdOverflowLayoutItem][focusable]',\n providers: [\n {\n provide: FD_OVERFLOW_FOCUSABLE_ITEM,\n useExisting: OverflowLayoutFocusableItemDirective\n }\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.OverflowLayoutComponent }, { type: undefined, decorators: [{\n type: Inject,\n args: [FD_OVERFLOW_ITEM]\n }, {\n type: Optional\n }] }, { type: i0.ElementRef }], propDecorators: { focusable: [{\n type: Input\n }], navigable: [{\n type: Input\n }], _tabindex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }], _onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LWZvY3VzYWJsZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1sYXlvdXQtZm9jdXNhYmxlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVlqRSxNQUFNLE9BQU8sb0NBQW9DO0lBUzdDLGNBQWM7SUFDZCxJQUNZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsSUFBSSxNQUFNO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDZCxZQUNxQixrQkFBMkMsRUFDTCxhQUEyQixFQUNsRSxVQUFtQztRQUZsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXlCO1FBQ0wsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDbEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUF2QnZELDRDQUE0QztRQUU1QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLHlEQUF5RDtRQUV6RCxjQUFTLEdBQUcsSUFBSSxDQUFDO0lBa0JkLENBQUM7SUFFSixjQUFjO0lBRU4sUUFBUTtRQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7OEdBM0NRLG9DQUFvQyx5REF1QmpDLGdCQUFnQjtrR0F2Qm5CLG9DQUFvQyxnUkFSbEM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxXQUFXLEVBQUUsb0NBQW9DO2FBQ3BEO1NBQ0o7OzJGQUdRLG9DQUFvQztrQkFWaEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0VBQW9FO29CQUM5RSxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsV0FBVyxzQ0FBc0M7eUJBQ3BEO3FCQUNKO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBd0JRLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFBRyxRQUFRO2tFQXBCdkMsU0FBUztzQkFEUixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTSxTQUFTO3NCQURwQixXQUFXO3VCQUFDLGVBQWU7Z0JBbUJwQixRQUFRO3NCQURmLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vdmVyZmxvdy1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dENvbXBvbmVudCB9IGZyb20gJy4uL292ZXJmbG93LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfRk9DVVNBQkxFX0lURU0gfSBmcm9tICcuLi90b2tlbnMvb3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0udG9rZW4nO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfSVRFTSB9IGZyb20gJy4uL3Rva2Vucy9vdmVyZmxvdy1pdGVtLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW1dLCBbZmRPdmVyZmxvd0xheW91dEl0ZW1dW2ZvY3VzYWJsZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9PVkVSRkxPV19GT0NVU0FCTEVfSVRFTSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0sIE9uSW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gc2hvdWxkIGJlIGZvY3VzYWJsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZvY3VzYWJsZSA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBzaG91bGQgYmUgbmF2aWdhYmxlIHZpYSBrZXlib2FyZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5hdmlnYWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgcHJpdmF0ZSBnZXQgX3RhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSA/IDAgOiAtMTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBoaWRkZW4uICovXG4gICAgZ2V0IGhpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fb3ZlcmZsb3dJdGVtPy5oaWRkZW47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfb3ZlcmZsb3dDb250YWluZXI6IE92ZXJmbG93TGF5b3V0Q29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KEZEX09WRVJGTE9XX0lURU0pIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX292ZXJmbG93SXRlbTogT3ZlcmZsb3dJdGVtLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBwcml2YXRlIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vdmVyZmxvd0NvbnRhaW5lci5zZXRGb2N1c2VkRWxlbWVudCh0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fb3ZlcmZsb3dJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLl9vdmVyZmxvd0l0ZW0uZm9jdXNhYmxlSXRlbSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==","import { Directive, ElementRef, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { OverflowLayoutComponent } from '../overflow-layout.component';\nimport { FD_OVERFLOW_ITEM_REF } from '../tokens/overflow-item-ref.token';\nimport { FD_OVERFLOW_ITEM } from '../tokens/overflow-item.token';\nimport * as i0 from \"@angular/core\";\n/**\n * Directive to mark element as part of for Overflow Layout Component items.\n */\nexport class OverflowLayoutItemDirective {\n constructor() {\n /**\n * Event emitted when `hidden` property has been changed.\n */\n this.hiddenChange = new EventEmitter();\n /** Reference to the element */\n this.elmRef = inject(ElementRef);\n /** @hidden */\n this._overflowItemRef = inject(FD_OVERFLOW_ITEM_REF, {\n optional: true,\n skipSelf: true\n });\n /** @hidden */\n this._forceVisibility = false;\n /** @hidden */\n this._overflowContainer = inject(OverflowLayoutComponent);\n }\n /** Whether to force the visibility of the item. */\n set forceVisibility(value) {\n if (value === this._forceVisibility) {\n return;\n }\n this._forceVisibility = value;\n this._overflowContainer.triggerRecalculation();\n }\n get forceVisibility() {\n return this._forceVisibility;\n }\n /**\n * Whether the item is hidden.\n */\n set hidden(value) {\n this.hiddenChange.emit(value);\n }\n get hidden() {\n return this._overflowItemRef?.hidden === true;\n }\n /** @hidden */\n ngOnInit() {\n this._overflowItemRef?.setElementRef(this.elmRef);\n this._overflowItemRef?.setOverflowItem(this);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutItemDirective, isStandalone: true, selector: \"[fdOverflowLayoutItem]\", inputs: { forceVisibility: \"forceVisibility\" }, outputs: { hiddenChange: \"hiddenChange\" }, providers: [\n {\n provide: FD_OVERFLOW_ITEM,\n useExisting: OverflowLayoutItemDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutItem]',\n providers: [\n {\n provide: FD_OVERFLOW_ITEM,\n useExisting: OverflowLayoutItemDirective\n }\n ],\n standalone: true\n }]\n }], propDecorators: { forceVisibility: [{\n type: Input\n }], hiddenChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC9kaXJlY3RpdmVzL292ZXJmbG93LWxheW91dC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRWpFOztHQUVHO0FBV0gsTUFBTSxPQUFPLDJCQUEyQjtJQVZ4QztRQTBCSTs7V0FFRztRQUVILGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQWlCM0MsK0JBQStCO1FBQy9CLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUIsY0FBYztRQUNKLHFCQUFnQixHQUEyQixNQUFNLENBQUMsb0JBQW9CLEVBQUU7WUFDOUUsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFDSCxjQUFjO1FBQ04scUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGNBQWM7UUFDTix1QkFBa0IsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQU9oRTtJQXRERyxtREFBbUQ7SUFDbkQsSUFDSSxlQUFlLENBQUMsS0FBYztRQUM5QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNsQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFRRDs7T0FFRztJQUNILElBQUksTUFBTSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUM7SUFDbEQsQ0FBQztJQW9CRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0F0RFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0tBUnpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsV0FBVyxFQUFFLDJCQUEyQjthQUMzQztTQUNKOzsyRkFHUSwyQkFBMkI7a0JBVnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFdBQVcsNkJBQTZCO3lCQUMzQztxQkFDSjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBSU8sZUFBZTtzQkFEbEIsS0FBSztnQkFrQk4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWZvY3VzYWJsZS1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0l0ZW1SZWYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWl0ZW0tcmVmLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0l0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vb3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19JVEVNX1JFRiB9IGZyb20gJy4uL3Rva2Vucy9vdmVyZmxvdy1pdGVtLXJlZi50b2tlbic7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19JVEVNIH0gZnJvbSAnLi4vdG9rZW5zL292ZXJmbG93LWl0ZW0udG9rZW4nO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBtYXJrIGVsZW1lbnQgYXMgcGFydCBvZiBmb3IgT3ZlcmZsb3cgTGF5b3V0IENvbXBvbmVudCBpdGVtcy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRPdmVyZmxvd0xheW91dEl0ZW1dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfT1ZFUkZMT1dfSVRFTSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0xheW91dEl0ZW1EaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPdmVyZmxvd0l0ZW0sIE9uSW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgdG8gZm9yY2UgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGl0ZW0uICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZm9yY2VWaXNpYmlsaXR5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZm9yY2VWaXNpYmlsaXR5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JjZVZpc2liaWxpdHkgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dDb250YWluZXIudHJpZ2dlclJlY2FsY3VsYXRpb24oKTtcbiAgICB9XG5cbiAgICBnZXQgZm9yY2VWaXNpYmlsaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9yY2VWaXNpYmlsaXR5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBgaGlkZGVuYCBwcm9wZXJ0eSBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGhpZGRlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaGlkZGVuLlxuICAgICAqL1xuICAgIHNldCBoaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oaWRkZW5DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBoaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVyZmxvd0l0ZW1SZWY/LmhpZGRlbiA9PT0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2N1c2FibGUgaXRlbSBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbiAgICAgKi9cbiAgICBmb2N1c2FibGVJdGVtOiBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW07XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50ICovXG4gICAgZWxtUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX292ZXJmbG93SXRlbVJlZjogT3ZlcmZsb3dJdGVtUmVmIHwgbnVsbCA9IGluamVjdChGRF9PVkVSRkxPV19JVEVNX1JFRiwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2tpcFNlbGY6IHRydWVcbiAgICB9KTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvcmNlVmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb3ZlcmZsb3dDb250YWluZXIgPSBpbmplY3QoT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dJdGVtUmVmPy5zZXRFbGVtZW50UmVmKHRoaXMuZWxtUmVmKTtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dJdGVtUmVmPy5zZXRPdmVyZmxvd0l0ZW0odGhpcyk7XG4gICAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { OverflowExpandDirective } from './directives/overflow-expand.directive';\nimport { OverflowItemContainerRefDirective } from './directives/overflow-item-container-ref.directive';\nimport { OverflowItemRefDirective } from './directives/overflow-item-ref.directive';\nimport { OverflowLayoutFocusableItemDirective } from './directives/overflow-layout-focusable-item.directive';\nimport { OverflowLayoutItemContainerDirective } from './directives/overflow-layout-item-container.directive';\nimport { OverflowLayoutItemDirective } from './directives/overflow-layout-item.directive';\nimport { OverflowLayoutPopoverContentDirective } from './directives/overflow-layout-popover-content.directive';\nimport { OverflowLayoutComponent } from './overflow-layout.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated\n * Use direct imports of OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective\n */\nexport class OverflowLayoutModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, imports: [OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective], exports: [OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, imports: [OverflowLayoutComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective\n ],\n exports: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvb3ZlcmZsb3ctbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7Ozs7Ozs7OztHQVVHO0FBdUJILE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9CLFlBcEJ6Qix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0IsaUNBQWlDO1lBQ2pDLHFDQUFxQztZQUNyQyxvQ0FBb0M7WUFDcEMsb0NBQW9DLGFBR3BDLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLDJCQUEyQjtZQUMzQixpQ0FBaUM7WUFDakMscUNBQXFDO1lBQ3JDLG9DQUFvQztZQUNwQyxvQ0FBb0M7K0dBRy9CLG9CQUFvQixZQXBCekIsdUJBQXVCOzsyRkFvQmxCLG9CQUFvQjtrQkF0QmhDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsaUNBQWlDO3dCQUNqQyxxQ0FBcUM7d0JBQ3JDLG9DQUFvQzt3QkFDcEMsb0NBQW9DO3FCQUN2QztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQixpQ0FBaUM7d0JBQ2pDLHFDQUFxQzt3QkFDckMsb0NBQW9DO3dCQUNwQyxvQ0FBb0M7cUJBQ3ZDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93RXhwYW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWV4cGFuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWl0ZW0tY29udGFpbmVyLXJlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dJdGVtUmVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWl0ZW0tcmVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWZvY3VzYWJsZS1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LXBvcG92ZXItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL292ZXJmbG93LWxheW91dC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiBVc2UgZGlyZWN0IGltcG9ydHMgb2YgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQsXG4gICAgICAgIE92ZXJmbG93SXRlbVJlZkRpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbURpcmVjdGl2ZVxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQsXG4gICAgICAgIE92ZXJmbG93SXRlbVJlZkRpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbURpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBPdmVyZmxvd0xheW91dENvbXBvbmVudCxcbiAgICAgICAgT3ZlcmZsb3dJdGVtUmVmRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRJdGVtRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0SXRlbUNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtb3ZlcmZsb3ctbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC9mdW5kYW1lbnRhbC1uZ3gtY29yZS1vdmVyZmxvdy1sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.OverflowLayoutService","i2","i1.OverflowLayoutComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-overflow-layout.mjs","sources":["../tmp-esm2022/overflow-layout/tokens/overflow-expand.token.js","../tmp-esm2022/overflow-layout/directives/overflow-expand.directive.js","../tmp-esm2022/overflow-layout/directives/overflow-item-container-ref.directive.js","../tmp-esm2022/overflow-layout/tokens/overflow-item-ref.token.js","../tmp-esm2022/overflow-layout/directives/overflow-item-ref.directive.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-item-container.directive.js","../tmp-esm2022/overflow-layout/tokens/overflow-container.token.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-popover-content.directive.js","../tmp-esm2022/overflow-layout/overflow-layout.service.js","../tmp-esm2022/overflow-layout/tokens/overflow-focusable-item.token.js","../tmp-esm2022/overflow-layout/overflow-layout.component.js","../tmp-esm2022/overflow-layout/tokens/overflow-item.token.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-focusable-item.directive.js","../tmp-esm2022/overflow-layout/directives/overflow-layout-item.directive.js","../tmp-esm2022/overflow-layout/overflow-layout.module.js","../tmp-esm2022/overflow-layout/fundamental-ngx-core-overflow-layout.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_EXPAND = new InjectionToken('FdOverflowLayoutExpand');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctZXhwYW5kLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC90b2tlbnMvb3ZlcmZsb3ctZXhwYW5kLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQWlCLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dFeHBhbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWV4cGFuZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRkRfT1ZFUkZMT1dfRVhQQU5EID0gbmV3IEluamVjdGlvblRva2VuPE92ZXJmbG93RXhwYW5kPignRmRPdmVyZmxvd0xheW91dEV4cGFuZCcpO1xuIl19","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { FD_OVERFLOW_EXPAND } from '../tokens/overflow-expand.token';\nimport * as i0 from \"@angular/core\";\n/**\n * Structural directive which is responsible for rendering the \"More\" button and handling further logic.\n */\nexport class OverflowExpandDirective {\n /** @hidden */\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n /** @hidden */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowExpandDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowExpandDirective, isStandalone: true, selector: \"[fdOverflowExpand]\", inputs: { fdOverflowExpandItems: \"fdOverflowExpandItems\" }, providers: [\n {\n provide: FD_OVERFLOW_EXPAND,\n useExisting: OverflowExpandDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowExpandDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowExpand]',\n providers: [\n {\n provide: FD_OVERFLOW_EXPAND,\n useExisting: OverflowExpandDirective\n }\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { fdOverflowExpandItems: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctZXhwYW5kLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1leHBhbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckU7O0dBRUc7QUFXSCxNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLGNBQWM7SUFDZCxZQUFtQixXQUEyRDtRQUEzRCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0Q7SUFBRyxDQUFDO0lBRWxGLGNBQWM7SUFDZCxNQUFNLENBQUMsc0JBQXNCLENBQ3pCLEdBQTRCLEVBQzVCLEdBQW1DO1FBRW5DLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBZFEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNkhBUnJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLHVCQUF1QjthQUN2QztTQUNKOzsyRkFHUSx1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcseUJBQXlCO3lCQUN2QztxQkFDSjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7Z0ZBSUcscUJBQXFCO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93RXhwYW5kLCBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZUNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWV4cGFuZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfRVhQQU5EIH0gZnJvbSAnLi4vdG9rZW5zL292ZXJmbG93LWV4cGFuZC50b2tlbic7XG5cbi8qKlxuICogU3RydWN0dXJhbCBkaXJlY3RpdmUgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHJlbmRlcmluZyB0aGUgXCJNb3JlXCIgYnV0dG9uIGFuZCBoYW5kbGluZyBmdXJ0aGVyIGxvZ2ljLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE92ZXJmbG93RXhwYW5kXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX09WRVJGTE9XX0VYUEFORCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93RXhwYW5kRGlyZWN0aXZlPFQgZXh0ZW5kcyBhbnlbXSA9IGFueVtdPiBpbXBsZW1lbnRzIE92ZXJmbG93RXhwYW5kPFQ+IHtcbiAgICAvKiogSXRlbXMgdG8gZXhwYW5kICovXG4gICAgQElucHV0KClcbiAgICBmZE92ZXJmbG93RXhwYW5kSXRlbXM6IFQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8T3ZlcmZsb3dFeHBhbmREaXJlY3RpdmVDb250ZXh0PFQ+Pikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgICAgIGRpcjogT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgICAgIGN0eDogT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmVDb250ZXh0XG4gICAgKTogY3R4IGlzIE92ZXJmbG93RXhwYW5kRGlyZWN0aXZlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiJdfQ==","import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Directive to hide component without actual destroying of the component instance.\n */\nexport class OverflowItemContainerRefDirective {\n /**\n * Shows or hides element without destroying the view itself.\n * @param value\n */\n set hidden(value) {\n if (this._hidden === value) {\n return;\n }\n this._hidden = value;\n if (value && !this._detached) {\n this._viewRef = this._viewContainerRef.detach();\n this._detached = true;\n }\n else if (!value && this._viewRef && !this._viewRef.destroyed && this._detached) {\n this._viewRef = this._viewContainerRef.insert(this._viewRef);\n this._detached = false;\n }\n }\n /** @hidden */\n constructor(_templateRef, _viewContainerRef) {\n this._templateRef = _templateRef;\n this._viewContainerRef = _viewContainerRef;\n /** @hidden */\n this._detached = false;\n /** @hidden */\n this._hidden = false;\n // Create embedded view right away and manipulate its visibility later.\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n /** @hidden */\n ngOnDestroy() {\n this._viewRef?.destroy();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemContainerRefDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowItemContainerRefDirective, isStandalone: true, selector: \"[fdOverflowItemContainerRef]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemContainerRefDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowItemContainerRef]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS1jb250YWluZXItcmVmLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1pdGVtLWNvbnRhaW5lci1yZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsV0FBVyxFQUFFLGdCQUFnQixFQUFXLE1BQU0sZUFBZSxDQUFDOztBQUU3Rjs7R0FFRztBQUtILE1BQU0sT0FBTyxpQ0FBaUM7SUFVMUM7OztPQUdHO0lBQ0gsSUFBSSxNQUFNLENBQUMsS0FBYztRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUcsQ0FBQztZQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO2FBQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9FLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFDWSxZQUE4QixFQUM5QixpQkFBbUM7UUFEbkMsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUEzQi9DLGNBQWM7UUFDTixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGNBQWM7UUFDTixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBeUJwQix1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBeENRLGlDQUFpQztrR0FBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUo3QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgVmlld1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBoaWRlIGNvbXBvbmVudCB3aXRob3V0IGFjdHVhbCBkZXN0cm95aW5nIG9mIHRoZSBjb21wb25lbnQgaW5zdGFuY2UuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlld1JlZjogVmlld1JlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGV0YWNoZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGlkZGVuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBvciBoaWRlcyBlbGVtZW50IHdpdGhvdXQgZGVzdHJveWluZyB0aGUgdmlldyBpdHNlbGYuXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IGhpZGRlbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5faGlkZGVuID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hpZGRlbiA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUgJiYgIXRoaXMuX2RldGFjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5kZXRhY2goKSE7XG4gICAgICAgICAgICB0aGlzLl9kZXRhY2hlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoIXZhbHVlICYmIHRoaXMuX3ZpZXdSZWYgJiYgIXRoaXMuX3ZpZXdSZWYuZGVzdHJveWVkICYmIHRoaXMuX2RldGFjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5pbnNlcnQodGhpcy5fdmlld1JlZik7XG4gICAgICAgICAgICB0aGlzLl9kZXRhY2hlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgLy8gQ3JlYXRlIGVtYmVkZGVkIHZpZXcgcmlnaHQgYXdheSBhbmQgbWFuaXB1bGF0ZSBpdHMgdmlzaWJpbGl0eSBsYXRlci5cbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_ITEM_REF = new InjectionToken('OverflowLayoutItemRef');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS1yZWYudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L3Rva2Vucy9vdmVyZmxvdy1pdGVtLXJlZi50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFrQix1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS1yZWYuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IEZEX09WRVJGTE9XX0lURU1fUkVGID0gbmV3IEluamVjdGlvblRva2VuPE92ZXJmbG93SXRlbVJlZj4oJ092ZXJmbG93TGF5b3V0SXRlbVJlZicpO1xuIl19","import { Directive, inject, INJECTOR, Input, TemplateRef } from '@angular/core';\nimport { FD_OVERFLOW_ITEM_REF } from '../tokens/overflow-item-ref.token';\nimport * as i0 from \"@angular/core\";\n/**\n * Structural directive which is used to pass the context of the item to the template engine.\n */\nexport class OverflowItemRefDirective {\n /**\n * Whether the item is hidden.\n */\n set hidden(value) {\n this._hidden = value;\n this.overflowItem.hiddenChange.emit(value);\n }\n get hidden() {\n return this._hidden;\n }\n /** @hidden */\n constructor(templateRef) {\n this.templateRef = templateRef;\n /** @hidden */\n this._hidden = false;\n /** Whether the item is softly hidden. */\n this.softHidden = true;\n /** @hidden */\n this.injector = inject(INJECTOR);\n }\n /** @hidden */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n /**\n * Sets the element reference of the `fdOverflowLayoutItem` directive.`\n * @param elmRef\n */\n setElementRef(elmRef) {\n if (this.elementRef) {\n return;\n }\n this.elementRef = elmRef;\n }\n /**\n * Sets the `fdOverflowLayoutItem` directive.\n * @param item\n */\n setOverflowItem(item) {\n this.overflowItem = item;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemRefDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowItemRefDirective, isStandalone: true, selector: \"[fdOverflowItemRef]\", inputs: { item: [\"fdOverflowItemRef\", \"item\"] }, providers: [\n {\n provide: FD_OVERFLOW_ITEM_REF,\n useExisting: OverflowItemRefDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowItemRefDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowItemRef]',\n providers: [\n {\n provide: FD_OVERFLOW_ITEM_REF,\n useExisting: OverflowItemRefDirective\n }\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { item: [{\n type: Input,\n args: ['fdOverflowItemRef']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS1yZWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC9kaXJlY3RpdmVzL292ZXJmbG93LWl0ZW0tcmVmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFekU7O0dBRUc7QUFXSCxNQUFNLE9BQU8sd0JBQXdCO0lBYWpDOztPQUVHO0lBQ0gsSUFBSSxNQUFNLENBQUMsS0FBYztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBeUJELGNBQWM7SUFDZCxZQUFtQixXQUF5RDtRQUF6RCxnQkFBVyxHQUFYLFdBQVcsQ0FBOEM7UUF4QjVFLGNBQWM7UUFDZCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBZ0JoQix5Q0FBeUM7UUFDekMsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixjQUFjO1FBQ0wsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUcwQyxDQUFDO0lBRWhGLGNBQWM7SUFDZCxNQUFNLENBQUMsc0JBQXNCLENBQ3pCLEdBQTZCLEVBQzdCLEdBQWlDO1FBRWpDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsTUFBa0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZSxDQUFDLElBQWtCO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7OEdBNUVRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG1IQVJ0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLFdBQVcsRUFBRSx3QkFBd0I7YUFDeEM7U0FDSjs7MkZBR1Esd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLDBCQUEwQjt5QkFDeEM7cUJBQ0o7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25CO2dGQUlHLElBQUk7c0JBREgsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSU5KRUNUT1IsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGFzRWxlbWVudFJlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbURpcmVjdGl2ZUNvbnRleHQsIE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS1yZWYuaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfSVRFTV9SRUYgfSBmcm9tICcuLi90b2tlbnMvb3ZlcmZsb3ctaXRlbS1yZWYudG9rZW4nO1xuXG4vKipcbiAqIFN0cnVjdHVyYWwgZGlyZWN0aXZlIHdoaWNoIGlzIHVzZWQgdG8gcGFzcyB0aGUgY29udGV4dCBvZiB0aGUgaXRlbSB0byB0aGUgdGVtcGxhdGUgZW5naW5lLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE92ZXJmbG93SXRlbVJlZl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9PVkVSRkxPV19JVEVNX1JFRixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmU8VCA9IGFueT4gaW1wbGVtZW50cyBPdmVyZmxvd0l0ZW1SZWY8VD4sIEhhc0VsZW1lbnRSZWYge1xuICAgIC8qKiBJdGVtIGluc3RhbmNlLiBVc2VkIGZvciBjb3JyZWN0IGF1dG9jb21wbGV0ZS4gKi9cbiAgICBASW5wdXQoJ2ZkT3ZlcmZsb3dJdGVtUmVmJylcbiAgICBpdGVtOiBUO1xuICAgIC8qKlxuICAgICAqIEVsZW1lbnQgcmVmIG9mIHRoZSBgZmRPdmVyZmxvd0xheW91dEl0ZW1gIGRpcmVjdGl2ZS5cbiAgICAgKi9cbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIGBmZE92ZXJmbG93TGF5b3V0SXRlbWAgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIG92ZXJmbG93SXRlbTogT3ZlcmZsb3dJdGVtO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaGlkZGVuLlxuICAgICAqL1xuICAgIHNldCBoaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZGVuID0gdmFsdWU7XG4gICAgICAgIHRoaXMub3ZlcmZsb3dJdGVtLmhpZGRlbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgaGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZGVuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hpZGRlbiA9IGZhbHNlO1xuXG4gICAgLyoqIEluZGV4IG9mIHRoZSBpdGVtIGluIHRoZSB2aXNpYmxlIG9yIGhpZGRlbiBhcnJheSBvZiBPdmVyZmxvdyBMYXlvdXQgQ29tcG9uZW50J3MgaXRlbXMuICovXG4gICAgaW5kZXg6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbiB0aGUgYXJyYXkgb2YgaXRlbXMuXG4gICAgICovXG4gICAgZ2xvYmFsSW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBsYXN0IGluIHRoZSBhcnJheS4gKi9cbiAgICBmaXJzdDogYm9vbGVhbjtcblxuICAgIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBmaXJzdCBpbiB0aGUgYXJyYXkuICovXG4gICAgbGFzdDogYm9vbGVhbjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHNvZnRseSBoaWRkZW4uICovXG4gICAgc29mdEhpZGRlbiA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxPdmVyZmxvd0l0ZW1EaXJlY3RpdmVDb250ZXh0PFQ+Pikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgICAgIGRpcjogT3ZlcmZsb3dJdGVtUmVmRGlyZWN0aXZlLFxuICAgICAgICBjdHg6IE92ZXJmbG93SXRlbURpcmVjdGl2ZUNvbnRleHRcbiAgICApOiBjdHggaXMgT3ZlcmZsb3dJdGVtRGlyZWN0aXZlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGVsZW1lbnQgcmVmZXJlbmNlIG9mIHRoZSBgZmRPdmVyZmxvd0xheW91dEl0ZW1gIGRpcmVjdGl2ZS5gXG4gICAgICogQHBhcmFtIGVsbVJlZlxuICAgICAqL1xuICAgIHNldEVsZW1lbnRSZWYoZWxtUmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbG1SZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYGZkT3ZlcmZsb3dMYXlvdXRJdGVtYCBkaXJlY3RpdmUuXG4gICAgICogQHBhcmFtIGl0ZW1cbiAgICAgKi9cbiAgICBzZXRPdmVyZmxvd0l0ZW0oaXRlbTogT3ZlcmZsb3dJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3ZlcmZsb3dJdGVtID0gaXRlbTtcbiAgICB9XG59XG4iXX0=","import { ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { OverflowItemContainerRefDirective } from './overflow-item-container-ref.directive';\nimport * as i0 from \"@angular/core\";\nexport class OverflowLayoutItemContainerDirective {\n /** @hidden */\n constructor(elementRef) {\n this.elementRef = elementRef;\n /**\n * Whether this item is the first one in the array.\n */\n this.last = false;\n /**\n * Whether this item is the last one in the array.\n */\n this.first = false;\n /**\n * Whether this item is softly hidden. Used during free space calculation without flickering of the items.\n */\n this.softHidden = true;\n /** @hidden */\n this._initialClass = 'fd-overflow-layout__item';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutItemContainerDirective, isStandalone: true, selector: \"[fdOverflowLayoutItemContainer]\", inputs: { last: \"last\", first: \"first\", softHidden: \"softHidden\" }, host: { properties: { \"class.fd-overflow-layout__item--last\": \"this.last\", \"class.fd-overflow-layout__item--first\": \"this.first\", \"class.fd-overflow-layout__item--soft-hidden\": \"this.softHidden\", \"class\": \"this._initialClass\" } }, queries: [{ propertyName: \"containerRef\", first: true, predicate: OverflowItemContainerRefDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutItemContainer]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { last: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-overflow-layout__item--last']\n }], first: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-overflow-layout__item--first']\n }], softHidden: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-overflow-layout__item--soft-hidden']\n }], containerRef: [{\n type: ContentChild,\n args: [OverflowItemContainerRefDirective]\n }], _initialClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1sYXlvdXQtaXRlbS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQU01RixNQUFNLE9BQU8sb0NBQW9DO0lBZ0M3QyxjQUFjO0lBQ2QsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhDekM7O1dBRUc7UUFHSCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWI7O1dBRUc7UUFHSCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQ7O1dBRUc7UUFHSCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBUWxCLGNBQWM7UUFFSyxrQkFBYSxHQUFHLDBCQUEwQixDQUFDO0lBR2xCLENBQUM7OEdBakNwQyxvQ0FBb0M7a0dBQXBDLG9DQUFvQyxnYkF5Qi9CLGlDQUFpQzs7MkZBekJ0QyxvQ0FBb0M7a0JBSmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQU9HLElBQUk7c0JBRkgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBUW5ELEtBQUs7c0JBRkosS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBUXBELFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw2Q0FBNkM7Z0JBTzFELFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxpQ0FBaUM7Z0JBSzVCLGFBQWE7c0JBRC9CLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbUNvbnRhaW5lclJlZkRpcmVjdGl2ZSB9IGZyb20gJy4vb3ZlcmZsb3ctaXRlbS1jb250YWluZXItcmVmLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyBpdGVtIGlzIHRoZSBmaXJzdCBvbmUgaW4gdGhlIGFycmF5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1vdmVyZmxvdy1sYXlvdXRfX2l0ZW0tLWxhc3QnKVxuICAgIGxhc3QgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyBpdGVtIGlzIHRoZSBsYXN0IG9uZSBpbiB0aGUgYXJyYXkuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW92ZXJmbG93LWxheW91dF9faXRlbS0tZmlyc3QnKVxuICAgIGZpcnN0ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBzb2Z0bHkgaGlkZGVuLiBVc2VkIGR1cmluZyBmcmVlIHNwYWNlIGNhbGN1bGF0aW9uIHdpdGhvdXQgZmxpY2tlcmluZyBvZiB0aGUgaXRlbXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW92ZXJmbG93LWxheW91dF9faXRlbS0tc29mdC1oaWRkZW4nKVxuICAgIHNvZnRIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVyIHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE92ZXJmbG93SXRlbUNvbnRhaW5lclJlZkRpcmVjdGl2ZSlcbiAgICBjb250YWluZXJSZWY6IE92ZXJmbG93SXRlbUNvbnRhaW5lclJlZkRpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pbml0aWFsQ2xhc3MgPSAnZmQtb3ZlcmZsb3ctbGF5b3V0X19pdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_CONTAINER = new InjectionToken('FdOverflowContainer');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctY29udGFpbmVyLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC90b2tlbnMvb3ZlcmZsb3ctY29udGFpbmVyLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQW9CLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dDb250YWluZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWNvbnRhaW5lci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRkRfT1ZFUkZMT1dfQ09OVEFJTkVSID0gbmV3IEluamVjdGlvblRva2VuPE92ZXJmbG93Q29udGFpbmVyPignRmRPdmVyZmxvd0NvbnRhaW5lcicpO1xuIl19","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Directive, HostBinding, HostListener, Inject, Input, Optional, computed, effect } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FD_OVERFLOW_CONTAINER } from '../tokens/overflow-container.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/utils\";\n/**\n * Directive to wrap Overlay Layout \"More\" popover content.\n * Used to apply keyboard navigation through the items.\n */\nexport class OverflowLayoutPopoverContentDirective {\n /**\n * Array of hidden items.\n */\n set items(value) {\n // Need to set items with a delay so that elementRef of the focusable item would refresh.\n setTimeout(() => {\n this._items = value;\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this._items\n .filter((item) => item.overflowItem.focusableItem?.focusable)\n .map((item) => item.overflowItem.focusableItem))\n .withWrap()\n .withHorizontalOrientation(this._dir$());\n });\n }\n /** @hidden */\n constructor(_overflowContainer, _rtl) {\n this._overflowContainer = _overflowContainer;\n this._rtl = _rtl;\n /** @hidden */\n this._initialClass = 'fd-overflow-layout__popover-container';\n /** @hidden */\n this._dir$ = computed(() => (this._rtl?.rtlSignal() ? 'rtl' : 'ltr'), ...(ngDevMode ? [{ debugName: \"_dir$\" }] : []));\n this._overflowContainer?.registerPopoverContent(this);\n effect(() => {\n this._keyboardEventsManager = this._keyboardEventsManager?.withHorizontalOrientation(this._dir$());\n });\n }\n /** @hidden */\n keyUpHandler(event) {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this._items.findIndex((item) => item.overflowItem.elmRef.nativeElement === event.target);\n if (index !== -1) {\n this._keyboardEventsManager?.setActiveItem(index);\n }\n }\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n // passing the event to key manager, so we get a change fired\n this._keyboardEventsManager?.onKeydown(event);\n }\n }\n /**\n * Focuses on the first tabbable element inside directive's element.\n */\n focusFirstTabbableElement() {\n this._keyboardEventsManager?.setActiveItem(0);\n }\n /** @hidden */\n ngOnDestroy() {\n this._keyboardEventsManager?.destroy();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutPopoverContentDirective, deps: [{ token: FD_OVERFLOW_CONTAINER }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutPopoverContentDirective, isStandalone: true, selector: \"[fdOverflowLayoutPopoverContent]\", inputs: { items: \"items\" }, host: { listeners: { \"keyup\": \"keyUpHandler($event)\" }, properties: { \"class\": \"this._initialClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutPopoverContentDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutPopoverContent]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [FD_OVERFLOW_CONTAINER]\n }] }, { type: i1.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { items: [{\n type: Input\n }], _initialClass: [{\n type: HostBinding,\n args: ['class']\n }], keyUpHandler: [{\n type: HostListener,\n args: ['keyup', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LXBvcG92ZXItY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LXBvcG92ZXItY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0YsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBWSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUszRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRTNFOzs7R0FHRztBQUtILE1BQU0sT0FBTyxxQ0FBcUM7SUFDOUM7O09BRUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUF3QjtRQUM5Qix5RkFBeUY7UUFDekYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQzdDLElBQUksQ0FBQyxNQUFNO2lCQUNOLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO2lCQUM1RCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQ3REO2lCQUNJLFFBQVEsRUFBRTtpQkFDVix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFlRCxjQUFjO0lBQ2QsWUFDMkMsa0JBQXFDLEVBQ3hELElBQWdCO1FBREcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUN4RCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBaEJ4QyxjQUFjO1FBRUssa0JBQWEsR0FBRyx1Q0FBdUMsQ0FBQztRQVEzRSxjQUFjO1FBQ0csVUFBSyxHQUFHLFFBQVEsQ0FBZ0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpREFBQyxDQUFDO1FBTzdGLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBRWQsWUFBWSxDQUFDLEtBQW9CO1FBQzdCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2Qiw2REFBNkQ7WUFDN0QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gseUJBQXlCO1FBQ3JCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7OEdBekVRLHFDQUFxQyxrQkFtQ2xDLHFCQUFxQjtrR0FuQ3hCLHFDQUFxQzs7MkZBQXJDLHFDQUFxQztrQkFKakQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQW9DUSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVE7eUNBL0JULEtBQUs7c0JBRFIsS0FBSztnQkFrQmEsYUFBYTtzQkFEL0IsV0FBVzt1QkFBQyxPQUFPO2dCQTBCcEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERPV05fQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBUQUIsIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVV0aWwsIE51bGxhYmxlLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgT3ZlcmZsb3dDb250YWluZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWNvbnRhaW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dJdGVtUmVmIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vdmVyZmxvdy1pdGVtLXJlZi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dQb3BvdmVyQ29udGVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctcG9wb3Zlci1jb250ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19DT05UQUlORVIgfSBmcm9tICcuLi90b2tlbnMvb3ZlcmZsb3ctY29udGFpbmVyLnRva2VuJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gd3JhcCBPdmVybGF5IExheW91dCBcIk1vcmVcIiBwb3BvdmVyIGNvbnRlbnQuXG4gKiBVc2VkIHRvIGFwcGx5IGtleWJvYXJkIG5hdmlnYXRpb24gdGhyb3VnaCB0aGUgaXRlbXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dMYXlvdXRQb3BvdmVyQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmZsb3dMYXlvdXRQb3BvdmVyQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE92ZXJmbG93UG9wb3ZlckNvbnRlbnQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgaGlkZGVuIGl0ZW1zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBPdmVyZmxvd0l0ZW1SZWZbXSkge1xuICAgICAgICAvLyBOZWVkIHRvIHNldCBpdGVtcyB3aXRoIGEgZGVsYXkgc28gdGhhdCBlbGVtZW50UmVmIG9mIHRoZSBmb2N1c2FibGUgaXRlbSB3b3VsZCByZWZyZXNoLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXI/LmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIoXG4gICAgICAgICAgICAgICAgdGhpcy5faXRlbXNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5vdmVyZmxvd0l0ZW0uZm9jdXNhYmxlSXRlbT8uZm9jdXNhYmxlKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLm92ZXJmbG93SXRlbS5mb2N1c2FibGVJdGVtKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC53aXRoV3JhcCgpXG4gICAgICAgICAgICAgICAgLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24odGhpcy5fZGlyJCgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2luaXRpYWxDbGFzcyA9ICdmZC1vdmVyZmxvdy1sYXlvdXRfX3BvcG92ZXItY29udGFpbmVyJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfa2V5Ym9hcmRFdmVudHNNYW5hZ2VyOiBOdWxsYWJsZTxGb2N1c0tleU1hbmFnZXI8T3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtPj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2l0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGlyJCA9IGNvbXB1dGVkPCdsdHInIHwgJ3J0bCc+KCgpID0+ICh0aGlzLl9ydGw/LnJ0bFNpZ25hbCgpID8gJ3J0bCcgOiAnbHRyJykpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChGRF9PVkVSRkxPV19DT05UQUlORVIpIHByaXZhdGUgX292ZXJmbG93Q29udGFpbmVyOiBPdmVyZmxvd0NvbnRhaW5lcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsOiBSdGxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX292ZXJmbG93Q29udGFpbmVyPy5yZWdpc3RlclBvcG92ZXJDb250ZW50KHRoaXMpO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXIgPSB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXI/LndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24odGhpcy5fZGlyJCgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAga2V5VXBIYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgVEFCKSkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9pdGVtcy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0ub3ZlcmZsb3dJdGVtLmVsbVJlZi5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8uc2V0QWN0aXZlSXRlbShpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtET1dOX0FSUk9XLCBVUF9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgLy8gcGFzc2luZyB0aGUgZXZlbnQgdG8ga2V5IG1hbmFnZXIsIHNvIHdlIGdldCBhIGNoYW5nZSBmaXJlZFxuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXNlcyBvbiB0aGUgZmlyc3QgdGFiYmFibGUgZWxlbWVudCBpbnNpZGUgZGlyZWN0aXZlJ3MgZWxlbWVudC5cbiAgICAgKi9cbiAgICBmb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oMCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19","import { ElementRef, Injectable } from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject, Subscription, debounceTime, distinctUntilChanged, filter, skip } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class OverflowLayoutListeningResult {\n constructor() {\n /** Whether to show more button */\n this.showMore = false;\n /** Overflow item s */\n this.items = [];\n /** Hidden overflow items */\n this.hiddenItems = [];\n /** Visible overflow items */\n this.visibleItems = [];\n }\n}\nexport class OverflowLayoutService {\n /**\n * Observable which emits when changes detection is required.\n */\n get detectChanges() {\n return this._detectChanges$.asObservable();\n }\n /**\n * Observable which emits when new calculation result is available.\n */\n get onResult() {\n return this._result$.asObservable();\n }\n /** @hidden */\n constructor(_elRef) {\n this._elRef = _elRef;\n /**\n * Overflow Layout calculation result.\n */\n this.result = new OverflowLayoutListeningResult();\n /** @hidden */\n this._listenToItemResize = true;\n /** @hidden */\n this._subscription = new Subscription();\n /** @hidden */\n this._allItems = [];\n /** @hidden */\n this._hiddenItems = [];\n /** @hidden */\n this._detectChanges$ = new Subject();\n /** @hidden */\n this._result$ = new Subject();\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscription.unsubscribe();\n }\n /** @hidden */\n startListening(config) {\n this.setConfig(config);\n this.fitVisibleItems();\n this._listenToSizeChanges(this._elRef.nativeElement, this.config.itemsWrapper);\n }\n /** @hidden */\n setConfig(config) {\n this.config = config;\n }\n /**\n * Calculates available space for items and hides items that are not fitting into the container.\n */\n fitVisibleItems() {\n this._listenToItemResize = false;\n this._allItems = this.config.items;\n let allItems = [...this.config.items];\n let visibleContainerItems = [...this.config.visibleItems];\n this._elRef.nativeElement.style.height = `${this._elRef.nativeElement.clientHeight}px`;\n allItems.forEach((item, index) => {\n // Softly hide previously completely hidden item in order to correctly calculate it's size.\n item.softHidden = true;\n item.hidden = false;\n item.index = index;\n item.first = index === 0;\n item.last = index === allItems.length - 1;\n item.globalIndex = index;\n visibleContainerItems[index].containerRef.hidden = false;\n });\n this._detectChanges$.next();\n allItems = this.config.direction === 'right' ? allItems : allItems.reverse();\n visibleContainerItems =\n this.config.direction === 'right' ? visibleContainerItems : visibleContainerItems.reverse();\n this.result.showMore = false;\n this._emitResult();\n const containerWidth = this._elRef.nativeElement.getBoundingClientRect().width;\n const itemsContainerWidth = allItems.reduce((total, item) => total + (this._getElementWidth(item.elementRef.nativeElement) || 0), 0);\n if (containerWidth >= itemsContainerWidth &&\n this.config.visibleItems.length <= this.config.maxVisibleItems &&\n this._hiddenItems.length === 0) {\n // Make all items fully visible.\n allItems.forEach((item) => {\n item.softHidden = false;\n });\n this.result.showMore = false;\n this.result.hiddenItems = this._hiddenItems;\n this._emitResult();\n this._listenToItemResize = true;\n this._elRef.nativeElement.style.height = '';\n return;\n }\n this.result.showMore = true;\n this._emitResult();\n let fittingElmCount = 0;\n let fittingElmsWidth = 0;\n let shouldHideItems = false;\n const showMoreContainerWidth = Math.ceil(this.config.showMoreContainer ? this._getElementWidth(this.config.showMoreContainer) : 0);\n let layoutWidth = containerWidth - showMoreContainerWidth;\n // Try to find all forced visible items\n const forcedItemsIndexes = this._getForcedItemsIndexes();\n forcedItemsIndexes.forEach((itemIndex) => {\n const container = this.config.visibleItems[itemIndex];\n if (!container) {\n return;\n }\n const elementSize = this._getElementWidth(container.elementRef.nativeElement);\n layoutWidth -= elementSize;\n });\n const maxVisibleItems = this.config.maxVisibleItems -\n forcedItemsIndexes.filter((index) => index >= this.config.maxVisibleItems).length;\n if (layoutWidth < 0 && forcedItemsIndexes.length > 0) {\n console.warn('There is no enough space to fit all forced visible items into the container. Please adjust their visibility accordingly.');\n }\n this._detectChanges$.next();\n visibleContainerItems.forEach((item, index) => {\n const itemRef = allItems[index];\n // If item is forced to be visible, just display the item since it's size calculation was already taken care of in previous iteration.\n if (itemRef.overflowItem.forceVisibility) {\n return;\n }\n if (shouldHideItems && !itemRef.overflowItem.forceVisibility) {\n item.containerRef.hidden = true;\n item.softHidden = false;\n itemRef.hidden = true;\n return;\n }\n const elementSize = this._getElementWidth(item.elementRef.nativeElement);\n const combinedWidth = fittingElmsWidth + elementSize;\n const condition = (combinedWidth <= layoutWidth ||\n (item === this.config.visibleItems[this.config.visibleItems.length - 1] &&\n combinedWidth <= layoutWidth + showMoreContainerWidth)) &&\n fittingElmCount < maxVisibleItems;\n if (condition) {\n fittingElmsWidth += elementSize;\n fittingElmCount++;\n }\n else if (!itemRef.overflowItem.forceVisibility) {\n shouldHideItems = true;\n item.softHidden = false;\n item.containerRef.hidden = true;\n itemRef.hidden = true;\n }\n });\n // Reverse original order back.\n allItems = this.config.direction === 'right' ? allItems : allItems.reverse();\n allItems.forEach((item) => {\n item.softHidden = false;\n });\n let hiddenItems = allItems.filter((i) => i.hidden);\n hiddenItems = this.config.reverseHiddenItems ? hiddenItems.reverse() : hiddenItems;\n const visibleItems = allItems.filter((i) => !i.hidden);\n visibleItems.forEach((item, index) => {\n item.index = index;\n item.first = index === 0;\n item.last = index === visibleItems.length - 1;\n });\n this._hiddenItems = hiddenItems.map((item, index) => {\n item.first = index === 0;\n item.last = index === hiddenItems.length - 1;\n item.index = index;\n return item;\n });\n this.result.showMore = this._hiddenItems.length > 0;\n this.result.hiddenItems = this._hiddenItems;\n this._emitResult();\n this._elRef.nativeElement.style.height = '';\n this._listenToItemResize = true;\n }\n /** @hidden */\n _getForcedItemsIndexes() {\n return this._allItems\n .map((item, index) => (item.overflowItem.forceVisibility ? index : -1))\n .filter((i) => i > -1);\n }\n /**\n * @hidden\n * Returns combined width of the element including margins.\n * @param element Element to calculate width of.\n */\n _getElementWidth(element) {\n const elementStyle = getComputedStyle(element);\n const elementWidth = element.getBoundingClientRect().width;\n const elementSize = elementWidth + parseFloat(elementStyle.marginLeft) + parseFloat(elementStyle.marginRight);\n return Math.ceil(elementSize);\n }\n /** @hidden */\n _emitResult() {\n this._result$.next(this.result);\n }\n /** @hidden */\n _listenToSizeChanges(...elements) {\n elements.forEach((element) => this._subscription.add(resizeObservable(element)\n .pipe(skip(1), filter(() => this._listenToItemResize), distinctUntilChanged(), debounceTime(30))\n .subscribe(() => {\n setTimeout(() => {\n this.fitVisibleItems();\n });\n })));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutService, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L292ZXJmbG93LWxheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWtCM0csTUFBTSxPQUFPLDZCQUE2QjtJQUExQztRQUNJLGtDQUFrQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHNCQUFzQjtRQUN0QixVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUU5Qiw0QkFBNEI7UUFDNUIsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBRXBDLDZCQUE2QjtRQUM3QixpQkFBWSxHQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztDQUFBO0FBR0QsTUFBTSxPQUFPLHFCQUFxQjtJQTZCOUI7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBb0IsTUFBK0I7UUFBL0IsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUF0Q25EOztXQUVHO1FBQ0gsV0FBTSxHQUFHLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUU3QyxjQUFjO1FBQ04sd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRW5D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QUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFOUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBQ04sV0FBVztRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQixDQUFDLEdBQUcsUUFBdUI7UUFDbkQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNsQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7YUFDcEIsSUFBSSxDQUNELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQ3RDLG9CQUFvQixFQUFFLEVBQ3RCLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FDbkI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDVCxDQUNKLENBQUM7SUFDTixDQUFDOzhHQXBRUSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVzaXplT2JzZXJ2YWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBza2lwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMvb3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4vaW50ZXJmYWNlcy9vdmVyZmxvdy1pdGVtLXJlZi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJmbG93TGF5b3V0Q29uZmlnIHtcbiAgICBpdGVtczogT3ZlcmZsb3dJdGVtUmVmW107XG4gICAgZm9jdXNhYmxlSXRlbXM6IE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbVtdO1xuICAgIHZpc2libGVJdGVtczogT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyRGlyZWN0aXZlW107XG4gICAgaXRlbXNXcmFwcGVyOiBIVE1MRWxlbWVudDtcbiAgICBzaG93TW9yZUNvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xuICAgIGxheW91dENvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIG1heFZpc2libGVJdGVtczogbnVtYmVyO1xuICAgIGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JztcbiAgICBlbmFibGVLZXlib2FyZE5hdmlnYXRpb246IGJvb2xlYW47XG4gICAgcmV2ZXJzZUhpZGRlbkl0ZW1zOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgT3ZlcmZsb3dMYXlvdXRMaXN0ZW5pbmdSZXN1bHQge1xuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgbW9yZSBidXR0b24gKi9cbiAgICBzaG93TW9yZSA9IGZhbHNlO1xuXG4gICAgLyoqIE92ZXJmbG93IGl0ZW0gcyAqL1xuICAgIGl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIEhpZGRlbiBvdmVyZmxvdyBpdGVtcyAqL1xuICAgIGhpZGRlbkl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIFZpc2libGUgb3ZlcmZsb3cgaXRlbXMgKi9cbiAgICB2aXNpYmxlSXRlbXM6IE92ZXJmbG93SXRlbVJlZltdID0gW107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIE92ZXJmbG93IExheW91dCBjb25maWcuXG4gICAgICovXG4gICAgY29uZmlnOiBPdmVyZmxvd0xheW91dENvbmZpZztcblxuICAgIC8qKlxuICAgICAqIE92ZXJmbG93IExheW91dCBjYWxjdWxhdGlvbiByZXN1bHQuXG4gICAgICovXG4gICAgcmVzdWx0ID0gbmV3IE92ZXJmbG93TGF5b3V0TGlzdGVuaW5nUmVzdWx0KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvSXRlbVJlc2l6ZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWxsSXRlbXM6IE92ZXJmbG93SXRlbVJlZltdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hpZGRlbkl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXRlY3RDaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc3VsdCQgPSBuZXcgU3ViamVjdDxPdmVyZmxvd0xheW91dExpc3RlbmluZ1Jlc3VsdD4oKTtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgd2hlbiBjaGFuZ2VzIGRldGVjdGlvbiBpcyByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBnZXQgZGV0ZWN0Q2hhbmdlcygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RldGVjdENoYW5nZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgd2hlbiBuZXcgY2FsY3VsYXRpb24gcmVzdWx0IGlzIGF2YWlsYWJsZS5cbiAgICAgKi9cbiAgICBnZXQgb25SZXN1bHQoKTogT2JzZXJ2YWJsZTxPdmVyZmxvd0xheW91dExpc3RlbmluZ1Jlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzdWx0JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhcnRMaXN0ZW5pbmcoY29uZmlnOiBPdmVyZmxvd0xheW91dENvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLmZpdFZpc2libGVJdGVtcygpO1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub1NpemVDaGFuZ2VzKHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29uZmlnLml0ZW1zV3JhcHBlcik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRDb25maWcoY29uZmlnOiBPdmVyZmxvd0xheW91dENvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIGF2YWlsYWJsZSBzcGFjZSBmb3IgaXRlbXMgYW5kIGhpZGVzIGl0ZW1zIHRoYXQgYXJlIG5vdCBmaXR0aW5nIGludG8gdGhlIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBmaXRWaXNpYmxlSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvSXRlbVJlc2l6ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9hbGxJdGVtcyA9IHRoaXMuY29uZmlnLml0ZW1zO1xuXG4gICAgICAgIGxldCBhbGxJdGVtcyA9IFsuLi50aGlzLmNvbmZpZy5pdGVtc107XG4gICAgICAgIGxldCB2aXNpYmxlQ29udGFpbmVySXRlbXMgPSBbLi4udGhpcy5jb25maWcudmlzaWJsZUl0ZW1zXTtcblxuICAgICAgICB0aGlzLl9lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fXB4YDtcblxuICAgICAgICBhbGxJdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgLy8gU29mdGx5IGhpZGUgcHJldmlvdXNseSBjb21wbGV0ZWx5IGhpZGRlbiBpdGVtIGluIG9yZGVyIHRvIGNvcnJlY3RseSBjYWxjdWxhdGUgaXQncyBzaXplLlxuICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLmluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICBpdGVtLmZpcnN0ID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpdGVtLmxhc3QgPSBpbmRleCA9PT0gYWxsSXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGl0ZW0uZ2xvYmFsSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIHZpc2libGVDb250YWluZXJJdGVtc1tpbmRleF0uY29udGFpbmVyUmVmLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzJC5uZXh0KCk7XG5cbiAgICAgICAgYWxsSXRlbXMgPSB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPT09ICdyaWdodCcgPyBhbGxJdGVtcyA6IGFsbEl0ZW1zLnJldmVyc2UoKTtcbiAgICAgICAgdmlzaWJsZUNvbnRhaW5lckl0ZW1zID1cbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyA/IHZpc2libGVDb250YWluZXJJdGVtcyA6IHZpc2libGVDb250YWluZXJJdGVtcy5yZXZlcnNlKCk7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQuc2hvd01vcmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZW1pdFJlc3VsdCgpO1xuICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIGNvbnN0IGl0ZW1zQ29udGFpbmVyV2lkdGggPSBhbGxJdGVtcy5yZWR1Y2UoXG4gICAgICAgICAgICAodG90YWwsIGl0ZW0pID0+IHRvdGFsICsgKHRoaXMuX2dldEVsZW1lbnRXaWR0aChpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkgfHwgMCksXG4gICAgICAgICAgICAwXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGFpbmVyV2lkdGggPj0gaXRlbXNDb250YWluZXJXaWR0aCAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcudmlzaWJsZUl0ZW1zLmxlbmd0aCA8PSB0aGlzLmNvbmZpZy5tYXhWaXNpYmxlSXRlbXMgJiZcbiAgICAgICAgICAgIHRoaXMuX2hpZGRlbkl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIE1ha2UgYWxsIGl0ZW1zIGZ1bGx5IHZpc2libGUuXG4gICAgICAgICAgICBhbGxJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0LnNob3dNb3JlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnJlc3VsdC5oaWRkZW5JdGVtcyA9IHRoaXMuX2hpZGRlbkl0ZW1zO1xuICAgICAgICAgICAgdGhpcy5fZW1pdFJlc3VsdCgpO1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuVG9JdGVtUmVzaXplID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXN1bHQuc2hvd01vcmUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9lbWl0UmVzdWx0KCk7XG4gICAgICAgIGxldCBmaXR0aW5nRWxtQ291bnQgPSAwO1xuICAgICAgICBsZXQgZml0dGluZ0VsbXNXaWR0aCA9IDA7XG4gICAgICAgIGxldCBzaG91bGRIaWRlSXRlbXMgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBzaG93TW9yZUNvbnRhaW5lcldpZHRoID0gTWF0aC5jZWlsKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuc2hvd01vcmVDb250YWluZXIgPyB0aGlzLl9nZXRFbGVtZW50V2lkdGgodGhpcy5jb25maWcuc2hvd01vcmVDb250YWluZXIpIDogMFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGF5b3V0V2lkdGggPSBjb250YWluZXJXaWR0aCAtIHNob3dNb3JlQ29udGFpbmVyV2lkdGg7XG5cbiAgICAgICAgLy8gVHJ5IHRvIGZpbmQgYWxsIGZvcmNlZCB2aXNpYmxlIGl0ZW1zXG4gICAgICAgIGNvbnN0IGZvcmNlZEl0ZW1zSW5kZXhlcyA9IHRoaXMuX2dldEZvcmNlZEl0ZW1zSW5kZXhlcygpO1xuXG4gICAgICAgIGZvcmNlZEl0ZW1zSW5kZXhlcy5mb3JFYWNoKChpdGVtSW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29uZmlnLnZpc2libGVJdGVtc1tpdGVtSW5kZXhdO1xuICAgICAgICAgICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50U2l6ZSA9IHRoaXMuX2dldEVsZW1lbnRXaWR0aChjb250YWluZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgbGF5b3V0V2lkdGggLT0gZWxlbWVudFNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IG1heFZpc2libGVJdGVtcyA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5tYXhWaXNpYmxlSXRlbXMgLVxuICAgICAgICAgICAgZm9yY2VkSXRlbXNJbmRleGVzLmZpbHRlcigoaW5kZXgpID0+IGluZGV4ID49IHRoaXMuY29uZmlnLm1heFZpc2libGVJdGVtcykubGVuZ3RoO1xuXG4gICAgICAgIGlmIChsYXlvdXRXaWR0aCA8IDAgJiYgZm9yY2VkSXRlbXNJbmRleGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnVGhlcmUgaXMgbm8gZW5vdWdoIHNwYWNlIHRvIGZpdCBhbGwgZm9yY2VkIHZpc2libGUgaXRlbXMgaW50byB0aGUgY29udGFpbmVyLiBQbGVhc2UgYWRqdXN0IHRoZWlyIHZpc2liaWxpdHkgYWNjb3JkaW5nbHkuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMkLm5leHQoKTtcblxuICAgICAgICB2aXNpYmxlQ29udGFpbmVySXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1SZWYgPSBhbGxJdGVtc1tpbmRleF07XG4gICAgICAgICAgICAvLyBJZiBpdGVtIGlzIGZvcmNlZCB0byBiZSB2aXNpYmxlLCBqdXN0IGRpc3BsYXkgdGhlIGl0ZW0gc2luY2UgaXQncyBzaXplIGNhbGN1bGF0aW9uIHdhcyBhbHJlYWR5IHRha2VuIGNhcmUgb2YgaW4gcHJldmlvdXMgaXRlcmF0aW9uLlxuICAgICAgICAgICAgaWYgKGl0ZW1SZWYub3ZlcmZsb3dJdGVtLmZvcmNlVmlzaWJpbGl0eSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzaG91bGRIaWRlSXRlbXMgJiYgIWl0ZW1SZWYub3ZlcmZsb3dJdGVtLmZvcmNlVmlzaWJpbGl0eSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uY29udGFpbmVyUmVmLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaXRlbVJlZi5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZWxlbWVudFNpemUgPSB0aGlzLl9nZXRFbGVtZW50V2lkdGgoaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgY29tYmluZWRXaWR0aCA9IGZpdHRpbmdFbG1zV2lkdGggKyBlbGVtZW50U2l6ZTtcblxuICAgICAgICAgICAgY29uc3QgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICAoY29tYmluZWRXaWR0aCA8PSBsYXlvdXRXaWR0aCB8fFxuICAgICAgICAgICAgICAgICAgICAoaXRlbSA9PT0gdGhpcy5jb25maWcudmlzaWJsZUl0ZW1zW3RoaXMuY29uZmlnLnZpc2libGVJdGVtcy5sZW5ndGggLSAxXSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZWRXaWR0aCA8PSBsYXlvdXRXaWR0aCArIHNob3dNb3JlQ29udGFpbmVyV2lkdGgpKSAmJlxuICAgICAgICAgICAgICAgIGZpdHRpbmdFbG1Db3VudCA8IG1heFZpc2libGVJdGVtcztcblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgICAgIGZpdHRpbmdFbG1zV2lkdGggKz0gZWxlbWVudFNpemU7XG4gICAgICAgICAgICAgICAgZml0dGluZ0VsbUNvdW50Kys7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpdGVtUmVmLm92ZXJmbG93SXRlbS5mb3JjZVZpc2liaWxpdHkpIHtcbiAgICAgICAgICAgICAgICBzaG91bGRIaWRlSXRlbXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGl0ZW0uc29mdEhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGl0ZW0uY29udGFpbmVyUmVmLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgaXRlbVJlZi5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZXZlcnNlIG9yaWdpbmFsIG9yZGVyIGJhY2suXG4gICAgICAgIGFsbEl0ZW1zID0gdGhpcy5jb25maWcuZGlyZWN0aW9uID09PSAncmlnaHQnID8gYWxsSXRlbXMgOiBhbGxJdGVtcy5yZXZlcnNlKCk7XG5cbiAgICAgICAgYWxsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5zb2Z0SGlkZGVuID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCBoaWRkZW5JdGVtcyA9IGFsbEl0ZW1zLmZpbHRlcigoaSkgPT4gaS5oaWRkZW4pO1xuICAgICAgICBoaWRkZW5JdGVtcyA9IHRoaXMuY29uZmlnLnJldmVyc2VIaWRkZW5JdGVtcyA/IGhpZGRlbkl0ZW1zLnJldmVyc2UoKSA6IGhpZGRlbkl0ZW1zO1xuICAgICAgICBjb25zdCB2aXNpYmxlSXRlbXMgPSBhbGxJdGVtcy5maWx0ZXIoKGkpID0+ICFpLmhpZGRlbik7XG5cbiAgICAgICAgdmlzaWJsZUl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpdGVtLmluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICBpdGVtLmZpcnN0ID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpdGVtLmxhc3QgPSBpbmRleCA9PT0gdmlzaWJsZUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2hpZGRlbkl0ZW1zID0gaGlkZGVuSXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaXRlbS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICAgICAgaXRlbS5sYXN0ID0gaW5kZXggPT09IGhpZGRlbkl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBpdGVtLmluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQuc2hvd01vcmUgPSB0aGlzLl9oaWRkZW5JdGVtcy5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLnJlc3VsdC5oaWRkZW5JdGVtcyA9IHRoaXMuX2hpZGRlbkl0ZW1zO1xuICAgICAgICB0aGlzLl9lbWl0UmVzdWx0KCk7XG4gICAgICAgIHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XG5cbiAgICAgICAgdGhpcy5fbGlzdGVuVG9JdGVtUmVzaXplID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEZvcmNlZEl0ZW1zSW5kZXhlcygpOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbGxJdGVtc1xuICAgICAgICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IChpdGVtLm92ZXJmbG93SXRlbS5mb3JjZVZpc2liaWxpdHkgPyBpbmRleCA6IC0xKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGkpID0+IGkgPiAtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFJldHVybnMgY29tYmluZWQgd2lkdGggb2YgdGhlIGVsZW1lbnQgaW5jbHVkaW5nIG1hcmdpbnMuXG4gICAgICogQHBhcmFtIGVsZW1lbnQgRWxlbWVudCB0byBjYWxjdWxhdGUgd2lkdGggb2YuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0RWxlbWVudFdpZHRoKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgY29uc3QgZWxlbWVudFNpemUgPSBlbGVtZW50V2lkdGggKyBwYXJzZUZsb2F0KGVsZW1lbnRTdHlsZS5tYXJnaW5MZWZ0KSArIHBhcnNlRmxvYXQoZWxlbWVudFN0eWxlLm1hcmdpblJpZ2h0KTtcblxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKGVsZW1lbnRTaXplKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2VtaXRSZXN1bHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc3VsdCQubmV4dCh0aGlzLnJlc3VsdCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1NpemVDaGFuZ2VzKC4uLmVsZW1lbnRzOiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgICAgIHJlc2l6ZU9ic2VydmFibGUoZWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX2xpc3RlblRvSXRlbVJlc2l6ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDMwKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maXRWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_FOCUSABLE_ITEM = new InjectionToken('FdOverflowLayoutFocusableItem');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvb3ZlcmZsb3ctbGF5b3V0L3Rva2Vucy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUN4RCwrQkFBK0IsQ0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWZvY3VzYWJsZS1pdGVtLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBGRF9PVkVSRkxPV19GT0NVU0FCTEVfSVRFTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0+KFxuICAgICdGZE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbSdcbik7XG4iXX0=","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, NgZone, Optional, Output, QueryList, ViewChild, ViewChildren, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { PopoverBodyDirective, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subject, Subscription, debounceTime, filter, first, fromEvent, startWith } from 'rxjs';\nimport { OverflowItemContainerRefDirective } from './directives/overflow-item-container-ref.directive';\nimport { OverflowLayoutItemContainerDirective } from './directives/overflow-layout-item-container.directive';\nimport { OverflowLayoutPopoverContentDirective } from './directives/overflow-layout-popover-content.directive';\nimport { OverflowLayoutService } from './overflow-layout.service';\nimport { FD_OVERFLOW_CONTAINER } from './tokens/overflow-container.token';\nimport { FD_OVERFLOW_EXPAND } from './tokens/overflow-expand.token';\nimport { FD_OVERFLOW_FOCUSABLE_ITEM } from './tokens/overflow-focusable-item.token';\nimport { FD_OVERFLOW_ITEM_REF } from './tokens/overflow-item-ref.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./overflow-layout.service\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nexport class OverflowLayoutComponent {\n /**\n * Maximum amount of visible items.\n */\n set maxVisibleItems(value) {\n if (value === this._maxVisibleItems) {\n return;\n }\n this._maxVisibleItems = value;\n this.triggerRecalculation();\n }\n get maxVisibleItems() {\n return this._maxVisibleItems;\n }\n /** @hidden */\n constructor(_elementRef, _ngZone, _cdr, _overflowLayoutService, _rtl) {\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n this._cdr = _cdr;\n this._overflowLayoutService = _overflowLayoutService;\n this._rtl = _rtl;\n /**\n * Keyboard event to listen for keyboard navigation through items.\n */\n this.navigationTrigger = 'keyup';\n /** Direction of the fitting items calculation. */\n this.showMorePosition = 'right';\n /** Whether the show more button should be rendered */\n this.renderShowMoreButton = true;\n /** Whether to render hidden items in reverse order. */\n this.reverseHiddenItems = false;\n /** Whether to enable keyboard navigation. */\n this.enableKeyboardNavigation = true;\n /**\n * Event, triggered when amount of visible items has been changed.\n */\n this.visibleItemsCount = new EventEmitter();\n /**\n * Event, triggered when amount of hidden items has been changed.\n */\n this.hiddenItemsCount = new EventEmitter();\n /**\n * Event, triggered when hidden items have been changed.\n */\n this.hiddenItemsChange = new EventEmitter();\n /** @hidden */\n this._initialClass = 'fd-overflow-layout';\n /** @hidden */\n this._allItems = [];\n /** @hidden */\n this._hiddenItems = [];\n /** @hidden */\n this._showMore = false;\n /** @hidden */\n this._subscription = new Subscription();\n /** @hidden */\n this._fillTrigger$ = new Subject();\n /** @hidden */\n this._maxVisibleItems = Infinity;\n /** @hidden */\n this._canListenToResize = false;\n /** @hidden */\n this._dir = 'ltr';\n /** Overflow Layout more button text */\n this.moreItemsButtonText = (count) => `${count} more`;\n this._subscription.add(this._fillTrigger$.pipe(debounceTime(30)).subscribe(() => {\n this._overflowLayoutService.setConfig(this._config);\n this._overflowLayoutService.fitVisibleItems();\n }));\n }\n /** @hidden */\n get _config() {\n return {\n visibleItems: this._visibleItems.toArray(),\n items: this._items.toArray(),\n focusableItems: this._focusableOverflowItems.toArray(),\n itemsWrapper: this._itemsWrapper.nativeElement,\n showMoreContainer: this._showMoreContainer?.nativeElement,\n layoutContainerElement: this._layoutContainer.nativeElement,\n maxVisibleItems: this.maxVisibleItems,\n direction: this.showMorePosition,\n enableKeyboardNavigation: this.enableKeyboardNavigation,\n reverseHiddenItems: this.reverseHiddenItems\n };\n }\n /** @hidden */\n ngOnInit() {\n this._setupKeyboardListener();\n }\n /** @hidden */\n ngAfterViewInit() {\n this._subscription.add(this._overflowLayoutService.detectChanges.subscribe(() => {\n this._cdr.detectChanges();\n }));\n this._subscription.add(this._overflowLayoutService.onResult.subscribe((result) => {\n this._hiddenItems = result.hiddenItems;\n this._showMore = result.showMore;\n this.hiddenItemsChange.emit(result.hiddenItems);\n this.hiddenItemsCount.emit(result.hiddenItems.length);\n this.visibleItemsCount.emit(this._allItems.filter((i) => !i.hidden).length);\n this._cdr.detectChanges();\n }));\n this._subscription.add(this._items.changes.pipe(startWith(() => this._items)).subscribe(() => {\n this._allItems = this._items.toArray();\n this._cdr.detectChanges();\n this._overflowLayoutService.setConfig(this._config);\n this._overflowLayoutService.fitVisibleItems();\n }));\n this._setFocusKeyManager();\n this._subscribeToRtl();\n // There might be cases when the elements are not rendered yet, but the component is initialized already.\n // It may happen when it's inside the components that are wrapping ng-content with ng-containers and so on.\n // IntersectionObserver is a good solution for this case, but it's hardly manageable when testing.\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._overflowLayoutService.startListening(this._config);\n this._canListenToResize = true;\n });\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscription.unsubscribe();\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = null;\n }\n /**\n * Triggers layout recalculation of the items.\n */\n triggerRecalculation() {\n if (!this._canListenToResize) {\n return;\n }\n this._fillTrigger$.next();\n }\n /**\n * Sets current focused element.\n * @param element Element that needs to be focused.\n */\n setFocusedElement(element) {\n const index = this._focusableOverflowItems.toArray().findIndex((item) => item === element);\n if (index !== -1) {\n this._keyboardEventsManager?.setActiveItem(index);\n }\n }\n /**\n * Registers popover content directive for main component.\n * @param content {OverflowPopoverContent} directive\n */\n registerPopoverContent(content) {\n this._overflowPopoverContent = content;\n }\n /** @hidden */\n _onPopoverStateChange(opened) {\n if (opened) {\n this._overflowPopoverContent?.focusFirstTabbableElement();\n }\n }\n /** @hidden */\n _setupKeyboardListener() {\n this._subscription.add(fromEvent(this._elementRef.nativeElement, this.navigationTrigger)\n .pipe(filter(() => this.enableKeyboardNavigation))\n .subscribe((event) => {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this._focusableOverflowItems\n .toArray()\n .findIndex((item) => item.focusable && item.elementRef.nativeElement === event.target);\n if (index !== -1) {\n this._keyboardEventsManager?.setActiveItem(index);\n }\n }\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n // passing the event to key manager so, we get a change fired\n this._keyboardEventsManager?.onKeydown(event);\n }\n }));\n }\n /** @hidden */\n _setFocusKeyManager() {\n if (!this.enableKeyboardNavigation) {\n return;\n }\n this._dir = this._rtl?.rtl.value ? 'rtl' : 'ltr';\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this._focusableOverflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir)\n .withVerticalOrientation()\n .skipPredicate((item) => !item.navigable || item.hidden);\n }\n /** @hidden Rtl change subscription */\n _subscribeToRtl() {\n if (!this._rtl || !this.enableKeyboardNavigation) {\n return;\n }\n this._subscription.add(this._rtl.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager = this._keyboardEventsManager?.withHorizontalOrientation(this._dir);\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.OverflowLayoutService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: OverflowLayoutComponent, isStandalone: true, selector: \"fd-overflow-layout\", inputs: { maxVisibleItems: \"maxVisibleItems\", navigationTrigger: \"navigationTrigger\", showMorePosition: \"showMorePosition\", renderShowMoreButton: [\"renderShowMoreButton\", \"renderShowMoreButton\", booleanAttribute], reverseHiddenItems: \"reverseHiddenItems\", enableKeyboardNavigation: \"enableKeyboardNavigation\", ariaRole: \"ariaRole\", moreItemsButtonText: \"moreItemsButtonText\" }, outputs: { visibleItemsCount: \"visibleItemsCount\", hiddenItemsCount: \"hiddenItemsCount\", hiddenItemsChange: \"hiddenItemsChange\" }, host: { properties: { \"class\": \"this._initialClass\" } }, providers: [\n {\n provide: FD_OVERFLOW_CONTAINER,\n useExisting: OverflowLayoutComponent\n },\n OverflowLayoutService\n ], queries: [{ propertyName: \"_moreButton\", first: true, predicate: FD_OVERFLOW_EXPAND, descendants: true }, { propertyName: \"_items\", predicate: FD_OVERFLOW_ITEM_REF, descendants: true }, { propertyName: \"_focusableOverflowItems\", predicate: FD_OVERFLOW_FOCUSABLE_ITEM, descendants: true }], viewQueries: [{ propertyName: \"_itemsWrapper\", first: true, predicate: [\"itemsWrapper\"], descendants: true }, { propertyName: \"_layoutContainer\", first: true, predicate: [\"layoutContainer\"], descendants: true }, { propertyName: \"_showMoreContainer\", first: true, predicate: [\"showMoreContainer\"], descendants: true }, { propertyName: \"_visibleItems\", predicate: OverflowLayoutItemContainerDirective, descendants: true }], ngImport: i0, template: \"@if (renderShowMoreButton && showMorePosition === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<div class=\\\"fd-overflow-layout__items-container\\\" #layoutContainer>\\n <div class=\\\"fd-overflow-layout__items-wrapper\\\">\\n <div class=\\\"fd-overflow-layout__items\\\" #itemsWrapper [attr.role]=\\\"ariaRole\\\">\\n @for (item of _allItems; track item.templateRef) {\\n <div\\n fdOverflowLayoutItemContainer\\n [first]=\\\"item.first\\\"\\n [last]=\\\"item.last\\\"\\n [softHidden]=\\\"item.softHidden\\\"\\n [attr.role]=\\\"ariaRole === 'list' ? 'listitem' : null\\\"\\n >\\n <ng-container *fdOverflowItemContainerRef>\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n </ng-container>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n@if (renderShowMoreButton && showMorePosition === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<ng-template #showMore>\\n <div class=\\\"fd-overflow-layout__more\\\" [style.display]=\\\"_showMore ? 'block' : 'none'\\\" #showMoreContainer>\\n <ng-template #defaultShowMore>\\n <fd-popover\\n (isOpenChange)=\\\"_onPopoverStateChange($event)\\\"\\n placement=\\\"bottom\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [maxWidth]=\\\"312\\\"\\n >\\n <fd-popover-control>\\n <button fd-button [fdMenu]=\\\"true\\\" fdType=\\\"transparent\\\">\\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate: { count: _hiddenItems.length } }}\\n </button>\\n </fd-popover-control>\\n <ng-template fdPopoverBody>\\n <div fdOverflowLayoutPopoverContent [items]=\\\"_hiddenItems\\\">\\n @for (item of _hiddenItems; track item) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n }\\n </div>\\n </ng-template>\\n </fd-popover>\\n </ng-template>\\n <ng-template\\n [ngTemplateOutlet]=\\\"_moreButton?.templateRef || defaultShowMore\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: _hiddenItems }\\\"\\n ></ng-template>\\n </div>\\n</ng-template>\\n\", styles: [\".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout{display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{position:relative}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__popover-container{display:block;white-space:normal}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: OverflowLayoutItemContainerDirective, selector: \"[fdOverflowLayoutItemContainer]\", inputs: [\"last\", \"first\", \"softHidden\"] }, { kind: \"directive\", type: OverflowItemContainerRefDirective, selector: \"[fdOverflowItemContainerRef]\" }, { kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: ButtonComponent, selector: \"button[fd-button], a[fd-button], span[fd-button]\", inputs: [\"class\", \"id\"], exportAs: [\"fd-button\"] }, { kind: \"directive\", type: PopoverBodyDirective, selector: \"[fdPopoverBody]\" }, { kind: \"directive\", type: OverflowLayoutPopoverContentDirective, selector: \"[fdOverflowLayoutPopoverContent]\", inputs: [\"items\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-overflow-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: FD_OVERFLOW_CONTAINER,\n useExisting: OverflowLayoutComponent\n },\n OverflowLayoutService\n ], imports: [\n NgTemplateOutlet,\n OverflowLayoutItemContainerDirective,\n OverflowItemContainerRefDirective,\n PopoverComponent,\n PopoverControlComponent,\n ButtonComponent,\n PopoverBodyDirective,\n OverflowLayoutPopoverContentDirective,\n FdTranslatePipe\n ], template: \"@if (renderShowMoreButton && showMorePosition === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<div class=\\\"fd-overflow-layout__items-container\\\" #layoutContainer>\\n <div class=\\\"fd-overflow-layout__items-wrapper\\\">\\n <div class=\\\"fd-overflow-layout__items\\\" #itemsWrapper [attr.role]=\\\"ariaRole\\\">\\n @for (item of _allItems; track item.templateRef) {\\n <div\\n fdOverflowLayoutItemContainer\\n [first]=\\\"item.first\\\"\\n [last]=\\\"item.last\\\"\\n [softHidden]=\\\"item.softHidden\\\"\\n [attr.role]=\\\"ariaRole === 'list' ? 'listitem' : null\\\"\\n >\\n <ng-container *fdOverflowItemContainerRef>\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n </ng-container>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n@if (renderShowMoreButton && showMorePosition === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"showMore\\\"></ng-template>\\n}\\n<ng-template #showMore>\\n <div class=\\\"fd-overflow-layout__more\\\" [style.display]=\\\"_showMore ? 'block' : 'none'\\\" #showMoreContainer>\\n <ng-template #defaultShowMore>\\n <fd-popover\\n (isOpenChange)=\\\"_onPopoverStateChange($event)\\\"\\n placement=\\\"bottom\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [maxWidth]=\\\"312\\\"\\n >\\n <fd-popover-control>\\n <button fd-button [fdMenu]=\\\"true\\\" fdType=\\\"transparent\\\">\\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate: { count: _hiddenItems.length } }}\\n </button>\\n </fd-popover-control>\\n <ng-template fdPopoverBody>\\n <div fdOverflowLayoutPopoverContent [items]=\\\"_hiddenItems\\\">\\n @for (item of _hiddenItems; track item) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.templateRef\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item.hidden,\\n index: item.index,\\n first: item.first,\\n last: item.last,\\n globalIndex: item.globalIndex,\\n injector: item.injector\\n }\\\"\\n ></ng-template>\\n }\\n </div>\\n </ng-template>\\n </fd-popover>\\n </ng-template>\\n <ng-template\\n [ngTemplateOutlet]=\\\"_moreButton?.templateRef || defaultShowMore\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: _hiddenItems }\\\"\\n ></ng-template>\\n </div>\\n</ng-template>\\n\", styles: [\".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout{display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{position:relative}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__popover-container{display:block;white-space:normal}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.OverflowLayoutService }, { type: i2.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { maxVisibleItems: [{\n type: Input\n }], navigationTrigger: [{\n type: Input\n }], showMorePosition: [{\n type: Input\n }], renderShowMoreButton: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], reverseHiddenItems: [{\n type: Input\n }], enableKeyboardNavigation: [{\n type: Input\n }], ariaRole: [{\n type: Input\n }], visibleItemsCount: [{\n type: Output\n }], hiddenItemsCount: [{\n type: Output\n }], hiddenItemsChange: [{\n type: Output\n }], _items: [{\n type: ContentChildren,\n args: [FD_OVERFLOW_ITEM_REF, { descendants: true }]\n }], _moreButton: [{\n type: ContentChild,\n args: [FD_OVERFLOW_EXPAND]\n }], _focusableOverflowItems: [{\n type: ContentChildren,\n args: [FD_OVERFLOW_FOCUSABLE_ITEM, { descendants: true }]\n }], _visibleItems: [{\n type: ViewChildren,\n args: [OverflowLayoutItemContainerDirective]\n }], _itemsWrapper: [{\n type: ViewChild,\n args: ['itemsWrapper']\n }], _layoutContainer: [{\n type: ViewChild,\n args: ['layoutContainer']\n }], _showMoreContainer: [{\n type: ViewChild,\n args: ['showMoreContainer']\n }], _initialClass: [{\n type: HostBinding,\n args: ['class']\n }], moreItemsButtonText: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvb3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvb3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBR04sUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUss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QU9QLGdCQUFnQjtzQkFEZixNQUFNO2dCQU9QLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFRUCxNQUFNO3NCQURMLGVBQWU7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVE1RCxXQUFXO3NCQURWLFlBQVk7dUJBQUMsa0JBQWtCO2dCQVFoQyx1QkFBdUI7c0JBRHRCLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVFsRSxhQUFhO3NCQURaLFlBQVk7dUJBQUMsb0NBQW9DO2dCQVFsRCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsY0FBYztnQkFRekIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVE1QixrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUtyQixhQUFhO3NCQURyQixXQUFXO3VCQUFDLE9BQU87Z0JBbURwQixtQkFBbUI7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBET1dOX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVEFCLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVV0aWwsIE51bGxhYmxlLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBQb3BvdmVyQm9keURpcmVjdGl2ZSwgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmlyc3QsIGZyb21FdmVudCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctaXRlbS1jb250YWluZXItcmVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWxheW91dC1wb3BvdmVyLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJmbG93Q29udGFpbmVyIH0gZnJvbSAnLi9pbnRlcmZhY2VzL292ZXJmbG93LWNvbnRhaW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dFeHBhbmQgfSBmcm9tICcuL2ludGVyZmFjZXMvb3ZlcmZsb3ctZXhwYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMvb3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbVJlZiB9IGZyb20gJy4vaW50ZXJmYWNlcy9vdmVyZmxvdy1pdGVtLXJlZi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dQb3BvdmVyQ29udGVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9vdmVyZmxvdy1wb3BvdmVyLWNvbnRlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0Q29uZmlnLCBPdmVyZmxvd0xheW91dFNlcnZpY2UgfSBmcm9tICcuL292ZXJmbG93LWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEZEX09WRVJGTE9XX0NPTlRBSU5FUiB9IGZyb20gJy4vdG9rZW5zL292ZXJmbG93LWNvbnRhaW5lci50b2tlbic7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19FWFBBTkQgfSBmcm9tICcuL3Rva2Vucy9vdmVyZmxvdy1leHBhbmQudG9rZW4nO1xuaW1wb3J0IHsgRkRfT1ZFUkZMT1dfRk9DVVNBQkxFX0lURU0gfSBmcm9tICcuL3Rva2Vucy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19JVEVNX1JFRiB9IGZyb20gJy4vdG9rZW5zL292ZXJmbG93LWl0ZW0tcmVmLnRva2VuJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1vdmVyZmxvdy1sYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vdmVyZmxvdy1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9vdmVyZmxvdy1sYXlvdXQuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX09WRVJGTE9XX0NPTlRBSU5FUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0xheW91dENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICBPdmVyZmxvd0xheW91dFNlcnZpY2VcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5RGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE92ZXJmbG93Q29udGFpbmVyIHtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGFtb3VudCBvZiB2aXNpYmxlIGl0ZW1zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1heFZpc2libGVJdGVtcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fbWF4VmlzaWJsZUl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbWF4VmlzaWJsZUl0ZW1zID0gdmFsdWU7XG4gICAgICAgIHRoaXMudHJpZ2dlclJlY2FsY3VsYXRpb24oKTtcbiAgICB9XG5cbiAgICBnZXQgbWF4VmlzaWJsZUl0ZW1zKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhWaXNpYmxlSXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogS2V5Ym9hcmQgZXZlbnQgdG8gbGlzdGVuIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uIHRocm91Z2ggaXRlbXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0aW9uVHJpZ2dlcjogJ2tleXVwJyB8ICdrZXlkb3duJyA9ICdrZXl1cCc7XG5cbiAgICAvKiogRGlyZWN0aW9uIG9mIHRoZSBmaXR0aW5nIGl0ZW1zIGNhbGN1bGF0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd01vcmVQb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgc2hvdyBtb3JlIGJ1dHRvbiBzaG91bGQgYmUgcmVuZGVyZWQgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICByZW5kZXJTaG93TW9yZUJ1dHRvbiA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0byByZW5kZXIgaGlkZGVuIGl0ZW1zIGluIHJldmVyc2Ugb3JkZXIuICovXG4gICAgQElucHV0KClcbiAgICByZXZlcnNlSGlkZGVuSXRlbXMgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGVuYWJsZSBrZXlib2FyZCBuYXZpZ2F0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uID0gdHJ1ZTtcblxuICAgIC8qKiBBcmlhIHJvbGUgb2YgdGhlIG92ZXJmbG93IGxheW91dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFSb2xlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCwgdHJpZ2dlcmVkIHdoZW4gYW1vdW50IG9mIHZpc2libGUgaXRlbXMgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICB2aXNpYmxlSXRlbXNDb3VudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQsIHRyaWdnZXJlZCB3aGVuIGFtb3VudCBvZiBoaWRkZW4gaXRlbXMgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBoaWRkZW5JdGVtc0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCwgdHJpZ2dlcmVkIHdoZW4gaGlkZGVuIGl0ZW1zIGhhdmUgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGhpZGRlbkl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPdmVyZmxvd0l0ZW1SZWZbXT4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0IG9mIGl0ZW1zIHRvIGRpc3BsYXkuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGRF9PVkVSRkxPV19JVEVNX1JFRiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIF9pdGVtczogUXVlcnlMaXN0PE92ZXJmbG93SXRlbVJlZj47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGVtcGxhdGUgZm9yIHRoZSBjdXN0b20gXCJNb3JlXCIgYnV0dG9uLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRkRfT1ZFUkZMT1dfRVhQQU5EKVxuICAgIF9tb3JlQnV0dG9uOiBOdWxsYWJsZTxPdmVyZmxvd0V4cGFuZD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTGlzdCBvZiBpdGVtcyB0aGF0IGNhbiBiZSBmb2N1c2VkXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGRF9PVkVSRkxPV19GT0NVU0FCTEVfSVRFTSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIF9mb2N1c2FibGVPdmVyZmxvd0l0ZW1zOiBRdWVyeUxpc3Q8T3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0IG9mIHJlbmRlcmVkIGl0ZW1zLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyRGlyZWN0aXZlKVxuICAgIF92aXNpYmxlSXRlbXM6IFF1ZXJ5TGlzdDxPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEl0ZW1zIHdyYXBwZXIgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW1zV3JhcHBlcicpXG4gICAgX2l0ZW1zV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTGF5b3V0IGNvbnRhaW5lciBlbGVtZW50LlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2xheW91dENvbnRhaW5lcicpXG4gICAgX2xheW91dENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogXCJNb3JlXCIgYnV0dG9uIGNvbnRhaW5lciBlbGVtZW50LlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3Nob3dNb3JlQ29udGFpbmVyJylcbiAgICBfc2hvd01vcmVDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICByZWFkb25seSBfaW5pdGlhbENsYXNzID0gJ2ZkLW92ZXJmbG93LWxheW91dCc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hbGxJdGVtczogT3ZlcmZsb3dJdGVtUmVmW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hpZGRlbkl0ZW1zOiBPdmVyZmxvd0l0ZW1SZWZbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2hvd01vcmUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vdmVyZmxvd1BvcG92ZXJDb250ZW50OiBPdmVyZmxvd1BvcG92ZXJDb250ZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9maWxsVHJpZ2dlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tYXhWaXNpYmxlSXRlbXMgPSBJbmZpbml0eTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FuTGlzdGVuVG9SZXNpemUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlyOiAncnRsJyB8ICdsdHInID0gJ2x0cic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2tleWJvYXJkRXZlbnRzTWFuYWdlcjogTnVsbGFibGU8Rm9jdXNLZXlNYW5hZ2VyPE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbT4+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX25nWm9uZTogTmdab25lLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlOiBPdmVyZmxvd0xheW91dFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3J0bDogUnRsU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fZmlsbFRyaWdnZXIkLnBpcGUoZGVib3VuY2VUaW1lKDMwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vdmVyZmxvd0xheW91dFNlcnZpY2Uuc2V0Q29uZmlnKHRoaXMuX2NvbmZpZyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLmZpdFZpc2libGVJdGVtcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogT3ZlcmZsb3cgTGF5b3V0IG1vcmUgYnV0dG9uIHRleHQgKi9cbiAgICBASW5wdXQoKVxuICAgIG1vcmVJdGVtc0J1dHRvblRleHQ6IChoaWRkZW5JdGVtc0NvdW50OiBudW1iZXIpID0+IHN0cmluZyA9IChjb3VudCkgPT4gYCR7Y291bnR9IG1vcmVgO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfY29uZmlnKCk6IE92ZXJmbG93TGF5b3V0Q29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZpc2libGVJdGVtczogdGhpcy5fdmlzaWJsZUl0ZW1zLnRvQXJyYXkoKSxcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLl9pdGVtcy50b0FycmF5KCksXG4gICAgICAgICAgICBmb2N1c2FibGVJdGVtczogdGhpcy5fZm9jdXNhYmxlT3ZlcmZsb3dJdGVtcy50b0FycmF5KCksXG4gICAgICAgICAgICBpdGVtc1dyYXBwZXI6IHRoaXMuX2l0ZW1zV3JhcHBlci5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgc2hvd01vcmVDb250YWluZXI6IHRoaXMuX3Nob3dNb3JlQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgbGF5b3V0Q29udGFpbmVyRWxlbWVudDogdGhpcy5fbGF5b3V0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBtYXhWaXNpYmxlSXRlbXM6IHRoaXMubWF4VmlzaWJsZUl0ZW1zLFxuICAgICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnNob3dNb3JlUG9zaXRpb24sXG4gICAgICAgICAgICBlbmFibGVLZXlib2FyZE5hdmlnYXRpb246IHRoaXMuZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uLFxuICAgICAgICAgICAgcmV2ZXJzZUhpZGRlbkl0ZW1zOiB0aGlzLnJldmVyc2VIaWRkZW5JdGVtc1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldHVwS2V5Ym9hcmRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLmRldGVjdENoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLm9uUmVzdWx0LnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faGlkZGVuSXRlbXMgPSByZXN1bHQuaGlkZGVuSXRlbXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd01vcmUgPSByZXN1bHQuc2hvd01vcmU7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zQ2hhbmdlLmVtaXQocmVzdWx0LmhpZGRlbkl0ZW1zKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zQ291bnQuZW1pdChyZXN1bHQuaGlkZGVuSXRlbXMubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVJdGVtc0NvdW50LmVtaXQodGhpcy5fYWxsSXRlbXMuZmlsdGVyKChpKSA9PiAhaS5oaWRkZW4pLmxlbmd0aCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5faXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgoKSA9PiB0aGlzLl9pdGVtcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWxsSXRlbXMgPSB0aGlzLl9pdGVtcy50b0FycmF5KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXRTZXJ2aWNlLnNldENvbmZpZyh0aGlzLl9jb25maWcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX292ZXJmbG93TGF5b3V0U2VydmljZS5maXRWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fc2V0Rm9jdXNLZXlNYW5hZ2VyKCk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZVRvUnRsKCk7XG5cbiAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgY2FzZXMgd2hlbiB0aGUgZWxlbWVudHMgYXJlIG5vdCByZW5kZXJlZCB5ZXQsIGJ1dCB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkIGFscmVhZHkuXG4gICAgICAgIC8vIEl0IG1heSBoYXBwZW4gd2hlbiBpdCdzIGluc2lkZSB0aGUgY29tcG9uZW50cyB0aGF0IGFyZSB3cmFwcGluZyBuZy1jb250ZW50IHdpdGggbmctY29udGFpbmVycyBhbmQgc28gb24uXG4gICAgICAgIC8vIEludGVyc2VjdGlvbk9ic2VydmVyIGlzIGEgZ29vZCBzb2x1dGlvbiBmb3IgdGhpcyBjYXNlLCBidXQgaXQncyBoYXJkbHkgbWFuYWdlYWJsZSB3aGVuIHRlc3RpbmcuXG4gICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9vdmVyZmxvd0xheW91dFNlcnZpY2Uuc3RhcnRMaXN0ZW5pbmcodGhpcy5fY29uZmlnKTtcblxuICAgICAgICAgICAgdGhpcy5fY2FuTGlzdGVuVG9SZXNpemUgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcnMgbGF5b3V0IHJlY2FsY3VsYXRpb24gb2YgdGhlIGl0ZW1zLlxuICAgICAqL1xuICAgIHRyaWdnZXJSZWNhbGN1bGF0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2Nhbkxpc3RlblRvUmVzaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9maWxsVHJpZ2dlciQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgY3VycmVudCBmb2N1c2VkIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIGVsZW1lbnQgRWxlbWVudCB0aGF0IG5lZWRzIHRvIGJlIGZvY3VzZWQuXG4gICAgICovXG4gICAgc2V0Rm9jdXNlZEVsZW1lbnQoZWxlbWVudDogT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fZm9jdXNhYmxlT3ZlcmZsb3dJdGVtcy50b0FycmF5KCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtID09PSBlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIHBvcG92ZXIgY29udGVudCBkaXJlY3RpdmUgZm9yIG1haW4gY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSBjb250ZW50IHtPdmVyZmxvd1BvcG92ZXJDb250ZW50fSBkaXJlY3RpdmVcbiAgICAgKi9cbiAgICByZWdpc3RlclBvcG92ZXJDb250ZW50KGNvbnRlbnQ6IE92ZXJmbG93UG9wb3ZlckNvbnRlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dQb3BvdmVyQ29udGVudCA9IGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25Qb3BvdmVyU3RhdGVDaGFuZ2Uob3BlbmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChvcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX292ZXJmbG93UG9wb3ZlckNvbnRlbnQ/LmZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0dXBLZXlib2FyZExpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5uYXZpZ2F0aW9uVHJpZ2dlcilcbiAgICAgICAgICAgICAgICAucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy5lbmFibGVLZXlib2FyZE5hdmlnYXRpb24pKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgVEFCKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9mb2N1c2FibGVPdmVyZmxvd0l0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uZm9jdXNhYmxlICYmIGl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8uc2V0QWN0aXZlSXRlbShpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtET1dOX0FSUk9XLCBVUF9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2luZyB0aGUgZXZlbnQgdG8ga2V5IG1hbmFnZXIgc28sIHdlIGdldCBhIGNoYW5nZSBmaXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEZvY3VzS2V5TWFuYWdlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVuYWJsZUtleWJvYXJkTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RpciA9IHRoaXMuX3J0bD8ucnRsLnZhbHVlID8gJ3J0bCcgOiAnbHRyJztcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5fZm9jdXNhYmxlT3ZlcmZsb3dJdGVtcylcbiAgICAgICAgICAgIC53aXRoV3JhcCgpXG4gICAgICAgICAgICAud2l0aEhvcml6b250YWxPcmllbnRhdGlvbih0aGlzLl9kaXIpXG4gICAgICAgICAgICAud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oKVxuICAgICAgICAgICAgLnNraXBQcmVkaWNhdGUoKGl0ZW0pID0+ICFpdGVtLm5hdmlnYWJsZSB8fCBpdGVtLmhpZGRlbik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUnRsIGNoYW5nZSBzdWJzY3JpcHRpb24gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpYmVUb1J0bCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9ydGwgfHwgIXRoaXMuZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5fcnRsLnJ0bC5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGlyID0gaXNSdGwgPyAncnRsJyA6ICdsdHInO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyID0gdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2Rpcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIkBpZiAocmVuZGVyU2hvd01vcmVCdXR0b24gJiYgc2hvd01vcmVQb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNob3dNb3JlXCI+PC9uZy10ZW1wbGF0ZT5cbn1cbjxkaXYgY2xhc3M9XCJmZC1vdmVyZmxvdy1sYXlvdXRfX2l0ZW1zLWNvbnRhaW5lclwiICNsYXlvdXRDb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZkLW92ZXJmbG93LWxheW91dF9faXRlbXMtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtb3ZlcmZsb3ctbGF5b3V0X19pdGVtc1wiICNpdGVtc1dyYXBwZXIgW2F0dHIucm9sZV09XCJhcmlhUm9sZVwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBfYWxsSXRlbXM7IHRyYWNrIGl0ZW0udGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dMYXlvdXRJdGVtQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtmaXJzdF09XCJpdGVtLmZpcnN0XCJcbiAgICAgICAgICAgICAgICAgICAgW2xhc3RdPVwiaXRlbS5sYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgW3NvZnRIaWRkZW5dPVwiaXRlbS5zb2Z0SGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJhcmlhUm9sZSA9PT0gJ2xpc3QnID8gJ2xpc3RpdGVtJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZmRPdmVyZmxvd0l0ZW1Db250YWluZXJSZWY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaXRlbS5pbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3Q6IGl0ZW0uZmlyc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3Q6IGl0ZW0ubGFzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsSW5kZXg6IGl0ZW0uZ2xvYmFsSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluamVjdG9yOiBpdGVtLmluamVjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5AaWYgKHJlbmRlclNob3dNb3JlQnV0dG9uICYmIHNob3dNb3JlUG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2hvd01vcmVcIj48L25nLXRlbXBsYXRlPlxufVxuPG5nLXRlbXBsYXRlICNzaG93TW9yZT5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtb3ZlcmZsb3ctbGF5b3V0X19tb3JlXCIgW3N0eWxlLmRpc3BsYXldPVwiX3Nob3dNb3JlID8gJ2Jsb2NrJyA6ICdub25lJ1wiICNzaG93TW9yZUNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0U2hvd01vcmU+XG4gICAgICAgICAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAgICAgICAgIChpc09wZW5DaGFuZ2UpPVwiX29uUG9wb3ZlclN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbbWF4V2lkdGhdPVwiMzEyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBbZmRNZW51XT1cInRydWVcIiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2NvcmVPdmVyZmxvd0xheW91dC5tb3JlSXRlbXNCdXR0b24nIHwgZmRUcmFuc2xhdGU6IHsgY291bnQ6IF9oaWRkZW5JdGVtcy5sZW5ndGggfSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRQb3BvdmVyQm9keT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZE92ZXJmbG93TGF5b3V0UG9wb3ZlckNvbnRlbnQgW2l0ZW1zXT1cIl9oaWRkZW5JdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBfaGlkZGVuSXRlbXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGl0ZW0uaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdDogaXRlbS5maXJzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3Q6IGl0ZW0ubGFzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbEluZGV4OiBpdGVtLmdsb2JhbEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5qZWN0b3I6IGl0ZW0uaW5qZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiX21vcmVCdXR0b24/LnRlbXBsYXRlUmVmIHx8IGRlZmF1bHRTaG93TW9yZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IF9oaWRkZW5JdGVtcyB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19","import { InjectionToken } from '@angular/core';\nexport const FD_OVERFLOW_ITEM = new InjectionToken('FdOverflowItem');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctaXRlbS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvdG9rZW5zL292ZXJmbG93LWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBZSxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRkRfT1ZFUkZMT1dfSVRFTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPdmVyZmxvd0l0ZW0+KCdGZE92ZXJmbG93SXRlbScpO1xuIl19","import { Directive, ElementRef, HostBinding, HostListener, Inject, Input, Optional } from '@angular/core';\nimport { OverflowLayoutComponent } from '../overflow-layout.component';\nimport { FD_OVERFLOW_FOCUSABLE_ITEM } from '../tokens/overflow-focusable-item.token';\nimport { FD_OVERFLOW_ITEM } from '../tokens/overflow-item.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../overflow-layout.component\";\nexport class OverflowLayoutFocusableItemDirective {\n /** @hidden */\n get _tabindex() {\n return this.focusable ? 0 : -1;\n }\n /** Whether the item is hidden. */\n get hidden() {\n return !!this._overflowItem?.hidden;\n }\n /** @hidden */\n constructor(_overflowContainer, _overflowItem, elementRef) {\n this._overflowContainer = _overflowContainer;\n this._overflowItem = _overflowItem;\n this.elementRef = elementRef;\n /** Whether the item should be focusable. */\n this.focusable = true;\n /** Whether the item should be navigable via keyboard. */\n this.navigable = true;\n }\n /** @hidden */\n _onFocus() {\n this._overflowContainer.setFocusedElement(this);\n }\n /** @hidden */\n ngOnInit() {\n if (this._overflowItem) {\n this._overflowItem.focusableItem = this;\n }\n }\n /** @hidden */\n focus() {\n this.elementRef.nativeElement.focus();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutFocusableItemDirective, deps: [{ token: i1.OverflowLayoutComponent }, { token: FD_OVERFLOW_ITEM, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutFocusableItemDirective, isStandalone: true, selector: \"[fdOverflowLayoutFocusableItem], [fdOverflowLayoutItem][focusable]\", inputs: { focusable: \"focusable\", navigable: \"navigable\" }, host: { listeners: { \"focus\": \"_onFocus()\" }, properties: { \"attr.tabindex\": \"this._tabindex\" } }, providers: [\n {\n provide: FD_OVERFLOW_FOCUSABLE_ITEM,\n useExisting: OverflowLayoutFocusableItemDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutFocusableItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutFocusableItem], [fdOverflowLayoutItem][focusable]',\n providers: [\n {\n provide: FD_OVERFLOW_FOCUSABLE_ITEM,\n useExisting: OverflowLayoutFocusableItemDirective\n }\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.OverflowLayoutComponent }, { type: undefined, decorators: [{\n type: Inject,\n args: [FD_OVERFLOW_ITEM]\n }, {\n type: Optional\n }] }, { type: i0.ElementRef }], propDecorators: { focusable: [{\n type: Input\n }], navigable: [{\n type: Input\n }], _tabindex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }], _onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LWZvY3VzYWJsZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1sYXlvdXQtZm9jdXNhYmxlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVlqRSxNQUFNLE9BQU8sb0NBQW9DO0lBUzdDLGNBQWM7SUFDZCxJQUNjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsSUFBSSxNQUFNO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDZCxZQUNxQixrQkFBMkMsRUFDTCxhQUEyQixFQUNsRSxVQUFtQztRQUZsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXlCO1FBQ0wsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDbEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUF2QnZELDRDQUE0QztRQUU1QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLHlEQUF5RDtRQUV6RCxjQUFTLEdBQUcsSUFBSSxDQUFDO0lBa0JkLENBQUM7SUFFSixjQUFjO0lBRUosUUFBUTtRQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7OEdBM0NRLG9DQUFvQyx5REF1QmpDLGdCQUFnQjtrR0F2Qm5CLG9DQUFvQyxnUkFSbEM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxXQUFXLEVBQUUsb0NBQW9DO2FBQ3BEO1NBQ0o7OzJGQUdRLG9DQUFvQztrQkFWaEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0VBQW9FO29CQUM5RSxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsV0FBVyxzQ0FBc0M7eUJBQ3BEO3FCQUNKO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBd0JRLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFBRyxRQUFRO2tFQXBCdkMsU0FBUztzQkFEUixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLUSxTQUFTO3NCQUR0QixXQUFXO3VCQUFDLGVBQWU7Z0JBbUJsQixRQUFRO3NCQURqQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctZm9jdXNhYmxlLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93SXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9vdmVyZmxvdy1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZEX09WRVJGTE9XX0ZPQ1VTQUJMRV9JVEVNIH0gZnJvbSAnLi4vdG9rZW5zL292ZXJmbG93LWZvY3VzYWJsZS1pdGVtLnRva2VuJztcbmltcG9ydCB7IEZEX09WRVJGTE9XX0lURU0gfSBmcm9tICcuLi90b2tlbnMvb3ZlcmZsb3ctaXRlbS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtXSwgW2ZkT3ZlcmZsb3dMYXlvdXRJdGVtXVtmb2N1c2FibGVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfT1ZFUkZMT1dfRk9DVVNBQkxFX0lURU0sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtRGlyZWN0aXZlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtLCBPbkluaXQge1xuICAgIC8qKiBXaGV0aGVyIHRoZSBpdGVtIHNob3VsZCBiZSBmb2N1c2FibGUuICovXG4gICAgQElucHV0KClcbiAgICBmb2N1c2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gc2hvdWxkIGJlIG5hdmlnYWJsZSB2aWEga2V5Ym9hcmQuICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHByb3RlY3RlZCBnZXQgX3RhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSA/IDAgOiAtMTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBoaWRkZW4uICovXG4gICAgZ2V0IGhpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fb3ZlcmZsb3dJdGVtPy5oaWRkZW47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfb3ZlcmZsb3dDb250YWluZXI6IE92ZXJmbG93TGF5b3V0Q29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KEZEX09WRVJGTE9XX0lURU0pIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX292ZXJmbG93SXRlbTogT3ZlcmZsb3dJdGVtLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBwcm90ZWN0ZWQgX29uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX292ZXJmbG93Q29udGFpbmVyLnNldEZvY3VzZWRFbGVtZW50KHRoaXMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9vdmVyZmxvd0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuX292ZXJmbG93SXRlbS5mb2N1c2FibGVJdGVtID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuIl19","import { Directive, ElementRef, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { OverflowLayoutComponent } from '../overflow-layout.component';\nimport { FD_OVERFLOW_ITEM_REF } from '../tokens/overflow-item-ref.token';\nimport { FD_OVERFLOW_ITEM } from '../tokens/overflow-item.token';\nimport * as i0 from \"@angular/core\";\n/**\n * Directive to mark element as part of for Overflow Layout Component items.\n */\nexport class OverflowLayoutItemDirective {\n constructor() {\n /**\n * Event emitted when `hidden` property has been changed.\n */\n this.hiddenChange = new EventEmitter();\n /** Reference to the element */\n this.elmRef = inject(ElementRef);\n /** @hidden */\n this._overflowItemRef = inject(FD_OVERFLOW_ITEM_REF, {\n optional: true,\n skipSelf: true\n });\n /** @hidden */\n this._forceVisibility = false;\n /** @hidden */\n this._overflowContainer = inject(OverflowLayoutComponent);\n }\n /** Whether to force the visibility of the item. */\n set forceVisibility(value) {\n if (value === this._forceVisibility) {\n return;\n }\n this._forceVisibility = value;\n this._overflowContainer.triggerRecalculation();\n }\n get forceVisibility() {\n return this._forceVisibility;\n }\n /**\n * Whether the item is hidden.\n */\n set hidden(value) {\n this.hiddenChange.emit(value);\n }\n get hidden() {\n return this._overflowItemRef?.hidden === true;\n }\n /** @hidden */\n ngOnInit() {\n this._overflowItemRef?.setElementRef(this.elmRef);\n this._overflowItemRef?.setOverflowItem(this);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: OverflowLayoutItemDirective, isStandalone: true, selector: \"[fdOverflowLayoutItem]\", inputs: { forceVisibility: \"forceVisibility\" }, outputs: { hiddenChange: \"hiddenChange\" }, providers: [\n {\n provide: FD_OVERFLOW_ITEM,\n useExisting: OverflowLayoutItemDirective\n }\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdOverflowLayoutItem]',\n providers: [\n {\n provide: FD_OVERFLOW_ITEM,\n useExisting: OverflowLayoutItemDirective\n }\n ],\n standalone: true\n }]\n }], propDecorators: { forceVisibility: [{\n type: Input\n }], hiddenChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC9kaXJlY3RpdmVzL292ZXJmbG93LWxheW91dC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRWpFOztHQUVHO0FBV0gsTUFBTSxPQUFPLDJCQUEyQjtJQVZ4QztRQTBCSTs7V0FFRztRQUVILGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQWlCM0MsK0JBQStCO1FBQy9CLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUIsY0FBYztRQUNKLHFCQUFnQixHQUEyQixNQUFNLENBQUMsb0JBQW9CLEVBQUU7WUFDOUUsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFDSCxjQUFjO1FBQ04scUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGNBQWM7UUFDTix1QkFBa0IsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQU9oRTtJQXRERyxtREFBbUQ7SUFDbkQsSUFDSSxlQUFlLENBQUMsS0FBYztRQUM5QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNsQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFRRDs7T0FFRztJQUNILElBQUksTUFBTSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUM7SUFDbEQsQ0FBQztJQW9CRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0F0RFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0tBUnpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsV0FBVyxFQUFFLDJCQUEyQjthQUMzQztTQUNKOzsyRkFHUSwyQkFBMkI7a0JBVnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFdBQVcsNkJBQTZCO3lCQUMzQztxQkFDSjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBSU8sZUFBZTtzQkFEbEIsS0FBSztnQkFrQk4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWZvY3VzYWJsZS1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0l0ZW1SZWYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWl0ZW0tcmVmLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0l0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vb3ZlcmZsb3ctbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19JVEVNX1JFRiB9IGZyb20gJy4uL3Rva2Vucy9vdmVyZmxvdy1pdGVtLXJlZi50b2tlbic7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19JVEVNIH0gZnJvbSAnLi4vdG9rZW5zL292ZXJmbG93LWl0ZW0udG9rZW4nO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBtYXJrIGVsZW1lbnQgYXMgcGFydCBvZiBmb3IgT3ZlcmZsb3cgTGF5b3V0IENvbXBvbmVudCBpdGVtcy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRPdmVyZmxvd0xheW91dEl0ZW1dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfT1ZFUkZMT1dfSVRFTSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBPdmVyZmxvd0xheW91dEl0ZW1EaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPdmVyZmxvd0l0ZW0sIE9uSW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgdG8gZm9yY2UgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGl0ZW0uICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZm9yY2VWaXNpYmlsaXR5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZm9yY2VWaXNpYmlsaXR5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JjZVZpc2liaWxpdHkgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dDb250YWluZXIudHJpZ2dlclJlY2FsY3VsYXRpb24oKTtcbiAgICB9XG5cbiAgICBnZXQgZm9yY2VWaXNpYmlsaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9yY2VWaXNpYmlsaXR5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBgaGlkZGVuYCBwcm9wZXJ0eSBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGhpZGRlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaGlkZGVuLlxuICAgICAqL1xuICAgIHNldCBoaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oaWRkZW5DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBoaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVyZmxvd0l0ZW1SZWY/LmhpZGRlbiA9PT0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2N1c2FibGUgaXRlbSBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbiAgICAgKi9cbiAgICBmb2N1c2FibGVJdGVtOiBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW07XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50ICovXG4gICAgZWxtUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX292ZXJmbG93SXRlbVJlZjogT3ZlcmZsb3dJdGVtUmVmIHwgbnVsbCA9IGluamVjdChGRF9PVkVSRkxPV19JVEVNX1JFRiwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2tpcFNlbGY6IHRydWVcbiAgICB9KTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvcmNlVmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb3ZlcmZsb3dDb250YWluZXIgPSBpbmplY3QoT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dJdGVtUmVmPy5zZXRFbGVtZW50UmVmKHRoaXMuZWxtUmVmKTtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dJdGVtUmVmPy5zZXRPdmVyZmxvd0l0ZW0odGhpcyk7XG4gICAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { OverflowExpandDirective } from './directives/overflow-expand.directive';\nimport { OverflowItemContainerRefDirective } from './directives/overflow-item-container-ref.directive';\nimport { OverflowItemRefDirective } from './directives/overflow-item-ref.directive';\nimport { OverflowLayoutFocusableItemDirective } from './directives/overflow-layout-focusable-item.directive';\nimport { OverflowLayoutItemContainerDirective } from './directives/overflow-layout-item-container.directive';\nimport { OverflowLayoutItemDirective } from './directives/overflow-layout-item.directive';\nimport { OverflowLayoutPopoverContentDirective } from './directives/overflow-layout-popover-content.directive';\nimport { OverflowLayoutComponent } from './overflow-layout.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated\n * Use direct imports of OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective\n */\nexport class OverflowLayoutModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, imports: [OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective], exports: [OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, imports: [OverflowLayoutComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: OverflowLayoutModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective\n ],\n exports: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective,\n OverflowLayoutFocusableItemDirective\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9vdmVyZmxvdy1sYXlvdXQvb3ZlcmZsb3ctbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7Ozs7Ozs7OztHQVVHO0FBdUJILE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9CLFlBcEJ6Qix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0IsaUNBQWlDO1lBQ2pDLHFDQUFxQztZQUNyQyxvQ0FBb0M7WUFDcEMsb0NBQW9DLGFBR3BDLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLDJCQUEyQjtZQUMzQixpQ0FBaUM7WUFDakMscUNBQXFDO1lBQ3JDLG9DQUFvQztZQUNwQyxvQ0FBb0M7K0dBRy9CLG9CQUFvQixZQXBCekIsdUJBQXVCOzsyRkFvQmxCLG9CQUFvQjtrQkF0QmhDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsaUNBQWlDO3dCQUNqQyxxQ0FBcUM7d0JBQ3JDLG9DQUFvQzt3QkFDcEMsb0NBQW9DO3FCQUN2QztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQixpQ0FBaUM7d0JBQ2pDLHFDQUFxQzt3QkFDckMsb0NBQW9DO3dCQUNwQyxvQ0FBb0M7cUJBQ3ZDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93RXhwYW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWV4cGFuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWl0ZW0tY29udGFpbmVyLXJlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dJdGVtUmVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWl0ZW0tcmVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWZvY3VzYWJsZS1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGF5b3V0LXBvcG92ZXItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL292ZXJmbG93LWxheW91dC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiBVc2UgZGlyZWN0IGltcG9ydHMgb2YgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQsXG4gICAgICAgIE92ZXJmbG93SXRlbVJlZkRpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbURpcmVjdGl2ZVxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQsXG4gICAgICAgIE92ZXJmbG93SXRlbVJlZkRpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dJdGVtQ29udGFpbmVyUmVmRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dFBvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xheW91dEl0ZW1Db250YWluZXJEaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0Rm9jdXNhYmxlSXRlbURpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBPdmVyZmxvd0xheW91dENvbXBvbmVudCxcbiAgICAgICAgT3ZlcmZsb3dJdGVtUmVmRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRJdGVtRGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0l0ZW1Db250YWluZXJSZWZEaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIE92ZXJmbG93TGF5b3V0SXRlbUNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xheW91dE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtb3ZlcmZsb3ctbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL292ZXJmbG93LWxheW91dC9mdW5kYW1lbnRhbC1uZ3gtY29yZS1vdmVyZmxvdy1sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.OverflowLayoutService","i2","i1.OverflowLayoutComponent"],"mappings":"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"}
|