ngssm-tree 16.2.3 → 16.2.4

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.
Files changed (20) hide show
  1. package/esm2022/lib/ngssm-expression-tree/components/ngssm-expression-tree/ngssm-expression-tree.component.mjs +4 -4
  2. package/esm2022/lib/ngssm-expression-tree/components/ngssm-expression-tree-node/ngssm-expression-tree-node.component.mjs +4 -4
  3. package/esm2022/lib/ngssm-expression-tree/components/ngssm-expression-tree-node-details/ngssm-expression-tree-node-details.component.mjs +4 -4
  4. package/esm2022/lib/ngssm-expression-tree/reducers/cut-and-paste.reducer.mjs +4 -4
  5. package/esm2022/lib/ngssm-expression-tree/reducers/tree-node-edition.reducer.mjs +4 -4
  6. package/esm2022/lib/ngssm-expression-tree/reducers/tree-node-expand.reducer.mjs +4 -4
  7. package/esm2022/lib/ngssm-expression-tree/reducers/trees.reducer.mjs +4 -4
  8. package/esm2022/lib/ngssm-tree/components/ngssm-breadcrumb/ngssm-breadcrumb.component.mjs +4 -4
  9. package/esm2022/lib/ngssm-tree/components/ngssm-tree/ngssm-tree.component.mjs +4 -4
  10. package/esm2022/lib/ngssm-tree/components/ngssm-tree-search-dialog/ngssm-tree-search-dialog.component.mjs +4 -4
  11. package/esm2022/lib/ngssm-tree/effects/tree-node-loading.effect.mjs +4 -4
  12. package/esm2022/lib/ngssm-tree/effects/tree-nodes-searching.effect.mjs +4 -4
  13. package/esm2022/lib/ngssm-tree/reducers/tree-node-expand.reducer.mjs +4 -4
  14. package/esm2022/lib/ngssm-tree/reducers/tree-node-selection.reducer.mjs +4 -4
  15. package/esm2022/lib/ngssm-tree/reducers/tree-nodes-search.reducer.mjs +4 -4
  16. package/esm2022/lib/ngssm-tree/reducers/tree-nodes.reducer.mjs +4 -4
  17. package/esm2022/lib/ngssm-tree/reducers/trees.reducer.mjs +4 -4
  18. package/fesm2022/ngssm-tree.mjs +51 -51
  19. package/fesm2022/ngssm-tree.mjs.map +1 -1
  20. package/package.json +1 -1
@@ -86,10 +86,10 @@ export class NgssmExpressionTreeComponent extends NgSsmComponent {
86
86
  forceRefresh() {
87
87
  this.changeDetectorRef.markForCheck();
88
88
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmExpressionTreeComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: NgssmExpressionTreeComponent, isStandalone: true, selector: "ngssm-expression-tree", inputs: { treeConfig: "treeConfig" }, usesInheritance: true, ngImport: i0, template: "<mat-card class=\"flex-column-stretch fxFlex ngssm-expression-tree\">\n <mat-card-content class=\"flex-column-stretch fxFlex ngssm-expression-tree-content\"\n *ngIf=\"(treeConfig$ | async) as treeConfig\">\n <cdk-virtual-scroll-viewport [itemSize]=\"treeConfig.rowSize ?? 30\" class=\"fxFlex\"\n *ngIf=\"treeConfig.disableVirtualization !== true\">\n <div *cdkVirtualFor=\"let item of displayedNodes$ | async; trackBy: getItemId\"\n class=\"ngssm-expression-tree-node\" id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"ngssm-expression-tree-nodes-container\" *ngIf=\"treeConfig.disableVirtualization === true\">\n <div *ngFor=\"let item of displayedNodes$ | async; trackBy: getItemId\" class=\"ngssm-expression-tree-node\"\n id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n\n<ng-template #nodeTemplate let-treeConfig=\"treeConfig\" let-item=\"item\">\n <div class=\"flex-row-center fxFlex\" [style.height.px]=\"treeConfig.rowSize ?? 30\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"treeConfig.rowSize ?? 30\" *ngFor=\"let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <mat-icon class=\"{{treeConfig.expandIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === false\"\n (click)=\"$event.stopPropagation();expand(item);\" id=\"expandIcon\">\n </mat-icon>\n <mat-icon class=\"{{treeConfig.collapseIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === true\"\n (click)=\"$event.stopPropagation();collapse(item);\" id=\"collapseIcon\">\n </mat-icon>\n <ngssm-expression-tree-node [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\">\n </ngssm-expression-tree-node>\n </div>\n <div *ngIf=\"item.data.hasRowDetail === true && item.isExpanded === true\" class=\"flex-row-center fxFlex\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"detailContainer.getBoundingClientRect().height\" *ngFor=\" let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n\n <div #detailContainer class=\"ngssm-expression-tree-node-detail-component\">\n <ngssm-expression-tree-node-details [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\"\n (heightChanged)=\"forceRefresh()\">\n </ngssm-expression-tree-node-details>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NgssmExpressionTreeNodeComponent, selector: "ngssm-expression-tree-node", inputs: ["nodeId", "treeConfig"] }, { kind: "component", type: NgssmExpressionTreeNodeDetailsComponent, selector: "ngssm-expression-tree-node-details", inputs: ["nodeId", "treeConfig"], outputs: ["heightChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgssmExpressionTreeComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgssmExpressionTreeComponent, isStandalone: true, selector: "ngssm-expression-tree", inputs: { treeConfig: "treeConfig" }, usesInheritance: true, ngImport: i0, template: "<mat-card class=\"flex-column-stretch fxFlex ngssm-expression-tree\">\n <mat-card-content class=\"flex-column-stretch fxFlex ngssm-expression-tree-content\"\n *ngIf=\"(treeConfig$ | async) as treeConfig\">\n <cdk-virtual-scroll-viewport [itemSize]=\"treeConfig.rowSize ?? 30\" class=\"fxFlex\"\n *ngIf=\"treeConfig.disableVirtualization !== true\">\n <div *cdkVirtualFor=\"let item of displayedNodes$ | async; trackBy: getItemId\"\n class=\"ngssm-expression-tree-node\" id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"ngssm-expression-tree-nodes-container\" *ngIf=\"treeConfig.disableVirtualization === true\">\n <div *ngFor=\"let item of displayedNodes$ | async; trackBy: getItemId\" class=\"ngssm-expression-tree-node\"\n id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n\n<ng-template #nodeTemplate let-treeConfig=\"treeConfig\" let-item=\"item\">\n <div class=\"flex-row-center fxFlex\" [style.height.px]=\"treeConfig.rowSize ?? 30\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"treeConfig.rowSize ?? 30\" *ngFor=\"let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <mat-icon class=\"{{treeConfig.expandIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === false\"\n (click)=\"$event.stopPropagation();expand(item);\" id=\"expandIcon\">\n </mat-icon>\n <mat-icon class=\"{{treeConfig.collapseIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === true\"\n (click)=\"$event.stopPropagation();collapse(item);\" id=\"collapseIcon\">\n </mat-icon>\n <ngssm-expression-tree-node [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\">\n </ngssm-expression-tree-node>\n </div>\n <div *ngIf=\"item.data.hasRowDetail === true && item.isExpanded === true\" class=\"flex-row-center fxFlex\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"detailContainer.getBoundingClientRect().height\" *ngFor=\" let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n\n <div #detailContainer class=\"ngssm-expression-tree-node-detail-component\">\n <ngssm-expression-tree-node-details [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\"\n (heightChanged)=\"forceRefresh()\">\n </ngssm-expression-tree-node-details>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NgssmExpressionTreeNodeComponent, selector: "ngssm-expression-tree-node", inputs: ["nodeId", "treeConfig"] }, { kind: "component", type: NgssmExpressionTreeNodeDetailsComponent, selector: "ngssm-expression-tree-node-details", inputs: ["nodeId", "treeConfig"], outputs: ["heightChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmExpressionTreeComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgssmExpressionTreeComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{ selector: 'ngssm-expression-tree', standalone: true, imports: [
95
95
  CommonModule,
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
103
103
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { treeConfig: [{
104
104
  type: Input
105
105
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBNEIsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHcEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvRUFB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QWUsMmpCQUNmLGFBQWEsME5BQ2IsZ0JBQWdCLGtJQUNoQixhQUFhLG9MQUNiLGdDQUFnQyx5R0FDaEMsdUNBQXVDOzsyRkFNOUIsNEJBQTRCO2tCQWhCeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixnQ0FBZ0M7d0JBQ2hDLHVDQUF1QztxQkFDeEMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07NEhBZ0MzQixVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZSwgTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZywgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5pbXBvcnQgeyBOZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLCBOZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiB9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nc3NtLWV4cHJlc3Npb24tdHJlZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQ29tcG9uZW50LFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtRXhwcmVzc2lvblRyZWVDb21wb25lbnQgZXh0ZW5kcyBOZ1NzbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNwbGF5ZWROb2RlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJlZUNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfdHJlZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgdGhpcy5fdHJlZSQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHRyZWUpID0+IHtcbiAgICAgIGNvbnN0IGRpc3BsYXllZE5vZGVzOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdID0gW107XG4gICAgICBjb25zdCBjb2xsYXBzZWROb2RlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgKHRyZWU/Lm5vZGVzID8/IFtdKS5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgIGlmIChub2RlLmRhdGEuaXNFeHBhbmRhYmxlID09PSB0cnVlICYmIG5vZGUuaXNFeHBhbmRlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBjb2xsYXBzZWROb2Rlcy5hZGQobm9kZS5kYXRhLmlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbm9kZS5kYXRhLnBhcmVudElkIHx8IG5vZGUucGF0aC5maW5kSW5kZXgoKHApID0+IGNvbGxhcHNlZE5vZGVzLmhhcyhwKSkgPT09IC0xKSB7XG4gICAgICAgICAgZGlzcGxheWVkTm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX2Rpc3BsYXllZE5vZGVzJC5uZXh0KGRpc3BsYXllZE5vZGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHJlZUNvbmZpZyh2YWx1ZTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl90cmVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuX3RyZWVDb25maWckLm5leHQodW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWc6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgPSB7XG4gICAgICAuLi52YWx1ZVxuICAgIH07XG4gICAgaWYgKCFjb25maWcuZ2V0Tm9kZUxhYmVsKSB7XG4gICAgICBjb25maWcuZ2V0Tm9kZUxhYmVsID0gKG5vZGUpID0+IG5vZGUuZGF0YS5pZDtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5leHBhbmRJY29uQ2xhc3MpIHtcbiAgICAgIGNvbmZpZy5leHBhbmRJY29uQ2xhc3MgPSAnZmEtc29saWQgZmEtY2hldnJvbi1yaWdodCc7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcuY29sbGFwc2VJY29uQ2xhc3MpIHtcbiAgICAgIGNvbmZpZy5jb2xsYXBzZUljb25DbGFzcyA9ICdmYS1zb2xpZCBmYS1jaGV2cm9uLWRvd24nO1xuICAgIH1cblxuICAgIHRoaXMuX3RyZWVDb25maWckLm5leHQoY29uZmlnKTtcbiAgICB0aGlzLl90cmVlU3Vic2NyaXB0aW9uID0gdGhpcy53YXRjaCgocykgPT4gc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHMpLnRyZWVzW3ZhbHVlLnRyZWVJZF0pLnN1YnNjcmliZSgodHJlZSkgPT5cbiAgICAgIHRoaXMuX3RyZWUkLm5leHQodHJlZSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB0cmVlQ29uZmlnJCgpOiBPYnNlcnZhYmxlPE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fdHJlZUNvbmZpZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXllZE5vZGVzJCgpOiBPYnNlcnZhYmxlPE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheWVkTm9kZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW1JZChfOiBudW1iZXIsIG5vZGU6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbm9kZS5kYXRhLmlkO1xuICB9XG5cbiAgcHVibGljIGdldERlZmF1bHRQYWRkaW5nKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/Lm5vZGVQYWRkaW5nID8/IDIwO1xuICB9XG5cbiAgcHVibGljIGV4cGFuZChub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWVJZCA9IHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/LnRyZWVJZDtcbiAgICBpZiAodHJlZUlkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBOZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGUuZGF0YS5pZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb2xsYXBzZShub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWVJZCA9IHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/LnRyZWVJZDtcbiAgICBpZiAodHJlZUlkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBOZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uKHRyZWVJZCwgbm9kZS5kYXRhLmlkKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcmNlUmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJmbGV4LWNvbHVtbi1zdHJldGNoIGZ4RmxleCBuZ3NzbS1leHByZXNzaW9uLXRyZWVcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImZsZXgtY29sdW1uLXN0cmV0Y2ggZnhGbGV4IG5nc3NtLWV4cHJlc3Npb24tdHJlZS1jb250ZW50XCJcbiAgICAgICAgKm5nSWY9XCIodHJlZUNvbmZpZyQgfCBhc3luYykgYXMgdHJlZUNvbmZpZ1wiPlxuICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJ0cmVlQ29uZmlnLnJvd1NpemUgPz8gMzBcIiBjbGFzcz1cImZ4RmxleFwiXG4gICAgICAgICAgICAqbmdJZj1cInRyZWVDb25maWcuZGlzYWJsZVZpcnR1YWxpemF0aW9uICE9PSB0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2ICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheWVkTm9kZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGdldEl0ZW1JZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZVwiIGlkPVwie3snbm9kZV8nICsgaXRlbS5kYXRhLmlkfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRlbXBsYXRlO2NvbnRleHQ6IHt0cmVlQ29uZmlnLCBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVzLWNvbnRhaW5lclwiICpuZ0lmPVwidHJlZUNvbmZpZy5kaXNhYmxlVmlydHVhbGl6YXRpb24gPT09IHRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheWVkTm9kZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGdldEl0ZW1JZFwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVcIlxuICAgICAgICAgICAgICAgIGlkPVwie3snbm9kZV8nICsgaXRlbS5kYXRhLmlkfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRlbXBsYXRlO2NvbnRleHQ6IHt0cmVlQ29uZmlnLCBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjbm9kZVRlbXBsYXRlIGxldC10cmVlQ29uZmlnPVwidHJlZUNvbmZpZ1wiIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LXJvdy1jZW50ZXIgZnhGbGV4XCIgW3N0eWxlLmhlaWdodC5weF09XCJ0cmVlQ29uZmlnLnJvd1NpemUgPz8gMzBcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kaXZpZGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwidHJlZUNvbmZpZy5yb3dTaXplID8/IDMwXCIgKm5nRm9yPVwibGV0IHBhcnQgb2YgaXRlbS5wYXRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiZ2V0RGVmYXVsdFBhZGRpbmcoKVwiPlxuICAgICAgICA8L21hdC1kaXZpZGVyPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ7e3RyZWVDb25maWcuZXhwYW5kSWNvbkNsYXNzfX1cIlxuICAgICAgICAgICAgKm5nSWY9XCIoaXRlbS5kYXRhLmlzRXhwYW5kYWJsZSB8fCBpdGVtLmRhdGEuaGFzUm93RGV0YWlsKSAmJiBpdGVtLmlzRXhwYW5kZWQgPT09IGZhbHNlXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ZXhwYW5kKGl0ZW0pO1wiIGlkPVwiZXhwYW5kSWNvblwiPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ7e3RyZWVDb25maWcuY29sbGFwc2VJY29uQ2xhc3N9fVwiXG4gICAgICAgICAgICAqbmdJZj1cIihpdGVtLmRhdGEuaXNFeHBhbmRhYmxlIHx8IGl0ZW0uZGF0YS5oYXNSb3dEZXRhaWwpICYmIGl0ZW0uaXNFeHBhbmRlZCA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO2NvbGxhcHNlKGl0ZW0pO1wiIGlkPVwiY29sbGFwc2VJY29uXCI+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZSBbbm9kZUlkXT1cIml0ZW0uZGF0YS5pZFwiIFt0cmVlQ29uZmlnXT1cInRyZWVDb25maWdcIj5cbiAgICAgICAgPC9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kYXRhLmhhc1Jvd0RldGFpbCA9PT0gdHJ1ZSAmJiBpdGVtLmlzRXhwYW5kZWQgPT09IHRydWVcIiBjbGFzcz1cImZsZXgtcm93LWNlbnRlciBmeEZsZXhcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kaXZpZGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZGV0YWlsQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodFwiICpuZ0Zvcj1cIiBsZXQgcGFydCBvZiBpdGVtLnBhdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1hcmdpbi1yaWdodC5weF09XCJnZXREZWZhdWx0UGFkZGluZygpXCI+XG4gICAgICAgIDwvbWF0LWRpdmlkZXI+XG5cbiAgICAgICAgPGRpdiAjZGV0YWlsQ29udGFpbmVyIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlsLWNvbXBvbmVudFwiPlxuICAgICAgICAgICAgPG5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMgW25vZGVJZF09XCJpdGVtLmRhdGEuaWRcIiBbdHJlZUNvbmZpZ109XCJ0cmVlQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAoaGVpZ2h0Q2hhbmdlZCk9XCJmb3JjZVJlZnJlc2goKVwiPlxuICAgICAgICAgICAgPC9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBNEIsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHcEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvRUFB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QWUsMmpCQUNmLGFBQWEsME5BQ2IsZ0JBQWdCLGtJQUNoQixhQUFhLG9MQUNiLGdDQUFnQyx5R0FDaEMsdUNBQXVDOzs0RkFNOUIsNEJBQTRCO2tCQWhCeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixnQ0FBZ0M7d0JBQ2hDLHVDQUF1QztxQkFDeEMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07NEhBZ0MzQixVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZSwgTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZywgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5pbXBvcnQgeyBOZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLCBOZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiB9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nc3NtLWV4cHJlc3Npb24tdHJlZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQ29tcG9uZW50LFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtRXhwcmVzc2lvblRyZWVDb21wb25lbnQgZXh0ZW5kcyBOZ1NzbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNwbGF5ZWROb2RlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJlZUNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfdHJlZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgdGhpcy5fdHJlZSQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHRyZWUpID0+IHtcbiAgICAgIGNvbnN0IGRpc3BsYXllZE5vZGVzOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdID0gW107XG4gICAgICBjb25zdCBjb2xsYXBzZWROb2RlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgKHRyZWU/Lm5vZGVzID8/IFtdKS5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgIGlmIChub2RlLmRhdGEuaXNFeHBhbmRhYmxlID09PSB0cnVlICYmIG5vZGUuaXNFeHBhbmRlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBjb2xsYXBzZWROb2Rlcy5hZGQobm9kZS5kYXRhLmlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbm9kZS5kYXRhLnBhcmVudElkIHx8IG5vZGUucGF0aC5maW5kSW5kZXgoKHApID0+IGNvbGxhcHNlZE5vZGVzLmhhcyhwKSkgPT09IC0xKSB7XG4gICAgICAgICAgZGlzcGxheWVkTm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX2Rpc3BsYXllZE5vZGVzJC5uZXh0KGRpc3BsYXllZE5vZGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHJlZUNvbmZpZyh2YWx1ZTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl90cmVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuX3RyZWVDb25maWckLm5leHQodW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWc6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgPSB7XG4gICAgICAuLi52YWx1ZVxuICAgIH07XG4gICAgaWYgKCFjb25maWcuZ2V0Tm9kZUxhYmVsKSB7XG4gICAgICBjb25maWcuZ2V0Tm9kZUxhYmVsID0gKG5vZGUpID0+IG5vZGUuZGF0YS5pZDtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5leHBhbmRJY29uQ2xhc3MpIHtcbiAgICAgIGNvbmZpZy5leHBhbmRJY29uQ2xhc3MgPSAnZmEtc29saWQgZmEtY2hldnJvbi1yaWdodCc7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcuY29sbGFwc2VJY29uQ2xhc3MpIHtcbiAgICAgIGNvbmZpZy5jb2xsYXBzZUljb25DbGFzcyA9ICdmYS1zb2xpZCBmYS1jaGV2cm9uLWRvd24nO1xuICAgIH1cblxuICAgIHRoaXMuX3RyZWVDb25maWckLm5leHQoY29uZmlnKTtcbiAgICB0aGlzLl90cmVlU3Vic2NyaXB0aW9uID0gdGhpcy53YXRjaCgocykgPT4gc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHMpLnRyZWVzW3ZhbHVlLnRyZWVJZF0pLnN1YnNjcmliZSgodHJlZSkgPT5cbiAgICAgIHRoaXMuX3RyZWUkLm5leHQodHJlZSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB0cmVlQ29uZmlnJCgpOiBPYnNlcnZhYmxlPE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fdHJlZUNvbmZpZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXllZE5vZGVzJCgpOiBPYnNlcnZhYmxlPE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheWVkTm9kZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW1JZChfOiBudW1iZXIsIG5vZGU6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbm9kZS5kYXRhLmlkO1xuICB9XG5cbiAgcHVibGljIGdldERlZmF1bHRQYWRkaW5nKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/Lm5vZGVQYWRkaW5nID8/IDIwO1xuICB9XG5cbiAgcHVibGljIGV4cGFuZChub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWVJZCA9IHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/LnRyZWVJZDtcbiAgICBpZiAodHJlZUlkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBOZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGUuZGF0YS5pZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb2xsYXBzZShub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWVJZCA9IHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/LnRyZWVJZDtcbiAgICBpZiAodHJlZUlkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBOZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uKHRyZWVJZCwgbm9kZS5kYXRhLmlkKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcmNlUmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJmbGV4LWNvbHVtbi1zdHJldGNoIGZ4RmxleCBuZ3NzbS1leHByZXNzaW9uLXRyZWVcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImZsZXgtY29sdW1uLXN0cmV0Y2ggZnhGbGV4IG5nc3NtLWV4cHJlc3Npb24tdHJlZS1jb250ZW50XCJcbiAgICAgICAgKm5nSWY9XCIodHJlZUNvbmZpZyQgfCBhc3luYykgYXMgdHJlZUNvbmZpZ1wiPlxuICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJ0cmVlQ29uZmlnLnJvd1NpemUgPz8gMzBcIiBjbGFzcz1cImZ4RmxleFwiXG4gICAgICAgICAgICAqbmdJZj1cInRyZWVDb25maWcuZGlzYWJsZVZpcnR1YWxpemF0aW9uICE9PSB0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2ICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheWVkTm9kZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGdldEl0ZW1JZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZVwiIGlkPVwie3snbm9kZV8nICsgaXRlbS5kYXRhLmlkfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRlbXBsYXRlO2NvbnRleHQ6IHt0cmVlQ29uZmlnLCBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVzLWNvbnRhaW5lclwiICpuZ0lmPVwidHJlZUNvbmZpZy5kaXNhYmxlVmlydHVhbGl6YXRpb24gPT09IHRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheWVkTm9kZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGdldEl0ZW1JZFwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVcIlxuICAgICAgICAgICAgICAgIGlkPVwie3snbm9kZV8nICsgaXRlbS5kYXRhLmlkfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRlbXBsYXRlO2NvbnRleHQ6IHt0cmVlQ29uZmlnLCBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjbm9kZVRlbXBsYXRlIGxldC10cmVlQ29uZmlnPVwidHJlZUNvbmZpZ1wiIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LXJvdy1jZW50ZXIgZnhGbGV4XCIgW3N0eWxlLmhlaWdodC5weF09XCJ0cmVlQ29uZmlnLnJvd1NpemUgPz8gMzBcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kaXZpZGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwidHJlZUNvbmZpZy5yb3dTaXplID8/IDMwXCIgKm5nRm9yPVwibGV0IHBhcnQgb2YgaXRlbS5wYXRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiZ2V0RGVmYXVsdFBhZGRpbmcoKVwiPlxuICAgICAgICA8L21hdC1kaXZpZGVyPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ7e3RyZWVDb25maWcuZXhwYW5kSWNvbkNsYXNzfX1cIlxuICAgICAgICAgICAgKm5nSWY9XCIoaXRlbS5kYXRhLmlzRXhwYW5kYWJsZSB8fCBpdGVtLmRhdGEuaGFzUm93RGV0YWlsKSAmJiBpdGVtLmlzRXhwYW5kZWQgPT09IGZhbHNlXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ZXhwYW5kKGl0ZW0pO1wiIGlkPVwiZXhwYW5kSWNvblwiPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ7e3RyZWVDb25maWcuY29sbGFwc2VJY29uQ2xhc3N9fVwiXG4gICAgICAgICAgICAqbmdJZj1cIihpdGVtLmRhdGEuaXNFeHBhbmRhYmxlIHx8IGl0ZW0uZGF0YS5oYXNSb3dEZXRhaWwpICYmIGl0ZW0uaXNFeHBhbmRlZCA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO2NvbGxhcHNlKGl0ZW0pO1wiIGlkPVwiY29sbGFwc2VJY29uXCI+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZSBbbm9kZUlkXT1cIml0ZW0uZGF0YS5pZFwiIFt0cmVlQ29uZmlnXT1cInRyZWVDb25maWdcIj5cbiAgICAgICAgPC9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kYXRhLmhhc1Jvd0RldGFpbCA9PT0gdHJ1ZSAmJiBpdGVtLmlzRXhwYW5kZWQgPT09IHRydWVcIiBjbGFzcz1cImZsZXgtcm93LWNlbnRlciBmeEZsZXhcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kaXZpZGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZGV0YWlsQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodFwiICpuZ0Zvcj1cIiBsZXQgcGFydCBvZiBpdGVtLnBhdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1hcmdpbi1yaWdodC5weF09XCJnZXREZWZhdWx0UGFkZGluZygpXCI+XG4gICAgICAgIDwvbWF0LWRpdmlkZXI+XG5cbiAgICAgICAgPGRpdiAjZGV0YWlsQ29udGFpbmVyIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlsLWNvbXBvbmVudFwiPlxuICAgICAgICAgICAgPG5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMgW25vZGVJZF09XCJpdGVtLmRhdGEuaWRcIiBbdHJlZUNvbmZpZ109XCJ0cmVlQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAoaGVpZ2h0Q2hhbmdlZCk9XCJmb3JjZVJlZnJlc2goKVwiPlxuICAgICAgICAgICAgPC9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -135,10 +135,10 @@ export class NgssmExpressionTreeNodeComponent extends NgSsmComponent {
135
135
  this.dispatchAction(new NgssmPasteExpressionTreeNodeAction(treeId, nodeId, target));
136
136
  }
137
137
  }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmExpressionTreeNodeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: NgssmExpressionTreeNodeComponent, isStandalone: true, selector: "ngssm-expression-tree-node", inputs: { nodeId: "nodeId", treeConfig: "treeConfig" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ngssm-expression-tree-node-icon\" *ngIf=\"(nodeCssIcon$ | async) !== undefined\" id=\"treeNodeIcon\">\n <mat-icon class=\"{{nodeCssIcon$ | async}}\"></mat-icon>\n</div>\n\n<div class=\"ngssm-expression-tree-node-label\" [matMenuTriggerFor]=\"contextMenu\"\n [class.ngssm-expression-tree-node-to-cut]=\"(cutAndPaste$ | async)?.isPartOfCut === true\" id=\"treeNodeLabel\">\n {{nodeLabel$ | async}}\n</div>\n\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n\n<div class=\"ngssm-expression-tree-node-description-component\" [ngssmComponentDisplay]=\"componentToDisplay$ | async\"\n [ngssmComponentAction]=\"componentAction$ | async\">\n</div>\n\n<mat-menu #contextMenu=\"matMenu\" [class]=\"'ngssm-expression-tree-popup-menu'\">\n <div class=\"flex-column-stretch\"\n *ngIf=\"treeConfig?.displayCutAndPasteMenus === true && (cutAndPaste$ | async) as cutAndPasteSetup\">\n <button mat-menu-item (click)=\"cut()\" *ngIf=\"cutAndPasteSetup.isCutAndPasteInProgress === false\"\n [disabled]=\"cutAndPasteSetup.canCut !== true\">\n <mat-icon class=\"fa-solid fa-scissors\"></mat-icon>\n <span>Cut</span>\n </button>\n <button mat-menu-item *ngIf=\"cutAndPasteSetup.isCutAndPasteInProgress === true\" (click)=\"cancelCut()\">\n <mat-icon class=\"fa-solid fa-slash\"></mat-icon>\n <span>Cancel cut</span>\n </button>\n <button mat-menu-item [disabled]=\"cutAndPasteSetup.canPasteInside !== true\" (click)=\"paste('Inside')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste inside</span>\n </button>\n <button mat-menu-item [disabled]=\"cutAndPasteSetup.canPasteAfter !== true\" (click)=\"paste('After')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste after</span>\n </button>\n <mat-divider></mat-divider>\n </div>\n\n <button mat-menu-item (click)=\"expandAll()\">\n <mat-icon class=\"fa-solid fa-up-right-and-down-left-from-center\"></mat-icon>\n <span>Expand all</span>\n </button>\n <button mat-menu-item (click)=\"collapseAll()\">\n <mat-icon class=\"fa-solid fa-down-left-and-up-right-to-center\"></mat-icon>\n <span>Collapse all</span>\n </button>\n</mat-menu>", styles: [":host{display:flex;flex-direction:row;align-items:center;flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgssmExpressionTreeNodeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgssmExpressionTreeNodeComponent, isStandalone: true, selector: "ngssm-expression-tree-node", inputs: { nodeId: "nodeId", treeConfig: "treeConfig" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ngssm-expression-tree-node-icon\" *ngIf=\"(nodeCssIcon$ | async) !== undefined\" id=\"treeNodeIcon\">\n <mat-icon class=\"{{nodeCssIcon$ | async}}\"></mat-icon>\n</div>\n\n<div class=\"ngssm-expression-tree-node-label\" [matMenuTriggerFor]=\"contextMenu\"\n [class.ngssm-expression-tree-node-to-cut]=\"(cutAndPaste$ | async)?.isPartOfCut === true\" id=\"treeNodeLabel\">\n {{nodeLabel$ | async}}\n</div>\n\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n\n<div class=\"ngssm-expression-tree-node-description-component\" [ngssmComponentDisplay]=\"componentToDisplay$ | async\"\n [ngssmComponentAction]=\"componentAction$ | async\">\n</div>\n\n<mat-menu #contextMenu=\"matMenu\" [class]=\"'ngssm-expression-tree-popup-menu'\">\n <div class=\"flex-column-stretch\"\n *ngIf=\"treeConfig?.displayCutAndPasteMenus === true && (cutAndPaste$ | async) as cutAndPasteSetup\">\n <button mat-menu-item (click)=\"cut()\" *ngIf=\"cutAndPasteSetup.isCutAndPasteInProgress === false\"\n [disabled]=\"cutAndPasteSetup.canCut !== true\">\n <mat-icon class=\"fa-solid fa-scissors\"></mat-icon>\n <span>Cut</span>\n </button>\n <button mat-menu-item *ngIf=\"cutAndPasteSetup.isCutAndPasteInProgress === true\" (click)=\"cancelCut()\">\n <mat-icon class=\"fa-solid fa-slash\"></mat-icon>\n <span>Cancel cut</span>\n </button>\n <button mat-menu-item [disabled]=\"cutAndPasteSetup.canPasteInside !== true\" (click)=\"paste('Inside')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste inside</span>\n </button>\n <button mat-menu-item [disabled]=\"cutAndPasteSetup.canPasteAfter !== true\" (click)=\"paste('After')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste after</span>\n </button>\n <mat-divider></mat-divider>\n </div>\n\n <button mat-menu-item (click)=\"expandAll()\">\n <mat-icon class=\"fa-solid fa-up-right-and-down-left-from-center\"></mat-icon>\n <span>Expand all</span>\n </button>\n <button mat-menu-item (click)=\"collapseAll()\">\n <mat-icon class=\"fa-solid fa-down-left-and-up-right-to-center\"></mat-icon>\n <span>Collapse all</span>\n </button>\n</mat-menu>", styles: [":host{display:flex;flex-direction:row;align-items:center;flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmExpressionTreeNodeComponent, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgssmExpressionTreeNodeComponent, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'ngssm-expression-tree-node', standalone: true, imports: [CommonModule, MatIconModule, MatMenuModule, MatDividerModule, NgssmComponentDisplayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngssm-expression-tree-node-icon\" *ngIf=\"(nodeCssIcon$ | async) !== undefined\" id=\"treeNodeIcon\">\n <mat-icon class=\"{{nodeCssIcon$ | async}}\"></mat-icon>\n</div>\n\n<div class=\"ngssm-expression-tree-node-label\" [matMenuTriggerFor]=\"contextMenu\"\n [class.ngssm-expression-tree-node-to-cut]=\"(cutAndPaste$ | async)?.isPartOfCut === true\" id=\"treeNodeLabel\">\n {{nodeLabel$ | async}}\n</div>\n\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n\n<div class=\"ngssm-expression-tree-node-description-component\" [ngssmComponentDisplay]=\"componentToDisplay$ | async\"\n [ngssmComponentAction]=\"componentAction$ | async\">\n</div>\n\n<mat-menu #contextMenu=\"matMenu\" [class]=\"'ngssm-expression-tree-popup-menu'\">\n <div class=\"flex-column-stretch\"\n *ngIf=\"treeConfig?.displayCutAndPasteMenus === true && (cutAndPaste$ | async) as cutAndPasteSetup\">\n <button mat-menu-item (click)=\"cut()\" *ngIf=\"cutAndPasteSetup.isCutAndPasteInProgress === false\"\n [disabled]=\"cutAndPasteSetup.canCut !== true\">\n <mat-icon class=\"fa-solid fa-scissors\"></mat-icon>\n <span>Cut</span>\n </button>\n <button mat-menu-item *ngIf=\"cutAndPasteSetup.isCutAndPasteInProgress === true\" (click)=\"cancelCut()\">\n <mat-icon class=\"fa-solid fa-slash\"></mat-icon>\n <span>Cancel cut</span>\n </button>\n <button mat-menu-item [disabled]=\"cutAndPasteSetup.canPasteInside !== true\" (click)=\"paste('Inside')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste inside</span>\n </button>\n <button mat-menu-item [disabled]=\"cutAndPasteSetup.canPasteAfter !== true\" (click)=\"paste('After')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste after</span>\n </button>\n <mat-divider></mat-divider>\n </div>\n\n <button mat-menu-item (click)=\"expandAll()\">\n <mat-icon class=\"fa-solid fa-up-right-and-down-left-from-center\"></mat-icon>\n <span>Expand all</span>\n </button>\n <button mat-menu-item (click)=\"collapseAll()\">\n <mat-icon class=\"fa-solid fa-down-left-and-up-right-to-center\"></mat-icon>\n <span>Collapse all</span>\n </button>\n</mat-menu>", styles: [":host{display:flex;flex-direction:row;align-items:center;flex:1}\n"] }]
144
144
  }], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { nodeId: [{
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
146
146
  }], treeConfig: [{
147
147
  type: Input
148
148
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9jb21wb25lbnRzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRyxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFDTCxzQ0FBc0MsRUFDdEMseUNBQXlDLEVBQ3pDLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsa0NBQWtDLEVBQ25DLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVXZCLE1BQU0scUJBQXFCLEdBQUcsR0FBZ0IsRUFBRSxDQUFDLENBQUM7SUFDaEQsdUJBQXVCLEVBQUUsS0FBSztJQUM5QixXQUFXLEVBQUUsS0FBSztJQUNsQixNQUFNLEVBQUUsS0FBSztJQUNiLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUMsQ0FBQztBQVVILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxjQUFjO0lBVWxFLFlBQVksS0FBWTtRQUN0QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFWRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzlELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQXdDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JGLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDOUMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDbkUsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFtQyxTQUFTLENBQUMsQ0FBQztRQUNyRix5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUMzRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFjLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUt6RixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM5QyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsRUFDdkQsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFDL0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDZCxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1lBQzlHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUM1RixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7U0FDL0YsQ0FBQyxDQUNILEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDaEM7YUFDQSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hELE1BQU0sU0FBUyxHQUFHLE1BQU0s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RUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLDhCQUE4QixDQUFDLG1CQUd0Rix1QkFBdUIsQ0FBQyxNQUFNOzRGQWtFM0IsTUFBTTtzQkFBekIsS0FBSztnQkFRYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21Db21wb25lbnRBY3Rpb24sIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZSB9IGZyb20gJ25nc3NtLXRvb2xraXQnO1xuXG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnLCBOZ3NzbUV4cHJlc3Npb25UcmVlQ3VzdG9tQ29tcG9uZW50LCBDdXRBbmRQYXN0ZVRhcmdldCB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlJztcbmltcG9ydCB7XG4gIE5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLFxuICBOZ3NzbUNvbGxhcHNlQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvblxufSBmcm9tICcuLi8uLi9hY3Rpb25zJztcblxuaW50ZXJmYWNlIEN1dEFuZFBhc3RlIHtcbiAgaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIGlzUGFydE9mQ3V0OiBib29sZWFuO1xuICBjYW5DdXQ6IGJvb2xlYW47XG4gIGNhblBhc3RlSW5zaWRlOiBib29sZWFuO1xuICBjYW5QYXN0ZUFmdGVyOiBib29sZWFuO1xufVxuXG5jb25zdCBnZXREZWZhdWx0Q3V0QW5kUGFzdGUgPSAoKTogQ3V0QW5kUGFzdGUgPT4gKHtcbiAgaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3M6IGZhbHNlLFxuICBpc1BhcnRPZkN1dDogZmFsc2UsXG4gIGNhbkN1dDogZmFsc2UsXG4gIGNhblBhc3RlSW5zaWRlOiBmYWxzZSxcbiAgY2FuUGFzdGVBZnRlcjogZmFsc2Vcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlTGFiZWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZUNzc0ljb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVEZXNjcmlwdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50QWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21Db21wb25lbnRBY3Rpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudFRvRGlzcGxheSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0QW5kUGFzdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDdXRBbmRQYXN0ZT4oZ2V0RGVmYXVsdEN1dEFuZFBhc3RlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX25vZGVJZCQsIHRoaXMuX3RyZWVDb25maWckXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHYpID0+IHZbMF0gIT09IHVuZGVmaW5lZCAmJiB2WzFdICE9PSB1bmRlZmluZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHYpID0+XG4gICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUocykudHJlZXNbdlsxXT8udHJlZUlkID8/ICd1bmtub3duJ10/LmRhdGFbdlswXSA/PyAndW5rbm93biddKSxcbiAgICAgICAgICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t2WzFdPy50cmVlSWQgPz8gJ3Vua25vd24nXT8ubm9kZXMpLFxuICAgICAgICAgICAgdGhpcy53YXRjaCgocykgPT4gc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHMpLnRyZWVzW3ZbMV0/LnRyZWVJZCA/PyAndW5rbm93biddPy5ub2RlQ3V0KVxuICAgICAgICAgIF0pXG4gICAgICAgICksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICBjb25zdCBub2RlID0gKHZhbHVlc1sxXSA/PyBbXSkuZmluZCgodikgPT4gdi5kYXRhLmlkID09PSB0aGlzLl9ub2RlSWQkLmdldFZhbHVlKCkpO1xuICAgICAgICBjb25zdCB0cmVlQ29uZmlnID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3Qgbm9kZVZhbHVlID0gdmFsdWVzWzBdO1xuICAgICAgICBjb25zdCBjdXRBbmRQYXN0ZTogQ3V0QW5kUGFzdGUgPSBnZXREZWZhdWx0Q3V0QW5kUGFzdGUoKTtcbiAgICAgICAgaWYgKG5vZGUgJiYgdHJlZUNvbmZpZyAmJiBub2RlVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl9ub2RlTGFiZWwkLm5leHQodHJlZUNvbmZpZy5nZXROb2RlTGFiZWw/Lihub2RlLCBub2RlVmFsdWUpID8/ICcnKTtcbiAgICAgICAgICB0aGlzLl9ub2RlQ3NzSWNvbiQubmV4dCh0cmVlQ29uZmlnLmdldE5vZGVDc3NJY29uPy4obm9kZSwgbm9kZVZhbHVlKSA/PyB1bmRlZmluZWQpO1xuICAgICAgICAgIHRoaXMuX25vZGVEZXNjcmlwdGlvbiQubmV4dCh0cmVlQ29uZmlnLmdldE5vZGVEZXNjcmlwdGlvbj8uKG5vZGUsIG5vZGVWYWx1ZSkpO1xuICAgICAgICAgIGN1dEFuZFBhc3RlLmNhbkN1dCA9IHRyZWVDb25maWcuY2FuQ3V0Py4obm9kZSkgPz8gdHJ1ZTtcblxuICAgICAgICAgIGlmICh2YWx1ZXNbMl0pIHtcbiAgICAgICAgICAgIGN1dEFuZFBhc3RlLmlzUGFydE9mQ3V0ID0gdmFsdWVzWzJdLmRhdGEuaWQgPT09IG5vZGUuZGF0YS5pZCB8fCBub2RlLnBhdGguaW5jbHVkZXModmFsdWVzWzJdLmRhdGEuaWQpO1xuXG4gICAgICAgICAgICBpZiAoIWN1dEFuZFBhc3RlLmlzUGFydE9mQ3V0KSB7XG4gICAgICAgICAgICAgIGN1dEFuZFBhc3RlLmNhblBhc3RlSW5zaWRlID0gdHJlZUNvbmZpZy5jYW5QYXN0ZT8uKHZhbHVlc1syXSwgbm9kZSwgJ0luc2lkZScpID8/IGZhbHNlO1xuICAgICAgICAgICAgICBjdXRBbmRQYXN0ZS5jYW5QYXN0ZUFmdGVyID0gdHJlZUNvbmZpZy5jYW5QYXN0ZT8uKHZhbHVlc1syXSwgbm9kZSwgJ0FmdGVyJykgPz8gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY3V0QW5kUGFzdGUuaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3MgPSAhIXZhbHVlc1syXTtcblxuICAgICAgICB0aGlzLl9jdXRBbmRQYXN0ZSQubmV4dChjdXRBbmRQYXN0ZSk7XG4gICAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX25vZGVJZCQsIHRoaXMuX3RyZWVDb25maWckXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgY29uc3QgdHJlZUNvbmZpZyA9IHZhbHVlc1sxXTtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gdmFsdWVzWzBdO1xuICAgICAgICBpZiAodHJlZUNvbmZpZyAmJiBub2RlSWQpIHtcbiAgICAgICAgICB0aGlzLl9jb21wb25lbnRBY3Rpb24kLm5leHQoKGM6IE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnQpID0+IGMuc2V0dXAodHJlZUNvbmZpZy50cmVlSWQsIG5vZGVJZCkpO1xuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQubmV4dCh0cmVlQ29uZmlnLm5vZGVEZXNjcmlwdGlvbkNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBub2RlSWQodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbm9kZUlkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHJlZUNvbmZpZyh2YWx1ZTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJlZUNvbmZpZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyZWVDb25maWcoKTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBub2RlTGFiZWwkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVMYWJlbCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vZGVDc3NJY29uJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9ub2RlQ3NzSWNvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vZGVEZXNjcmlwdGlvbiQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZURlc2NyaXB0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50QWN0aW9uJCgpOiBPYnNlcnZhYmxlPE5nc3NtQ29tcG9uZW50QWN0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudEFjdGlvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudFRvRGlzcGxheSQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50VG9EaXNwbGF5JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3V0QW5kUGFzdGUkKCk6IE9ic2VydmFibGU8Q3V0QW5kUGFzdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fY3V0QW5kUGFzdGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGV4cGFuZEFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21FeHBhbmRBbGxFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uKHRyZWVJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb2xsYXBzZUFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXNBY3Rpb24odHJlZUlkKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGN1dCgpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgY29uc3Qgbm9kZUlkID0gdGhpcy5fbm9kZUlkJC5nZXRWYWx1ZSgpO1xuICAgIGlmICh0cmVlSWQgJiYgbm9kZUlkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBOZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGVJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxDdXQoKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGlmICh0cmVlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IE5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uKHRyZWVJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwYXN0ZSh0YXJnZXQ6IEN1dEFuZFBhc3RlVGFyZ2V0KTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGNvbnN0IG5vZGVJZCA9IHRoaXMuX25vZGVJZCQuZ2V0VmFsdWUoKTtcbiAgICBpZiAodHJlZUlkICYmIG5vZGVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGVJZCwgdGFyZ2V0KSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtaWNvblwiICpuZ0lmPVwiKG5vZGVDc3NJY29uJCB8IGFzeW5jKSAhPT0gdW5kZWZpbmVkXCIgaWQ9XCJ0cmVlTm9kZUljb25cIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJ7e25vZGVDc3NJY29uJCB8IGFzeW5jfX1cIj48L21hdC1pY29uPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1sYWJlbFwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb250ZXh0TWVudVwiXG4gICAgW2NsYXNzLm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLXRvLWN1dF09XCIoY3V0QW5kUGFzdGUkIHwgYXN5bmMpPy5pc1BhcnRPZkN1dCA9PT0gdHJ1ZVwiIGlkPVwidHJlZU5vZGVMYWJlbFwiPlxuICAgIHt7bm9kZUxhYmVsJCB8IGFzeW5jfX1cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGVzY3JpcHRpb25cIiBbaW5uZXJIVE1MXT1cIm5vZGVEZXNjcmlwdGlvbiQgfCBhc3luY1wiPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXNjcmlwdGlvbi1jb21wb25lbnRcIiBbbmdzc21Db21wb25lbnREaXNwbGF5XT1cImNvbXBvbmVudFRvRGlzcGxheSQgfCBhc3luY1wiXG4gICAgW25nc3NtQ29tcG9uZW50QWN0aW9uXT1cImNvbXBvbmVudEFjdGlvbiQgfCBhc3luY1wiPlxuPC9kaXY+XG5cbjxtYXQtbWVudSAjY29udGV4dE1lbnU9XCJtYXRNZW51XCIgW2NsYXNzXT1cIiduZ3NzbS1leHByZXNzaW9uLXRyZWUtcG9wdXAtbWVudSdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb2x1bW4tc3RyZXRjaFwiXG4gICAgICAgICpuZ0lmPVwidHJlZUNvbmZpZz8uZGlzcGxheUN1dEFuZFBhc3RlTWVudXMgPT09IHRydWUgJiYgKGN1dEFuZFBhc3RlJCB8IGFzeW5jKSBhcyBjdXRBbmRQYXN0ZVNldHVwXCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY3V0KClcIiAqbmdJZj1cImN1dEFuZFBhc3RlU2V0dXAuaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3MgPT09IGZhbHNlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjdXRBbmRQYXN0ZVNldHVwLmNhbkN1dCAhPT0gdHJ1ZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtc2Npc3NvcnNcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4+Q3V0PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiY3V0QW5kUGFzdGVTZXR1cC5pc0N1dEFuZFBhc3RlSW5Qcm9ncmVzcyA9PT0gdHJ1ZVwiIChjbGljayk9XCJjYW5jZWxDdXQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtc2xhc2hcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4+Q2FuY2VsIGN1dDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiY3V0QW5kUGFzdGVTZXR1cC5jYW5QYXN0ZUluc2lkZSAhPT0gdHJ1ZVwiIChjbGljayk9XCJwYXN0ZSgnSW5zaWRlJylcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXBhc3RlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPlBhc3RlIGluc2lkZTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiY3V0QW5kUGFzdGVTZXR1cC5jYW5QYXN0ZUFmdGVyICE9PSB0cnVlXCIgKGNsaWNrKT1cInBhc3RlKCdBZnRlcicpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wYXN0ZVwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3Bhbj5QYXN0ZSBhZnRlcjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJleHBhbmRBbGwoKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS11cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+RXhwYW5kIGFsbDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNvbGxhcHNlQWxsKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXJcIj48L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj5Db2xsYXBzZSBhbGw8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L21hdC1tZW51PiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9jb21wb25lbnRzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRyxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFDTCxzQ0FBc0MsRUFDdEMseUNBQXlDLEVBQ3pDLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsa0NBQWtDLEVBQ25DLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVXZCLE1BQU0scUJBQXFCLEdBQUcsR0FBZ0IsRUFBRSxDQUFDLENBQUM7SUFDaEQsdUJBQXVCLEVBQUUsS0FBSztJQUM5QixXQUFXLEVBQUUsS0FBSztJQUNsQixNQUFNLEVBQUUsS0FBSztJQUNiLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUMsQ0FBQztBQVVILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxjQUFjO0lBVWxFLFlBQVksS0FBWTtRQUN0QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFWRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzlELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQXdDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JGLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDOUMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDbkUsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFtQyxTQUFTLENBQUMsQ0FBQztRQUNyRix5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUMzRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFjLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUt6RixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM5QyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsRUFDdkQsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFDL0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDZCxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1lBQzlHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUM1RixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7U0FDL0YsQ0FBQyxDQUNILEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDaEM7YUFDQSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hELE1BQU0sU0FBUyxHQUFHLE1BQU0s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RUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLDhCQUE4QixDQUFDLG1CQUd0Rix1QkFBdUIsQ0FBQyxNQUFNOzRGQWtFM0IsTUFBTTtzQkFBekIsS0FBSztnQkFRYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21Db21wb25lbnRBY3Rpb24sIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZSB9IGZyb20gJ25nc3NtLXRvb2xraXQnO1xuXG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnLCBOZ3NzbUV4cHJlc3Npb25UcmVlQ3VzdG9tQ29tcG9uZW50LCBDdXRBbmRQYXN0ZVRhcmdldCB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlJztcbmltcG9ydCB7XG4gIE5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLFxuICBOZ3NzbUNvbGxhcHNlQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvblxufSBmcm9tICcuLi8uLi9hY3Rpb25zJztcblxuaW50ZXJmYWNlIEN1dEFuZFBhc3RlIHtcbiAgaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIGlzUGFydE9mQ3V0OiBib29sZWFuO1xuICBjYW5DdXQ6IGJvb2xlYW47XG4gIGNhblBhc3RlSW5zaWRlOiBib29sZWFuO1xuICBjYW5QYXN0ZUFmdGVyOiBib29sZWFuO1xufVxuXG5jb25zdCBnZXREZWZhdWx0Q3V0QW5kUGFzdGUgPSAoKTogQ3V0QW5kUGFzdGUgPT4gKHtcbiAgaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3M6IGZhbHNlLFxuICBpc1BhcnRPZkN1dDogZmFsc2UsXG4gIGNhbkN1dDogZmFsc2UsXG4gIGNhblBhc3RlSW5zaWRlOiBmYWxzZSxcbiAgY2FuUGFzdGVBZnRlcjogZmFsc2Vcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlTGFiZWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZUNzc0ljb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVEZXNjcmlwdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50QWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21Db21wb25lbnRBY3Rpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudFRvRGlzcGxheSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0QW5kUGFzdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDdXRBbmRQYXN0ZT4oZ2V0RGVmYXVsdEN1dEFuZFBhc3RlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX25vZGVJZCQsIHRoaXMuX3RyZWVDb25maWckXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHYpID0+IHZbMF0gIT09IHVuZGVmaW5lZCAmJiB2WzFdICE9PSB1bmRlZmluZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHYpID0+XG4gICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUocykudHJlZXNbdlsxXT8udHJlZUlkID8/ICd1bmtub3duJ10/LmRhdGFbdlswXSA/PyAndW5rbm93biddKSxcbiAgICAgICAgICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t2WzFdPy50cmVlSWQgPz8gJ3Vua25vd24nXT8ubm9kZXMpLFxuICAgICAgICAgICAgdGhpcy53YXRjaCgocykgPT4gc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHMpLnRyZWVzW3ZbMV0/LnRyZWVJZCA/PyAndW5rbm93biddPy5ub2RlQ3V0KVxuICAgICAgICAgIF0pXG4gICAgICAgICksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICBjb25zdCBub2RlID0gKHZhbHVlc1sxXSA/PyBbXSkuZmluZCgodikgPT4gdi5kYXRhLmlkID09PSB0aGlzLl9ub2RlSWQkLmdldFZhbHVlKCkpO1xuICAgICAgICBjb25zdCB0cmVlQ29uZmlnID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3Qgbm9kZVZhbHVlID0gdmFsdWVzWzBdO1xuICAgICAgICBjb25zdCBjdXRBbmRQYXN0ZTogQ3V0QW5kUGFzdGUgPSBnZXREZWZhdWx0Q3V0QW5kUGFzdGUoKTtcbiAgICAgICAgaWYgKG5vZGUgJiYgdHJlZUNvbmZpZyAmJiBub2RlVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl9ub2RlTGFiZWwkLm5leHQodHJlZUNvbmZpZy5nZXROb2RlTGFiZWw/Lihub2RlLCBub2RlVmFsdWUpID8/ICcnKTtcbiAgICAgICAgICB0aGlzLl9ub2RlQ3NzSWNvbiQubmV4dCh0cmVlQ29uZmlnLmdldE5vZGVDc3NJY29uPy4obm9kZSwgbm9kZVZhbHVlKSA/PyB1bmRlZmluZWQpO1xuICAgICAgICAgIHRoaXMuX25vZGVEZXNjcmlwdGlvbiQubmV4dCh0cmVlQ29uZmlnLmdldE5vZGVEZXNjcmlwdGlvbj8uKG5vZGUsIG5vZGVWYWx1ZSkpO1xuICAgICAgICAgIGN1dEFuZFBhc3RlLmNhbkN1dCA9IHRyZWVDb25maWcuY2FuQ3V0Py4obm9kZSkgPz8gdHJ1ZTtcblxuICAgICAgICAgIGlmICh2YWx1ZXNbMl0pIHtcbiAgICAgICAgICAgIGN1dEFuZFBhc3RlLmlzUGFydE9mQ3V0ID0gdmFsdWVzWzJdLmRhdGEuaWQgPT09IG5vZGUuZGF0YS5pZCB8fCBub2RlLnBhdGguaW5jbHVkZXModmFsdWVzWzJdLmRhdGEuaWQpO1xuXG4gICAgICAgICAgICBpZiAoIWN1dEFuZFBhc3RlLmlzUGFydE9mQ3V0KSB7XG4gICAgICAgICAgICAgIGN1dEFuZFBhc3RlLmNhblBhc3RlSW5zaWRlID0gdHJlZUNvbmZpZy5jYW5QYXN0ZT8uKHZhbHVlc1syXSwgbm9kZSwgJ0luc2lkZScpID8/IGZhbHNlO1xuICAgICAgICAgICAgICBjdXRBbmRQYXN0ZS5jYW5QYXN0ZUFmdGVyID0gdHJlZUNvbmZpZy5jYW5QYXN0ZT8uKHZhbHVlc1syXSwgbm9kZSwgJ0FmdGVyJykgPz8gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY3V0QW5kUGFzdGUuaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3MgPSAhIXZhbHVlc1syXTtcblxuICAgICAgICB0aGlzLl9jdXRBbmRQYXN0ZSQubmV4dChjdXRBbmRQYXN0ZSk7XG4gICAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX25vZGVJZCQsIHRoaXMuX3RyZWVDb25maWckXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgY29uc3QgdHJlZUNvbmZpZyA9IHZhbHVlc1sxXTtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gdmFsdWVzWzBdO1xuICAgICAgICBpZiAodHJlZUNvbmZpZyAmJiBub2RlSWQpIHtcbiAgICAgICAgICB0aGlzLl9jb21wb25lbnRBY3Rpb24kLm5leHQoKGM6IE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnQpID0+IGMuc2V0dXAodHJlZUNvbmZpZy50cmVlSWQsIG5vZGVJZCkpO1xuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQubmV4dCh0cmVlQ29uZmlnLm5vZGVEZXNjcmlwdGlvbkNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBub2RlSWQodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbm9kZUlkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHJlZUNvbmZpZyh2YWx1ZTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJlZUNvbmZpZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyZWVDb25maWcoKTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBub2RlTGFiZWwkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVMYWJlbCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vZGVDc3NJY29uJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9ub2RlQ3NzSWNvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vZGVEZXNjcmlwdGlvbiQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZURlc2NyaXB0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50QWN0aW9uJCgpOiBPYnNlcnZhYmxlPE5nc3NtQ29tcG9uZW50QWN0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudEFjdGlvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudFRvRGlzcGxheSQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50VG9EaXNwbGF5JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3V0QW5kUGFzdGUkKCk6IE9ic2VydmFibGU8Q3V0QW5kUGFzdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fY3V0QW5kUGFzdGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGV4cGFuZEFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21FeHBhbmRBbGxFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uKHRyZWVJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb2xsYXBzZUFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXNBY3Rpb24odHJlZUlkKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGN1dCgpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgY29uc3Qgbm9kZUlkID0gdGhpcy5fbm9kZUlkJC5nZXRWYWx1ZSgpO1xuICAgIGlmICh0cmVlSWQgJiYgbm9kZUlkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBOZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGVJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxDdXQoKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGlmICh0cmVlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IE5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uKHRyZWVJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwYXN0ZSh0YXJnZXQ6IEN1dEFuZFBhc3RlVGFyZ2V0KTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGNvbnN0IG5vZGVJZCA9IHRoaXMuX25vZGVJZCQuZ2V0VmFsdWUoKTtcbiAgICBpZiAodHJlZUlkICYmIG5vZGVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGVJZCwgdGFyZ2V0KSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtaWNvblwiICpuZ0lmPVwiKG5vZGVDc3NJY29uJCB8IGFzeW5jKSAhPT0gdW5kZWZpbmVkXCIgaWQ9XCJ0cmVlTm9kZUljb25cIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJ7e25vZGVDc3NJY29uJCB8IGFzeW5jfX1cIj48L21hdC1pY29uPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1sYWJlbFwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb250ZXh0TWVudVwiXG4gICAgW2NsYXNzLm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLXRvLWN1dF09XCIoY3V0QW5kUGFzdGUkIHwgYXN5bmMpPy5pc1BhcnRPZkN1dCA9PT0gdHJ1ZVwiIGlkPVwidHJlZU5vZGVMYWJlbFwiPlxuICAgIHt7bm9kZUxhYmVsJCB8IGFzeW5jfX1cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGVzY3JpcHRpb25cIiBbaW5uZXJIVE1MXT1cIm5vZGVEZXNjcmlwdGlvbiQgfCBhc3luY1wiPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXNjcmlwdGlvbi1jb21wb25lbnRcIiBbbmdzc21Db21wb25lbnREaXNwbGF5XT1cImNvbXBvbmVudFRvRGlzcGxheSQgfCBhc3luY1wiXG4gICAgW25nc3NtQ29tcG9uZW50QWN0aW9uXT1cImNvbXBvbmVudEFjdGlvbiQgfCBhc3luY1wiPlxuPC9kaXY+XG5cbjxtYXQtbWVudSAjY29udGV4dE1lbnU9XCJtYXRNZW51XCIgW2NsYXNzXT1cIiduZ3NzbS1leHByZXNzaW9uLXRyZWUtcG9wdXAtbWVudSdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb2x1bW4tc3RyZXRjaFwiXG4gICAgICAgICpuZ0lmPVwidHJlZUNvbmZpZz8uZGlzcGxheUN1dEFuZFBhc3RlTWVudXMgPT09IHRydWUgJiYgKGN1dEFuZFBhc3RlJCB8IGFzeW5jKSBhcyBjdXRBbmRQYXN0ZVNldHVwXCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY3V0KClcIiAqbmdJZj1cImN1dEFuZFBhc3RlU2V0dXAuaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3MgPT09IGZhbHNlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjdXRBbmRQYXN0ZVNldHVwLmNhbkN1dCAhPT0gdHJ1ZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtc2Npc3NvcnNcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4+Q3V0PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiY3V0QW5kUGFzdGVTZXR1cC5pc0N1dEFuZFBhc3RlSW5Qcm9ncmVzcyA9PT0gdHJ1ZVwiIChjbGljayk9XCJjYW5jZWxDdXQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtc2xhc2hcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4+Q2FuY2VsIGN1dDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiY3V0QW5kUGFzdGVTZXR1cC5jYW5QYXN0ZUluc2lkZSAhPT0gdHJ1ZVwiIChjbGljayk9XCJwYXN0ZSgnSW5zaWRlJylcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXBhc3RlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPlBhc3RlIGluc2lkZTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiY3V0QW5kUGFzdGVTZXR1cC5jYW5QYXN0ZUFmdGVyICE9PSB0cnVlXCIgKGNsaWNrKT1cInBhc3RlKCdBZnRlcicpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wYXN0ZVwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3Bhbj5QYXN0ZSBhZnRlcjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJleHBhbmRBbGwoKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS11cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+RXhwYW5kIGFsbDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNvbGxhcHNlQWxsKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXJcIj48L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj5Db2xsYXBzZSBhbGw8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L21hdC1tZW51PiJdfQ==
@@ -51,10 +51,10 @@ export class NgssmExpressionTreeNodeDetailsComponent extends NgSsmComponent {
51
51
  get componentToDisplay$() {
52
52
  return this._componentToDisplay$.asObservable();
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: NgssmExpressionTreeNodeDetailsComponent, isStandalone: true, selector: "ngssm-expression-tree-node-details", inputs: { nodeId: "nodeId", treeConfig: "treeConfig" }, outputs: { heightChanged: "heightChanged" }, usesInheritance: true, ngImport: i0, template: "<div [ngssmComponentDisplay]=\"componentToDisplay$ | async\" [ngssmComponentAction]=\"componentAction$ | async\"></div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgssmExpressionTreeNodeDetailsComponent, isStandalone: true, selector: "ngssm-expression-tree-node-details", inputs: { nodeId: "nodeId", treeConfig: "treeConfig" }, outputs: { heightChanged: "heightChanged" }, usesInheritance: true, ngImport: i0, template: "<div [ngssmComponentDisplay]=\"componentToDisplay$ | async\" [ngssmComponentAction]=\"componentAction$ | async\"></div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'ngssm-expression-tree-node-details', standalone: true, imports: [CommonModule, NgssmComponentDisplayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngssmComponentDisplay]=\"componentToDisplay$ | async\" [ngssmComponentAction]=\"componentAction$ | async\"></div>" }]
60
60
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ElementRef }]; }, propDecorators: { heightChanged: [{
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
64
64
  }], treeConfig: [{
65
65
  type: Input
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2NvbXBvbmVudHMvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFZckYsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLGNBQWM7SUFVekUsWUFDRSxLQUFZLEVBQ0osVUFBc0I7UUFFOUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRkwsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVhmLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ2pDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQTZCLENBQUM7UUFDeEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQW1DLFNBQVMsQ0FBQyxDQUFDO1FBQ3JGLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRVgsa0JBQWEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVFoRixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFFeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQXFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDOUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQW9CLE1BQU0sQ0FBQyxLQUFnQztRQUN6RCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUM5RjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFvQixVQUFVLENBQUMsS0FBbUQ7UUFDaEYsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7OEdBM0RVLHVDQUF1QztrR0FBdkMsdUNBQXVDLDBOQ2pCcEQseUhBQW1ILHlERFl2RyxZQUFZLG9GQUFFLDhCQUE4Qjs7MkZBSzNDLHVDQUF1QztrQkFSbkQsU0FBUzsrQkFDRSxvQ0FBb0MsY0FDbEMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLDhCQUE4QixDQUFDLG1CQUd0Qyx1QkFBdUIsQ0FBQyxNQUFNO3FIQVU5QixhQUFhO3NCQUE3QixNQUFNO2dCQXFCYSxNQUFNO3NCQUF6QixLQUFLO2dCQVljLFVBQVU7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21Db21wb25lbnRBY3Rpb24sIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZSB9IGZyb20gJ25nc3NtLXRvb2xraXQnO1xuXG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnLCBOZ3NzbUV4cHJlc3Npb25UcmVlQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdzc21Db21wb25lbnREaXNwbGF5RGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZUlkJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJlZUNvbmZpZyQgPSBuZXcgU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRBY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50VG9EaXNwbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIGhlaWdodENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBzdXBlcihzdG9yZSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9ub2RlSWQkLCB0aGlzLl90cmVlQ29uZmlnJF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudEFjdGlvbiQubmV4dCgoYzogTmdzc21FeHByZXNzaW9uVHJlZUN1c3RvbUNvbXBvbmVudCkgPT4gYy5zZXR1cCh2YWx1ZXNbMV0udHJlZUlkLCB2YWx1ZXNbMF0pKTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50VG9EaXNwbGF5JC5uZXh0KHZhbHVlc1sxXS5ub2RlRGV0YWlsQ29tcG9uZW50KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5oZWlnaHRDaGFuZ2VkLmVtaXQodGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCA/PyAwKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbm9kZUlkKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbXBvbmVudCBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnQgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9ub2RlSWQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCB0cmVlQ29uZmlnKHZhbHVlOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVEZXRhaWxzQ29tcG9uZW50IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJlZUNvbmZpZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudEFjdGlvbiQoKTogT2JzZXJ2YWJsZTxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRBY3Rpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRUb0Rpc3BsYXkkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiIsIjxkaXYgW25nc3NtQ29tcG9uZW50RGlzcGxheV09XCJjb21wb25lbnRUb0Rpc3BsYXkkIHwgYXN5bmNcIiBbbmdzc21Db21wb25lbnRBY3Rpb25dPVwiY29tcG9uZW50QWN0aW9uJCB8IGFzeW5jXCI+PC9kaXY+Il19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2NvbXBvbmVudHMvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFZckYsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLGNBQWM7SUFVekUsWUFDRSxLQUFZLEVBQ0osVUFBc0I7UUFFOUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRkwsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVhmLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ2pDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQTZCLENBQUM7UUFDeEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQW1DLFNBQVMsQ0FBQyxDQUFDO1FBQ3JGLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRVgsa0JBQWEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVFoRixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFFeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQXFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDOUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQW9CLE1BQU0sQ0FBQyxLQUFnQztRQUN6RCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUM5RjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFvQixVQUFVLENBQUMsS0FBbUQ7UUFDaEYsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7K0dBM0RVLHVDQUF1QzttR0FBdkMsdUNBQXVDLDBOQ2pCcEQseUhBQW1ILHlERFl2RyxZQUFZLG9GQUFFLDhCQUE4Qjs7NEZBSzNDLHVDQUF1QztrQkFSbkQsU0FBUzsrQkFDRSxvQ0FBb0MsY0FDbEMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLDhCQUE4QixDQUFDLG1CQUd0Qyx1QkFBdUIsQ0FBQyxNQUFNO3FIQVU5QixhQUFhO3NCQUE3QixNQUFNO2dCQXFCYSxNQUFNO3NCQUF6QixLQUFLO2dCQVljLFVBQVU7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21Db21wb25lbnRBY3Rpb24sIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZSB9IGZyb20gJ25nc3NtLXRvb2xraXQnO1xuXG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnLCBOZ3NzbUV4cHJlc3Npb25UcmVlQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdzc21Db21wb25lbnREaXNwbGF5RGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZUlkJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJlZUNvbmZpZyQgPSBuZXcgU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRBY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50VG9EaXNwbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIGhlaWdodENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBzdXBlcihzdG9yZSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9ub2RlSWQkLCB0aGlzLl90cmVlQ29uZmlnJF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudEFjdGlvbiQubmV4dCgoYzogTmdzc21FeHByZXNzaW9uVHJlZUN1c3RvbUNvbXBvbmVudCkgPT4gYy5zZXR1cCh2YWx1ZXNbMV0udHJlZUlkLCB2YWx1ZXNbMF0pKTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50VG9EaXNwbGF5JC5uZXh0KHZhbHVlc1sxXS5ub2RlRGV0YWlsQ29tcG9uZW50KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5oZWlnaHRDaGFuZ2VkLmVtaXQodGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCA/PyAwKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbm9kZUlkKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbXBvbmVudCBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnQgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9ub2RlSWQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCB0cmVlQ29uZmlnKHZhbHVlOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVEZXRhaWxzQ29tcG9uZW50IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJlZUNvbmZpZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudEFjdGlvbiQoKTogT2JzZXJ2YWJsZTxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRBY3Rpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRUb0Rpc3BsYXkkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiIsIjxkaXYgW25nc3NtQ29tcG9uZW50RGlzcGxheV09XCJjb21wb25lbnRUb0Rpc3BsYXkkIHwgYXN5bmNcIiBbbmdzc21Db21wb25lbnRBY3Rpb25dPVwiY29tcG9uZW50QWN0aW9uJCB8IGFzeW5jXCI+PC9kaXY+Il19
@@ -104,10 +104,10 @@ export class CutAndPasteReducer {
104
104
  }
105
105
  });
106
106
  }
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: CutAndPasteReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
108
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: CutAndPasteReducer }); }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CutAndPasteReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
108
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CutAndPasteReducer }); }
109
109
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: CutAndPasteReducer, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CutAndPasteReducer, decorators: [{
111
111
  type: Injectable
112
112
  }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3V0LWFuZC1wYXN0ZS5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9yZWR1Y2Vycy9jdXQtYW5kLXBhc3RlLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUl6QyxPQUFPLEVBR0wsNkJBQTZCLEVBRTlCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFJMUYsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVrQixxQkFBZ0IsR0FBYTtZQUMzQyw2QkFBNkIsQ0FBQywwQkFBMEI7WUFDeEQsNkJBQTZCLENBQUMsZ0NBQWdDO1lBQzlELDZCQUE2QixDQUFDLDRCQUE0QjtTQUMzRCxDQUFDO0tBOEdIO0lBNUdRLFdBQVcsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsS0FBSyw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLGdDQUFnQyxHQUFHLE1BQTBDLENBQUM7Z0JBQ3BGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDekMsT0FBTyxFQUFFO2dDQUNQLElBQUksRUFBRSw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FDcEcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENB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RSxHQUFHLFdBQVcsQ0FBQyxDQUFDO3dDQUN6RCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO3dDQUNwRCxPQUFPLE1BQU0sQ0FBQztxQ0FDZjtvQ0FFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29DQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7b0NBRXpELE9BQU8sTUFBTSxDQUFDO2dDQUNoQixDQUFDOzZCQUNGOzRCQUNELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7eUJBQzdCO3FCQUNGO2lCQUNGLENBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUNuRCxPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtZQUMzQyxLQUFLLEVBQUU7Z0JBQ0wsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2FBQ2xDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FsSFUsa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB1cGRhdGUgZnJvbSAnaW1tdXRhYmlsaXR5LWhlbHBlcic7XG5cbmltcG9ydCB7IFJlZHVjZXIsIFN0YXRlLCBBY3Rpb24gfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7XG4gIE5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLFxuICBOZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbixcbiAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUsXG4gIE5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUsIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3V0QW5kUGFzdGVSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlXG4gIF07XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2RlQ3V0OiB7XG4gICAgICAgICAgICAgICAgJHNldDogc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHN0YXRlKS50cmVlc1tuZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50cmVlSWRdPy5ub2Rlcy5maW5kKFxuICAgICAgICAgICAgICAgICAgKG4pID0+IG4uZGF0YS5pZCA9PT0gbmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZUlkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzZXRDdXRBbmRQYXN0ZShzdGF0ZSwgbmdzc21DYW5jZWxDdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlOiB7XG4gICAgICAgIGNvbnN0IG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gPSBhY3Rpb24gYXMgTmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgY29uc3QgdHJlZSA9IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSkudHJlZXNbbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50cmVlSWRdO1xuICAgICAgICBjb25zdCBjdXROb2RlID0gdHJlZS5ub2RlQ3V0O1xuICAgICAgICBpZiAoIWN1dE5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0cmVlLm5vZGVzLmZpbmRJbmRleCgobikgPT4gbi5kYXRhLmlkID09PSBjdXROb2RlLmRhdGEuaWQpO1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlc2V0Q3V0QW5kUGFzdGUoc3RhdGUsIG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhcmdldE5vZGUgPSB0cmVlLm5vZGVzLmZpbmQoKG4pID0+IG4uZGF0YS5pZCA9PT0gbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlSWQpO1xuICAgICAgICBpZiAoIXRhcmdldE5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXNldEN1dEFuZFBhc3RlKHN0YXRlLCBuZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdGFyZ2V0SW5kZXggPSB0cmVlLm5vZGVzLmZpbmRJbmRleCgobikgPT4gbi5kYXRhLmlkID09PSBuZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLm5vZGVJZCk7XG4gICAgICAgIGlmIChuZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRhcmdldCA9PT0gJ0luc2lkZScpIHtcbiAgICAgICAgICB0YXJnZXRJbmRleCA9IHRhcmdldEluZGV4ICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IHRhcmdldEluZGV4OyBpbmRleCA8IHRyZWUubm9kZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBpZiAoISh0cmVlLm5vZGVzW2luZGV4ICsgMV0/LnBhdGggPz8gW10pLmluY2x1ZGVzKG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZUlkKSkge1xuICAgICAgICAgICAgICB0YXJnZXRJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3QmFzZVBhdGggPVxuICAgICAgICAgIG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udGFyZ2V0ID09PSAnQWZ0ZXInID8gdGFyZ2V0Tm9kZS5wYXRoIDogWy4uLnRhcmdldE5vZGUucGF0aCwgdGFyZ2V0Tm9kZS5kYXRhLmlkXTtcbiAgICAgICAgY29uc3QgcGF0aFBhcnRzVG9SZW1vdmUgPSBjdXROb2RlLnBhdGgubGVuZ3RoO1xuICAgICAgICBpZiAobmV3QmFzZVBhdGggPT09IGN1dE5vZGUucGF0aCAmJiBjdXJyZW50SW5kZXggPT09IHRhcmdldEluZGV4KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVzZXRDdXRBbmRQYXN0ZShzdGF0ZSwgbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50cmVlSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW92ZWROb2RlID0gdXBkYXRlKGN1dE5vZGUsIHtcbiAgICAgICAgICBwYXRoOiB7ICRzZXQ6IG5ld0Jhc2VQYXRoIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgcGFyZW50SWQ6IHsgJHNldDogbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50YXJnZXQgPT09ICdBZnRlcicgPyB0YXJnZXROb2RlLmRhdGEucGFyZW50SWQgOiB0YXJnZXROb2RlLmRhdGEuaWQgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgbm9kZXNUb01vdmU6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10gPSB0cmVlLm5vZGVzXG4gICAgICAgICAgLmZpbHRlcigobikgPT4gbi5wYXRoLmluY2x1ZGVzKGN1dE5vZGUuZGF0YS5pZCkpXG4gICAgICAgICAgLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICBwYXRoOiBbLi4ubmV3QmFzZVBhdGgsIC4uLm5vZGUucGF0aC5zbGljZShwYXRoUGFydHNUb1JlbW92ZSldXG4gICAgICAgICAgfSkpO1xuXG4gICAgICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICB0cmVlczoge1xuICAgICAgICAgICAgW25nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2Rlczoge1xuICAgICAgICAgICAgICAgICRhcHBseTogKG5vZGVzOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsZXQgb3V0cHV0ID0gWy4uLm5vZGVzXTtcbiAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRJbmRleCA+IGN1cnJlbnRJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKHRhcmdldEluZGV4LCAwLCBtb3ZlZE5vZGUsIC4uLm5vZGVzVG9Nb3ZlKTtcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0LnNwbGljZShjdXJyZW50SW5kZXgsIG5vZGVzVG9Nb3ZlLmxlbmd0aCArIDEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKGN1cnJlbnRJbmRleCwgbm9kZXNUb01vdmUubGVuZ3RoICsgMSk7XG4gICAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKHRhcmdldEluZGV4LCAwLCBtb3ZlZE5vZGUsIC4uLm5vZGVzVG9Nb3ZlKTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG5vZGVDdXQ6IHsgJHNldDogdW5kZWZpbmVkIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDdXRBbmRQYXN0ZShzdGF0ZTogU3RhdGUsIHRyZWVJZDogc3RyaW5nKTogU3RhdGUge1xuICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgIHRyZWVzOiB7XG4gICAgICAgIFt0cmVlSWRdOiB7ICR1bnNldDogWydub2RlQ3V0J10gfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3V0LWFuZC1wYXN0ZS5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9yZWR1Y2Vycy9jdXQtYW5kLXBhc3RlLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUl6QyxPQUFPLEVBR0wsNkJBQTZCLEVBRTlCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFJMUYsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVrQixxQkFBZ0IsR0FBYTtZQUMzQyw2QkFBNkIsQ0FBQywwQkFBMEI7WUFDeEQsNkJBQTZCLENBQUMsZ0NBQWdDO1lBQzlELDZCQUE2QixDQUFDLDRCQUE0QjtTQUMzRCxDQUFDO0tBOEdIO0lBNUdRLFdBQVcsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsS0FBSyw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLGdDQUFnQyxHQUFHLE1BQTBDLENBQUM7Z0JBQ3BGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDekMsT0FBTyxFQUFFO2dDQUNQLElBQUksRUFBRSw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FDcEcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENB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RSxHQUFHLFdBQVcsQ0FBQyxDQUFDO3dDQUN6RCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO3dDQUNwRCxPQUFPLE1BQU0sQ0FBQztxQ0FDZjtvQ0FFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29DQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7b0NBRXpELE9BQU8sTUFBTSxDQUFDO2dDQUNoQixDQUFDOzZCQUNGOzRCQUNELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7eUJBQzdCO3FCQUNGO2lCQUNGLENBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUNuRCxPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtZQUMzQyxLQUFLLEVBQUU7Z0JBQ0wsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2FBQ2xDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FsSFUsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB1cGRhdGUgZnJvbSAnaW1tdXRhYmlsaXR5LWhlbHBlcic7XG5cbmltcG9ydCB7IFJlZHVjZXIsIFN0YXRlLCBBY3Rpb24gfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7XG4gIE5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLFxuICBOZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbixcbiAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUsXG4gIE5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUsIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3V0QW5kUGFzdGVSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlXG4gIF07XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2RlQ3V0OiB7XG4gICAgICAgICAgICAgICAgJHNldDogc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHN0YXRlKS50cmVlc1tuZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50cmVlSWRdPy5ub2Rlcy5maW5kKFxuICAgICAgICAgICAgICAgICAgKG4pID0+IG4uZGF0YS5pZCA9PT0gbmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZUlkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzZXRDdXRBbmRQYXN0ZShzdGF0ZSwgbmdzc21DYW5jZWxDdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlOiB7XG4gICAgICAgIGNvbnN0IG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gPSBhY3Rpb24gYXMgTmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgY29uc3QgdHJlZSA9IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSkudHJlZXNbbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50cmVlSWRdO1xuICAgICAgICBjb25zdCBjdXROb2RlID0gdHJlZS5ub2RlQ3V0O1xuICAgICAgICBpZiAoIWN1dE5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0cmVlLm5vZGVzLmZpbmRJbmRleCgobikgPT4gbi5kYXRhLmlkID09PSBjdXROb2RlLmRhdGEuaWQpO1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlc2V0Q3V0QW5kUGFzdGUoc3RhdGUsIG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhcmdldE5vZGUgPSB0cmVlLm5vZGVzLmZpbmQoKG4pID0+IG4uZGF0YS5pZCA9PT0gbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlSWQpO1xuICAgICAgICBpZiAoIXRhcmdldE5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXNldEN1dEFuZFBhc3RlKHN0YXRlLCBuZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdGFyZ2V0SW5kZXggPSB0cmVlLm5vZGVzLmZpbmRJbmRleCgobikgPT4gbi5kYXRhLmlkID09PSBuZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLm5vZGVJZCk7XG4gICAgICAgIGlmIChuZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRhcmdldCA9PT0gJ0luc2lkZScpIHtcbiAgICAgICAgICB0YXJnZXRJbmRleCA9IHRhcmdldEluZGV4ICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IHRhcmdldEluZGV4OyBpbmRleCA8IHRyZWUubm9kZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBpZiAoISh0cmVlLm5vZGVzW2luZGV4ICsgMV0/LnBhdGggPz8gW10pLmluY2x1ZGVzKG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZUlkKSkge1xuICAgICAgICAgICAgICB0YXJnZXRJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3QmFzZVBhdGggPVxuICAgICAgICAgIG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udGFyZ2V0ID09PSAnQWZ0ZXInID8gdGFyZ2V0Tm9kZS5wYXRoIDogWy4uLnRhcmdldE5vZGUucGF0aCwgdGFyZ2V0Tm9kZS5kYXRhLmlkXTtcbiAgICAgICAgY29uc3QgcGF0aFBhcnRzVG9SZW1vdmUgPSBjdXROb2RlLnBhdGgubGVuZ3RoO1xuICAgICAgICBpZiAobmV3QmFzZVBhdGggPT09IGN1dE5vZGUucGF0aCAmJiBjdXJyZW50SW5kZXggPT09IHRhcmdldEluZGV4KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVzZXRDdXRBbmRQYXN0ZShzdGF0ZSwgbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50cmVlSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW92ZWROb2RlID0gdXBkYXRlKGN1dE5vZGUsIHtcbiAgICAgICAgICBwYXRoOiB7ICRzZXQ6IG5ld0Jhc2VQYXRoIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgcGFyZW50SWQ6IHsgJHNldDogbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi50YXJnZXQgPT09ICdBZnRlcicgPyB0YXJnZXROb2RlLmRhdGEucGFyZW50SWQgOiB0YXJnZXROb2RlLmRhdGEuaWQgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgbm9kZXNUb01vdmU6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10gPSB0cmVlLm5vZGVzXG4gICAgICAgICAgLmZpbHRlcigobikgPT4gbi5wYXRoLmluY2x1ZGVzKGN1dE5vZGUuZGF0YS5pZCkpXG4gICAgICAgICAgLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICBwYXRoOiBbLi4ubmV3QmFzZVBhdGgsIC4uLm5vZGUucGF0aC5zbGljZShwYXRoUGFydHNUb1JlbW92ZSldXG4gICAgICAgICAgfSkpO1xuXG4gICAgICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICB0cmVlczoge1xuICAgICAgICAgICAgW25nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2Rlczoge1xuICAgICAgICAgICAgICAgICRhcHBseTogKG5vZGVzOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsZXQgb3V0cHV0ID0gWy4uLm5vZGVzXTtcbiAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRJbmRleCA+IGN1cnJlbnRJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKHRhcmdldEluZGV4LCAwLCBtb3ZlZE5vZGUsIC4uLm5vZGVzVG9Nb3ZlKTtcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0LnNwbGljZShjdXJyZW50SW5kZXgsIG5vZGVzVG9Nb3ZlLmxlbmd0aCArIDEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKGN1cnJlbnRJbmRleCwgbm9kZXNUb01vdmUubGVuZ3RoICsgMSk7XG4gICAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKHRhcmdldEluZGV4LCAwLCBtb3ZlZE5vZGUsIC4uLm5vZGVzVG9Nb3ZlKTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG5vZGVDdXQ6IHsgJHNldDogdW5kZWZpbmVkIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDdXRBbmRQYXN0ZShzdGF0ZTogU3RhdGUsIHRyZWVJZDogc3RyaW5nKTogU3RhdGUge1xuICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgIHRyZWVzOiB7XG4gICAgICAgIFt0cmVlSWRdOiB7ICR1bnNldDogWydub2RlQ3V0J10gfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -117,10 +117,10 @@ export class TreeNodeEditionReducer {
117
117
  isExpanded: true
118
118
  });
119
119
  }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreeNodeEditionReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
121
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreeNodeEditionReducer }); }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeNodeEditionReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
121
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeNodeEditionReducer }); }
122
122
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreeNodeEditionReducer, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeNodeEditionReducer, decorators: [{
124
124
  type: Injectable
125
125
  }] });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWVkaXRpb24ucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvcmVkdWNlcnMvdHJlZS1ub2RlLWVkaXRpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFJTCw2QkFBNkIsRUFFOUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUkxRixNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRWtCLHFCQUFnQixHQUFhO1lBQzNDLDZCQUE2QixDQUFDLDBCQUEwQjtZQUN4RCw2QkFBNkIsQ0FBQyw2QkFBNkI7WUFDM0QsNkJBQTZCLENBQUMsNkJBQTZCO1lBQzNELDZCQUE2QixDQUFDLDJCQUEyQjtTQUMxRCxDQUFDO0tBdUhIO0lBckhRLFdBQVcsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsS0FBSyw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLGdDQUFnQyxHQUFHLE1BQTBDLENBQUM7Z0JBQ3BGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDekMsSUFBSSxFQUFFO2dDQUNKLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7NkJBQ2pHOzRCQUNELEtBQUssRUFBRTtnQ0FDTCxNQUFNLEVBQUUsQ0FBQyxNQUFp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O1NBQ3RDO1FBRUQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBNUhVLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZWR1Y2VyLCBTdGF0ZSwgQWN0aW9uIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQge1xuICBOZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbixcbiAgTmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uLFxuICBOZ3NzbURlbGV0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbixcbiAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUsXG4gIE5nc3NtVXBkYXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlLCB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi9zdGF0ZSc7XG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlRGF0YSwgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUsIE5nc3NtTm9kZSB9IGZyb20gJy4uL21vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlRWRpdGlvblJlZHVjZXIgaW1wbGVtZW50cyBSZWR1Y2VyIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtRGVsZXRlRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtVXBkYXRlRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc1xuICBdO1xuXG4gIHB1YmxpYyB1cGRhdGVTdGF0ZShzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uKTogU3RhdGUge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gPSBhY3Rpb24gYXMgTmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb247XG4gICAgICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICB0cmVlczoge1xuICAgICAgICAgICAgW25nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZF06IHtcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIFtuZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlLmlkXTogeyAkc2V0OiBuZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlLmRhdGEgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBub2Rlczoge1xuICAgICAgICAgICAgICAgICRhcHBseTogKHZhbHVlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0OiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdID0gWy4uLnZhbHVlc107XG4gICAgICAgICAgICAgICAgICB0aGlzLmFkZE5vZGVUb0xpc3Qobmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZSwgb3V0cHV0KTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZXM6IHtcbiAgICAgICAgY29uc3Qgbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbjtcbiAgICAgICAgY29uc3QgbmV3UHJvcHM6IE5nc3NtRXhwcmVzc2lvblRyZWVEYXRhID0ge307XG4gICAgICAgIG5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbi5ub2Rlcy5mb3JFYWNoKChub2RlKSA9PiAobmV3UHJvcHNbbm9kZS5pZF0gPSBub2RlLmRhdGEpKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uLnRyZWVJZF06IHtcbiAgICAgICAgICAgICAgZGF0YTogeyAkbWVyZ2U6IG5ld1Byb3BzIH0sXG4gICAgICAgICAgICAgIG5vZGVzOiB7XG4gICAgICAgICAgICAgICAgJGFwcGx5OiAodmFsdWVzOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBvdXRwdXQ6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10gPSBbLi4udmFsdWVzXTtcbiAgICAgICAgICAgICAgICAgIG5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbi5ub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB0aGlzLmFkZE5vZGVUb0xpc3Qobm9kZSwgb3V0cHV0KSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gPSBhY3Rpb24gYXMgTmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb247XG4gICAgICAgIGNvbnN0IG5vZGVJZHNUb0RlbGV0ZTogc3RyaW5nW10gPSBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUpXG4gICAgICAgICAgLnRyZWVzW25nc3NtRGVsZXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZF0ubm9kZXMuZmlsdGVyKChuKSA9PlxuICAgICAgICAgICAgbi5wYXRoLmluY2x1ZGVzKG5nc3NtRGVsZXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLm5vZGVJZClcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcCgobikgPT4gbi5kYXRhLmlkKTtcbiAgICAgICAgbm9kZUlkc1RvRGVsZXRlLnB1c2gobmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZUlkKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2RlczogeyAkYXBwbHk6ICh2YWx1ZXM6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10pID0+IHZhbHVlcy5maWx0ZXIoKHYpID0+ICFub2RlSWRzVG9EZWxldGUuaW5jbHVkZXModi5kYXRhLmlkKSkgfSxcbiAgICAgICAgICAgICAgZGF0YTogeyAkdW5zZXQ6IG5vZGVJZHNUb0RlbGV0ZSB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbVVwZGF0ZUV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbVVwZGF0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbVVwZGF0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21VcGRhdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgW25nc3NtVXBkYXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLm5vZGVJZF06IHsgJHNldDogbmdzc21VcGRhdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24uZGF0YSB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTm9kZVRvTGlzdChub2RlOiBOZ3NzbU5vZGUsIG5vZGVMaXN0OiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdKTogdm9pZCB7XG4gICAgaWYgKG5vZGUucGFyZW50SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbm9kZUxpc3QucHVzaCh7XG4gICAgICAgIHBhdGg6IFtdLFxuICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICBpc0V4cGFuZGVkOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcGFyZW50Tm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGluc2VydGlvbkluZGV4ID0gLTE7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHBhcmVudE5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGVMaXN0W2ldLnBhdGguaW5jbHVkZXMobm9kZS5wYXJlbnRJZCkpIHtcbiAgICAgICAgICBpbnNlcnRpb25JbmRleCA9IGkgKyAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlTGlzdFtpXS5kYXRhLmlkID09PSBub2RlLnBhcmVudElkKSB7XG4gICAgICAgIHBhcmVudE5vZGUgPSBub2RlTGlzdFtpXTtcbiAgICAgICAgaW5zZXJ0aW9uSW5kZXggPSBpICsgMTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFwYXJlbnROb2RlIHx8IGluc2VydGlvbkluZGV4ID09PSAtMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhcmVudCBpZCcpO1xuICAgIH1cblxuICAgIG5vZGVMaXN0LnNwbGljZShpbnNlcnRpb25JbmRleCwgMCwge1xuICAgICAgcGF0aDogWy4uLnBhcmVudE5vZGUucGF0aCwgcGFyZW50Tm9kZS5kYXRhLmlkXSxcbiAgICAgIGRhdGE6IG5vZGUsXG4gICAgICBpc0V4cGFuZGVkOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWVkaXRpb24ucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvcmVkdWNlcnMvdHJlZS1ub2RlLWVkaXRpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFJTCw2QkFBNkIsRUFFOUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUkxRixNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRWtCLHFCQUFnQixHQUFhO1lBQzNDLDZCQUE2QixDQUFDLDBCQUEwQjtZQUN4RCw2QkFBNkIsQ0FBQyw2QkFBNkI7WUFDM0QsNkJBQTZCLENBQUMsNkJBQTZCO1lBQzNELDZCQUE2QixDQUFDLDJCQUEyQjtTQUMxRCxDQUFDO0tBdUhIO0lBckhRLFdBQVcsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsS0FBSyw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLGdDQUFnQyxHQUFHLE1BQTBDLENBQUM7Z0JBQ3BGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDekMsSUFBSSxFQUFFO2dDQUNKLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7NkJBQ2pHOzRCQUNELEtBQUssRUFBRTtnQ0FDTCxNQUFNLEVBQUUsQ0FBQyxNQUFp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O1NBQ3RDO1FBRUQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBNUhVLHNCQUFzQjttSEFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZWR1Y2VyLCBTdGF0ZSwgQWN0aW9uIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQge1xuICBOZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbixcbiAgTmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uLFxuICBOZ3NzbURlbGV0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbixcbiAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUsXG4gIE5nc3NtVXBkYXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlLCB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi9zdGF0ZSc7XG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlRGF0YSwgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUsIE5nc3NtTm9kZSB9IGZyb20gJy4uL21vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlRWRpdGlvblJlZHVjZXIgaW1wbGVtZW50cyBSZWR1Y2VyIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtRGVsZXRlRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtVXBkYXRlRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc1xuICBdO1xuXG4gIHB1YmxpYyB1cGRhdGVTdGF0ZShzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uKTogU3RhdGUge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gPSBhY3Rpb24gYXMgTmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb247XG4gICAgICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICB0cmVlczoge1xuICAgICAgICAgICAgW25nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZF06IHtcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIFtuZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlLmlkXTogeyAkc2V0OiBuZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlLmRhdGEgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBub2Rlczoge1xuICAgICAgICAgICAgICAgICRhcHBseTogKHZhbHVlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0OiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdID0gWy4uLnZhbHVlc107XG4gICAgICAgICAgICAgICAgICB0aGlzLmFkZE5vZGVUb0xpc3Qobmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZSwgb3V0cHV0KTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZXM6IHtcbiAgICAgICAgY29uc3Qgbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbjtcbiAgICAgICAgY29uc3QgbmV3UHJvcHM6IE5nc3NtRXhwcmVzc2lvblRyZWVEYXRhID0ge307XG4gICAgICAgIG5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbi5ub2Rlcy5mb3JFYWNoKChub2RlKSA9PiAobmV3UHJvcHNbbm9kZS5pZF0gPSBub2RlLmRhdGEpKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uLnRyZWVJZF06IHtcbiAgICAgICAgICAgICAgZGF0YTogeyAkbWVyZ2U6IG5ld1Byb3BzIH0sXG4gICAgICAgICAgICAgIG5vZGVzOiB7XG4gICAgICAgICAgICAgICAgJGFwcGx5OiAodmFsdWVzOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBvdXRwdXQ6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10gPSBbLi4udmFsdWVzXTtcbiAgICAgICAgICAgICAgICAgIG5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbi5ub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB0aGlzLmFkZE5vZGVUb0xpc3Qobm9kZSwgb3V0cHV0KSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gPSBhY3Rpb24gYXMgTmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb247XG4gICAgICAgIGNvbnN0IG5vZGVJZHNUb0RlbGV0ZTogc3RyaW5nW10gPSBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUpXG4gICAgICAgICAgLnRyZWVzW25nc3NtRGVsZXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZF0ubm9kZXMuZmlsdGVyKChuKSA9PlxuICAgICAgICAgICAgbi5wYXRoLmluY2x1ZGVzKG5nc3NtRGVsZXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLm5vZGVJZClcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcCgobikgPT4gbi5kYXRhLmlkKTtcbiAgICAgICAgbm9kZUlkc1RvRGVsZXRlLnB1c2gobmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ubm9kZUlkKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2RlczogeyAkYXBwbHk6ICh2YWx1ZXM6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10pID0+IHZhbHVlcy5maWx0ZXIoKHYpID0+ICFub2RlSWRzVG9EZWxldGUuaW5jbHVkZXModi5kYXRhLmlkKSkgfSxcbiAgICAgICAgICAgICAgZGF0YTogeyAkdW5zZXQ6IG5vZGVJZHNUb0RlbGV0ZSB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbVVwZGF0ZUV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbVVwZGF0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbVVwZGF0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICBbbmdzc21VcGRhdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgW25nc3NtVXBkYXRlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLm5vZGVJZF06IHsgJHNldDogbmdzc21VcGRhdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24uZGF0YSB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTm9kZVRvTGlzdChub2RlOiBOZ3NzbU5vZGUsIG5vZGVMaXN0OiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdKTogdm9pZCB7XG4gICAgaWYgKG5vZGUucGFyZW50SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbm9kZUxpc3QucHVzaCh7XG4gICAgICAgIHBhdGg6IFtdLFxuICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICBpc0V4cGFuZGVkOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcGFyZW50Tm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGluc2VydGlvbkluZGV4ID0gLTE7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHBhcmVudE5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGVMaXN0W2ldLnBhdGguaW5jbHVkZXMobm9kZS5wYXJlbnRJZCkpIHtcbiAgICAgICAgICBpbnNlcnRpb25JbmRleCA9IGkgKyAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlTGlzdFtpXS5kYXRhLmlkID09PSBub2RlLnBhcmVudElkKSB7XG4gICAgICAgIHBhcmVudE5vZGUgPSBub2RlTGlzdFtpXTtcbiAgICAgICAgaW5zZXJ0aW9uSW5kZXggPSBpICsgMTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFwYXJlbnROb2RlIHx8IGluc2VydGlvbkluZGV4ID09PSAtMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhcmVudCBpZCcpO1xuICAgIH1cblxuICAgIG5vZGVMaXN0LnNwbGljZShpbnNlcnRpb25JbmRleCwgMCwge1xuICAgICAgcGF0aDogWy4uLnBhcmVudE5vZGUucGF0aCwgcGFyZW50Tm9kZS5kYXRhLmlkXSxcbiAgICAgIGRhdGE6IG5vZGUsXG4gICAgICBpc0V4cGFuZGVkOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -81,10 +81,10 @@ export class TreeNodeExpandReducer {
81
81
  }
82
82
  });
83
83
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreeNodeExpandReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
85
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreeNodeExpandReducer }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeNodeExpandReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
85
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeNodeExpandReducer }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreeNodeExpandReducer, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeNodeExpandReducer, decorators: [{
88
88
  type: Injectable
89
89
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWV4cGFuZC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9yZWR1Y2Vycy90cmVlLW5vZGUtZXhwYW5kLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUl6QyxPQUFPLEVBS0wsNkJBQTZCLEVBQzlCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUVrQixxQkFBZ0IsR0FBYTtZQUMzQyw2QkFBNkIsQ0FBQyw2QkFBNkI7WUFDM0QsNkJBQTZCLENBQUMsK0JBQStCO1lBQzdELDZCQUE2QixDQUFDLG1DQUFtQztZQUNqRSw2QkFBNkIsQ0FBQyxpQ0FBaUM7U0FDaEUsQ0FBQztLQW1GSDtJQWpGUSxXQUFXLENBQUMsS0FBWSxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssNkJBQTZCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxtQ0FBbUMsR0FBRyxNQUE2QyxDQUFDO2dCQUMxRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLG1DQUFtQyxDQUFDLE1BQU0sRUFBRSxtQ0FBbUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDaEk7WUFFRCxLQUFLLDZCQUE2QixDQUFDLCtCQUErQixDQUFDLENBQUM7Z0JBQ2xFLE1BQU0scUNBQXFDLEdBQUcsTUFBK0MsQ0FBQztnQkFDOUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxxQ0FBcUMsQ0FBQyxNQUFNLEVBQUUscUNBQXFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3JJO1lBRUQsS0FBSyw2QkFBNkIsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUN0RSxNQUFNLHlCQUF5QixHQUFHLE1BQW1ELENBQUM7Z0JBQ3RGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDbEMsS0FBSyxFQUFFO2dDQUNMLE1BQU0sRUFBRSxDQUFDLE1BQWlDLEVBQUUsRUFBRTtvQ0FDNUMsTUFBTSxNQUFNLEdBQThCLEVBQUUsQ0FBQztvQ0FDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0NBQ1YsR0FBRyxLQUFLO3dDQUNSLFVBQVUsRUFBRSxLQUFLO3FDQUNsQixDQUFDLENBQ0gsQ0FBQztvQ0FFRixPQUFPLE1BQU0sQ0FBQztnQ0FDaEIsQ0FBQzs2QkFDRjt5QkFDRjtxQkFDRjtpQkFDRixDQUFDLENBQUM7YUFDSjtZQUVELEtBQUssNkJBQTZCLENBQUMsaUNBQWlDLENBQUMsQ0FBQztnQkFDcEUsTUFBTSx5QkFBeUIsR0FBRyxNQUFpRCxDQUFDO2dCQUNwRixPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtvQkFDM0MsS0FBSyxFQUFFO3dCQUNMLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQ2xDLEtBQUssRUFBRTtnQ0FDTCxNQUFNLEVBQUUsQ0FBQyxNQUFpQyxFQUFFLEVBQUU7b0NBQzVDLE1BQU0sTUFBTSxHQUE4QixFQUFFLENBQUM7b0NBQzdDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDO3dDQUNWLEdBQUcsS0FBSzt3Q0FDUixVQUFVLEVBQUUsSUFBSTtxQ0FDakIsQ0FBQyxDQUNILENBQUM7b0NBRUYsT0FBTyxNQUFNLENBQUM7Z0NBQ2hCLENBQUM7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFZLEVBQUUsTUFBYyxFQUFFLE1BQWMsRUFBRSxVQUFtQjtRQUNyRixPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtZQUMzQyxLQUFLLEVBQUU7Z0JBQ0wsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDUixLQUFLLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLENBQUMsTUFBaUMsRUFBRSxFQUFFOzRCQUM1QyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7NEJBQzNCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDOzRCQUM1RCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQ0FDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7NkJBQ3RGOzRCQUVELE9BQU8sTUFBTSxDQUFDO3dCQUNoQixDQUFDO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXhGVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHVwZGF0ZSBmcm9tICdpbW11dGFiaWxpdHktaGVscGVyJztcblxuaW1wb3J0IHsgUmVkdWNlciwgU3RhdGUsIEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHtcbiAgTmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXNBY3Rpb24sXG4gIE5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi9zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUV4cGFuZFJlZHVjZXIgaW1wbGVtZW50cyBSZWR1Y2VyIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtRXhwYW5kRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGUsXG4gICAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXMsXG4gICAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21FeHBhbmRBbGxFeHByZXNzaW9uVHJlZU5vZGVzXG4gIF07XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0SXNFeHBhbmRlZChzdGF0ZSwgbmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkLCBuZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlSWQsIHRydWUpO1xuICAgICAgfVxuXG4gICAgICBjYXNlIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRJc0V4cGFuZGVkKHN0YXRlLCBuZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZCwgbmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlSWQsIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNvbGxhcHNlQWxsRXhwcmVzc2lvblRyZWVOb2Rlczoge1xuICAgICAgICBjb25zdCBuZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtQ29sbGFwc2VBbGxFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uO1xuICAgICAgICByZXR1cm4gdXBkYXRlTmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHN0YXRlLCB7XG4gICAgICAgICAgdHJlZXM6IHtcbiAgICAgICAgICAgIFtuZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uLnRyZWVJZF06IHtcbiAgICAgICAgICAgICAgbm9kZXM6IHtcbiAgICAgICAgICAgICAgICAkYXBwbHk6ICh2YWx1ZXM6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG91dHB1dDogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgdmFsdWVzLmZvckVhY2goKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgICAgICBvdXRwdXQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgaXNFeHBhbmRlZDogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUV4cGFuZEFsbEV4cHJlc3Npb25UcmVlTm9kZXM6IHtcbiAgICAgICAgY29uc3Qgbmdzc21FeHByZXNzaW9uVHJlZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUV4cGFuZEFsbEV4cHJlc3Npb25UcmVlTm9kZXNBY3Rpb247XG4gICAgICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICB0cmVlczoge1xuICAgICAgICAgICAgW25nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2Rlczoge1xuICAgICAgICAgICAgICAgICRhcHBseTogKHZhbHVlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0OiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdID0gW107XG4gICAgICAgICAgICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWUpID0+XG4gICAgICAgICAgICAgICAgICAgIG91dHB1dC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBpc0V4cGFuZGVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJc0V4cGFuZGVkKHN0YXRlOiBTdGF0ZSwgdHJlZUlkOiBzdHJpbmcsIG5vZGVJZDogc3RyaW5nLCBpc0V4cGFuZGVkOiBib29sZWFuKTogU3RhdGUge1xuICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgIHRyZWVzOiB7XG4gICAgICAgIFt0cmVlSWRdOiB7XG4gICAgICAgICAgbm9kZXM6IHtcbiAgICAgICAgICAgICRhcHBseTogKHZhbHVlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBvdXRwdXQgPSBbLi4udmFsdWVzXTtcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBvdXRwdXQuZmluZEluZGV4KChuKSA9PiBuLmRhdGEuaWQgPT09IG5vZGVJZCk7XG4gICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKGluZGV4LCAxLCB1cGRhdGUob3V0cHV0W2luZGV4XSwgeyBpc0V4cGFuZGVkOiB7ICRzZXQ6IGlzRXhwYW5kZWQgfSB9KSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWV4cGFuZC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9yZWR1Y2Vycy90cmVlLW5vZGUtZXhwYW5kLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUl6QyxPQUFPLEVBS0wsNkJBQTZCLEVBQzlCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUVrQixxQkFBZ0IsR0FBYTtZQUMzQyw2QkFBNkIsQ0FBQyw2QkFBNkI7WUFDM0QsNkJBQTZCLENBQUMsK0JBQStCO1lBQzdELDZCQUE2QixDQUFDLG1DQUFtQztZQUNqRSw2QkFBNkIsQ0FBQyxpQ0FBaUM7U0FDaEUsQ0FBQztLQW1GSDtJQWpGUSxXQUFXLENBQUMsS0FBWSxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssNkJBQTZCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxtQ0FBbUMsR0FBRyxNQUE2QyxDQUFDO2dCQUMxRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLG1DQUFtQyxDQUFDLE1BQU0sRUFBRSxtQ0FBbUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDaEk7WUFFRCxLQUFLLDZCQUE2QixDQUFDLCtCQUErQixDQUFDLENBQUM7Z0JBQ2xFLE1BQU0scUNBQXFDLEdBQUcsTUFBK0MsQ0FBQztnQkFDOUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxxQ0FBcUMsQ0FBQyxNQUFNLEVBQUUscUNBQXFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3JJO1lBRUQsS0FBSyw2QkFBNkIsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUN0RSxNQUFNLHlCQUF5QixHQUFHLE1BQW1ELENBQUM7Z0JBQ3RGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDbEMsS0FBSyxFQUFFO2dDQUNMLE1BQU0sRUFBRSxDQUFDLE1BQWlDLEVBQUUsRUFBRTtvQ0FDNUMsTUFBTSxNQUFNLEdBQThCLEVBQUUsQ0FBQztvQ0FDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0NBQ1YsR0FBRyxLQUFLO3dDQUNSLFVBQVUsRUFBRSxLQUFLO3FDQUNsQixDQUFDLENBQ0gsQ0FBQztvQ0FFRixPQUFPLE1BQU0sQ0FBQztnQ0FDaEIsQ0FBQzs2QkFDRjt5QkFDRjtxQkFDRjtpQkFDRixDQUFDLENBQUM7YUFDSjtZQUVELEtBQUssNkJBQTZCLENBQUMsaUNBQWlDLENBQUMsQ0FBQztnQkFDcEUsTUFBTSx5QkFBeUIsR0FBRyxNQUFpRCxDQUFDO2dCQUNwRixPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtvQkFDM0MsS0FBSyxFQUFFO3dCQUNMLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQ2xDLEtBQUssRUFBRTtnQ0FDTCxNQUFNLEVBQUUsQ0FBQyxNQUFpQyxFQUFFLEVBQUU7b0NBQzVDLE1BQU0sTUFBTSxHQUE4QixFQUFFLENBQUM7b0NBQzdDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDO3dDQUNWLEdBQUcsS0FBSzt3Q0FDUixVQUFVLEVBQUUsSUFBSTtxQ0FDakIsQ0FBQyxDQUNILENBQUM7b0NBRUYsT0FBTyxNQUFNLENBQUM7Z0NBQ2hCLENBQUM7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFZLEVBQUUsTUFBYyxFQUFFLE1BQWMsRUFBRSxVQUFtQjtRQUNyRixPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtZQUMzQyxLQUFLLEVBQUU7Z0JBQ0wsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDUixLQUFLLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLENBQUMsTUFBaUMsRUFBRSxFQUFFOzRCQUM1QyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7NEJBQzNCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDOzRCQUM1RCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQ0FDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7NkJBQ3RGOzRCQUVELE9BQU8sTUFBTSxDQUFDO3dCQUNoQixDQUFDO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXhGVSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHVwZGF0ZSBmcm9tICdpbW11dGFiaWxpdHktaGVscGVyJztcblxuaW1wb3J0IHsgUmVkdWNlciwgU3RhdGUsIEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHtcbiAgTmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXNBY3Rpb24sXG4gIE5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi9zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUV4cGFuZFJlZHVjZXIgaW1wbGVtZW50cyBSZWR1Y2VyIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtRXhwYW5kRXhwcmVzc2lvblRyZWVOb2RlLFxuICAgIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGUsXG4gICAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXMsXG4gICAgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21FeHBhbmRBbGxFeHByZXNzaW9uVHJlZU5vZGVzXG4gIF07XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZToge1xuICAgICAgICBjb25zdCBuZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0SXNFeHBhbmRlZChzdGF0ZSwgbmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24udHJlZUlkLCBuZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlSWQsIHRydWUpO1xuICAgICAgfVxuXG4gICAgICBjYXNlIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRJc0V4cGFuZGVkKHN0YXRlLCBuZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLnRyZWVJZCwgbmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbi5ub2RlSWQsIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNvbGxhcHNlQWxsRXhwcmVzc2lvblRyZWVOb2Rlczoge1xuICAgICAgICBjb25zdCBuZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtQ29sbGFwc2VBbGxFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uO1xuICAgICAgICByZXR1cm4gdXBkYXRlTmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHN0YXRlLCB7XG4gICAgICAgICAgdHJlZXM6IHtcbiAgICAgICAgICAgIFtuZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uLnRyZWVJZF06IHtcbiAgICAgICAgICAgICAgbm9kZXM6IHtcbiAgICAgICAgICAgICAgICAkYXBwbHk6ICh2YWx1ZXM6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlW10pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG91dHB1dDogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgdmFsdWVzLmZvckVhY2goKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgICAgICBvdXRwdXQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgaXNFeHBhbmRlZDogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUV4cGFuZEFsbEV4cHJlc3Npb25UcmVlTm9kZXM6IHtcbiAgICAgICAgY29uc3Qgbmdzc21FeHByZXNzaW9uVHJlZUFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbUV4cGFuZEFsbEV4cHJlc3Npb25UcmVlTm9kZXNBY3Rpb247XG4gICAgICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICB0cmVlczoge1xuICAgICAgICAgICAgW25nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb24udHJlZUlkXToge1xuICAgICAgICAgICAgICBub2Rlczoge1xuICAgICAgICAgICAgICAgICRhcHBseTogKHZhbHVlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0OiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdID0gW107XG4gICAgICAgICAgICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWUpID0+XG4gICAgICAgICAgICAgICAgICAgIG91dHB1dC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBpc0V4cGFuZGVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJc0V4cGFuZGVkKHN0YXRlOiBTdGF0ZSwgdHJlZUlkOiBzdHJpbmcsIG5vZGVJZDogc3RyaW5nLCBpc0V4cGFuZGVkOiBib29sZWFuKTogU3RhdGUge1xuICAgIHJldHVybiB1cGRhdGVOZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUoc3RhdGUsIHtcbiAgICAgIHRyZWVzOiB7XG4gICAgICAgIFt0cmVlSWRdOiB7XG4gICAgICAgICAgbm9kZXM6IHtcbiAgICAgICAgICAgICRhcHBseTogKHZhbHVlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBvdXRwdXQgPSBbLi4udmFsdWVzXTtcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBvdXRwdXQuZmluZEluZGV4KChuKSA9PiBuLmRhdGEuaWQgPT09IG5vZGVJZCk7XG4gICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuc3BsaWNlKGluZGV4LCAxLCB1cGRhdGUob3V0cHV0W2luZGV4XSwgeyBpc0V4cGFuZGVkOiB7ICRzZXQ6IGlzRXhwYW5kZWQgfSB9KSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -33,10 +33,10 @@ export class TreesReducer {
33
33
  }
34
34
  return state;
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreesReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreesReducer }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreesReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreesReducer }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: TreesReducer, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreesReducer, decorators: [{
40
40
  type: Injectable
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvcmVkdWNlcnMvdHJlZXMucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBa0MsNkJBQTZCLEVBQWlDLE1BQU0sWUFBWSxDQUFDO0FBQzFILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRzFELE1BQU0sT0FBTyxZQUFZO0lBRHpCO1FBRWtCLHFCQUFnQixHQUFhO1lBQzNDLDZCQUE2QixDQUFDLHVCQUF1QjtZQUNyRCw2QkFBNkIsQ0FBQyx3QkFBd0I7U0FDdkQsQ0FBQztLQTJCSDtJQXpCUSxXQUFXLENBQUMsS0FBWSxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssNkJBQTZCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDMUQsTUFBTSw2QkFBNkIsR0FBRyxNQUF1QyxDQUFDO2dCQUM5RSxPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtvQkFDM0MsS0FBSyxFQUFFO3dCQUNMLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQ3RDLElBQUksRUFBRSxrQ0FBa0MsQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUM7eUJBQzlFO3FCQUNGO2lCQUNGLENBQUMsQ0FBQzthQUNKO1lBRUQsS0FBSyw2QkFBNkIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLDhCQUE4QixHQUFHLE1BQXdDLENBQUM7Z0JBQ2hGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLENBQUMsOEJBQThCLENBQUMsTUFBTSxDQUFDO3FCQUNoRDtpQkFDRixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQTlCVSxZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlZHVjZXIsIFN0YXRlLCBBY3Rpb24gfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IE5nc3NtQ2xlYXJFeHByZXNzaW9uVHJlZUFjdGlvbiwgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUsIE5nc3NtSW5pdEV4cHJlc3Npb25UcmVlQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVOZ3NzbUV4cHJlc3Npb25UcmVlRnJvbU5vZGVzIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgdXBkYXRlTmdzc21FeHByZXNzaW9uVHJlZVN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZXNSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUluaXRFeHByZXNzaW9uVHJlZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNsZWFyRXhwcmVzc2lvblRyZWVcbiAgXTtcblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlIHtcbiAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICBjYXNlIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtSW5pdEV4cHJlc3Npb25UcmVlOiB7XG4gICAgICAgIGNvbnN0IG5nc3NtSW5pdEV4cHJlc3Npb25UcmVlQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtSW5pdEV4cHJlc3Npb25UcmVlQWN0aW9uO1xuICAgICAgICByZXR1cm4gdXBkYXRlTmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHN0YXRlLCB7XG4gICAgICAgICAgdHJlZXM6IHtcbiAgICAgICAgICAgIFtuZ3NzbUluaXRFeHByZXNzaW9uVHJlZUFjdGlvbi50cmVlSWRdOiB7XG4gICAgICAgICAgICAgICRzZXQ6IGNyZWF0ZU5nc3NtRXhwcmVzc2lvblRyZWVGcm9tTm9kZXMobmdzc21Jbml0RXhwcmVzc2lvblRyZWVBY3Rpb24ubm9kZXMpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNsZWFyRXhwcmVzc2lvblRyZWU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21DbGVhckV4cHJlc3Npb25UcmVlQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtQ2xlYXJFeHByZXNzaW9uVHJlZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICAkdW5zZXQ6IFtuZ3NzbUNsZWFyRXhwcmVzc2lvblRyZWVBY3Rpb24udHJlZUlkXVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvcmVkdWNlcnMvdHJlZXMucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBa0MsNkJBQTZCLEVBQWlDLE1BQU0sWUFBWSxDQUFDO0FBQzFILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRzFELE1BQU0sT0FBTyxZQUFZO0lBRHpCO1FBRWtCLHFCQUFnQixHQUFhO1lBQzNDLDZCQUE2QixDQUFDLHVCQUF1QjtZQUNyRCw2QkFBNkIsQ0FBQyx3QkFBd0I7U0FDdkQsQ0FBQztLQTJCSDtJQXpCUSxXQUFXLENBQUMsS0FBWSxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssNkJBQTZCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDMUQsTUFBTSw2QkFBNkIsR0FBRyxNQUF1QyxDQUFDO2dCQUM5RSxPQUFPLDhCQUE4QixDQUFDLEtBQUssRUFBRTtvQkFDM0MsS0FBSyxFQUFFO3dCQUNMLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQ3RDLElBQUksRUFBRSxrQ0FBa0MsQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUM7eUJBQzlFO3FCQUNGO2lCQUNGLENBQUMsQ0FBQzthQUNKO1lBRUQsS0FBSyw2QkFBNkIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLDhCQUE4QixHQUFHLE1BQXdDLENBQUM7Z0JBQ2hGLE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFO29CQUMzQyxLQUFLLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLENBQUMsOEJBQThCLENBQUMsTUFBTSxDQUFDO3FCQUNoRDtpQkFDRixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQTlCVSxZQUFZO21IQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlZHVjZXIsIFN0YXRlLCBBY3Rpb24gfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IE5nc3NtQ2xlYXJFeHByZXNzaW9uVHJlZUFjdGlvbiwgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUsIE5nc3NtSW5pdEV4cHJlc3Npb25UcmVlQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVOZ3NzbUV4cHJlc3Npb25UcmVlRnJvbU5vZGVzIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgdXBkYXRlTmdzc21FeHByZXNzaW9uVHJlZVN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZXNSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUluaXRFeHByZXNzaW9uVHJlZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNsZWFyRXhwcmVzc2lvblRyZWVcbiAgXTtcblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlIHtcbiAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICBjYXNlIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtSW5pdEV4cHJlc3Npb25UcmVlOiB7XG4gICAgICAgIGNvbnN0IG5nc3NtSW5pdEV4cHJlc3Npb25UcmVlQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtSW5pdEV4cHJlc3Npb25UcmVlQWN0aW9uO1xuICAgICAgICByZXR1cm4gdXBkYXRlTmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHN0YXRlLCB7XG4gICAgICAgICAgdHJlZXM6IHtcbiAgICAgICAgICAgIFtuZ3NzbUluaXRFeHByZXNzaW9uVHJlZUFjdGlvbi50cmVlSWRdOiB7XG4gICAgICAgICAgICAgICRzZXQ6IGNyZWF0ZU5nc3NtRXhwcmVzc2lvblRyZWVGcm9tTm9kZXMobmdzc21Jbml0RXhwcmVzc2lvblRyZWVBY3Rpb24ubm9kZXMpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUNsZWFyRXhwcmVzc2lvblRyZWU6IHtcbiAgICAgICAgY29uc3Qgbmdzc21DbGVhckV4cHJlc3Npb25UcmVlQWN0aW9uID0gYWN0aW9uIGFzIE5nc3NtQ2xlYXJFeHByZXNzaW9uVHJlZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHRyZWVzOiB7XG4gICAgICAgICAgICAkdW5zZXQ6IFtuZ3NzbUNsZWFyRXhwcmVzc2lvblRyZWVBY3Rpb24udHJlZUlkXVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXX0=