@veloceapps/sdk 6.0.0-5 → 6.0.0-7
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/veloceapps-sdk-cms.umd.js +1 -0
- package/bundles/veloceapps-sdk-cms.umd.js.map +1 -1
- package/bundles/veloceapps-sdk-core.umd.js +18 -0
- package/bundles/veloceapps-sdk-core.umd.js.map +1 -1
- package/cms/vendor-map.d.ts +2 -1
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +3 -1
- package/esm2015/cms/vendor-map.js +3 -2
- package/esm2015/core/modules/configuration/services/configuration.service.js +1 -1
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +8 -1
- package/fesm2015/veloceapps-sdk-cms.js +2 -1
- package/fesm2015/veloceapps-sdk-cms.js.map +1 -1
- package/fesm2015/veloceapps-sdk-core.js +7 -0
- package/fesm2015/veloceapps-sdk-core.js.map +1 -1
- package/package.json +1 -1
package/cms/vendor-map.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as angularCore from '@angular/core';
|
2
2
|
import * as angularForms from '@angular/forms';
|
3
|
-
import { CatalogApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService } from '@veloceapps/api';
|
3
|
+
import { CatalogApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService, ShoppingCartSettingsApiService } from '@veloceapps/api';
|
4
4
|
import { ConfigurationService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService } from '@veloceapps/sdk/core';
|
5
5
|
import * as lodash from 'lodash';
|
6
6
|
import * as rxjs from 'rxjs';
|
@@ -704,6 +704,7 @@ export declare const vendorMap: {
|
|
704
704
|
DeltaApiService: typeof DeltaApiService;
|
705
705
|
PicklistsApiService: typeof PicklistsApiService;
|
706
706
|
PriceApiService: typeof PriceApiService;
|
707
|
+
ShoppingCartSettingsApiService: typeof ShoppingCartSettingsApiService;
|
707
708
|
};
|
708
709
|
};
|
709
710
|
export declare type VendorMap = typeof vendorMap;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ProceduresApiService } from '@veloceapps/api';
|
2
|
-
import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, QuoteDraft } from '@veloceapps/core';
|
2
|
+
import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, MetricRule, QuoteDraft } from '@veloceapps/core';
|
3
3
|
import { Dictionary } from 'lodash';
|
4
4
|
import { Observable } from 'rxjs';
|
5
5
|
import { ContextService, QuoteDraftService } from '../../../services';
|
@@ -28,8 +28,10 @@ export declare class FlowConfigurationService {
|
|
28
28
|
getSnapshot(): LineItem[];
|
29
29
|
get charges$(): Observable<Dictionary<Charge>>;
|
30
30
|
get pricePlans$(): Observable<Dictionary<CompiledPricePlan>>;
|
31
|
+
get activeMetrics$(): Observable<MetricRule[]>;
|
31
32
|
get chargesSnapshot(): Dictionary<Charge>;
|
32
33
|
get pricePlansSnapshot(): Dictionary<CompiledPricePlan>;
|
34
|
+
get activeMetricsSnapshot(): MetricRule[];
|
33
35
|
get contextSnapshot(): ConfigurationContext;
|
34
36
|
get context$(): Observable<ConfigurationContext>;
|
35
37
|
private handleErrorAndBounceBack;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as angularCore from '@angular/core';
|
2
2
|
import * as angularForms from '@angular/forms';
|
3
|
-
import { CatalogApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService, } from '@veloceapps/api';
|
3
|
+
import { CatalogApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService, ShoppingCartSettingsApiService, } from '@veloceapps/api';
|
4
4
|
import { ConfigurationService, FlowConfigurationService, lineItemUtils, LineItemWorker, ProductImagesService, QuoteDraftService, } from '@veloceapps/sdk/core';
|
5
5
|
import * as lodash from 'lodash';
|
6
6
|
import * as rxjs from 'rxjs';
|
@@ -27,8 +27,9 @@ const VELOCE_LIBS = {
|
|
27
27
|
DeltaApiService,
|
28
28
|
PicklistsApiService,
|
29
29
|
PriceApiService,
|
30
|
+
ShoppingCartSettingsApiService,
|
30
31
|
},
|
31
32
|
};
|
32
33
|
const VELOCE_LIBS_BACKWARDS_COMPATIBLE = Object.entries(VELOCE_LIBS).reduce((trunk, [key, value]) => (Object.assign(Object.assign({}, trunk), { [key.replace('@veloceapps/', '@veloce/')]: value })), {});
|
33
34
|
export const vendorMap = Object.assign(Object.assign(Object.assign({}, VELOCE_LIBS), VELOCE_LIBS_BACKWARDS_COMPATIBLE), { '@angular/core': angularCore, '@angular/forms': angularForms, rxjs: rxjs, 'rxjs/operators': rxjsOperators, lodash: lodash });
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy92ZW5kb3ItbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxXQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUMzQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsRUFDZixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLDhCQUE4QixHQUMvQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGlCQUFpQixHQUNsQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sS0FBSyxhQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxLQUFLLGtCQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLHNCQUFzQixrQkFDcEIsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsY0FBYztRQUNkLG9CQUFvQixJQUNqQixhQUFhLENBQ2pCO0lBQ0QscUJBQXFCLGdEQUNoQixrQkFBa0IsR0FDbEIsVUFBVSxLQUNiLGdCQUFnQjtRQUNoQixnQkFBZ0IsR0FDakI7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLDJCQUEyQjtRQUMzQiw0QkFBNEI7UUFDNUIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZiw4QkFBOEI7S0FDL0I7Q0FDRixDQUFDO0FBRUYsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FDekUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLGlDQUFNLEtBQUssS0FBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFHLEVBQ3pGLEVBQUUsQ0FDSCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxpREFDakIsV0FBVyxHQUdYLGdDQUFnQyxLQUVuQyxlQUFlLEVBQUUsV0FBVyxFQUM1QixnQkFBZ0IsRUFBRSxZQUFZLEVBQzlCLElBQUksRUFBRSxJQUFJLEVBQ1YsZ0JBQWdCLEVBQUUsYUFBYSxFQUMvQixNQUFNLEVBQUUsTUFBTSxHQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhbmd1bGFyQ29yZSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGFuZ3VsYXJGb3JtcyBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBDYXRhbG9nQXBpU2VydmljZSxcbiAgRGVsdGFBcGlTZXJ2aWNlLFxuICBEb2N1bWVudEF0dGFjaG1lbnRBcGlTZXJ2aWNlLFxuICBEb2N1bWVudFRlbXBsYXRlc0FwaVNlcnZpY2UsXG4gIFBpY2tsaXN0c0FwaVNlcnZpY2UsXG4gIFByaWNlQXBpU2VydmljZSxcbiAgUXVvdGVBcGlTZXJ2aWNlLFxuICBSYW1wQXBpU2VydmljZSxcbiAgU2FsZXNmb3JjZUFwaVNlcnZpY2UsXG4gIFNob3BwaW5nQ2FydFNldHRpbmdzQXBpU2VydmljZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsXG4gIGxpbmVJdGVtVXRpbHMsXG4gIExpbmVJdGVtV29ya2VyLFxuICBQcm9kdWN0SW1hZ2VzU2VydmljZSxcbiAgUXVvdGVEcmFmdFNlcnZpY2UsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCAqIGFzIGxvZGFzaCBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICogYXMgcnhqcyBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHJ4anNPcGVyYXRvcnMgZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgY21zQWN0aW9ucyBmcm9tICcuL2Ntcy5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGNtc0luamVjdGlvblRva2VucyBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJy4vc2VydmljZXMvaW50ZWdyYXRpb24uc3RhdGUnO1xuaW1wb3J0IHsgVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuXG5jb25zdCBWRUxPQ0VfTElCUyA9IHtcbiAgJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJzoge1xuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIEZsb3dDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBMaW5lSXRlbVdvcmtlcixcbiAgICBQcm9kdWN0SW1hZ2VzU2VydmljZSxcbiAgICAuLi5saW5lSXRlbVV0aWxzLFxuICB9LFxuICAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc6IHtcbiAgICAuLi5jbXNJbmplY3Rpb25Ub2tlbnMsXG4gICAgLi4uY21zQWN0aW9ucyxcbiAgICBUZW1wbGF0ZXNTZXJ2aWNlLFxuICAgIEludGVncmF0aW9uU3RhdGUsXG4gIH0sXG4gICdAdmVsb2NlYXBwcy9hcGknOiB7XG4gICAgU2FsZXNmb3JjZUFwaVNlcnZpY2UsXG4gICAgUXVvdGVBcGlTZXJ2aWNlLFxuICAgIERvY3VtZW50VGVtcGxhdGVzQXBpU2VydmljZSxcbiAgICBEb2N1bWVudEF0dGFjaG1lbnRBcGlTZXJ2aWNlLFxuICAgIFJhbXBBcGlTZXJ2aWNlLFxuICAgIENhdGFsb2dBcGlTZXJ2aWNlLFxuICAgIERlbHRhQXBpU2VydmljZSxcbiAgICBQaWNrbGlzdHNBcGlTZXJ2aWNlLFxuICAgIFByaWNlQXBpU2VydmljZSxcbiAgICBTaG9wcGluZ0NhcnRTZXR0aW5nc0FwaVNlcnZpY2UsXG4gIH0sXG59O1xuXG5jb25zdCBWRUxPQ0VfTElCU19CQUNLV0FSRFNfQ09NUEFUSUJMRSA9IE9iamVjdC5lbnRyaWVzKFZFTE9DRV9MSUJTKS5yZWR1Y2UoXG4gICh0cnVuaywgW2tleSwgdmFsdWVdKSA9PiAoeyAuLi50cnVuaywgW2tleS5yZXBsYWNlKCdAdmVsb2NlYXBwcy8nLCAnQHZlbG9jZS8nKV06IHZhbHVlIH0pLFxuICB7fSxcbik7XG5cbmV4cG9ydCBjb25zdCB2ZW5kb3JNYXAgPSB7XG4gIC4uLlZFTE9DRV9MSUJTLFxuXG4gIC8vIFRPRE86IHJlbW92ZSB3aGVuIHByb2plY3RzL2RlbW9zIGFyZSBtaWdyYXRlZCB0byBAdmVsb2NlYXBwcyBvcmdhbml6YXRpb24gbGlicmFyaWVzXG4gIC4uLlZFTE9DRV9MSUJTX0JBQ0tXQVJEU19DT01QQVRJQkxFLFxuXG4gICdAYW5ndWxhci9jb3JlJzogYW5ndWxhckNvcmUsXG4gICdAYW5ndWxhci9mb3Jtcyc6IGFuZ3VsYXJGb3JtcyxcbiAgcnhqczogcnhqcyxcbiAgJ3J4anMvb3BlcmF0b3JzJzogcnhqc09wZXJhdG9ycyxcbiAgbG9kYXNoOiBsb2Rhc2gsXG59O1xuXG5leHBvcnQgdHlwZSBWZW5kb3JNYXAgPSB0eXBlb2YgdmVuZG9yTWFwO1xuIl19
|
@@ -170,4 +170,4 @@ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
170
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService, decorators: [{
|
171
171
|
type: Injectable
|
172
172
|
}], ctorParameters: function () { return [{ type: i1.QuoteDraftService }, { type: i2.ConfigurationRuntimeService }, { type: i1.ContextService }, { type: i3.ConfigurationApiService }, { type: i4.MessageService }, { type: i5.DialogService }]; } });
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFFLE9BQU8sRUFJTCxpQkFBaUIsR0FLbEIsTUFBTSxrQkFBa0IsQ0FBQztBQUkxQixPQUFPLEVBQUUsZUFBZSxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUErQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7O0FBTWhELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxpQkFBb0MsRUFDcEMsY0FBMkMsRUFDM0MsY0FBOEIsRUFDOUIsdUJBQWdELEVBQ2hELGNBQThCLEVBQzlCLGFBQTRCO1FBTDVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUJBQWMsR0FBZCxjQUFjLENBQTZCO1FBQzNDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FB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O2FBQ0Y7U0FDRixDQUFDO2FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2tIQTFNVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50LCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7XG4gIENoYXJnZSxcbiAgQ29tcGlsZWRQcmljZVBsYW4sXG4gIENvbmZpZ3VyYXRpb25Db250ZXh0LFxuICBDb25maWd1cmF0aW9uTW9kZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIExpbmVJdGVtLFxuICBSdW50aW1lTW9kZWwsXG4gIFZsV2luZG93LFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFF1b3RlU3RhdGVzLCBSdW50aW1lQ29udGV4dCwgUnVudGltZVN0ZXAgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVdvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RlID0gQ29uZmlndXJhdGlvbk1vZGUuU0VBUkNIO1xuICBwcml2YXRlIHN0YXRlczogUXVvdGVTdGF0ZXMgPSB7fTtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENoYXJnZT4+KHt9KTtcbiAgcHJpdmF0ZSBwcmljZVBsYW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4oe30pO1xuXG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UucmVzZXQoKTtcblxuICAgIHRoaXMuc3RhdGVzID0ge307XG4gICAgdGhpcy5saW5lSXRlbS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5jaGFyZ2VzLm5leHQoe30pO1xuICAgIHRoaXMucHJpY2VQbGFucy5uZXh0KHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCQobGluZUl0ZW06IExpbmVJdGVtKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGlmICghdGhpcy5saW5lSXRlbS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBTb3VyY2UgTGluZUl0ZW0gbm90IGZvdW5kYCkpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXAgPSBuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5saW5lSXRlbS52YWx1ZSkucmVwbGFjZShsaW5lSXRlbSkubGk7XG4gICAgdGhpcy5zdGF0ZXMuYXNzZXQgPSB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wXG4gICAgICA/IHRoaXMucnVudGltZVNlcnZpY2UuZ2V0QXNzZXQodGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlKCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMucnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uUHJvcGVydGllcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dCh0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaCQobGluZUl0ZW0pLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUN1cnJlbnRTdGF0ZXModXBkYXRlOiBQYXJ0aWFsPFF1b3RlU3RhdGVzPik6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVzID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZXMsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZU1vZGVsKCk6IFJ1bnRpbWVNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KCk6IFJ1bnRpbWVDb250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dFNuYXBzaG90KCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlJCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PENoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaWNlUGxhbnMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4+IHtcbiAgICByZXR1cm4gdGhpcy5wcmljZVBsYW5zLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zU25hcHNob3QoKTogRGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4ge1xuICAgIHJldHVybiB0aGlzLnByaWNlUGxhbnMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlKCk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuZ2V0UnVudGltZUNvbnRleHQoKTtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSB0aGlzLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgIGlmICghcnVudGltZUNvbnRleHQgfHwgIXJ1bnRpbWVNb2RlbCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdSdW50aW1lIGNvbnRleHQvbW9kZWwgbm90IGluaXRpYWxpemVkJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB7XG4gICAgICAuLi4ocnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9KSxcbiAgICAgIC4uLih0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPz8ge30pLFxuICAgIH07XG4gICAgY29uc3QgcXR5ID0gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXphdGlvblByb3BzPy5kZWZhdWx0UXR5O1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA/PyBnZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQsIHVpRGVmaW5pdGlvblByb3BlcnRpZXMsIHF0eSk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0pO1xuXG4gICAgY29uc3QgbWFpblByaWNpbmdFbmFibGVkID0gcnVudGltZUNvbnRleHQucHJvcGVydGllcz8uUHJpY2luZ0VuYWJsZWQ7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBtYWluUHJpY2luZ0VuYWJsZWQgPyBtYWluUHJpY2luZ0VuYWJsZWQgPT09ICd0cnVlJyA6IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQ7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIHByaWNlUGxhbnMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGNvbnRleHQgPz8ge30pO1xuICAgICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KGNoYXJnZXMgPz8ge30pO1xuICAgICAgICAgIHRoaXMucHJpY2VQbGFucy5uZXh0KHByaWNlUGxhbnMgPz8ge30pO1xuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAobGluZUl0ZW0gPT4gbGluZUl0ZW0gJiYgdGhpcy5saW5lSXRlbS5uZXh0KGxpbmVJdGVtKSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSB8fCBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKSkpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTdGF0ZXMoe1xuICAgICAgY3VycmVudFN0YXRlOiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXQoeyBwcm9kdWN0SWQsIGRlZmF1bHRRdHk6IHF0eSB9KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJlKCkpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5yZXNldCgpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KGxpbmVJdGVtOiBMaW5lSXRlbSk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICAgIGxpbmVJdGVtczogdGhpcy5zdGF0ZXMuY3VycmVudFN0YXRlIHx8IFtdLFxuICAgICAgYXNzZXQ6IHRoaXMuc3RhdGVzLmFzc2V0LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNob3dJbmFjdGl2ZVByb2R1Y3RzQ29uZmlybWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XG4gICAgICAgIGRpc21pc3NhYmxlTWFzazogZmFsc2UsXG4gICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgICAgIHNob3dIZWFkZXI6IHRydWUsXG4gICAgICAgIGhlYWRlcjogYEluYWN0aXZlIFByb2R1Y3RzIGluIFF1b3RlYCxcbiAgICAgICAgd2lkdGg6ICc0NDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBjb25maXJtYXRpb25Db25maWc6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnICcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICAgICAgICBzdWJtaXRCdG46ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgICAgICAgY2FuY2VsQnRuOiAnQmFjayB0byBRdW90ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sRUFJTCxpQkFBaUIsR0FLbEIsTUFBTSxrQkFBa0IsQ0FBQztBQUkxQixPQUFPLEVBQUUsZUFBZSxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUErQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7O0FBTWhELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxpQkFBb0MsRUFDcEMsY0FBMkMsRUFDM0MsY0FBOEIsRUFDOUIsdUJBQWdELEVBQ2hELGNBQThCLEVBQzlCLGFBQTRCO1FBTDVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUJBQWMsR0FBZCxjQUFjLENBQTZCO1FBQzNDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FB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O2FBQ0Y7U0FDRixDQUFDO2FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2tIQTFNVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50LCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENoYXJnZSxcbiAgQ29tcGlsZWRQcmljZVBsYW4sXG4gIENvbmZpZ3VyYXRpb25Db250ZXh0LFxuICBDb25maWd1cmF0aW9uTW9kZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIExpbmVJdGVtLFxuICBSdW50aW1lTW9kZWwsXG4gIFZsV2luZG93LFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFF1b3RlU3RhdGVzLCBSdW50aW1lQ29udGV4dCwgUnVudGltZVN0ZXAgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVdvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RlID0gQ29uZmlndXJhdGlvbk1vZGUuU0VBUkNIO1xuICBwcml2YXRlIHN0YXRlczogUXVvdGVTdGF0ZXMgPSB7fTtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENoYXJnZT4+KHt9KTtcbiAgcHJpdmF0ZSBwcmljZVBsYW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4oe30pO1xuXG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UucmVzZXQoKTtcblxuICAgIHRoaXMuc3RhdGVzID0ge307XG4gICAgdGhpcy5saW5lSXRlbS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5jaGFyZ2VzLm5leHQoe30pO1xuICAgIHRoaXMucHJpY2VQbGFucy5uZXh0KHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCQobGluZUl0ZW06IExpbmVJdGVtKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGlmICghdGhpcy5saW5lSXRlbS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBTb3VyY2UgTGluZUl0ZW0gbm90IGZvdW5kYCkpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXAgPSBuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5saW5lSXRlbS52YWx1ZSkucmVwbGFjZShsaW5lSXRlbSkubGk7XG4gICAgdGhpcy5zdGF0ZXMuYXNzZXQgPSB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wXG4gICAgICA/IHRoaXMucnVudGltZVNlcnZpY2UuZ2V0QXNzZXQodGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlKCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMucnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uUHJvcGVydGllcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dCh0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaCQobGluZUl0ZW0pLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUN1cnJlbnRTdGF0ZXModXBkYXRlOiBQYXJ0aWFsPFF1b3RlU3RhdGVzPik6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVzID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZXMsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZU1vZGVsKCk6IFJ1bnRpbWVNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KCk6IFJ1bnRpbWVDb250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dFNuYXBzaG90KCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlJCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PENoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaWNlUGxhbnMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4+IHtcbiAgICByZXR1cm4gdGhpcy5wcmljZVBsYW5zLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zU25hcHNob3QoKTogRGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4ge1xuICAgIHJldHVybiB0aGlzLnByaWNlUGxhbnMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlKCk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuZ2V0UnVudGltZUNvbnRleHQoKTtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSB0aGlzLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgIGlmICghcnVudGltZUNvbnRleHQgfHwgIXJ1bnRpbWVNb2RlbCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdSdW50aW1lIGNvbnRleHQvbW9kZWwgbm90IGluaXRpYWxpemVkJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB7XG4gICAgICAuLi4ocnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9KSxcbiAgICAgIC4uLih0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPz8ge30pLFxuICAgIH07XG4gICAgY29uc3QgcXR5ID0gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXphdGlvblByb3BzPy5kZWZhdWx0UXR5O1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA/PyBnZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQsIHVpRGVmaW5pdGlvblByb3BlcnRpZXMsIHF0eSk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0pO1xuXG4gICAgY29uc3QgbWFpblByaWNpbmdFbmFibGVkID0gcnVudGltZUNvbnRleHQucHJvcGVydGllcz8uUHJpY2luZ0VuYWJsZWQ7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBtYWluUHJpY2luZ0VuYWJsZWQgPyBtYWluUHJpY2luZ0VuYWJsZWQgPT09ICd0cnVlJyA6IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQ7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIHByaWNlUGxhbnMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGNvbnRleHQgPz8ge30pO1xuICAgICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KGNoYXJnZXMgPz8ge30pO1xuICAgICAgICAgIHRoaXMucHJpY2VQbGFucy5uZXh0KHByaWNlUGxhbnMgPz8ge30pO1xuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAobGluZUl0ZW0gPT4gbGluZUl0ZW0gJiYgdGhpcy5saW5lSXRlbS5uZXh0KGxpbmVJdGVtKSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSB8fCBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKSkpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTdGF0ZXMoe1xuICAgICAgY3VycmVudFN0YXRlOiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXQoeyBwcm9kdWN0SWQsIGRlZmF1bHRRdHk6IHF0eSB9KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJlKCkpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5yZXNldCgpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KGxpbmVJdGVtOiBMaW5lSXRlbSk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICAgIGxpbmVJdGVtczogdGhpcy5zdGF0ZXMuY3VycmVudFN0YXRlIHx8IFtdLFxuICAgICAgYXNzZXQ6IHRoaXMuc3RhdGVzLmFzc2V0LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNob3dJbmFjdGl2ZVByb2R1Y3RzQ29uZmlybWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XG4gICAgICAgIGRpc21pc3NhYmxlTWFzazogZmFsc2UsXG4gICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgICAgIHNob3dIZWFkZXI6IHRydWUsXG4gICAgICAgIGhlYWRlcjogYEluYWN0aXZlIFByb2R1Y3RzIGluIFF1b3RlYCxcbiAgICAgICAgd2lkdGg6ICc0NDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBjb25maXJtYXRpb25Db25maWc6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnICcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICAgICAgICBzdWJtaXRCdG46ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgICAgICAgY2FuY2VsQnRuOiAnQmFjayB0byBRdW90ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
@@ -106,6 +106,9 @@ export class FlowConfigurationService {
|
|
106
106
|
get pricePlans$() {
|
107
107
|
return this.quoteDraftService.quoteDraft$.pipe(map(({ pricePlans }) => pricePlans));
|
108
108
|
}
|
109
|
+
get activeMetrics$() {
|
110
|
+
return this.quoteDraftService.quoteDraft$.pipe(map(({ activeMetrics }) => activeMetrics));
|
111
|
+
}
|
109
112
|
get chargesSnapshot() {
|
110
113
|
var _a, _b;
|
111
114
|
return (_b = (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.charges) !== null && _b !== void 0 ? _b : {};
|
@@ -114,6 +117,10 @@ export class FlowConfigurationService {
|
|
114
117
|
var _a, _b;
|
115
118
|
return (_b = (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.pricePlans) !== null && _b !== void 0 ? _b : {};
|
116
119
|
}
|
120
|
+
get activeMetricsSnapshot() {
|
121
|
+
var _a, _b;
|
122
|
+
return (_b = (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.activeMetrics) !== null && _b !== void 0 ? _b : [];
|
123
|
+
}
|
117
124
|
get contextSnapshot() {
|
118
125
|
return this.contextService.resolve();
|
119
126
|
}
|
@@ -139,4 +146,4 @@ FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
|
|
139
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, decorators: [{
|
140
147
|
type: Injectable
|
141
148
|
}], ctorParameters: function () { return [{ type: i1.ProceduresApiService }, { type: i2.ContextService }, { type: i2.QuoteDraftService }, { type: i3.FlowUpdateService }, { type: i4.ConfigurationService }]; } });
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTW5ELE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsWUFDVSxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGFBQWdDLEVBQ2hDLG9CQUEwQztRQUoxQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ2pELENBQUM7SUFFRyxVQUFVLENBQUMsVUFBc0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDdEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsdUVBQXVFO1lBQ3ZFLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENB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QUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7c0hBL0xVLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9jZWR1cmVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDaGFyZ2UsIENvbXBpbGVkUHJpY2VQbGFuLCBDb25maWd1cmF0aW9uQ29udGV4dCwgTGluZUl0ZW0sIFF1b3RlRHJhZnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IG11bHRpcGx5TGluZUl0ZW1zIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEZsb3dVcGRhdGVQYXJhbXMgfSBmcm9tICcuLi90eXBlcy91cGRhdGUudHlwZXMnO1xuaW1wb3J0IHsgRmxvd1VwZGF0ZVNlcnZpY2UgfSBmcm9tICcuL2Zsb3ctdXBkYXRlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcm9jZWR1cmVzQXBpU2VydmljZTogUHJvY2VkdXJlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1cGRhdGVTZXJ2aWNlOiBGbG93VXBkYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBjYWxjdWxhdGUkKHF1b3RlRHJhZnQ6IFF1b3RlRHJhZnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVzQXBpU2VydmljZS5hcHBseSQocXVvdGVEcmFmdCkucGlwZShcbiAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICAvLyBzb3J0IHRoZSByZXN1bHQgY3VycmVudCBzdGF0ZSBiYXNlZCBvbiB0aGUgcXVvdGUgZHJhZnQgaW5pdGlhbCBzdGF0ZVxuICAgICAgICBjb25zdCBpbml0aWFsU3RhdGVJZHMgPSBxdW90ZURyYWZ0LmluaXRpYWxTdGF0ZS5tYXAobGluZUl0ZW0gPT4gbGluZUl0ZW0uaW50ZWdyYXRpb25JZCk7XG4gICAgICAgIHJlc3VsdC5jdXJyZW50U3RhdGUgPSByZXN1bHQuY3VycmVudFN0YXRlXG4gICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAuc29ydCgoYSwgYikgPT4gaW5pdGlhbFN0YXRlSWRzLmluZGV4T2YoYS5pbnRlZ3JhdGlvbklkKSAtIGluaXRpYWxTdGF0ZUlkcy5pbmRleE9mKGIuaW50ZWdyYXRpb25JZCkpO1xuICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnVwZGF0ZVF1b3RlRHJhZnQocmVzdWx0KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKG5vb3ApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2FsY3VsYXRlKHF1b3RlRHJhZnQ6IFF1b3RlRHJhZnQpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGN1bGF0ZSQocXVvdGVEcmFmdCkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlJCh1cGRhdGVzOiBGbG93VXBkYXRlUGFyYW1zW10pOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRTdGF0ZSA9IGNsb25lRGVlcChxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VydmljZS51cGRhdGUodXBkYXRlZFN0YXRlLCB1cGRhdGVzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRTdGF0ZTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKHVwZGF0ZWRTdGF0ZSA9PiB0aGlzLmNhbGN1bGF0ZSQoeyAuLi5xdW90ZURyYWZ0LCBjdXJyZW50U3RhdGU6IHVwZGF0ZWRTdGF0ZSB9KSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGUkKHVwZGF0ZXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJldmVydCQobGluZUl0ZW1JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgbnVsbD4ge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG4gICAgY29uc3QgaW5pdGlhbEN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuZ2V0SW5pdGlhbEN1cnJlbnRTdGF0ZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuYWN0aXZlQ3VycmVudFN0YXRlO1xuXG4gICAgY29uc3QgY3VycmVudExpbmVJdGVtSW5kZXggPSBjdXJyZW50U3RhdGUuZmluZEluZGV4KCh7IGlkIH0pID0+IGlkID09PSBsaW5lSXRlbUlkKTtcbiAgICBjb25zdCBjdXJyZW50TGluZUl0ZW0gPSBjdXJyZW50U3RhdGVbY3VycmVudExpbmVJdGVtSW5kZXhdO1xuXG4gICAgY29uc3QgaW5pdGlhbExpbmVJdGVtID0gaW5pdGlhbEN1cnJlbnRTdGF0ZS5maW5kKFxuICAgICAgKHsgaW50ZWdyYXRpb25JZCB9KSA9PiBpbnRlZ3JhdGlvbklkID09PSBjdXJyZW50TGluZUl0ZW0/LmludGVncmF0aW9uSWQsXG4gICAgKTtcblxuICAgIGlmICghcXVvdGVEcmFmdCB8fCAhY3VycmVudExpbmVJdGVtIHx8ICFpbml0aWFsTGluZUl0ZW0pIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBjbG9uZURlZXAoY3VycmVudFN0YXRlKTtcbiAgICB1cGRhdGVkU3RhdGUuc3BsaWNlKGN1cnJlbnRMaW5lSXRlbUluZGV4LCAxLCBpbml0aWFsTGluZUl0ZW0pO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZSh1cGRhdGVkU3RhdGUpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmV2ZXJ0KGxpbmVJdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmV2ZXJ0JChsaW5lSXRlbUlkKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUkKGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiBpZHMucmVkdWNlKChyZXN1bHQsIGlkKSA9PiB0aGlzLnVwZGF0ZVNlcnZpY2UuZGVsZXRlKHJlc3VsdCwgaWQpLCBjdXJyZW50U3RhdGUpKSxcbiAgICAgIHN3aXRjaE1hcCh1cGRhdGVkU3RhdGUgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZSQoaWRzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUZXJtJCh0ZXJtOiBMaW5lSXRlbSk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlZFN0YXRlID0gWy4uLnF1b3RlRHJhZnQuY3VycmVudFN0YXRlLCB0ZXJtXTtcblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQoeyAuLi5xdW90ZURyYWZ0LCBjdXJyZW50U3RhdGU6IHVwZGF0ZWRTdGF0ZSB9KSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0NhcnQkKHByb2R1Y3RJZDogc3RyaW5nLCBxdHk/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyZUV4dGVybmFsJChwcm9kdWN0SWQsIHF0eSkucGlwZShcbiAgICAgIG1hcChsaW5lSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRSdW50aW1lTW9kZWwoKTtcbiAgICAgICAgY29uc3Qgc3BsaXQgPSBtb2RlbD8udHlwZXMuZmluZCh0eXBlID0+IHR5cGUubmFtZSA9PT0gbGluZUl0ZW0udHlwZSk/LnNwbGl0ID8/IGZhbHNlO1xuICAgICAgICBjb25zdCBsaW5lSXRlbXMgPSBtdWx0aXBseUxpbmVJdGVtcyhsaW5lSXRlbSwgcXR5ID8/IDEsIHNwbGl0KTtcblxuICAgICAgICByZXR1cm4gWy4uLnF1b3RlRHJhZnQuY3VycmVudFN0YXRlLCAuLi5saW5lSXRlbXNdO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAodXBkYXRlZFN0YXRlID0+IHRoaXMuY2FsY3VsYXRlJCh7IC4uLnF1b3RlRHJhZnQsIGN1cnJlbnRTdGF0ZTogdXBkYXRlZFN0YXRlIH0pKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0JC5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuYWN0aXZlQ3VycmVudFN0YXRlKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTbmFwc2hvdCgpOiBMaW5lSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZT8uY3VycmVudFN0YXRlLnNsaWNlKCkgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxDaGFyZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCQucGlwZShtYXAoKHsgY2hhcmdlcyB9KSA9PiBjaGFyZ2VzKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaWNlUGxhbnMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0JC5waXBlKG1hcCgoeyBwcmljZVBsYW5zIH0pID0+IHByaWNlUGxhbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8Q2hhcmdlPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdD8uY2hhcmdlcyA/PyB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpY2VQbGFuc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5wcmljZVBsYW5zID8/IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0U25hcHNob3QoKTogQ29uZmlndXJhdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCQoKTogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUkKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpIHtcbiAgICByZXR1cm4gPFQ+KHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+IHtcbiAgICAgIHJldHVybiBzb3VyY2UkLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgLy8gYm91bmNlIGJhY2sgaWYgY29uZmlndXJhdGlvbiBjYWxsIGhhcyBmYWlsZWRcbiAgICAgICAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuICAgICAgICAgIGlmIChxdW90ZURyYWZ0KSB7XG4gICAgICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnVwZGF0ZVF1b3RlRHJhZnQocXVvdGVEcmFmdCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxufVxuIl19
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTW5ELE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsWUFDVSxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGFBQWdDLEVBQ2hDLG9CQUEwQztRQUoxQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ2pELENBQUM7SUFFRyxVQUFVLENBQUMsVUFBc0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDdEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsdUVBQXVFO1lBQ3ZFLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hGLE1BQU0sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVk7aUJBQ3RDLEtBQUssRUFBRTtpQkFDUCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTLENBQUMsVUFBc0I7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sT0FBTyxDQUFDLE9BQTJCO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7UUFFckQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoQixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakQsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsaUNBQU0sVUFBVSxLQUFFLFlBQVksRUFBRSxZQUFZLElBQUcsQ0FBQyxFQUN6RixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUM1QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBMkI7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sT0FBTyxDQUFDLFVBQWtCO1FBQy9CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7UUFDckQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM1RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7UUFFL0QsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTNELE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDOUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxhQUFhLE1BQUssZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLGFBQWEsQ0FBQSxDQUN4RSxDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtRQUVELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxZQUFZLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUU5RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2hCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLGlDQUFNLFVBQVUsS0FBRSxZQUFZLEVBQUUsWUFBWSxJQUFHLENBQUMsRUFDL0UsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFDNUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQ2hDLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQWtCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFhO1FBQzFCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7UUFDckQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQztRQUV6RCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFFRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2hCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQzFGLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLGlDQUFNLFVBQVUsS0FBRSxZQUFZLEVBQUUsWUFBWSxJQUFHLENBQUMsRUFDekYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFDNUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQ2hDLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQWE7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQWM7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUVyRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2hCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxpQ0FBTSxVQUFVLEtBQUUsWUFBWSxFQUFFLFlBQVksSUFBRyxDQUFDLEVBQy9FLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQzVDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVUsQ0FBQyxTQUFpQixFQUFFLEdBQVk7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUVyRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFFRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7O1lBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFELE1BQU0sS0FBSyxHQUFHLE1BQUEsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLEtBQUssQ0FBQztZQUNyRixNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxhQUFILEdBQUcsY0FBSCxHQUFHLEdBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRS9ELE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxpQ0FBTSxVQUFVLEtBQUUsWUFBWSxFQUFFLFlBQVksSUFBRyxDQUFDLEVBQ3pGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQzVDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVNLEdBQUc7UUFDUixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUM1QyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLEVBQ3BELFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVzs7UUFDaEIsT0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxZQUFZLENBQUMsS0FBSyxFQUFFLG1DQUFJLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsSUFBVyxlQUFlOztRQUN4QixPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSwwQ0FBRSxPQUFPLG1DQUFJLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7O1FBQzNCLE9BQU8sTUFBQSxNQUFBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLDBDQUFFLFVBQVUsbUNBQUksRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLHFCQUFxQjs7UUFDOUIsT0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsMENBQUUsYUFBYSxtQ0FBSSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLENBQUksT0FBc0IsRUFBaUIsRUFBRTtZQUNsRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFckIsK0NBQStDO2dCQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2dCQUNyRCxJQUFJLFVBQVUsRUFBRTtvQkFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3JEO2dCQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDOztzSEF2TVUsd0JBQXdCOzBIQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2NlZHVyZXNBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IENoYXJnZSwgQ29tcGlsZWRQcmljZVBsYW4sIENvbmZpZ3VyYXRpb25Db250ZXh0LCBMaW5lSXRlbSwgTWV0cmljUnVsZSwgUXVvdGVEcmFmdCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbm9vcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFF1b3RlRHJhZnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgbXVsdGlwbHlMaW5lSXRlbXMgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgRmxvd1VwZGF0ZVBhcmFtcyB9IGZyb20gJy4uL3R5cGVzL3VwZGF0ZS50eXBlcyc7XG5pbXBvcnQgeyBGbG93VXBkYXRlU2VydmljZSB9IGZyb20gJy4vZmxvdy11cGRhdGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93Q29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2NlZHVyZXNBcGlTZXJ2aWNlOiBQcm9jZWR1cmVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIHVwZGF0ZVNlcnZpY2U6IEZsb3dVcGRhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGNhbGN1bGF0ZSQocXVvdGVEcmFmdDogUXVvdGVEcmFmdCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZXNBcGlTZXJ2aWNlLmFwcGx5JChxdW90ZURyYWZ0KS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgIC8vIHNvcnQgdGhlIHJlc3VsdCBjdXJyZW50IHN0YXRlIGJhc2VkIG9uIHRoZSBxdW90ZSBkcmFmdCBpbml0aWFsIHN0YXRlXG4gICAgICAgIGNvbnN0IGluaXRpYWxTdGF0ZUlkcyA9IHF1b3RlRHJhZnQuaW5pdGlhbFN0YXRlLm1hcChsaW5lSXRlbSA9PiBsaW5lSXRlbS5pbnRlZ3JhdGlvbklkKTtcbiAgICAgICAgcmVzdWx0LmN1cnJlbnRTdGF0ZSA9IHJlc3VsdC5jdXJyZW50U3RhdGVcbiAgICAgICAgICAuc2xpY2UoKVxuICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBpbml0aWFsU3RhdGVJZHMuaW5kZXhPZihhLmludGVncmF0aW9uSWQpIC0gaW5pdGlhbFN0YXRlSWRzLmluZGV4T2YoYi5pbnRlZ3JhdGlvbklkKSk7XG4gICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UudXBkYXRlUXVvdGVEcmFmdChyZXN1bHQpO1xuICAgICAgfSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGUocXVvdGVEcmFmdDogUXVvdGVEcmFmdCk6IHZvaWQge1xuICAgIHRoaXMuY2FsY3VsYXRlJChxdW90ZURyYWZ0KS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUkKHVwZGF0ZXM6IEZsb3dVcGRhdGVQYXJhbXNbXSk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZFN0YXRlID0gY2xvbmVEZWVwKHF1b3RlRHJhZnQuY3VycmVudFN0YXRlKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZXJ2aWNlLnVwZGF0ZSh1cGRhdGVkU3RhdGUsIHVwZGF0ZXMpO1xuICAgICAgICByZXR1cm4gdXBkYXRlZFN0YXRlO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAodXBkYXRlZFN0YXRlID0+IHRoaXMuY2FsY3VsYXRlJCh7IC4uLnF1b3RlRHJhZnQsIGN1cnJlbnRTdGF0ZTogdXBkYXRlZFN0YXRlIH0pKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSh1cGRhdGVzOiBGbG93VXBkYXRlUGFyYW1zW10pOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZSQodXBkYXRlcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgcmV2ZXJ0JChsaW5lSXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcbiAgICBjb25zdCBpbml0aWFsQ3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5nZXRJbml0aWFsQ3VycmVudFN0YXRlKCk7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5hY3RpdmVDdXJyZW50U3RhdGU7XG5cbiAgICBjb25zdCBjdXJyZW50TGluZUl0ZW1JbmRleCA9IGN1cnJlbnRTdGF0ZS5maW5kSW5kZXgoKHsgaWQgfSkgPT4gaWQgPT09IGxpbmVJdGVtSWQpO1xuICAgIGNvbnN0IGN1cnJlbnRMaW5lSXRlbSA9IGN1cnJlbnRTdGF0ZVtjdXJyZW50TGluZUl0ZW1JbmRleF07XG5cbiAgICBjb25zdCBpbml0aWFsTGluZUl0ZW0gPSBpbml0aWFsQ3VycmVudFN0YXRlLmZpbmQoXG4gICAgICAoeyBpbnRlZ3JhdGlvbklkIH0pID0+IGludGVncmF0aW9uSWQgPT09IGN1cnJlbnRMaW5lSXRlbT8uaW50ZWdyYXRpb25JZCxcbiAgICApO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0IHx8ICFjdXJyZW50TGluZUl0ZW0gfHwgIWluaXRpYWxMaW5lSXRlbSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRTdGF0ZSA9IGNsb25lRGVlcChjdXJyZW50U3RhdGUpO1xuICAgIHVwZGF0ZWRTdGF0ZS5zcGxpY2UoY3VycmVudExpbmVJdGVtSW5kZXgsIDEsIGluaXRpYWxMaW5lSXRlbSk7XG5cbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKHVwZGF0ZWRTdGF0ZSk7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQoeyAuLi5xdW90ZURyYWZ0LCBjdXJyZW50U3RhdGU6IHVwZGF0ZWRTdGF0ZSB9KSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZXZlcnQobGluZUl0ZW1JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZXZlcnQkKGxpbmVJdGVtSWQpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSQoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuY3VycmVudFN0YXRlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGlkcy5yZWR1Y2UoKHJlc3VsdCwgaWQpID0+IHRoaXMudXBkYXRlU2VydmljZS5kZWxldGUocmVzdWx0LCBpZCksIGN1cnJlbnRTdGF0ZSkpLFxuICAgICAgc3dpdGNoTWFwKHVwZGF0ZWRTdGF0ZSA9PiB0aGlzLmNhbGN1bGF0ZSQoeyAuLi5xdW90ZURyYWZ0LCBjdXJyZW50U3RhdGU6IHVwZGF0ZWRTdGF0ZSB9KSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlJChpZHMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZFRlcm0kKHRlcm06IExpbmVJdGVtKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgbnVsbD4ge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBbLi4ucXVvdGVEcmFmdC5jdXJyZW50U3RhdGUsIHRlcm1dO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FsY3VsYXRlJCh7IC4uLnF1b3RlRHJhZnQsIGN1cnJlbnRTdGF0ZTogdXBkYXRlZFN0YXRlIH0pKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZFRvQ2FydCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlRXh0ZXJuYWwkKHByb2R1Y3RJZCwgcXR5KS5waXBlKFxuICAgICAgbWFwKGxpbmVJdGVtID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgICAgICBjb25zdCBzcGxpdCA9IG1vZGVsPy50eXBlcy5maW5kKHR5cGUgPT4gdHlwZS5uYW1lID09PSBsaW5lSXRlbS50eXBlKT8uc3BsaXQgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IGxpbmVJdGVtcyA9IG11bHRpcGx5TGluZUl0ZW1zKGxpbmVJdGVtLCBxdHkgPz8gMSwgc3BsaXQpO1xuXG4gICAgICAgIHJldHVybiBbLi4ucXVvdGVEcmFmdC5jdXJyZW50U3RhdGUsIC4uLmxpbmVJdGVtc107XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCh1cGRhdGVkU3RhdGUgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8TGluZUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5hY3RpdmVDdXJyZW50U3RhdGUpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFNuYXBzaG90KCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlPy5jdXJyZW50U3RhdGUuc2xpY2UoKSA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlcyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENoYXJnZT4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0JC5waXBlKG1hcCgoeyBjaGFyZ2VzIH0pID0+IGNoYXJnZXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpY2VQbGFucyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUobWFwKCh7IHByaWNlUGxhbnMgfSkgPT4gcHJpY2VQbGFucykpO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVNZXRyaWNzJCgpOiBPYnNlcnZhYmxlPE1ldHJpY1J1bGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUobWFwKCh7IGFjdGl2ZU1ldHJpY3MgfSkgPT4gYWN0aXZlTWV0cmljcykpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxDaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jaGFyZ2VzID8/IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zU25hcHNob3QoKTogRGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ/LnByaWNlUGxhbnMgPz8ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZU1ldHJpY3NTbmFwc2hvdCgpOiBNZXRyaWNSdWxlW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ/LmFjdGl2ZU1ldHJpY3MgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCkge1xuICAgIHJldHVybiA8VD4oc291cmNlJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT4ge1xuICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyBib3VuY2UgYmFjayBpZiBjb25maWd1cmF0aW9uIGNhbGwgaGFzIGZhaWxlZFxuICAgICAgICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG4gICAgICAgICAgaWYgKHF1b3RlRHJhZnQpIHtcbiAgICAgICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UudXBkYXRlUXVvdGVEcmFmdChxdW90ZURyYWZ0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|
@@ -17,7 +17,7 @@ import { ConfigurationService, LineItemWorker, generateLineItem, getAttributeVal
|
|
17
17
|
import * as i1 from '@veloceapps/components';
|
18
18
|
import { LoaderModule } from '@veloceapps/components';
|
19
19
|
import { transform } from '@babel/standalone';
|
20
|
-
import { SalesforceApiService, QuoteApiService, DocumentTemplatesApiService, DocumentAttachmentApiService, RampApiService, CatalogApiService, DeltaApiService, PicklistsApiService, PriceApiService, ApiModule } from '@veloceapps/api';
|
20
|
+
import { SalesforceApiService, QuoteApiService, DocumentTemplatesApiService, DocumentAttachmentApiService, RampApiService, CatalogApiService, DeltaApiService, PicklistsApiService, PriceApiService, ShoppingCartSettingsApiService, ApiModule } from '@veloceapps/api';
|
21
21
|
import * as rxjsOperators from 'rxjs/operators';
|
22
22
|
import * as i3 from 'primeng/api';
|
23
23
|
import { DialogService } from 'primeng/dynamicdialog';
|
@@ -1092,6 +1092,7 @@ const VELOCE_LIBS = {
|
|
1092
1092
|
DeltaApiService,
|
1093
1093
|
PicklistsApiService,
|
1094
1094
|
PriceApiService,
|
1095
|
+
ShoppingCartSettingsApiService,
|
1095
1096
|
},
|
1096
1097
|
};
|
1097
1098
|
const VELOCE_LIBS_BACKWARDS_COMPATIBLE = Object.entries(VELOCE_LIBS).reduce((trunk, [key, value]) => (Object.assign(Object.assign({}, trunk), { [key.replace('@veloceapps/', '@veloce/')]: value })), {});
|