@veloceapps/sdk 2.0.17 → 2.0.19

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 (37) hide show
  1. package/bundles/veloce-sdk-cms.umd.js +121 -59
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloce-sdk-runtime.umd.js +2 -3
  4. package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
  5. package/bundles/veloce-sdk.umd.js +27 -11
  6. package/bundles/veloce-sdk.umd.js.map +1 -1
  7. package/cms/components/preview/preview.component.d.ts +5 -2
  8. package/cms/launcher.module.d.ts +3 -2
  9. package/cms/modules/configuration/services/configuration.service.d.ts +3 -2
  10. package/cms/services/index.d.ts +1 -0
  11. package/cms/services/integration.state.d.ts +20 -0
  12. package/cms/types/ui-definition.types.d.ts +1 -0
  13. package/cms/utils/element.utils.d.ts +1 -0
  14. package/esm2015/cms/components/preview/preview.component.js +25 -13
  15. package/esm2015/cms/components/preview/preview.module.js +4 -2
  16. package/esm2015/cms/launcher.module.js +8 -23
  17. package/esm2015/cms/modules/configuration/services/configuration.service.js +16 -15
  18. package/esm2015/cms/services/index.js +2 -1
  19. package/esm2015/cms/services/integration.state.js +40 -0
  20. package/esm2015/cms/types/ui-definition.types.js +1 -1
  21. package/esm2015/cms/utils/element.utils.js +16 -1
  22. package/esm2015/cms/utils/elements-resolver.js +3 -2
  23. package/esm2015/cms/vendor-map.js +4 -2
  24. package/esm2015/runtime/execution/directives/vl-quote.directive.js +2 -2
  25. package/esm2015/runtime/services/quote.service.js +2 -3
  26. package/esm2015/src/pages/legacy-product/legacy-product.component.js +22 -8
  27. package/esm2015/src/pages/product/product.component.js +6 -6
  28. package/esm2015/src/types/flow-customization.types.js +1 -1
  29. package/fesm2015/veloce-sdk-cms.js +102 -50
  30. package/fesm2015/veloce-sdk-cms.js.map +1 -1
  31. package/fesm2015/veloce-sdk-runtime.js +2 -3
  32. package/fesm2015/veloce-sdk-runtime.js.map +1 -1
  33. package/fesm2015/veloce-sdk.js +27 -14
  34. package/fesm2015/veloce-sdk.js.map +1 -1
  35. package/package.json +2 -1
  36. package/src/pages/legacy-product/legacy-product.component.d.ts +5 -2
  37. package/src/types/flow-customization.types.d.ts +2 -0
@@ -0,0 +1,20 @@
1
+ import { Dictionary } from 'lodash';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export interface IntegrationAction<T = any> {
5
+ type: string;
6
+ payload?: T;
7
+ }
8
+ export declare class IntegrationState<S = Dictionary<any>> {
9
+ private readonly stateSubj$;
10
+ private readonly action$;
11
+ get state$(): Observable<S>;
12
+ get state(): S;
13
+ patchState(update: Partial<S>): void;
14
+ dispatch(action: IntegrationAction): void;
15
+ listen$<P = any>(actionType: string): Observable<IntegrationAction<P>>;
16
+ listenAll$<T extends IntegrationAction>(): Observable<T>;
17
+ clear(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<IntegrationState<any>, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<IntegrationState<any>>;
20
+ }
@@ -2,6 +2,7 @@ import { ElementDefaultMetadata } from './common.types';
2
2
  export declare type UIDefinitionType = 'DEFAULT' | 'CONFIGURATION';
3
3
  export declare type UIDefinitionMetadata = Omit<UIDefinition, 'children'>;
4
4
  export interface UIDefinitionProps {
5
+ suppressToastMessages?: boolean;
5
6
  rootType?: string;
6
7
  pricingEnabled?: boolean;
7
8
  priceList?: string;
@@ -11,3 +11,4 @@ export declare const extendElementMetadata: (script: string, extend: Partial<UIE
11
11
  export declare const getElementConfig: (type: ELEMENT_TYPE) => ElementConfig;
12
12
  export declare const doesElementSupportIO: (type: ELEMENT_TYPE) => boolean;
13
13
  export declare function stringifyElementMetadata(elementMetadata: UIElementMetadata): string;
14
+ export declare const isValidScript: (script?: string | undefined) => boolean;
@@ -9,15 +9,18 @@ import * as i1 from "../../services/launcher.service";
9
9
  import * as i2 from "../../modules/configuration/services/configuration.service";
10
10
  import * as i3 from "primeng/api";
11
11
  import * as i4 from "../../modules/configuration/services/configuration-runtime.service";
12
- import * as i5 from "@veloce/components";
13
- import * as i6 from "../element-renderer/element-renderer.component";
14
- import * as i7 from "@angular/common";
12
+ import * as i5 from "../../services";
13
+ import * as i6 from "@veloce/components";
14
+ import * as i7 from "../element-renderer/element-renderer.component";
15
+ import * as i8 from "@angular/common";
15
16
  export class PreviewComponent {
16
- constructor(launcherService, configurationService, messageService, runtimeService) {
17
+ constructor(launcherService, configurationService, messageService, runtimeService, integrationState) {
17
18
  this.launcherService = launcherService;
18
19
  this.configurationService = configurationService;
19
20
  this.messageService = messageService;
20
21
  this.runtimeService = runtimeService;
22
+ this.integrationState = integrationState;
23
+ this.clearState = true;
21
24
  this.state$ = new BehaviorSubject({ loading: true, failure: false });
22
25
  this.elements = [];
23
26
  this.destroy$ = new Subject();
@@ -29,6 +32,9 @@ export class PreviewComponent {
29
32
  this.destroy$.next();
30
33
  this.destroy$.complete();
31
34
  this.configurationService.reset();
35
+ if (this.clearState) {
36
+ this.integrationState.clear();
37
+ }
32
38
  }
33
39
  initializeConfiguration$() {
34
40
  var _a;
@@ -47,12 +53,15 @@ export class PreviewComponent {
47
53
  .pipe(switchMap(() => this.configurationService.configure()));
48
54
  }
49
55
  elementToMetadataSafe(elements) {
56
+ var _a, _b;
50
57
  try {
51
58
  return elements.map(element => elementToMetadata(element));
52
59
  }
53
60
  catch (e) {
54
61
  console.error(e);
55
- this.messageService.add({ severity: 'error', summary: String(e) });
62
+ if (!((_b = (_a = this.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.suppressToastMessages)) {
63
+ this.messageService.add({ severity: 'error', summary: String(e) });
64
+ }
56
65
  return [];
57
66
  }
58
67
  }
@@ -65,18 +74,19 @@ export class PreviewComponent {
65
74
  const compilation$ = this.launcherService.compileModule(this.elements, uiDefinitionMeta);
66
75
  forkJoin([compilation$, this.initializeConfiguration$()])
67
76
  .pipe(tap(() => this.state$.next({ loading: false, failure: false })), catchError(error => {
68
- this.messageService.add({
69
- severity: 'error',
70
- summary: error,
71
- });
77
+ var _a, _b;
78
+ console.error(error);
79
+ if (!((_b = (_a = this.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.suppressToastMessages)) {
80
+ this.messageService.add({ severity: 'error', summary: error });
81
+ }
72
82
  this.state$.next({ loading: false, failure: true });
73
83
  return of();
74
84
  }), takeUntil(this.destroy$))
75
85
  .subscribe();
76
86
  }
77
87
  }
78
- PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.LauncherService }, { token: i2.ConfigurationService }, { token: i3.MessageService }, { token: i4.ConfigurationRuntimeService }], target: i0.ɵɵFactoryTarget.Component });
79
- PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: PreviewComponent, selector: "vl-cms-preview", inputs: { modelId: "modelId", uiDefinition: "uiDefinition" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer *ngFor=\"let el of elements\" [meta]=\"el\"></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], components: [{ type: i5.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i6.ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
88
+ PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.LauncherService }, { token: i2.ConfigurationService }, { token: i3.MessageService }, { token: i4.ConfigurationRuntimeService }, { token: i5.IntegrationState }], target: i0.ɵɵFactoryTarget.Component });
89
+ PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: PreviewComponent, selector: "vl-cms-preview", inputs: { modelId: "modelId", uiDefinition: "uiDefinition", clearState: "clearState" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer *ngFor=\"let el of elements\" [meta]=\"el\"></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], components: [{ type: i6.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i7.ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
80
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewComponent, decorators: [{
81
91
  type: Component,
82
92
  args: [{
@@ -88,9 +98,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
88
98
  // use shadow DOM to prevent UI from being affected by global styles
89
99
  encapsulation: ViewEncapsulation.ShadowDom,
90
100
  }]
91
- }], ctorParameters: function () { return [{ type: i1.LauncherService }, { type: i2.ConfigurationService }, { type: i3.MessageService }, { type: i4.ConfigurationRuntimeService }]; }, propDecorators: { modelId: [{
101
+ }], ctorParameters: function () { return [{ type: i1.LauncherService }, { type: i2.ConfigurationService }, { type: i3.MessageService }, { type: i4.ConfigurationRuntimeService }, { type: i5.IntegrationState }]; }, propDecorators: { modelId: [{
92
102
  type: Input
93
103
  }], uiDefinition: [{
94
104
  type: Input
105
+ }], clearState: [{
106
+ type: Input
95
107
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQWdCOUQsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUNVLGVBQWdDLEVBQ2hDLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5QixjQUEyQztRQUgzQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQTZCO1FBVDlDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkUsYUFBUSxHQUFzQixFQUFFLENBQUM7UUFFaEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFPcEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyx3QkFBd0I7O1FBQzlCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssZUFBZSxJQUFJLG9CQUFvQixFQUFFO1lBQzVGLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2Y7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUM7WUFDM0YsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDZjtRQUVELDZEQUE2RDtRQUM3RCxNQUFNLGlCQUFpQixHQUFzQixNQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUM7UUFDaEYsT0FBTyxJQUFJLENBQUMsY0FBYzthQUN2QixZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQzthQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFFBQXFCO1FBQ2pELElBQUk7WUFDRixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzVEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFvQyxJQUFJLENBQUMsWUFBWSxFQUFyRCxFQUFFLFFBQVEsT0FBMkMsRUFBdEMsZ0JBQWdCLGNBQS9CLFlBQWlDLENBQW9CLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXpGLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO2FBQ3RELElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQy9ELFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRSxLQUFLO2FBQ2YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OzhHQS9FVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix1R0FKaEIsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQywwQkN0QmxELHNYQVNBOzRGRGlCYSxnQkFBZ0I7a0JBVDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3ZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDaEQsb0VBQW9FO29CQUNwRSxhQUFhLEVBQUUsaUJBQWlCLENBQUMsU0FBUztpQkFDM0M7Z05BRVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMYXVuY2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXVuY2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uLCBVSURlZmluaXRpb25Qcm9wcywgVUlFbGVtZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdWktZGVmaW5pdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBlbGVtZW50VG9NZXRhZGF0YSB9IGZyb20gJy4uLy4uL3V0aWxzL2VsZW1lbnQudXRpbHMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIG1vZGVsSWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcblxuICBwdWJsaWMgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4oeyBsb2FkaW5nOiB0cnVlLCBmYWlsdXJlOiBmYWxzZSB9KTtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGF1bmNoZXJTZXJ2aWNlOiBMYXVuY2hlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdGFydFByZXZpZXcoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcblxuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UucmVzZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24kKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaXNBbHJlYWR5SW5pdGlhbGl6ZWQgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmlzSW5pdGlhbGl6ZWQ7XG4gICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbiB8fCB0aGlzLnVpRGVmaW5pdGlvbi50eXBlICE9PSAnQ09ORklHVVJBVElPTicgfHwgaXNBbHJlYWR5SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBvZih7fSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsSWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gbW9kZWxJZCBpcyBnaXZlbiBmb3IgdWlEZWZpbml0aW9uIHdpdGggJyR7dGhpcy51aURlZmluaXRpb24udHlwZX0nIHR5cGVgKTtcbiAgICAgIHJldHVybiBvZih7fSk7XG4gICAgfVxuXG4gICAgLy8gSWYgc3RpbGwgbm90IGluaXRpYWxpemVkIC0gaW5pdCBjb25maWd1cmF0aW9uIGluIFRlc3QgbW9kZVxuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BzOiBVSURlZmluaXRpb25Qcm9wcyA9IHRoaXMudWlEZWZpbml0aW9uLnByb3BlcnRpZXMgPz8ge307XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2VcbiAgICAgIC5pbml0VGVzdE1vZGUodGhpcy5tb2RlbElkLCB1aURlZmluaXRpb25Qcm9wcylcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyZSgpKSk7XG4gIH1cblxuICBwcml2YXRlIGVsZW1lbnRUb01ldGFkYXRhU2FmZShlbGVtZW50czogVUlFbGVtZW50W10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBlbGVtZW50cy5tYXAoZWxlbWVudCA9PiBlbGVtZW50VG9NZXRhZGF0YShlbGVtZW50KSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IFN0cmluZyhlKSB9KTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UHJldmlldygpIHtcbiAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgLi4udWlEZWZpbml0aW9uTWV0YSB9ID0gdGhpcy51aURlZmluaXRpb247XG4gICAgdGhpcy5lbGVtZW50cyA9IHRoaXMuZWxlbWVudFRvTWV0YWRhdGFTYWZlKGNoaWxkcmVuKTtcblxuICAgIGNvbnN0IGNvbXBpbGF0aW9uJCA9IHRoaXMubGF1bmNoZXJTZXJ2aWNlLmNvbXBpbGVNb2R1bGUodGhpcy5lbGVtZW50cywgdWlEZWZpbml0aW9uTWV0YSk7XG5cbiAgICBmb3JrSm9pbihbY29tcGlsYXRpb24kLCB0aGlzLmluaXRpYWxpemVDb25maWd1cmF0aW9uJCgpXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiBmYWxzZSB9KSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgICAgICAgc3VtbWFyeTogZXJyb3IsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXIgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzXCIgW21ldGFdPVwiZWxcIj48L3ZsLWNtcy1lbGVtZW50LXJlbmRlcmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7QUFnQjlELE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxlQUFnQyxFQUNoQyxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsY0FBMkMsRUFDM0MsZ0JBQWtDO1FBSmxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFDM0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVpuQyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUs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LEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMYXVuY2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXVuY2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uLCBVSURlZmluaXRpb25Qcm9wcywgVUlFbGVtZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdWktZGVmaW5pdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBlbGVtZW50VG9NZXRhZGF0YSB9IGZyb20gJy4uLy4uL3V0aWxzL2VsZW1lbnQudXRpbHMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIG1vZGVsSWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgQElucHV0KCkgY2xlYXJTdGF0ZSA9IHRydWU7XG5cbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gIHB1YmxpYyBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxhdW5jaGVyU2VydmljZTogTGF1bmNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0YXJ0UHJldmlldygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5yZXNldCgpO1xuXG4gICAgaWYgKHRoaXMuY2xlYXJTdGF0ZSkge1xuICAgICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbiQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBpc0FscmVhZHlJbml0aWFsaXplZCA9IHRoaXMucnVudGltZVNlcnZpY2UuaXNJbml0aWFsaXplZDtcbiAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uIHx8IHRoaXMudWlEZWZpbml0aW9uLnR5cGUgIT09ICdDT05GSUdVUkFUSU9OJyB8fCBpc0FscmVhZHlJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubW9kZWxJZCkge1xuICAgICAgY29uc29sZS53YXJuKGBObyBtb2RlbElkIGlzIGdpdmVuIGZvciB1aURlZmluaXRpb24gd2l0aCAnJHt0aGlzLnVpRGVmaW5pdGlvbi50eXBlfScgdHlwZWApO1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG5cbiAgICAvLyBJZiBzdGlsbCBub3QgaW5pdGlhbGl6ZWQgLSBpbml0IGNvbmZpZ3VyYXRpb24gaW4gVGVzdCBtb2RlXG4gICAgY29uc3QgdWlEZWZpbml0aW9uUHJvcHM6IFVJRGVmaW5pdGlvblByb3BzID0gdGhpcy51aURlZmluaXRpb24ucHJvcGVydGllcyA/PyB7fTtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZVxuICAgICAgLmluaXRUZXN0TW9kZSh0aGlzLm1vZGVsSWQsIHVpRGVmaW5pdGlvblByb3BzKVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlKCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudFRvTWV0YWRhdGFTYWZlKGVsZW1lbnRzOiBVSUVsZW1lbnRbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGVsZW1lbnRzLm1hcChlbGVtZW50ID0+IGVsZW1lbnRUb01ldGFkYXRhKGVsZW1lbnQpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuXG4gICAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzPy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogU3RyaW5nKGUpIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFByZXZpZXcoKSB7XG4gICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnVpRGVmaW5pdGlvbk1ldGEgfSA9IHRoaXMudWlEZWZpbml0aW9uO1xuICAgIHRoaXMuZWxlbWVudHMgPSB0aGlzLmVsZW1lbnRUb01ldGFkYXRhU2FmZShjaGlsZHJlbik7XG5cbiAgICBjb25zdCBjb21waWxhdGlvbiQgPSB0aGlzLmxhdW5jaGVyU2VydmljZS5jb21waWxlTW9kdWxlKHRoaXMuZWxlbWVudHMsIHVpRGVmaW5pdGlvbk1ldGEpO1xuXG4gICAgZm9ya0pvaW4oW2NvbXBpbGF0aW9uJCwgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbiQoKV0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSkpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICAgIGlmICghdGhpcy51aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICA8dmwtbG9hZGVyICpuZ0lmPVwic3RhdGUubG9hZGluZzsgZWxzZSBjb250ZW50XCIgW2xhYmVsXT1cIidMb2FkaW5nIFVJJ1wiPjwvdmwtbG9hZGVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN0YXRlLmZhaWx1cmVcIj5cbiAgICAgIDx2bC1jbXMtZWxlbWVudC1yZW5kZXJlciAqbmdGb3I9XCJsZXQgZWwgb2YgZWxlbWVudHNcIiBbbWV0YV09XCJlbFwiPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { LoaderModule } from '@veloce/components';
4
+ import { IntegrationState } from '../../services';
4
5
  import { ElementChildrenModule } from '../element-children/element-children.module';
5
6
  import { ElementRendererModule } from '../element-renderer/element-renderer.module';
6
7
  import { PreviewComponent } from './preview.component';
@@ -9,13 +10,14 @@ export class PreviewModule {
9
10
  }
10
11
  PreviewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
12
  PreviewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, declarations: [PreviewComponent], imports: [CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule], exports: [PreviewComponent] });
12
- PreviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, imports: [[CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule]] });
13
+ PreviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, providers: [IntegrationState], imports: [[CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule]] });
13
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, decorators: [{
14
15
  type: NgModule,
15
16
  args: [{
16
17
  declarations: [PreviewComponent],
17
18
  imports: [CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule],
19
+ providers: [IntegrationState],
18
20
  exports: [PreviewComponent],
19
21
  }]
20
22
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPdkQsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsYUFDckIsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsYUFDeEUsZ0JBQWdCOzRHQUVmLGFBQWEsWUFIZixDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLENBQUM7NEZBR3hFLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLENBQUM7b0JBQ25GLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGVyTW9kdWxlIH0gZnJvbSAnQHZlbG9jZS9jb21wb25lbnRzJztcbmltcG9ydCB7IEVsZW1lbnRDaGlsZHJlbk1vZHVsZSB9IGZyb20gJy4uL2VsZW1lbnQtY2hpbGRyZW4vZWxlbWVudC1jaGlsZHJlbi5tb2R1bGUnO1xuaW1wb3J0IHsgRWxlbWVudFJlbmRlcmVyTW9kdWxlIH0gZnJvbSAnLi4vZWxlbWVudC1yZW5kZXJlci9lbGVtZW50LXJlbmRlcmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9wcmV2aWV3LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1ByZXZpZXdDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMb2FkZXJNb2R1bGUsIEVsZW1lbnRSZW5kZXJlck1vZHVsZSwgRWxlbWVudENoaWxkcmVuTW9kdWxlXSxcbiAgZXhwb3J0czogW1ByZXZpZXdDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3TW9kdWxlIHt9XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFRdkQsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkFMVCxnQkFBZ0IsYUFDckIsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsYUFFeEUsZ0JBQWdCOzRHQUVmLGFBQWEsYUFIYixDQUFDLGdCQUFnQixDQUFDLFlBRHBCLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQzs0RkFJeEUsYUFBYTtrQkFOekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztvQkFDbkYsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGVyTW9kdWxlIH0gZnJvbSAnQHZlbG9jZS9jb21wb25lbnRzJztcbmltcG9ydCB7IEludGVncmF0aW9uU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50Q2hpbGRyZW5Nb2R1bGUgfSBmcm9tICcuLi9lbGVtZW50LWNoaWxkcmVuL2VsZW1lbnQtY2hpbGRyZW4ubW9kdWxlJztcbmltcG9ydCB7IEVsZW1lbnRSZW5kZXJlck1vZHVsZSB9IGZyb20gJy4uL2VsZW1lbnQtcmVuZGVyZXIvZWxlbWVudC1yZW5kZXJlci5tb2R1bGUnO1xuaW1wb3J0IHsgUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vcHJldmlldy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQcmV2aWV3Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTG9hZGVyTW9kdWxlLCBFbGVtZW50UmVuZGVyZXJNb2R1bGUsIEVsZW1lbnRDaGlsZHJlbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW0ludGVncmF0aW9uU3RhdGVdLFxuICBleHBvcnRzOiBbUHJldmlld0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdNb2R1bGUge31cbiJdfQ==
@@ -1,38 +1,23 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
- import { DocumentAttachmentApiService, DocumentTemplatesApiService, QuoteApiService, SalesforceApiService, } from '@veloce/api';
3
+ import { ApiModule } from '@veloce/api';
4
4
  import { CoreModule } from '@veloce/core';
5
+ import { DialogService } from 'primeng/dynamicdialog';
5
6
  import { ConfigurationModule } from './modules/configuration/configuration.module';
7
+ import { IntegrationState } from './services';
6
8
  import { DynamicModuleService } from './services/dynamic-module.service';
7
9
  import { LauncherService } from './services/launcher.service';
8
- import { DialogService } from 'primeng/dynamicdialog';
9
10
  import * as i0 from "@angular/core";
10
11
  export class LauncherModule {
11
12
  }
12
13
  LauncherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- LauncherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, imports: [CommonModule, CoreModule, ConfigurationModule] });
14
- LauncherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, providers: [
15
- LauncherService,
16
- DynamicModuleService,
17
- SalesforceApiService,
18
- QuoteApiService,
19
- DocumentTemplatesApiService,
20
- DocumentAttachmentApiService,
21
- DialogService,
22
- ], imports: [[CommonModule, CoreModule, ConfigurationModule]] });
14
+ LauncherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, imports: [CommonModule, CoreModule, ApiModule, ConfigurationModule] });
15
+ LauncherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, providers: [LauncherService, IntegrationState, DynamicModuleService, DialogService], imports: [[CommonModule, CoreModule, ApiModule, ConfigurationModule]] });
23
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, decorators: [{
24
17
  type: NgModule,
25
18
  args: [{
26
- imports: [CommonModule, CoreModule, ConfigurationModule],
27
- providers: [
28
- LauncherService,
29
- DynamicModuleService,
30
- SalesforceApiService,
31
- QuoteApiService,
32
- DocumentTemplatesApiService,
33
- DocumentAttachmentApiService,
34
- DialogService,
35
- ],
19
+ imports: [CommonModule, CoreModule, ApiModule, ConfigurationModule],
20
+ providers: [LauncherService, IntegrationState, DynamicModuleService, DialogService],
36
21
  }]
37
22
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2xhdW5jaGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUMzQixlQUFlLEVBQ2Ysb0JBQW9CLEdBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFjdEQsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxZQVhmLFlBQVksRUFBRSxVQUFVLEVBQUUsbUJBQW1COzZHQVc1QyxjQUFjLGFBVmQ7UUFDVCxlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixhQUFhO0tBQ2QsWUFUUSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUM7NEZBVzdDLGNBQWM7a0JBWjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztvQkFDeEQsU0FBUyxFQUFFO3dCQUNULGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERvY3VtZW50QXR0YWNobWVudEFwaVNlcnZpY2UsXG4gIERvY3VtZW50VGVtcGxhdGVzQXBpU2VydmljZSxcbiAgUXVvdGVBcGlTZXJ2aWNlLFxuICBTYWxlc2ZvcmNlQXBpU2VydmljZSxcbn0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgRHluYW1pY01vZHVsZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2R5bmFtaWMtbW9kdWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF1bmNoZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sYXVuY2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb3JlTW9kdWxlLCBDb25maWd1cmF0aW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTGF1bmNoZXJTZXJ2aWNlLFxuICAgIER5bmFtaWNNb2R1bGVTZXJ2aWNlLFxuICAgIFNhbGVzZm9yY2VBcGlTZXJ2aWNlLFxuICAgIFF1b3RlQXBpU2VydmljZSxcbiAgICBEb2N1bWVudFRlbXBsYXRlc0FwaVNlcnZpY2UsXG4gICAgRG9jdW1lbnRBdHRhY2htZW50QXBpU2VydmljZSxcbiAgICBEaWFsb2dTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMYXVuY2hlck1vZHVsZSB7fVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2xhdW5jaGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBTTlELE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsWUFIZixZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxtQkFBbUI7NkdBR3ZELGNBQWMsYUFGZCxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxhQUFhLENBQUMsWUFEMUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQzs0RkFHeEQsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQztvQkFDbkUsU0FBUyxFQUFFLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQztpQkFDcEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaU1vZHVsZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgRHluYW1pY01vZHVsZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2R5bmFtaWMtbW9kdWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF1bmNoZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sYXVuY2hlci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29yZU1vZHVsZSwgQXBpTW9kdWxlLCBDb25maWd1cmF0aW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbTGF1bmNoZXJTZXJ2aWNlLCBJbnRlZ3JhdGlvblN0YXRlLCBEeW5hbWljTW9kdWxlU2VydmljZSwgRGlhbG9nU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIExhdW5jaGVyTW9kdWxlIHt9XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { ConfirmationComponent } from '@veloce/components';
2
3
  import { ConfigurationMode, } from '@veloce/core';
3
4
  import { RuntimeStep } from '@veloce/sdk/runtime';
4
- import { BehaviorSubject, of, shareReplay, throwError } from 'rxjs';
5
+ import { BehaviorSubject, shareReplay, throwError } from 'rxjs';
5
6
  import { catchError, map, tap } from 'rxjs/operators';
6
7
  import { LineItemWorker } from '../../../types/line-item.types';
7
8
  import { getDefaultLineItem } from '../helpers';
8
- import { ConfirmationComponent } from '@veloce/components';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "./configuration-runtime.service";
11
11
  import * as i2 from "@veloce/sdk/runtime";
@@ -30,25 +30,26 @@ export class ConfigurationService {
30
30
  this.lineItem.next(undefined);
31
31
  this.charges.next({});
32
32
  }
33
- patch(lineItem) {
33
+ patch$(lineItem) {
34
34
  if (!this.lineItem.value) {
35
- return;
35
+ return throwError(() => new Error(`Source LineItem not found`));
36
36
  }
37
37
  this.states.configurableRamp = new LineItemWorker(this.lineItem.value).replace(lineItem).li;
38
38
  this.states.asset = this.states.configurableRamp
39
39
  ? this.runtimeService.getAsset(this.states.configurableRamp)
40
40
  : undefined;
41
- this.configure()
42
- .pipe(catchError(error => {
43
- this.messageService.add({
44
- severity: 'error',
45
- summary: error,
46
- });
41
+ return this.configure().pipe(catchError(error => {
42
+ console.error(error);
43
+ if (!this.runtimeService.uiDefinitionProperties.suppressToastMessages) {
44
+ this.messageService.add({ severity: 'error', summary: error });
45
+ }
47
46
  // bounce back if configuration call has failed
48
47
  this.lineItem.next(this.lineItem.value ? Object.assign({}, this.lineItem.value) : undefined);
49
- return of();
50
- }))
51
- .subscribe();
48
+ return throwError(() => error);
49
+ }));
50
+ }
51
+ patch(lineItem) {
52
+ this.patch$(lineItem).subscribe();
52
53
  }
53
54
  updateCurrentStates(update) {
54
55
  this.states = Object.assign(Object.assign({}, this.states), update);
@@ -76,7 +77,7 @@ export class ConfigurationService {
76
77
  const runtimeContext = this.getRuntimeContext();
77
78
  const runtimeModel = this.getRuntimeModel();
78
79
  if (!runtimeContext || !runtimeModel) {
79
- return of(undefined);
80
+ return throwError(() => new Error('Runtime context/model not initialized'));
80
81
  }
81
82
  const uiDefinitionProperties = Object.assign(Object.assign({}, ((_b = (_a = runtimeContext.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {})), ((_c = this.runtimeService.uiDefinitionProperties) !== null && _c !== void 0 ? _c : {}));
82
83
  const lineItem = (_d = this.states.configurableRamp) !== null && _d !== void 0 ? _d : getDefaultLineItem(runtimeContext, uiDefinitionProperties);
@@ -138,4 +139,4 @@ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
138
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService, decorators: [{
139
140
  type: Injectable
140
141
  }], ctorParameters: function () { return [{ type: i1.ConfigurationRuntimeService }, { type: i2.ContextService }, { type: i3.ConfigurationApiService }, { type: i4.MessageService }, { type: i5.DialogService }]; } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBRUwsaUJBQWlCLEdBTWxCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBK0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSWhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7O0FBSTNELE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsWUFDVSxjQUEyQyxFQUMzQyxjQUE4QixFQUM5Qix1QkFBZ0QsRUFDaEQsY0FBOEIsRUFDOUIsYUFBNEI7UUFKNUIsbUJBQWMsR0FBZCxjQUFjLENBQTZCO1FBQzNDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVg5QixTQUFJLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ2hDLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBRXpCLGFBQVEs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QkFDbEIsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsV0FBVyxFQUFFLG9FQUFvRTtvQkFDakYsU0FBUyxFQUFFLGlCQUFpQjtvQkFDNUIsU0FBUyxFQUFFLGVBQWU7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO2FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsUUFBUSxLQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2tIQXZKVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uQ29udGV4dCxcbiAgQ29uZmlndXJhdGlvbk1vZGUsXG4gIENvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICBMaW5lSXRlbSxcbiAgUHJpY2VQbGFuQ2hhcmdlLFxuICBSdW50aW1lTW9kZWwsXG4gIFZsV2luZG93LFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFF1b3RlU3RhdGVzLCBSdW50aW1lU3RlcCB9IGZyb20gJ0B2ZWxvY2Uvc2RrL3J1bnRpbWUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExpbmVJdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvbGluZS1pdGVtLnR5cGVzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQgfSBmcm9tICcuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICdAdmVsb2NlL2NvbXBvbmVudHMnO1xuZGVjbGFyZSBjb25zdCB3aW5kb3c6IFZsV2luZG93O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIG1vZGUgPSBDb25maWd1cmF0aW9uTW9kZS5TRUFSQ0g7XG4gIHByaXZhdGUgc3RhdGVzOiBRdW90ZVN0YXRlcyA9IHt9O1xuXG4gIHByaXZhdGUgbGluZUl0ZW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExpbmVJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIGNoYXJnZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4oe30pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5yZXNldCgpO1xuXG4gICAgdGhpcy5zdGF0ZXMgPSB7fTtcbiAgICB0aGlzLmxpbmVJdGVtLm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLmNoYXJnZXMubmV4dCh7fSk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxpbmVJdGVtLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA9IG5ldyBMaW5lSXRlbVdvcmtlcih0aGlzLmxpbmVJdGVtLnZhbHVlKS5yZXBsYWNlKGxpbmVJdGVtKS5saTtcbiAgICB0aGlzLnN0YXRlcy5hc3NldCA9IHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXBcbiAgICAgID8gdGhpcy5ydW50aW1lU2VydmljZS5nZXRBc3NldCh0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZSgpXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgICBzdW1tYXJ5OiBlcnJvcixcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgICAgdGhpcy5saW5lSXRlbS5uZXh0KHRoaXMubGluZUl0ZW0udmFsdWUgPyB7IC4uLnRoaXMubGluZUl0ZW0udmFsdWUgfSA6IHVuZGVmaW5lZCk7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUN1cnJlbnRTdGF0ZXModXBkYXRlOiBQYXJ0aWFsPFF1b3RlU3RhdGVzPikge1xuICAgIHRoaXMuc3RhdGVzID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZXMsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZU1vZGVsKCk6IFJ1bnRpbWVNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZU1vZGVsO1xuICB9XG4gIHB1YmxpYyBnZXRSdW50aW1lQ29udGV4dCgpOiBSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmUoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHJ1bnRpbWVDb250ZXh0ID0gdGhpcy5nZXRSdW50aW1lQ29udGV4dCgpO1xuICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IHRoaXMuZ2V0UnVudGltZU1vZGVsKCk7XG4gICAgaWYgKCFydW50aW1lQ29udGV4dCB8fCAhcnVudGltZU1vZGVsKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBjb25zdCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzID0ge1xuICAgICAgLi4uKHJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcyA/PyB7fSksXG4gICAgICAuLi4odGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzID8/IHt9KSxcbiAgICB9O1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA/PyBnZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQsIHVpRGVmaW5pdGlvblByb3BlcnRpZXMpO1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVSZXF1ZXN0KGxpbmVJdGVtKTtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdC5saW5lSXRlbXMgPSB0aGlzLnN0YXRlcy5jdXJyZW50U3RhdGUgfHwgW107XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QuYXNzZXQgPSB0aGlzLnN0YXRlcy5hc3NldDtcbiAgICBjb25zdCBwcmljaW5nRW5hYmxlZCA9IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQ7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbkFwaVNlcnZpY2VcbiAgICAgIC5jb25maWd1cmVMaW5lSXRlbSh7IGNvbmZpZ3VyYXRpb25SZXF1ZXN0LCBydW50aW1lTW9kZWwsIHByaWNpbmdFbmFibGVkIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IGxpbmVJdGVtLCBjb250ZXh0LCBjaGFyZ2VzLCBkZWxldGVkTGluZUl0ZW1zIH0pID0+IHtcbiAgICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzOiBjb250ZXh0LnByb3BlcnRpZXMgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KGNoYXJnZXMgPz8ge30pO1xuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAobGluZUl0ZW0gPT4gbGluZUl0ZW0gJiYgdGhpcy5saW5lSXRlbS5uZXh0KGxpbmVJdGVtKSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSB8fCBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKSkpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVxdWVzdChsaW5lSXRlbTogTGluZUl0ZW0pOiBDb25maWd1cmF0aW9uUmVxdWVzdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmVJdGVtLFxuICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgc3RlcDogIXRoaXMubGluZUl0ZW0udmFsdWUgPyBSdW50aW1lU3RlcC5TVEFSVCA6IFJ1bnRpbWVTdGVwLlVQREFURSxcbiAgICAgIGF0dHJpYnV0ZURvbWFpbk1vZGU6ICdBTEwnLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCkgYXMgQ29uZmlndXJhdGlvbkNvbnRleHQsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDb25maXJtYXRpb25Db21wb25lbnQsIHtcbiAgICAgICAgZGlzbWlzc2FibGVNYXNrOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgc2hvd0hlYWRlcjogdHJ1ZSxcbiAgICAgICAgaGVhZGVyOiBgSW5hY3RpdmUgUHJvZHVjdHMgaW4gUXVvdGVgLFxuICAgICAgICB3aWR0aDogJzQ0MHB4JyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGNvbmZpcm1hdGlvbkNvbmZpZzoge1xuICAgICAgICAgICAgdGl0bGU6ICcgJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBxdW90ZSBjb250YWlucyBpbmFjdGl2ZSBwcm9kdWN0cy4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZW0/JyxcbiAgICAgICAgICAgIHN1Ym1pdEJ0bjogJ1JlbW92ZSBwcm9kdWN0cycsXG4gICAgICAgICAgICBjYW5jZWxCdG46ICdCYWNrIHRvIFF1b3RlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5vbkNsb3NlLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcbiAgICAgICAgICB3aW5kb3dbJ1ZFTE9fQkFDS19GTiddLmFwcGx5KG51bGwsIFtjb250ZXh0Py5oZWFkZXJJZCB8fCAnJ10pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBRUwsaUJBQWlCLEdBTWxCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBK0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJL0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFNaEQsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUNVLGNBQTJDLEVBQzNDLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixhQUE0QjtRQUo1QixtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWDlCLFNBQUksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDaEMsV0FBTSxHQUFnQixFQUFFLENBQUM7UUFFekIsYUFBUSxHQUFHLElBQUks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QUFFLEtBQUs7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUEwQjtTQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdDQUFnQztRQUN0QyxJQUFJLENBQUMsYUFBYTthQUNmLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMzQixlQUFlLEVBQUUsS0FBSztZQUN0QixhQUFhLEVBQUUsS0FBSztZQUNwQixRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE1BQU0sRUFBRSw0QkFBNEI7WUFDcEMsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUU7Z0JBQ0osa0JBQWtCLEVBQUU7b0JBQ2xCLEtBQUssRUFBRSxHQUFHO29CQUNWLFdBQVcsRUFBRSxvRUFBb0U7b0JBQ2pGLFNBQVMsRUFBRSxpQkFBaUI7b0JBQzVCLFNBQVMsRUFBRSxlQUFlO2lCQUMzQjthQUNGO1NBQ0YsQ0FBQzthQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsS0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQy9EO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztrSEEzSlUsb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnQHZlbG9jZS9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25Db250ZXh0LFxuICBDb25maWd1cmF0aW9uTW9kZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIExpbmVJdGVtLFxuICBQcmljZVBsYW5DaGFyZ2UsXG4gIFJ1bnRpbWVNb2RlbCxcbiAgVmxXaW5kb3csXG59IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUXVvdGVTdGF0ZXMsIFJ1bnRpbWVTdGVwIH0gZnJvbSAnQHZlbG9jZS9zZGsvcnVudGltZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExpbmVJdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvbGluZS1pdGVtLnR5cGVzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQgfSBmcm9tICcuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuZGVjbGFyZSBjb25zdCB3aW5kb3c6IFZsV2luZG93O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIG1vZGUgPSBDb25maWd1cmF0aW9uTW9kZS5TRUFSQ0g7XG4gIHByaXZhdGUgc3RhdGVzOiBRdW90ZVN0YXRlcyA9IHt9O1xuXG4gIHByaXZhdGUgbGluZUl0ZW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExpbmVJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIGNoYXJnZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4oe30pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5yZXNldCgpO1xuXG4gICAgdGhpcy5zdGF0ZXMgPSB7fTtcbiAgICB0aGlzLmxpbmVJdGVtLm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLmNoYXJnZXMubmV4dCh7fSk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gkKGxpbmVJdGVtOiBMaW5lSXRlbSk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBpZiAoIXRoaXMubGluZUl0ZW0udmFsdWUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgU291cmNlIExpbmVJdGVtIG5vdCBmb3VuZGApKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wID0gbmV3IExpbmVJdGVtV29ya2VyKHRoaXMubGluZUl0ZW0udmFsdWUpLnJlcGxhY2UobGluZUl0ZW0pLmxpO1xuICAgIHRoaXMuc3RhdGVzLmFzc2V0ID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcFxuICAgICAgPyB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldEFzc2V0KHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXApXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZSgpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMuc3VwcHJlc3NUb2FzdE1lc3NhZ2VzKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBib3VuY2UgYmFjayBpZiBjb25maWd1cmF0aW9uIGNhbGwgaGFzIGZhaWxlZFxuICAgICAgICB0aGlzLmxpbmVJdGVtLm5leHQodGhpcy5saW5lSXRlbS52YWx1ZSA/IHsgLi4udGhpcy5saW5lSXRlbS52YWx1ZSB9IDogdW5kZWZpbmVkKTtcblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2gkKGxpbmVJdGVtKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDdXJyZW50U3RhdGVzKHVwZGF0ZTogUGFydGlhbDxRdW90ZVN0YXRlcz4pIHtcbiAgICB0aGlzLnN0YXRlcyA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGVzLFxuICAgICAgLi4udXBkYXRlLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8TGluZUl0ZW0gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFNuYXBzaG90KCk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS52YWx1ZSA/IHsgLi4udGhpcy5saW5lSXRlbS52YWx1ZSB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVNb2RlbCgpOiBSdW50aW1lTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVNb2RlbDtcbiAgfVxuICBwdWJsaWMgZ2V0UnVudGltZUNvbnRleHQoKTogUnVudGltZUNvbnRleHQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlKCk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuZ2V0UnVudGltZUNvbnRleHQoKTtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSB0aGlzLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgIGlmICghcnVudGltZUNvbnRleHQgfHwgIXJ1bnRpbWVNb2RlbCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdSdW50aW1lIGNvbnRleHQvbW9kZWwgbm90IGluaXRpYWxpemVkJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB7XG4gICAgICAuLi4ocnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9KSxcbiAgICAgIC4uLih0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPz8ge30pLFxuICAgIH07XG4gICAgY29uc3QgbGluZUl0ZW0gPSB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wID8/IGdldERlZmF1bHRMaW5lSXRlbShydW50aW1lQ29udGV4dCwgdWlEZWZpbml0aW9uUHJvcGVydGllcyk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0pO1xuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0LmxpbmVJdGVtcyA9IHRoaXMuc3RhdGVzLmN1cnJlbnRTdGF0ZSB8fCBbXTtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdC5hc3NldCA9IHRoaXMuc3RhdGVzLmFzc2V0O1xuICAgIGNvbnN0IHByaWNpbmdFbmFibGVkID0gdWlEZWZpbml0aW9uUHJvcGVydGllcy5wcmljaW5nRW5hYmxlZDtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7IHByb3BlcnRpZXM6IGNvbnRleHQucHJvcGVydGllcyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jaGFyZ2VzLm5leHQoY2hhcmdlcyA/PyB7fSk7XG4gICAgICAgICAgaWYgKGRlbGV0ZWRMaW5lSXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbGluZUl0ZW07XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChsaW5lSXRlbSA9PiBsaW5lSXRlbSAmJiB0aGlzLmxpbmVJdGVtLm5leHQobGluZUl0ZW0pKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PlxuICAgICAgICAgIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yLmVycm9yPy5tZXNzYWdlIHx8IGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpKSksXG4gICAgICAgICksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KGxpbmVJdGVtOiBMaW5lSXRlbSk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSBhcyBDb25maWd1cmF0aW9uQ29udGV4dCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xuICAgICAgICBkaXNtaXNzYWJsZU1hc2s6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICBzaG93SGVhZGVyOiB0cnVlLFxuICAgICAgICBoZWFkZXI6IGBJbmFjdGl2ZSBQcm9kdWN0cyBpbiBRdW90ZWAsXG4gICAgICAgIHdpZHRoOiAnNDQwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY29uZmlybWF0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgICB0aXRsZTogJyAnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHF1b3RlIGNvbnRhaW5zIGluYWN0aXZlIHByb2R1Y3RzLiBEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlbT8nLFxuICAgICAgICAgICAgc3VibWl0QnRuOiAnUmVtb3ZlIHByb2R1Y3RzJyxcbiAgICAgICAgICAgIGNhbmNlbEJ0bjogJ0JhY2sgdG8gUXVvdGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLm9uQ2xvc2Uuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICAgICAgICAgIHdpbmRvd1snVkVMT19CQUNLX0ZOJ10uYXBwbHkobnVsbCwgW2NvbnRleHQ/LmhlYWRlcklkIHx8ICcnXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ export * from './integration.state';
1
2
  export * from './launcher.service';
2
3
  export * from './templates.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXVuY2hlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVtcGxhdGVzLnNlcnZpY2UnO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVncmF0aW9uLnN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF1bmNoZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlcy5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, filter, map } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ const InitAction = { type: 'INIT' };
5
+ const ClearAction = { type: 'CLEAR' };
6
+ export class IntegrationState {
7
+ constructor() {
8
+ this.stateSubj$ = new BehaviorSubject({});
9
+ this.action$ = new BehaviorSubject(InitAction);
10
+ }
11
+ get state$() {
12
+ return this.stateSubj$.asObservable();
13
+ }
14
+ get state() {
15
+ return this.stateSubj$.getValue();
16
+ }
17
+ patchState(update) {
18
+ this.stateSubj$.next(Object.assign(Object.assign({}, this.stateSubj$.getValue()), update));
19
+ }
20
+ dispatch(action) {
21
+ this.action$.next(action);
22
+ }
23
+ listen$(actionType) {
24
+ return this.action$.pipe(filter(action => action.type === actionType), map(action => action.payload));
25
+ }
26
+ listenAll$() {
27
+ return this.action$.asObservable();
28
+ }
29
+ clear() {
30
+ this.stateSubj$.next({});
31
+ this.action$.next(ClearAction);
32
+ }
33
+ }
34
+ IntegrationState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ IntegrationState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, decorators: [{
37
+ type: Injectable,
38
+ args: [{ providedIn: 'root' }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW50ZWdyYXRpb24uc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBT2hFLE1BQU0sVUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3BDLE1BQU0sV0FBVyxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBR3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFbUIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFJLEVBQU8sQ0FBQyxDQUFDO1FBQzdDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBb0IsVUFBVSxDQUFDLENBQUM7S0FpQy9FO0lBL0JDLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxVQUFVLENBQUMsTUFBa0I7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGlDQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUssTUFBTSxFQUFHLENBQUM7SUFDckUsQ0FBQztJQUVNLFFBQVEsQ0FBQyxNQUF5QjtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sT0FBTyxDQUFVLFVBQWtCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLEVBQzVDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUErQixDQUFDLENBQ3RELENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQW1CLENBQUM7SUFDdEQsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFPLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs4R0FsQ1UsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdyYXRpb25BY3Rpb248VCA9IGFueT4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHBheWxvYWQ/OiBUO1xufVxuXG5jb25zdCBJbml0QWN0aW9uID0geyB0eXBlOiAnSU5JVCcgfTtcbmNvbnN0IENsZWFyQWN0aW9uID0geyB0eXBlOiAnQ0xFQVInIH07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25TdGF0ZTxTID0gRGljdGlvbmFyeTxhbnk+PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Uz4oe30gYXMgUyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW50ZWdyYXRpb25BY3Rpb24+KEluaXRBY3Rpb24pO1xuXG4gIHB1YmxpYyBnZXQgc3RhdGUkKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaFN0YXRlKHVwZGF0ZTogUGFydGlhbDxTPik6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTdWJqJC5uZXh0KHsgLi4udGhpcy5zdGF0ZVN1YmokLmdldFZhbHVlKCksIC4uLnVwZGF0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwYXRjaChhY3Rpb246IEludGVncmF0aW9uQWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb24kLm5leHQoYWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW4kPFAgPSBhbnk+KGFjdGlvblR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW50ZWdyYXRpb25BY3Rpb248UD4+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb24kLnBpcGUoXG4gICAgICBmaWx0ZXIoYWN0aW9uID0+IGFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlKSxcbiAgICAgIG1hcChhY3Rpb24gPT4gYWN0aW9uLnBheWxvYWQgYXMgSW50ZWdyYXRpb25BY3Rpb248UD4pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuQWxsJDxUIGV4dGVuZHMgSW50ZWdyYXRpb25BY3Rpb24+KCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbiQuYXNPYnNlcnZhYmxlKCkgYXMgT2JzZXJ2YWJsZTxUPjtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLnN0YXRlU3ViaiQubmV4dCh7fSBhcyBTKTtcbiAgICB0aGlzLmFjdGlvbiQubmV4dChDbGVhckFjdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy90eXBlcy91aS1kZWZpbml0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50RGVmYXVsdE1ldGFkYXRhIH0gZnJvbSAnLi9jb21tb24udHlwZXMnO1xuXG5leHBvcnQgdHlwZSBVSURlZmluaXRpb25UeXBlID0gJ0RFRkFVTFQnIHwgJ0NPTkZJR1VSQVRJT04nO1xuXG5leHBvcnQgdHlwZSBVSURlZmluaXRpb25NZXRhZGF0YSA9IE9taXQ8VUlEZWZpbml0aW9uLCAnY2hpbGRyZW4nPjtcblxuZXhwb3J0IGludGVyZmFjZSBVSURlZmluaXRpb25Qcm9wcyB7XG4gIHJvb3RUeXBlPzogc3RyaW5nO1xuICBwcmljaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIHByaWNlTGlzdD86IHN0cmluZztcbiAgcHJvZHVjdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVJRGVmaW5pdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogVUlEZWZpbml0aW9uVHlwZTtcbiAgY2hpbGRyZW46IFVJRWxlbWVudFtdO1xuICBwcm9wZXJ0aWVzPzogVUlEZWZpbml0aW9uUHJvcHM7XG4gIHByaW1hcnk6IGJvb2xlYW47XG4gIHZlcnNpb246IG51bWJlcjtcbiAgY3JlYXRlZFRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVJRWxlbWVudCB7XG4gIGNoaWxkcmVuOiBVSUVsZW1lbnRbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHNjcmlwdD86IHN0cmluZztcbiAgc3R5bGVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVJRWxlbWVudE1ldGFkYXRhIGV4dGVuZHMgRWxlbWVudERlZmF1bHRNZXRhZGF0YSB7XG4gIGNoaWxkcmVuPzogc3RyaW5nW107XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy90eXBlcy91aS1kZWZpbml0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50RGVmYXVsdE1ldGFkYXRhIH0gZnJvbSAnLi9jb21tb24udHlwZXMnO1xuXG5leHBvcnQgdHlwZSBVSURlZmluaXRpb25UeXBlID0gJ0RFRkFVTFQnIHwgJ0NPTkZJR1VSQVRJT04nO1xuXG5leHBvcnQgdHlwZSBVSURlZmluaXRpb25NZXRhZGF0YSA9IE9taXQ8VUlEZWZpbml0aW9uLCAnY2hpbGRyZW4nPjtcblxuZXhwb3J0IGludGVyZmFjZSBVSURlZmluaXRpb25Qcm9wcyB7XG4gIC8vIEdFTkVSQUxcbiAgc3VwcHJlc3NUb2FzdE1lc3NhZ2VzPzogYm9vbGVhbjtcblxuICAvLyBDT05GSUdVUkFUSU9OXG4gIHJvb3RUeXBlPzogc3RyaW5nO1xuICBwcmljaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIHByaWNlTGlzdD86IHN0cmluZztcbiAgcHJvZHVjdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVJRGVmaW5pdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogVUlEZWZpbml0aW9uVHlwZTtcbiAgY2hpbGRyZW46IFVJRWxlbWVudFtdO1xuICBwcm9wZXJ0aWVzPzogVUlEZWZpbml0aW9uUHJvcHM7XG4gIHByaW1hcnk6IGJvb2xlYW47XG4gIHZlcnNpb246IG51bWJlcjtcbiAgY3JlYXRlZFRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVJRWxlbWVudCB7XG4gIGNoaWxkcmVuOiBVSUVsZW1lbnRbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHNjcmlwdD86IHN0cmluZztcbiAgc3R5bGVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVJRWxlbWVudE1ldGFkYXRhIGV4dGVuZHMgRWxlbWVudERlZmF1bHRNZXRhZGF0YSB7XG4gIGNoaWxkcmVuPzogc3RyaW5nW107XG59XG4iXX0=
@@ -131,4 +131,19 @@ export function stringifyElementMetadata(elementMetadata) {
131
131
  return match.replace(/"/g, '');
132
132
  });
133
133
  }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCxNQUFNLHdCQUF3QixHQUFHLHFEQUFxRCxDQUFDO0FBRXZGLE1BQU0sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUVyQyxZQUFZLE9BQWUsRUFBRSxnQkFBaUM7UUFDNUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFhLEVBQUUsVUFBbUIsRUFBbUIsRUFBRTs7SUFDdkYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFBLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakYsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztLQUN2RDtJQUVELE1BQU0sZUFBZSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztJQUV6RSx1Q0FDSyxlQUFlLEtBQ2xCLElBQUksRUFDSixNQUFNLEVBQUUsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxjQUFjLENBQUMsRUFDakUsUUFBUTtRQUNSLE1BQU0sRUFDTixRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFDbEU7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQXlCLEVBQUUsWUFBcUIsSUFBSSxFQUFhLEVBQUU7SUFDbkcsTUFBTSxVQUFVLEdBQXNCO1FBQ3BDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtRQUNuQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ25CLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztRQUNyQixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDdkIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO1FBQzdCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtRQUN2QixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87UUFDekIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ3BELENBQUM7SUFDRixNQUFNLG9CQUFvQixHQUFHLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWxFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNuRSxNQUFNLElBQUksWUFBWSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksaURBQWlELEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDdEc7SUFFRCxNQUFNLE1BQU0sR0FDVixRQUFRLENBQUMsTUFBTTtRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQ1QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3JCLG9CQUFvQixFQUNwQixzQkFBc0Isd0JBQXdCLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLENBQzdGLENBQ0YsQ0FBQztJQUNKLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvRCxPQUFPO1FBQ0wsTUFBTTtRQUNOLFFBQVE7UUFDUixNQUFNO1FBQ04sUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQ2xGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLGVBQWtDLEVBQXFCLEVBQUU7O0lBQ2hHLE1BQU0sUUFBUSxxQkFBUSxlQUFlLENBQUUsQ0FBQztJQUV4QyxRQUFRO0lBQ1IsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFBLFFBQVEsQ0FBQyxLQUFLLG1DQUFJLEVBQUUsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBK0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRyxJQUFJLEtBQUssRUFBRTtRQUNULFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0tBQ3hCO1NBQU07UUFDTCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7S0FDdkI7SUFFRCxTQUFTO0lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDcEIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBQ3hCO0lBRUQsWUFBWTtJQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1FBQ3ZCLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQztLQUMzQjtJQUVELFNBQVM7SUFDVCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQUEsUUFBUSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDaEYsdUNBQVksR0FBRyxLQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksSUFBRztJQUMxQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDNUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7S0FDMUI7U0FBTTtRQUNMLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztLQUN4QjtJQUVELFVBQVU7SUFDVixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQUEsUUFBUSxDQUFDLE9BQU8sbUNBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDbEYsdUNBQVksR0FBRyxLQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksSUFBRztJQUMxQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxJQUFJLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDOUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDNUI7U0FBTTtRQUNMLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztLQUN6QjtJQUVELFdBQVc7SUFDWCxJQUFJLENBQUMsQ0FBQSxNQUFBLFFBQVEsQ0FBQyxRQUFRLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO1FBQzlCLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztLQUMxQjtJQUVELFdBQVc7SUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUN0QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7S0FDMUI7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQWMsRUFBcUIsRUFBRTs7SUFDMUUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFBLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEUsMkVBQTJFO0lBQzNFLHdCQUF3QixDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFdkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxVQUFVLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxNQUFrQyxFQUFVLEVBQUU7O0lBQ2xHLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBQSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhFLDJFQUEyRTtJQUMzRSx3QkFBd0IsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXZDLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE1BQU0sT0FBTyxtQ0FBUSxJQUFJLFFBQVEsQ0FBQyxVQUFVLGNBQWMsRUFBRSxDQUFDLEVBQUUsR0FBSyxNQUFNLENBQUUsQ0FBQztJQUM3RSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFrQixFQUFpQixFQUFFO0lBQ3BFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBa0IsRUFBVyxFQUFFOztJQUNsRSxPQUFPLE1BQUEsTUFBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLDBDQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUNBQUksS0FBSyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxlQUFrQztJQUN6RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLFVBQVUsS0FBSztRQUNwRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQgeyBJT1BsdWdpbiB9IGZyb20gJy4uL3BsdWdpbnMvaW8ucGx1Z2luJztcbmltcG9ydCB7IEVsZW1lbnRDb25maWcsIEVsZW1lbnRNZXRhZGF0YSwgRUxFTUVOVF9UWVBFLCBVSUVsZW1lbnQsIFVJRWxlbWVudE1ldGFkYXRhLCBVSUVsZW1lbnRNb2RlbCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgRVhQT1JURURfQ0xBU1NfUkVHRVggPSAvZXhwb3J0IGNsYXNzIChcXFMrKS87XG5jb25zdCBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVggPSAvQEVsZW1lbnREZWZpbml0aW9uXFwoKFtcXHNcXFNdKylcXCkoXFxufC4pKmV4cG9ydCBjbGFzcy9nO1xuXG5leHBvcnQgY2xhc3MgVWlCdWlsZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBlbC5zY3JpcHQgJiYgd2luZG93LmF0b2IoZWwuc2NyaXB0KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBlbC50ZW1wbGF0ZSAmJiB3aW5kb3cuYXRvYihlbC50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGVsLnN0eWxlcyAmJiB3aW5kb3cuYXRvYihlbC5zdHlsZXMpO1xuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTY3JpcHQgZG9lc24ndCBoYXZlIGV4cG9ydGVkIGNsYXNzXCIpO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudE1ldGFkYXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQgfHwgJycpO1xuICBjb25zdCBwYXRoID0gKHBhcmVudFBhdGggPyBwYXJlbnRQYXRoICsgJy8nIDogJycpICsgZWxlbWVudE1ldGFkYXRhLm5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbGVtZW50TWV0YWRhdGEsXG4gICAgcGF0aCxcbiAgICBzY3JpcHQ6IHNjcmlwdD8ucmVwbGFjZShNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgsICdleHBvcnQgY2xhc3MnKSxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IGVsLmNoaWxkcmVuLm1hcChjaGlsZCA9PiBlbGVtZW50VG9NZXRhZGF0YShjaGlsZCwgcGF0aCkpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhVG9FbGVtZW50ID0gKG1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEsIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IHRydWUpOiBVSUVsZW1lbnQgPT4ge1xuICBjb25zdCBlbE1ldGFkYXRhOiBVSUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgICBuYW1lOiBtZXRhZGF0YS5uYW1lLFxuICAgIGlzU2hhcmVkOiBtZXRhZGF0YS5pc1NoYXJlZCxcbiAgICB0eXBlOiBtZXRhZGF0YS50eXBlLFxuICAgIG1vZGVsOiBtZXRhZGF0YS5tb2RlbCxcbiAgICBtb2R1bGU6IG1ldGFkYXRhLm1vZHVsZSxcbiAgICByZWZlcmVuY2U6IG1ldGFkYXRhLnJlZmVyZW5jZSxcbiAgICBpbnB1dHM6IG1ldGFkYXRhLmlucHV0cyxcbiAgICBvdXRwdXRzOiBtZXRhZGF0YS5vdXRwdXRzLFxuICAgIGNoaWxkcmVuOiBtZXRhZGF0YS5jaGlsZHJlbi5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSxcbiAgfTtcbiAgY29uc3Qgbm9ybWFsaXplZEVsTWV0YWRhdGEgPSBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEoZWxNZXRhZGF0YSk7XG5cbiAgaWYgKCFtZXRhZGF0YS5zY3JpcHQgfHwgIUVYUE9SVEVEX0NMQVNTX1JFR0VYLnRlc3QobWV0YWRhdGEuc2NyaXB0KSkge1xuICAgIHRocm93IG5ldyBVaUJ1aWxkRXJyb3IoYCcke21ldGFkYXRhLm5hbWV9JyBjb21wb25lbnQgc2NyaXB0IGlzIG1pc3NpbmcgYW4gZXhwb3J0ZWQgY2xhc3NgLCBtZXRhZGF0YSk7XG4gIH1cblxuICBjb25zdCBzY3JpcHQgPVxuICAgIG1ldGFkYXRhLnNjcmlwdCAmJlxuICAgIHdpbmRvdy5idG9hKFxuICAgICAgbWV0YWRhdGEuc2NyaXB0LnJlcGxhY2UoXG4gICAgICAgIEVYUE9SVEVEX0NMQVNTX1JFR0VYLFxuICAgICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgICApLFxuICAgICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gbWV0YWRhdGEudGVtcGxhdGUgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEudGVtcGxhdGUpO1xuICBjb25zdCBzdHlsZXMgPSBtZXRhZGF0YS5zdHlsZXMgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEuc3R5bGVzKTtcblxuICByZXR1cm4ge1xuICAgIHNjcmlwdCxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IHJlY3Vyc2l2ZSA/IG1ldGFkYXRhLmNoaWxkcmVuLm1hcChtZXRhID0+IG1ldGFkYXRhVG9FbGVtZW50KG1ldGEpKSA6IFtdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZUVsZW1lbnRNZXRhZGF0YSA9IChlbGVtZW50TWV0YWRhdGE6IFVJRWxlbWVudE1ldGFkYXRhKTogVUlFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IHsgLi4uZWxlbWVudE1ldGFkYXRhIH07XG5cbiAgLy8gbW9kZWxcbiAgY29uc3QgeyBsaW5lSXRlbSwgcGF0aCB9ID0gbWV0YWRhdGEubW9kZWwgPz8ge307XG4gIGNvbnN0IG1vZGVsOiBVSUVsZW1lbnRNb2RlbCB8IHVuZGVmaW5lZCA9IGxpbmVJdGVtID8geyBsaW5lSXRlbSB9IDogcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcpOiBVSUVsZW1lbnRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICByZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dGVuZEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZywgZXh0ZW5kOiBQYXJ0aWFsPFVJRWxlbWVudE1ldGFkYXRhPik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICBpZiAoIW1ldGFkYXRhU3RyaW5nKSB7XG4gICAgcmV0dXJuIHNjcmlwdDtcbiAgfVxuXG4gIGNvbnN0IHVwZGF0ZWQgPSB7IC4uLm5ldyBGdW5jdGlvbihgcmV0dXJuICR7bWV0YWRhdGFTdHJpbmd9YCkoKSwgLi4uZXh0ZW5kIH07XG4gIHJldHVybiBzY3JpcHQucmVwbGFjZShtZXRhZGF0YVN0cmluZywgc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKHVwZGF0ZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50Q29uZmlnID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IEVsZW1lbnRDb25maWcgPT4ge1xuICByZXR1cm4gQ09ORklHW3R5cGVdO1xufTtcblxuZXhwb3J0IGNvbnN0IGRvZXNFbGVtZW50U3VwcG9ydElPID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gZ2V0RWxlbWVudENvbmZpZyh0eXBlKS5wbHVnaW5zPy5pbmNsdWRlcyhJT1BsdWdpbikgPz8gZmFsc2U7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKGVsZW1lbnRNZXRhZGF0YTogVUlFbGVtZW50TWV0YWRhdGEpIHtcbiAgY29uc3QgY2xlYW5lZCA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRNZXRhZGF0YSwgbnVsbCwgMik7XG5cbiAgcmV0dXJuIGNsZWFuZWQucmVwbGFjZSgvXltcXHQgXSpcIlteOlxcblxccl0rKD88IVxcXFwpXCI6L2dtLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gbWF0Y2gucmVwbGFjZSgvXCIvZywgJycpO1xuICB9KTtcbn1cbiJdfQ==
134
+ export const isValidScript = (script) => {
135
+ var _a;
136
+ if (!script) {
137
+ return false;
138
+ }
139
+ const exportedClassName = script && ((_a = EXPORTED_CLASS_REGEX.exec(script)) !== null && _a !== void 0 ? _a : [])[1];
140
+ if (!exportedClassName) {
141
+ return false;
142
+ }
143
+ const meta = extractElementMetadata(script);
144
+ if (!meta.name || !meta.type) {
145
+ return false;
146
+ }
147
+ return true;
148
+ };
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCxNQUFNLHdCQUF3QixHQUFHLHFEQUFxRCxDQUFDO0FBRXZGLE1BQU0sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUVyQyxZQUFZLE9BQWUsRUFBRSxnQkFBaUM7UUFDNUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFhLEVBQUUsVUFBbUIsRUFBbUIsRUFBRTs7SUFDdkYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFBLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakYsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztLQUN2RDtJQUVELE1BQU0sZUFBZSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztJQUV6RSx1Q0FDSyxlQUFlLEtBQ2xCLElBQUksRUFDSixNQUFNLEVBQUUsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxjQUFjLENBQUMsRUFDakUsUUFBUTtRQUNSLE1BQU0sRUFDTixRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFDbEU7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQXlCLEVBQUUsWUFBcUIsSUFBSSxFQUFhLEVBQUU7SUFDbkcsTUFBTSxVQUFVLEdBQXNCO1FBQ3BDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtRQUNuQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ25CLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztRQUNyQixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDdkIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO1FBQzdCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtRQUN2QixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87UUFDekIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ3BELENBQUM7SUFDRixNQUFNLG9CQUFvQixHQUFHLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWxFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNuRSxNQUFNLElBQUksWUFBWSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksaURBQWlELEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDdEc7SUFFRCxNQUFNLE1BQU0sR0FDVixRQUFRLENBQUMsTUFBTTtRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQ1QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3JCLG9CQUFvQixFQUNwQixzQkFBc0Isd0JBQXdCLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLENBQzdGLENBQ0YsQ0FBQztJQUNKLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvRCxPQUFPO1FBQ0wsTUFBTTtRQUNOLFFBQVE7UUFDUixNQUFNO1FBQ04sUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQ2xGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLGVBQWtDLEVBQXFCLEVBQUU7O0lBQ2hHLE1BQU0sUUFBUSxxQkFBUSxlQUFlLENBQUUsQ0FBQztJQUV4QyxRQUFRO0lBQ1IsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFBLFFBQVEsQ0FBQyxLQUFLLG1DQUFJLEVBQUUsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBK0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRyxJQUFJLEtBQUssRUFBRTtRQUNULFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0tBQ3hCO1NBQU07UUFDTCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7S0FDdkI7SUFFRCxTQUFTO0lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDcEIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBQ3hCO0lBRUQsWUFBWTtJQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1FBQ3ZCLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQztLQUMzQjtJQUVELFNBQVM7SUFDVCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQUEsUUFBUSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDaEYsdUNBQVksR0FBRyxLQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksSUFBRztJQUMxQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDNUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7S0FDMUI7U0FBTTtRQUNMLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztLQUN4QjtJQUVELFVBQVU7SUFDVixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQUEsUUFBUSxDQUFDLE9BQU8sbUNBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDbEYsdUNBQVksR0FBRyxLQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksSUFBRztJQUMxQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxJQUFJLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDOUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDNUI7U0FBTTtRQUNMLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztLQUN6QjtJQUVELFdBQVc7SUFDWCxJQUFJLENBQUMsQ0FBQSxNQUFBLFFBQVEsQ0FBQyxRQUFRLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO1FBQzlCLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztLQUMxQjtJQUVELFdBQVc7SUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUN0QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7S0FDMUI7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQWMsRUFBcUIsRUFBRTs7SUFDMUUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFBLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEUsMkVBQTJFO0lBQzNFLHdCQUF3QixDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFdkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxVQUFVLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxNQUFrQyxFQUFVLEVBQUU7O0lBQ2xHLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBQSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhFLDJFQUEyRTtJQUMzRSx3QkFBd0IsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXZDLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE1BQU0sT0FBTyxtQ0FBUSxJQUFJLFFBQVEsQ0FBQyxVQUFVLGNBQWMsRUFBRSxDQUFDLEVBQUUsR0FBSyxNQUFNLENBQUUsQ0FBQztJQUM3RSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFrQixFQUFpQixFQUFFO0lBQ3BFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBa0IsRUFBVyxFQUFFOztJQUNsRSxPQUFPLE1BQUEsTUFBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLDBDQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUNBQUksS0FBSyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxlQUFrQztJQUN6RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLFVBQVUsS0FBSztRQUNwRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWUsRUFBVyxFQUFFOztJQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBQSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUN0QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxJQUFJLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQgeyBJT1BsdWdpbiB9IGZyb20gJy4uL3BsdWdpbnMvaW8ucGx1Z2luJztcbmltcG9ydCB7IEVsZW1lbnRDb25maWcsIEVsZW1lbnRNZXRhZGF0YSwgRUxFTUVOVF9UWVBFLCBVSUVsZW1lbnQsIFVJRWxlbWVudE1ldGFkYXRhLCBVSUVsZW1lbnRNb2RlbCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgRVhQT1JURURfQ0xBU1NfUkVHRVggPSAvZXhwb3J0IGNsYXNzIChcXFMrKS87XG5jb25zdCBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVggPSAvQEVsZW1lbnREZWZpbml0aW9uXFwoKFtcXHNcXFNdKylcXCkoXFxufC4pKmV4cG9ydCBjbGFzcy9nO1xuXG5leHBvcnQgY2xhc3MgVWlCdWlsZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBlbC5zY3JpcHQgJiYgd2luZG93LmF0b2IoZWwuc2NyaXB0KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBlbC50ZW1wbGF0ZSAmJiB3aW5kb3cuYXRvYihlbC50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGVsLnN0eWxlcyAmJiB3aW5kb3cuYXRvYihlbC5zdHlsZXMpO1xuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTY3JpcHQgZG9lc24ndCBoYXZlIGV4cG9ydGVkIGNsYXNzXCIpO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudE1ldGFkYXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQgfHwgJycpO1xuICBjb25zdCBwYXRoID0gKHBhcmVudFBhdGggPyBwYXJlbnRQYXRoICsgJy8nIDogJycpICsgZWxlbWVudE1ldGFkYXRhLm5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbGVtZW50TWV0YWRhdGEsXG4gICAgcGF0aCxcbiAgICBzY3JpcHQ6IHNjcmlwdD8ucmVwbGFjZShNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgsICdleHBvcnQgY2xhc3MnKSxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IGVsLmNoaWxkcmVuLm1hcChjaGlsZCA9PiBlbGVtZW50VG9NZXRhZGF0YShjaGlsZCwgcGF0aCkpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhVG9FbGVtZW50ID0gKG1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEsIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IHRydWUpOiBVSUVsZW1lbnQgPT4ge1xuICBjb25zdCBlbE1ldGFkYXRhOiBVSUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgICBuYW1lOiBtZXRhZGF0YS5uYW1lLFxuICAgIGlzU2hhcmVkOiBtZXRhZGF0YS5pc1NoYXJlZCxcbiAgICB0eXBlOiBtZXRhZGF0YS50eXBlLFxuICAgIG1vZGVsOiBtZXRhZGF0YS5tb2RlbCxcbiAgICBtb2R1bGU6IG1ldGFkYXRhLm1vZHVsZSxcbiAgICByZWZlcmVuY2U6IG1ldGFkYXRhLnJlZmVyZW5jZSxcbiAgICBpbnB1dHM6IG1ldGFkYXRhLmlucHV0cyxcbiAgICBvdXRwdXRzOiBtZXRhZGF0YS5vdXRwdXRzLFxuICAgIGNoaWxkcmVuOiBtZXRhZGF0YS5jaGlsZHJlbi5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSxcbiAgfTtcbiAgY29uc3Qgbm9ybWFsaXplZEVsTWV0YWRhdGEgPSBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEoZWxNZXRhZGF0YSk7XG5cbiAgaWYgKCFtZXRhZGF0YS5zY3JpcHQgfHwgIUVYUE9SVEVEX0NMQVNTX1JFR0VYLnRlc3QobWV0YWRhdGEuc2NyaXB0KSkge1xuICAgIHRocm93IG5ldyBVaUJ1aWxkRXJyb3IoYCcke21ldGFkYXRhLm5hbWV9JyBjb21wb25lbnQgc2NyaXB0IGlzIG1pc3NpbmcgYW4gZXhwb3J0ZWQgY2xhc3NgLCBtZXRhZGF0YSk7XG4gIH1cblxuICBjb25zdCBzY3JpcHQgPVxuICAgIG1ldGFkYXRhLnNjcmlwdCAmJlxuICAgIHdpbmRvdy5idG9hKFxuICAgICAgbWV0YWRhdGEuc2NyaXB0LnJlcGxhY2UoXG4gICAgICAgIEVYUE9SVEVEX0NMQVNTX1JFR0VYLFxuICAgICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgICApLFxuICAgICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gbWV0YWRhdGEudGVtcGxhdGUgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEudGVtcGxhdGUpO1xuICBjb25zdCBzdHlsZXMgPSBtZXRhZGF0YS5zdHlsZXMgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEuc3R5bGVzKTtcblxuICByZXR1cm4ge1xuICAgIHNjcmlwdCxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IHJlY3Vyc2l2ZSA/IG1ldGFkYXRhLmNoaWxkcmVuLm1hcChtZXRhID0+IG1ldGFkYXRhVG9FbGVtZW50KG1ldGEpKSA6IFtdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZUVsZW1lbnRNZXRhZGF0YSA9IChlbGVtZW50TWV0YWRhdGE6IFVJRWxlbWVudE1ldGFkYXRhKTogVUlFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IHsgLi4uZWxlbWVudE1ldGFkYXRhIH07XG5cbiAgLy8gbW9kZWxcbiAgY29uc3QgeyBsaW5lSXRlbSwgcGF0aCB9ID0gbWV0YWRhdGEubW9kZWwgPz8ge307XG4gIGNvbnN0IG1vZGVsOiBVSUVsZW1lbnRNb2RlbCB8IHVuZGVmaW5lZCA9IGxpbmVJdGVtID8geyBsaW5lSXRlbSB9IDogcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcpOiBVSUVsZW1lbnRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICByZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dGVuZEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZywgZXh0ZW5kOiBQYXJ0aWFsPFVJRWxlbWVudE1ldGFkYXRhPik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICBpZiAoIW1ldGFkYXRhU3RyaW5nKSB7XG4gICAgcmV0dXJuIHNjcmlwdDtcbiAgfVxuXG4gIGNvbnN0IHVwZGF0ZWQgPSB7IC4uLm5ldyBGdW5jdGlvbihgcmV0dXJuICR7bWV0YWRhdGFTdHJpbmd9YCkoKSwgLi4uZXh0ZW5kIH07XG4gIHJldHVybiBzY3JpcHQucmVwbGFjZShtZXRhZGF0YVN0cmluZywgc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKHVwZGF0ZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50Q29uZmlnID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IEVsZW1lbnRDb25maWcgPT4ge1xuICByZXR1cm4gQ09ORklHW3R5cGVdO1xufTtcblxuZXhwb3J0IGNvbnN0IGRvZXNFbGVtZW50U3VwcG9ydElPID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gZ2V0RWxlbWVudENvbmZpZyh0eXBlKS5wbHVnaW5zPy5pbmNsdWRlcyhJT1BsdWdpbikgPz8gZmFsc2U7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKGVsZW1lbnRNZXRhZGF0YTogVUlFbGVtZW50TWV0YWRhdGEpIHtcbiAgY29uc3QgY2xlYW5lZCA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRNZXRhZGF0YSwgbnVsbCwgMik7XG5cbiAgcmV0dXJuIGNsZWFuZWQucmVwbGFjZSgvXltcXHQgXSpcIlteOlxcblxccl0rKD88IVxcXFwpXCI6L2dtLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gbWF0Y2gucmVwbGFjZSgvXCIvZywgJycpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRTY3JpcHQgPSAoc2NyaXB0Pzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghc2NyaXB0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBtZXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQpO1xuICBpZiAoIW1ldGEubmFtZSB8fCAhbWV0YS50eXBlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIl19