@fundamental-ngx/core 0.34.3-rc.42 → 0.34.3-rc.45
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/action-bar/package.json +1 -1
- package/action-sheet/package.json +1 -1
- package/alert/package.json +1 -1
- package/avatar/package.json +1 -1
- package/avatar-group/package.json +1 -1
- package/bar/package.json +1 -1
- package/breadcrumb/package.json +1 -1
- package/busy-indicator/package.json +1 -1
- package/button/package.json +1 -1
- package/calendar/package.json +1 -1
- package/card/package.json +1 -1
- package/carousel/package.json +1 -1
- package/checkbox/package.json +1 -1
- package/combobox/package.json +1 -1
- package/date-picker/package.json +1 -1
- package/datetime/package.json +1 -1
- package/datetime-picker/package.json +1 -1
- package/dialog/package.json +1 -1
- package/dynamic-page/package.json +1 -1
- package/dynamic-side-content/package.json +1 -1
- package/esm2020/nested-list/nested-content/nested-list-content.directive.mjs +12 -2
- package/esm2020/nested-list/nested-item/nested-item.directive.mjs +59 -12
- package/esm2020/nested-list/nested-link/nested-link.directive.mjs +16 -5
- package/esm2020/nested-list/nested-list/nested-list.directive.mjs +71 -6
- package/esm2020/nested-list/nested-list-directives.mjs +23 -6
- package/esm2020/nested-list/nested-list-keyboard.service.mjs +9 -5
- package/esm2020/nested-list/nested-list-popover/nested-list-popover.component.mjs +1 -1
- package/esm2020/nested-list/prepared-nested-list/prepared-nested-list.component.mjs +1 -1
- package/facets/package.json +1 -1
- package/feed-input/package.json +1 -1
- package/feed-list-item/package.json +1 -1
- package/fesm2015/fundamental-ngx-core-nested-list.mjs +185 -29
- package/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-nested-list.mjs +181 -28
- package/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/file-uploader/package.json +1 -1
- package/fixed-card-layout/package.json +1 -1
- package/flexible-column-layout/package.json +1 -1
- package/form/package.json +1 -1
- package/formatted-text/package.json +1 -1
- package/grid-list/package.json +1 -1
- package/icon/package.json +1 -1
- package/illustrated-message/package.json +1 -1
- package/infinite-scroll/package.json +1 -1
- package/info-label/package.json +1 -1
- package/inline-help/package.json +1 -1
- package/input-group/package.json +1 -1
- package/layout-grid/package.json +1 -1
- package/layout-panel/package.json +1 -1
- package/link/package.json +1 -1
- package/list/package.json +1 -1
- package/menu/package.json +1 -1
- package/message-box/package.json +1 -1
- package/message-strip/package.json +1 -1
- package/message-toast/package.json +1 -1
- package/micro-process-flow/package.json +1 -1
- package/mobile-mode/package.json +1 -1
- package/multi-input/package.json +1 -1
- package/nested-list/esm2020/nested-content/nested-list-content.directive.mjs +12 -2
- package/nested-list/esm2020/nested-item/nested-item.directive.mjs +59 -12
- package/nested-list/esm2020/nested-link/nested-link.directive.mjs +16 -5
- package/nested-list/esm2020/nested-list/nested-list.directive.mjs +71 -6
- package/nested-list/esm2020/nested-list-directives.mjs +23 -6
- package/nested-list/esm2020/nested-list-keyboard.service.mjs +9 -5
- package/nested-list/esm2020/nested-list-popover/nested-list-popover.component.mjs +1 -1
- package/nested-list/esm2020/prepared-nested-list/prepared-nested-list.component.mjs +1 -1
- package/nested-list/fesm2015/fundamental-ngx-core-nested-list.mjs +185 -29
- package/nested-list/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/nested-list/fesm2020/fundamental-ngx-core-nested-list.mjs +181 -28
- package/nested-list/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/nested-list/nested-content/nested-list-content.directive.d.ts +4 -0
- package/nested-list/nested-item/nested-item.directive.d.ts +20 -3
- package/nested-list/nested-link/nested-link.directive.d.ts +9 -4
- package/nested-list/nested-list/nested-list.directive.d.ts +22 -2
- package/nested-list/nested-list-directives.d.ts +8 -1
- package/nested-list/package.json +1 -1
- package/notification/package.json +1 -1
- package/object-identifier/package.json +1 -1
- package/object-marker/package.json +1 -1
- package/object-number/package.json +1 -1
- package/object-status/package.json +1 -1
- package/package.json +1 -1
- package/pagination/package.json +1 -1
- package/panel/package.json +1 -1
- package/popover/package.json +1 -1
- package/product-switch/package.json +1 -1
- package/progress-indicator/package.json +1 -1
- package/quick-view/package.json +1 -1
- package/radio/package.json +1 -1
- package/rating-indicator/package.json +1 -1
- package/resizable-card-layout/package.json +1 -1
- package/scroll-spy/package.json +1 -1
- package/scrollbar/package.json +1 -1
- package/segmented-button/package.json +1 -1
- package/select/package.json +1 -1
- package/shared/package.json +1 -1
- package/shellbar/package.json +1 -1
- package/side-navigation/package.json +1 -1
- package/slider/package.json +1 -1
- package/split-button/package.json +1 -1
- package/splitter/package.json +1 -1
- package/status-indicator/package.json +1 -1
- package/step-input/package.json +1 -1
- package/switch/package.json +1 -1
- package/table/package.json +1 -1
- package/tabs/package.json +1 -1
- package/text/package.json +1 -1
- package/tile/package.json +1 -1
- package/time/package.json +1 -1
- package/time-picker/package.json +1 -1
- package/timeline/package.json +1 -1
- package/title/package.json +1 -1
- package/token/package.json +1 -1
- package/toolbar/package.json +1 -1
- package/tree/package.json +1 -1
- package/upload-collection/package.json +1 -1
- package/utils/package.json +1 -1
- package/vertical-navigation/package.json +1 -1
- package/wizard/package.json +1 -1
package/action-bar/package.json
CHANGED
package/alert/package.json
CHANGED
package/avatar/package.json
CHANGED
package/bar/package.json
CHANGED
package/breadcrumb/package.json
CHANGED
package/button/package.json
CHANGED
package/calendar/package.json
CHANGED
package/card/package.json
CHANGED
package/carousel/package.json
CHANGED
package/checkbox/package.json
CHANGED
package/combobox/package.json
CHANGED
package/date-picker/package.json
CHANGED
package/datetime/package.json
CHANGED
package/dialog/package.json
CHANGED
|
@@ -15,6 +15,10 @@ export class NestedListContentDirective {
|
|
|
15
15
|
this._itemService = _itemService;
|
|
16
16
|
/** Whether this element is selected*/
|
|
17
17
|
this.selected = false;
|
|
18
|
+
/** @hidden */
|
|
19
|
+
this.role = 'treeitem';
|
|
20
|
+
/** @hidden */
|
|
21
|
+
this.ariaExpanded = false;
|
|
18
22
|
/** Event thrown, when selected state is changed */
|
|
19
23
|
this.selectedChange = new EventEmitter();
|
|
20
24
|
/** Event that is thrown, when any keyboard event is dispatched on this element */
|
|
@@ -85,7 +89,7 @@ export class NestedListContentDirective {
|
|
|
85
89
|
}
|
|
86
90
|
}
|
|
87
91
|
NestedListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
88
|
-
NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: NestedListContentDirective, selector: "[fdNestedListContent], [fd-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.is-selected": "this.selected", "class.fd-nested-list__content": "this.fdNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
|
|
92
|
+
NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: NestedListContentDirective, selector: "[fdNestedListContent], [fd-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fd-nested-list__content": "this.fdNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
|
|
89
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: NestedListContentDirective, decorators: [{
|
|
90
94
|
type: Directive,
|
|
91
95
|
args: [{
|
|
@@ -99,6 +103,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
99
103
|
}, {
|
|
100
104
|
type: HostBinding,
|
|
101
105
|
args: ['class.is-selected']
|
|
106
|
+
}], role: [{
|
|
107
|
+
type: HostBinding,
|
|
108
|
+
args: ['attr.role']
|
|
109
|
+
}], ariaExpanded: [{
|
|
110
|
+
type: HostBinding,
|
|
111
|
+
args: ['attr.aria-expanded']
|
|
102
112
|
}], selectedChange: [{
|
|
103
113
|
type: Output
|
|
104
114
|
}], keyboardTriggered: [{
|
|
@@ -124,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
124
134
|
type: HostListener,
|
|
125
135
|
args: ['click', ['$event']]
|
|
126
136
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9uZXN0ZWQtbGlzdC9uZXN0ZWQtY29udGVudC9uZXN0ZWQtbGlzdC1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLDBCQUEwQjtJQThDbkMsY0FBYztJQUNkLFlBQ1csWUFBK0IsRUFDOUIsU0FBb0IsRUFDcEIsV0FBdUIsRUFDdkIsWUFBK0I7UUFIaEMsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBbEQzQyxzQ0FBc0M7UUFHdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFjO1FBRWQsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUVsQixjQUFjO1FBRWQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsbURBQW1EO1FBRW5ELG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEUsa0ZBQWtGO1FBRXpFLHNCQUFpQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUU1Rix5REFBeUQ7UUFFaEQsWUFBTyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRTVFLGNBQWM7UUFFZCw2QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFFaEM7OztXQUdHO1FBRUgsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFRcEIsdUdBQXVHO1FBQ3RGLGVBQVUsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVE5RCxDQUFDO0lBRUosY0FBYztJQUNkLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsNkJBQTZCO0lBRTdCLFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsK0JBQStCO0lBRS9CLE9BQU87UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsOENBQThDO0lBQzlDLGNBQWMsQ0FBQyxRQUFpQjtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLG1CQUFtQixDQUFDLFFBQWlCO1FBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2RDtJQUNMLENBQUM7SUFFRCxnQ0FBZ0M7SUFDaEMsS0FBSztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxnREFBZ0Q7SUFDaEQsS0FBSztRQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELDBDQUEwQztJQUNsQyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELDJDQUEyQztJQUNuQyxvQkFBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDckM7SUFDTCxDQUFDOzt1SEFwSFEsMEJBQTBCOzJHQUExQiwwQkFBMEIsc21CQXFDckIsbUJBQW1CLG1GQUduQiw2QkFBNkI7MkZBeENsQywwQkFBMEI7a0JBTnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlEQUFpRDtvQkFDM0QsSUFBSSxFQUFFO3dCQUNGLFFBQVEsRUFBRSxHQUFHO3FCQUNoQjtpQkFDSjt5TEFLRyxRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUtoQyxJQUFJO3NCQURILFdBQVc7dUJBQUMsV0FBVztnQkFLeEIsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFLakMsY0FBYztzQkFEYixNQUFNO2dCQUtFLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFLRSxPQUFPO3NCQURmLE1BQU07Z0JBS1Asd0JBQXdCO3NCQUR2QixXQUFXO3VCQUFDLCtCQUErQjtnQkFRNUMsV0FBVztzQkFEVixXQUFXO3VCQUFDLGlCQUFpQjtnQkFJOUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFJakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsNkJBQTZCO2dCQTRCM0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkTGlzdENvbnRlbnRdLCBbZmQtbmVzdGVkLWxpc3QtY29udGVudF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdGFiaW5kZXg6ICcwJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgZWxlbWVudCBpcyBzZWxlY3RlZCovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGVkJylcbiAgICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBhcmlhRXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBpcyB0aHJvd24sIHdoZW4gYW55IGtleWJvYXJkIGV2ZW50IGlzIGRpc3BhdGNoZWQgb24gdGhpcyBlbGVtZW50ICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkga2V5Ym9hcmRUcmlnZ2VyZWQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiB0aGlzIGVsZW1lbnQgaXMgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1uZXN0ZWQtbGlzdF9fY29udGVudCcpXG4gICAgZmROZXN0ZWRMaXN0Q29udGVudENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBdHRyaWJ1dGUgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IGBOZXN0ZWRJdGVtRGlyZWN0aXZlYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWNoaWxkJylcbiAgICBoYXNDaGlsZHJlbiA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaW5rRGlyZWN0aXZlKVxuICAgIG5lc3RlZExpbms6IE5lc3RlZExpbmtEaXJlY3RpdmU7XG5cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50KVxuICAgIG5lc3RlZEV4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9pdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWFrZUxpbmtVbkZvY3VzYWJsZSgpO1xuICAgICAgICB0aGlzLl9zZXRGb2N1c1N1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBLZXlib2FyZCBFdmVudCBIYW5kbGVyICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5Ym9hcmRUcmlnZ2VyZWQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd24ubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIG1vdXNlIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5jbGljay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byB0cmlnZ2VyIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSAqL1xuICAgIGNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKiogRXhwYW5kZWQgc3RhdGUgY2hhbmdlIHByb3BhZ2F0aW9uIG1ldGhvZCAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRFeHBhbmRJY29uLmNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERpc3BhdGNoZXMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBlbGVtZW50ICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkTGluaykge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHN1YnNjcmlwdGlvbiBmb3IgY2hpbGQgZm9jdXNpbmcgKi9cbiAgICBwcml2YXRlIF9zZXRGb2N1c1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuZm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGUgbGluayBjaGlsZCBlbGVtZW50IGZyb20gdGFiIGtleSAqL1xuICAgIHByaXZhdGUgX21ha2VMaW5rVW5Gb2N1c2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5lc3RlZExpbmspIHtcbiAgICAgICAgICAgIHRoaXMubmVzdGVkTGluay50YWJJbmRleCA9IC0xO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ContentChild, Directive, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
2
4
|
import { NestedLinkDirective } from '../nested-link/nested-link.directive';
|
|
3
5
|
import { NestedListKeyboardService } from '../nested-list-keyboard.service';
|
|
4
|
-
import { NestedItemService } from './nested-item.service';
|
|
5
6
|
import { NestedListContentDirective } from '../nested-content/nested-list-content.directive';
|
|
6
|
-
import { Subject } from 'rxjs';
|
|
7
|
-
import { filter, takeUntil } from 'rxjs/operators';
|
|
8
7
|
import { NestedListStateService } from '../nested-list-state.service';
|
|
8
|
+
import { NestedItemService } from './nested-item.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "./nested-item.service";
|
|
11
11
|
import * as i2 from "../nested-list-keyboard.service";
|
|
@@ -24,7 +24,17 @@ export class NestedItemDirective {
|
|
|
24
24
|
/** @hidden */
|
|
25
25
|
this.fdNestedListItemClass = true;
|
|
26
26
|
/** @hidden */
|
|
27
|
+
this._ariaLevel = null;
|
|
28
|
+
/** @hidden */
|
|
27
29
|
this._expanded = false;
|
|
30
|
+
/** @hidden */
|
|
31
|
+
this._ariaExpanded = null;
|
|
32
|
+
/** @hidden */
|
|
33
|
+
this._ariaSelected = null;
|
|
34
|
+
/** @hidden */
|
|
35
|
+
this._ariaDisabled = false;
|
|
36
|
+
/** @hidden */
|
|
37
|
+
this._ariaHidden = true;
|
|
28
38
|
/** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */
|
|
29
39
|
this._onDestroy$ = new Subject();
|
|
30
40
|
/** Unique element ID */
|
|
@@ -47,6 +57,11 @@ export class NestedItemDirective {
|
|
|
47
57
|
this._passItemReferences();
|
|
48
58
|
/** Propagate initial open state to children */
|
|
49
59
|
this.propagateOpenChange(this._expanded);
|
|
60
|
+
if (this.linkItem) {
|
|
61
|
+
this._ariaSelected = this.linkItem.selected;
|
|
62
|
+
this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;
|
|
63
|
+
this._title = this.linkItem.getTitle();
|
|
64
|
+
}
|
|
50
65
|
}
|
|
51
66
|
/** @hidden */
|
|
52
67
|
ngOnDestroy() {
|
|
@@ -55,11 +70,11 @@ export class NestedItemDirective {
|
|
|
55
70
|
}
|
|
56
71
|
/** Check if the item element has any child */
|
|
57
72
|
get hasChildren() {
|
|
58
|
-
return !!
|
|
73
|
+
return !!this._itemService?.list;
|
|
59
74
|
}
|
|
60
75
|
/** Get all of the children item elements */
|
|
61
76
|
get allChildrenItems() {
|
|
62
|
-
if (this._itemService
|
|
77
|
+
if (this._itemService?.list) {
|
|
63
78
|
return this._itemService.list.nestedItems.toArray();
|
|
64
79
|
}
|
|
65
80
|
return [];
|
|
@@ -109,9 +124,7 @@ export class NestedItemDirective {
|
|
|
109
124
|
if (this._itemService.list) {
|
|
110
125
|
return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));
|
|
111
126
|
}
|
|
112
|
-
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
127
|
+
return false;
|
|
115
128
|
}
|
|
116
129
|
/**
|
|
117
130
|
* @hidden
|
|
@@ -119,11 +132,15 @@ export class NestedItemDirective {
|
|
|
119
132
|
*/
|
|
120
133
|
propagateOpenChange(open) {
|
|
121
134
|
this._expanded = open;
|
|
135
|
+
if (this.hasChildren) {
|
|
136
|
+
this._ariaExpanded = this._expanded;
|
|
137
|
+
}
|
|
122
138
|
/**
|
|
123
139
|
* Propagate to child content directive, which contains icon and link
|
|
124
140
|
*/
|
|
125
141
|
if (this.contentItem) {
|
|
126
142
|
this.contentItem.changeExpandedState(open);
|
|
143
|
+
this.contentItem.ariaExpanded = this._expanded;
|
|
127
144
|
}
|
|
128
145
|
/** Propagate hidden flag to list component, that is passed from child */
|
|
129
146
|
if (this._itemService.list) {
|
|
@@ -149,6 +166,9 @@ export class NestedItemDirective {
|
|
|
149
166
|
}
|
|
150
167
|
/** @hidden */
|
|
151
168
|
_setUpSubscriptions() {
|
|
169
|
+
if (this._stateService.condensed) {
|
|
170
|
+
this._role = 'menuitemradio';
|
|
171
|
+
}
|
|
152
172
|
/** Subscribe to mouse click event, thrown by link item */
|
|
153
173
|
this._itemService.toggle.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.toggle());
|
|
154
174
|
/** Subscribe to mouse click event, thrown by link item */
|
|
@@ -167,6 +187,7 @@ export class NestedItemDirective {
|
|
|
167
187
|
/** @hidden */
|
|
168
188
|
_propagateHasChildrenProperty() {
|
|
169
189
|
if (this.contentItem && this.hasChildren) {
|
|
190
|
+
this._ariaExpanded = false;
|
|
170
191
|
this.contentItem.hasChildren = true;
|
|
171
192
|
this.contentItem.changeDetRef.detectChanges();
|
|
172
193
|
}
|
|
@@ -179,16 +200,18 @@ export class NestedItemDirective {
|
|
|
179
200
|
}
|
|
180
201
|
/** Change of selected state of content or link, if there is any children with I */
|
|
181
202
|
_selectedChange(id) {
|
|
203
|
+
const selected = this.containsId(id);
|
|
204
|
+
this._ariaSelected = selected;
|
|
182
205
|
if (this.contentItem) {
|
|
183
|
-
this.contentItem.changeSelected(
|
|
206
|
+
this.contentItem.changeSelected(selected);
|
|
184
207
|
}
|
|
185
208
|
else if (this.linkItem) {
|
|
186
|
-
this.linkItem.changeSelected(
|
|
209
|
+
this.linkItem.changeSelected(selected);
|
|
187
210
|
}
|
|
188
211
|
}
|
|
189
212
|
}
|
|
190
213
|
NestedItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: NestedItemDirective, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
191
|
-
NestedItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: NestedItemDirective, selector: "[fdNestedItem], [fd-nested-list-item]", inputs: { expanded: "expanded" }, outputs: { expandedChange: "expandedChange", keyboardTriggered: "keyboardTriggered" }, host: { properties: { "class.fd-nested-list__item": "this.fdNestedListItemClass" } }, providers: [NestedItemService], queries: [{ propertyName: "linkItem", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: "contentItem", first: true, predicate: NestedListContentDirective, descendants: true }], ngImport: i0 });
|
|
214
|
+
NestedItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: NestedItemDirective, selector: "[fdNestedItem], [fd-nested-list-item]", inputs: { expanded: "expanded" }, outputs: { expandedChange: "expandedChange", keyboardTriggered: "keyboardTriggered" }, host: { properties: { "class.fd-nested-list__item": "this.fdNestedListItemClass", "attr.aria-level": "this._ariaLevel", "attr.title": "this._title", "attr.role": "this._role", "attr.aria-expanded": "this._ariaExpanded", "attr.aria-selected": "this._ariaSelected", "attr.aria-disabled": "this._ariaDisabled", "attr.aria-label": "this._ariaLabel", "attr.aria-hidden": "this._ariaHidden" } }, providers: [NestedItemService], queries: [{ propertyName: "linkItem", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: "contentItem", first: true, predicate: NestedListContentDirective, descendants: true }], ngImport: i0 });
|
|
192
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: NestedItemDirective, decorators: [{
|
|
193
216
|
type: Directive,
|
|
194
217
|
args: [{
|
|
@@ -210,5 +233,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
210
233
|
}], contentItem: [{
|
|
211
234
|
type: ContentChild,
|
|
212
235
|
args: [NestedListContentDirective]
|
|
236
|
+
}], _ariaLevel: [{
|
|
237
|
+
type: HostBinding,
|
|
238
|
+
args: ['attr.aria-level']
|
|
239
|
+
}], _title: [{
|
|
240
|
+
type: HostBinding,
|
|
241
|
+
args: ['attr.title']
|
|
242
|
+
}], _role: [{
|
|
243
|
+
type: HostBinding,
|
|
244
|
+
args: ['attr.role']
|
|
245
|
+
}], _ariaExpanded: [{
|
|
246
|
+
type: HostBinding,
|
|
247
|
+
args: ['attr.aria-expanded']
|
|
248
|
+
}], _ariaSelected: [{
|
|
249
|
+
type: HostBinding,
|
|
250
|
+
args: ['attr.aria-selected']
|
|
251
|
+
}], _ariaDisabled: [{
|
|
252
|
+
type: HostBinding,
|
|
253
|
+
args: ['attr.aria-disabled']
|
|
254
|
+
}], _ariaLabel: [{
|
|
255
|
+
type: HostBinding,
|
|
256
|
+
args: ['attr.aria-label']
|
|
257
|
+
}], _ariaHidden: [{
|
|
258
|
+
type: HostBinding,
|
|
259
|
+
args: ['attr.aria-hidden']
|
|
213
260
|
}] } });
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbmVzdGVkLWxpc3QvbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBRXRFLElBQUksMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBTW5DLE1BQU0sT0FBTyxtQkFBbUI7SUF3QzVCLGNBQWM7SUFDZCxZQUNZLFlBQStCLEVBQy9CLGdCQUEyQyxFQUMzQyxhQUFxQztRQUZyQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEyQjtRQUMzQyxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUEvQmpELG1EQUFtRDtRQUUxQyxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTdFLG1GQUFtRjtRQUUxRSxzQkFBaUIsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7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QUtQLHFCQUFxQjtzQkFEcEIsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBUXpDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBU2pDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZSc7XG5cbmxldCBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkSXRlbV0sIFtmZC1uZXN0ZWQtbGlzdC1pdGVtXScsXG4gICAgcHJvdmlkZXJzOiBbTmVzdGVkSXRlbVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBOZXN0ZWRJdGVtSW50ZXJmYWNlLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIGl0ZW0gc2hvdWxkIGJlIGV4cGFuZGVkICovXG4gICAgQElucHV0KCkgc2V0IGV4cGFuZGVkKGV4cGFuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChleHBhbmRlZCAhPT0gdGhpcy5fZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZShleHBhbmRlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gZXhwYW5kZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGFueSBrZXlib2FyZCBldmVudCBpcyBkaXNwYXRjaGVkIG9uIHRoaXMsIG9yIGxpbmsgZWxlbWVudCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGtleWJvYXJkVHJpZ2dlcmVkOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2l0ZW0nKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBsaW5rIGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtEaXJlY3RpdmUpXG4gICAgbGlua0l0ZW06IE5lc3RlZExpbmtEaXJlY3RpdmU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTW9zdGx5IHVzZWQsIHdoZW4gdGhpcyBpdGVtIGhhcyBsaXN0XG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb250ZW50IGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlKVxuICAgIGNvbnRlbnRJdGVtOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfa2V5Ym9hcmRTZXJ2aWNlOiBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9zdGF0ZVNlcnZpY2U6IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2V4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBVbmlxdWUgZWxlbWVudCBJRCAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRJZDogc3RyaW5nID0gJ2ZkTmVzdGVkSXRlbScgKyBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFVwU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB0aGlzLl9wcm9wYWdhdGVIYXNDaGlsZHJlblByb3BlcnR5KCk7XG4gICAgICAgIHRoaXMuX3Bhc3NJdGVtUmVmZXJlbmNlcygpO1xuICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UodGhpcy5fZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGlmIHRoZSBpdGVtIGVsZW1lbnQgaGFzIGFueSBjaGlsZCAqL1xuICAgIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuX2l0ZW1TZXJ2aWNlICYmIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgYWxsIG9mIHRoZSBjaGlsZHJlbiBpdGVtIGVsZW1lbnRzICovXG4gICAgZ2V0IGFsbENoaWxkcmVuSXRlbXMoKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlICYmIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pdGVtU2VydmljZS5saXN0Lm5lc3RlZEl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGV4cGFuZCB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdHJpZ2dlck9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5leHBhbmRlZCkge1xuICAgICAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBjbG9zZSB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdHJpZ2dlckNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgdG9nZ2xlIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSghdGhpcy5fZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBkaXNwYXRjaGVzIGBjbGlja2AgZXZlbnQgb24gbGluayBpdGVtKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2xpY2soKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZm9jdXNlcyBsaW5rIGl0ZW0qL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5mb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBpZiBlbGVtZW50LCBvciBjaGlsZHJlbiBvZiB0aGlzIGVsZW1lbnQgaGFzIHBhc3NlZCBpZCAqL1xuICAgIGNvbnRhaW5zSWQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudElkID09PSBpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5jb250YWluc0lkKGlkKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUHJvcGFnYXRlIG9wZW4gc3RhdGUgdG8gYWxsIG9mIHRoZSBjaGlsZHJlblxuICAgICAqL1xuICAgIHByaXZhdGUgcHJvcGFnYXRlT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2V4cGFuZGVkID0gb3BlbjtcblxuICAgICAgICAvKipcbiAgICAgICAgICogUHJvcGFnYXRlIHRvIGNoaWxkIGNvbnRlbnQgZGlyZWN0aXZlLCB3aGljaCBjb250YWlucyBpY29uIGFuZCBsaW5rXG4gICAgICAgICAqL1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5jaGFuZ2VFeHBhbmRlZFN0YXRlKG9wZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBoaWRkZW4gZmxhZyB0byBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UubGlzdCkge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UubGlzdC5oaWRkZW4gPSAhb3BlbjtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBvcGVuIGZsYWcgdG8gcG9wb3ZlciBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlci5vcGVuID0gb3BlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGVyZSBhcmUgYW55IGxpc3QgYmVsb3dcbiAgICAgICAgICogVHJpZ2dlciBldmVudCB0byBwcm92aWRlIGtleWJvYXJkIHN1cHBvcnQgdG8gbmV3IGxpc3Qgb2Ygb3BlbmVkIGl0ZW0gZWxlbWVudC5cbiAgICAgICAgICogKi9cbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKSkge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTZXJ2aWNlLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdChvcGVuKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyIHx8IHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QgfHwgdGhpcy5jb250ZW50SXRlbSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRVcFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gbW91c2UgY2xpY2sgZXZlbnQsIHRocm93biBieSBsaW5rIGl0ZW0gKi9cbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UudG9nZ2xlLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGUoKSk7XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBtb3VzZSBjbGljayBldmVudCwgdGhyb3duIGJ5IGxpbmsgaXRlbSAqL1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5jbGlja1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zdGF0ZVNlcnZpY2Uub25TZWxlY3RlZC5uZXh0KHRoaXMuX2VsZW1lbnRJZCkpO1xuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8ga2V5Ym9hcmQgZXZlbnQgYW5kIHRocm93IGl0IGZhcnRoZXIgKi9cbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2Uua2V5RG93blxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoa2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5rZXlib2FyZFRyaWdnZXJlZC5lbWl0KGtleWJvYXJkRXZlbnQpKTtcblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSwgaXQncyBub3QgdHJpZ2dlcmVkLCB3aGVuIHNlbGVjdGFibGUgZmxhZyBpcyBkaXNhYmxlZCovXG4gICAgICAgIHRoaXMuX3N0YXRlU2VydmljZS5vblNlbGVjdGVkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3N0YXRlU2VydmljZS5zZWxlY3RhYmxlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHRoaXMuX3NlbGVjdGVkQ2hhbmdlKGlkKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcm9wYWdhdGVIYXNDaGlsZHJlblByb3BlcnR5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSAmJiB0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmhhc0NoaWxkcmVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBQYXNzIHRoaXMgZWxlbWVudCB0byBwb3BvdmVyIGNoaWxkIGl0ZW0sIHRvIGFsbG93IGNvbnRyb2wgYGV4cGFuZGVkYCB2YWx1ZSAqL1xuICAgIHByaXZhdGUgX3Bhc3NJdGVtUmVmZXJlbmNlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIucGFyZW50SXRlbUVsZW1lbnQgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoYW5nZSBvZiBzZWxlY3RlZCBzdGF0ZSBvZiBjb250ZW50IG9yIGxpbmssIGlmIHRoZXJlIGlzIGFueSBjaGlsZHJlbiB3aXRoIEkgKi9cbiAgICBwcml2YXRlIF9zZWxlY3RlZENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZVNlbGVjdGVkKHRoaXMuY29udGFpbnNJZChpZCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uY2hhbmdlU2VsZWN0ZWQodGhpcy5jb250YWluc0lkKGlkKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbmVzdGVkLWxpc3QvbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBRzFELElBQUksMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBTW5DLE1BQU0sT0FBTyxtQkFBbUI7SUFpRjVCLGNBQWM7SUFDZCxZQUNZLFlBQStCLEVBQy9CLGdCQUEyQyxFQUMzQyxhQUFxQztRQUZyQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEyQjtRQUMzQyxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUF4RWpELG1EQUFtRDtRQUUxQyxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTdFLG1GQUFtRjtRQUUxRSxzQkFBaUIsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7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QURwQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLekIsYUFBYTtzQkFEcEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3pCLGFBQWE7c0JBRHBCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUt6QixVQUFVO3NCQURqQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFLdEIsV0FBVztzQkFEbEIsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOZXN0ZWRMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpbmsvbmVzdGVkLWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5cbmxldCBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkSXRlbV0sIFtmZC1uZXN0ZWQtbGlzdC1pdGVtXScsXG4gICAgcHJvdmlkZXJzOiBbTmVzdGVkSXRlbVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBOZXN0ZWRJdGVtSW50ZXJmYWNlLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIGl0ZW0gc2hvdWxkIGJlIGV4cGFuZGVkICovXG4gICAgQElucHV0KCkgc2V0IGV4cGFuZGVkKGV4cGFuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChleHBhbmRlZCAhPT0gdGhpcy5fZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZShleHBhbmRlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gZXhwYW5kZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGFueSBrZXlib2FyZCBldmVudCBpcyBkaXNwYXRjaGVkIG9uIHRoaXMsIG9yIGxpbmsgZWxlbWVudCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGtleWJvYXJkVHJpZ2dlcmVkOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2l0ZW0nKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBsaW5rIGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtEaXJlY3RpdmUpXG4gICAgbGlua0l0ZW06IE5lc3RlZExpbmtEaXJlY3RpdmU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTW9zdGx5IHVzZWQsIHdoZW4gdGhpcyBpdGVtIGhhcyBsaXN0XG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb250ZW50IGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlKVxuICAgIGNvbnRlbnRJdGVtOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGV2ZWwnKVxuICAgIF9hcmlhTGV2ZWw6IE51bGxhYmxlPG51bWJlcj4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGl0bGUnKVxuICAgIF90aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJpdmF0ZSBfcm9sZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgcHJpdmF0ZSBfYXJpYUV4cGFuZGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgICBwcml2YXRlIF9hcmlhU2VsZWN0ZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICAgIHByaXZhdGUgX2FyaWFEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgcHJpdmF0ZSBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgcHJpdmF0ZSBfYXJpYUhpZGRlbiA9IHRydWU7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBVbmlxdWUgZWxlbWVudCBJRCAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRJZDogc3RyaW5nID0gJ2ZkTmVzdGVkSXRlbScgKyBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9rZXlib2FyZFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3N0YXRlU2VydmljZTogTmVzdGVkTGlzdFN0YXRlU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRVcFN1YnNjcmlwdGlvbnMoKTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlSGFzQ2hpbGRyZW5Qcm9wZXJ0eSgpO1xuICAgICAgICB0aGlzLl9wYXNzSXRlbVJlZmVyZW5jZXMoKTtcbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKHRoaXMuX2V4cGFuZGVkKTtcblxuICAgICAgICBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5fYXJpYVNlbGVjdGVkID0gdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFEaXNhYmxlZCA9ICF0aGlzLl9zdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiAhdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX3RpdGxlID0gdGhpcy5saW5rSXRlbS5nZXRUaXRsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgaWYgdGhlIGl0ZW0gZWxlbWVudCBoYXMgYW55IGNoaWxkICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9pdGVtU2VydmljZT8ubGlzdDtcbiAgICB9XG5cbiAgICAvKiogR2V0IGFsbCBvZiB0aGUgY2hpbGRyZW4gaXRlbSBlbGVtZW50cyAqL1xuICAgIGdldCBhbGxDaGlsZHJlbkl0ZW1zKCk6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZT8ubGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMudG9BcnJheSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBleHBhbmQgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRyaWdnZXJPcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgY2xvc2UgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRyaWdnZXJDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IHRvZ2dsZSB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoIXRoaXMuX2V4cGFuZGVkKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZGlzcGF0Y2hlcyBgY2xpY2tgIGV2ZW50IG9uIGxpbmsgaXRlbSovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNsaWNrKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5jbGljaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGZvY3VzZXMgbGluayBpdGVtKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgcHJvdmlkZXMgaW5mb3JtYXRpb24gaWYgZWxlbWVudCwgb3IgY2hpbGRyZW4gb2YgdGhpcyBlbGVtZW50IGhhcyBwYXNzZWQgaWQgKi9cbiAgICBjb250YWluc0lkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRJZCA9PT0gaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5jb250YWluc0lkKGlkKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFByb3BhZ2F0ZSBvcGVuIHN0YXRlIHRvIGFsbCBvZiB0aGUgY2hpbGRyZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIHByb3BhZ2F0ZU9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9leHBhbmRlZCA9IG9wZW47XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IHRoaXMuX2V4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByb3BhZ2F0ZSB0byBjaGlsZCBjb250ZW50IGRpcmVjdGl2ZSwgd2hpY2ggY29udGFpbnMgaWNvbiBhbmQgbGlua1xuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlRXhwYW5kZWRTdGF0ZShvcGVuKTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uYXJpYUV4cGFuZGVkID0gdGhpcy5fZXhwYW5kZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogUHJvcGFnYXRlIGhpZGRlbiBmbGFnIHRvIGxpc3QgY29tcG9uZW50LCB0aGF0IGlzIHBhc3NlZCBmcm9tIGNoaWxkICovXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5saXN0KSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5saXN0LmhpZGRlbiA9ICFvcGVuO1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UubGlzdC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogUHJvcGFnYXRlIG9wZW4gZmxhZyB0byBwb3BvdmVyIGxpc3QgY29tcG9uZW50LCB0aGF0IGlzIHBhc3NlZCBmcm9tIGNoaWxkICovXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyLm9wZW4gPSBvcGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIElmIHRoZXJlIGFyZSBhbnkgbGlzdCBiZWxvd1xuICAgICAgICAgKiBUcmlnZ2VyIGV2ZW50IHRvIHByb3ZpZGUga2V5Ym9hcmQgc3VwcG9ydCB0byBuZXcgbGlzdCBvZiBvcGVuZWQgaXRlbSBlbGVtZW50LlxuICAgICAgICAgKiAqL1xuICAgICAgICBpZiAodGhpcy5fc2hvdWxkUmVmcmVzaEtleWJvYXJkU2VydmljZSgpKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFNlcnZpY2UucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KG9wZW4pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkUmVmcmVzaEtleWJvYXJkU2VydmljZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgfHwgdGhpcy5faXRlbVNlcnZpY2UubGlzdCB8fCB0aGlzLmNvbnRlbnRJdGVtKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFVwU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3N0YXRlU2VydmljZS5jb25kZW5zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnbWVudWl0ZW1yYWRpbyc7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIG1vdXNlIGNsaWNrIGV2ZW50LCB0aHJvd24gYnkgbGluayBpdGVtICovXG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnRvZ2dsZS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlKCkpO1xuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gbW91c2UgY2xpY2sgZXZlbnQsIHRocm93biBieSBsaW5rIGl0ZW0gKi9cbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2tcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc3RhdGVTZXJ2aWNlLm9uU2VsZWN0ZWQubmV4dCh0aGlzLl9lbGVtZW50SWQpKTtcblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIGtleWJvYXJkIGV2ZW50IGFuZCB0aHJvdyBpdCBmYXJ0aGVyICovXG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd25cbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGtleWJvYXJkRXZlbnQpID0+IHRoaXMua2V5Ym9hcmRUcmlnZ2VyZWQuZW1pdChrZXlib2FyZEV2ZW50KSk7XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2UsIGl0J3Mgbm90IHRyaWdnZXJlZCwgd2hlbiBzZWxlY3RhYmxlIGZsYWcgaXMgZGlzYWJsZWQqL1xuICAgICAgICB0aGlzLl9zdGF0ZVNlcnZpY2Uub25TZWxlY3RlZFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9zdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGlkKSA9PiB0aGlzLl9zZWxlY3RlZENoYW5nZShpZCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJvcGFnYXRlSGFzQ2hpbGRyZW5Qcm9wZXJ0eSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0gJiYgdGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5fYXJpYUV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmhhc0NoaWxkcmVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBQYXNzIHRoaXMgZWxlbWVudCB0byBwb3BvdmVyIGNoaWxkIGl0ZW0sIHRvIGFsbG93IGNvbnRyb2wgYGV4cGFuZGVkYCB2YWx1ZSAqL1xuICAgIHByaXZhdGUgX3Bhc3NJdGVtUmVmZXJlbmNlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIucGFyZW50SXRlbUVsZW1lbnQgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoYW5nZSBvZiBzZWxlY3RlZCBzdGF0ZSBvZiBjb250ZW50IG9yIGxpbmssIGlmIHRoZXJlIGlzIGFueSBjaGlsZHJlbiB3aXRoIEkgKi9cbiAgICBwcml2YXRlIF9zZWxlY3RlZENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5jb250YWluc0lkKGlkKTtcbiAgICAgICAgdGhpcy5fYXJpYVNlbGVjdGVkID0gc2VsZWN0ZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -16,10 +16,10 @@ export class NestedLinkDirective {
|
|
|
16
16
|
this.selectedChange = new EventEmitter();
|
|
17
17
|
/** @hidden */
|
|
18
18
|
this.fdNestedListItemClass = true;
|
|
19
|
-
/**
|
|
20
|
-
* @hidden
|
|
21
|
-
*/
|
|
19
|
+
/** @hidden */
|
|
22
20
|
this.tabIndex = 0;
|
|
21
|
+
/** @hidden */
|
|
22
|
+
this.role = 'treeitem';
|
|
23
23
|
}
|
|
24
24
|
/** Handler for keyboard events */
|
|
25
25
|
onKeyDown(event) {
|
|
@@ -55,7 +55,7 @@ export class NestedLinkDirective {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
NestedLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: NestedLinkDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
58
|
-
NestedLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: NestedLinkDirective, selector: "[fdNestedLink], [fd-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)", "focus": "onFocus()" }, properties: { "class.is-selected": "this.selected", "class.fd-nested-list__link": "this.fdNestedListItemClass", "attr.tabindex": "this.tabIndex" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }], ngImport: i0 });
|
|
58
|
+
NestedLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: NestedLinkDirective, selector: "[fdNestedLink], [fd-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)", "focus": "onFocus()" }, properties: { "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fd-nested-list__link": "this.fdNestedListItemClass", "attr.tabindex": "this.tabIndex", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }], ngImport: i0 });
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: NestedLinkDirective, decorators: [{
|
|
60
60
|
type: Directive,
|
|
61
61
|
args: [{
|
|
@@ -68,6 +68,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
68
68
|
}, {
|
|
69
69
|
type: HostBinding,
|
|
70
70
|
args: ['class.is-selected']
|
|
71
|
+
}], _ariaLabel: [{
|
|
72
|
+
type: HostBinding,
|
|
73
|
+
args: ['attr.aria-label']
|
|
74
|
+
}], ariaDescribedby: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}, {
|
|
77
|
+
type: HostBinding,
|
|
78
|
+
args: ['attr.aria-describedby']
|
|
71
79
|
}], selectedChange: [{
|
|
72
80
|
type: Output
|
|
73
81
|
}], fdNestedListItemClass: [{
|
|
@@ -76,6 +84,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
76
84
|
}], tabIndex: [{
|
|
77
85
|
type: HostBinding,
|
|
78
86
|
args: ['attr.tabindex']
|
|
87
|
+
}], role: [{
|
|
88
|
+
type: HostBinding,
|
|
89
|
+
args: ['attr.role']
|
|
79
90
|
}], title: [{
|
|
80
91
|
type: ContentChild,
|
|
81
92
|
args: [NestedListTitleDirective]
|
|
@@ -89,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
89
100
|
type: HostListener,
|
|
90
101
|
args: ['focus']
|
|
91
102
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbmVzdGVkLWxpc3QvbmVzdGVkLWxpbmsvbmVzdGVkLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQU12RSxNQUFNLE9BQU8sbUJBQW1CO0lBMEM1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixTQUFvQixFQUNwQixXQUF1QixFQUN2QixZQUErQjtRQUhoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUExQzNDLHNDQUFzQztRQUd0QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBFLGNBQWM7UUFFZCwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsY0FBYztRQUVkLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYixjQUFjO1FBRWQsU0FBSSxHQUFHLFVBQVUsQ0FBQztJQWVmLENBQUM7SUFFSixrQ0FBa0M7SUFFbEMsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsK0JBQStCO0lBRS9CLE9BQU87UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELCtCQUErQjtJQUUvQixPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxjQUFjLENBQUMsUUFBaUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxLQUFLO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQzs7Z0hBMUZRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHluQkF1Q2Qsd0JBQXdCOzJGQXZDN0IsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1Q0FBdUM7aUJBQ3BEO3lMQUlHLGVBQWU7c0JBRGQsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUtoQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU05QixlQUFlO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUtwQyxjQUFjO3NCQURiLE1BQU07Z0JBS1AscUJBQXFCO3NCQURwQixXQUFXO3VCQUFDLDRCQUE0QjtnQkFLekMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBSzVCLElBQUk7c0JBREgsV0FBVzt1QkFBQyxXQUFXO2dCQVF4QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsd0JBQXdCO2dCQWF0QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9uQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkTGlua10sIFtmZC1uZXN0ZWQtbGlzdC1saW5rXSdcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlua0RpcmVjdGl2ZSB7XG4gICAgLyoqIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIG9uIGNsaWNrIGV2ZW50IGRpc3BhdGNoIG9uIHRoaXMgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG9uQ2xpY2tDYWxsYmFjazogKCkgPT4gdm9pZDtcblxuICAgIC8qKiBXaGV0aGVyIHRoaXMgZWxlbWVudCBpcyBzZWxlY3RlZCovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGVkJylcbiAgICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgX2FyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JylcbiAgICBhcmlhRGVzY3JpYmVkYnk6IE51bGxhYmxlPHN0cmluZyB8IG51bWJlcj47XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIHNlbGVjdGVkIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19saW5rJylcbiAgICBmZE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHRhYkluZGV4ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAndHJlZWl0ZW0nO1xuXG4gICAgLyoqXG4gICAgICogIEBoaWRkZW5cbiAgICAgKiAgUmVmZXJlbmNlIHRvIHRpdGxlIGVsZW1lbnQsIGl0IGlzIHVzZWQsIHRvIGdldCB0aXRsZSBmb3IgY29uZGVuc2VkIG1vZGUuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUpXG4gICAgdGl0bGU6IE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9pdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogSGFuZGxlciBmb3Iga2V5Ym9hcmQgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd24ubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIG1vdXNlIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5jbGljay5uZXh0KCk7XG4gICAgICAgIGlmICh0aGlzLm9uQ2xpY2tDYWxsYmFjaykge1xuICAgICAgICAgICAgdGhpcy5vbkNsaWNrQ2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBmb2N1cyBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuZm9jdXMubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gdHJpZ2dlciBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2UgKi9cbiAgICBjaGFuZ2VTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERpc3BhdGNoZXMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBlbGVtZW50ICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHRoZSB0aXRsZSB2YWx1ZSBvZiB0aGUgdGl0bGUgZGlyZWN0aXZlICovXG4gICAgZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGl0bGUgJiYgdGhpcy50aXRsZS5nZXRJbm5lclRleHQoKTtcbiAgICB9XG59XG4iXX0=
|