@veloceapps/api 4.0.21-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +3 -0
  2. package/bundles/veloceapps-api.umd.js +2950 -0
  3. package/bundles/veloceapps-api.umd.js.map +1 -0
  4. package/esm2015/index.js +25 -0
  5. package/esm2015/lib/api.module.js +89 -0
  6. package/esm2015/lib/services/account-api.service.js +50 -0
  7. package/esm2015/lib/services/catalog-admin-api.service.js +159 -0
  8. package/esm2015/lib/services/catalog-api.service.js +90 -0
  9. package/esm2015/lib/services/configuration-api.service.js +73 -0
  10. package/esm2015/lib/services/configuration-settings-api.service.js +52 -0
  11. package/esm2015/lib/services/context-api.service.js +26 -0
  12. package/esm2015/lib/services/delta-api.service.js +27 -0
  13. package/esm2015/lib/services/document-attachment-api.service.js +66 -0
  14. package/esm2015/lib/services/document-templates-api.service.js +284 -0
  15. package/esm2015/lib/services/flows-api.service.js +24 -0
  16. package/esm2015/lib/services/picklists-api.service.js +38 -0
  17. package/esm2015/lib/services/price-api.service.js +63 -0
  18. package/esm2015/lib/services/procedures-api.service.js +93 -0
  19. package/esm2015/lib/services/product-api.service.js +153 -0
  20. package/esm2015/lib/services/product-model-api.service.js +232 -0
  21. package/esm2015/lib/services/quote-api.service.js +48 -0
  22. package/esm2015/lib/services/ramp-api.service.js +21 -0
  23. package/esm2015/lib/services/rule-groups-api.service.js +62 -0
  24. package/esm2015/lib/services/rules-api.service.js +81 -0
  25. package/esm2015/lib/services/salesforce-api.service.js +40 -0
  26. package/esm2015/lib/services/scripts-api.service.js +76 -0
  27. package/esm2015/lib/services/ui-templates-api.service.js +282 -0
  28. package/esm2015/lib/types/clone-request.types.js +2 -0
  29. package/esm2015/lib/types/delta-request.types.js +2 -0
  30. package/esm2015/lib/types/dto/attribute-dto.types.js +21 -0
  31. package/esm2015/lib/types/dto/charge-group-item-dto.types.js +49 -0
  32. package/esm2015/lib/types/dto/charge-item-dto.types.js +78 -0
  33. package/esm2015/lib/types/dto/configuration-dto.types.js +19 -0
  34. package/esm2015/lib/types/dto/configuration-settings-dto.types.js +22 -0
  35. package/esm2015/lib/types/dto/domain-type-dto.types.js +27 -0
  36. package/esm2015/lib/types/dto/line-item-dto.types.js +103 -0
  37. package/esm2015/lib/types/dto/port-domain-dto.types.js +22 -0
  38. package/esm2015/lib/types/dto/price-adjustment-dto.types.js +15 -0
  39. package/esm2015/lib/types/dto/price-dto.types.js +25 -0
  40. package/esm2015/lib/types/dto/recommended-price-dto.types.js +25 -0
  41. package/esm2015/lib/types/dto/ui-template-dto.types.js +2 -0
  42. package/esm2015/lib/types/index.js +5 -0
  43. package/esm2015/lib/types/price.types.js +2 -0
  44. package/esm2015/lib/types/ramp-request.types.js +2 -0
  45. package/esm2015/lib/types/search-request.types.js +2 -0
  46. package/esm2015/lib/utils/ui-template.utils.js +13 -0
  47. package/esm2015/veloceapps-api.js +5 -0
  48. package/fesm2015/veloceapps-api.js +2420 -0
  49. package/fesm2015/veloceapps-api.js.map +1 -0
  50. package/index.d.ts +24 -0
  51. package/lib/api.module.d.ts +7 -0
  52. package/lib/services/account-api.service.d.ts +22 -0
  53. package/lib/services/catalog-admin-api.service.d.ts +34 -0
  54. package/lib/services/catalog-api.service.d.ts +20 -0
  55. package/lib/services/configuration-api.service.d.ts +18 -0
  56. package/lib/services/configuration-settings-api.service.d.ts +17 -0
  57. package/lib/services/context-api.service.d.ts +11 -0
  58. package/lib/services/delta-api.service.d.ts +12 -0
  59. package/lib/services/document-attachment-api.service.d.ts +16 -0
  60. package/lib/services/document-templates-api.service.d.ts +47 -0
  61. package/lib/services/flows-api.service.d.ts +13 -0
  62. package/lib/services/picklists-api.service.d.ts +17 -0
  63. package/lib/services/price-api.service.d.ts +16 -0
  64. package/lib/services/procedures-api.service.d.ts +27 -0
  65. package/lib/services/product-api.service.d.ts +31 -0
  66. package/lib/services/product-model-api.service.d.ts +30 -0
  67. package/lib/services/quote-api.service.d.ts +25 -0
  68. package/lib/services/ramp-api.service.d.ts +13 -0
  69. package/lib/services/rule-groups-api.service.d.ts +18 -0
  70. package/lib/services/rules-api.service.d.ts +21 -0
  71. package/lib/services/salesforce-api.service.d.ts +17 -0
  72. package/lib/services/scripts-api.service.d.ts +21 -0
  73. package/lib/services/ui-templates-api.service.d.ts +49 -0
  74. package/lib/types/clone-request.types.d.ts +5 -0
  75. package/lib/types/delta-request.types.d.ts +5 -0
  76. package/lib/types/dto/attribute-dto.types.d.ts +11 -0
  77. package/lib/types/dto/charge-group-item-dto.types.d.ts +26 -0
  78. package/lib/types/dto/charge-item-dto.types.d.ts +41 -0
  79. package/lib/types/dto/configuration-dto.types.d.ts +18 -0
  80. package/lib/types/dto/configuration-settings-dto.types.d.ts +9 -0
  81. package/lib/types/dto/domain-type-dto.types.d.ts +15 -0
  82. package/lib/types/dto/line-item-dto.types.d.ts +55 -0
  83. package/lib/types/dto/port-domain-dto.types.d.ts +13 -0
  84. package/lib/types/dto/price-adjustment-dto.types.d.ts +8 -0
  85. package/lib/types/dto/price-dto.types.d.ts +13 -0
  86. package/lib/types/dto/recommended-price-dto.types.d.ts +14 -0
  87. package/lib/types/dto/ui-template-dto.types.d.ts +6 -0
  88. package/lib/types/index.d.ts +4 -0
  89. package/lib/types/price.types.d.ts +5 -0
  90. package/lib/types/ramp-request.types.d.ts +13 -0
  91. package/lib/types/search-request.types.d.ts +8 -0
  92. package/lib/utils/ui-template.utils.d.ts +3 -0
  93. package/package.json +37 -0
  94. package/veloceapps-api.d.ts +5 -0
@@ -0,0 +1,282 @@
1
+ import { __rest } from "tslib";
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { Injectable } from '@angular/core';
4
+ import { catchError, forkJoin, map, noop, of, switchMap } from 'rxjs';
5
+ import { fromUIComponentStoryDTO } from '../utils/ui-template.utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@veloceapps/core";
8
+ export class UITemplatesApiService {
9
+ constructor(baseHttpService) {
10
+ this.baseHttpService = baseHttpService;
11
+ this.serviceUrl = '/uitemplates';
12
+ this.fetchTemplates$ = (name) => {
13
+ let params = new HttpParams();
14
+ if (name) {
15
+ params = params.append('name', name);
16
+ }
17
+ return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });
18
+ };
19
+ this.createTemplate$ = (template) => {
20
+ return this.baseHttpService.api({
21
+ method: 'post',
22
+ url: `${this.serviceUrl}`,
23
+ body: template,
24
+ });
25
+ };
26
+ this.updateTemplate$ = (template) => {
27
+ return this.baseHttpService.api({
28
+ method: 'put',
29
+ url: `${this.serviceUrl}/${template.id}`,
30
+ body: template,
31
+ });
32
+ };
33
+ this.duplicateTemplate$ = (template, cloneRequest) => {
34
+ return this.baseHttpService
35
+ .api({
36
+ url: `${this.serviceUrl}/${template.id}/clone`,
37
+ method: 'post',
38
+ body: cloneRequest,
39
+ })
40
+ .pipe(map(response => response.clonedRecordId));
41
+ };
42
+ this.removeTemplate$ = (id) => {
43
+ return this.baseHttpService.api({
44
+ method: 'delete',
45
+ url: `${this.serviceUrl}/${id}`,
46
+ });
47
+ };
48
+ this.restoreTemplate$ = (id) => {
49
+ return this.baseHttpService.api({
50
+ method: 'patch',
51
+ url: `${this.serviceUrl}/${id}`,
52
+ });
53
+ };
54
+ this.searchTemplates$ = (data) => {
55
+ return this.baseHttpService.api({
56
+ method: 'post',
57
+ url: `${this.serviceUrl}/search`,
58
+ params: data.params,
59
+ body: data.expression,
60
+ });
61
+ };
62
+ this.fetchComponents$ = (templateId, name) => {
63
+ let params = new HttpParams();
64
+ if (name) {
65
+ params = params.append('name', name);
66
+ }
67
+ return this.baseHttpService.api({
68
+ url: `${this.serviceUrl}/${templateId}/components`,
69
+ params,
70
+ });
71
+ };
72
+ this.fetchComponent$ = (templateId, componentId) => {
73
+ return this.baseHttpService.api({
74
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}`,
75
+ });
76
+ };
77
+ this.createComponent$ = (component) => {
78
+ return this.baseHttpService.api({
79
+ method: 'post',
80
+ url: `${this.serviceUrl}/${component.uiTemplateId}/components`,
81
+ body: component,
82
+ });
83
+ };
84
+ this.updateComponent$ = (component) => {
85
+ return this.baseHttpService.api({
86
+ method: 'put',
87
+ url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}`,
88
+ body: component,
89
+ });
90
+ };
91
+ this.duplicateComponent$ = (component, cloneRequest) => {
92
+ return this.baseHttpService
93
+ .api({
94
+ url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}/clone`,
95
+ method: 'post',
96
+ body: cloneRequest,
97
+ })
98
+ .pipe(map(response => response.clonedRecordId));
99
+ };
100
+ this.removeComponent$ = (templateId, componentId) => {
101
+ return this.baseHttpService.api({
102
+ method: 'delete',
103
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}`,
104
+ });
105
+ };
106
+ this.restoreComponent$ = (templateId, componentId) => {
107
+ return this.baseHttpService.api({
108
+ method: 'patch',
109
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}`,
110
+ });
111
+ };
112
+ this.searchComponents$ = (templateId, data) => {
113
+ return this.baseHttpService.api({
114
+ method: 'post',
115
+ url: `${this.serviceUrl}/${templateId}/components/search`,
116
+ params: data.params,
117
+ body: data.expression,
118
+ });
119
+ };
120
+ this.fetchStoryAttachment = (templateId, componentId, storyId, type) => {
121
+ return this.baseHttpService
122
+ .api({
123
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments/${type}/file`,
124
+ responseType: 'text',
125
+ errorHandler: noop,
126
+ })
127
+ .pipe(catchError(() => of('')));
128
+ };
129
+ this.convertToComponentStory$ = (templateId, componentId, storyDto) => {
130
+ return forkJoin([
131
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'html'),
132
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'js'),
133
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'css'),
134
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'json'),
135
+ ]).pipe(map(([html, js, css, json]) => ({ html, js, css, json })), map(attachments => fromUIComponentStoryDTO(storyDto, attachments)));
136
+ };
137
+ this.fetchStories$ = (templateId, componentId, name) => {
138
+ let params = new HttpParams();
139
+ if (name) {
140
+ params = params.append('name', name);
141
+ }
142
+ return this.baseHttpService
143
+ .api({
144
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories`,
145
+ params,
146
+ })
147
+ .pipe(switchMap(dtos => {
148
+ if (!dtos.length) {
149
+ return of([]);
150
+ }
151
+ return forkJoin(dtos.map(dto => this.convertToComponentStory$(templateId, componentId, dto)));
152
+ }));
153
+ };
154
+ this.fetchStory$ = (templateId, componentId, storyId) => {
155
+ return this.baseHttpService
156
+ .api({
157
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,
158
+ })
159
+ .pipe(switchMap(dto => this.convertToComponentStory$(templateId, componentId, dto)));
160
+ };
161
+ this.createComponentStory$ = (templateId, story) => {
162
+ return this.baseHttpService.api({
163
+ method: 'post',
164
+ url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories`,
165
+ body: story,
166
+ });
167
+ };
168
+ this.updateComponentStory$ = (templateId, story) => {
169
+ const { script, template, styles, section } = story, rest = __rest(story, ["script", "template", "styles", "section"]);
170
+ return this.baseHttpService
171
+ .api({
172
+ method: 'put',
173
+ url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories/${story.id}`,
174
+ body: rest,
175
+ })
176
+ .pipe(map(dto => fromUIComponentStoryDTO(dto, { html: template, js: script, css: styles, json: section })));
177
+ };
178
+ this.duplicateComponentStory$ = (story, cloneRequest) => {
179
+ return this.baseHttpService
180
+ .api({
181
+ url: `${this.serviceUrl}/${story.template}/components/${story.uiComponentId}/stories/${story.id}/clone`,
182
+ method: 'post',
183
+ body: cloneRequest,
184
+ })
185
+ .pipe(map(response => response.clonedRecordId));
186
+ };
187
+ this.deleteComponentStory$ = (templateId, componentId, storyId) => {
188
+ return this.baseHttpService.api({
189
+ method: 'delete',
190
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,
191
+ });
192
+ };
193
+ this.restoreComponentStory$ = (templateId, componentId, storyId) => {
194
+ return this.baseHttpService.api({
195
+ method: 'patch',
196
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,
197
+ });
198
+ };
199
+ this.uploadStoryAttachments$ = (templateId, componentId, storyId, attachments) => {
200
+ const formData = new FormData();
201
+ if (attachments.html != null) {
202
+ formData.append('html', new Blob([attachments.html]), 'story-template.html');
203
+ }
204
+ if (attachments.css != null) {
205
+ formData.append('css', new Blob([attachments.css]), 'story-styles.css');
206
+ }
207
+ if (attachments.js != null) {
208
+ formData.append('js', new Blob([attachments.js]), 'story-script.js');
209
+ }
210
+ if (attachments.json != null) {
211
+ formData.append('json', new Blob([attachments.json]), 'story-section.json');
212
+ }
213
+ return this.baseHttpService.upload({
214
+ method: 'post',
215
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments`,
216
+ body: formData,
217
+ });
218
+ };
219
+ this.fetchComponentAttachments$ = (templateId, component) => {
220
+ return forkJoin([
221
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'html'),
222
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'js'),
223
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'css'),
224
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'json'),
225
+ ]).pipe(map(([html, js, css, json]) => ({ html, js, css, json })));
226
+ };
227
+ this.fetchComponentAttachmentFile$ = (templateId, componentId, attachmentType) => {
228
+ return this.baseHttpService
229
+ .api({
230
+ method: 'get',
231
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments/${attachmentType}/file`,
232
+ responseType: 'text',
233
+ errorHandler: noop,
234
+ })
235
+ .pipe(catchError(() => of('')));
236
+ };
237
+ this.uploadComponentAttachments$ = (templateId, componentId, attachments) => {
238
+ const formData = new FormData();
239
+ if (attachments.html != null) {
240
+ formData.append('html', new Blob([attachments.html]), 'template.html');
241
+ }
242
+ if (attachments.css != null) {
243
+ formData.append('css', new Blob([attachments.css]), 'styles.css');
244
+ }
245
+ if (attachments.js != null) {
246
+ formData.append('js', new Blob([attachments.js]), 'script.js');
247
+ }
248
+ if (attachments.json != null) {
249
+ formData.append('json', new Blob([attachments.json]), 'section.json');
250
+ }
251
+ return this.baseHttpService.upload({
252
+ method: 'post',
253
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments`,
254
+ body: formData,
255
+ });
256
+ };
257
+ }
258
+ getTemplateThumbnailUrl(templateId) {
259
+ return `${this.serviceUrl}/${templateId}/thumbnail/file`;
260
+ }
261
+ attachTemplateThumbnail$(templateId, file) {
262
+ const data = new FormData();
263
+ data.append('thumb', file);
264
+ return this.baseHttpService.upload({
265
+ method: 'post',
266
+ url: `${this.serviceUrl}/${templateId}/thumbnail`,
267
+ body: data,
268
+ });
269
+ }
270
+ removeTemplateThumbnail$(templateId) {
271
+ return this.baseHttpService.api({
272
+ method: 'delete',
273
+ url: `${this.serviceUrl}/${templateId}/thumbnail`,
274
+ });
275
+ }
276
+ }
277
+ UITemplatesApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UITemplatesApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
278
+ UITemplatesApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UITemplatesApiService });
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UITemplatesApiService, decorators: [{
280
+ type: Injectable
281
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGVtcGxhdGVzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi9zZXJ2aWNlcy91aS10ZW1wbGF0ZXMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBR3JFLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRm5DLGVBQVUsR0FBVyxjQUFjLENBQUM7UUFJckQsb0JBQWUsR0FBRyxDQUFDLElBQWEsRUFBNEIsRUFBRTtZQUM1RCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksSUFBSSxFQUFFO2dCQUNSLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN0QztZQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQWUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUM7UUFFRixvQkFBZSxHQUFHLENBQUMsUUFBdUIsRUFBMEIsRUFBRTtZQUNwRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFhO2dCQUMxQyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUN6QixJQUFJLEVBQUUsUUFBUTthQUNmLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLG9CQUFlLEdBQUcsQ0FBQyxRQUFvQixFQUEwQixFQUFFO1lBQ2pFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQWE7Z0JBQzFDLE1BQU0sRUFBRSxLQUFLO2dCQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxFQUFFLFFBQVE7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRix1QkFBa0IsR0FBRyxDQUFDLFFBQW9CLEVBQUUsWUFBMEIsRUFBc0IsRUFBRTtZQUM1RixPQUFPLElBQUksQ0FBQyxlQUFlO2lCQUN4QixHQUFHLENBQUM7Z0JBQ0gsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsRUFBRSxRQUFRO2dCQUM5QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsWUFBWTthQUNuQixDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUM7UUFFRixvQkFBZSxHQUFHLENBQUMsRUFBVSxFQUFvQixFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRTthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixxQkFBZ0IsR0FBRyxDQUFDLEVBQVUsRUFBb0IsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO2dCQUM5QixNQUFNLEVBQUUsT0FBTztnQkFDZixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRTthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixxQkFBZ0IsR0FBRyxDQUFDLElBQThELEVBQTRCLEVBQUU7WUFDOUcsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsU0FBUztnQkFDaEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYscUJBQWdCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLElBQWEsRUFBbUMsRUFBRTtZQUN4RixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksSUFBSSxFQUFFO2dCQUNSLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN0QztZQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQXNCO2dCQUNuRCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsYUFBYTtnQkFDbEQsTUFBTTthQUNQLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLG9CQUFlLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFdBQW1CLEVBQWlDLEVBQUU7WUFDM0YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBb0I7Z0JBQ2pELEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxlQUFlLFdBQVcsRUFBRTthQUNsRSxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixxQkFBZ0IsR0FBRyxDQUFDLFNBQStCLEVBQWlDLEVBQUU7WUFDcEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBb0I7Z0JBQ2pELE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksU0FBUyxDQUFDLFlBQVksYUFBYTtnQkFDOUQsSUFBSSxFQUFFLFNBQVM7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYscUJBQWdCLEdBQUcsQ0FBQyxTQUE0QixFQUFpQyxFQUFFO1lBQ2pGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQW9CO2dCQUNqRCxNQUFNLEVBQUUsS0FBSztnQkFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQyxZQUFZLGVBQWUsU0FBUyxDQUFDLEVBQUUsRUFBRTtnQkFDOUUsSUFBSSxFQUFFLFNBQVM7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsd0JBQW1CLEdBQUcsQ0FBQyxTQUE0QixFQUFFLFlBQTBCLEVBQXNCLEVBQUU7WUFDckcsT0FBTyxJQUFJLENBQUMsZUFBZTtpQkFDeEIsR0FBRyxDQUFDO2dCQUNILEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksU0FBUyxDQUFDLFlBQVksZUFBZSxTQUFTLENBQUMsRUFBRSxRQUFRO2dCQUNwRixNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsWUFBWTthQUNuQixDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUM7UUFFRixxQkFBZ0IsR0FBRyxDQUFDLFVBQWtCLEVBQUUsV0FBbUIsRUFBb0IsRUFBRTtZQUMvRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO2dCQUM5QixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLGVBQWUsV0FBVyxFQUFFO2FBQ2xFLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLHNCQUFpQixHQUFHLENBQUMsVUFBa0IsRUFBRSxXQUFtQixFQUFvQixFQUFFO1lBQ2hGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxlQUFlLFdBQVcsRUFBRTthQUNsRSxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixzQkFBaUIsR0FBRyxDQUNsQixVQUFrQixFQUNsQixJQUE4RCxFQUM3QixFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxvQkFBb0I7Z0JBQ3pELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLHlCQUFvQixHQUFHLENBQ3JCLFVBQWtCLEVBQ2xCLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixJQUE0QixFQUNSLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZTtpQkFDeEIsR0FBRyxDQUFTO2dCQUNYLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxlQUFlLFdBQVcsWUFBWSxPQUFPLGdCQUFnQixJQUFJLE9BQU87Z0JBQzdHLFlBQVksRUFBRSxNQUFNO2dCQUNwQixZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO2lCQUNELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUM7UUFFTSw2QkFBd0IsR0FBRyxDQUNqQyxVQUFrQixFQUNsQixXQUFtQixFQUNuQixRQUE2QixFQUNELEVBQUU7WUFDOUIsT0FBTyxRQUFRLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO2dCQUNyRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQztnQkFDdEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDeEUsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUN6RCxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FDbkUsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLGtCQUFhLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFdBQW1CLEVBQUUsSUFBYSxFQUFnQyxFQUFFO1lBQ3ZHLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsT0FBTyxJQUFJLENBQUMsZUFBZTtpQkFDeEIsR0FBRyxDQUF3QjtnQkFDMUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLGVBQWUsV0FBVyxVQUFVO2dCQUN6RSxNQUFNO2FBQ1AsQ0FBQztpQkFDRCxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDZjtnQkFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hHLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLENBQUMsVUFBa0IsRUFBRSxXQUFtQixFQUFFLE9BQWUsRUFBOEIsRUFBRTtZQUNyRyxPQUFPLElBQUksQ0FBQyxlQUFlO2lCQUN4QixHQUFHLENBQXNCO2dCQUN4QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsZUFBZSxXQUFXLFlBQVksT0FBTyxFQUFFO2FBQ3JGLENBQUM7aUJBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixDQUFDLENBQUM7UUFFRiwwQkFBcUIsR0FBRyxDQUFDLFVBQWtCLEVBQUUsS0FBd0IsRUFBOEIsRUFBRTtZQUNuRyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFpQjtnQkFDOUMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLGVBQWUsS0FBSyxDQUFDLGFBQWEsVUFBVTtnQkFDakYsSUFBSSxFQUFFLEtBQUs7YUFDWixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRiwwQkFBcUIsR0FBRyxDQUFDLFVBQWtCLEVBQUUsS0FBcUIsRUFBOEIsRUFBRTtZQUNoRyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxLQUFjLEtBQUssRUFBZCxJQUFJLFVBQUssS0FBSyxFQUF0RCwyQ0FBOEMsQ0FBUSxDQUFDO1lBRTdELE9BQU8sSUFBSSxDQUFDLGVBQWU7aUJBQ3hCLEdBQUcsQ0FBc0I7Z0JBQ3hCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxlQUFlLEtBQUssQ0FBQyxhQUFhLFlBQVksS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDN0YsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDO1FBRUYsNkJBQXdCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLFlBQTBCLEVBQXNCLEVBQUU7WUFDbkcsT0FBTyxJQUFJLENBQUMsZUFBZTtpQkFDeEIsR0FBRyxDQUFDO2dCQUNILEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFFBQVEsZUFBZSxLQUFLLENBQUMsYUFBYSxZQUFZLEtBQUssQ0FBQyxFQUFFLFFBQVE7Z0JBQ3ZHLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxZQUFZO2FBQ25CLENBQUM7aUJBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQztRQUVGLDBCQUFxQixHQUFHLENBQUMsVUFBa0IsRUFBRSxXQUFtQixFQUFFLE9BQWUsRUFBb0IsRUFBRTtZQUNyRyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO2dCQUM5QixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLGVBQWUsV0FBVyxZQUFZLE9BQU8sRUFBRTthQUNyRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRiwyQkFBc0IsR0FBRyxDQUFDLFVBQWtCLEVBQUUsV0FBbUIsRUFBRSxPQUFlLEVBQW9CLEVBQUU7WUFDdEcsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLGVBQWUsV0FBVyxZQUFZLE9BQU8sRUFBRTthQUNyRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRiw0QkFBdUIsR0FBRyxDQUN4QixVQUFrQixFQUNsQixXQUFtQixFQUNuQixPQUFlLEVBQ2YsV0FBc0MsRUFDcEIsRUFBRTtZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQzVCLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUMsQ0FBQzthQUM5RTtZQUNELElBQUksV0FBVyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzthQUN6RTtZQUNELElBQUksV0FBVyxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQzFCLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzthQUN0RTtZQUNELElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQzVCLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQzthQUM3RTtZQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxlQUFlLFdBQVcsWUFBWSxPQUFPLGNBQWM7Z0JBQ2hHLElBQUksRUFBRSxRQUFRO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBd0JGLCtCQUEwQixHQUFHLENBQUMsVUFBa0IsRUFBRSxTQUE0QixFQUFvQyxFQUFFO1lBQ2xILE9BQU8sUUFBUSxDQUFDO2dCQUNkLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUM7Z0JBQ25FLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDckUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDO1FBRU0sa0NBQTZCLEdBQUcsQ0FDdEMsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsY0FBc0MsRUFDbEIsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlO2lCQUN4QixHQUFHLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLGVBQWUsV0FBVyxnQkFBZ0IsY0FBYyxPQUFPO2dCQUNwRyxZQUFZLEVBQUUsTUFBTTtnQkFDcEIsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQztpQkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDO1FBRUYsZ0NBQTJCLEdBQUcsQ0FDNUIsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsV0FBaUMsRUFDZixFQUFFO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDNUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQzthQUN4RTtZQUNELElBQUksV0FBVyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDbkU7WUFDRCxJQUFJLFdBQVcsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO2dCQUMxQixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDNUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUN2RTtZQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxlQUFlLFdBQVcsY0FBYztnQkFDN0UsSUFBSSxFQUFFLFFBQVE7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUEzVXFELENBQUM7SUFxUXhELHVCQUF1QixDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsaUJBQWlCLENBQUM7SUFDM0QsQ0FBQztJQUVELHdCQUF3QixDQUFDLFVBQWtCLEVBQUUsSUFBVTtRQUNyRCxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDakMsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsWUFBWTtZQUNqRCxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxVQUFrQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxZQUFZO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUM7O21IQTVSVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VIdHRwU2VydmljZSxcbiAgQ29tcG9uZW50QXR0YWNobWVudHMsXG4gIENvbXBvbmVudFN0b3J5LFxuICBDb21wb25lbnRTdG9yeUF0dGFjaG1lbnRzLFxuICBFeHByZXNzaW9uLFxuICBOZXdDb21wb25lbnRTdG9yeSxcbiAgTmV3VGVtcGxhdGVDb21wb25lbnQsXG4gIE5ld1VJVGVtcGxhdGUsXG4gIFRlbXBsYXRlQXR0YWNobWVudFR5cGUsXG4gIFRlbXBsYXRlQ29tcG9uZW50LFxuICBVSVRlbXBsYXRlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZm9ya0pvaW4sIG1hcCwgbm9vcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xvbmVSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMvY2xvbmUtcmVxdWVzdC50eXBlcyc7XG5pbXBvcnQgeyBVSUNvbXBvbmVudFN0b3J5RFRPIH0gZnJvbSAnLi4vdHlwZXMvZHRvL3VpLXRlbXBsYXRlLWR0by50eXBlcyc7XG5pbXBvcnQgeyBmcm9tVUlDb21wb25lbnRTdG9yeURUTyB9IGZyb20gJy4uL3V0aWxzL3VpLXRlbXBsYXRlLnV0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVJVGVtcGxhdGVzQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZVVybDogc3RyaW5nID0gJy91aXRlbXBsYXRlcyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlSHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBmZXRjaFRlbXBsYXRlcyQgPSAobmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8VUlUZW1wbGF0ZVtdPiA9PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFVJVGVtcGxhdGVbXT4oeyB1cmw6IGAke3RoaXMuc2VydmljZVVybH1gLCBwYXJhbXMgfSk7XG4gIH07XG5cbiAgY3JlYXRlVGVtcGxhdGUkID0gKHRlbXBsYXRlOiBOZXdVSVRlbXBsYXRlKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxVSVRlbXBsYXRlPih7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAsXG4gICAgICBib2R5OiB0ZW1wbGF0ZSxcbiAgICB9KTtcbiAgfTtcblxuICB1cGRhdGVUZW1wbGF0ZSQgPSAodGVtcGxhdGU6IFVJVGVtcGxhdGUpOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGU+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFVJVGVtcGxhdGU+KHtcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZS5pZH1gLFxuICAgICAgYm9keTogdGVtcGxhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgZHVwbGljYXRlVGVtcGxhdGUkID0gKHRlbXBsYXRlOiBVSVRlbXBsYXRlLCBjbG9uZVJlcXVlc3Q6IENsb25lUmVxdWVzdCk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGUuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHk6IGNsb25lUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuY2xvbmVkUmVjb3JkSWQpKTtcbiAgfTtcblxuICByZW1vdmVUZW1wbGF0ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcmVzdG9yZVRlbXBsYXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gLFxuICAgIH0pO1xuICB9O1xuXG4gIHNlYXJjaFRlbXBsYXRlcyQgPSAoZGF0YTogeyBwYXJhbXM/OiBEaWN0aW9uYXJ5PHN0cmluZz47IGV4cHJlc3Npb24/OiBFeHByZXNzaW9uIH0pOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGVbXT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vc2VhcmNoYCxcbiAgICAgIHBhcmFtczogZGF0YS5wYXJhbXMsXG4gICAgICBib2R5OiBkYXRhLmV4cHJlc3Npb24sXG4gICAgfSk7XG4gIH07XG5cbiAgZmV0Y2hDb21wb25lbnRzJCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50W10+ID0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbmFtZScsIG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8VGVtcGxhdGVDb21wb25lbnRbXT4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50c2AsXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gIH07XG5cbiAgZmV0Y2hDb21wb25lbnQkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFRlbXBsYXRlQ29tcG9uZW50Pih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBjcmVhdGVDb21wb25lbnQkID0gKGNvbXBvbmVudDogTmV3VGVtcGxhdGVDb21wb25lbnQpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxUZW1wbGF0ZUNvbXBvbmVudD4oe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjb21wb25lbnQudWlUZW1wbGF0ZUlkfS9jb21wb25lbnRzYCxcbiAgICAgIGJvZHk6IGNvbXBvbmVudCxcbiAgICB9KTtcbiAgfTtcblxuICB1cGRhdGVDb21wb25lbnQkID0gKGNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxUZW1wbGF0ZUNvbXBvbmVudD4oe1xuICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2NvbXBvbmVudC51aVRlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnQuaWR9YCxcbiAgICAgIGJvZHk6IGNvbXBvbmVudCxcbiAgICB9KTtcbiAgfTtcblxuICBkdXBsaWNhdGVDb21wb25lbnQkID0gKGNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQsIGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjb21wb25lbnQudWlUZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50LmlkfS9jbG9uZWAsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBib2R5OiBjbG9uZVJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmNsb25lZFJlY29yZElkKSk7XG4gIH07XG5cbiAgcmVtb3ZlQ29tcG9uZW50JCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICByZXN0b3JlQ29tcG9uZW50JCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH1gLFxuICAgIH0pO1xuICB9O1xuXG4gIHNlYXJjaENvbXBvbmVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBkYXRhOiB7IHBhcmFtcz86IERpY3Rpb25hcnk8c3RyaW5nPjsgZXhwcmVzc2lvbj86IEV4cHJlc3Npb24gfSxcbiAgKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFtdPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvc2VhcmNoYCxcbiAgICAgIHBhcmFtczogZGF0YS5wYXJhbXMsXG4gICAgICBib2R5OiBkYXRhLmV4cHJlc3Npb24sXG4gICAgfSk7XG4gIH07XG5cbiAgZmV0Y2hTdG9yeUF0dGFjaG1lbnQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgc3RvcnlJZDogc3RyaW5nLFxuICAgIHR5cGU6IFRlbXBsYXRlQXR0YWNobWVudFR5cGUsXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPHN0cmluZz4oe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeUlkfS9hdHRhY2htZW50cy8ke3R5cGV9L2ZpbGVgLFxuICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBub29wLFxuICAgICAgfSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoJycpKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Db21wb25lbnRTdG9yeSQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgc3RvcnlEdG86IFVJQ29tcG9uZW50U3RvcnlEVE8sXG4gICk6IE9ic2VydmFibGU8Q29tcG9uZW50U3Rvcnk+ID0+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdodG1sJyksXG4gICAgICB0aGlzLmZldGNoU3RvcnlBdHRhY2htZW50KHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBzdG9yeUR0by5pZCwgJ2pzJyksXG4gICAgICB0aGlzLmZldGNoU3RvcnlBdHRhY2htZW50KHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBzdG9yeUR0by5pZCwgJ2NzcycpLFxuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdqc29uJyksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2h0bWwsIGpzLCBjc3MsIGpzb25dKSA9PiAoeyBodG1sLCBqcywgY3NzLCBqc29uIH0pKSxcbiAgICAgIG1hcChhdHRhY2htZW50cyA9PiBmcm9tVUlDb21wb25lbnRTdG9yeURUTyhzdG9yeUR0bywgYXR0YWNobWVudHMpKSxcbiAgICApO1xuICB9O1xuXG4gIGZldGNoU3RvcmllcyQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nLCBuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21wb25lbnRTdG9yeVtdPiA9PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8VUlDb21wb25lbnRTdG9yeURUT1tdPih7XG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vc3Rvcmllc2AsXG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGR0b3MgPT4ge1xuICAgICAgICAgIGlmICghZHRvcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmb3JrSm9pbihkdG9zLm1hcChkdG8gPT4gdGhpcy5jb252ZXJ0VG9Db21wb25lbnRTdG9yeSQodGVtcGxhdGVJZCwgY29tcG9uZW50SWQsIGR0bykpKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9O1xuXG4gIGZldGNoU3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgc3RvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21wb25lbnRTdG9yeT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSUNvbXBvbmVudFN0b3J5RFRPPih7XG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vc3Rvcmllcy8ke3N0b3J5SWR9YCxcbiAgICAgIH0pXG4gICAgICAucGlwZShzd2l0Y2hNYXAoZHRvID0+IHRoaXMuY29udmVydFRvQ29tcG9uZW50U3RvcnkkKHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBkdG8pKSk7XG4gIH07XG5cbiAgY3JlYXRlQ29tcG9uZW50U3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgc3Rvcnk6IE5ld0NvbXBvbmVudFN0b3J5KTogT2JzZXJ2YWJsZTxDb21wb25lbnRTdG9yeT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8Q29tcG9uZW50U3Rvcnk+KHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke3N0b3J5LnVpQ29tcG9uZW50SWR9L3N0b3JpZXNgLFxuICAgICAgYm9keTogc3RvcnksXG4gICAgfSk7XG4gIH07XG5cbiAgdXBkYXRlQ29tcG9uZW50U3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgc3Rvcnk6IENvbXBvbmVudFN0b3J5KTogT2JzZXJ2YWJsZTxDb21wb25lbnRTdG9yeT4gPT4ge1xuICAgIGNvbnN0IHsgc2NyaXB0LCB0ZW1wbGF0ZSwgc3R5bGVzLCBzZWN0aW9uLCAuLi5yZXN0IH0gPSBzdG9yeTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSUNvbXBvbmVudFN0b3J5RFRPPih7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtzdG9yeS51aUNvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnkuaWR9YCxcbiAgICAgICAgYm9keTogcmVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoZHRvID0+IGZyb21VSUNvbXBvbmVudFN0b3J5RFRPKGR0bywgeyBodG1sOiB0ZW1wbGF0ZSwganM6IHNjcmlwdCwgY3NzOiBzdHlsZXMsIGpzb246IHNlY3Rpb24gfSkpKTtcbiAgfTtcblxuICBkdXBsaWNhdGVDb21wb25lbnRTdG9yeSQgPSAoc3Rvcnk6IENvbXBvbmVudFN0b3J5LCBjbG9uZVJlcXVlc3Q6IENsb25lUmVxdWVzdCk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7c3RvcnkudGVtcGxhdGV9L2NvbXBvbmVudHMvJHtzdG9yeS51aUNvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnkuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHk6IGNsb25lUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuY2xvbmVkUmVjb3JkSWQpKTtcbiAgfTtcblxuICBkZWxldGVDb21wb25lbnRTdG9yeSQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nLCBzdG9yeUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeUlkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcmVzdG9yZUNvbXBvbmVudFN0b3J5JCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudElkOiBzdHJpbmcsIHN0b3J5SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH1gLFxuICAgIH0pO1xuICB9O1xuXG4gIHVwbG9hZFN0b3J5QXR0YWNobWVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIHN0b3J5SWQ6IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogQ29tcG9uZW50U3RvcnlBdHRhY2htZW50cyxcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBpZiAoYXR0YWNobWVudHMuaHRtbCAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2h0bWwnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuaHRtbF0pLCAnc3RvcnktdGVtcGxhdGUuaHRtbCcpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuY3NzICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnY3NzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmNzc10pLCAnc3Rvcnktc3R5bGVzLmNzcycpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuanMgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqcycsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc10pLCAnc3Rvcnktc2NyaXB0LmpzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qc29uICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnanNvbicsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc29uXSksICdzdG9yeS1zZWN0aW9uLmpzb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UudXBsb2FkKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH0vYXR0YWNobWVudHNgLFxuICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgfSk7XG4gIH07XG5cbiAgZ2V0VGVtcGxhdGVUaHVtYm5haWxVcmwodGVtcGxhdGVJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS90aHVtYm5haWwvZmlsZWA7XG4gIH1cblxuICBhdHRhY2hUZW1wbGF0ZVRodW1ibmFpbCQodGVtcGxhdGVJZDogc3RyaW5nLCBmaWxlOiBGaWxlKSB7XG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGRhdGEuYXBwZW5kKCd0aHVtYicsIGZpbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLnVwbG9hZCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L3RodW1ibmFpbGAsXG4gICAgICBib2R5OiBkYXRhLFxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlVGVtcGxhdGVUaHVtYm5haWwkKHRlbXBsYXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L3RodW1ibmFpbGAsXG4gICAgfSk7XG4gIH1cblxuICBmZXRjaENvbXBvbmVudEF0dGFjaG1lbnRzJCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzPiA9PiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMuZmV0Y2hDb21wb25lbnRBdHRhY2htZW50RmlsZSQodGVtcGxhdGVJZCwgY29tcG9uZW50LmlkLCAnaHRtbCcpLFxuICAgICAgdGhpcy5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRGaWxlJCh0ZW1wbGF0ZUlkLCBjb21wb25lbnQuaWQsICdqcycpLFxuICAgICAgdGhpcy5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRGaWxlJCh0ZW1wbGF0ZUlkLCBjb21wb25lbnQuaWQsICdjc3MnKSxcbiAgICAgIHRoaXMuZmV0Y2hDb21wb25lbnRBdHRhY2htZW50RmlsZSQodGVtcGxhdGVJZCwgY29tcG9uZW50LmlkLCAnanNvbicpLFxuICAgIF0pLnBpcGUobWFwKChbaHRtbCwganMsIGNzcywganNvbl0pID0+ICh7IGh0bWwsIGpzLCBjc3MsIGpzb24gfSkpKTtcbiAgfTtcblxuICBwcml2YXRlIGZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRUeXBlOiBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vYXR0YWNobWVudHMvJHthdHRhY2htZW50VHlwZX0vZmlsZWAsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICBlcnJvckhhbmRsZXI6IG5vb3AsXG4gICAgICB9KVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZignJykpKTtcbiAgfTtcblxuICB1cGxvYWRDb21wb25lbnRBdHRhY2htZW50cyQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IENvbXBvbmVudEF0dGFjaG1lbnRzLFxuICApOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGlmIChhdHRhY2htZW50cy5odG1sICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaHRtbCcsIG5ldyBCbG9iKFthdHRhY2htZW50cy5odG1sXSksICd0ZW1wbGF0ZS5odG1sJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5jc3MgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdjc3MnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuY3NzXSksICdzdHlsZXMuY3NzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qcyAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2pzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmpzXSksICdzY3JpcHQuanMnKTtcbiAgICB9XG4gICAgaWYgKGF0dGFjaG1lbnRzLmpzb24gIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqc29uJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmpzb25dKSwgJ3NlY3Rpb24uanNvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L2F0dGFjaG1lbnRzYCxcbiAgICAgIGJvZHk6IGZvcm1EYXRhLFxuICAgIH0pO1xuICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtcmVxdWVzdC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvdHlwZXMvY2xvbmUtcmVxdWVzdC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvbmVSZXF1ZXN0IHtcbiAgaWQ6IHN0cmluZztcbiAgcHJvcGVydGllc1RvT3ZlcnJpZGU6IERpY3Rpb25hcnk8YW55Pjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsdGEtcmVxdWVzdC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvdHlwZXMvZGVsdGEtcmVxdWVzdC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGluZUl0ZW0gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYWxjdWxhdGVEZWx0YVJlcXVlc3Qge1xuICBpbml0aWFsU3RhdGU6IExpbmVJdGVtW107XG4gIGN1cnJlbnRTdGF0ZTogTGluZUl0ZW1bXTtcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ export class AttributeDTO {
2
+ constructor(name, type, value, cfgStatus, id, scale) {
3
+ this.name = name;
4
+ this.type = type;
5
+ this.value = value;
6
+ this.cfgStatus = cfgStatus;
7
+ this.id = id;
8
+ this.scale = scale;
9
+ }
10
+ static fromDTO(dto) {
11
+ return {
12
+ id: dto.id,
13
+ name: dto.name,
14
+ type: dto.type,
15
+ scale: dto.scale,
16
+ value: dto.value,
17
+ cfgStatus: dto.cfgStatus,
18
+ };
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWR0by50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvdHlwZXMvZHRvL2F0dHJpYnV0ZS1kdG8udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFlBQVk7SUFZdkIsWUFDUyxJQUFZLEVBQ1osSUFBWSxFQUNaLEtBQVUsRUFDVixTQUFpQixFQUVqQixFQUFXLEVBQ1gsS0FBYztRQU5kLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNWLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFFakIsT0FBRSxHQUFGLEVBQUUsQ0FBUztRQUNYLFVBQUssR0FBTCxLQUFLLENBQVM7SUFDcEIsQ0FBQztJQW5CSixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQWlCO1FBQzlCLE9BQU87WUFDTCxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDVixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7WUFDaEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1lBQ2hCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBc0I7U0FDdEMsQ0FBQztJQUNKLENBQUM7Q0FXRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQ2ZnU3RhdHVzIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVEVE8ge1xuICBzdGF0aWMgZnJvbURUTyhkdG86IEF0dHJpYnV0ZURUTyk6IEF0dHJpYnV0ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBkdG8uaWQsXG4gICAgICBuYW1lOiBkdG8ubmFtZSxcbiAgICAgIHR5cGU6IGR0by50eXBlLFxuICAgICAgc2NhbGU6IGR0by5zY2FsZSxcbiAgICAgIHZhbHVlOiBkdG8udmFsdWUsXG4gICAgICBjZmdTdGF0dXM6IGR0by5jZmdTdGF0dXMgYXMgQ2ZnU3RhdHVzLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmcsXG4gICAgcHVibGljIHZhbHVlOiBhbnksXG4gICAgcHVibGljIGNmZ1N0YXR1czogc3RyaW5nLFxuXG4gICAgcHVibGljIGlkPzogc3RyaW5nLFxuICAgIHB1YmxpYyBzY2FsZT86IG51bWJlcixcbiAgKSB7fVxufVxuIl19
@@ -0,0 +1,49 @@
1
+ import { PriceAdjustmentDTO } from './price-adjustment-dto.types';
2
+ export class ChargeGroupItemDTO {
3
+ constructor(chargeType, chargeMethod, properties, id, chargeTypeDisplayValue, frequencyUnit, frequencyDuration, basePrice, currency, sellingTerm, netPrice, listPrice, netUnitPrice, listUnitPrice, cost, priceAdjustment, priceWaterfalls, priceAdjustmentEnabled, listPriceAdjustmentEnabled) {
4
+ this.chargeType = chargeType;
5
+ this.chargeMethod = chargeMethod;
6
+ this.properties = properties;
7
+ this.id = id;
8
+ this.chargeTypeDisplayValue = chargeTypeDisplayValue;
9
+ this.frequencyUnit = frequencyUnit;
10
+ this.frequencyDuration = frequencyDuration;
11
+ this.basePrice = basePrice;
12
+ this.currency = currency;
13
+ this.sellingTerm = sellingTerm;
14
+ this.netPrice = netPrice;
15
+ this.listPrice = listPrice;
16
+ this.netUnitPrice = netUnitPrice;
17
+ this.listUnitPrice = listUnitPrice;
18
+ this.cost = cost;
19
+ this.priceAdjustment = priceAdjustment;
20
+ this.priceWaterfalls = priceWaterfalls;
21
+ this.priceAdjustmentEnabled = priceAdjustmentEnabled;
22
+ this.listPriceAdjustmentEnabled = listPriceAdjustmentEnabled;
23
+ }
24
+ static fromDTO(dto) {
25
+ var _a;
26
+ return {
27
+ id: dto.id,
28
+ chargeType: dto.chargeType,
29
+ chargeTypeDisplayValue: dto.chargeTypeDisplayValue,
30
+ chargeMethod: dto.chargeMethod,
31
+ frequencyUnit: dto.frequencyUnit,
32
+ frequencyDuration: dto.frequencyDuration,
33
+ basePrice: dto.basePrice,
34
+ currency: dto.currency,
35
+ sellingTerm: dto.sellingTerm,
36
+ netPrice: dto.netPrice,
37
+ listPrice: dto.listPrice,
38
+ netUnitPrice: dto.netUnitPrice,
39
+ listUnitPrice: dto.listUnitPrice,
40
+ cost: dto.cost,
41
+ priceAdjustment: dto.priceAdjustment && PriceAdjustmentDTO.fromDTO(dto.priceAdjustment),
42
+ priceWaterfalls: (_a = dto.priceWaterfalls) === null || _a === void 0 ? void 0 : _a.map(PriceAdjustmentDTO.fromDTO),
43
+ priceAdjustmentEnabled: dto.priceAdjustmentEnabled,
44
+ listPriceAdjustmentEnabled: dto.listPriceAdjustmentEnabled,
45
+ properties: dto.properties,
46
+ };
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmdlLWdyb3VwLWl0ZW0tZHRvLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi90eXBlcy9kdG8vY2hhcmdlLWdyb3VwLWl0ZW0tZHRvLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxFLE1BQU0sT0FBTyxrQkFBa0I7SUF5QjdCLFlBQ1MsVUFBa0IsRUFDbEIsWUFBb0IsRUFDcEIsVUFBOEIsRUFFOUIsRUFBVyxFQUNYLHNCQUErQixFQUUvQixhQUFzQixFQUN0QixpQkFBMEIsRUFFMUIsU0FBa0IsRUFDbEIsUUFBaUIsRUFDakIsV0FBb0IsRUFDcEIsUUFBaUIsRUFDakIsU0FBa0IsRUFDbEIsWUFBcUIsRUFDckIsYUFBc0IsRUFDdEIsSUFBYSxFQUViLGVBQW9DLEVBQ3BDLGVBQXNDLEVBRXRDLHNCQUFnQyxFQUNoQywwQkFBb0M7UUF2QnBDLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFFOUIsT0FBRSxHQUFGLEVBQUUsQ0FBUztRQUNYLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBUztRQUUvQixrQkFBYSxHQUFiLGFBQWEsQ0FBUztRQUN0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFFMUIsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFTO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUNsQixpQkFBWSxHQUFaLFlBQVksQ0FBUztRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBUztRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFTO1FBRWIsb0JBQWUsR0FBZixlQUFlLENBQXFCO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtRQUV0QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQVU7UUFDaEMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFVO0lBQzFDLENBQUM7SUFqREosTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUF1Qjs7UUFDcEMsT0FBTztZQUNMLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNWLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtZQUMxQixzQkFBc0IsRUFBRSxHQUFHLENBQUMsc0JBQXNCO1lBQ2xELFlBQVksRUFBRSxHQUFHLENBQUMsWUFBNEI7WUFDOUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUE4QjtZQUNqRCxpQkFBaUIsRUFBRSxHQUFHLENBQUMsaUJBQWlCO1lBQ3hDLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztZQUN4QixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7WUFDdEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1lBQzVCLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtZQUN0QixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7WUFDeEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO1lBQzlCLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYTtZQUNoQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN2RixlQUFlLEVBQUUsTUFBQSxHQUFHLENBQUMsZUFBZSwwQ0FBRSxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1lBQ3JFLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxzQkFBc0I7WUFDbEQsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLDBCQUEwQjtZQUMxRCxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7U0FDM0IsQ0FBQztJQUNKLENBQUM7Q0E0QkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFyZ2VHcm91cEl0ZW0sIENoYXJnZU1ldGhvZCwgRnJlcXVlbmN5VW5pdCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQcmljZUFkanVzdG1lbnREVE8gfSBmcm9tICcuL3ByaWNlLWFkanVzdG1lbnQtZHRvLnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIENoYXJnZUdyb3VwSXRlbURUTyB7XG4gIHN0YXRpYyBmcm9tRFRPKGR0bzogQ2hhcmdlR3JvdXBJdGVtRFRPKTogQ2hhcmdlR3JvdXBJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGR0by5pZCxcbiAgICAgIGNoYXJnZVR5cGU6IGR0by5jaGFyZ2VUeXBlLFxuICAgICAgY2hhcmdlVHlwZURpc3BsYXlWYWx1ZTogZHRvLmNoYXJnZVR5cGVEaXNwbGF5VmFsdWUsXG4gICAgICBjaGFyZ2VNZXRob2Q6IGR0by5jaGFyZ2VNZXRob2QgYXMgQ2hhcmdlTWV0aG9kLFxuICAgICAgZnJlcXVlbmN5VW5pdDogZHRvLmZyZXF1ZW5jeVVuaXQgYXMgRnJlcXVlbmN5VW5pdCxcbiAgICAgIGZyZXF1ZW5jeUR1cmF0aW9uOiBkdG8uZnJlcXVlbmN5RHVyYXRpb24sXG4gICAgICBiYXNlUHJpY2U6IGR0by5iYXNlUHJpY2UsXG4gICAgICBjdXJyZW5jeTogZHRvLmN1cnJlbmN5LFxuICAgICAgc2VsbGluZ1Rlcm06IGR0by5zZWxsaW5nVGVybSxcbiAgICAgIG5ldFByaWNlOiBkdG8ubmV0UHJpY2UsXG4gICAgICBsaXN0UHJpY2U6IGR0by5saXN0UHJpY2UsXG4gICAgICBuZXRVbml0UHJpY2U6IGR0by5uZXRVbml0UHJpY2UsXG4gICAgICBsaXN0VW5pdFByaWNlOiBkdG8ubGlzdFVuaXRQcmljZSxcbiAgICAgIGNvc3Q6IGR0by5jb3N0LFxuICAgICAgcHJpY2VBZGp1c3RtZW50OiBkdG8ucHJpY2VBZGp1c3RtZW50ICYmIFByaWNlQWRqdXN0bWVudERUTy5mcm9tRFRPKGR0by5wcmljZUFkanVzdG1lbnQpLFxuICAgICAgcHJpY2VXYXRlcmZhbGxzOiBkdG8ucHJpY2VXYXRlcmZhbGxzPy5tYXAoUHJpY2VBZGp1c3RtZW50RFRPLmZyb21EVE8pLFxuICAgICAgcHJpY2VBZGp1c3RtZW50RW5hYmxlZDogZHRvLnByaWNlQWRqdXN0bWVudEVuYWJsZWQsXG4gICAgICBsaXN0UHJpY2VBZGp1c3RtZW50RW5hYmxlZDogZHRvLmxpc3RQcmljZUFkanVzdG1lbnRFbmFibGVkLFxuICAgICAgcHJvcGVydGllczogZHRvLnByb3BlcnRpZXMsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGFyZ2VUeXBlOiBzdHJpbmcsXG4gICAgcHVibGljIGNoYXJnZU1ldGhvZDogc3RyaW5nLFxuICAgIHB1YmxpYyBwcm9wZXJ0aWVzOiBEaWN0aW9uYXJ5PHN0cmluZz4sXG5cbiAgICBwdWJsaWMgaWQ/OiBzdHJpbmcsXG4gICAgcHVibGljIGNoYXJnZVR5cGVEaXNwbGF5VmFsdWU/OiBzdHJpbmcsXG5cbiAgICBwdWJsaWMgZnJlcXVlbmN5VW5pdD86IHN0cmluZyxcbiAgICBwdWJsaWMgZnJlcXVlbmN5RHVyYXRpb24/OiBudW1iZXIsXG5cbiAgICBwdWJsaWMgYmFzZVByaWNlPzogbnVtYmVyLFxuICAgIHB1YmxpYyBjdXJyZW5jeT86IHN0cmluZyxcbiAgICBwdWJsaWMgc2VsbGluZ1Rlcm0/OiBudW1iZXIsXG4gICAgcHVibGljIG5ldFByaWNlPzogbnVtYmVyLFxuICAgIHB1YmxpYyBsaXN0UHJpY2U/OiBudW1iZXIsXG4gICAgcHVibGljIG5ldFVuaXRQcmljZT86IG51bWJlcixcbiAgICBwdWJsaWMgbGlzdFVuaXRQcmljZT86IG51bWJlcixcbiAgICBwdWJsaWMgY29zdD86IG51bWJlcixcblxuICAgIHB1YmxpYyBwcmljZUFkanVzdG1lbnQ/OiBQcmljZUFkanVzdG1lbnREVE8sXG4gICAgcHVibGljIHByaWNlV2F0ZXJmYWxscz86IFByaWNlQWRqdXN0bWVudERUT1tdLFxuXG4gICAgcHVibGljIHByaWNlQWRqdXN0bWVudEVuYWJsZWQ/OiBib29sZWFuLFxuICAgIHB1YmxpYyBsaXN0UHJpY2VBZGp1c3RtZW50RW5hYmxlZD86IGJvb2xlYW4sXG4gICkge31cbn1cbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { PriceAdjustmentDTO } from './price-adjustment-dto.types';
2
+ export class ChargeItemDTO {
3
+ constructor(id, price, unitPrice, baseListPrice, baseListUnitPrice, listPrice, listUnitPrice, netPrice, previousNetPrice, netUnitPrice, chargeId, chargeType, chargeMethod, priceItemId, startDate, priceWaterfalls, quantity, properties, chargeTypeDisplayValue, arr, frequencyUnit, frequencyDuration, endDate, sellingTerm, currency, unitCost, cost, minUnitPrice, minPrice, enablePriceAdjustment, enableListPriceAdjustment, listPriceAdjustment, priceAdjustment, requiresApprovals) {
4
+ this.id = id;
5
+ this.price = price;
6
+ this.unitPrice = unitPrice;
7
+ this.baseListPrice = baseListPrice;
8
+ this.baseListUnitPrice = baseListUnitPrice;
9
+ this.listPrice = listPrice;
10
+ this.listUnitPrice = listUnitPrice;
11
+ this.netPrice = netPrice;
12
+ this.previousNetPrice = previousNetPrice;
13
+ this.netUnitPrice = netUnitPrice;
14
+ this.chargeId = chargeId;
15
+ this.chargeType = chargeType;
16
+ this.chargeMethod = chargeMethod;
17
+ this.priceItemId = priceItemId;
18
+ this.startDate = startDate;
19
+ this.priceWaterfalls = priceWaterfalls;
20
+ this.quantity = quantity;
21
+ this.properties = properties;
22
+ this.chargeTypeDisplayValue = chargeTypeDisplayValue;
23
+ this.arr = arr;
24
+ this.frequencyUnit = frequencyUnit;
25
+ this.frequencyDuration = frequencyDuration;
26
+ this.endDate = endDate;
27
+ this.sellingTerm = sellingTerm;
28
+ this.currency = currency;
29
+ this.unitCost = unitCost;
30
+ this.cost = cost;
31
+ this.minUnitPrice = minUnitPrice;
32
+ this.minPrice = minPrice;
33
+ this.enablePriceAdjustment = enablePriceAdjustment;
34
+ this.enableListPriceAdjustment = enableListPriceAdjustment;
35
+ this.listPriceAdjustment = listPriceAdjustment;
36
+ this.priceAdjustment = priceAdjustment;
37
+ this.requiresApprovals = requiresApprovals;
38
+ }
39
+ static fromDTO(dto) {
40
+ return {
41
+ id: dto.id,
42
+ price: dto.price,
43
+ unitPrice: dto.unitPrice,
44
+ baseListPrice: dto.baseListPrice,
45
+ baseListUnitPrice: dto.baseListUnitPrice,
46
+ listPrice: dto.listPrice,
47
+ listUnitPrice: dto.listUnitPrice,
48
+ netPrice: dto.netPrice,
49
+ previousNetPrice: dto.previousNetPrice,
50
+ netUnitPrice: dto.netUnitPrice,
51
+ chargeId: dto.chargeId,
52
+ chargeType: dto.chargeType,
53
+ chargeTypeDisplayValue: dto.chargeTypeDisplayValue,
54
+ chargeMethod: dto.chargeMethod,
55
+ priceItemId: dto.priceItemId,
56
+ startDate: dto.startDate,
57
+ endDate: dto.endDate,
58
+ priceWaterfalls: dto.priceWaterfalls.map(PriceAdjustmentDTO.fromDTO),
59
+ quantity: dto.quantity,
60
+ properties: dto.properties,
61
+ arr: dto.arr,
62
+ frequencyUnit: dto.frequencyUnit,
63
+ frequencyDuration: dto.frequencyDuration,
64
+ sellingTerm: dto.sellingTerm,
65
+ currency: dto.currency,
66
+ unitCost: dto.unitCost,
67
+ cost: dto.cost,
68
+ minUnitPrice: dto.minUnitPrice,
69
+ minPrice: dto.minPrice,
70
+ enablePriceAdjustment: dto.enablePriceAdjustment,
71
+ enableListPriceAdjustment: dto.enableListPriceAdjustment,
72
+ listPriceAdjustment: dto.listPriceAdjustment && PriceAdjustmentDTO.fromDTO(dto.listPriceAdjustment),
73
+ priceAdjustment: dto.priceAdjustment && PriceAdjustmentDTO.fromDTO(dto.priceAdjustment),
74
+ requiresApprovals: dto.requiresApprovals,
75
+ };
76
+ }
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmdlLWl0ZW0tZHRvLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi90eXBlcy9kdG8vY2hhcmdlLWl0ZW0tZHRvLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxFLE1BQU0sT0FBTyxhQUFhO0lBd0N4QixZQUNTLEVBQVUsRUFFVixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsYUFBcUIsRUFDckIsaUJBQXlCLEVBQ3pCLFNBQWlCLEVBQ2pCLGFBQXFCLEVBQ3JCLFFBQWdCLEVBQ2hCLGdCQUF3QixFQUN4QixZQUFvQixFQUVwQixRQUFnQixFQUNoQixVQUFrQixFQUNsQixZQUFvQixFQUVwQixXQUFtQixFQUNuQixTQUFpQixFQUNqQixlQUFxQyxFQUNyQyxRQUFnQixFQUNoQixVQUE4QixFQUU5QixzQkFBK0IsRUFDL0IsR0FBWSxFQUVaLGFBQXNCLEVBQ3RCLGlCQUEwQixFQUMxQixPQUFnQixFQUVoQixXQUFvQixFQUNwQixRQUFpQixFQUNqQixRQUFpQixFQUNqQixJQUFhLEVBRWIsWUFBcUIsRUFDckIsUUFBaUIsRUFFakIscUJBQStCLEVBQy9CLHlCQUFtQyxFQUNuQyxtQkFBd0MsRUFDeEMsZUFBb0MsRUFFcEMsaUJBQXNDO1FBMUN0QyxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBRVYsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBQ3pCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFD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SSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1lBQ25HLGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3ZGLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7U0FDekMsQ0FBQztJQUNKLENBQUM7Q0ErQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFyZ2VJdGVtLCBDaGFyZ2VNZXRob2QsIEZyZXF1ZW5jeVVuaXQsIFJlcXVpcmVzQXBwcm92YWwgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUHJpY2VBZGp1c3RtZW50RFRPIH0gZnJvbSAnLi9wcmljZS1hZGp1c3RtZW50LWR0by50eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBDaGFyZ2VJdGVtRFRPIHtcbiAgc3RhdGljIGZyb21EVE8oZHRvOiBDaGFyZ2VJdGVtRFRPKTogQ2hhcmdlSXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBkdG8uaWQsXG4gICAgICBwcmljZTogZHRvLnByaWNlLFxuICAgICAgdW5pdFByaWNlOiBkdG8udW5pdFByaWNlLFxuICAgICAgYmFzZUxpc3RQcmljZTogZHRvLmJhc2VMaXN0UHJpY2UsXG4gICAgICBiYXNlTGlzdFVuaXRQcmljZTogZHRvLmJhc2VMaXN0VW5pdFByaWNlLFxuICAgICAgbGlzdFByaWNlOiBkdG8ubGlzdFByaWNlLFxuICAgICAgbGlzdFVuaXRQcmljZTogZHRvLmxpc3RVbml0UHJpY2UsXG4gICAgICBuZXRQcmljZTogZHRvLm5ldFByaWNlLFxuICAgICAgcHJldmlvdXNOZXRQcmljZTogZHRvLnByZXZpb3VzTmV0UHJpY2UsXG4gICAgICBuZXRVbml0UHJpY2U6IGR0by5uZXRVbml0UHJpY2UsXG4gICAgICBjaGFyZ2VJZDogZHRvLmNoYXJnZUlkLFxuICAgICAgY2hhcmdlVHlwZTogZHRvLmNoYXJnZVR5cGUsXG4gICAgICBjaGFyZ2VUeXBlRGlzcGxheVZhbHVlOiBkdG8uY2hhcmdlVHlwZURpc3BsYXlWYWx1ZSxcbiAgICAgIGNoYXJnZU1ldGhvZDogZHRvLmNoYXJnZU1ldGhvZCBhcyBDaGFyZ2VNZXRob2QsXG4gICAgICBwcmljZUl0ZW1JZDogZHRvLnByaWNlSXRlbUlkLFxuICAgICAgc3RhcnREYXRlOiBkdG8uc3RhcnREYXRlLFxuICAgICAgZW5kRGF0ZTogZHRvLmVuZERhdGUsXG4gICAgICBwcmljZVdhdGVyZmFsbHM6IGR0by5wcmljZVdhdGVyZmFsbHMubWFwKFByaWNlQWRqdXN0bWVudERUTy5mcm9tRFRPKSxcbiAgICAgIHF1YW50aXR5OiBkdG8ucXVhbnRpdHksXG4gICAgICBwcm9wZXJ0aWVzOiBkdG8ucHJvcGVydGllcyxcbiAgICAgIGFycjogZHRvLmFycixcbiAgICAgIGZyZXF1ZW5jeVVuaXQ6IGR0by5mcmVxdWVuY3lVbml0IGFzIEZyZXF1ZW5jeVVuaXQsXG4gICAgICBmcmVxdWVuY3lEdXJhdGlvbjogZHRvLmZyZXF1ZW5jeUR1cmF0aW9uLFxuICAgICAgc2VsbGluZ1Rlcm06IGR0by5zZWxsaW5nVGVybSxcbiAgICAgIGN1cnJlbmN5OiBkdG8uY3VycmVuY3ksXG4gICAgICB1bml0Q29zdDogZHRvLnVuaXRDb3N0LFxuICAgICAgY29zdDogZHRvLmNvc3QsXG4gICAgICBtaW5Vbml0UHJpY2U6IGR0by5taW5Vbml0UHJpY2UsXG4gICAgICBtaW5QcmljZTogZHRvLm1pblByaWNlLFxuICAgICAgZW5hYmxlUHJpY2VBZGp1c3RtZW50OiBkdG8uZW5hYmxlUHJpY2VBZGp1c3RtZW50LFxuICAgICAgZW5hYmxlTGlzdFByaWNlQWRqdXN0bWVudDogZHRvLmVuYWJsZUxpc3RQcmljZUFkanVzdG1lbnQsXG4gICAgICBsaXN0UHJpY2VBZGp1c3RtZW50OiBkdG8ubGlzdFByaWNlQWRqdXN0bWVudCAmJiBQcmljZUFkanVzdG1lbnREVE8uZnJvbURUTyhkdG8ubGlzdFByaWNlQWRqdXN0bWVudCksXG4gICAgICBwcmljZUFkanVzdG1lbnQ6IGR0by5wcmljZUFkanVzdG1lbnQgJiYgUHJpY2VBZGp1c3RtZW50RFRPLmZyb21EVE8oZHRvLnByaWNlQWRqdXN0bWVudCksXG4gICAgICByZXF1aXJlc0FwcHJvdmFsczogZHRvLnJlcXVpcmVzQXBwcm92YWxzLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWQ6IHN0cmluZyxcblxuICAgIHB1YmxpYyBwcmljZTogbnVtYmVyLFxuICAgIHB1YmxpYyB1bml0UHJpY2U6IG51bWJlcixcbiAgICBwdWJsaWMgYmFzZUxpc3RQcmljZTogbnVtYmVyLFxuICAgIHB1YmxpYyBiYXNlTGlzdFVuaXRQcmljZTogbnVtYmVyLFxuICAgIHB1YmxpYyBsaXN0UHJpY2U6IG51bWJlcixcbiAgICBwdWJsaWMgbGlzdFVuaXRQcmljZTogbnVtYmVyLFxuICAgIHB1YmxpYyBuZXRQcmljZTogbnVtYmVyLFxuICAgIHB1YmxpYyBwcmV2aW91c05ldFByaWNlOiBudW1iZXIsXG4gICAgcHVibGljIG5ldFVuaXRQcmljZTogbnVtYmVyLFxuXG4gICAgcHVibGljIGNoYXJnZUlkOiBzdHJpbmcsXG4gICAgcHVibGljIGNoYXJnZVR5cGU6IHN0cmluZyxcbiAgICBwdWJsaWMgY2hhcmdlTWV0aG9kOiBzdHJpbmcsXG5cbiAgICBwdWJsaWMgcHJpY2VJdGVtSWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgc3RhcnREYXRlOiBzdHJpbmcsXG4gICAgcHVibGljIHByaWNlV2F0ZXJmYWxsczogUHJpY2VBZGp1c3RtZW50RFRPW10sXG4gICAgcHVibGljIHF1YW50aXR5OiBudW1iZXIsXG4gICAgcHVibGljIHByb3BlcnRpZXM6IERpY3Rpb25hcnk8c3RyaW5nPixcblxuICAgIHB1YmxpYyBjaGFyZ2VUeXBlRGlzcGxheVZhbHVlPzogc3RyaW5nLFxuICAgIHB1YmxpYyBhcnI/OiBudW1iZXIsXG5cbiAgICBwdWJsaWMgZnJlcXVlbmN5VW5pdD86IHN0cmluZyxcbiAgICBwdWJsaWMgZnJlcXVlbmN5RHVyYXRpb24/OiBudW1iZXIsXG4gICAgcHVibGljIGVuZERhdGU/OiBzdHJpbmcsXG5cbiAgICBwdWJsaWMgc2VsbGluZ1Rlcm0/OiBudW1iZXIsXG4gICAgcHVibGljIGN1cnJlbmN5Pzogc3RyaW5nLFxuICAgIHB1YmxpYyB1bml0Q29zdD86IG51bWJlcixcbiAgICBwdWJsaWMgY29zdD86IG51bWJlcixcblxuICAgIHB1YmxpYyBtaW5Vbml0UHJpY2U/OiBudW1iZXIsXG4gICAgcHVibGljIG1pblByaWNlPzogbnVtYmVyLFxuXG4gICAgcHVibGljIGVuYWJsZVByaWNlQWRqdXN0bWVudD86IGJvb2xlYW4sXG4gICAgcHVibGljIGVuYWJsZUxpc3RQcmljZUFkanVzdG1lbnQ/OiBib29sZWFuLFxuICAgIHB1YmxpYyBsaXN0UHJpY2VBZGp1c3RtZW50PzogUHJpY2VBZGp1c3RtZW50RFRPLFxuICAgIHB1YmxpYyBwcmljZUFkanVzdG1lbnQ/OiBQcmljZUFkanVzdG1lbnREVE8sXG5cbiAgICBwdWJsaWMgcmVxdWlyZXNBcHByb3ZhbHM/OiBSZXF1aXJlc0FwcHJvdmFsW10sXG4gICkge31cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { LineItemDTO } from './line-item-dto.types';
2
+ export class ConfigurePriceDTO {
3
+ constructor(lineItem, context, charges, pricePlans) {
4
+ this.lineItem = lineItem;
5
+ this.context = context;
6
+ this.charges = charges;
7
+ this.pricePlans = pricePlans;
8
+ }
9
+ static fromDTO(dto) {
10
+ return {
11
+ lineItem: LineItemDTO.fromDTO(dto.lineItem),
12
+ charges: dto.charges,
13
+ pricePlans: dto.pricePlans,
14
+ context: dto.context,
15
+ deletedLineItems: dto.deletedLineItems.map(deletedLineItem => LineItemDTO.fromDTO(deletedLineItem)),
16
+ };
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kdG8udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3R5cGVzL2R0by9jb25maWd1cmF0aW9uLWR0by50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVcEQsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUNTLFFBQXFCLEVBQ3JCLE9BQTZCLEVBQzdCLE9BQTJCLEVBQzNCLFVBQXlDO1FBSHpDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBK0I7SUFDL0MsQ0FBQztJQWZKLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBc0I7UUFDbkMsT0FBTztZQUNMLFFBQVEsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ3BCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtZQUMxQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDcEIsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDcEcsQ0FBQztJQUNKLENBQUM7Q0FRRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJnZSwgQ29tcGlsZWRQcmljZVBsYW4sIENvbmZpZ3VyYXRpb25Db250ZXh0LCBDb25maWd1cmVQcmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBMaW5lSXRlbURUTyB9IGZyb20gJy4vbGluZS1pdGVtLWR0by50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJlUHJpY2VEVE8ge1xuICBsaW5lSXRlbTogTGluZUl0ZW1EVE87XG4gIGNvbnRleHQ6IENvbmZpZ3VyYXRpb25Db250ZXh0O1xuICBjaGFyZ2VzOiBEaWN0aW9uYXJ5PENoYXJnZT47XG4gIHByaWNlUGxhbnM6IERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+O1xuICBkZWxldGVkTGluZUl0ZW1zOiBMaW5lSXRlbURUT1tdO1xufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJlUHJpY2VEVE8ge1xuICBzdGF0aWMgZnJvbURUTyhkdG86IENvbmZpZ3VyZVByaWNlRFRPKTogQ29uZmlndXJlUHJpY2Uge1xuICAgIHJldHVybiB7XG4gICAgICBsaW5lSXRlbTogTGluZUl0ZW1EVE8uZnJvbURUTyhkdG8ubGluZUl0ZW0pLFxuICAgICAgY2hhcmdlczogZHRvLmNoYXJnZXMsXG4gICAgICBwcmljZVBsYW5zOiBkdG8ucHJpY2VQbGFucyxcbiAgICAgIGNvbnRleHQ6IGR0by5jb250ZXh0LFxuICAgICAgZGVsZXRlZExpbmVJdGVtczogZHRvLmRlbGV0ZWRMaW5lSXRlbXMubWFwKGRlbGV0ZWRMaW5lSXRlbSA9PiBMaW5lSXRlbURUTy5mcm9tRFRPKGRlbGV0ZWRMaW5lSXRlbSkpLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbGluZUl0ZW06IExpbmVJdGVtRFRPLFxuICAgIHB1YmxpYyBjb250ZXh0OiBDb25maWd1cmF0aW9uQ29udGV4dCxcbiAgICBwdWJsaWMgY2hhcmdlczogRGljdGlvbmFyeTxDaGFyZ2U+LFxuICAgIHB1YmxpYyBwcmljZVBsYW5zOiBEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPixcbiAgKSB7fVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ export class ConfigurationSettingsDTO {
2
+ constructor(id, key, value) {
3
+ this.id = id;
4
+ this.key = key;
5
+ this.value = value;
6
+ }
7
+ static fromDTO(dto, key) {
8
+ return {
9
+ id: dto === null || dto === void 0 ? void 0 : dto.id,
10
+ key: (dto === null || dto === void 0 ? void 0 : dto.key) || key || '',
11
+ value: dto === null || dto === void 0 ? void 0 : dto.value,
12
+ };
13
+ }
14
+ static toDTO(data) {
15
+ return {
16
+ id: data.id,
17
+ key: data.key,
18
+ value: data.value,
19
+ };
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1zZXR0aW5ncy1kdG8udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3R5cGVzL2R0by9jb25maWd1cmF0aW9uLXNldHRpbmdzLWR0by50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBaUJuQyxZQUFtQixFQUFVLEVBQVMsR0FBVyxFQUFTLEtBQWE7UUFBcEQsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQUcsQ0FBQztJQWhCM0UsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUE2QixFQUFFLEdBQVk7UUFDeEQsT0FBTztZQUNMLEVBQUUsRUFBRSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsRUFBRTtZQUNYLEdBQUcsRUFBRSxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxHQUFHLEtBQUksR0FBRyxJQUFJLEVBQUU7WUFDMUIsS0FBSyxFQUFFLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxLQUFLO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUEyQjtRQUN0QyxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUM7SUFDSixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uU2V0dGluZ3MgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcblxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXR0aW5nc0RUTyB7XG4gIHN0YXRpYyBmcm9tRFRPKGR0bzogQ29uZmlndXJhdGlvblNldHRpbmdzRFRPLCBrZXk/OiBzdHJpbmcpOiBDb25maWd1cmF0aW9uU2V0dGluZ3Mge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogZHRvPy5pZCxcbiAgICAgIGtleTogZHRvPy5rZXkgfHwga2V5IHx8ICcnLFxuICAgICAgdmFsdWU6IGR0bz8udmFsdWUsXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyB0b0RUTyhkYXRhOiBDb25maWd1cmF0aW9uU2V0dGluZ3MpOiBDb25maWd1cmF0aW9uU2V0dGluZ3NEVE8ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogZGF0YS5pZCxcbiAgICAgIGtleTogZGF0YS5rZXksXG4gICAgICB2YWx1ZTogZGF0YS52YWx1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIGlkOiBzdHJpbmcsIHB1YmxpYyBrZXk6IHN0cmluZywgcHVibGljIHZhbHVlOiBzdHJpbmcpIHt9XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { RecommendedPriceDTO } from './recommended-price-dto.types';
2
+ export class DomainTypeDTO {
3
+ constructor(name, displayName, minCard, maxCard, recommendedPrices, properties, status, cardinality) {
4
+ this.name = name;
5
+ this.displayName = displayName;
6
+ this.minCard = minCard;
7
+ this.maxCard = maxCard;
8
+ this.recommendedPrices = recommendedPrices;
9
+ this.properties = properties;
10
+ this.status = status;
11
+ this.cardinality = cardinality;
12
+ }
13
+ static fromDTO(dto) {
14
+ var _a;
15
+ return {
16
+ name: dto.name,
17
+ displayName: dto.displayName,
18
+ minCard: dto.minCard,
19
+ maxCard: dto.maxCard,
20
+ recommendedPrices: (_a = dto.recommendedPrices) === null || _a === void 0 ? void 0 : _a.map(RecommendedPriceDTO.fromDTO),
21
+ properties: dto.properties,
22
+ status: dto.status,
23
+ cardinality: dto.cardinality,
24
+ };
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLXR5cGUtZHRvLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi90eXBlcy9kdG8vZG9tYWluLXR5cGUtZHRvLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXBFLE1BQU0sT0FBTyxhQUFhO0lBY3hCLFlBQ1MsSUFBWSxFQUNaLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixPQUFlLEVBQ2YsaUJBQXlDLEVBQ3pDLFVBQStCLEVBQy9CLE1BQWUsRUFDZixXQUFvQjtRQVBwQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXdCO1FBQ3pDLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBUztJQUMxQixDQUFDO0lBdEJKLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBa0I7O1FBQy9CLE9BQU87WUFDTCxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ3BCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztZQUNwQixpQkFBaUIsRUFBRSxNQUFBLEdBQUcsQ0FBQyxpQkFBaUIsMENBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztZQUMxRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7WUFDMUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQ2xCLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVztTQUM3QixDQUFDO0lBQ0osQ0FBQztDQVlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9tYWluVHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSZWNvbW1lbmRlZFByaWNlRFRPIH0gZnJvbSAnLi9yZWNvbW1lbmRlZC1wcmljZS1kdG8udHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgRG9tYWluVHlwZURUTyB7XG4gIHN0YXRpYyBmcm9tRFRPKGR0bzogRG9tYWluVHlwZURUTyk6IERvbWFpblR5cGUge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBkdG8ubmFtZSxcbiAgICAgIGRpc3BsYXlOYW1lOiBkdG8uZGlzcGxheU5hbWUsXG4gICAgICBtaW5DYXJkOiBkdG8ubWluQ2FyZCxcbiAgICAgIG1heENhcmQ6IGR0by5tYXhDYXJkLFxuICAgICAgcmVjb21tZW5kZWRQcmljZXM6IGR0by5yZWNvbW1lbmRlZFByaWNlcz8ubWFwKFJlY29tbWVuZGVkUHJpY2VEVE8uZnJvbURUTyksXG4gICAgICBwcm9wZXJ0aWVzOiBkdG8ucHJvcGVydGllcyxcbiAgICAgIHN0YXR1czogZHRvLnN0YXR1cyxcbiAgICAgIGNhcmRpbmFsaXR5OiBkdG8uY2FyZGluYWxpdHksXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIGRpc3BsYXlOYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIG1pbkNhcmQ6IG51bWJlcixcbiAgICBwdWJsaWMgbWF4Q2FyZDogbnVtYmVyLFxuICAgIHB1YmxpYyByZWNvbW1lbmRlZFByaWNlcz86IFJlY29tbWVuZGVkUHJpY2VEVE9bXSxcbiAgICBwdWJsaWMgcHJvcGVydGllcz86IERpY3Rpb25hcnk8c3RyaW5nPixcbiAgICBwdWJsaWMgc3RhdHVzPzogc3RyaW5nLFxuICAgIHB1YmxpYyBjYXJkaW5hbGl0eT86IG51bWJlcixcbiAgKSB7fVxufVxuIl19