@skyux/angular-tree-component 8.10.5 → 8.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,9 +23,9 @@ export class SkyAngularTreeAdapterService {
23
23
  }
24
24
  }
25
25
  _SkyAngularTreeAdapterService_coreAdapterService = new WeakMap();
26
- SkyAngularTreeAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
27
- SkyAngularTreeAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeAdapterService });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeAdapterService, decorators: [{
26
+ SkyAngularTreeAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ SkyAngularTreeAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeAdapterService });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeAdapterService, decorators: [{
29
29
  type: Injectable
30
30
  }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczQzs7R0FFRztBQUVILE1BQU0sT0FBTyw0QkFBNEI7SUFHdkMsWUFBWSxrQkFBeUM7UUFGckQsbUVBQTJDO1FBR3pDLHVCQUFBLElBQUksb0RBQXVCLGtCQUFrQixNQUFBLENBQUM7SUFDaEQsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE9BQW9CO1FBQzlDLE9BQU8sdUJBQUEsSUFBSSx3REFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0seUJBQXlCLENBQzlCLE9BQW9CLEVBQ3BCLFFBQWdCO1FBRWhCLE1BQU0sWUFBWSxHQUFHLHVCQUFBLElBQUksd0RBQW9CLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUUsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ2QsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDekM7SUFDSCxDQUFDOzs7eUhBcEJVLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlIHtcbiAgI2NvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKGNvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlID0gY29yZUFkYXB0ZXJTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIGdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUYWJJbmRleE9mRm9jdXNhYmxlRWxzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIHRhYkluZGV4OiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlRWxzID0gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuICAgIGxldCBpbmRleCA9IGZvY3VzYWJsZUVscy5sZW5ndGg7XG4gICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgIGZvY3VzYWJsZUVsc1tpbmRleF0udGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczQzs7R0FFRztBQUVILE1BQU0sT0FBTyw0QkFBNEI7SUFHdkMsWUFBWSxrQkFBeUM7UUFGckQsbUVBQTJDO1FBR3pDLHVCQUFBLElBQUksb0RBQXVCLGtCQUFrQixNQUFBLENBQUM7SUFDaEQsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE9BQW9CO1FBQzlDLE9BQU8sdUJBQUEsSUFBSSx3REFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0seUJBQXlCLENBQzlCLE9BQW9CLEVBQ3BCLFFBQWdCO1FBRWhCLE1BQU0sWUFBWSxHQUFHLHVCQUFBLElBQUksd0RBQW9CLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUUsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ2QsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDekM7SUFDSCxDQUFDOzs7MEhBcEJVLDRCQUE0Qjs4SEFBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlIHtcbiAgI2NvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKGNvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlID0gY29yZUFkYXB0ZXJTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIGdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUYWJJbmRleE9mRm9jdXNhYmxlRWxzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIHRhYkluZGV4OiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlRWxzID0gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuICAgIGxldCBpbmRleCA9IGZvY3VzYWJsZUVscy5sZW5ndGg7XG4gICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgIGZvY3VzYWJsZUVsc1tpbmRleF0udGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  */
6
6
  export class SkyAngularTreeContextMenuComponent {
7
7
  }
8
- SkyAngularTreeContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- SkyAngularTreeContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAngularTreeContextMenuComponent, selector: "sky-angular-tree-context-menu", ngImport: i0, template: "<div class=\"sky-angular-tree-context-menu\">\n <ng-content></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeContextMenuComponent, decorators: [{
8
+ SkyAngularTreeContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ SkyAngularTreeContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SkyAngularTreeContextMenuComponent, selector: "sky-angular-tree-context-menu", ngImport: i0, template: "<div class=\"sky-angular-tree-context-menu\">\n <ng-content></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeContextMenuComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'sky-angular-tree-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-angular-tree-context-menu\">\n <ng-content></ng-content>\n</div>\n" }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRW5FOztHQUVHO0FBTUgsTUFBTSxPQUFPLGtDQUFrQzs7K0hBQWxDLGtDQUFrQzttSEFBbEMsa0NBQWtDLHFFQ1YvQyxzRkFHQTsyRkRPYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UsK0JBQStCLG1CQUV4Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRW5FOztHQUVHO0FBTUgsTUFBTSxPQUFPLGtDQUFrQzs7Z0lBQWxDLGtDQUFrQztvSEFBbEMsa0NBQWtDLHFFQ1YvQyxzRkFHQTs0RkRPYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UsK0JBQStCLG1CQUV4Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -237,9 +237,9 @@ _SkyAngularTreeNodeComponent_focusableChildren = new WeakMap(), _SkyAngularTreeN
237
237
  return false;
238
238
  }
239
239
  };
240
- SkyAngularTreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeNodeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyAngularTreeAdapterService }, { token: i2.SkyAngularTreeWrapperComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
241
- SkyAngularTreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAngularTreeNodeComponent, selector: "sky-angular-tree-node", inputs: { index: "index", node: "node", templates: "templates" }, providers: [SkyAngularTreeAdapterService], viewQueries: [{ propertyName: "nodeContentWrapperRef", first: true, predicate: ["nodeContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n *ngIf=\"node && index !== undefined\"\n [class]=\"node.getClass()\"\n [class.tree-node]=\"true\"\n [class.tree-node-active]=\"node.isActive\"\n [class.tree-node-collapsed]=\"node.isCollapsed && node.hasChildren\"\n [class.tree-node-expanded]=\"node.isExpanded && node.hasChildren\"\n [class.tree-node-focused]=\"node.isFocused\"\n [class.tree-node-leaf]=\"node.isLeaf\"\n>\n <tree-node-drop-slot\n *ngIf=\"index === 0\"\n [dropIndex]=\"node.index\"\n [node]=\"node.parent\"\n >\n </tree-node-drop-slot>\n\n <!-- #region <tree-node-wrapper> custom template --->\n <div\n class=\"node-wrapper\"\n role=\"treeitem\"\n [allowDragoverStyling]=\"node.allowDragoverStyling()\"\n [attr.aria-current]=\"node.isActive\"\n [attr.aria-expanded]=\"node.children?.length ? node.isExpanded : null\"\n [attr.aria-selected]=\"ariaSelected()\"\n [attr.data-node-id]=\"node.id\"\n [attr.tabindex]=\"tabIndex\"\n [class.sky-angular-tree-node-active]=\"showActiveClass()\"\n [class.sky-angular-tree-node-selected]=\"showSelectedClass()\"\n [style.padding-left]=\"node.getNodePadding()\"\n [treeAllowDrop]=\"node.allowDrop\"\n [treeDrag]=\"node\"\n [treeDragEnabled]=\"node.allowDrag()\"\n (contextmenu)=\"node.mouseAction('contextMenu', $event)\"\n (dblclick)=\"node.mouseAction('dblClick', $event)\"\n (focus)=\"onFocus()\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (keydown)=\"onKeyDown($event)\"\n (treeDrop)=\"node.onDrop($event)\"\n (treeDropDragEnter)=\"node.mouseAction('dragEnter', $event)\"\n (treeDropDragLeave)=\"node.mouseAction('dragLeave', $event)\"\n (treeDropDragOver)=\"node.mouseAction('dragOver', $event)\"\n #nodeContentWrapper\n >\n <!-- #region <tree-node-expander> custom template --->\n <div class=\"sky-toggle-children-wrapper\">\n <button\n *ngIf=\"node.hasChildren\"\n class=\"sky-btn sky-btn-link sky-toggle-children\"\n tabindex=\"-1\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_angular_tree_click_to_expand' | skyLibResources\n \"\n [class.toggle-children-wrapper-expanded]=\"node.isExpanded\"\n [class.toggle-children-wrapper-collapsed]=\"node.isCollapsed\"\n (click)=\"node.mouseAction('expanderClick', $event)\"\n >\n <sky-icon\n [icon]=\"node.isExpanded ? 'chevron-down' : 'chevron-right'\"\n size=\"sm\"\n >\n </sky-icon>\n </button>\n <span *ngIf=\"showTogglePlaceholder()\" class=\"toggle-children-placeholder\">\n </span>\n </div>\n <!-- #endregion <tree-node-expander> --->\n\n <!-- Note: we've made changes to the click event, tabindex, and classes when compared to the original template. -->\n <!-- https://github.com/500tech/angular-tree-component/blob/master/lib/components/tree-node-wrapper.component.ts -->\n <div class=\"node-content-wrapper\">\n <sky-checkbox\n *ngIf=\"showCheckbox()\"\n [checked]=\"isSelected\"\n [id]=\"node.data.id\"\n [label]=\"node.data.name\"\n [indeterminate]=\"isPartiallySelected\"\n (change)=\"node.mouseAction('checkboxClick', $event)\"\n >\n </sky-checkbox>\n\n <sky-angular-tree-context-menu>\n <ng-content select=\"sky-dropdown\"></ng-content>\n </sky-angular-tree-context-menu>\n\n <tree-node-content\n [index]=\"index\"\n [node]=\"node\"\n [template]=\"templates?.treeNodeTemplate\"\n (click)=\"node.mouseAction('click', $event)\"\n >\n </tree-node-content\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n </div>\n\n <ng-container\n [ngTemplateOutlet]=\"templates?.treeNodeWrapperTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: node,\n node: node,\n index: index,\n templates: templates\n }\"\n >\n </ng-container>\n <!-- #endregion <tree-node-wrapper> -->\n\n <tree-node-children role=\"group\" [node]=\"node\" [templates]=\"templates\">\n </tree-node-children>\n\n <tree-node-drop-slot [dropIndex]=\"node.index + 1\" [node]=\"node.parent\">\n </tree-node-drop-slot>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i6.TreeNodeContent, selector: "tree-node-content", inputs: ["node", "index", "template"] }, { kind: "directive", type: i6.TreeDropDirective, selector: "[treeDrop]", inputs: ["allowDragoverStyling", "treeAllowDrop"], outputs: ["treeDrop", "treeDropDragOver", "treeDropDragLeave", "treeDropDragEnter"] }, { kind: "directive", type: i6.TreeDragDirective, selector: "[treeDrag]", inputs: ["treeDrag", "treeDragEnabled"] }, { kind: "component", type: i6.TreeNodeChildrenComponent, selector: "tree-node-children", inputs: ["node", "templates"] }, { kind: "component", type: i6.TreeNodeDropSlot, selector: "TreeNodeDropSlot, tree-node-drop-slot", inputs: ["node", "dropIndex"] }, { kind: "component", type: i7.SkyAngularTreeContextMenuComponent, selector: "sky-angular-tree-context-menu" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }] });
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeNodeComponent, decorators: [{
240
+ SkyAngularTreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeNodeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyAngularTreeAdapterService }, { token: i2.SkyAngularTreeWrapperComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
241
+ SkyAngularTreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SkyAngularTreeNodeComponent, selector: "sky-angular-tree-node", inputs: { index: "index", node: "node", templates: "templates" }, providers: [SkyAngularTreeAdapterService], viewQueries: [{ propertyName: "nodeContentWrapperRef", first: true, predicate: ["nodeContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n *ngIf=\"node && index !== undefined\"\n [class]=\"node.getClass()\"\n [class.tree-node]=\"true\"\n [class.tree-node-active]=\"node.isActive\"\n [class.tree-node-collapsed]=\"node.isCollapsed && node.hasChildren\"\n [class.tree-node-expanded]=\"node.isExpanded && node.hasChildren\"\n [class.tree-node-focused]=\"node.isFocused\"\n [class.tree-node-leaf]=\"node.isLeaf\"\n>\n <tree-node-drop-slot\n *ngIf=\"index === 0\"\n [dropIndex]=\"node.index\"\n [node]=\"node.parent\"\n >\n </tree-node-drop-slot>\n\n <!-- #region <tree-node-wrapper> custom template --->\n <div\n class=\"node-wrapper\"\n role=\"treeitem\"\n [allowDragoverStyling]=\"node.allowDragoverStyling()\"\n [attr.aria-current]=\"node.isActive\"\n [attr.aria-expanded]=\"node.children?.length ? node.isExpanded : null\"\n [attr.aria-selected]=\"ariaSelected()\"\n [attr.data-node-id]=\"node.id\"\n [attr.tabindex]=\"tabIndex\"\n [class.sky-angular-tree-node-active]=\"showActiveClass()\"\n [class.sky-angular-tree-node-selected]=\"showSelectedClass()\"\n [style.padding-left]=\"node.getNodePadding()\"\n [treeAllowDrop]=\"node.allowDrop\"\n [treeDrag]=\"node\"\n [treeDragEnabled]=\"node.allowDrag()\"\n (contextmenu)=\"node.mouseAction('contextMenu', $event)\"\n (dblclick)=\"node.mouseAction('dblClick', $event)\"\n (focus)=\"onFocus()\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (keydown)=\"onKeyDown($event)\"\n (treeDrop)=\"node.onDrop($event)\"\n (treeDropDragEnter)=\"node.mouseAction('dragEnter', $event)\"\n (treeDropDragLeave)=\"node.mouseAction('dragLeave', $event)\"\n (treeDropDragOver)=\"node.mouseAction('dragOver', $event)\"\n #nodeContentWrapper\n >\n <!-- #region <tree-node-expander> custom template --->\n <div class=\"sky-toggle-children-wrapper\">\n <button\n *ngIf=\"node.hasChildren\"\n class=\"sky-btn sky-btn-link sky-toggle-children\"\n tabindex=\"-1\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_angular_tree_click_to_expand' | skyLibResources\n \"\n [class.toggle-children-wrapper-expanded]=\"node.isExpanded\"\n [class.toggle-children-wrapper-collapsed]=\"node.isCollapsed\"\n (click)=\"node.mouseAction('expanderClick', $event)\"\n >\n <sky-icon\n [icon]=\"node.isExpanded ? 'chevron-down' : 'chevron-right'\"\n size=\"sm\"\n >\n </sky-icon>\n </button>\n <span *ngIf=\"showTogglePlaceholder()\" class=\"toggle-children-placeholder\">\n </span>\n </div>\n <!-- #endregion <tree-node-expander> --->\n\n <!-- Note: we've made changes to the click event, tabindex, and classes when compared to the original template. -->\n <!-- https://github.com/500tech/angular-tree-component/blob/master/lib/components/tree-node-wrapper.component.ts -->\n <div class=\"node-content-wrapper\">\n <sky-checkbox\n *ngIf=\"showCheckbox()\"\n [checked]=\"isSelected\"\n [id]=\"node.data.id\"\n [label]=\"node.data.name\"\n [indeterminate]=\"isPartiallySelected\"\n (change)=\"node.mouseAction('checkboxClick', $event)\"\n >\n </sky-checkbox>\n\n <sky-angular-tree-context-menu>\n <ng-content select=\"sky-dropdown\"></ng-content>\n </sky-angular-tree-context-menu>\n\n <tree-node-content\n [index]=\"index\"\n [node]=\"node\"\n [template]=\"templates?.treeNodeTemplate\"\n (click)=\"node.mouseAction('click', $event)\"\n >\n </tree-node-content\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n </div>\n\n <ng-container\n [ngTemplateOutlet]=\"templates?.treeNodeWrapperTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: node,\n node: node,\n index: index,\n templates: templates\n }\"\n >\n </ng-container>\n <!-- #endregion <tree-node-wrapper> -->\n\n <tree-node-children role=\"group\" [node]=\"node\" [templates]=\"templates\">\n </tree-node-children>\n\n <tree-node-drop-slot [dropIndex]=\"node.index + 1\" [node]=\"node.parent\">\n </tree-node-drop-slot>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i6.TreeNodeContent, selector: "tree-node-content", inputs: ["node", "index", "template"] }, { kind: "directive", type: i6.TreeDropDirective, selector: "[treeDrop]", inputs: ["allowDragoverStyling", "treeAllowDrop"], outputs: ["treeDrop", "treeDropDragOver", "treeDropDragLeave", "treeDropDragEnter"] }, { kind: "directive", type: i6.TreeDragDirective, selector: "[treeDrag]", inputs: ["treeDrag", "treeDragEnabled"] }, { kind: "component", type: i6.TreeNodeChildrenComponent, selector: "tree-node-children", inputs: ["node", "templates"] }, { kind: "component", type: i6.TreeNodeDropSlot, selector: "TreeNodeDropSlot, tree-node-drop-slot", inputs: ["node", "dropIndex"] }, { kind: "component", type: i7.SkyAngularTreeContextMenuComponent, selector: "sky-angular-tree-context-menu" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }] });
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeNodeComponent, decorators: [{
243
243
  type: Component,
244
244
  args: [{ selector: 'sky-angular-tree-node', providers: [SkyAngularTreeAdapterService], template: "<div\n *ngIf=\"node && index !== undefined\"\n [class]=\"node.getClass()\"\n [class.tree-node]=\"true\"\n [class.tree-node-active]=\"node.isActive\"\n [class.tree-node-collapsed]=\"node.isCollapsed && node.hasChildren\"\n [class.tree-node-expanded]=\"node.isExpanded && node.hasChildren\"\n [class.tree-node-focused]=\"node.isFocused\"\n [class.tree-node-leaf]=\"node.isLeaf\"\n>\n <tree-node-drop-slot\n *ngIf=\"index === 0\"\n [dropIndex]=\"node.index\"\n [node]=\"node.parent\"\n >\n </tree-node-drop-slot>\n\n <!-- #region <tree-node-wrapper> custom template --->\n <div\n class=\"node-wrapper\"\n role=\"treeitem\"\n [allowDragoverStyling]=\"node.allowDragoverStyling()\"\n [attr.aria-current]=\"node.isActive\"\n [attr.aria-expanded]=\"node.children?.length ? node.isExpanded : null\"\n [attr.aria-selected]=\"ariaSelected()\"\n [attr.data-node-id]=\"node.id\"\n [attr.tabindex]=\"tabIndex\"\n [class.sky-angular-tree-node-active]=\"showActiveClass()\"\n [class.sky-angular-tree-node-selected]=\"showSelectedClass()\"\n [style.padding-left]=\"node.getNodePadding()\"\n [treeAllowDrop]=\"node.allowDrop\"\n [treeDrag]=\"node\"\n [treeDragEnabled]=\"node.allowDrag()\"\n (contextmenu)=\"node.mouseAction('contextMenu', $event)\"\n (dblclick)=\"node.mouseAction('dblClick', $event)\"\n (focus)=\"onFocus()\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (keydown)=\"onKeyDown($event)\"\n (treeDrop)=\"node.onDrop($event)\"\n (treeDropDragEnter)=\"node.mouseAction('dragEnter', $event)\"\n (treeDropDragLeave)=\"node.mouseAction('dragLeave', $event)\"\n (treeDropDragOver)=\"node.mouseAction('dragOver', $event)\"\n #nodeContentWrapper\n >\n <!-- #region <tree-node-expander> custom template --->\n <div class=\"sky-toggle-children-wrapper\">\n <button\n *ngIf=\"node.hasChildren\"\n class=\"sky-btn sky-btn-link sky-toggle-children\"\n tabindex=\"-1\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_angular_tree_click_to_expand' | skyLibResources\n \"\n [class.toggle-children-wrapper-expanded]=\"node.isExpanded\"\n [class.toggle-children-wrapper-collapsed]=\"node.isCollapsed\"\n (click)=\"node.mouseAction('expanderClick', $event)\"\n >\n <sky-icon\n [icon]=\"node.isExpanded ? 'chevron-down' : 'chevron-right'\"\n size=\"sm\"\n >\n </sky-icon>\n </button>\n <span *ngIf=\"showTogglePlaceholder()\" class=\"toggle-children-placeholder\">\n </span>\n </div>\n <!-- #endregion <tree-node-expander> --->\n\n <!-- Note: we've made changes to the click event, tabindex, and classes when compared to the original template. -->\n <!-- https://github.com/500tech/angular-tree-component/blob/master/lib/components/tree-node-wrapper.component.ts -->\n <div class=\"node-content-wrapper\">\n <sky-checkbox\n *ngIf=\"showCheckbox()\"\n [checked]=\"isSelected\"\n [id]=\"node.data.id\"\n [label]=\"node.data.name\"\n [indeterminate]=\"isPartiallySelected\"\n (change)=\"node.mouseAction('checkboxClick', $event)\"\n >\n </sky-checkbox>\n\n <sky-angular-tree-context-menu>\n <ng-content select=\"sky-dropdown\"></ng-content>\n </sky-angular-tree-context-menu>\n\n <tree-node-content\n [index]=\"index\"\n [node]=\"node\"\n [template]=\"templates?.treeNodeTemplate\"\n (click)=\"node.mouseAction('click', $event)\"\n >\n </tree-node-content\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n </div>\n\n <ng-container\n [ngTemplateOutlet]=\"templates?.treeNodeWrapperTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: node,\n node: node,\n index: index,\n templates: templates\n }\"\n >\n </ng-container>\n <!-- #endregion <tree-node-wrapper> -->\n\n <tree-node-children role=\"group\" [node]=\"node\" [templates]=\"templates\">\n </tree-node-children>\n\n <tree-node-drop-slot [dropIndex]=\"node.index + 1\" [node]=\"node.parent\">\n </tree-node-drop-slot>\n</div>\n" }]
245
245
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyAngularTreeAdapterService }, { type: i2.SkyAngularTreeWrapperComponent, decorators: [{
@@ -254,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
254
254
  type: ViewChild,
255
255
  args: ['nodeContentWrapper', { read: ElementRef }]
256
256
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7QUFHOUU7Ozs7Ozs7OztHQVNHO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQXNCdEMsSUFBVyxlQUFlLENBQUMsS0FBeUI7UUFDbEQsSUFBSSxLQUFLLEtBQUssdUJBQUEsSUFBSSxxREFBa0IsRUFBRTtZQUNwQyx1QkFBQSxJQUFJLGlEQUFxQixLQUFLLE1BQUEsQ0FBQztZQUMvQixJQUFJLHVCQUFBLElBQUksc0RBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUM3RCx1QkFBQSxJQUFJLHNEQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3hDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDbkQ7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyx1QkFBQSxJQUFJ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cUJBQ2hDO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUU7NEJBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO3lCQUMxQjs2QkFBTTs0QkFDTCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7eUJBQ3hCO3FCQUNGO29CQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixNQUFNO2dCQUVSO29CQUNFLE1BQU07YUFDVDtTQUNGO0lBQ0gsQ0FBQzs7O0lBR0MsSUFBSSx1QkFBQSxJQUFJLDBEQUF1QixFQUFFO1FBQy9CLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDWCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtnQkFDZixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztnQkFDdEIsQ0FBQyx1QkFBQSxJQUFJLDBEQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQ3BELENBQUM7S0FDSDtTQUFNO1FBQ0wsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7d0hBbFNVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLGtIQUYzQixDQUFDLDRCQUE0QixDQUFDLGtJQTRFQSxVQUFVLDZCQ3hHckQsK3JJQXNIQTsyRkR4RmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1QixhQUV0QixDQUFDLDRCQUE0QixDQUFDOzswQkFrR3RDLFFBQVE7NENBMUZKLEtBQUs7c0JBRFgsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQXdEQyxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVHJlZVN0YXRlLCBUcmVlTm9kZSB9IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgZGVmYXVsdCB0cmVlIG5vZGUgdGVtcGxhdGUgd2l0aCBhIFNLWSBVWCBub2RlIGFzIHBhcnQgb2YgdGhlIGBTa3lBbmd1bGFyVHJlZU1vZHVsZWAgdGhhdFxuICogcHJvdmlkZXMgU0tZIFVYIGNvbXBvbmVudHMgYW5kIHN0eWxlcyB0byBjb21wbGVtZW50IHRoZSBgYW5ndWxhci10cmVlLWNvbXBvbmVudGAgbGlicmFyeSBhbmQgYXBwbHkgU0tZIFVYXG4gKiB0aGVtZXMgYW5kIGZ1bmN0aW9uYWxpdHkgdG8gaGllcmFyY2hpY2FsIGxpc3Qgdmlld3MuIFlvdSBtdXN0IHdyYXAgdGhpcyBjb21wb25lbnQgaW4gYW4gYG5nLXRlbXBsYXRlYFxuICogdGFnIHdpdGggdGhlIHRlbXBsYXRlIHJlZmVyZW5jZSB2YXJpYWJsZSBgI3RyZWVOb2RlRnVsbFRlbXBsYXRlYC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRyZWUgbm9kZSB0ZW1wbGF0ZXMsXG4gKiBzZWUgdGhlIFtBbmd1bGFyIHRyZWUgY29tcG9uZW50IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vYW5ndWxhcjItdHJlZS5yZWFkbWUuaW8vZG9jcy90ZW1wbGF0ZXMpLlxuICogVG8gZGlzcGxheSBjb250ZXh0IG1lbnVzIHdpdGggYWN0aW9ucyBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiBoaWVyYXJjaGljYWwgbGlzdHMsIHBsYWNlXG4gKiBbZHJvcGRvd25zXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXBvcG92ZXJzL2RvY3MvZHJvcGRvd24/ZG9jcy1hY3RpdmUtdGFiPWRlc2lnbikgaW5zaWRlIHRoZVxuICogQW5ndWxhciB0cmVlIG5vZGUgY29tcG9uZW50LCB3aGljaCBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgc3R5bGluZyBhbmQgcG9zaXRpb25pbmcgZm9yIGNvbnRleHQgbWVudXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtbm9kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1NreUFuZ3VsYXJUcmVlQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICAvKipcbiAgICogVGhlIGBpbmRleGAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBgbm9kZWAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuIEZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYFRyZWVOb2RlYCBvYmplY3QsIHNlZSB0aGVcbiAgICogW0FuZ3VsYXIgdHJlZSBjb21wb25lbnQgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL2FwaSkuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG5vZGU6IFRyZWVOb2RlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYHRlbXBsYXRlc2AgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGVtcGxhdGVzOiBhbnk7XG5cbiAgcHVibGljIHNldCBjaGlsZEZvY3VzSW5kZXgodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jX2NoaWxkRm9jdXNJbmRleCkge1xuICAgICAgdGhpcy4jX2NoaWxkRm9jdXNJbmRleCA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMuI2ZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA+IDAgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLiNmb2N1c2FibGVDaGlsZHJlblt2YWx1ZV0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZEZvY3VzSW5kZXgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoaWxkRm9jdXNJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZm9jdXNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudGFiSW5kZXggPSB2YWx1ZSA/IDAgOiAtMTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBpc1BhcnRpYWxseVNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLiNfaXNQYXJ0aWFsbHlTZWxlY3RlZCkge1xuICAgICAgdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQYXJ0aWFsbHlTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzU2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuI19pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLiNfaXNTZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfdGFiSW5kZXg7XG4gIH1cblxuICBAVmlld0NoaWxkKCdub2RlQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIG5vZGVDb250ZW50V3JhcHBlclJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjZm9jdXNhYmxlQ2hpbGRyZW46IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAjbW91c2VEb3duID0gZmFsc2U7XG5cbiAgI19jaGlsZEZvY3VzSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjX2lzUGFydGlhbGx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICAjX2lzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAjX3RhYkluZGV4ID0gLTE7XG5cbiAgI2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2FkYXB0ZXJTZXJ2aWNlOiBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlO1xuICAjc2t5QW5ndWxhclRyZWVXcmFwcGVyOiBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGFkYXB0ZXJTZXJ2aWNlOiBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHNreUFuZ3VsYXJUcmVlV3JhcHBlcj86IFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiA9IGNoYW5nZURldGVjdG9yUmVmO1xuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlID0gYWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyID0gc2t5QW5ndWxhclRyZWVXcmFwcGVyO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgPHNreS1hbmd1bGFyLXRyZWUtbm9kZS13cmFwcGVyPiBtdXN0IGJlIHdyYXBwZWQgaW5zaWRlIGEgPHNreS1hbmd1bGFyLXRyZWUtd3JhcHBlcj4gY29tcG9uZW50LmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgLy8gQmVjYXVzZSB3ZSdyZSBiaW5kaW5nIHRoZSBjaGVja2JveCB0byBub2RlJ3MgY2hpbGRyZW4gcHJvcGVydGllcywgd2UgbmVlZCB0byBtYW51YWxseSBjb250cm9sIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICAvLyBIZXJlLCB3ZSBsaXN0ZW4gdG8gdGhlIHRyZWUncyBzdGF0ZSBhbmQgZm9yY2UgY2hhbmdlIGRldGVjdGlvbiBpbiB0aGUgc2V0dGVycyBpZiB0aGUgdmFsdWUgaGFzIGNoYW5nZWQuXG4gICAgICB0aGlzLm5vZGUudHJlZU1vZGVsLnN1YnNjcmliZVRvU3RhdGUoKHN0YXRlOiBJVHJlZVN0YXRlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLm5vZGUuaXNTZWxlY3RlZDtcbiAgICAgICAgICB0aGlzLmlzUGFydGlhbGx5U2VsZWN0ZWQgPSB0aGlzLm5vZGUuaXNQYXJ0aWFsbHlTZWxlY3RlZDtcblxuICAgICAgICAgIGlmIChzdGF0ZS5mb2N1c2VkTm9kZUlkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSBzdGF0ZS5mb2N1c2VkTm9kZUlkID09PSB0aGlzLm5vZGUuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gTWFrZSB0aGUgZmlyc3Qgcm9vdCBub2RlIHRhYmJhYmxlLlxuICAgICAgaWYgKHRoaXMubm9kZS5pc1Jvb3QgJiYgdGhpcy5ub2RlLmluZGV4ID09PSAwKSB7XG4gICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCAxcyBmb3IgdGhlIG5vZGUgdG8gcmVuZGVyLCB0aGVuIHJlc2V0IGFsbCBjaGlsZCB0YWJJbmRleGVzIHRvIC0xLlxuICAgIC8vIFVuaXRzIHNtYWxsZXIgdGhhbiAxcyBtYXkgY29uc2lzdGVudGx5IGZhaWwgaWYgdGhlcmUgYXJlIG1hbnkgbm9kZXMsIG9yIG11bHRpcGxlIHRyZWVzIGFyZSBvbiB0aGUgc2FtZSBzY3JlZW4uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ub2RlQ29udGVudFdyYXBwZXJSZWYpIHtcbiAgICAgICAgdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4gPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgICAgICB0aGlzLm5vZGVDb250ZW50V3JhcHBlclJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNldFRhYkluZGV4T2ZGb2N1c2FibGVFbHMoXG4gICAgICAgICAgdGhpcy5ub2RlQ29udGVudFdyYXBwZXJSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAtMVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHNpbmdsZS1zZWxlY3QsIHNldCBhcmlhLXNlbGVjdGVkPXRydWUgZm9yIHRoZSBzZWxlY3RlZCBub2RlIGFuZCB1bmRlZmluZWQgZm9yIGFsbCB0aGUgb3RoZXJzLlxuICAgKiBGb3IgbXVsdGlwbGUtc2VsZWN0LCBzZXQgYXJpYS1zZWxlY3RlZCB0byBlaXRoZXIgdHJ1ZSBvciBmYWxzZS5cbiAgICogSWYgbm9kZSBjYW5ub3QgYmUgc2VsZWN0ZWQsIGFyaWEtc2VsZWN0ZWQgc2hvdWxkIGJlIHVuZGVmaW5lZCAoZS5nLiBwYXJlbnQgbm9kZXMgaW4gbGVhZi1zZWxlY3Qtb25seSBtb2RlKS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYXJpYVNlbGVjdGVkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NreUFuZ3VsYXJUcmVlV3JhcHBlci5zZWxlY3RTaW5nbGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWQgPyB0cnVlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICghdGhpcy4jaXNTZWxlY3RhYmxlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gISF0aGlzLmlzU2VsZWN0ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NoZWNrYm94KCk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIGZvciBjaGVja2JveCBtb2RlIGVuYWJsZWQsIGJ1dCBhbHNvIHJlc3BlY3QgbGVhZi1ub2RlIGFuZCBzaW5nbGUtc2VsZWN0IHNldHRpbmdzLlxuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMubm9kZSAmJlxuICAgICAgdGhpcy5ub2RlLm9wdGlvbnMudXNlQ2hlY2tib3ggJiZcbiAgICAgIHRoaXMuI2lzU2VsZWN0YWJsZSgpICYmXG4gICAgICAoIXRoaXMuI3NreUFuZ3VsYXJUcmVlV3JhcHBlciB8fFxuICAgICAgICAhdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyLnNlbGVjdFNpbmdsZSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNob3dTZWxlY3RlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNpc1NlbGVjdGFibGUoKSAmJiB0aGlzLmlzU2VsZWN0ZWQgJiYgIXRoaXMuaXNQYXJ0aWFsbHlTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QWN0aXZlQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5ub2RlICYmXG4gICAgICB0aGlzLm5vZGUuaXNBY3RpdmUgJiZcbiAgICAgICF0aGlzLm5vZGUudHJlZU1vZGVsLm9wdGlvbnMudXNlQ2hlY2tib3hcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNob3dUb2dnbGVQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMubm9kZT8uaGFzQ2hpbGRyZW4gJiZcbiAgICAgICF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXI/LnNlbGVjdExlYWZOb2Rlc09ubHlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gPHRyZWUtbm9kZS1jb250ZW50PiBoYXMgaXRzIG93biBjbGljayBoYW5kbGVyLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGlmIHRoaXMgZm9jdXMgZXZlbnRcbiAgICAvLyBpcyBjb21pbmcgZnJvbSB0aGUgbW91c2UgY2xpY2sgb3IgdGhlIGtleWJvYXJkIHRvIHByZXZlbnQgdGhlIGxvZ2ljIGZyb20gcnVubmluZyB0d2ljZS5cbiAgICBpZiAoIXRoaXMuI21vdXNlRG93bikge1xuICAgICAgdGhpcy5ub2RlPy50cmVlTW9kZWwuc2V0Rm9jdXModHJ1ZSk7XG4gICAgICB0aGlzLm5vZGU/LmZvY3VzKCk7XG4gICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZURvd24oKTogdm9pZCB7XG4gICAgdGhpcy4jbW91c2VEb3duID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlVXAoKTogdm9pZCB7XG4gICAgdGhpcy4jbW91c2VEb3duID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0KSB7XG4gICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgLy8gRm9jdXMgb24gcHJldmlvdXMgbm9kZS5cbiAgICAgICAgICB0aGlzLm5vZGU/LnRyZWVNb2RlbC5mb2N1c1ByZXZpb3VzTm9kZSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICBjYXNlICdhcnJvd2Rvd24nOlxuICAgICAgICAgIC8vIEZvY3VzIG9uIG5leHQgbm9kZS5cbiAgICAgICAgICB0aGlzLm5vZGU/LnRyZWVNb2RlbC5mb2N1c05leHROb2RlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGNhc2UgJ2Fycm93bGVmdCc6XG4gICAgICAgICAgLy8gQ3ljbGUgYmFja3dhcmRzIHRocm91Z2ggaW50ZXJhY3RpdmUgY2hpbGQgZWxlbWVudHNcbiAgICAgICAgICAvLyBJZiB1c2VyIHJlYWNoZXMgdGhlIGJlZ2lubmluZywgYWN0aXZhdGUgZHJpbGwgdXAuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAodGhpcy5jaGlsZEZvY3VzSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hpbGRGb2N1c0luZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5jaGlsZEZvY3VzSW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ub2RlPy5zZXRJc0V4cGFuZGVkKGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIGNhc2UgJ2Fycm93cmlnaHQnOlxuICAgICAgICAgIC8vIEN5Y2xlIGZvcndhcmQgdGhyb3VnaCBpbnRlcmFjdGl2ZSBjaGlsZCBlbGVtZW50cy5cbiAgICAgICAgICAvLyBJZiB1c2VyIHJlYWNoZXMgdGhlIGVuZCwgYWN0aXZhdGUgZHJpbGwgZG93bi5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA8PSAwIHx8XG4gICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCA9PT0gdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoIC0gMVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ub2RlPy5zZXRJc0V4cGFuZGVkKHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jaGlsZEZvY3VzSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCA9IDA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2lzU2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAhIXRoaXMubm9kZSAmJlxuICAgICAgICAodGhpcy5ub2RlLmlzTGVhZiB8fFxuICAgICAgICAgICF0aGlzLm5vZGUuaGFzQ2hpbGRyZW4gfHxcbiAgICAgICAgICAhdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyLnNlbGVjdExlYWZOb2Rlc09ubHkpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwibm9kZSAmJiBpbmRleCAhPT0gdW5kZWZpbmVkXCJcbiAgW2NsYXNzXT1cIm5vZGUuZ2V0Q2xhc3MoKVwiXG4gIFtjbGFzcy50cmVlLW5vZGVdPVwidHJ1ZVwiXG4gIFtjbGFzcy50cmVlLW5vZGUtYWN0aXZlXT1cIm5vZGUuaXNBY3RpdmVcIlxuICBbY2xhc3MudHJlZS1ub2RlLWNvbGxhcHNlZF09XCJub2RlLmlzQ29sbGFwc2VkICYmIG5vZGUuaGFzQ2hpbGRyZW5cIlxuICBbY2xhc3MudHJlZS1ub2RlLWV4cGFuZGVkXT1cIm5vZGUuaXNFeHBhbmRlZCAmJiBub2RlLmhhc0NoaWxkcmVuXCJcbiAgW2NsYXNzLnRyZWUtbm9kZS1mb2N1c2VkXT1cIm5vZGUuaXNGb2N1c2VkXCJcbiAgW2NsYXNzLnRyZWUtbm9kZS1sZWFmXT1cIm5vZGUuaXNMZWFmXCJcbj5cbiAgPHRyZWUtbm9kZS1kcm9wLXNsb3RcbiAgICAqbmdJZj1cImluZGV4ID09PSAwXCJcbiAgICBbZHJvcEluZGV4XT1cIm5vZGUuaW5kZXhcIlxuICAgIFtub2RlXT1cIm5vZGUucGFyZW50XCJcbiAgPlxuICA8L3RyZWUtbm9kZS1kcm9wLXNsb3Q+XG5cbiAgPCEtLSAjcmVnaW9uIDx0cmVlLW5vZGUtd3JhcHBlcj4gY3VzdG9tIHRlbXBsYXRlIC0tLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwibm9kZS13cmFwcGVyXCJcbiAgICByb2xlPVwidHJlZWl0ZW1cIlxuICAgIFthbGxvd0RyYWdvdmVyU3R5bGluZ109XCJub2RlLmFsbG93RHJhZ292ZXJTdHlsaW5nKClcIlxuICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJub2RlLmlzQWN0aXZlXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm5vZGUuY2hpbGRyZW4/Lmxlbmd0aCA/IG5vZGUuaXNFeHBhbmRlZCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYXJpYVNlbGVjdGVkKClcIlxuICAgIFthdHRyLmRhdGEtbm9kZS1pZF09XCJub2RlLmlkXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1hY3RpdmVdPVwic2hvd0FjdGl2ZUNsYXNzKClcIlxuICAgIFtjbGFzcy5za3ktYW5ndWxhci10cmVlLW5vZGUtc2VsZWN0ZWRdPVwic2hvd1NlbGVjdGVkQ2xhc3MoKVwiXG4gICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCJub2RlLmdldE5vZGVQYWRkaW5nKClcIlxuICAgIFt0cmVlQWxsb3dEcm9wXT1cIm5vZGUuYWxsb3dEcm9wXCJcbiAgICBbdHJlZURyYWddPVwibm9kZVwiXG4gICAgW3RyZWVEcmFnRW5hYmxlZF09XCJub2RlLmFsbG93RHJhZygpXCJcbiAgICAoY29udGV4dG1lbnUpPVwibm9kZS5tb3VzZUFjdGlvbignY29udGV4dE1lbnUnLCAkZXZlbnQpXCJcbiAgICAoZGJsY2xpY2spPVwibm9kZS5tb3VzZUFjdGlvbignZGJsQ2xpY2snLCAkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKClcIlxuICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgKHRyZWVEcm9wKT1cIm5vZGUub25Ecm9wKCRldmVudClcIlxuICAgICh0cmVlRHJvcERyYWdFbnRlcik9XCJub2RlLm1vdXNlQWN0aW9uKCdkcmFnRW50ZXInLCAkZXZlbnQpXCJcbiAgICAodHJlZURyb3BEcmFnTGVhdmUpPVwibm9kZS5tb3VzZUFjdGlvbignZHJhZ0xlYXZlJywgJGV2ZW50KVwiXG4gICAgKHRyZWVEcm9wRHJhZ092ZXIpPVwibm9kZS5tb3VzZUFjdGlvbignZHJhZ092ZXInLCAkZXZlbnQpXCJcbiAgICAjbm9kZUNvbnRlbnRXcmFwcGVyXG4gID5cbiAgICA8IS0tICNyZWdpb24gPHRyZWUtbm9kZS1leHBhbmRlcj4gY3VzdG9tIHRlbXBsYXRlIC0tLT5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibm9kZS5oYXNDaGlsZHJlblwiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LXRvZ2dsZS1jaGlsZHJlblwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAnc2t5dXhfYW5ndWxhcl90cmVlX2NsaWNrX3RvX2V4cGFuZCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgXCJcbiAgICAgICAgW2NsYXNzLnRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyLWV4cGFuZGVkXT1cIm5vZGUuaXNFeHBhbmRlZFwiXG4gICAgICAgIFtjbGFzcy50b2dnbGUtY2hpbGRyZW4td3JhcHBlci1jb2xsYXBzZWRdPVwibm9kZS5pc0NvbGxhcHNlZFwiXG4gICAgICAgIChjbGljayk9XCJub2RlLm1vdXNlQWN0aW9uKCdleHBhbmRlckNsaWNrJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgIFtpY29uXT1cIm5vZGUuaXNFeHBhbmRlZCA/ICdjaGV2cm9uLWRvd24nIDogJ2NoZXZyb24tcmlnaHQnXCJcbiAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1RvZ2dsZVBsYWNlaG9sZGVyKClcIiBjbGFzcz1cInRvZ2dsZS1jaGlsZHJlbi1wbGFjZWhvbGRlclwiPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gI2VuZHJlZ2lvbiA8dHJlZS1ub2RlLWV4cGFuZGVyPiAtLS0+XG5cbiAgICA8IS0tIE5vdGU6IHdlJ3ZlIG1hZGUgY2hhbmdlcyB0byB0aGUgY2xpY2sgZXZlbnQsIHRhYmluZGV4LCBhbmQgY2xhc3NlcyB3aGVuIGNvbXBhcmVkIHRvIHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZS4gLS0+XG4gICAgPCEtLSBodHRwczovL2dpdGh1Yi5jb20vNTAwdGVjaC9hbmd1bGFyLXRyZWUtY29tcG9uZW50L2Jsb2IvbWFzdGVyL2xpYi9jb21wb25lbnRzL3RyZWUtbm9kZS13cmFwcGVyLmNvbXBvbmVudC50cyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibm9kZS1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgKm5nSWY9XCJzaG93Q2hlY2tib3goKVwiXG4gICAgICAgIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIlxuICAgICAgICBbaWRdPVwibm9kZS5kYXRhLmlkXCJcbiAgICAgICAgW2xhYmVsXT1cIm5vZGUuZGF0YS5uYW1lXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNQYXJ0aWFsbHlTZWxlY3RlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwibm9kZS5tb3VzZUFjdGlvbignY2hlY2tib3hDbGljaycsICRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9za3ktY2hlY2tib3g+XG5cbiAgICAgIDxza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudT5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRyb3Bkb3duXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9za3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudT5cblxuICAgICAgPHRyZWUtbm9kZS1jb250ZW50XG4gICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgICBbdGVtcGxhdGVdPVwidGVtcGxhdGVzPy50cmVlTm9kZVRlbXBsYXRlXCJcbiAgICAgICAgKGNsaWNrKT1cIm5vZGUubW91c2VBY3Rpb24oJ2NsaWNrJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3RyZWUtbm9kZS1jb250ZW50XG4gICAgICA+PHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiXG4gICAgICAgID48bmctY29udGVudCBzZWxlY3Q9XCIuc2t5LWNvbnRyb2wtaGVscFwiPjwvbmctY29udGVudFxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlcz8udHJlZU5vZGVXcmFwcGVyVGVtcGxhdGVcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAkaW1wbGljaXQ6IG5vZGUsXG4gICAgICBub2RlOiBub2RlLFxuICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgdGVtcGxhdGVzOiB0ZW1wbGF0ZXNcbiAgICB9XCJcbiAgPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSAjZW5kcmVnaW9uIDx0cmVlLW5vZGUtd3JhcHBlcj4gLS0+XG5cbiAgPHRyZWUtbm9kZS1jaGlsZHJlbiByb2xlPVwiZ3JvdXBcIiBbbm9kZV09XCJub2RlXCIgW3RlbXBsYXRlc109XCJ0ZW1wbGF0ZXNcIj5cbiAgPC90cmVlLW5vZGUtY2hpbGRyZW4+XG5cbiAgPHRyZWUtbm9kZS1kcm9wLXNsb3QgW2Ryb3BJbmRleF09XCJub2RlLmluZGV4ICsgMVwiIFtub2RlXT1cIm5vZGUucGFyZW50XCI+XG4gIDwvdHJlZS1ub2RlLWRyb3Atc2xvdD5cbjwvZGl2PlxuIl19
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7QUFHOUU7Ozs7Ozs7OztHQVNHO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQXNCdEMsSUFBVyxlQUFlLENBQUMsS0FBeUI7UUFDbEQsSUFBSSxLQUFLLEtBQUssdUJBQUEsSUFBSSxxREFBa0IsRUFBRTtZQUNwQyx1QkFBQSxJQUFJLGlEQUFxQixLQUFLLE1BQUEsQ0FBQztZQUMvQixJQUFJLHVCQUFBLElBQUksc0RBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUM3RCx1QkFBQSxJQUFJLHNEQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3hDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDbkQ7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyx1QkFBQSxJQUFJ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cUJBQ2hDO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUU7NEJBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO3lCQUMxQjs2QkFBTTs0QkFDTCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7eUJBQ3hCO3FCQUNGO29CQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixNQUFNO2dCQUVSO29CQUNFLE1BQU07YUFDVDtTQUNGO0lBQ0gsQ0FBQzs7O0lBR0MsSUFBSSx1QkFBQSxJQUFJLDBEQUF1QixFQUFFO1FBQy9CLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDWCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtnQkFDZixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztnQkFDdEIsQ0FBQyx1QkFBQSxJQUFJLDBEQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQ3BELENBQUM7S0FDSDtTQUFNO1FBQ0wsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7eUhBbFNVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLGtIQUYzQixDQUFDLDRCQUE0QixDQUFDLGtJQTRFQSxVQUFVLDZCQ3hHckQsK3JJQXNIQTs0RkR4RmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1QixhQUV0QixDQUFDLDRCQUE0QixDQUFDOzswQkFrR3RDLFFBQVE7NENBMUZKLEtBQUs7c0JBRFgsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQXdEQyxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVHJlZVN0YXRlLCBUcmVlTm9kZSB9IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgZGVmYXVsdCB0cmVlIG5vZGUgdGVtcGxhdGUgd2l0aCBhIFNLWSBVWCBub2RlIGFzIHBhcnQgb2YgdGhlIGBTa3lBbmd1bGFyVHJlZU1vZHVsZWAgdGhhdFxuICogcHJvdmlkZXMgU0tZIFVYIGNvbXBvbmVudHMgYW5kIHN0eWxlcyB0byBjb21wbGVtZW50IHRoZSBgYW5ndWxhci10cmVlLWNvbXBvbmVudGAgbGlicmFyeSBhbmQgYXBwbHkgU0tZIFVYXG4gKiB0aGVtZXMgYW5kIGZ1bmN0aW9uYWxpdHkgdG8gaGllcmFyY2hpY2FsIGxpc3Qgdmlld3MuIFlvdSBtdXN0IHdyYXAgdGhpcyBjb21wb25lbnQgaW4gYW4gYG5nLXRlbXBsYXRlYFxuICogdGFnIHdpdGggdGhlIHRlbXBsYXRlIHJlZmVyZW5jZSB2YXJpYWJsZSBgI3RyZWVOb2RlRnVsbFRlbXBsYXRlYC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRyZWUgbm9kZSB0ZW1wbGF0ZXMsXG4gKiBzZWUgdGhlIFtBbmd1bGFyIHRyZWUgY29tcG9uZW50IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vYW5ndWxhcjItdHJlZS5yZWFkbWUuaW8vZG9jcy90ZW1wbGF0ZXMpLlxuICogVG8gZGlzcGxheSBjb250ZXh0IG1lbnVzIHdpdGggYWN0aW9ucyBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiBoaWVyYXJjaGljYWwgbGlzdHMsIHBsYWNlXG4gKiBbZHJvcGRvd25zXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXBvcG92ZXJzL2RvY3MvZHJvcGRvd24/ZG9jcy1hY3RpdmUtdGFiPWRlc2lnbikgaW5zaWRlIHRoZVxuICogQW5ndWxhciB0cmVlIG5vZGUgY29tcG9uZW50LCB3aGljaCBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgc3R5bGluZyBhbmQgcG9zaXRpb25pbmcgZm9yIGNvbnRleHQgbWVudXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtbm9kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1NreUFuZ3VsYXJUcmVlQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICAvKipcbiAgICogVGhlIGBpbmRleGAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBgbm9kZWAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuIEZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYFRyZWVOb2RlYCBvYmplY3QsIHNlZSB0aGVcbiAgICogW0FuZ3VsYXIgdHJlZSBjb21wb25lbnQgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL2FwaSkuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG5vZGU6IFRyZWVOb2RlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYHRlbXBsYXRlc2AgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGVtcGxhdGVzOiBhbnk7XG5cbiAgcHVibGljIHNldCBjaGlsZEZvY3VzSW5kZXgodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jX2NoaWxkRm9jdXNJbmRleCkge1xuICAgICAgdGhpcy4jX2NoaWxkRm9jdXNJbmRleCA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMuI2ZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA+IDAgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLiNmb2N1c2FibGVDaGlsZHJlblt2YWx1ZV0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZEZvY3VzSW5kZXgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoaWxkRm9jdXNJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZm9jdXNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudGFiSW5kZXggPSB2YWx1ZSA/IDAgOiAtMTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBpc1BhcnRpYWxseVNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLiNfaXNQYXJ0aWFsbHlTZWxlY3RlZCkge1xuICAgICAgdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQYXJ0aWFsbHlTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzU2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuI19pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLiNfaXNTZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfdGFiSW5kZXg7XG4gIH1cblxuICBAVmlld0NoaWxkKCdub2RlQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIG5vZGVDb250ZW50V3JhcHBlclJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjZm9jdXNhYmxlQ2hpbGRyZW46IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAjbW91c2VEb3duID0gZmFsc2U7XG5cbiAgI19jaGlsZEZvY3VzSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjX2lzUGFydGlhbGx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICAjX2lzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAjX3RhYkluZGV4ID0gLTE7XG5cbiAgI2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2FkYXB0ZXJTZXJ2aWNlOiBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlO1xuICAjc2t5QW5ndWxhclRyZWVXcmFwcGVyOiBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGFkYXB0ZXJTZXJ2aWNlOiBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHNreUFuZ3VsYXJUcmVlV3JhcHBlcj86IFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiA9IGNoYW5nZURldGVjdG9yUmVmO1xuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlID0gYWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyID0gc2t5QW5ndWxhclRyZWVXcmFwcGVyO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgPHNreS1hbmd1bGFyLXRyZWUtbm9kZS13cmFwcGVyPiBtdXN0IGJlIHdyYXBwZWQgaW5zaWRlIGEgPHNreS1hbmd1bGFyLXRyZWUtd3JhcHBlcj4gY29tcG9uZW50LmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgLy8gQmVjYXVzZSB3ZSdyZSBiaW5kaW5nIHRoZSBjaGVja2JveCB0byBub2RlJ3MgY2hpbGRyZW4gcHJvcGVydGllcywgd2UgbmVlZCB0byBtYW51YWxseSBjb250cm9sIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICAvLyBIZXJlLCB3ZSBsaXN0ZW4gdG8gdGhlIHRyZWUncyBzdGF0ZSBhbmQgZm9yY2UgY2hhbmdlIGRldGVjdGlvbiBpbiB0aGUgc2V0dGVycyBpZiB0aGUgdmFsdWUgaGFzIGNoYW5nZWQuXG4gICAgICB0aGlzLm5vZGUudHJlZU1vZGVsLnN1YnNjcmliZVRvU3RhdGUoKHN0YXRlOiBJVHJlZVN0YXRlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLm5vZGUuaXNTZWxlY3RlZDtcbiAgICAgICAgICB0aGlzLmlzUGFydGlhbGx5U2VsZWN0ZWQgPSB0aGlzLm5vZGUuaXNQYXJ0aWFsbHlTZWxlY3RlZDtcblxuICAgICAgICAgIGlmIChzdGF0ZS5mb2N1c2VkTm9kZUlkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSBzdGF0ZS5mb2N1c2VkTm9kZUlkID09PSB0aGlzLm5vZGUuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gTWFrZSB0aGUgZmlyc3Qgcm9vdCBub2RlIHRhYmJhYmxlLlxuICAgICAgaWYgKHRoaXMubm9kZS5pc1Jvb3QgJiYgdGhpcy5ub2RlLmluZGV4ID09PSAwKSB7XG4gICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCAxcyBmb3IgdGhlIG5vZGUgdG8gcmVuZGVyLCB0aGVuIHJlc2V0IGFsbCBjaGlsZCB0YWJJbmRleGVzIHRvIC0xLlxuICAgIC8vIFVuaXRzIHNtYWxsZXIgdGhhbiAxcyBtYXkgY29uc2lzdGVudGx5IGZhaWwgaWYgdGhlcmUgYXJlIG1hbnkgbm9kZXMsIG9yIG11bHRpcGxlIHRyZWVzIGFyZSBvbiB0aGUgc2FtZSBzY3JlZW4uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ub2RlQ29udGVudFdyYXBwZXJSZWYpIHtcbiAgICAgICAgdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4gPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgICAgICB0aGlzLm5vZGVDb250ZW50V3JhcHBlclJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNldFRhYkluZGV4T2ZGb2N1c2FibGVFbHMoXG4gICAgICAgICAgdGhpcy5ub2RlQ29udGVudFdyYXBwZXJSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAtMVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHNpbmdsZS1zZWxlY3QsIHNldCBhcmlhLXNlbGVjdGVkPXRydWUgZm9yIHRoZSBzZWxlY3RlZCBub2RlIGFuZCB1bmRlZmluZWQgZm9yIGFsbCB0aGUgb3RoZXJzLlxuICAgKiBGb3IgbXVsdGlwbGUtc2VsZWN0LCBzZXQgYXJpYS1zZWxlY3RlZCB0byBlaXRoZXIgdHJ1ZSBvciBmYWxzZS5cbiAgICogSWYgbm9kZSBjYW5ub3QgYmUgc2VsZWN0ZWQsIGFyaWEtc2VsZWN0ZWQgc2hvdWxkIGJlIHVuZGVmaW5lZCAoZS5nLiBwYXJlbnQgbm9kZXMgaW4gbGVhZi1zZWxlY3Qtb25seSBtb2RlKS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYXJpYVNlbGVjdGVkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NreUFuZ3VsYXJUcmVlV3JhcHBlci5zZWxlY3RTaW5nbGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWQgPyB0cnVlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICghdGhpcy4jaXNTZWxlY3RhYmxlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gISF0aGlzLmlzU2VsZWN0ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NoZWNrYm94KCk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIGZvciBjaGVja2JveCBtb2RlIGVuYWJsZWQsIGJ1dCBhbHNvIHJlc3BlY3QgbGVhZi1ub2RlIGFuZCBzaW5nbGUtc2VsZWN0IHNldHRpbmdzLlxuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMubm9kZSAmJlxuICAgICAgdGhpcy5ub2RlLm9wdGlvbnMudXNlQ2hlY2tib3ggJiZcbiAgICAgIHRoaXMuI2lzU2VsZWN0YWJsZSgpICYmXG4gICAgICAoIXRoaXMuI3NreUFuZ3VsYXJUcmVlV3JhcHBlciB8fFxuICAgICAgICAhdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyLnNlbGVjdFNpbmdsZSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNob3dTZWxlY3RlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNpc1NlbGVjdGFibGUoKSAmJiB0aGlzLmlzU2VsZWN0ZWQgJiYgIXRoaXMuaXNQYXJ0aWFsbHlTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QWN0aXZlQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5ub2RlICYmXG4gICAgICB0aGlzLm5vZGUuaXNBY3RpdmUgJiZcbiAgICAgICF0aGlzLm5vZGUudHJlZU1vZGVsLm9wdGlvbnMudXNlQ2hlY2tib3hcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNob3dUb2dnbGVQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMubm9kZT8uaGFzQ2hpbGRyZW4gJiZcbiAgICAgICF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXI/LnNlbGVjdExlYWZOb2Rlc09ubHlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gPHRyZWUtbm9kZS1jb250ZW50PiBoYXMgaXRzIG93biBjbGljayBoYW5kbGVyLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGlmIHRoaXMgZm9jdXMgZXZlbnRcbiAgICAvLyBpcyBjb21pbmcgZnJvbSB0aGUgbW91c2UgY2xpY2sgb3IgdGhlIGtleWJvYXJkIHRvIHByZXZlbnQgdGhlIGxvZ2ljIGZyb20gcnVubmluZyB0d2ljZS5cbiAgICBpZiAoIXRoaXMuI21vdXNlRG93bikge1xuICAgICAgdGhpcy5ub2RlPy50cmVlTW9kZWwuc2V0Rm9jdXModHJ1ZSk7XG4gICAgICB0aGlzLm5vZGU/LmZvY3VzKCk7XG4gICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZURvd24oKTogdm9pZCB7XG4gICAgdGhpcy4jbW91c2VEb3duID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlVXAoKTogdm9pZCB7XG4gICAgdGhpcy4jbW91c2VEb3duID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0KSB7XG4gICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgLy8gRm9jdXMgb24gcHJldmlvdXMgbm9kZS5cbiAgICAgICAgICB0aGlzLm5vZGU/LnRyZWVNb2RlbC5mb2N1c1ByZXZpb3VzTm9kZSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICBjYXNlICdhcnJvd2Rvd24nOlxuICAgICAgICAgIC8vIEZvY3VzIG9uIG5leHQgbm9kZS5cbiAgICAgICAgICB0aGlzLm5vZGU/LnRyZWVNb2RlbC5mb2N1c05leHROb2RlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGNhc2UgJ2Fycm93bGVmdCc6XG4gICAgICAgICAgLy8gQ3ljbGUgYmFja3dhcmRzIHRocm91Z2ggaW50ZXJhY3RpdmUgY2hpbGQgZWxlbWVudHNcbiAgICAgICAgICAvLyBJZiB1c2VyIHJlYWNoZXMgdGhlIGJlZ2lubmluZywgYWN0aXZhdGUgZHJpbGwgdXAuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAodGhpcy5jaGlsZEZvY3VzSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hpbGRGb2N1c0luZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5jaGlsZEZvY3VzSW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ub2RlPy5zZXRJc0V4cGFuZGVkKGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIGNhc2UgJ2Fycm93cmlnaHQnOlxuICAgICAgICAgIC8vIEN5Y2xlIGZvcndhcmQgdGhyb3VnaCBpbnRlcmFjdGl2ZSBjaGlsZCBlbGVtZW50cy5cbiAgICAgICAgICAvLyBJZiB1c2VyIHJlYWNoZXMgdGhlIGVuZCwgYWN0aXZhdGUgZHJpbGwgZG93bi5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA8PSAwIHx8XG4gICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCA9PT0gdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoIC0gMVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ub2RlPy5zZXRJc0V4cGFuZGVkKHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jaGlsZEZvY3VzSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCA9IDA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2lzU2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAhIXRoaXMubm9kZSAmJlxuICAgICAgICAodGhpcy5ub2RlLmlzTGVhZiB8fFxuICAgICAgICAgICF0aGlzLm5vZGUuaGFzQ2hpbGRyZW4gfHxcbiAgICAgICAgICAhdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyLnNlbGVjdExlYWZOb2Rlc09ubHkpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwibm9kZSAmJiBpbmRleCAhPT0gdW5kZWZpbmVkXCJcbiAgW2NsYXNzXT1cIm5vZGUuZ2V0Q2xhc3MoKVwiXG4gIFtjbGFzcy50cmVlLW5vZGVdPVwidHJ1ZVwiXG4gIFtjbGFzcy50cmVlLW5vZGUtYWN0aXZlXT1cIm5vZGUuaXNBY3RpdmVcIlxuICBbY2xhc3MudHJlZS1ub2RlLWNvbGxhcHNlZF09XCJub2RlLmlzQ29sbGFwc2VkICYmIG5vZGUuaGFzQ2hpbGRyZW5cIlxuICBbY2xhc3MudHJlZS1ub2RlLWV4cGFuZGVkXT1cIm5vZGUuaXNFeHBhbmRlZCAmJiBub2RlLmhhc0NoaWxkcmVuXCJcbiAgW2NsYXNzLnRyZWUtbm9kZS1mb2N1c2VkXT1cIm5vZGUuaXNGb2N1c2VkXCJcbiAgW2NsYXNzLnRyZWUtbm9kZS1sZWFmXT1cIm5vZGUuaXNMZWFmXCJcbj5cbiAgPHRyZWUtbm9kZS1kcm9wLXNsb3RcbiAgICAqbmdJZj1cImluZGV4ID09PSAwXCJcbiAgICBbZHJvcEluZGV4XT1cIm5vZGUuaW5kZXhcIlxuICAgIFtub2RlXT1cIm5vZGUucGFyZW50XCJcbiAgPlxuICA8L3RyZWUtbm9kZS1kcm9wLXNsb3Q+XG5cbiAgPCEtLSAjcmVnaW9uIDx0cmVlLW5vZGUtd3JhcHBlcj4gY3VzdG9tIHRlbXBsYXRlIC0tLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwibm9kZS13cmFwcGVyXCJcbiAgICByb2xlPVwidHJlZWl0ZW1cIlxuICAgIFthbGxvd0RyYWdvdmVyU3R5bGluZ109XCJub2RlLmFsbG93RHJhZ292ZXJTdHlsaW5nKClcIlxuICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJub2RlLmlzQWN0aXZlXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm5vZGUuY2hpbGRyZW4/Lmxlbmd0aCA/IG5vZGUuaXNFeHBhbmRlZCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYXJpYVNlbGVjdGVkKClcIlxuICAgIFthdHRyLmRhdGEtbm9kZS1pZF09XCJub2RlLmlkXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1hY3RpdmVdPVwic2hvd0FjdGl2ZUNsYXNzKClcIlxuICAgIFtjbGFzcy5za3ktYW5ndWxhci10cmVlLW5vZGUtc2VsZWN0ZWRdPVwic2hvd1NlbGVjdGVkQ2xhc3MoKVwiXG4gICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCJub2RlLmdldE5vZGVQYWRkaW5nKClcIlxuICAgIFt0cmVlQWxsb3dEcm9wXT1cIm5vZGUuYWxsb3dEcm9wXCJcbiAgICBbdHJlZURyYWddPVwibm9kZVwiXG4gICAgW3RyZWVEcmFnRW5hYmxlZF09XCJub2RlLmFsbG93RHJhZygpXCJcbiAgICAoY29udGV4dG1lbnUpPVwibm9kZS5tb3VzZUFjdGlvbignY29udGV4dE1lbnUnLCAkZXZlbnQpXCJcbiAgICAoZGJsY2xpY2spPVwibm9kZS5tb3VzZUFjdGlvbignZGJsQ2xpY2snLCAkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKClcIlxuICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgKHRyZWVEcm9wKT1cIm5vZGUub25Ecm9wKCRldmVudClcIlxuICAgICh0cmVlRHJvcERyYWdFbnRlcik9XCJub2RlLm1vdXNlQWN0aW9uKCdkcmFnRW50ZXInLCAkZXZlbnQpXCJcbiAgICAodHJlZURyb3BEcmFnTGVhdmUpPVwibm9kZS5tb3VzZUFjdGlvbignZHJhZ0xlYXZlJywgJGV2ZW50KVwiXG4gICAgKHRyZWVEcm9wRHJhZ092ZXIpPVwibm9kZS5tb3VzZUFjdGlvbignZHJhZ092ZXInLCAkZXZlbnQpXCJcbiAgICAjbm9kZUNvbnRlbnRXcmFwcGVyXG4gID5cbiAgICA8IS0tICNyZWdpb24gPHRyZWUtbm9kZS1leHBhbmRlcj4gY3VzdG9tIHRlbXBsYXRlIC0tLT5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibm9kZS5oYXNDaGlsZHJlblwiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LXRvZ2dsZS1jaGlsZHJlblwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAnc2t5dXhfYW5ndWxhcl90cmVlX2NsaWNrX3RvX2V4cGFuZCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgXCJcbiAgICAgICAgW2NsYXNzLnRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyLWV4cGFuZGVkXT1cIm5vZGUuaXNFeHBhbmRlZFwiXG4gICAgICAgIFtjbGFzcy50b2dnbGUtY2hpbGRyZW4td3JhcHBlci1jb2xsYXBzZWRdPVwibm9kZS5pc0NvbGxhcHNlZFwiXG4gICAgICAgIChjbGljayk9XCJub2RlLm1vdXNlQWN0aW9uKCdleHBhbmRlckNsaWNrJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgIFtpY29uXT1cIm5vZGUuaXNFeHBhbmRlZCA/ICdjaGV2cm9uLWRvd24nIDogJ2NoZXZyb24tcmlnaHQnXCJcbiAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1RvZ2dsZVBsYWNlaG9sZGVyKClcIiBjbGFzcz1cInRvZ2dsZS1jaGlsZHJlbi1wbGFjZWhvbGRlclwiPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gI2VuZHJlZ2lvbiA8dHJlZS1ub2RlLWV4cGFuZGVyPiAtLS0+XG5cbiAgICA8IS0tIE5vdGU6IHdlJ3ZlIG1hZGUgY2hhbmdlcyB0byB0aGUgY2xpY2sgZXZlbnQsIHRhYmluZGV4LCBhbmQgY2xhc3NlcyB3aGVuIGNvbXBhcmVkIHRvIHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZS4gLS0+XG4gICAgPCEtLSBodHRwczovL2dpdGh1Yi5jb20vNTAwdGVjaC9hbmd1bGFyLXRyZWUtY29tcG9uZW50L2Jsb2IvbWFzdGVyL2xpYi9jb21wb25lbnRzL3RyZWUtbm9kZS13cmFwcGVyLmNvbXBvbmVudC50cyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibm9kZS1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgKm5nSWY9XCJzaG93Q2hlY2tib3goKVwiXG4gICAgICAgIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIlxuICAgICAgICBbaWRdPVwibm9kZS5kYXRhLmlkXCJcbiAgICAgICAgW2xhYmVsXT1cIm5vZGUuZGF0YS5uYW1lXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNQYXJ0aWFsbHlTZWxlY3RlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwibm9kZS5tb3VzZUFjdGlvbignY2hlY2tib3hDbGljaycsICRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9za3ktY2hlY2tib3g+XG5cbiAgICAgIDxza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudT5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRyb3Bkb3duXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9za3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudT5cblxuICAgICAgPHRyZWUtbm9kZS1jb250ZW50XG4gICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgICBbdGVtcGxhdGVdPVwidGVtcGxhdGVzPy50cmVlTm9kZVRlbXBsYXRlXCJcbiAgICAgICAgKGNsaWNrKT1cIm5vZGUubW91c2VBY3Rpb24oJ2NsaWNrJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3RyZWUtbm9kZS1jb250ZW50XG4gICAgICA+PHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiXG4gICAgICAgID48bmctY29udGVudCBzZWxlY3Q9XCIuc2t5LWNvbnRyb2wtaGVscFwiPjwvbmctY29udGVudFxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlcz8udHJlZU5vZGVXcmFwcGVyVGVtcGxhdGVcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAkaW1wbGljaXQ6IG5vZGUsXG4gICAgICBub2RlOiBub2RlLFxuICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgdGVtcGxhdGVzOiB0ZW1wbGF0ZXNcbiAgICB9XCJcbiAgPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSAjZW5kcmVnaW9uIDx0cmVlLW5vZGUtd3JhcHBlcj4gLS0+XG5cbiAgPHRyZWUtbm9kZS1jaGlsZHJlbiByb2xlPVwiZ3JvdXBcIiBbbm9kZV09XCJub2RlXCIgW3RlbXBsYXRlc109XCJ0ZW1wbGF0ZXNcIj5cbiAgPC90cmVlLW5vZGUtY2hpbGRyZW4+XG5cbiAgPHRyZWUtbm9kZS1kcm9wLXNsb3QgW2Ryb3BJbmRleF09XCJub2RlLmluZGV4ICsgMVwiIFtub2RlXT1cIm5vZGUucGFyZW50XCI+XG4gIDwvdHJlZS1ub2RlLWRyb3Atc2xvdD5cbjwvZGl2PlxuIl19
@@ -27,9 +27,9 @@ export class SkyTreeViewToolbarComponent {
27
27
  this.selectAllClick.emit();
28
28
  }
29
29
  }
30
- SkyTreeViewToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTreeViewToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- SkyTreeViewToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyTreeViewToolbarComponent, selector: "sky-angular-tree-toolbar", inputs: { showSelectButtons: "showSelectButtons" }, outputs: { clearAllClick: "clearAllClick", collapseAllClick: "collapseAllClick", expandAllClick: "expandAllClick", selectAllClick: "selectAllClick" }, ngImport: i0, template: "<div class=\"sky-angular-tree-toolbar\" role=\"toolbar\">\n <sky-toolbar>\n <sky-toolbar-item *ngIf=\"showSelectButtons\">\n <button\n class=\"sky-btn sky-btn-link sky-angular-tree-select-all-btn\"\n type=\"button\"\n (click)=\"onSelectAllClick()\"\n >\n {{ 'skyux_angular_tree_select_all' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item *ngIf=\"showSelectButtons\">\n <button\n class=\"sky-btn sky-btn-link sky-angular-tree-clear-all-btn\"\n type=\"button\"\n (click)=\"onClearAllClick()\"\n >\n {{ 'skyux_angular_tree_clear_all' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n class=\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-expand-all-btn\"\n title=\"{{ 'skyux_angular_tree_expand_all' | skyLibResources }}\"\n type=\"button\"\n (click)=\"onExpandAllClick()\"\n >\n <sky-icon icon=\"angle-double-down\"> </sky-icon>\n </button>\n <button\n class=\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-collapse-all-btn\"\n title=\"{{ 'skyux_angular_tree_collapse_all' | skyLibResources }}\"\n type=\"button\"\n (click)=\"onCollapseAllClick()\"\n >\n <sky-icon icon=\"angle-double-up\"> </sky-icon>\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i3.λ37, selector: "sky-toolbar" }, { kind: "component", type: i3.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i3.λ40, selector: "sky-toolbar-view-actions" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTreeViewToolbarComponent, decorators: [{
30
+ SkyTreeViewToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyTreeViewToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ SkyTreeViewToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SkyTreeViewToolbarComponent, selector: "sky-angular-tree-toolbar", inputs: { showSelectButtons: "showSelectButtons" }, outputs: { clearAllClick: "clearAllClick", collapseAllClick: "collapseAllClick", expandAllClick: "expandAllClick", selectAllClick: "selectAllClick" }, ngImport: i0, template: "<div class=\"sky-angular-tree-toolbar\" role=\"toolbar\">\n <sky-toolbar>\n <sky-toolbar-item *ngIf=\"showSelectButtons\">\n <button\n class=\"sky-btn sky-btn-link sky-angular-tree-select-all-btn\"\n type=\"button\"\n (click)=\"onSelectAllClick()\"\n >\n {{ 'skyux_angular_tree_select_all' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item *ngIf=\"showSelectButtons\">\n <button\n class=\"sky-btn sky-btn-link sky-angular-tree-clear-all-btn\"\n type=\"button\"\n (click)=\"onClearAllClick()\"\n >\n {{ 'skyux_angular_tree_clear_all' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n class=\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-expand-all-btn\"\n title=\"{{ 'skyux_angular_tree_expand_all' | skyLibResources }}\"\n type=\"button\"\n (click)=\"onExpandAllClick()\"\n >\n <sky-icon icon=\"angle-double-down\"> </sky-icon>\n </button>\n <button\n class=\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-collapse-all-btn\"\n title=\"{{ 'skyux_angular_tree_collapse_all' | skyLibResources }}\"\n type=\"button\"\n (click)=\"onCollapseAllClick()\"\n >\n <sky-icon icon=\"angle-double-up\"> </sky-icon>\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i3.λ37, selector: "sky-toolbar" }, { kind: "component", type: i3.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i3.λ40, selector: "sky-toolbar-view-actions" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyTreeViewToolbarComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'sky-angular-tree-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-angular-tree-toolbar\" role=\"toolbar\">\n <sky-toolbar>\n <sky-toolbar-item *ngIf=\"showSelectButtons\">\n <button\n class=\"sky-btn sky-btn-link sky-angular-tree-select-all-btn\"\n type=\"button\"\n (click)=\"onSelectAllClick()\"\n >\n {{ 'skyux_angular_tree_select_all' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item *ngIf=\"showSelectButtons\">\n <button\n class=\"sky-btn sky-btn-link sky-angular-tree-clear-all-btn\"\n type=\"button\"\n (click)=\"onClearAllClick()\"\n >\n {{ 'skyux_angular_tree_clear_all' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n class=\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-expand-all-btn\"\n title=\"{{ 'skyux_angular_tree_expand_all' | skyLibResources }}\"\n type=\"button\"\n (click)=\"onExpandAllClick()\"\n >\n <sky-icon icon=\"angle-double-down\"> </sky-icon>\n </button>\n <button\n class=\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-collapse-all-btn\"\n title=\"{{ 'skyux_angular_tree_collapse_all' | skyLibResources }}\"\n type=\"button\"\n (click)=\"onCollapseAllClick()\"\n >\n <sky-icon icon=\"angle-double-up\"> </sky-icon>\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar>\n</div>\n" }]
35
35
  }], propDecorators: { showSelectButtons: [{
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
43
43
  }], selectAllClick: [{
44
44
  type: Output
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFFdkI7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBVVMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3pDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzFDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWlCbEQ7SUFmUSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOzt3SEE5QlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMlFDaEJ4QyxvOUNBd0NBOzJGRHhCYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsTUFBTTtnQkFJQSxnQkFBZ0I7c0JBRHRCLE1BQU07Z0JBSUEsY0FBYztzQkFEcEIsTUFBTTtnQkFJQSxjQUFjO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFuZ3VsYXItdHJlZS10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRyZWVWaWV3VG9vbGJhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93U2VsZWN0QnV0dG9uczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsZWFyQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb2xsYXBzZUFsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZXhwYW5kQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RBbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgb25DbGVhckFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Db2xsYXBzZUFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25FeHBhbmRBbGxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZEFsbENsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0QWxsQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIj5cbiAgPHNreS10b29sYmFyPlxuICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0lmPVwic2hvd1NlbGVjdEJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktYW5ndWxhci10cmVlLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAnc2t5dXhfYW5ndWxhcl90cmVlX3NlbGVjdF9hbGwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgPHNreS10b29sYmFyLWl0ZW0gKm5nSWY9XCJzaG93U2VsZWN0QnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1hbmd1bGFyLXRyZWUtY2xlYXItYWxsLWJ0blwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhckFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAnc2t5dXhfYW5ndWxhcl90cmVlX2NsZWFyX2FsbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQgc2t5LWFuZ3VsYXItdHJlZS1leHBhbmQtYWxsLWJ0blwiXG4gICAgICAgIHRpdGxlPVwie3sgJ3NreXV4X2FuZ3VsYXJfdHJlZV9leHBhbmRfYWxsJyB8IHNreUxpYlJlc291cmNlcyB9fVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25FeHBhbmRBbGxDbGljaygpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJhbmdsZS1kb3VibGUtZG93blwiPiA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LW1hcmdpbi1pbmxpbmUtZGVmYXVsdCBza3ktYW5ndWxhci10cmVlLWNvbGxhcHNlLWFsbC1idG5cIlxuICAgICAgICB0aXRsZT1cInt7ICdza3l1eF9hbmd1bGFyX3RyZWVfY29sbGFwc2VfYWxsJyB8IHNreUxpYlJlc291cmNlcyB9fVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25Db2xsYXBzZUFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cImFuZ2xlLWRvdWJsZS11cFwiPiA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gIDwvc2t5LXRvb2xiYXI+XG48L2Rpdj5cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFFdkI7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBVVMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3pDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzFDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWlCbEQ7SUFmUSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOzt5SEE5QlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsMlFDaEJ4QyxvOUNBd0NBOzRGRHhCYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsTUFBTTtnQkFJQSxnQkFBZ0I7c0JBRHRCLE1BQU07Z0JBSUEsY0FBYztzQkFEcEIsTUFBTTtnQkFJQSxjQUFjO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFuZ3VsYXItdHJlZS10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRyZWVWaWV3VG9vbGJhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93U2VsZWN0QnV0dG9uczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsZWFyQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb2xsYXBzZUFsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZXhwYW5kQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RBbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgb25DbGVhckFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Db2xsYXBzZUFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25FeHBhbmRBbGxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZEFsbENsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0QWxsQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIj5cbiAgPHNreS10b29sYmFyPlxuICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0lmPVwic2hvd1NlbGVjdEJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktYW5ndWxhci10cmVlLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAnc2t5dXhfYW5ndWxhcl90cmVlX3NlbGVjdF9hbGwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgPHNreS10b29sYmFyLWl0ZW0gKm5nSWY9XCJzaG93U2VsZWN0QnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1hbmd1bGFyLXRyZWUtY2xlYXItYWxsLWJ0blwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhckFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAnc2t5dXhfYW5ndWxhcl90cmVlX2NsZWFyX2FsbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQgc2t5LWFuZ3VsYXItdHJlZS1leHBhbmQtYWxsLWJ0blwiXG4gICAgICAgIHRpdGxlPVwie3sgJ3NreXV4X2FuZ3VsYXJfdHJlZV9leHBhbmRfYWxsJyB8IHNreUxpYlJlc291cmNlcyB9fVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25FeHBhbmRBbGxDbGljaygpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJhbmdsZS1kb3VibGUtZG93blwiPiA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LW1hcmdpbi1pbmxpbmUtZGVmYXVsdCBza3ktYW5ndWxhci10cmVlLWNvbGxhcHNlLWFsbC1idG5cIlxuICAgICAgICB0aXRsZT1cInt7ICdza3l1eF9hbmd1bGFyX3RyZWVfY29sbGFwc2VfYWxsJyB8IHNreUxpYlJlc291cmNlcyB9fVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25Db2xsYXBzZUFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cImFuZ2xlLWRvdWJsZS11cFwiPiA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gIDwvc2t5LXRvb2xiYXI+XG48L2Rpdj5cbiJdfQ==
@@ -169,9 +169,9 @@ _SkyAngularTreeWrapperComponent_instances = new WeakSet(), _SkyAngularTreeWrappe
169
169
  TREE_ACTIONS.TOGGLE_SELECTED(node.treeModel, node, event);
170
170
  }
171
171
  };
172
- SkyAngularTreeWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
- SkyAngularTreeWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAngularTreeWrapperComponent, selector: "sky-angular-tree-wrapper", inputs: { readOnly: "readOnly", selectLeafNodesOnly: "selectLeafNodesOnly", selectSingle: "selectSingle", showToolbar: "showToolbar" }, queries: [{ propertyName: "treeComponent", first: true, predicate: TreeComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-angular-tree-wrapper\"\n [class.sky-angular-tree-read-only]=\"readOnly\"\n>\n <sky-angular-tree-toolbar\n *ngIf=\"showToolbar\"\n [showSelectButtons]=\"showSelectButtons()\"\n (clearAllClick)=\"onClearAllClick()\"\n (collapseAllClick)=\"onCollapseAllClick()\"\n (expandAllClick)=\"onExpandAllClick()\"\n (selectAllClick)=\"onSelectAllClick()\"\n >\n </sky-angular-tree-toolbar>\n <div\n class=\"sky-angular-tree-root\"\n role=\"tree\"\n [attr.aria-multiselectable]=\"multiselectable()\"\n >\n <ng-content select=\"tree-root\"></ng-content>\n </div>\n</div>\n", styles: [".sky-angular-tree-wrapper ::ng-deep .angular-tree-component{cursor:initial;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sky-angular-tree-wrapper ::ng-deep .node-wrapper{display:flex;align-items:center;padding:4px 5px;border-left:4px solid transparent}.sky-angular-tree-wrapper ::ng-deep .node-content-wrapper{display:flex;align-items:center;padding:0;cursor:pointer}.sky-angular-tree-wrapper ::ng-deep .tree-children{padding-left:30px;overflow:hidden}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children{color:#cdcfd2;cursor:pointer;min-height:19px;min-width:20px;margin:0 10px 0 0;padding:0;line-height:1}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children:hover{color:#979ba2;transition:color .15s}.sky-angular-tree-wrapper ::ng-deep .toggle-children-placeholder{display:inline-block;height:19px;width:20px;margin:0 10px 0 0}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected{background:#f1eef6}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-active{background-color:#eeeeef;color:#212327;border-left:4px solid #00b4f1}.sky-angular-tree-wrapper ::ng-deep sky-checkbox{display:inline-flex}.sky-angular-tree-wrapper ::ng-deep .sky-switch-control{margin:0 8px 0 0}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-context-menu{margin:0 10px 0 0}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot{display:block;height:2px}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot.is-dragging-over{height:20px;background:#eeeeef;border:1px solid #e2e3e4}.sky-angular-tree-wrapper.sky-angular-tree-read-only ::ng-deep .node-content-wrapper{cursor:initial}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyTreeViewToolbarComponent, selector: "sky-angular-tree-toolbar", inputs: ["showSelectButtons"], outputs: ["clearAllClick", "collapseAllClick", "expandAllClick", "selectAllClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeWrapperComponent, decorators: [{
172
+ SkyAngularTreeWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
+ SkyAngularTreeWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SkyAngularTreeWrapperComponent, selector: "sky-angular-tree-wrapper", inputs: { readOnly: "readOnly", selectLeafNodesOnly: "selectLeafNodesOnly", selectSingle: "selectSingle", showToolbar: "showToolbar" }, queries: [{ propertyName: "treeComponent", first: true, predicate: TreeComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-angular-tree-wrapper\"\n [class.sky-angular-tree-read-only]=\"readOnly\"\n>\n <sky-angular-tree-toolbar\n *ngIf=\"showToolbar\"\n [showSelectButtons]=\"showSelectButtons()\"\n (clearAllClick)=\"onClearAllClick()\"\n (collapseAllClick)=\"onCollapseAllClick()\"\n (expandAllClick)=\"onExpandAllClick()\"\n (selectAllClick)=\"onSelectAllClick()\"\n >\n </sky-angular-tree-toolbar>\n <div\n class=\"sky-angular-tree-root\"\n role=\"tree\"\n [attr.aria-multiselectable]=\"multiselectable()\"\n >\n <ng-content select=\"tree-root\"></ng-content>\n </div>\n</div>\n", styles: [".sky-angular-tree-wrapper ::ng-deep .angular-tree-component{cursor:initial;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sky-angular-tree-wrapper ::ng-deep .node-wrapper{display:flex;align-items:center;padding:4px 5px;border-left:4px solid transparent}.sky-angular-tree-wrapper ::ng-deep .node-content-wrapper{display:flex;align-items:center;padding:0;cursor:pointer}.sky-angular-tree-wrapper ::ng-deep .tree-children{padding-left:30px;overflow:hidden}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children{color:#cdcfd2;cursor:pointer;min-height:19px;min-width:20px;margin:0 10px 0 0;padding:0;line-height:1}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children:hover{color:#979ba2;transition:color .15s}.sky-angular-tree-wrapper ::ng-deep .toggle-children-placeholder{display:inline-block;height:19px;width:20px;margin:0 10px 0 0}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected{background:#f1eef6}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-active{background-color:#eeeeef;color:#212327;border-left:4px solid #00b4f1}.sky-angular-tree-wrapper ::ng-deep sky-checkbox{display:inline-flex}.sky-angular-tree-wrapper ::ng-deep .sky-switch-control{margin:0 8px 0 0}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-context-menu{margin:0 10px 0 0}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot{display:block;height:2px}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot.is-dragging-over{height:20px;background:#eeeeef;border:1px solid #e2e3e4}.sky-angular-tree-wrapper.sky-angular-tree-read-only ::ng-deep .node-content-wrapper{cursor:initial}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyTreeViewToolbarComponent, selector: "sky-angular-tree-toolbar", inputs: ["showSelectButtons"], outputs: ["clearAllClick", "collapseAllClick", "expandAllClick", "selectAllClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeWrapperComponent, decorators: [{
175
175
  type: Component,
176
176
  args: [{ selector: 'sky-angular-tree-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-angular-tree-wrapper\"\n [class.sky-angular-tree-read-only]=\"readOnly\"\n>\n <sky-angular-tree-toolbar\n *ngIf=\"showToolbar\"\n [showSelectButtons]=\"showSelectButtons()\"\n (clearAllClick)=\"onClearAllClick()\"\n (collapseAllClick)=\"onCollapseAllClick()\"\n (expandAllClick)=\"onExpandAllClick()\"\n (selectAllClick)=\"onSelectAllClick()\"\n >\n </sky-angular-tree-toolbar>\n <div\n class=\"sky-angular-tree-root\"\n role=\"tree\"\n [attr.aria-multiselectable]=\"multiselectable()\"\n >\n <ng-content select=\"tree-root\"></ng-content>\n </div>\n</div>\n", styles: [".sky-angular-tree-wrapper ::ng-deep .angular-tree-component{cursor:initial;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sky-angular-tree-wrapper ::ng-deep .node-wrapper{display:flex;align-items:center;padding:4px 5px;border-left:4px solid transparent}.sky-angular-tree-wrapper ::ng-deep .node-content-wrapper{display:flex;align-items:center;padding:0;cursor:pointer}.sky-angular-tree-wrapper ::ng-deep .tree-children{padding-left:30px;overflow:hidden}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children{color:#cdcfd2;cursor:pointer;min-height:19px;min-width:20px;margin:0 10px 0 0;padding:0;line-height:1}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children:hover{color:#979ba2;transition:color .15s}.sky-angular-tree-wrapper ::ng-deep .toggle-children-placeholder{display:inline-block;height:19px;width:20px;margin:0 10px 0 0}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected{background:#f1eef6}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-active{background-color:#eeeeef;color:#212327;border-left:4px solid #00b4f1}.sky-angular-tree-wrapper ::ng-deep sky-checkbox{display:inline-flex}.sky-angular-tree-wrapper ::ng-deep .sky-switch-control{margin:0 8px 0 0}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-context-menu{margin:0 10px 0 0}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot{display:block;height:2px}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot.is-dragging-over{height:20px;background:#eeeeef;border:1px solid #e2e3e4}.sky-angular-tree-wrapper.sky-angular-tree-read-only ::ng-deep .node-content-wrapper{cursor:initial}\n"] }]
177
177
  }], propDecorators: { readOnly: [{
@@ -186,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
186
186
  type: ContentChild,
187
187
  args: [TreeComponent]
188
188
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsSUFBSSxFQUNKLFlBQVksRUFDWixhQUFhLEdBR2QsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUd6Qzs7Ozs7R0FLRztBQU9ILE1BQU0sT0FBTyw4QkFBOEI7SUFOM0M7O1FBT0U7Ozs7V0FJRztRQUVJLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBRTdDOzs7OztXQUtHO1FBRUksd0JBQW1CLEdBQXdCLEtBQUssQ0FBQztRQUV4RDs7Ozs7V0FLRztRQUVJLGlCQUFZLEdBQXdCLEtBQUssQ0FBQztRQUVqRDs7Ozs7V0FLRztRQUVJLGdCQUFXLEdBQXdCLEtBQUssQ0FBQztRQUV6QyxzQkFBaUIsR0FBcUIsRUFBRSxDQUFDO0tBcUtqRDtJQWhLUSxlQUFlO1FBQ3BCLElBQ0UsSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFDakQ7WUFDQSxPQUFPLENBQUMsSUFBSSxDQUNWLHFHQUFxRztnQkFDbkcsa0ZBQWtGLENBQ3JGLENB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dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBLRVlTLFxuICBUUkVFX0FDVElPTlMsXG4gIFRyZWVDb21wb25lbnQsXG4gIFRyZWVNb2RlbCxcbiAgVHJlZU5vZGUsXG59IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSURUeXBlRGljdGlvbmFyeSB9IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvbGliL2RlZnMvYXBpJztcblxuLyoqXG4gKiBXcmFwcyB0aGUgQW5ndWxhciBgdHJlZS1yb290YCBjb21wb25lbnQgYXMgcGFydCBvZiB0aGUgYFNreUFuZ3VsYXJUcmVlTW9kdWxlYCB0aGF0IHByb3ZpZGVzXG4gKiBTS1kgVVggY29tcG9uZW50cyBhbmQgc3R5bGVzIHRvIGNvbXBsZW1lbnQgdGhlIGBhbmd1bGFyLXRyZWUtY29tcG9uZW50YCBsaWJyYXJ5IGFuZCBhcHBseSBTS1kgVVhcbiAqIHRoZW1lcyBhbmQgZnVuY3Rpb25hbGl0eSB0byBoaWVyYXJjaGljYWwgbGlzdCB2aWV3cy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgdHJlZS1yb290YCBjb21wb25lbnQsIHNlZSB0aGVcbiAqIFtBbmd1bGFyIHRyZWUgY29tcG9uZW50IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vYW5ndWxhcjItdHJlZS5yZWFkbWUuaW8vZG9jcykuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVuZGVyIHRoZSB0cmVlIHZpZXcgaW4gcmVhZC1vbmx5IG1vZGUuXG4gICAqIFRoaXMgbW9kZSBkaXNhYmxlcyBzZWxlY3RlZCBhbmQgYWN0aXZlIHN0YXRlcyBvbiB0aGUgdHJlZSB2aWV3IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIGxlYWYtb25seSBzZWxlY3Rpb24gbW9kZS4gRm9yIHRyZWUgdmlld3Mgd2l0aFxuICAgKiBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKSxcbiAgICogdGhpcyBtb2RlIGxpbWl0cyB1c2VyIHNlbGVjdGlvbnMgdG8gbGVhZiBub2RlcyBhbmQgcHJldmVudHMgdXNlcnMgZnJvbSBzZWxlY3RpbmcgcGFyZW50IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdExlYWZOb2Rlc09ubHk6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2Ugc2luZ2xlLXNlbGVjdCBtb2RlLiBGb3IgdHJlZSB2aWV3cyB3aXRoXG4gICAqIFtjaGVja2JveGVzXShodHRwczovL2FuZ3VsYXIyLXRyZWUucmVhZG1lLmlvL2RvY3MvdHJpLXN0YXRlLWNoZWNrYm94ZXMpLFxuICAgKiB0aGlzIG1vZGUgbGltaXRzIHVzZXIgc2VsZWN0aW9ucyB0byBvbmUgbm9kZSBhdCBhIHRpbWUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0U2luZ2xlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBhIHRvb2xiYXIgd2l0aCBidXR0b25zIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIG5vZGVzIGFuZCBidXR0b25zIHRvIHNlbGVjdCBhbmQgY2xlYXIgYWxsIGNoZWNrYm94ZXMuXG4gICAqIFRoZSBzZWxlY3QgYW5kIGNsZWFyIGJ1dHRvbnMgb25seSBhcHBlYXIgd2hlbiB5b3UgZW5hYmxlIGNoZWNrYm94ZXMuXG4gICAqIFRvIGVuYWJsZSBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93VG9vbGJhcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RhYmxlTm9kZUlkczogSURUeXBlRGljdGlvbmFyeSA9IHt9O1xuXG4gIEBDb250ZW50Q2hpbGQoVHJlZUNvbXBvbmVudClcbiAgcHVibGljIHRyZWVDb21wb25lbnQ6IFRyZWVDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdFNpbmdsZSAmJlxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50Py50cmVlTW9kZWwub3B0aW9ucy51c2VUcmlTdGF0ZVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnU2luZ2xlIHNlbGVjdCBtb2RlIHNob3VsZCBub3QgYmUgZW5hYmxlZCB3aGlsZSB0aGUgdHJlZSBpcyBpbiB0cmlTdGF0ZSBtb2RlIChjYXNjYWRpbmcgc2VsZWN0aW9uKS4gJyArXG4gICAgICAgICAgJ1BsZWFzZSBzZXQgXCJ1c2VUcmlTdGF0ZVwiIHRvIFwiZmFsc2VcIiBpZiB5b3Ugd2FudCB0byByZW1haW4gaW4gc2luZ2xlIHNlbGVjdCBtb2RlLidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuI292ZXJyaWRlQWN0aW9uTWFwcGluZygpO1xuICB9XG5cbiAgcHVibGljIG11bHRpc2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLnRyZWVDb21wb25lbnQgJiZcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudC50cmVlTW9kZWwub3B0aW9ucy51c2VDaGVja2JveCAmJlxuICAgICAgIXRoaXMuc2VsZWN0U2luZ2xlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsZWFyQWxsQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuc2VsZWN0U2luZ2xlICYmIHRoaXMudHJlZUNvbXBvbmVudCkge1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5nZXRTdGF0ZSgpO1xuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnN0YXRlID0ge1xuICAgICAgICAuLi5jdXJyZW50U3RhdGUsXG4gICAgICAgIHNlbGVjdGVkTGVhZk5vZGVJZHM6IHt9LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Db2xsYXBzZUFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLmNvbGxhcHNlQWxsKCk7XG4gIH1cblxuICBwdWJsaWMgb25FeHBhbmRBbGxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnRyZWVNb2RlbC5leHBhbmRBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENsaWNrKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLnNlbGVjdFNpbmdsZSAmJiB0aGlzLnRyZWVDb21wb25lbnQpIHtcbiAgICAgIC8vIEdldCBhIGxpc3Qgb2YgYWxsIG5vZGUgaWRzIHRoYXQgYXJlIHNlbGVjdGFibGUuXG4gICAgICB0aGlzLnNlbGVjdGFibGVOb2RlSWRzID0ge307XG4gICAgICBjb25zdCBnZXRTZWxlY3RhYmxlTm9kZUlkcyA9IChub2RlOiBUcmVlTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RhYmxlID1cbiAgICAgICAgICBub2RlLmlzU2VsZWN0YWJsZSgpICYmXG4gICAgICAgICAgIShub2RlLmhhc0NoaWxkcmVuICYmIHRoaXMuc2VsZWN0TGVhZk5vZGVzT25seSk7XG4gICAgICAgIGlmIChzZWxlY3RhYmxlICYmICFub2RlLmRhdGEudmlydHVhbCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZU5vZGVJZHNbbm9kZS5pZF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBub2RlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiBnZXRTZWxlY3RhYmxlTm9kZUlkcyhjaGlsZCkpO1xuICAgICAgfTtcbiAgICAgIGdldFNlbGVjdGFibGVOb2RlSWRzKHRoaXMudHJlZUNvbXBvbmVudC50cmVlTW9kZWwudmlydHVhbFJvb3QpO1xuXG4gICAgICAvLyBVcGRhdGUgdHJlZSBzdGF0ZSB3aXRoIG5ldyBsaXN0IG9mIHNlbGVjdGVkIG5vZGUgaWRzLlxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5nZXRTdGF0ZSgpO1xuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnN0YXRlID0ge1xuICAgICAgICAuLi5jdXJyZW50U3RhdGUsXG4gICAgICAgIHNlbGVjdGVkTGVhZk5vZGVJZHM6IHRoaXMuc2VsZWN0YWJsZU5vZGVJZHMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93U2VsZWN0QnV0dG9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLnRyZWVDb21wb25lbnQgJiZcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudC50cmVlTW9kZWwub3B0aW9ucy51c2VDaGVja2JveCAmJlxuICAgICAgIXRoaXMuc2VsZWN0U2luZ2xlXG4gICAgKTtcbiAgfVxuXG4gICNpc1NlbGVjdGFibGUobm9kZTogVHJlZU5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbm9kZS5pc0xlYWYgfHwgIW5vZGUuaGFzQ2hpbGRyZW4gfHwgIXRoaXMuc2VsZWN0TGVhZk5vZGVzT25seTtcbiAgfVxuXG4gICNub2RlRGVmYXVsdEFjdGlvbih0cmVlOiBUcmVlTW9kZWwsIG5vZGU6IFRyZWVOb2RlLCBldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5vcHRpb25zLnVzZUNoZWNrYm94ICYmIHRoaXMuI2lzU2VsZWN0YWJsZShub2RlKSkge1xuICAgICAgdGhpcy4jdG9nZ2xlU2VsZWN0ZWQobm9kZSwgZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBUUkVFX0FDVElPTlMuVE9HR0xFX0FDVElWRSh0cmVlLCBub2RlLCBldmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgI29uS2V5RG93bkFjdGlvbih0cmVlOiBUcmVlTW9kZWwsIG5vZGU6IFRyZWVOb2RlLCBldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0Tm9kZUlkID0gZXZlbnQudGFyZ2V0LmdldEF0dHJpYnV0ZSgnZGF0YS1ub2RlLWlkJyk7XG5cbiAgICAvLyBLZXkgcHJlc3MgZGlkIG5vdCBoYXBwZW4gb24gdGhlIG5vZGUuXG4gICAgaWYgKHRhcmdldE5vZGVJZCAhPT0gbm9kZS5pZC50b1N0cmluZygpKSB7XG4gICAgICAvLyBhbmd1bGFyLXRyZWUtY29tcG9uZW50IHdpbGwgcHJldmVudERlZmF1bHQoKSBvbiBhbnl0aGluZyB1c2luZyBhIGtleSBhY3Rpb24gaGFuZGxlcixcbiAgICAgIC8vIHRodXMgc3RvcHBpbmcgXCJlbnRlclwiIGFuZCBcInNwYWNlXCIga2V5cyB0byB0aHJvdyBcImNsaWNrXCIgZXZlbnRzIG9uIGludGVyYWN0aXZlIGVsZW1lbnRzLlxuICAgICAgLy8gVGhpcyBsb2dpYyBlbnN1cmVzIGNvbXBvbmVudHMgbG9va2luZyBmb3IgXCJjbGlja3NcIiBvbiB0aG9zZSBrZXlzdHJva2VzIHN0aWxsIHdvcmsgKGRyb3Bkb3duIGNvbXBvbmVudCkuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vNTAwdGVjaC9hbmd1bGFyLXRyZWUtY29tcG9uZW50L2Jsb2IvbWFzdGVyL2xpYi9tb2RlbHMvdHJlZS5tb2RlbC50cyNMMzQxXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LmNsaWNrKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNub2RlRGVmYXVsdEFjdGlvbih0cmVlLCBub2RlLCBldmVudCk7XG4gIH1cblxuICAjb3ZlcnJpZGVBY3Rpb25NYXBwaW5nKCk6IHZvaWQge1xuICAgIGNvbnN0IGRlZmF1bHRBY3Rpb25NYXBwaW5nID1cbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLm9wdGlvbnMuYWN0aW9uTWFwcGluZztcblxuICAgIGlmIChkZWZhdWx0QWN0aW9uTWFwcGluZz8ubW91c2UpIHtcbiAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgY2xpY2svZW50ZXIvc3BhY2UgYWN0aW9uIHRvIGNoZWNrIGZvciB1bnN1cHBvcnRlZCBvcHRpb25zIChsZWFmIG5vZGUsIHNpbmdsZS1zZWxlY3QpLlxuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcubW91c2UuY2xpY2sgPSAodHJlZSwgbm9kZSwgZXZlbnQpID0+XG4gICAgICAgIHRoaXMuI25vZGVEZWZhdWx0QWN0aW9uKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdEFjdGlvbk1hcHBpbmc/LmtleXMpIHtcbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5TUEFDRV0gPSAodHJlZSwgbm9kZSwgZXZlbnQpID0+XG4gICAgICAgIHRoaXMuI29uS2V5RG93bkFjdGlvbih0cmVlLCBub2RlLCBldmVudCk7XG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5rZXlzW0tFWVMuRU5URVJdID0gKHRyZWUsIG5vZGUsIGV2ZW50KSA9PlxuICAgICAgICB0aGlzLiNvbktleURvd25BY3Rpb24odHJlZSwgbm9kZSwgZXZlbnQpO1xuXG4gICAgICAvLyBEaXNhYmxlIGxlZnQvcmlnaHQgYXJyb3cga2V5cyB0byBzdXBwb3J0IG5hdmlnYXRpbmcgdGhyb3VnaCBpbnRlcmFjdGl2ZSBlbGVtZW50cyB3aXRoIGtleWJvYXJkLlxuICAgICAgLy8gU2VlIG9uQXJyb3dMZWZ0KCkgLyBvbkFycm93UmlnaHQoKSBtZXRob2RzIGluc2lkZSB0aGUgYW5ndWxhci10cmVlLW5vZGUuY29tcG9uZW50LnRzLlxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5SSUdIVF0gPSAodHJlZSwgbm9kZSwgJGV2ZW50KSA9PiB1bmRlZmluZWQ7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLkxFRlRdID0gKHRyZWUsIG5vZGUsICRldmVudCkgPT4gdW5kZWZpbmVkO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5ET1dOXSA9ICh0cmVlLCBub2RlLCAkZXZlbnQpID0+IHVuZGVmaW5lZDtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5rZXlzW0tFWVMuVVBdID0gKHRyZWUsIG5vZGUsICRldmVudCkgPT4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gICN0b2dnbGVTZWxlY3RlZChub2RlOiBUcmVlTm9kZSwgZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIElmIHNpbmdsZS1zZWxlY3Rpb24gaXMgZW5hYmxlZCwgb25seSBzZWxlY3QgdGhlIG5vZGUgY2xpY2tlZC5cbiAgICBpZiAodGhpcy5zZWxlY3RTaW5nbGUgJiYgIW5vZGUuaXNTZWxlY3RlZCkge1xuICAgICAgY29uc3Qgb2xkU3RhdGUgPSB0aGlzLnRyZWVDb21wb25lbnQ/LnRyZWVNb2RlbC5nZXRTdGF0ZSgpO1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIGV4cGFuZGVkTm9kZUlkczogb2xkU3RhdGU/LmV4cGFuZGVkTm9kZUlkcyxcbiAgICAgICAgc2VsZWN0ZWRMZWFmTm9kZUlkczogT2JqZWN0LmFzc2lnbih7fSwgbm9kZS5pZCwgeyBbbm9kZS5pZF06IHRydWUgfSksXG4gICAgICAgIGFjdGl2ZU5vZGVJZHM6IG9sZFN0YXRlPy5hY3RpdmVOb2RlSWRzLFxuICAgICAgICBoaWRkZW5Ob2RlSWRzOiBvbGRTdGF0ZT8uaGlkZGVuTm9kZUlkcyxcbiAgICAgICAgZm9jdXNlZE5vZGVJZDogbm9kZS5pZCxcbiAgICAgIH07XG4gICAgICAvLyBSZWNvbnN0cnVjdCB0aGUgc3RhdGUgaW4gb25lIGdvLCBzbyB3ZSBkb24ndCBjcmVhdGUgbXVsdGlwbGUgZXZlbnRzIGZvciB0aGUgY29uc3VtZXIuXG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnRyZWVNb2RlbC5zZXRTdGF0ZShuZXdTdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFRSRUVfQUNUSU9OUy5UT0dHTEVfU0VMRUNURUQobm9kZS50cmVlTW9kZWwsIG5vZGUsIGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktYW5ndWxhci10cmVlLXdyYXBwZXJcIlxuICBbY2xhc3Muc2t5LWFuZ3VsYXItdHJlZS1yZWFkLW9ubHldPVwicmVhZE9ubHlcIlxuPlxuICA8c2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXG4gICAgKm5nSWY9XCJzaG93VG9vbGJhclwiXG4gICAgW3Nob3dTZWxlY3RCdXR0b25zXT1cInNob3dTZWxlY3RCdXR0b25zKClcIlxuICAgIChjbGVhckFsbENsaWNrKT1cIm9uQ2xlYXJBbGxDbGljaygpXCJcbiAgICAoY29sbGFwc2VBbGxDbGljayk9XCJvbkNvbGxhcHNlQWxsQ2xpY2soKVwiXG4gICAgKGV4cGFuZEFsbENsaWNrKT1cIm9uRXhwYW5kQWxsQ2xpY2soKVwiXG4gICAgKHNlbGVjdEFsbENsaWNrKT1cIm9uU2VsZWN0QWxsQ2xpY2soKVwiXG4gID5cbiAgPC9za3ktYW5ndWxhci10cmVlLXRvb2xiYXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1hbmd1bGFyLXRyZWUtcm9vdFwiXG4gICAgcm9sZT1cInRyZWVcIlxuICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm11bHRpc2VsZWN0YWJsZSgpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInRyZWUtcm9vdFwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsSUFBSSxFQUNKLFlBQVksRUFDWixhQUFhLEdBR2QsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUd6Qzs7Ozs7R0FLRztBQU9ILE1BQU0sT0FBTyw4QkFBOEI7SUFOM0M7O1FBT0U7Ozs7V0FJRztRQUVJLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBRTdDOzs7OztXQUtHO1FBRUksd0JBQW1CLEdBQXdCLEtBQUssQ0FBQztRQUV4RDs7Ozs7V0FLRztRQUVJLGlCQUFZLEdBQXdCLEtBQUssQ0FBQztRQUVqRDs7Ozs7V0FLRztRQUVJLGdCQUFXLEdBQXdCLEtBQUssQ0FBQztRQUV6QyxzQkFBaUIsR0FBcUIsRUFBRSxDQUFDO0tBcUtqRDtJQWhLUSxlQUFlO1FBQ3BCLElBQ0UsSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFDakQ7WUFDQSxPQUFPLENBQUMsSUFBSSxDQUNWLHFHQUFxRztnQkFDbkcsa0ZBQWtGLENBQ3JGLENB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dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBLRVlTLFxuICBUUkVFX0FDVElPTlMsXG4gIFRyZWVDb21wb25lbnQsXG4gIFRyZWVNb2RlbCxcbiAgVHJlZU5vZGUsXG59IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSURUeXBlRGljdGlvbmFyeSB9IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvbGliL2RlZnMvYXBpJztcblxuLyoqXG4gKiBXcmFwcyB0aGUgQW5ndWxhciBgdHJlZS1yb290YCBjb21wb25lbnQgYXMgcGFydCBvZiB0aGUgYFNreUFuZ3VsYXJUcmVlTW9kdWxlYCB0aGF0IHByb3ZpZGVzXG4gKiBTS1kgVVggY29tcG9uZW50cyBhbmQgc3R5bGVzIHRvIGNvbXBsZW1lbnQgdGhlIGBhbmd1bGFyLXRyZWUtY29tcG9uZW50YCBsaWJyYXJ5IGFuZCBhcHBseSBTS1kgVVhcbiAqIHRoZW1lcyBhbmQgZnVuY3Rpb25hbGl0eSB0byBoaWVyYXJjaGljYWwgbGlzdCB2aWV3cy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgdHJlZS1yb290YCBjb21wb25lbnQsIHNlZSB0aGVcbiAqIFtBbmd1bGFyIHRyZWUgY29tcG9uZW50IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vYW5ndWxhcjItdHJlZS5yZWFkbWUuaW8vZG9jcykuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVuZGVyIHRoZSB0cmVlIHZpZXcgaW4gcmVhZC1vbmx5IG1vZGUuXG4gICAqIFRoaXMgbW9kZSBkaXNhYmxlcyBzZWxlY3RlZCBhbmQgYWN0aXZlIHN0YXRlcyBvbiB0aGUgdHJlZSB2aWV3IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIGxlYWYtb25seSBzZWxlY3Rpb24gbW9kZS4gRm9yIHRyZWUgdmlld3Mgd2l0aFxuICAgKiBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKSxcbiAgICogdGhpcyBtb2RlIGxpbWl0cyB1c2VyIHNlbGVjdGlvbnMgdG8gbGVhZiBub2RlcyBhbmQgcHJldmVudHMgdXNlcnMgZnJvbSBzZWxlY3RpbmcgcGFyZW50IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdExlYWZOb2Rlc09ubHk6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2Ugc2luZ2xlLXNlbGVjdCBtb2RlLiBGb3IgdHJlZSB2aWV3cyB3aXRoXG4gICAqIFtjaGVja2JveGVzXShodHRwczovL2FuZ3VsYXIyLXRyZWUucmVhZG1lLmlvL2RvY3MvdHJpLXN0YXRlLWNoZWNrYm94ZXMpLFxuICAgKiB0aGlzIG1vZGUgbGltaXRzIHVzZXIgc2VsZWN0aW9ucyB0byBvbmUgbm9kZSBhdCBhIHRpbWUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0U2luZ2xlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBhIHRvb2xiYXIgd2l0aCBidXR0b25zIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIG5vZGVzIGFuZCBidXR0b25zIHRvIHNlbGVjdCBhbmQgY2xlYXIgYWxsIGNoZWNrYm94ZXMuXG4gICAqIFRoZSBzZWxlY3QgYW5kIGNsZWFyIGJ1dHRvbnMgb25seSBhcHBlYXIgd2hlbiB5b3UgZW5hYmxlIGNoZWNrYm94ZXMuXG4gICAqIFRvIGVuYWJsZSBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93VG9vbGJhcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RhYmxlTm9kZUlkczogSURUeXBlRGljdGlvbmFyeSA9IHt9O1xuXG4gIEBDb250ZW50Q2hpbGQoVHJlZUNvbXBvbmVudClcbiAgcHVibGljIHRyZWVDb21wb25lbnQ6IFRyZWVDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdFNpbmdsZSAmJlxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50Py50cmVlTW9kZWwub3B0aW9ucy51c2VUcmlTdGF0ZVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnU2luZ2xlIHNlbGVjdCBtb2RlIHNob3VsZCBub3QgYmUgZW5hYmxlZCB3aGlsZSB0aGUgdHJlZSBpcyBpbiB0cmlTdGF0ZSBtb2RlIChjYXNjYWRpbmcgc2VsZWN0aW9uKS4gJyArXG4gICAgICAgICAgJ1BsZWFzZSBzZXQgXCJ1c2VUcmlTdGF0ZVwiIHRvIFwiZmFsc2VcIiBpZiB5b3Ugd2FudCB0byByZW1haW4gaW4gc2luZ2xlIHNlbGVjdCBtb2RlLidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuI292ZXJyaWRlQWN0aW9uTWFwcGluZygpO1xuICB9XG5cbiAgcHVibGljIG11bHRpc2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLnRyZWVDb21wb25lbnQgJiZcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudC50cmVlTW9kZWwub3B0aW9ucy51c2VDaGVja2JveCAmJlxuICAgICAgIXRoaXMuc2VsZWN0U2luZ2xlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsZWFyQWxsQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuc2VsZWN0U2luZ2xlICYmIHRoaXMudHJlZUNvbXBvbmVudCkge1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5nZXRTdGF0ZSgpO1xuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnN0YXRlID0ge1xuICAgICAgICAuLi5jdXJyZW50U3RhdGUsXG4gICAgICAgIHNlbGVjdGVkTGVhZk5vZGVJZHM6IHt9LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Db2xsYXBzZUFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLmNvbGxhcHNlQWxsKCk7XG4gIH1cblxuICBwdWJsaWMgb25FeHBhbmRBbGxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnRyZWVNb2RlbC5leHBhbmRBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENsaWNrKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLnNlbGVjdFNpbmdsZSAmJiB0aGlzLnRyZWVDb21wb25lbnQpIHtcbiAgICAgIC8vIEdldCBhIGxpc3Qgb2YgYWxsIG5vZGUgaWRzIHRoYXQgYXJlIHNlbGVjdGFibGUuXG4gICAgICB0aGlzLnNlbGVjdGFibGVOb2RlSWRzID0ge307XG4gICAgICBjb25zdCBnZXRTZWxlY3RhYmxlTm9kZUlkcyA9IChub2RlOiBUcmVlTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RhYmxlID1cbiAgICAgICAgICBub2RlLmlzU2VsZWN0YWJsZSgpICYmXG4gICAgICAgICAgIShub2RlLmhhc0NoaWxkcmVuICYmIHRoaXMuc2VsZWN0TGVhZk5vZGVzT25seSk7XG4gICAgICAgIGlmIChzZWxlY3RhYmxlICYmICFub2RlLmRhdGEudmlydHVhbCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZU5vZGVJZHNbbm9kZS5pZF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBub2RlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiBnZXRTZWxlY3RhYmxlTm9kZUlkcyhjaGlsZCkpO1xuICAgICAgfTtcbiAgICAgIGdldFNlbGVjdGFibGVOb2RlSWRzKHRoaXMudHJlZUNvbXBvbmVudC50cmVlTW9kZWwudmlydHVhbFJvb3QpO1xuXG4gICAgICAvLyBVcGRhdGUgdHJlZSBzdGF0ZSB3aXRoIG5ldyBsaXN0IG9mIHNlbGVjdGVkIG5vZGUgaWRzLlxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5nZXRTdGF0ZSgpO1xuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnN0YXRlID0ge1xuICAgICAgICAuLi5jdXJyZW50U3RhdGUsXG4gICAgICAgIHNlbGVjdGVkTGVhZk5vZGVJZHM6IHRoaXMuc2VsZWN0YWJsZU5vZGVJZHMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93U2VsZWN0QnV0dG9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLnRyZWVDb21wb25lbnQgJiZcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudC50cmVlTW9kZWwub3B0aW9ucy51c2VDaGVja2JveCAmJlxuICAgICAgIXRoaXMuc2VsZWN0U2luZ2xlXG4gICAgKTtcbiAgfVxuXG4gICNpc1NlbGVjdGFibGUobm9kZTogVHJlZU5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbm9kZS5pc0xlYWYgfHwgIW5vZGUuaGFzQ2hpbGRyZW4gfHwgIXRoaXMuc2VsZWN0TGVhZk5vZGVzT25seTtcbiAgfVxuXG4gICNub2RlRGVmYXVsdEFjdGlvbih0cmVlOiBUcmVlTW9kZWwsIG5vZGU6IFRyZWVOb2RlLCBldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5vcHRpb25zLnVzZUNoZWNrYm94ICYmIHRoaXMuI2lzU2VsZWN0YWJsZShub2RlKSkge1xuICAgICAgdGhpcy4jdG9nZ2xlU2VsZWN0ZWQobm9kZSwgZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBUUkVFX0FDVElPTlMuVE9HR0xFX0FDVElWRSh0cmVlLCBub2RlLCBldmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgI29uS2V5RG93bkFjdGlvbih0cmVlOiBUcmVlTW9kZWwsIG5vZGU6IFRyZWVOb2RlLCBldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0Tm9kZUlkID0gZXZlbnQudGFyZ2V0LmdldEF0dHJpYnV0ZSgnZGF0YS1ub2RlLWlkJyk7XG5cbiAgICAvLyBLZXkgcHJlc3MgZGlkIG5vdCBoYXBwZW4gb24gdGhlIG5vZGUuXG4gICAgaWYgKHRhcmdldE5vZGVJZCAhPT0gbm9kZS5pZC50b1N0cmluZygpKSB7XG4gICAgICAvLyBhbmd1bGFyLXRyZWUtY29tcG9uZW50IHdpbGwgcHJldmVudERlZmF1bHQoKSBvbiBhbnl0aGluZyB1c2luZyBhIGtleSBhY3Rpb24gaGFuZGxlcixcbiAgICAgIC8vIHRodXMgc3RvcHBpbmcgXCJlbnRlclwiIGFuZCBcInNwYWNlXCIga2V5cyB0byB0aHJvdyBcImNsaWNrXCIgZXZlbnRzIG9uIGludGVyYWN0aXZlIGVsZW1lbnRzLlxuICAgICAgLy8gVGhpcyBsb2dpYyBlbnN1cmVzIGNvbXBvbmVudHMgbG9va2luZyBmb3IgXCJjbGlja3NcIiBvbiB0aG9zZSBrZXlzdHJva2VzIHN0aWxsIHdvcmsgKGRyb3Bkb3duIGNvbXBvbmVudCkuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vNTAwdGVjaC9hbmd1bGFyLXRyZWUtY29tcG9uZW50L2Jsb2IvbWFzdGVyL2xpYi9tb2RlbHMvdHJlZS5tb2RlbC50cyNMMzQxXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LmNsaWNrKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNub2RlRGVmYXVsdEFjdGlvbih0cmVlLCBub2RlLCBldmVudCk7XG4gIH1cblxuICAjb3ZlcnJpZGVBY3Rpb25NYXBwaW5nKCk6IHZvaWQge1xuICAgIGNvbnN0IGRlZmF1bHRBY3Rpb25NYXBwaW5nID1cbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLm9wdGlvbnMuYWN0aW9uTWFwcGluZztcblxuICAgIGlmIChkZWZhdWx0QWN0aW9uTWFwcGluZz8ubW91c2UpIHtcbiAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgY2xpY2svZW50ZXIvc3BhY2UgYWN0aW9uIHRvIGNoZWNrIGZvciB1bnN1cHBvcnRlZCBvcHRpb25zIChsZWFmIG5vZGUsIHNpbmdsZS1zZWxlY3QpLlxuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcubW91c2UuY2xpY2sgPSAodHJlZSwgbm9kZSwgZXZlbnQpID0+XG4gICAgICAgIHRoaXMuI25vZGVEZWZhdWx0QWN0aW9uKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdEFjdGlvbk1hcHBpbmc/LmtleXMpIHtcbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5TUEFDRV0gPSAodHJlZSwgbm9kZSwgZXZlbnQpID0+XG4gICAgICAgIHRoaXMuI29uS2V5RG93bkFjdGlvbih0cmVlLCBub2RlLCBldmVudCk7XG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5rZXlzW0tFWVMuRU5URVJdID0gKHRyZWUsIG5vZGUsIGV2ZW50KSA9PlxuICAgICAgICB0aGlzLiNvbktleURvd25BY3Rpb24odHJlZSwgbm9kZSwgZXZlbnQpO1xuXG4gICAgICAvLyBEaXNhYmxlIGxlZnQvcmlnaHQgYXJyb3cga2V5cyB0byBzdXBwb3J0IG5hdmlnYXRpbmcgdGhyb3VnaCBpbnRlcmFjdGl2ZSBlbGVtZW50cyB3aXRoIGtleWJvYXJkLlxuICAgICAgLy8gU2VlIG9uQXJyb3dMZWZ0KCkgLyBvbkFycm93UmlnaHQoKSBtZXRob2RzIGluc2lkZSB0aGUgYW5ndWxhci10cmVlLW5vZGUuY29tcG9uZW50LnRzLlxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5SSUdIVF0gPSAodHJlZSwgbm9kZSwgJGV2ZW50KSA9PiB1bmRlZmluZWQ7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLkxFRlRdID0gKHRyZWUsIG5vZGUsICRldmVudCkgPT4gdW5kZWZpbmVkO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5ET1dOXSA9ICh0cmVlLCBub2RlLCAkZXZlbnQpID0+IHVuZGVmaW5lZDtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5rZXlzW0tFWVMuVVBdID0gKHRyZWUsIG5vZGUsICRldmVudCkgPT4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gICN0b2dnbGVTZWxlY3RlZChub2RlOiBUcmVlTm9kZSwgZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIElmIHNpbmdsZS1zZWxlY3Rpb24gaXMgZW5hYmxlZCwgb25seSBzZWxlY3QgdGhlIG5vZGUgY2xpY2tlZC5cbiAgICBpZiAodGhpcy5zZWxlY3RTaW5nbGUgJiYgIW5vZGUuaXNTZWxlY3RlZCkge1xuICAgICAgY29uc3Qgb2xkU3RhdGUgPSB0aGlzLnRyZWVDb21wb25lbnQ/LnRyZWVNb2RlbC5nZXRTdGF0ZSgpO1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIGV4cGFuZGVkTm9kZUlkczogb2xkU3RhdGU/LmV4cGFuZGVkTm9kZUlkcyxcbiAgICAgICAgc2VsZWN0ZWRMZWFmTm9kZUlkczogT2JqZWN0LmFzc2lnbih7fSwgbm9kZS5pZCwgeyBbbm9kZS5pZF06IHRydWUgfSksXG4gICAgICAgIGFjdGl2ZU5vZGVJZHM6IG9sZFN0YXRlPy5hY3RpdmVOb2RlSWRzLFxuICAgICAgICBoaWRkZW5Ob2RlSWRzOiBvbGRTdGF0ZT8uaGlkZGVuTm9kZUlkcyxcbiAgICAgICAgZm9jdXNlZE5vZGVJZDogbm9kZS5pZCxcbiAgICAgIH07XG4gICAgICAvLyBSZWNvbnN0cnVjdCB0aGUgc3RhdGUgaW4gb25lIGdvLCBzbyB3ZSBkb24ndCBjcmVhdGUgbXVsdGlwbGUgZXZlbnRzIGZvciB0aGUgY29uc3VtZXIuXG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQ/LnRyZWVNb2RlbC5zZXRTdGF0ZShuZXdTdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFRSRUVfQUNUSU9OUy5UT0dHTEVfU0VMRUNURUQobm9kZS50cmVlTW9kZWwsIG5vZGUsIGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktYW5ndWxhci10cmVlLXdyYXBwZXJcIlxuICBbY2xhc3Muc2t5LWFuZ3VsYXItdHJlZS1yZWFkLW9ubHldPVwicmVhZE9ubHlcIlxuPlxuICA8c2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXG4gICAgKm5nSWY9XCJzaG93VG9vbGJhclwiXG4gICAgW3Nob3dTZWxlY3RCdXR0b25zXT1cInNob3dTZWxlY3RCdXR0b25zKClcIlxuICAgIChjbGVhckFsbENsaWNrKT1cIm9uQ2xlYXJBbGxDbGljaygpXCJcbiAgICAoY29sbGFwc2VBbGxDbGljayk9XCJvbkNvbGxhcHNlQWxsQ2xpY2soKVwiXG4gICAgKGV4cGFuZEFsbENsaWNrKT1cIm9uRXhwYW5kQWxsQ2xpY2soKVwiXG4gICAgKHNlbGVjdEFsbENsaWNrKT1cIm9uU2VsZWN0QWxsQ2xpY2soKVwiXG4gID5cbiAgPC9za3ktYW5ndWxhci10cmVlLXRvb2xiYXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1hbmd1bGFyLXRyZWUtcm9vdFwiXG4gICAgcm9sZT1cInRyZWVcIlxuICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm11bHRpc2VsZWN0YWJsZSgpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInRyZWUtcm9vdFwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -13,8 +13,8 @@ import { SkyAngularTreeWrapperComponent } from './angular-tree-wrapper.component
13
13
  import * as i0 from "@angular/core";
14
14
  export class SkyAngularTreeModule {
15
15
  }
16
- SkyAngularTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- SkyAngularTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeModule, declarations: [SkyAngularTreeContextMenuComponent,
16
+ SkyAngularTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ SkyAngularTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeModule, declarations: [SkyAngularTreeContextMenuComponent,
18
18
  SkyAngularTreeNodeComponent,
19
19
  SkyAngularTreeWrapperComponent,
20
20
  SkyTreeViewToolbarComponent], imports: [CommonModule,
@@ -23,13 +23,13 @@ SkyAngularTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
23
23
  SkyIconModule,
24
24
  SkyToolbarModule,
25
25
  TreeModule], exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent] });
26
- SkyAngularTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeModule, providers: [SkyCoreAdapterService], imports: [CommonModule,
26
+ SkyAngularTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeModule, providers: [SkyCoreAdapterService], imports: [CommonModule,
27
27
  SkyAngularTreeComponentResourcesModule,
28
28
  SkyCheckboxModule,
29
29
  SkyIconModule,
30
30
  SkyToolbarModule,
31
31
  TreeModule] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  declarations: [
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
50
50
  exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent],
51
51
  }]
52
52
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRS9HLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQW9CbEYsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQWhCN0Isa0NBQWtDO1FBQ2xDLDJCQUEyQjtRQUMzQiw4QkFBOEI7UUFDOUIsMkJBQTJCLGFBRzNCLFlBQVk7UUFDWixzQ0FBc0M7UUFDdEMsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsVUFBVSxhQUdGLDJCQUEyQixFQUFFLDhCQUE4QjtrSEFFMUQsb0JBQW9CLGFBSHBCLENBQUMscUJBQXFCLENBQUMsWUFQaEMsWUFBWTtRQUNaLHNDQUFzQztRQUN0QyxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixVQUFVOzJGQUtELG9CQUFvQjtrQkFsQmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtDQUFrQzt3QkFDbEMsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osc0NBQXNDO3dCQUN0QyxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixVQUFVO3FCQUNYO29CQUNELFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSw4QkFBOEIsQ0FBQztpQkFDdkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVNb2R1bGUgfSBmcm9tICdAY2lyY2xvbi9hbmd1bGFyLXRyZWUtY29tcG9uZW50JztcbmltcG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlQ29tcG9uZW50UmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1hbmd1bGFyLXRyZWUtY29tcG9uZW50LXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUcmVlVmlld1Rvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgU2t5QW5ndWxhclRyZWVOb2RlQ29tcG9uZW50LFxuICAgIFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCxcbiAgICBTa3lUcmVlVmlld1Rvb2xiYXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5QW5ndWxhclRyZWVDb21wb25lbnRSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5Q2hlY2tib3hNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lUb29sYmFyTW9kdWxlLFxuICAgIFRyZWVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreUNvcmVBZGFwdGVyU2VydmljZV0sXG4gIGV4cG9ydHM6IFtTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQsIFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlTW9kdWxlIHt9XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRS9HLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQW9CbEYsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQWhCN0Isa0NBQWtDO1FBQ2xDLDJCQUEyQjtRQUMzQiw4QkFBOEI7UUFDOUIsMkJBQTJCLGFBRzNCLFlBQVk7UUFDWixzQ0FBc0M7UUFDdEMsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsVUFBVSxhQUdGLDJCQUEyQixFQUFFLDhCQUE4QjttSEFFMUQsb0JBQW9CLGFBSHBCLENBQUMscUJBQXFCLENBQUMsWUFQaEMsWUFBWTtRQUNaLHNDQUFzQztRQUN0QyxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixVQUFVOzRGQUtELG9CQUFvQjtrQkFsQmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtDQUFrQzt3QkFDbEMsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osc0NBQXNDO3dCQUN0QyxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixVQUFVO3FCQUNYO29CQUNELFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSw4QkFBOEIsQ0FBQztpQkFDdkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVNb2R1bGUgfSBmcm9tICdAY2lyY2xvbi9hbmd1bGFyLXRyZWUtY29tcG9uZW50JztcbmltcG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlQ29tcG9uZW50UmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1hbmd1bGFyLXRyZWUtY29tcG9uZW50LXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUcmVlVmlld1Rvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgU2t5QW5ndWxhclRyZWVOb2RlQ29tcG9uZW50LFxuICAgIFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCxcbiAgICBTa3lUcmVlVmlld1Rvb2xiYXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5QW5ndWxhclRyZWVDb21wb25lbnRSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5Q2hlY2tib3hNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lUb29sYmFyTW9kdWxlLFxuICAgIFRyZWVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreUNvcmVBZGFwdGVyU2VydmljZV0sXG4gIGV4cG9ydHM6IFtTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQsIFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlTW9kdWxlIHt9XG4iXX0=
@@ -26,16 +26,16 @@ export class SkyAngularTreeComponentResourcesProvider {
26
26
  */
27
27
  export class SkyAngularTreeComponentResourcesModule {
28
28
  }
29
- SkyAngularTreeComponentResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- SkyAngularTreeComponentResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, exports: [SkyI18nModule] });
31
- SkyAngularTreeComponentResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, providers: [
29
+ SkyAngularTreeComponentResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
+ SkyAngularTreeComponentResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, exports: [SkyI18nModule] });
31
+ SkyAngularTreeComponentResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, providers: [
32
32
  {
33
33
  provide: SKY_LIB_RESOURCES_PROVIDERS,
34
34
  useClass: SkyAngularTreeComponentResourcesProvider,
35
35
  multi: true,
36
36
  },
37
37
  ], imports: [SkyI18nModule] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  exports: [SkyI18nModule],
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
48
48
  ],
49
49
  }]
50
50
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1FBQ3RELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO1FBQ2xFLCtCQUErQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN4RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDcEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO0tBQ3pEO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyx3Q0FBd0M7SUFHNUMsU0FBUyxDQUNkLFVBQTRCLEVBQzVCLElBQVk7UUFFWixPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLHNDQUFzQzs7bUlBQXRDLHNDQUFzQztvSUFBdEMsc0NBQXNDLFlBVHZDLGFBQWE7b0lBU1osc0NBQXNDLGFBUnRDO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSx3Q0FBd0M7WUFDbEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLFlBUFMsYUFBYTsyRkFTWixzQ0FBc0M7a0JBVmxELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHdDQUF3Qzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1hbmd1bGFyLXRyZWUtY29tcG9uZW50JyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfY2xlYXJfYWxsOiB7IG1lc3NhZ2U6ICdDbGVhciBhbGwnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2NsaWNrX3RvX2V4cGFuZDogeyBtZXNzYWdlOiAnQ2xpY2sgdG8gZXhwYW5kJyB9LFxuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9jb2xsYXBzZV9hbGw6IHsgbWVzc2FnZTogJ0NvbGxhcHNlJyB9LFxuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9leHBhbmRfYWxsOiB7IG1lc3NhZ2U6ICdFeHBhbmQnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX3NlbGVjdF9hbGw6IHsgbWVzc2FnZTogJ1NlbGVjdCBhbGwnIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY2xhc3MgU2t5QW5ndWxhclRyZWVDb21wb25lbnRSZXNvdXJjZXNQcm92aWRlclxuICBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyXG57XG4gIHB1YmxpYyBnZXRTdHJpbmcoXG4gICAgbG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbyxcbiAgICBuYW1lOiBzdHJpbmdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgICAgIHVzZUNsYXNzOiBTa3lBbmd1bGFyVHJlZUNvbXBvbmVudFJlc291cmNlc1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QW5ndWxhclRyZWVDb21wb25lbnRSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1FBQ3RELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO1FBQ2xFLCtCQUErQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN4RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDcEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO0tBQ3pEO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyx3Q0FBd0M7SUFHNUMsU0FBUyxDQUNkLFVBQTRCLEVBQzVCLElBQVk7UUFFWixPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLHNDQUFzQzs7b0lBQXRDLHNDQUFzQztxSUFBdEMsc0NBQXNDLFlBVHZDLGFBQWE7cUlBU1osc0NBQXNDLGFBUnRDO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSx3Q0FBd0M7WUFDbEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLFlBUFMsYUFBYTs0RkFTWixzQ0FBc0M7a0JBVmxELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHdDQUF3Qzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1hbmd1bGFyLXRyZWUtY29tcG9uZW50JyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfY2xlYXJfYWxsOiB7IG1lc3NhZ2U6ICdDbGVhciBhbGwnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2NsaWNrX3RvX2V4cGFuZDogeyBtZXNzYWdlOiAnQ2xpY2sgdG8gZXhwYW5kJyB9LFxuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9jb2xsYXBzZV9hbGw6IHsgbWVzc2FnZTogJ0NvbGxhcHNlJyB9LFxuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9leHBhbmRfYWxsOiB7IG1lc3NhZ2U6ICdFeHBhbmQnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX3NlbGVjdF9hbGw6IHsgbWVzc2FnZTogJ1NlbGVjdCBhbGwnIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY2xhc3MgU2t5QW5ndWxhclRyZWVDb21wb25lbnRSZXNvdXJjZXNQcm92aWRlclxuICBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyXG57XG4gIHB1YmxpYyBnZXRTdHJpbmcoXG4gICAgbG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbyxcbiAgICBuYW1lOiBzdHJpbmdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgICAgIHVzZUNsYXNzOiBTa3lBbmd1bGFyVHJlZUNvbXBvbmVudFJlc291cmNlc1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QW5ndWxhclRyZWVDb21wb25lbnRSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==