@veloceapps/sdk 4.0.16 → 4.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/veloce-sdk-cms.umd.js +14 -2
- package/bundles/veloce-sdk-cms.umd.js.map +1 -1
- package/bundles/veloce-sdk-core.umd.js +10 -4
- package/bundles/veloce-sdk-core.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +1 -1
- package/bundles/veloce-sdk.umd.js.map +1 -1
- package/cms/components/element.component.d.ts +6 -2
- package/cms/components/plugin.component.d.ts +4 -4
- package/cms/types/configuration.types.d.ts +1 -1
- package/core/services/context.service.d.ts +1 -0
- package/esm2015/cms/components/element.component.js +15 -2
- package/esm2015/cms/components/plugin.component.js +2 -2
- package/esm2015/cms/plugins/configuration.plugin.js +3 -3
- package/esm2015/cms/types/configuration.types.js +1 -1
- package/esm2015/core/services/context.service.js +7 -1
- package/esm2015/core/services/quote-draft.service.js +4 -4
- package/esm2015/src/components/header/header.component.js +2 -2
- package/fesm2015/veloce-sdk-cms.js +14 -2
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk-core.js +9 -3
- package/fesm2015/veloce-sdk-core.js.map +1 -1
- package/fesm2015/veloce-sdk.js +1 -1
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +1 -1
@@ -1,13 +1,17 @@
|
|
1
|
-
import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
|
1
|
+
import { AfterContentInit, AfterViewChecked, AfterViewInit, DoCheck, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
3
3
|
import { Entity } from '../engine/models/entity';
|
4
4
|
import { IPluginComponent } from './plugin.component';
|
5
|
-
export declare class ElementComponent extends Entity implements OnInit, AfterViewInit, OnDestroy {
|
5
|
+
export declare class ElementComponent extends Entity implements OnChanges, OnInit, DoCheck, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {
|
6
6
|
injector: Injector;
|
7
7
|
readonly model$: BehaviorSubject<any>;
|
8
8
|
readonly plugins: IPluginComponent[];
|
9
9
|
constructor(injector: Injector);
|
10
|
+
ngOnChanges(changes: SimpleChanges): void;
|
10
11
|
ngOnInit(): void;
|
12
|
+
ngDoCheck(): void;
|
13
|
+
ngAfterContentInit(): void;
|
11
14
|
ngAfterViewInit(): void;
|
15
|
+
ngAfterViewChecked(): void;
|
12
16
|
ngOnDestroy(): void;
|
13
17
|
}
|
@@ -1,11 +1,10 @@
|
|
1
|
+
import { AfterContentChecked, AfterContentInit, AfterViewChecked, AfterViewInit, DoCheck, OnChanges, OnDestroy, OnInit } from '@angular/core';
|
1
2
|
import { ElementComponent } from '.';
|
2
3
|
import { Plugin } from '../engine/models/plugin';
|
3
4
|
import * as i0 from "@angular/core";
|
4
|
-
|
5
|
+
declare type AngularHooks = OnChanges & OnInit & DoCheck & AfterContentInit & AfterContentChecked & AfterViewInit & AfterViewChecked & OnDestroy;
|
6
|
+
export interface IPluginComponent extends Partial<AngularHooks> {
|
5
7
|
host: ElementComponent;
|
6
|
-
ngOnInit?: () => void;
|
7
|
-
ngAfterViewInit?: () => void;
|
8
|
-
ngOnDestroy?: () => void;
|
9
8
|
}
|
10
9
|
export declare class PluginComponent extends Plugin implements IPluginComponent {
|
11
10
|
readonly host: ElementComponent;
|
@@ -13,3 +12,4 @@ export declare class PluginComponent extends Plugin implements IPluginComponent
|
|
13
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<PluginComponent, never>;
|
14
13
|
static ɵdir: i0.ɵɵDirectiveDeclaration<PluginComponent, never, never, {}, {}, never>;
|
15
14
|
}
|
15
|
+
export {};
|
@@ -8,7 +8,7 @@ export interface TypeElement extends ConfigurationElement {
|
|
8
8
|
}
|
9
9
|
export interface PortElement extends ConfigurationElement {
|
10
10
|
portItems$: Observable<LineItem[]>;
|
11
|
-
portDomain$: Observable<PortDomain>;
|
11
|
+
portDomain$: Observable<PortDomain | undefined>;
|
12
12
|
addPortItem: (type: string, attributes: {
|
13
13
|
name: string;
|
14
14
|
value: any;
|
@@ -11,6 +11,7 @@ export declare class ContextService {
|
|
11
11
|
resolve$(): Observable<ConfigurationContext>;
|
12
12
|
create(headerId: string, mode: ConfigurationContextMode): Observable<ConfigurationContext>;
|
13
13
|
update(partialContext: Partial<ConfigurationContext>): ConfigurationContext;
|
14
|
+
set(context: ConfigurationContext): ConfigurationContext;
|
14
15
|
delete(): void;
|
15
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<ContextService, never>;
|
16
17
|
static ɵprov: i0.ɵɵInjectableDeclaration<ContextService>;
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
2
|
-
|
2
|
+
/* eslint-disable @angular-eslint/no-conflicting-lifecycle */
|
3
|
+
import { ChangeDetectionStrategy, Component, Inject, Injector, } from '@angular/core';
|
3
4
|
import { BehaviorSubject } from 'rxjs';
|
4
5
|
import { Entity } from '../engine/models/entity';
|
5
6
|
let ElementComponent = class ElementComponent extends Entity {
|
@@ -9,12 +10,24 @@ let ElementComponent = class ElementComponent extends Entity {
|
|
9
10
|
this.model$ = new BehaviorSubject(undefined);
|
10
11
|
super.initPlugins();
|
11
12
|
}
|
13
|
+
ngOnChanges(changes) {
|
14
|
+
this.plugins.forEach(plugin => { var _a; return (_a = plugin.ngOnChanges) === null || _a === void 0 ? void 0 : _a.call(plugin, changes); });
|
15
|
+
}
|
12
16
|
ngOnInit() {
|
13
17
|
this.plugins.forEach(plugin => { var _a; return (_a = plugin.ngOnInit) === null || _a === void 0 ? void 0 : _a.call(plugin); });
|
14
18
|
}
|
19
|
+
ngDoCheck() {
|
20
|
+
this.plugins.forEach(plugin => { var _a; return (_a = plugin.ngDoCheck) === null || _a === void 0 ? void 0 : _a.call(plugin); });
|
21
|
+
}
|
22
|
+
ngAfterContentInit() {
|
23
|
+
this.plugins.forEach(plugin => { var _a; return (_a = plugin.ngAfterContentInit) === null || _a === void 0 ? void 0 : _a.call(plugin); });
|
24
|
+
}
|
15
25
|
ngAfterViewInit() {
|
16
26
|
this.plugins.forEach(plugin => { var _a; return (_a = plugin.ngAfterViewInit) === null || _a === void 0 ? void 0 : _a.call(plugin); });
|
17
27
|
}
|
28
|
+
ngAfterViewChecked() {
|
29
|
+
this.plugins.forEach(plugin => { var _a; return (_a = plugin.ngAfterViewChecked) === null || _a === void 0 ? void 0 : _a.call(plugin); });
|
30
|
+
}
|
18
31
|
ngOnDestroy() {
|
19
32
|
this.plugins.forEach(plugin => { var _a; return (_a = plugin.ngOnDestroy) === null || _a === void 0 ? void 0 : _a.call(plugin); });
|
20
33
|
}
|
@@ -28,4 +41,4 @@ ElementComponent = __decorate([
|
|
28
41
|
__param(0, Inject(Injector))
|
29
42
|
], ElementComponent);
|
30
43
|
export { ElementComponent };
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNkRBQTZEO0FBQzdELE9BQU8sRUFJTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULE1BQU0sRUFDTixRQUFRLEdBS1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFRakQsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFDWCxTQUFRLE1BQU07SUFNZCxZQUFxQyxRQUFrQjtRQUNyRCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEbUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUh2QyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQWtCLFNBQVMsQ0FBQyxDQUFDO1FBTXZFLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQUMsT0FBQSxNQUFBLE1BQU0sQ0FBQyxXQUFXLCtDQUFsQixNQUFNLEVBQWUsT0FBTyxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFDLE9BQUEsTUFBQSxNQUFNLENBQUMsUUFBUSwrQ0FBZixNQUFNLENBQWEsQ0FBQSxFQUFBLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQUMsT0FBQSxNQUFBLE1BQU0sQ0FBQyxTQUFTLCtDQUFoQixNQUFNLENBQWMsQ0FBQSxFQUFBLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQUMsT0FBQSxNQUFBLE1BQU0sQ0FBQyxrQkFBa0IsK0NBQXpCLE1BQU0sQ0FBdUIsQ0FBQSxFQUFBLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQUMsT0FBQSxNQUFBLE1BQU0sQ0FBQyxlQUFlLCtDQUF0QixNQUFNLENBQW9CLENBQUEsRUFBQSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFDLE9BQUEsTUFBQSxNQUFNLENBQUMsa0JBQWtCLCtDQUF6QixNQUFNLENBQXVCLENBQUEsRUFBQSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFDLE9BQUEsTUFBQSxNQUFNLENBQUMsV0FBVywrQ0FBbEIsTUFBTSxDQUFnQixDQUFBLEVBQUEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRixDQUFBO0FBeENZLGdCQUFnQjtJQUw1QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsRUFBRTtRQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLEdBQUcsRUFBRSxJQUFJO0tBQ1YsQ0FBQztJQVFhLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0dBUGxCLGdCQUFnQixDQXdDNUI7U0F4Q1ksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWNvbmZsaWN0aW5nLWxpZmVjeWNsZSAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uL2VuZ2luZS9tb2RlbHMvZW50aXR5JztcbmltcG9ydCB7IElQbHVnaW5Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaml0OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50Q29tcG9uZW50XG4gIGV4dGVuZHMgRW50aXR5XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIERvQ2hlY2ssIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveVxue1xuICBwdWJsaWMgcmVhZG9ubHkgbW9kZWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnkgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBwbHVnaW5zITogSVBsdWdpbkNvbXBvbmVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoSW5qZWN0b3IpIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG5cbiAgICBzdXBlci5pbml0UGx1Z2lucygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKHBsdWdpbiA9PiBwbHVnaW4ubmdPbkNoYW5nZXM/LihjaGFuZ2VzKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaChwbHVnaW4gPT4gcGx1Z2luLm5nT25Jbml0Py4oKSk7XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2gocGx1Z2luID0+IHBsdWdpbi5uZ0RvQ2hlY2s/LigpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaChwbHVnaW4gPT4gcGx1Z2luLm5nQWZ0ZXJDb250ZW50SW5pdD8uKCkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKHBsdWdpbiA9PiBwbHVnaW4ubmdBZnRlclZpZXdJbml0Py4oKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2gocGx1Z2luID0+IHBsdWdpbi5uZ0FmdGVyVmlld0NoZWNrZWQ/LigpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKHBsdWdpbiA9PiBwbHVnaW4ubmdPbkRlc3Ryb3k/LigpKTtcbiAgfVxufVxuIl19
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Directive } from '@angular/core';
|
1
|
+
import { Directive, } from '@angular/core';
|
2
2
|
import { Plugin } from '../engine/models/plugin';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from ".";
|
@@ -13,4 +13,4 @@ PluginComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", versio
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PluginComponent, decorators: [{
|
14
14
|
type: Directive
|
15
15
|
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9jb21wb25lbnRzL3BsdWdpbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLFNBQVMsR0FLVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWdCakQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsTUFBTTtJQUN6QyxZQUE0QixJQUFzQjtRQUNoRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEYyxTQUFJLEdBQUosSUFBSSxDQUFrQjtJQUVsRCxDQUFDOzs2R0FIVSxlQUFlO2lHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRG9DaGVjayxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLic7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5cbnR5cGUgQW5ndWxhckhvb2tzID0gT25DaGFuZ2VzICZcbiAgT25Jbml0ICZcbiAgRG9DaGVjayAmXG4gIEFmdGVyQ29udGVudEluaXQgJlxuICBBZnRlckNvbnRlbnRDaGVja2VkICZcbiAgQWZ0ZXJWaWV3SW5pdCAmXG4gIEFmdGVyVmlld0NoZWNrZWQgJlxuICBPbkRlc3Ryb3k7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBsdWdpbkNvbXBvbmVudCBleHRlbmRzIFBhcnRpYWw8QW5ndWxhckhvb2tzPiB7XG4gIGhvc3Q6IEVsZW1lbnRDb21wb25lbnQ7XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBsdWdpbkNvbXBvbmVudCBleHRlbmRzIFBsdWdpbiBpbXBsZW1lbnRzIElQbHVnaW5Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaG9zdDogRWxlbWVudENvbXBvbmVudCkge1xuICAgIHN1cGVyKGhvc3QpO1xuICB9XG59XG4iXX0=
|
@@ -49,8 +49,8 @@ export class ConfigurationPlugin {
|
|
49
49
|
}
|
50
50
|
registerPort(name) {
|
51
51
|
const model$ = this.host.model$;
|
52
|
-
const portItems$ = model$.pipe(map(model => model.lineItems.filter(li => li.port === this.host.boundName)));
|
53
|
-
const portDomain$ = model$.pipe(map(model => model.portDomains[this.host.boundName]));
|
52
|
+
const portItems$ = model$.pipe(map(model => { var _a; return (_a = model === null || model === void 0 ? void 0 : model.lineItems.filter(li => li.port === this.host.boundName)) !== null && _a !== void 0 ? _a : []; }));
|
53
|
+
const portDomain$ = model$.pipe(map(model => model === null || model === void 0 ? void 0 : model.portDomains[this.host.boundName]));
|
54
54
|
const add = (type, attributes = []) => {
|
55
55
|
if (!this.modelSnapshot) {
|
56
56
|
return;
|
@@ -95,4 +95,4 @@ ConfigurationPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", ve
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationPlugin, decorators: [{
|
96
96
|
type: Directive
|
97
97
|
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9jb25maWd1cmF0aW9uLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUdyRCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW1CLElBQTZDOztRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUF5QztRQUx4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1yQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxJQUFJLE1BQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FB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LENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVksYUFBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUEyQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBc0MsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQXNDLENBQUM7SUFDckQsQ0FBQzs7aUhBN0dVLG1CQUFtQjtxR0FBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBRC9CLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGluZUl0ZW0gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UsIGdlbmVyYXRlTGluZUl0ZW0sIGdldEF0dHJpYnV0ZVZhbHVlLCBMaW5lSXRlbVdvcmtlciB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBsdWdpbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFTEVNRU5UX01FVEFEQVRBIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVFbGVtZW50LCBDb25maWd1cmF0aW9uRWxlbWVudCwgUG9ydEVsZW1lbnQsIFR5cGVFbGVtZW50IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IHBhcnNlQm91bmRQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aC51dGlscyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25QbHVnaW4gaW1wbGVtZW50cyBQbHVnaW5Db21wb25lbnQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbW9kZWxTbmFwc2hvdD86IExpbmVJdGVtO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIGVsZW1lbnRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhO1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaG9zdDogRWxlbWVudENvbXBvbmVudCAmIENvbmZpZ3VyYXRpb25FbGVtZW50KSB7XG4gICAgdGhpcy5lbGVtZW50TWV0YWRhdGEgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KEVMRU1FTlRfTUVUQURBVEEpO1xuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KENvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcblxuICAgIGlmICh0aGlzLmVsZW1lbnRNZXRhZGF0YS5tb2RlbD8ubGluZUl0ZW0pIHtcbiAgICAgIHRoaXMuaG9zdC5tb2RlbCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShtb2RlbCA9PiAodGhpcy5tb2RlbFNuYXBzaG90ID0gbW9kZWwpKTtcblxuICAgICAgY29uc3QgcGF0aEJsb2NrcyA9IHBhcnNlQm91bmRQYXRoKHRoaXMuZWxlbWVudE1ldGFkYXRhLm1vZGVsPy5saW5lSXRlbSk7XG4gICAgICBjb25zdCB7IHR5cGUsIHByb3BlcnR5LCBuYW1lIH0gPSBwYXRoQmxvY2tzLnJldmVyc2UoKVswXTtcblxuICAgICAgdGhpcy5ob3N0LmJvdW5kTmFtZSA9IG5hbWUgPz8gdHlwZTtcblxuICAgICAgdGhpcy5yZWdpc3Rlcih0eXBlLCBwcm9wZXJ0eSwgbmFtZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3Rlcih0eXBlPzogc3RyaW5nLCBwcm9wZXJ0eT86IHN0cmluZywgbmFtZT86IHN0cmluZykge1xuICAgIGlmICghdHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcHJvcGVydHkpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJUeXBlKCk7XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gJ3BvcnRzJyAmJiBuYW1lKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyUG9ydChuYW1lKTtcbiAgICB9IGVsc2UgaWYgKHByb3BlcnR5ID09PSAnYXR0cmlidXRlcycgJiYgbmFtZSkge1xuICAgICAgdGhpcy5yZWdpc3RlckF0dHJpYnV0ZShuYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyVHlwZSgpOiB2b2lkIHtcbiAgICBjb25zdCByZW1vdmUgPSAoaWQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qgcm9vdExpbmVJdGVtID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRTbmFwc2hvdCgpO1xuICAgICAgaWYgKCFyb290TGluZUl0ZW0pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5wYXRjaChuZXcgTGluZUl0ZW1Xb3JrZXIocm9vdExpbmVJdGVtKS5yZW1vdmUoaWQpLmxpKTtcbiAgICB9O1xuXG4gICAgdGhpcy50eXBlSG9zdC5yZW1vdmUgPSByZW1vdmU7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyUG9ydChuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtb2RlbCQgPSB0aGlzLmhvc3QubW9kZWwkIGFzIE9ic2VydmFibGU8TGluZUl0ZW0+O1xuXG4gICAgY29uc3QgcG9ydEl0ZW1zJCA9IG1vZGVsJC5waXBlKG1hcChtb2RlbCA9PiBtb2RlbC5saW5lSXRlbXMuZmlsdGVyKGxpID0+IGxpLnBvcnQgPT09IHRoaXMuaG9zdC5ib3VuZE5hbWUpKSk7XG4gICAgY29uc3QgcG9ydERvbWFpbiQgPSBtb2RlbCQucGlwZShtYXAobW9kZWwgPT4gbW9kZWwucG9ydERvbWFpbnNbdGhpcy5ob3N0LmJvdW5kTmFtZV0pKTtcblxuICAgIGNvbnN0IGFkZCA9ICh0eXBlOiBzdHJpbmcsIGF0dHJpYnV0ZXM6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSA9IFtdKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIXRoaXMubW9kZWxTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBvcnREb21haW4gPSB0aGlzLm1vZGVsU25hcHNob3QucG9ydERvbWFpbnNbbmFtZV07XG4gICAgICBpZiAoIXBvcnREb21haW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBnZW5lcmF0ZWQgPSBnZW5lcmF0ZUxpbmVJdGVtKHBvcnREb21haW4ubmFtZSwgdHlwZSwgdGhpcy5tb2RlbFNuYXBzaG90LmlkLCBhdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UucGF0Y2goXG4gICAgICAgIG5ldyBMaW5lSXRlbVdvcmtlcih0aGlzLm1vZGVsU25hcHNob3QpLmluc2VydCh0aGlzLm1vZGVsU25hcHNob3QuaWQsIGdlbmVyYXRlZCkubGksXG4gICAgICApO1xuICAgIH07XG5cbiAgICB0aGlzLnBvcnRIb3N0LnBvcnRJdGVtcyQgPSBwb3J0SXRlbXMkO1xuICAgIHRoaXMucG9ydEhvc3QucG9ydERvbWFpbiQgPSBwb3J0RG9tYWluJDtcbiAgICB0aGlzLnBvcnRIb3N0LmFkZFBvcnRJdGVtID0gYWRkO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckF0dHJpYnV0ZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaG9zdC5tb2RlbCQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSQgPSB0aGlzLmhvc3QubW9kZWwkLnBpcGUobWFwKG1vZGVsID0+IGdldEF0dHJpYnV0ZVZhbHVlKG1vZGVsPy5hdHRyaWJ1dGVzID8/IFtdLCBuYW1lKSkpO1xuXG4gICAgY29uc3QgcGF0Y2ggPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1vZGVsU25hcHNob3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5wYXRjaChuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5tb2RlbFNuYXBzaG90KS5wYXRjaEF0dHJpYnV0ZShbeyBuYW1lLCB2YWx1ZSB9XSkubGkpO1xuICAgIH07XG5cbiAgICB0aGlzLmF0dHJpYnV0ZUhvc3QudmFsdWUkID0gdmFsdWUkO1xuICAgIHRoaXMuYXR0cmlidXRlSG9zdC5wYXRjaCA9IHBhdGNoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYXR0cmlidXRlSG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBBdHRyaWJ1dGVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHlwZUhvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdCBhcyBFbGVtZW50Q29tcG9uZW50ICYgVHlwZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBwb3J0SG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBQb3J0RWxlbWVudDtcbiAgfVxufVxuIl19
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9jb25maWd1cmF0aW9uLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUdyRCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW1CLElBQTZDOztRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUF5QztRQUx4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1yQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxJQUFJLE1BQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FB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QUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFZLGFBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBMkMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQXNDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFzQyxDQUFDO0lBQ3JELENBQUM7O2lIQTdHVSxtQkFBbUI7cUdBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBnZW5lcmF0ZUxpbmVJdGVtLCBnZXRBdHRyaWJ1dGVWYWx1ZSwgTGluZUl0ZW1Xb3JrZXIgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbHVnaW5Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BsdWdpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUxFTUVOVF9NRVRBREFUQSB9IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgQXR0cmlidXRlRWxlbWVudCwgQ29uZmlndXJhdGlvbkVsZW1lbnQsIFBvcnRFbGVtZW50LCBUeXBlRWxlbWVudCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5pbXBvcnQgeyBwYXJzZUJvdW5kUGF0aCB9IGZyb20gJy4uL3V0aWxzL3BhdGgudXRpbHMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG1vZGVsU25hcHNob3Q/OiBMaW5lSXRlbTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YTtcbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGhvc3Q6IEVsZW1lbnRDb21wb25lbnQgJiBDb25maWd1cmF0aW9uRWxlbWVudCkge1xuICAgIHRoaXMuZWxlbWVudE1ldGFkYXRhID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChFTEVNRU5UX01FVEFEQVRBKTtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChDb25maWd1cmF0aW9uU2VydmljZSk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50TWV0YWRhdGEubW9kZWw/LmxpbmVJdGVtKSB7XG4gICAgICB0aGlzLmhvc3QubW9kZWwkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUobW9kZWwgPT4gKHRoaXMubW9kZWxTbmFwc2hvdCA9IG1vZGVsKSk7XG5cbiAgICAgIGNvbnN0IHBhdGhCbG9ja3MgPSBwYXJzZUJvdW5kUGF0aCh0aGlzLmVsZW1lbnRNZXRhZGF0YS5tb2RlbD8ubGluZUl0ZW0pO1xuICAgICAgY29uc3QgeyB0eXBlLCBwcm9wZXJ0eSwgbmFtZSB9ID0gcGF0aEJsb2Nrcy5yZXZlcnNlKClbMF07XG5cbiAgICAgIHRoaXMuaG9zdC5ib3VuZE5hbWUgPSBuYW1lID8/IHR5cGU7XG5cbiAgICAgIHRoaXMucmVnaXN0ZXIodHlwZSwgcHJvcGVydHksIG5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXIodHlwZT86IHN0cmluZywgcHJvcGVydHk/OiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyVHlwZSgpO1xuICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT09ICdwb3J0cycgJiYgbmFtZSkge1xuICAgICAgdGhpcy5yZWdpc3RlclBvcnQobmFtZSk7XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gJ2F0dHJpYnV0ZXMnICYmIG5hbWUpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJBdHRyaWJ1dGUobmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclR5cGUoKTogdm9pZCB7XG4gICAgY29uc3QgcmVtb3ZlID0gKGlkOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHJvb3RMaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0U25hcHNob3QoKTtcbiAgICAgIGlmICghcm9vdExpbmVJdGVtKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UucGF0Y2gobmV3IExpbmVJdGVtV29ya2VyKHJvb3RMaW5lSXRlbSkucmVtb3ZlKGlkKS5saSk7XG4gICAgfTtcblxuICAgIHRoaXMudHlwZUhvc3QucmVtb3ZlID0gcmVtb3ZlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclBvcnQobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbW9kZWwkID0gdGhpcy5ob3N0Lm1vZGVsJCBhcyBPYnNlcnZhYmxlPExpbmVJdGVtIHwgdW5kZWZpbmVkPjtcblxuICAgIGNvbnN0IHBvcnRJdGVtcyQgPSBtb2RlbCQucGlwZShtYXAobW9kZWwgPT4gbW9kZWw/LmxpbmVJdGVtcy5maWx0ZXIobGkgPT4gbGkucG9ydCA9PT0gdGhpcy5ob3N0LmJvdW5kTmFtZSkgPz8gW10pKTtcbiAgICBjb25zdCBwb3J0RG9tYWluJCA9IG1vZGVsJC5waXBlKG1hcChtb2RlbCA9PiBtb2RlbD8ucG9ydERvbWFpbnNbdGhpcy5ob3N0LmJvdW5kTmFtZV0pKTtcblxuICAgIGNvbnN0IGFkZCA9ICh0eXBlOiBzdHJpbmcsIGF0dHJpYnV0ZXM6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSA9IFtdKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIXRoaXMubW9kZWxTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBvcnREb21haW4gPSB0aGlzLm1vZGVsU25hcHNob3QucG9ydERvbWFpbnNbbmFtZV07XG4gICAgICBpZiAoIXBvcnREb21haW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBnZW5lcmF0ZWQgPSBnZW5lcmF0ZUxpbmVJdGVtKHBvcnREb21haW4ubmFtZSwgdHlwZSwgdGhpcy5tb2RlbFNuYXBzaG90LmlkLCBhdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UucGF0Y2goXG4gICAgICAgIG5ldyBMaW5lSXRlbVdvcmtlcih0aGlzLm1vZGVsU25hcHNob3QpLmluc2VydCh0aGlzLm1vZGVsU25hcHNob3QuaWQsIGdlbmVyYXRlZCkubGksXG4gICAgICApO1xuICAgIH07XG5cbiAgICB0aGlzLnBvcnRIb3N0LnBvcnRJdGVtcyQgPSBwb3J0SXRlbXMkO1xuICAgIHRoaXMucG9ydEhvc3QucG9ydERvbWFpbiQgPSBwb3J0RG9tYWluJDtcbiAgICB0aGlzLnBvcnRIb3N0LmFkZFBvcnRJdGVtID0gYWRkO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckF0dHJpYnV0ZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaG9zdC5tb2RlbCQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSQgPSB0aGlzLmhvc3QubW9kZWwkLnBpcGUobWFwKG1vZGVsID0+IGdldEF0dHJpYnV0ZVZhbHVlKG1vZGVsPy5hdHRyaWJ1dGVzID8/IFtdLCBuYW1lKSkpO1xuXG4gICAgY29uc3QgcGF0Y2ggPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1vZGVsU25hcHNob3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5wYXRjaChuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5tb2RlbFNuYXBzaG90KS5wYXRjaEF0dHJpYnV0ZShbeyBuYW1lLCB2YWx1ZSB9XSkubGkpO1xuICAgIH07XG5cbiAgICB0aGlzLmF0dHJpYnV0ZUhvc3QudmFsdWUkID0gdmFsdWUkO1xuICAgIHRoaXMuYXR0cmlidXRlSG9zdC5wYXRjaCA9IHBhdGNoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYXR0cmlidXRlSG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBBdHRyaWJ1dGVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHlwZUhvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdCBhcyBFbGVtZW50Q29tcG9uZW50ICYgVHlwZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBwb3J0SG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBQb3J0RWxlbWVudDtcbiAgfVxufVxuIl19
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5lSXRlbSwgUG9ydERvbWFpbiB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbkVsZW1lbnQge1xuICBib3VuZE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRWxlbWVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25FbGVtZW50IHtcbiAgcmVtb3ZlOiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3J0RWxlbWVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25FbGVtZW50IHtcbiAgcG9ydEl0ZW1zJDogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPjtcbiAgcG9ydERvbWFpbiQ6IE9ic2VydmFibGU8UG9ydERvbWFpbiB8IHVuZGVmaW5lZD47XG4gIGFkZFBvcnRJdGVtOiAodHlwZTogc3RyaW5nLCBhdHRyaWJ1dGVzOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlRWxlbWVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25FbGVtZW50IHtcbiAgdmFsdWUkOiBPYnNlcnZhYmxlPGFueSB8IHVuZGVmaW5lZD47XG4gIHBhdGNoOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbn1cbiJdfQ==
|
@@ -31,6 +31,12 @@ export class ContextService {
|
|
31
31
|
this.context.next(updatedContext);
|
32
32
|
return updatedContext;
|
33
33
|
}
|
34
|
+
set(context) {
|
35
|
+
const originalContext = this.resolve();
|
36
|
+
const updatedContext = Object.assign(Object.assign({}, originalContext), context);
|
37
|
+
this.context.next(updatedContext);
|
38
|
+
return updatedContext;
|
39
|
+
}
|
34
40
|
delete() {
|
35
41
|
this.context.next(null);
|
36
42
|
}
|
@@ -41,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
41
47
|
type: Injectable,
|
42
48
|
args: [{ providedIn: 'root' }]
|
43
49
|
}], ctorParameters: function () { return [{ type: i1.ContextApiService }]; } });
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQTRCLE1BQU0sY0FBYyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR2xELE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRmhELFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBOEIsSUFBSSxDQUFDLENBQUM7SUFFZCxDQUFDO0lBRTVELElBQUksYUFBYTtRQUNmLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQseUJBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUc7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBK0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQixFQUFFLElBQThCO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUMzRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBMEIsQ0FBQyxDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUE2QztRQUN6RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkMsTUFBTSxjQUFjLGlEQUNmLGVBQWUsR0FDZCxjQUF1QyxLQUMzQyxVQUFVLGtDQUNMLGVBQWUsQ0FBQyxVQUFVLEdBQzFCLGNBQWMsQ0FBQyxVQUFVLElBRS9CLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVsQyxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU0sR0FBRyxDQUFDLE9BQTZCO1FBQ3RDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV2QyxNQUFNLGNBQWMsbUNBQ2YsZUFBZSxHQUNmLE9BQU8sQ0FDWCxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEMsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDOzs0R0E1RFUsY0FBYztnSEFBZCxjQUFjLGNBREQsTUFBTTs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0QXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0LCBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbnRleHRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb250ZXh0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb25maWd1cmF0aW9uQ29udGV4dCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGV4dEFwaVNlcnZpY2U6IENvbnRleHRBcGlTZXJ2aWNlKSB7fVxuXG4gIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuY29udGV4dC52YWx1ZSk7XG4gIH1cblxuICByZXNvbHZlKCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHtcbiAgICBpZiAoIXRoaXMuY29udGV4dC52YWx1ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb250ZXh0IGlzIG5vdCBpbml0aWFsaXplZCB5ZXQhJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgLi4udGhpcy5jb250ZXh0LnZhbHVlIH07XG4gIH1cblxuICByZXNvbHZlJCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5waXBlKGZpbHRlcigoY3R4KTogY3R4IGlzIENvbmZpZ3VyYXRpb25Db250ZXh0ID0+IEJvb2xlYW4oY3R4KSkpO1xuICB9XG5cbiAgY3JlYXRlKGhlYWRlcklkOiBzdHJpbmcsIG1vZGU6IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0QXBpU2VydmljZS5nZXRDb250ZXh0KGhlYWRlcklkLCBtb2RlKS5waXBlKFxuICAgICAgdGFwKGNvbnRleHQgPT4gdGhpcy5jb250ZXh0Lm5leHQobWVyZ2UobmV3IENvbmZpZ3VyYXRpb25Db250ZXh0KGhlYWRlcklkLCBtb2RlKSwgY29udGV4dCkpKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnJlc29sdmUoKSBhcyBDb25maWd1cmF0aW9uQ29udGV4dCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUocGFydGlhbENvbnRleHQ6IFBhcnRpYWw8Q29uZmlndXJhdGlvbkNvbnRleHQ+KTogQ29uZmlndXJhdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IG9yaWdpbmFsQ29udGV4dCA9IHRoaXMucmVzb2x2ZSgpO1xuXG4gICAgY29uc3QgdXBkYXRlZENvbnRleHQ6IENvbmZpZ3VyYXRpb25Db250ZXh0ID0ge1xuICAgICAgLi4ub3JpZ2luYWxDb250ZXh0LFxuICAgICAgLi4uKHBhcnRpYWxDb250ZXh0IGFzIENvbmZpZ3VyYXRpb25Db250ZXh0KSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4ub3JpZ2luYWxDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgIC4uLnBhcnRpYWxDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLmNvbnRleHQubmV4dCh1cGRhdGVkQ29udGV4dCk7XG5cbiAgICByZXR1cm4gdXBkYXRlZENvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgc2V0KGNvbnRleHQ6IENvbmZpZ3VyYXRpb25Db250ZXh0KTogQ29uZmlndXJhdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IG9yaWdpbmFsQ29udGV4dCA9IHRoaXMucmVzb2x2ZSgpO1xuXG4gICAgY29uc3QgdXBkYXRlZENvbnRleHQ6IENvbmZpZ3VyYXRpb25Db250ZXh0ID0ge1xuICAgICAgLi4ub3JpZ2luYWxDb250ZXh0LFxuICAgICAgLi4uY29udGV4dCxcbiAgICB9O1xuXG4gICAgdGhpcy5jb250ZXh0Lm5leHQodXBkYXRlZENvbnRleHQpO1xuXG4gICAgcmV0dXJuIHVwZGF0ZWRDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQubmV4dChudWxsKTtcbiAgfVxufVxuIl19
|
@@ -42,10 +42,10 @@ export class QuoteDraftService {
|
|
42
42
|
this.quoteSubj$.next(null);
|
43
43
|
}
|
44
44
|
init(quoteId, params) {
|
45
|
-
return zip(this.
|
45
|
+
return zip(this.quoteApiService.getQuoteDraft(quoteId, params), this.priceApiService.getPriceLists()).pipe(tap(([quote, allPriceLists]) => {
|
46
46
|
this.allPriceLists = allPriceLists;
|
47
47
|
this.quoteSubj$.next(quote);
|
48
|
-
this.context.update(
|
48
|
+
this.context.update(quote.context);
|
49
49
|
this.populateActivePriceLists$();
|
50
50
|
}), map(() => noop()), take(1));
|
51
51
|
}
|
@@ -62,7 +62,7 @@ export class QuoteDraftService {
|
|
62
62
|
return;
|
63
63
|
}
|
64
64
|
if (update.context) {
|
65
|
-
this.context.
|
65
|
+
this.context.set(update.context);
|
66
66
|
}
|
67
67
|
this.quoteSubj$.next(Object.assign(Object.assign({}, quoteDraft), update));
|
68
68
|
}
|
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
198
198
|
type: Injectable,
|
199
199
|
args: [{ providedIn: 'root' }]
|
200
200
|
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.QuoteApiService }, { type: i2.PriceApiService }]; } });
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBaUQsTUFBTSxjQUFjLENBQUM7QUFFdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJdEYsTUFBTSxPQUFPLGlCQUFpQjtJQTJCNUIsWUFDVSxPQUF1QixFQUN2QixlQUFnQyxFQUNoQyxlQUFnQztRQUZoQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBN0JsQyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWtCMUQsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWdCLEVBQUUsQ0FBQztRQUNsQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFRN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFB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TyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1NBQ2hHO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7K0dBdFJVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaWNlQXBpU2VydmljZSwgUXVvdGVBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLCBMaW5lSXRlbSwgUHJpY2VMaXN0LCBQcmljZVN1bW1hcnksIFF1b3RlRHJhZnQgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG5vb3AsIE9ic2VydmFibGUsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBza2lwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFF1b3RlRHJhZnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBxdW90ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdW90ZURyYWZ0IHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVzZXRTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNJbml0aWFsaXplZFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlzSW5pdGlhbGl6ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5pc0luaXRpYWxpemVkICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pc0luaXRpYWxpemVkU3ViaiQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBoYXNBc3NldHMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlU3ViaiQucGlwZShtYXAoKCkgPT4gdGhpcy5oYXNBc3NldHMpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGhhc0Fzc2V0cygpOiBib29sZWFuIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuICAgIHJldHVybiBCb29sZWFuKHF1b3RlRHJhZnQgJiYgcXVvdGVEcmFmdC5jdXJyZW50U3RhdGUubGVuZ3RoID4gMCk7XG4gIH1cblxuICBwdWJsaWMgYWxsUHJpY2VMaXN0czogUHJpY2VMaXN0W10gPSBbXTtcbiAgcHVibGljIGFzc2V0UHJpY2VMaXN0czogUHJpY2VMaXN0W10gPSBbXTtcbiAgcHVibGljIGhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG4gIHB1YmxpYyByZXNldCQgPSB0aGlzLnJlc2V0U3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBhY3RpdmVQcmljZUxpc3QkOiBPYnNlcnZhYmxlPFByaWNlTGlzdCB8IG51bGw+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dDogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZUFwaVNlcnZpY2U6IFF1b3RlQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHByaWNlQXBpU2VydmljZTogUHJpY2VBcGlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmFjdGl2ZVByaWNlTGlzdCQgPSB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKFxuICAgICAgbWFwKGN0eCA9PiB0aGlzLmFsbFByaWNlTGlzdHMuZmluZChwcmljZUxpc3QgPT4gcHJpY2VMaXN0LmlkID09PSBjdHgucHJvcGVydGllcy5QcmljZUxpc3RJZCkpLFxuICAgICAgbWFwKHByaWNlTGlzdCA9PiBwcmljZUxpc3QgPz8gbnVsbCksXG4gICAgKTtcblxuICAgIHRoaXMuaXNJbml0aWFsaXplZFN1YmokXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGlzSW5pdGlhbGl6ZWQgPT4gaXNJbml0aWFsaXplZCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnF1b3RlU3ViaiQuYXNPYnNlcnZhYmxlKCkpLFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICB0YXAocXVvdGUgPT4gdGhpcy5tYXJrQXNVcGRhdGVkKHF1b3RlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5yZXNldFN1YmokLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdChxdW90ZUlkOiBzdHJpbmcsIHBhcmFtczogRGljdGlvbmFyeTxzdHJpbmc+KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHppcChcbiAgICAgIHRoaXMuY29udGV4dC5yZXNvbHZlJCgpLFxuICAgICAgdGhpcy5xdW90ZUFwaVNlcnZpY2UuZ2V0UXVvdGVEcmFmdChxdW90ZUlkLCBwYXJhbXMpLFxuICAgICAgdGhpcy5wcmljZUFwaVNlcnZpY2UuZ2V0UHJpY2VMaXN0cygpLFxuICAgICkucGlwZShcbiAgICAgIHRhcCgoW2NvbnRleHQsIHF1b3RlLCBhbGxQcmljZUxpc3RzXSkgPT4ge1xuICAgICAgICB0aGlzLmFsbFByaWNlTGlzdHMgPSBhbGxQcmljZUxpc3RzO1xuICAgICAgICB0aGlzLnF1b3RlU3ViaiQubmV4dChxdW90ZSk7XG5cbiAgICAgICAgdGhpcy5jb250ZXh0LnVwZGF0ZSh7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAuLi5xdW90ZS5jb250ZXh0LFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIC4uLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICAgIC4uLnF1b3RlLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnBvcHVsYXRlQWN0aXZlUHJpY2VMaXN0cyQoKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IG5vb3AoKSksXG4gICAgICB0YWtlKDEpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q3VycmVudExpbmVJdGVtU3RhdGUobGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBjdXJyZW50U3RhdGU6IGxpbmVJdGVtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVRdW90ZURyYWZ0KHVwZGF0ZTogUGFydGlhbDxRdW90ZURyYWZ0Pik6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlLmNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29udGV4dC51cGRhdGUodXBkYXRlLmNvbnRleHQpO1xuICAgIH1cblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQnlQcmljZVN1bW1hcnkocHJpY2VTdW1tYXJ5OiBQcmljZVN1bW1hcnkpOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlZEN1cnJlbnRTdGF0ZSA9IHRoaXMuY3VycmVudFN0YXRlLm1hcChsaW5lSXRlbSA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gcHJpY2VTdW1tYXJ5LmxpbmVJdGVtcy5maW5kKGxpID0+IGxpLmlkID09PSBsaW5lSXRlbS5pZCk7XG4gICAgICByZXR1cm4gdXBkYXRlZCA/PyBsaW5lSXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBjdXJyZW50U3RhdGU6IHVwZGF0ZWRDdXJyZW50U3RhdGUsXG4gICAgICB0b3RhbFByaWNlczogcHJpY2VTdW1tYXJ5LnRvdGFsUHJpY2VzLFxuICAgICAgYXBwcm92YWxJdGVtczogcHJpY2VTdW1tYXJ5LmFwcHJvdmFsSXRlbXMsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgcXVvdGVEcmFmdCQoKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucXVvdGVTdWJqJCwgdGhpcy5jb250ZXh0LnJlc29sdmUkKCldKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdCksXG4gICAgICBmaWx0ZXIoKHF1b3RlKTogcXVvdGUgaXMgUXVvdGVEcmFmdCA9PiBCb29sZWFuKHF1b3RlKSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gIH1cblxuICBnZXQgcXVvdGVEcmFmdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGUgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucXVvdGUsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLFxuICAgIH07XG4gIH1cblxuICBnZXQgcXVvdGVEcmFmdEZvckFjdGl2ZVByaWNlTGlzdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBpbml0aWFsU3RhdGU6IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QocXVvdGVEcmFmdC5pbml0aWFsU3RhdGUpLFxuICAgICAgY3VycmVudFN0YXRlOiB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KHF1b3RlRHJhZnQuY3VycmVudFN0YXRlKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAocXVvdGUgPT4gcXVvdGUuY3VycmVudFN0YXRlKSk7XG4gIH1cblxuICBnZXQgY3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gb2YgYWN0aXZlQ3VycmVudFN0YXRlXG4gICAqL1xuICBnZXQgYWN0aXZlQ3VycmVudFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcCgoKSA9PiB0aGlzLmFjdGl2ZUN1cnJlbnRTdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFjdGl2ZUN1cnJlbnRTdGF0ZSBpcyBjdXJyZW50U3RhdGUgcGFzc2VkIHRocm91Z2ggYWRkaXRpb25hbCBmaWx0ZXJzXG4gICAqL1xuICBnZXQgYWN0aXZlQ3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIGxldCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcblxuICAgIGN1cnJlbnRTdGF0ZSA9IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QoY3VycmVudFN0YXRlKTtcblxuICAgIHJldHVybiBjdXJyZW50U3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogU3RyZWFtIG9mIGFjdGl2ZUluaXRpYWxTdGF0ZVxuICAgKi9cbiAgZ2V0IGFjdGl2ZUluaXRpYWxTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAoKCkgPT4gdGhpcy5hY3RpdmVJbml0aWFsU3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY3RpdmVJbml0aWFsU3RhdGUgaXMgaW5pdGlhbFN0YXRlIHBhc3NlZCB0aHJvdWdoIGFkZGl0aW9uYWwgZmlsdGVyc1xuICAgKi9cbiAgZ2V0IGFjdGl2ZUluaXRpYWxTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuICAgIGxldCBpbml0aWFsU3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmluaXRpYWxTdGF0ZSA/PyBbXTtcblxuICAgIGlmIChjdHgubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIGluaXRpYWxTdGF0ZSA9IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QoaW5pdGlhbFN0YXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5pdGlhbFN0YXRlO1xuICB9XG5cbiAgZ2V0IGlzU3RhbmRhbG9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUoKS5wcm9wZXJ0aWVzLnN0YW5kYWxvbmUgPT09ICd0cnVlJztcbiAgfVxuXG4gIGdldCBpc1N0YW5kYWxvbmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKG1hcCgoKSA9PiB0aGlzLmlzU3RhbmRhbG9uZSkpO1xuICB9XG5cbiAgcHVibGljIGlzRWRpdE1vZGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKG1hcCgoKSA9PiB0aGlzLmlzRWRpdE1vZGUoKSkpO1xuICB9XG5cbiAgcHVibGljIGlzRWRpdE1vZGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG5cbiAgICBpZiAoY29udGV4dC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRleHQubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlFVT1RFKSB7XG4gICAgICByZXR1cm4gY29udGV4dC5wcm9wZXJ0aWVzLlN0YXR1cyA9PT0gJ0RyYWZ0JztcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQWN0aXZlUHJpY2VMaXN0KHByaWNlTGlzdElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQudXBkYXRlKHsgcHJvcGVydGllczogeyBQcmljZUxpc3RJZDogcHJpY2VMaXN0SWQgfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVBY3RpdmVQcmljZUxpc3RzJCgpOiB2b2lkIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnQ7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJbiBBQ0NPVU5UIG1vZGUgcG9wdWxhdGUgcHJpY2UgbGlzdHMgZnJvbSByZWxhdGVkIGFzc2V0c1xuICAgIGlmIChjdHgubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIC8vIFBvcHVsYXRlIGxpc3Qgb2YgcHJpY2UgbGlzdHNcbiAgICAgIHRoaXMuYXNzZXRQcmljZUxpc3RzID0gcXVvdGVEcmFmdC5jdXJyZW50U3RhdGVcbiAgICAgICAgLm1hcCgoeyBwcmljZUxpc3RJZCB9KSA9PiBwcmljZUxpc3RJZClcbiAgICAgICAgLnJlZHVjZTxQcmljZUxpc3RbXT4oKHRydW5rLCBwcmljZUxpc3RJZCkgPT4ge1xuICAgICAgICAgIGlmICghcHJpY2VMaXN0SWQgfHwgdHJ1bmsuc29tZShpdGVtID0+IGl0ZW0uaWQgPT09IHByaWNlTGlzdElkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydW5rO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi50cnVuayxcbiAgICAgICAgICAgIHsgaWQ6IHByaWNlTGlzdElkLCBuYW1lOiB0aGlzLmFsbFByaWNlTGlzdHMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHByaWNlTGlzdElkKT8ubmFtZSA/PyAnJyB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH0sIFtdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KGxpbmVJdGVtczogTGluZUl0ZW1bXSk6IExpbmVJdGVtW10ge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG5cbiAgICByZXR1cm4gbGluZUl0ZW1zLmZpbHRlcihsaSA9PiAhbGkucHJpY2VMaXN0SWQgfHwgbGkucHJpY2VMaXN0SWQgPT09IGN0eC5wcm9wZXJ0aWVzLlByaWNlTGlzdElkKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFya0FzVXBkYXRlZChxdW90ZTogUXVvdGVEcmFmdCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAocXVvdGU/LmNvbnRleHQucHJvcGVydGllcy5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9ICEhcXVvdGUgJiYgIXF1b3RlLmN1cnJlbnRTdGF0ZS5ldmVyeShsaSA9PiBsaS5hY3Rpb25Db2RlID09PSAnRVhJU1QnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBaUQsTUFBTSxjQUFjLENBQUM7QUFFdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJdEYsTUFBTSxPQUFPLGlCQUFpQjtJQTJCNUIsWUFDVSxPQUF1QixFQUN2QixlQUFnQyxFQUNoQyxlQUFnQztRQUZoQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBN0JsQyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWtCMUQsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWdCLEVBQUUsQ0FBQztRQUNsQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFRN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFB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QUFVLEtBQUssT0FBTyxDQUFDLENBQUM7U0FDaEc7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7U0FDL0I7SUFDSCxDQUFDOzsrR0EzUVUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FESixNQUFNOzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpY2VBcGlTZXJ2aWNlLCBRdW90ZUFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUsIExpbmVJdGVtLCBQcmljZUxpc3QsIFByaWNlU3VtbWFyeSwgUXVvdGVEcmFmdCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbm9vcCwgT2JzZXJ2YWJsZSwgemlwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHNraXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUXVvdGVEcmFmdFNlcnZpY2Uge1xuICBwcml2YXRlIHF1b3RlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1b3RlRHJhZnQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZXNldFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHB1YmxpYyBzZXQgaXNJbml0aWFsaXplZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0Fzc2V0cyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVTdWJqJC5waXBlKG1hcCgoKSA9PiB0aGlzLmhhc0Fzc2V0cykpO1xuICB9XG4gIHB1YmxpYyBnZXQgaGFzQXNzZXRzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG4gICAgcmV0dXJuIEJvb2xlYW4ocXVvdGVEcmFmdCAmJiBxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZS5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHB1YmxpYyBhbGxQcmljZUxpc3RzOiBQcmljZUxpc3RbXSA9IFtdO1xuICBwdWJsaWMgYXNzZXRQcmljZUxpc3RzOiBQcmljZUxpc3RbXSA9IFtdO1xuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgcHVibGljIHJlc2V0JCA9IHRoaXMucmVzZXRTdWJqJC5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIGFjdGl2ZVByaWNlTGlzdCQ6IE9ic2VydmFibGU8UHJpY2VMaXN0IHwgbnVsbD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0OiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHF1b3RlQXBpU2VydmljZTogUXVvdGVBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJpY2VBcGlTZXJ2aWNlOiBQcmljZUFwaVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuYWN0aXZlUHJpY2VMaXN0JCA9IHRoaXMuY29udGV4dC5yZXNvbHZlJCgpLnBpcGUoXG4gICAgICBtYXAoY3R4ID0+IHRoaXMuYWxsUHJpY2VMaXN0cy5maW5kKHByaWNlTGlzdCA9PiBwcmljZUxpc3QuaWQgPT09IGN0eC5wcm9wZXJ0aWVzLlByaWNlTGlzdElkKSksXG4gICAgICBtYXAocHJpY2VMaXN0ID0+IHByaWNlTGlzdCA/PyBudWxsKSxcbiAgICApO1xuXG4gICAgdGhpcy5pc0luaXRpYWxpemVkU3ViaiRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoaXNJbml0aWFsaXplZCA9PiBpc0luaXRpYWxpemVkKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucXVvdGVTdWJqJC5hc09ic2VydmFibGUoKSksXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHRhcChxdW90ZSA9PiB0aGlzLm1hcmtBc1VwZGF0ZWQocXVvdGUpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpIHtcbiAgICB0aGlzLnJlc2V0U3ViaiQubmV4dCh0cnVlKTtcbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dChudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KHF1b3RlSWQ6IHN0cmluZywgcGFyYW1zOiBEaWN0aW9uYXJ5PHN0cmluZz4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gemlwKHRoaXMucXVvdGVBcGlTZXJ2aWNlLmdldFF1b3RlRHJhZnQocXVvdGVJZCwgcGFyYW1zKSwgdGhpcy5wcmljZUFwaVNlcnZpY2UuZ2V0UHJpY2VMaXN0cygpKS5waXBlKFxuICAgICAgdGFwKChbcXVvdGUsIGFsbFByaWNlTGlzdHNdKSA9PiB7XG4gICAgICAgIHRoaXMuYWxsUHJpY2VMaXN0cyA9IGFsbFByaWNlTGlzdHM7XG4gICAgICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHF1b3RlKTtcblxuICAgICAgICB0aGlzLmNvbnRleHQudXBkYXRlKHF1b3RlLmNvbnRleHQpO1xuXG4gICAgICAgIHRoaXMucG9wdWxhdGVBY3RpdmVQcmljZUxpc3RzJCgpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gbm9vcCgpKSxcbiAgICAgIHRha2UoMSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDdXJyZW50TGluZUl0ZW1TdGF0ZShsaW5lSXRlbXM6IExpbmVJdGVtW10pOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQoe1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIGN1cnJlbnRTdGF0ZTogbGluZUl0ZW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVF1b3RlRHJhZnQodXBkYXRlOiBQYXJ0aWFsPFF1b3RlRHJhZnQ+KTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGUuY29udGV4dCkge1xuICAgICAgdGhpcy5jb250ZXh0LnNldCh1cGRhdGUuY29udGV4dCk7XG4gICAgfVxuXG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQoe1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIC4uLnVwZGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVCeVByaWNlU3VtbWFyeShwcmljZVN1bW1hcnk6IFByaWNlU3VtbWFyeSk6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkQ3VycmVudFN0YXRlID0gdGhpcy5jdXJyZW50U3RhdGUubWFwKGxpbmVJdGVtID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZWQgPSBwcmljZVN1bW1hcnkubGluZUl0ZW1zLmZpbmQobGkgPT4gbGkuaWQgPT09IGxpbmVJdGVtLmlkKTtcbiAgICAgIHJldHVybiB1cGRhdGVkID8/IGxpbmVJdGVtO1xuICAgIH0pO1xuXG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQoe1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIGN1cnJlbnRTdGF0ZTogdXBkYXRlZEN1cnJlbnRTdGF0ZSxcbiAgICAgIHRvdGFsUHJpY2VzOiBwcmljZVN1bW1hcnkudG90YWxQcmljZXMsXG4gICAgICBhcHByb3ZhbEl0ZW1zOiBwcmljZVN1bW1hcnkuYXBwcm92YWxJdGVtcyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBxdW90ZURyYWZ0JCgpOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5xdW90ZVN1YmokLCB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKV0pLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0KSxcbiAgICAgIGZpbHRlcigocXVvdGUpOiBxdW90ZSBpcyBRdW90ZURyYWZ0ID0+IEJvb2xlYW4ocXVvdGUpKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBxdW90ZURyYWZ0KCk6IFF1b3RlRHJhZnQgfCBudWxsIHtcbiAgICBjb25zdCBxdW90ZSA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5xdW90ZSxcbiAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dC5yZXNvbHZlKCksXG4gICAgfTtcbiAgfVxuXG4gIGdldCBxdW90ZURyYWZ0Rm9yQWN0aXZlUHJpY2VMaXN0KCk6IFF1b3RlRHJhZnQgfCBudWxsIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIGluaXRpYWxTdGF0ZTogdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChxdW90ZURyYWZ0LmluaXRpYWxTdGF0ZSksXG4gICAgICBjdXJyZW50U3RhdGU6IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QocXVvdGVEcmFmdC5jdXJyZW50U3RhdGUpLFxuICAgIH07XG4gIH1cblxuICBnZXQgY3VycmVudFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcChxdW90ZSA9PiBxdW90ZS5jdXJyZW50U3RhdGUpKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlID8/IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmVhbSBvZiBhY3RpdmVDdXJyZW50U3RhdGVcbiAgICovXG4gIGdldCBhY3RpdmVDdXJyZW50U3RhdGUkKCk6IE9ic2VydmFibGU8TGluZUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQkLnBpcGUobWFwKCgpID0+IHRoaXMuYWN0aXZlQ3VycmVudFN0YXRlKSk7XG4gIH1cblxuICAvKipcbiAgICogYWN0aXZlQ3VycmVudFN0YXRlIGlzIGN1cnJlbnRTdGF0ZSBwYXNzZWQgdGhyb3VnaCBhZGRpdGlvbmFsIGZpbHRlcnNcbiAgICovXG4gIGdldCBhY3RpdmVDdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgbGV0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlID8/IFtdO1xuXG4gICAgY3VycmVudFN0YXRlID0gdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChjdXJyZW50U3RhdGUpO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gb2YgYWN0aXZlSW5pdGlhbFN0YXRlXG4gICAqL1xuICBnZXQgYWN0aXZlSW5pdGlhbFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcCgoKSA9PiB0aGlzLmFjdGl2ZUluaXRpYWxTdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFjdGl2ZUluaXRpYWxTdGF0ZSBpcyBpbml0aWFsU3RhdGUgcGFzc2VkIHRocm91Z2ggYWRkaXRpb25hbCBmaWx0ZXJzXG4gICAqL1xuICBnZXQgYWN0aXZlSW5pdGlhbFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG4gICAgbGV0IGluaXRpYWxTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdD8uaW5pdGlhbFN0YXRlID8/IFtdO1xuXG4gICAgaWYgKGN0eC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgaW5pdGlhbFN0YXRlID0gdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChpbml0aWFsU3RhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBpbml0aWFsU3RhdGU7XG4gIH1cblxuICBnZXQgaXNTdGFuZGFsb25lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLnByb3BlcnRpZXMuc3RhbmRhbG9uZSA9PT0gJ3RydWUnO1xuICB9XG5cbiAgZ2V0IGlzU3RhbmRhbG9uZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXNvbHZlJCgpLnBpcGUobWFwKCgpID0+IHRoaXMuaXNTdGFuZGFsb25lKSk7XG4gIH1cblxuICBwdWJsaWMgaXNFZGl0TW9kZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXNvbHZlJCgpLnBpcGUobWFwKCgpID0+IHRoaXMuaXNFZGl0TW9kZSgpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNFZGl0TW9kZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcblxuICAgIGlmIChjb250ZXh0Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuUVVPVEUpIHtcbiAgICAgIHJldHVybiBjb250ZXh0LnByb3BlcnRpZXMuU3RhdHVzID09PSAnRHJhZnQnO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmVQcmljZUxpc3QocHJpY2VMaXN0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC51cGRhdGUoeyBwcm9wZXJ0aWVzOiB7IFByaWNlTGlzdElkOiBwcmljZUxpc3RJZCB9IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUFjdGl2ZVByaWNlTGlzdHMkKCk6IHZvaWQge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEluIEFDQ09VTlQgbW9kZSBwb3B1bGF0ZSBwcmljZSBsaXN0cyBmcm9tIHJlbGF0ZWQgYXNzZXRzXG4gICAgaWYgKGN0eC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgLy8gUG9wdWxhdGUgbGlzdCBvZiBwcmljZSBsaXN0c1xuICAgICAgdGhpcy5hc3NldFByaWNlTGlzdHMgPSBxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZVxuICAgICAgICAubWFwKCh7IHByaWNlTGlzdElkIH0pID0+IHByaWNlTGlzdElkKVxuICAgICAgICAucmVkdWNlPFByaWNlTGlzdFtdPigodHJ1bmssIHByaWNlTGlzdElkKSA9PiB7XG4gICAgICAgICAgaWYgKCFwcmljZUxpc3RJZCB8fCB0cnVuay5zb21lKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJpY2VMaXN0SWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1bms7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLnRydW5rLFxuICAgICAgICAgICAgeyBpZDogcHJpY2VMaXN0SWQsIG5hbWU6IHRoaXMuYWxsUHJpY2VMaXN0cy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJpY2VMaXN0SWQpPy5uYW1lID8/ICcnIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QobGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogTGluZUl0ZW1bXSB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcblxuICAgIHJldHVybiBsaW5lSXRlbXMuZmlsdGVyKGxpID0+ICFsaS5wcmljZUxpc3RJZCB8fCBsaS5wcmljZUxpc3RJZCA9PT0gY3R4LnByb3BlcnRpZXMuUHJpY2VMaXN0SWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNVcGRhdGVkKHF1b3RlOiBRdW90ZURyYWZ0IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChxdW90ZT8uY29udGV4dC5wcm9wZXJ0aWVzLm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gISFxdW90ZSAmJiAhcXVvdGUuY3VycmVudFN0YXRlLmV2ZXJ5KGxpID0+IGxpLmFjdGlvbkNvZGUgPT09ICdFWElTVCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|