@veloceapps/api 7.0.2-41 → 7.0.2-42

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.
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { ModelTranslatorUtils, } from '@veloceapps/core';
2
+ import { ModelTranslatorUtils, isLegacyUIDefinition, uiDefinitionFromDTO, } from '@veloceapps/core';
3
3
  import { throwError } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
@@ -36,11 +36,16 @@ export class ConfigurationApiService {
36
36
  url: `${this.SERVICE_URL}/${productId}/model` + ((offeringId && `/${offeringId}`) || ''),
37
37
  })
38
38
  .pipe(map(runtimeData => {
39
- runtimeData.uiDefinitions = JSON.parse(runtimeData.uiDefinitionsSource);
40
- runtimeData.uiDefinitions.forEach(uiDefinition => {
41
- ModelTranslatorUtils.toLocalUIDefinition(uiDefinition);
42
- });
43
- return runtimeData;
39
+ return {
40
+ ...runtimeData,
41
+ uiDefinitions: runtimeData.uiDefinitions.map(dto => {
42
+ const uiDefinitionContainer = uiDefinitionFromDTO(dto);
43
+ if (isLegacyUIDefinition(uiDefinitionContainer.source)) {
44
+ ModelTranslatorUtils.toLocalUIDefinition(uiDefinitionContainer.source);
45
+ }
46
+ return uiDefinitionContainer;
47
+ }),
48
+ };
44
49
  }));
45
50
  }
46
51
  getRuntimeDataByModelId(modelId) {
@@ -75,4 +80,4 @@ ConfigurationApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
75
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ConfigurationApiService, decorators: [{
76
81
  type: Injectable
77
82
  }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFNTCxvQkFBb0IsR0FHckIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3JDLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7SUFFRyxDQUFDO0lBRTdDLGlCQUFpQixDQUFDLEVBQ3ZCLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osY0FBYyxHQUtmO1FBQ0MsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQWlCO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksRUFBRSxvQkFBb0I7WUFDMUIsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqQyxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNuQixJQUFJLFlBQVksRUFBRTtnQkFDaEIsT0FBTztvQkFDTCxHQUFHLGNBQWM7b0JBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7aUJBQ3hFLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUFPLGNBQWMsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0seUJBQXlCLENBQUMsU0FBaUIsRUFBRSxVQUFtQjtRQUNyRSxPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLEdBQUcsQ0FBYztZQUNoQixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3pGLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hCLFdBQVcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN4RSxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDL0Msb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVNLHVCQUF1QixDQUFDLE9BQWU7UUFDNUMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQUM7WUFDSCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxhQUFhO1NBQ2pELENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO1lBQy9CLFdBQVcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBa0IsRUFBRSxZQUEwQjtRQUN0RSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BDLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsSUFBSSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxPQUFPLEVBQUU7Z0JBQzdELFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQTJCLENBQUM7YUFDM0Q7U0FDRjtRQUNELE9BQU87WUFDTCxHQUFHLFFBQVE7WUFDWCxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2hGLFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQzs7b0hBaEZVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICBDb25maWd1cmVQcmljZSxcbiAgRG9tYWluVHlwZSxcbiAgTGluZUl0ZW0sXG4gIE1vZGVsVHJhbnNsYXRvclV0aWxzLFxuICBSdW50aW1lRGF0YSxcbiAgUnVudGltZU1vZGVsLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvY29uZmlndXJhdGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25maWd1cmVMaW5lSXRlbSh7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgcnVudGltZU1vZGVsLFxuICAgIHByaWNpbmdFbmFibGVkLFxuICB9OiB7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3Q6IENvbmZpZ3VyYXRpb25SZXF1ZXN0O1xuICAgIHJ1bnRpbWVNb2RlbD86IFJ1bnRpbWVNb2RlbDtcbiAgICBwcmljaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIH0pOiBPYnNlcnZhYmxlPENvbmZpZ3VyZVByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8Q29uZmlndXJlUHJpY2U+KHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0ke3ByaWNpbmdFbmFibGVkID8gJy9wcmljZScgOiAnJ31gLFxuICAgICAgICBib2R5OiBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBlID0+IHRocm93RXJyb3IoZSksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjb25maWd1cmVQcmljZSA9PiB7XG4gICAgICAgICAgaWYgKHJ1bnRpbWVNb2RlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJlUHJpY2UsXG4gICAgICAgICAgICAgIGxpbmVJdGVtOiB0aGlzLnVwZGF0ZVBvcnREb21haW5zKGNvbmZpZ3VyZVByaWNlLmxpbmVJdGVtLCBydW50aW1lTW9kZWwpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyZVByaWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVEYXRhQnlQcm9kdWN0SWQocHJvZHVjdElkOiBzdHJpbmcsIG9mZmVyaW5nSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8UnVudGltZURhdGE+KHtcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke3Byb2R1Y3RJZH0vbW9kZWxgICsgKChvZmZlcmluZ0lkICYmIGAvJHtvZmZlcmluZ0lkfWApIHx8ICcnKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJ1bnRpbWVEYXRhID0+IHtcbiAgICAgICAgICBydW50aW1lRGF0YS51aURlZmluaXRpb25zID0gSlNPTi5wYXJzZShydW50aW1lRGF0YS51aURlZmluaXRpb25zU291cmNlKTtcbiAgICAgICAgICBydW50aW1lRGF0YS51aURlZmluaXRpb25zLmZvckVhY2godWlEZWZpbml0aW9uID0+IHtcbiAgICAgICAgICAgIE1vZGVsVHJhbnNsYXRvclV0aWxzLnRvTG9jYWxVSURlZmluaXRpb24odWlEZWZpbml0aW9uKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcnVudGltZURhdGE7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lRGF0YUJ5TW9kZWxJZChtb2RlbElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vbW9kZWwtdGVzdGAsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocnVudGltZURhdGE6IFJ1bnRpbWVEYXRhKSA9PiB7XG4gICAgICAgICAgcnVudGltZURhdGEudWlEZWZpbml0aW9ucyA9IFtdO1xuICAgICAgICAgIHJldHVybiBydW50aW1lRGF0YTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQb3J0RG9tYWlucyhsaW5lSXRlbTogTGluZUl0ZW0sIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IHR5cGUgPSBydW50aW1lTW9kZWwuY29tcG9uZW50cy5nZXQobGluZUl0ZW0udHlwZSk7XG4gICAgY29uc3QgcG9ydERvbWFpbnMgPSB7IC4uLmxpbmVJdGVtLnBvcnREb21haW5zIH07XG4gICAgZm9yIChjb25zdCBwb3J0IG9mIHR5cGU/LnBvcnRzID8/IFtdKSB7XG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gcG9ydERvbWFpbnNbcG9ydC5uYW1lXTtcbiAgICAgIGlmIChwb3J0RG9tYWluPy5wcm9wZXJ0aWVzPy5bJ2RvbWFpbkNvbXB1dGF0aW9uJ10gPT09ICdmYWxzZScpIHtcbiAgICAgICAgcG9ydERvbWFpbi5kb21haW5UeXBlcyA9IHBvcnQuZG9tYWluVHlwZXMgYXMgRG9tYWluVHlwZVtdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubGluZUl0ZW0sXG4gICAgICBsaW5lSXRlbXM6IGxpbmVJdGVtLmxpbmVJdGVtcz8ubWFwKGkgPT4gdGhpcy51cGRhdGVQb3J0RG9tYWlucyhpLCBydW50aW1lTW9kZWwpKSxcbiAgICAgIHBvcnREb21haW5zLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFNTCxvQkFBb0IsRUFJcEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHckMsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFvQixXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFGL0IsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztJQUVHLENBQUM7SUFFN0MsaUJBQWlCLENBQUMsRUFDdkIsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixjQUFjLEdBS2Y7UUFDQyxPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLEdBQUcsQ0FBaUI7WUFDbkIsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDM0QsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQ2pDLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ25CLElBQUksWUFBWSxFQUFFO2dCQUNoQixPQUFPO29CQUNMLEdBQUcsY0FBYztvQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztpQkFDeEUsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE9BQU8sY0FBYyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxTQUFpQixFQUFFLFVBQW1CO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsR0FBRyxDQUFpQjtZQUNuQixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3pGLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUE4QixXQUFXLENBQUMsRUFBRTtZQUM3QyxPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxhQUFhLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pELE1BQU0scUJBQXFCLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBRXZELElBQUksb0JBQW9CLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQ3RELG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUN4RTtvQkFFRCxPQUFPLHFCQUFxQixDQUFDO2dCQUMvQixDQUFDLENBQUM7YUFDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxPQUFlO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsR0FBRyxDQUFDO1lBQ0gsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sYUFBYTtTQUNqRCxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUMvQixXQUFXLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztZQUMvQixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVPLGlCQUFpQixDQUFDLFFBQWtCLEVBQUUsWUFBMEI7UUFDdEUsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRTtZQUNwQyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssT0FBTyxFQUFFO2dCQUM3RCxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUEyQixDQUFDO2FBQzNEO1NBQ0Y7UUFDRCxPQUFPO1lBQ0wsR0FBRyxRQUFRO1lBQ1gsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNoRixXQUFXO1NBQ1osQ0FBQztJQUNKLENBQUM7O29IQXZGVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZUh0dHBTZXJ2aWNlLFxuICBDb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgQ29uZmlndXJlUHJpY2UsXG4gIERvbWFpblR5cGUsXG4gIExpbmVJdGVtLFxuICBNb2RlbFRyYW5zbGF0b3JVdGlscyxcbiAgUnVudGltZURhdGEsXG4gIFJ1bnRpbWVEYXRhRFRPLFxuICBSdW50aW1lTW9kZWwsXG4gIGlzTGVnYWN5VUlEZWZpbml0aW9uLFxuICB1aURlZmluaXRpb25Gcm9tRFRPLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvY29uZmlndXJhdGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25maWd1cmVMaW5lSXRlbSh7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgcnVudGltZU1vZGVsLFxuICAgIHByaWNpbmdFbmFibGVkLFxuICB9OiB7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3Q6IENvbmZpZ3VyYXRpb25SZXF1ZXN0O1xuICAgIHJ1bnRpbWVNb2RlbD86IFJ1bnRpbWVNb2RlbDtcbiAgICBwcmljaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIH0pOiBPYnNlcnZhYmxlPENvbmZpZ3VyZVByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8Q29uZmlndXJlUHJpY2U+KHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0ke3ByaWNpbmdFbmFibGVkID8gJy9wcmljZScgOiAnJ31gLFxuICAgICAgICBib2R5OiBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBlID0+IHRocm93RXJyb3IoZSksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjb25maWd1cmVQcmljZSA9PiB7XG4gICAgICAgICAgaWYgKHJ1bnRpbWVNb2RlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJlUHJpY2UsXG4gICAgICAgICAgICAgIGxpbmVJdGVtOiB0aGlzLnVwZGF0ZVBvcnREb21haW5zKGNvbmZpZ3VyZVByaWNlLmxpbmVJdGVtLCBydW50aW1lTW9kZWwpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyZVByaWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVEYXRhQnlQcm9kdWN0SWQocHJvZHVjdElkOiBzdHJpbmcsIG9mZmVyaW5nSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8UnVudGltZURhdGFEVE8+KHtcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke3Byb2R1Y3RJZH0vbW9kZWxgICsgKChvZmZlcmluZ0lkICYmIGAvJHtvZmZlcmluZ0lkfWApIHx8ICcnKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwPFJ1bnRpbWVEYXRhRFRPLCBSdW50aW1lRGF0YT4ocnVudGltZURhdGEgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ydW50aW1lRGF0YSxcbiAgICAgICAgICAgIHVpRGVmaW5pdGlvbnM6IHJ1bnRpbWVEYXRhLnVpRGVmaW5pdGlvbnMubWFwKGR0byA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHVpRGVmaW5pdGlvbkNvbnRhaW5lciA9IHVpRGVmaW5pdGlvbkZyb21EVE8oZHRvKTtcblxuICAgICAgICAgICAgICBpZiAoaXNMZWdhY3lVSURlZmluaXRpb24odWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZSkpIHtcbiAgICAgICAgICAgICAgICBNb2RlbFRyYW5zbGF0b3JVdGlscy50b0xvY2FsVUlEZWZpbml0aW9uKHVpRGVmaW5pdGlvbkNvbnRhaW5lci5zb3VyY2UpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHVpRGVmaW5pdGlvbkNvbnRhaW5lcjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lRGF0YUJ5TW9kZWxJZChtb2RlbElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vbW9kZWwtdGVzdGAsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocnVudGltZURhdGE6IFJ1bnRpbWVEYXRhKSA9PiB7XG4gICAgICAgICAgcnVudGltZURhdGEudWlEZWZpbml0aW9ucyA9IFtdO1xuICAgICAgICAgIHJldHVybiBydW50aW1lRGF0YTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQb3J0RG9tYWlucyhsaW5lSXRlbTogTGluZUl0ZW0sIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IHR5cGUgPSBydW50aW1lTW9kZWwuY29tcG9uZW50cy5nZXQobGluZUl0ZW0udHlwZSk7XG4gICAgY29uc3QgcG9ydERvbWFpbnMgPSB7IC4uLmxpbmVJdGVtLnBvcnREb21haW5zIH07XG4gICAgZm9yIChjb25zdCBwb3J0IG9mIHR5cGU/LnBvcnRzID8/IFtdKSB7XG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gcG9ydERvbWFpbnNbcG9ydC5uYW1lXTtcbiAgICAgIGlmIChwb3J0RG9tYWluPy5wcm9wZXJ0aWVzPy5bJ2RvbWFpbkNvbXB1dGF0aW9uJ10gPT09ICdmYWxzZScpIHtcbiAgICAgICAgcG9ydERvbWFpbi5kb21haW5UeXBlcyA9IHBvcnQuZG9tYWluVHlwZXMgYXMgRG9tYWluVHlwZVtdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubGluZUl0ZW0sXG4gICAgICBsaW5lSXRlbXM6IGxpbmVJdGVtLmxpbmVJdGVtcz8ubWFwKGkgPT4gdGhpcy51cGRhdGVQb3J0RG9tYWlucyhpLCBydW50aW1lTW9kZWwpKSxcbiAgICAgIHBvcnREb21haW5zLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -105,6 +105,11 @@ export class ProductModelApiService {
105
105
  return linkedModels;
106
106
  }));
107
107
  }
108
+ /**
109
+ *
110
+ * @deprecated
111
+ * Will be removed in next major release
112
+ */
108
113
  load(id, version) {
109
114
  return forkJoin([this.getModel(id, version), this.getLinkedModels(id, version)]).pipe(map(([model, linkedModels]) => {
110
115
  const container = new ProductModelsContainer(model, linkedModels ?? []);
@@ -229,4 +234,4 @@ ProductModelApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
229
234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductModelApiService, decorators: [{
230
235
  type: Injectable
231
236
  }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxVQUFVLEVBRVYsb0JBQW9CLEVBQ3BCLFVBQVUsRUFHVixzQkFBc0IsR0FFdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdqRCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFlBQW9CLFdBQTRCO1FBQTVCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUYvQixnQkFBVyxHQUFHLFNBQVMsQ0FBQztJQUVVLENBQUM7SUFFN0MsUUFBUSxDQUFDLEtBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsR0FBRyxDQUFDO1lBQ0gsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDckIsSUFBSSxFQUFFLEtBQUs7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUI7U0FDckQsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3JCLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDakM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUEw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QUFRO2dCQUNSLGlCQUFpQjthQUNsQjtZQUNELFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDMUIsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsb0NBQW9DO1NBQzFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBM1FhLGtDQUFXLEdBQUcsR0FBRyxDQUFDO21IQURyQixzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZUh0dHBTZXJ2aWNlLFxuICBFbnRpdHlVdGlsLFxuICBNb2RlbFJlbGVhc2VSZXF1ZXN0LFxuICBNb2RlbFRyYW5zbGF0b3JVdGlscyxcbiAgTW9kZWxVdGlscyxcbiAgUG1sQ29uZmlndXJhdGlvbk1vZGUsXG4gIFByb2R1Y3RNb2RlbCxcbiAgUHJvZHVjdE1vZGVsc0NvbnRhaW5lcixcbiAgUHJvZHVjdE1vZGVsVmVyc2lvbixcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1vZGVsQXBpU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgTUFYX1JFU1VMVFMgPSAyMDA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvbW9kZWxzJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGFkZE1vZGVsKG1vZGVsOiBQcm9kdWN0TW9kZWwpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogdGhpcy5TRVJWSUNFX1VSTCxcbiAgICAgICAgYm9keTogbW9kZWwsXG4gICAgICAgIGVycm9ySGFuZGxlcjogdGhpcy5odHRwU2VydmljZS5oYW5kbGVWYWxpZGF0aW9uRXJyb3IsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZWxlYXNlTW9kZWwobW9kZWw6IE1vZGVsUmVsZWFzZVJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsLmlkfS9yZWxlYXNlYCxcbiAgICAgICAgYm9keTogbW9kZWwsXG4gICAgICAgIGVycm9ySGFuZGxlcjogdGhpcy5odHRwU2VydmljZS5oYW5kbGVWYWxpZGF0aW9uRXJyb3IsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZU1vZGVsKG1vZGVsSWQ6IHN0cmluZywgc3VjY2Vzc0ZuPzogYW55LCBmYWlsdXJlRm4/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfWAsXG4gICAgICAgIGVycm9ySGFuZGxlcjogdGhpcy5odHRwU2VydmljZS5oYW5kbGVWYWxpZGF0aW9uRXJyb3IsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgb2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHN1Y2Nlc3NGbiAmJiBzdWNjZXNzRm4uYXBwbHkoKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGZhaWx1cmVGbiAmJiBmYWlsdXJlRm4uYXBwbHkoKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbFZlcnNpb25zKG1vZGVsSWQ6IHN0cmluZywgY291bnQ6IG51bWJlciA9IDEwMCwgc2tpcDogbnVtYmVyID0gMCk6IE9ic2VydmFibGU8UHJvZHVjdE1vZGVsVmVyc2lvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L3ZlcnNpb25zYCxcbiAgICAgIGJvZHk6IHtcbiAgICAgICAgc2tpcENvdW50OiBza2lwLFxuICAgICAgICBjb3VudDogY291bnQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE1vZGVsKGlkOiBzdHJpbmcsIHZlcnNpb24/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2R1Y3RNb2RlbD4ge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke2lkfWA7XG5cbiAgICBpZiAodmVyc2lvbikge1xuICAgICAgdXJsICs9IGAvdmVyc2lvbnMvJHt2ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE1vZGVscyhza2lwQ291bnQ6IG51bWJlciwgc2VhcmNoVGV4dDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vc2VhcmNoYCxcbiAgICAgIGJvZHk6IHtcbiAgICAgICAgbmFtZVJlZ2V4OiBzZWFyY2hUZXh0LFxuICAgICAgICBza2lwQ291bnQ6IHNraXBDb3VudC50b1N0cmluZygpLFxuICAgICAgICBjb3VudDogUHJvZHVjdE1vZGVsQXBpU2VydmljZS5NQVhfUkVTVUxUUyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkTW9kZWxzKGlkOiBzdHJpbmcsIHZlcnNpb24/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2R1Y3RNb2RlbFtdPiB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7aWR9YDtcblxuICAgIGlmICh2ZXJzaW9uKSB7XG4gICAgICB1cmwgKz0gYC92ZXJzaW9ucy8ke3ZlcnNpb259YDtcbiAgICB9XG5cbiAgICB1cmwgKz0gJy9saW5rZWQnO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsIH0pLnBpcGUoXG4gICAgICBtYXAoKGxpbmtlZE1vZGVsczogUHJvZHVjdE1vZGVsW10pID0+IHtcbiAgICAgICAgaWYgKGxpbmtlZE1vZGVscykge1xuICAgICAgICAgIGxpbmtlZE1vZGVscy5mb3JFYWNoKG1vZGVsID0+IE1vZGVsVHJhbnNsYXRvclV0aWxzLnRvTG9jYWxNb2RlbChtb2RlbCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5rZWRNb2RlbHM7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWQoaWQ6IHN0cmluZywgdmVyc2lvbj86IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdE1vZGVsc0NvbnRhaW5lcj4ge1xuICAgIHJldHVybiBmb3JrSm9pbihbdGhpcy5nZXRNb2RlbChpZCwgdmVyc2lvbiksIHRoaXMuZ2V0TGlua2VkTW9kZWxzKGlkLCB2ZXJzaW9uKV0pLnBpcGUoXG4gICAgICBtYXAoKFttb2RlbCwgbGlua2VkTW9kZWxzXSkgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBuZXcgUHJvZHVjdE1vZGVsc0NvbnRhaW5lcihtb2RlbCwgbGlua2VkTW9kZWxzID8/IFtdKTtcblxuICAgICAgICBNb2RlbFV0aWxzLm92ZXJyaWRlKGNvbnRhaW5lci5tYWluLCBjb250YWluZXIubGlua2VkKTtcbiAgICAgICAgTW9kZWxUcmFuc2xhdG9yVXRpbHMudG9Mb2NhbE1vZGVsKGNvbnRhaW5lci5tYWluLCBjb250YWluZXIubGlua2VkKTtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQTUwobW9kZWxJZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS9wbWwvJHt2ZXJzaW9ufWA7XG5cbiAgICBpZiAodmVyc2lvbikge1xuICAgICAgdXJsICs9IGAvdmVyc2lvbnMvJHt2ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybCxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVQTUwobW9kZWxJZDogc3RyaW5nLCBwbWw6IHN0cmluZywgY29tbWVudDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS9wbWxgLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgaWQ6IG1vZGVsSWQsXG4gICAgICAgICAgcG1sOiBwbWwsXG4gICAgICAgICAgY29tbWVudDogY29tbWVudCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmh0dHBTZXJ2aWNlLmhhbmRsZVZhbGlkYXRpb25FcnJvciksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlUHJvZHVjdHMobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L2dlbmVyYXRlLXByb2R1Y3RzYCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlTW9kZWwocHJvZHVjdE1vZGVsOiBQcm9kdWN0TW9kZWwsIGNvbW1lbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgbW9kZWwgPSBFbnRpdHlVdGlsLmNsb25lKHByb2R1Y3RNb2RlbCk7XG4gICAgbW9kZWwuY29tbWVudCA9IGNvbW1lbnQ7XG4gICAgTW9kZWxUcmFuc2xhdG9yVXRpbHMudG9TZXJ2ZXJNb2RlbChtb2RlbCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH1gLFxuICAgICAgICBib2R5OiBtb2RlbCxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmh0dHBTZXJ2aWNlLmhhbmRsZVZhbGlkYXRpb25FcnJvciksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlTW9kZWwocHJvZHVjdE1vZGVsOiBQcm9kdWN0TW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vdmFsaWRhdGVgLFxuICAgICAgICBib2R5OiBwcm9kdWN0TW9kZWwsXG4gICAgICAgIGVycm9ySGFuZGxlcjogdGhpcy5odHRwU2VydmljZS5oYW5kbGVWYWxpZGF0aW9uRXJyb3IsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbmFtZU1vZGVsKHByb2R1Y3RNb2RlbDogUHJvZHVjdE1vZGVsLCBuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG1vZGVsID0gRW50aXR5VXRpbC5jbG9uZShwcm9kdWN0TW9kZWwpO1xuICAgIG1vZGVsLm5hbWUgPSBuYW1lO1xuICAgIE1vZGVsVHJhbnNsYXRvclV0aWxzLnRvU2VydmVyTW9kZWwobW9kZWwpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH1gLFxuICAgICAgICBib2R5OiBtb2RlbCxcbiAgICAgIH0pXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgdXBsb2FkUG1sRmlsZShmaWxlOiBGaWxlLCBtb2RlbElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGUubmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L3BtbC91cGxvYWRgLFxuICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcnVuUG1sKFxuICAgIG1vZGVsSWQ6IHN0cmluZyxcbiAgICBwbWw6IHN0cmluZyxcbiAgICByb290VHlwZTogc3RyaW5nLFxuICAgIGNvbmZpZ3VyYXRpb25Nb2RlOiBQbWxDb25maWd1cmF0aW9uTW9kZSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vcG1sL3J1bmAsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHBtbCxcbiAgICAgICAgcm9vdFR5cGUsXG4gICAgICAgIGNvbmZpZ3VyYXRpb25Nb2RlLFxuICAgICAgfSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGV2aWN0QWxsQ2FjaGUoKTogT2JzZXJ2YWJsZTx7IHJlc3VsdDogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogJy9jYWNoZS9ldmljdC9lbnZpcm9ubWVudC12YXJpYWJsZXMnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxVQUFVLEVBRVYsb0JBQW9CLEVBQ3BCLFVBQVUsRUFHVixzQkFBc0IsR0FFdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdqRCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFlBQW9CLFdBQTRCO1FBQTVCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUYvQixnQkFBVyxHQUFHLFNBQVMsQ0FBQztJQUVVLENBQUM7SUFFN0MsUUFBUSxDQUFDLEtBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsR0FBRyxDQUFDO1lBQ0gsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDckIsSUFBSSxFQUFFLEtBQUs7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUI7U0FDckQsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3JCLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDakM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUEw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LEdBQUc7Z0JBQ0gsUUFBUTtnQkFDUixpQkFBaUI7YUFDbEI7WUFDRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLG9DQUFvQztTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWhSYSxrQ0FBVyxHQUFHLEdBQUcsQ0FBQzttSEFEckIsc0JBQXNCO3VIQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VIdHRwU2VydmljZSxcbiAgRW50aXR5VXRpbCxcbiAgTW9kZWxSZWxlYXNlUmVxdWVzdCxcbiAgTW9kZWxUcmFuc2xhdG9yVXRpbHMsXG4gIE1vZGVsVXRpbHMsXG4gIFBtbENvbmZpZ3VyYXRpb25Nb2RlLFxuICBQcm9kdWN0TW9kZWwsXG4gIFByb2R1Y3RNb2RlbHNDb250YWluZXIsXG4gIFByb2R1Y3RNb2RlbFZlcnNpb24sXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNb2RlbEFwaVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIE1BWF9SRVNVTFRTID0gMjAwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgU0VSVklDRV9VUkwgPSAnL21vZGVscyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBhZGRNb2RlbChtb2RlbDogUHJvZHVjdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmw6IHRoaXMuU0VSVklDRV9VUkwsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVsZWFzZU1vZGVsKG1vZGVsOiBNb2RlbFJlbGVhc2VSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH0vcmVsZWFzZWAsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVNb2RlbChtb2RlbElkOiBzdHJpbmcsIHN1Y2Nlc3NGbj86IGFueSwgZmFpbHVyZUZuPzogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH1gLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG9ic2VydmFibGUuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBzdWNjZXNzRm4gJiYgc3VjY2Vzc0ZuLmFwcGx5KCk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBmYWlsdXJlRm4gJiYgZmFpbHVyZUZuLmFwcGx5KCk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kZWxWZXJzaW9ucyhtb2RlbElkOiBzdHJpbmcsIGNvdW50OiBudW1iZXIgPSAxMDAsIHNraXA6IG51bWJlciA9IDApOiBPYnNlcnZhYmxlPFByb2R1Y3RNb2RlbFZlcnNpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS92ZXJzaW9uc2AsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHNraXBDb3VudDogc2tpcCxcbiAgICAgICAgY291bnQ6IGNvdW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbChpZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWw+IHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHtpZH1gO1xuXG4gICAgaWYgKHZlcnNpb24pIHtcbiAgICAgIHVybCArPSBgL3ZlcnNpb25zLyR7dmVyc2lvbn1gO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IHVybCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbHMoc2tpcENvdW50OiBudW1iZXIsIHNlYXJjaFRleHQ6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9L3NlYXJjaGAsXG4gICAgICBib2R5OiB7XG4gICAgICAgIG5hbWVSZWdleDogc2VhcmNoVGV4dCxcbiAgICAgICAgc2tpcENvdW50OiBza2lwQ291bnQudG9TdHJpbmcoKSxcbiAgICAgICAgY291bnQ6IFByb2R1Y3RNb2RlbEFwaVNlcnZpY2UuTUFYX1JFU1VMVFMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZE1vZGVscyhpZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWxbXT4ge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke2lkfWA7XG5cbiAgICBpZiAodmVyc2lvbikge1xuICAgICAgdXJsICs9IGAvdmVyc2lvbnMvJHt2ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgdXJsICs9ICcvbGlua2VkJztcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IHVybCB9KS5waXBlKFxuICAgICAgbWFwKChsaW5rZWRNb2RlbHM6IFByb2R1Y3RNb2RlbFtdKSA9PiB7XG4gICAgICAgIGlmIChsaW5rZWRNb2RlbHMpIHtcbiAgICAgICAgICBsaW5rZWRNb2RlbHMuZm9yRWFjaChtb2RlbCA9PiBNb2RlbFRyYW5zbGF0b3JVdGlscy50b0xvY2FsTW9kZWwobW9kZWwpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGlua2VkTW9kZWxzO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBXaWxsIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciByZWxlYXNlXG4gICAqL1xuICBwdWJsaWMgbG9hZChpZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWxzQ29udGFpbmVyPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKFt0aGlzLmdldE1vZGVsKGlkLCB2ZXJzaW9uKSwgdGhpcy5nZXRMaW5rZWRNb2RlbHMoaWQsIHZlcnNpb24pXSkucGlwZShcbiAgICAgIG1hcCgoW21vZGVsLCBsaW5rZWRNb2RlbHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IG5ldyBQcm9kdWN0TW9kZWxzQ29udGFpbmVyKG1vZGVsLCBsaW5rZWRNb2RlbHMgPz8gW10pO1xuXG4gICAgICAgIE1vZGVsVXRpbHMub3ZlcnJpZGUoY29udGFpbmVyLm1haW4sIGNvbnRhaW5lci5saW5rZWQpO1xuICAgICAgICBNb2RlbFRyYW5zbGF0b3JVdGlscy50b0xvY2FsTW9kZWwoY29udGFpbmVyLm1haW4sIGNvbnRhaW5lci5saW5rZWQpO1xuXG4gICAgICAgIHJldHVybiBjb250YWluZXI7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFBNTChtb2RlbElkOiBzdHJpbmcsIHZlcnNpb24/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L3BtbC8ke3ZlcnNpb259YDtcblxuICAgIGlmICh2ZXJzaW9uKSB7XG4gICAgICB1cmwgKz0gYC92ZXJzaW9ucy8ke3ZlcnNpb259YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsLFxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVBNTChtb2RlbElkOiBzdHJpbmcsIHBtbDogc3RyaW5nLCBjb21tZW50OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L3BtbGAsXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICBpZDogbW9kZWxJZCxcbiAgICAgICAgICBwbWw6IHBtbCxcbiAgICAgICAgICBjb21tZW50OiBjb21tZW50LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVQcm9kdWN0cyhtb2RlbElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2R1Y3RNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vZ2VuZXJhdGUtcHJvZHVjdHNgLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVNb2RlbChwcm9kdWN0TW9kZWw6IFByb2R1Y3RNb2RlbCwgY29tbWVudDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBtb2RlbCA9IEVudGl0eVV0aWwuY2xvbmUocHJvZHVjdE1vZGVsKTtcbiAgICBtb2RlbC5jb21tZW50ID0gY29tbWVudDtcbiAgICBNb2RlbFRyYW5zbGF0b3JVdGlscy50b1NlcnZlck1vZGVsKG1vZGVsKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsLmlkfWAsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGVNb2RlbChwcm9kdWN0TW9kZWw6IFByb2R1Y3RNb2RlbCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS92YWxpZGF0ZWAsXG4gICAgICAgIGJvZHk6IHByb2R1Y3RNb2RlbCxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiB0aGlzLmh0dHBTZXJ2aWNlLmhhbmRsZVZhbGlkYXRpb25FcnJvcixcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVuYW1lTW9kZWwocHJvZHVjdE1vZGVsOiBQcm9kdWN0TW9kZWwsIG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbW9kZWwgPSBFbnRpdHlVdGlsLmNsb25lKHByb2R1Y3RNb2RlbCk7XG4gICAgbW9kZWwubmFtZSA9IG5hbWU7XG4gICAgTW9kZWxUcmFuc2xhdG9yVXRpbHMudG9TZXJ2ZXJNb2RlbChtb2RlbCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsLmlkfWAsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgfSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5odHRwU2VydmljZS5oYW5kbGVWYWxpZGF0aW9uRXJyb3IpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGxvYWRQbWxGaWxlKGZpbGU6IEZpbGUsIG1vZGVsSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSwgZmlsZS5uYW1lKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnVwbG9hZCh7XG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vcG1sL3VwbG9hZGAsXG4gICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBydW5QbWwoXG4gICAgbW9kZWxJZDogc3RyaW5nLFxuICAgIHBtbDogc3RyaW5nLFxuICAgIHJvb3RUeXBlOiBzdHJpbmcsXG4gICAgY29uZmlndXJhdGlvbk1vZGU6IFBtbENvbmZpZ3VyYXRpb25Nb2RlLFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS9wbWwvcnVuYCxcbiAgICAgIGJvZHk6IHtcbiAgICAgICAgcG1sLFxuICAgICAgICByb290VHlwZSxcbiAgICAgICAgY29uZmlndXJhdGlvbk1vZGUsXG4gICAgICB9LFxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZXZpY3RBbGxDYWNoZSgpOiBPYnNlcnZhYmxlPHsgcmVzdWx0OiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiAnL2NhY2hlL2V2aWN0L2Vudmlyb25tZW50LXZhcmlhYmxlcycsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -3,7 +3,7 @@ import { HttpParams, HttpErrorResponse, HttpClientModule } from '@angular/common
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, NgModule } from '@angular/core';
5
5
  import * as i1 from '@veloceapps/core';
6
- import { ModelTranslatorUtils, ConfigurationContextMode, isLegacyDocumentTemplate, DocxTemplater, QuoteDraft, StringUtils, Expression, Operator, ProductModelsContainer, ModelUtils, EntityUtil, RuleGroupTypes, parseJsonSafely, BaseHttpService, XrayService } from '@veloceapps/core';
6
+ import { uiDefinitionFromDTO, isLegacyUIDefinition, ModelTranslatorUtils, ConfigurationContextMode, isLegacyDocumentTemplate, DocxTemplater, QuoteDraft, StringUtils, Expression, Operator, ProductModelsContainer, ModelUtils, EntityUtil, RuleGroupTypes, parseJsonSafely, BaseHttpService, XrayService } from '@veloceapps/core';
7
7
  import { throwError, of, zip, forkJoin, map as map$1, noop, catchError as catchError$1, switchMap as switchMap$1 } from 'rxjs';
8
8
  import { map, catchError, tap, switchMap, defaultIfEmpty } from 'rxjs/operators';
9
9
  import * as i2 from 'primeng/api';
@@ -334,11 +334,13 @@ class ConfigurationApiService {
334
334
  url: `${this.SERVICE_URL}/${productId}/model` + ((offeringId && `/${offeringId}`) || ''),
335
335
  })
336
336
  .pipe(map(runtimeData => {
337
- runtimeData.uiDefinitions = JSON.parse(runtimeData.uiDefinitionsSource);
338
- runtimeData.uiDefinitions.forEach(uiDefinition => {
339
- ModelTranslatorUtils.toLocalUIDefinition(uiDefinition);
340
- });
341
- return runtimeData;
337
+ return Object.assign(Object.assign({}, runtimeData), { uiDefinitions: runtimeData.uiDefinitions.map(dto => {
338
+ const uiDefinitionContainer = uiDefinitionFromDTO(dto);
339
+ if (isLegacyUIDefinition(uiDefinitionContainer.source)) {
340
+ ModelTranslatorUtils.toLocalUIDefinition(uiDefinitionContainer.source);
341
+ }
342
+ return uiDefinitionContainer;
343
+ }) });
342
344
  }));
343
345
  }
344
346
  getRuntimeDataByModelId(modelId) {
@@ -1564,6 +1566,11 @@ class ProductModelApiService {
1564
1566
  return linkedModels;
1565
1567
  }));
1566
1568
  }
1569
+ /**
1570
+ *
1571
+ * @deprecated
1572
+ * Will be removed in next major release
1573
+ */
1567
1574
  load(id, version) {
1568
1575
  return forkJoin([this.getModel(id, version), this.getLinkedModels(id, version)]).pipe(map(([model, linkedModels]) => {
1569
1576
  const container = new ProductModelsContainer(model, linkedModels !== null && linkedModels !== void 0 ? linkedModels : []);