@veloceapps/api 11.0.0-2 → 11.0.0-20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (213) hide show
  1. package/esm2020/index.mjs +2 -45
  2. package/esm2020/src/index.mjs +32 -0
  3. package/esm2020/src/lib/api.module.mjs +108 -0
  4. package/esm2020/src/lib/services/account-api.service.mjs +87 -0
  5. package/esm2020/src/lib/services/auth.service.mjs +22 -0
  6. package/esm2020/src/lib/services/catalog-admin-api.service.mjs +192 -0
  7. package/esm2020/src/lib/services/catalog-api.service.mjs +90 -0
  8. package/esm2020/src/lib/services/configuration-settings-api.service.mjs +96 -0
  9. package/esm2020/src/lib/services/contracted-price-api.service.mjs +45 -0
  10. package/esm2020/src/lib/services/delta-api.service.mjs +23 -0
  11. package/esm2020/src/lib/services/document-attachment-api.service.mjs +66 -0
  12. package/esm2020/src/lib/services/endpoints-api.service.mjs +80 -0
  13. package/esm2020/src/lib/services/flow-state-api.mjs +142 -0
  14. package/esm2020/src/lib/services/flows-api.service.mjs +29 -0
  15. package/esm2020/src/lib/services/guided-sellings-admin-api.service.mjs +65 -0
  16. package/esm2020/src/lib/services/guided-sellings-api.service.mjs +37 -0
  17. package/esm2020/src/lib/services/offers-api.service.mjs +76 -0
  18. package/esm2020/src/lib/services/org-info-api.service.mjs +54 -0
  19. package/esm2020/src/lib/services/picklists-api.service.mjs +41 -0
  20. package/esm2020/src/lib/services/portals-api.service.mjs +76 -0
  21. package/esm2020/src/lib/services/price-api.service.mjs +63 -0
  22. package/esm2020/src/lib/services/product-api.service.mjs +153 -0
  23. package/esm2020/src/lib/services/promotions-api.service.mjs +68 -0
  24. package/esm2020/src/lib/services/ramp-api.service.mjs +31 -0
  25. package/esm2020/src/lib/services/rebate-program-api.service.mjs +68 -0
  26. package/esm2020/src/lib/services/rebate-type-api.service.mjs +68 -0
  27. package/esm2020/src/lib/services/salesforce-api.service.mjs +79 -0
  28. package/esm2020/src/lib/services/sandbox-manager-api.service.mjs +94 -0
  29. package/esm2020/src/lib/services/shopping-cart-settings-api.service.mjs +28 -0
  30. package/esm2020/src/lib/services/stateful-configuration-api.mjs +51 -0
  31. package/esm2020/src/lib/services/veloce-objects-api.service.mjs +90 -0
  32. package/esm2020/src/lib/types/attachment.types.mjs +2 -0
  33. package/esm2020/src/lib/types/auth.types.mjs +2 -0
  34. package/esm2020/src/lib/types/clone-request.types.mjs +2 -0
  35. package/esm2020/src/lib/types/delta-request.types.mjs +2 -0
  36. package/esm2020/src/lib/types/dto/configuration-settings-dto.types.mjs +22 -0
  37. package/esm2020/src/lib/types/dto/offers-dto.types.mjs +2 -0
  38. package/esm2020/src/lib/types/index.mjs +8 -0
  39. package/esm2020/src/lib/types/org-info.types.mjs +2 -0
  40. package/esm2020/src/lib/types/price.types.mjs +2 -0
  41. package/esm2020/src/lib/types/quote.types.mjs +2 -0
  42. package/esm2020/src/lib/types/ramp-request.types.mjs +2 -0
  43. package/esm2020/src/lib/types/search-request.types.mjs +2 -0
  44. package/esm2020/src/lib/types/stateful-configuration.types.mjs +2 -0
  45. package/esm2020/src/lib/utils/canvas.utils.mjs +33 -0
  46. package/esm2020/src/lib/utils/index.mjs +2 -0
  47. package/esm2020/v2/api-v2.module.mjs +48 -0
  48. package/esm2020/v2/index.mjs +4 -0
  49. package/esm2020/v2/services/configuration-processors-api.service.mjs +38 -0
  50. package/esm2020/v2/services/context-definition-api.service.mjs +62 -0
  51. package/esm2020/v2/services/index.mjs +13 -0
  52. package/esm2020/v2/services/procedures-admin-api.service.mjs +82 -0
  53. package/esm2020/v2/services/procedures-api.service.mjs +44 -0
  54. package/esm2020/v2/services/rule-groups-admin-api.service.mjs +62 -0
  55. package/esm2020/v2/services/rules-admin-api.service.mjs +95 -0
  56. package/esm2020/v2/services/rules-api.service.mjs +36 -0
  57. package/esm2020/v2/services/sales-transactions-api.service.mjs +52 -0
  58. package/esm2020/v2/services/scripts-admin-api.service.mjs +75 -0
  59. package/esm2020/v2/services/scripts-api.service.mjs +23 -0
  60. package/esm2020/v2/services/ui-definitions-api.service.mjs +124 -0
  61. package/esm2020/{lib → v2}/services/ui-templates-api.service.mjs +2 -2
  62. package/esm2020/v2/types/clone-request.types.mjs +2 -0
  63. package/esm2020/v2/types/dto/ui-definition-dto.types.mjs +2 -0
  64. package/esm2020/v2/types/dto/ui-template-dto.types.mjs +2 -0
  65. package/esm2020/v2/types/index.mjs +4 -0
  66. package/esm2020/v2/types/procedure.types.mjs +2 -0
  67. package/esm2020/v2/types/sales-transaction.types.mjs +2 -0
  68. package/esm2020/v2/utils/ui-definition.utils.mjs +16 -0
  69. package/esm2020/v2/utils/ui-template.utils.mjs +13 -0
  70. package/esm2020/v2/veloceapps-api-v2.mjs +5 -0
  71. package/esm2020/veloceapps-api.mjs +1 -1
  72. package/fesm2015/veloceapps-api-v2.mjs +989 -0
  73. package/fesm2015/veloceapps-api-v2.mjs.map +1 -0
  74. package/fesm2015/veloceapps-api.mjs +14 -1217
  75. package/fesm2015/veloceapps-api.mjs.map +1 -1
  76. package/fesm2020/veloceapps-api-v2.mjs +1007 -0
  77. package/fesm2020/veloceapps-api-v2.mjs.map +1 -0
  78. package/fesm2020/veloceapps-api.mjs +11 -1246
  79. package/fesm2020/veloceapps-api.mjs.map +1 -1
  80. package/index.d.ts +1 -44
  81. package/package.json +9 -1
  82. package/src/index.d.ts +31 -0
  83. package/{lib → src/lib}/api.module.d.ts +2 -1
  84. package/src/lib/utils/index.d.ts +1 -0
  85. package/v2/api-v2.module.d.ts +7 -0
  86. package/v2/index.d.ts +3 -0
  87. package/{lib/services/rlm-api.service.d.ts → v2/services/context-definition-api.service.d.ts} +3 -3
  88. package/v2/services/index.d.ts +12 -0
  89. package/{lib/services/procedures-api.service.d.ts → v2/services/procedures-admin-api.service.d.ts} +6 -13
  90. package/v2/services/procedures-api.service.d.ts +15 -0
  91. package/{lib/services/rule-groups-api.service.d.ts → v2/services/rule-groups-admin-api.service.d.ts} +3 -3
  92. package/{lib/services/rules-api.service.d.ts → v2/services/rules-admin-api.service.d.ts} +4 -4
  93. package/v2/services/rules-api.service.d.ts +11 -0
  94. package/v2/services/sales-transactions-api.service.d.ts +20 -0
  95. package/{lib/services/scripts-api.service.d.ts → v2/services/scripts-admin-api.service.d.ts} +4 -5
  96. package/v2/services/scripts-api.service.d.ts +11 -0
  97. package/{lib → v2}/services/ui-definitions-api.service.d.ts +9 -0
  98. package/v2/types/clone-request.types.d.ts +5 -0
  99. package/v2/types/dto/ui-definition-dto.types.d.ts +7 -0
  100. package/v2/types/index.d.ts +3 -0
  101. package/v2/types/procedure.types.d.ts +10 -0
  102. package/v2/types/sales-transaction.types.d.ts +14 -0
  103. package/v2/utils/ui-definition.utils.d.ts +4 -0
  104. package/esm2020/lib/api.module.mjs +0 -146
  105. package/esm2020/lib/services/account-api.service.mjs +0 -87
  106. package/esm2020/lib/services/auth.service.mjs +0 -22
  107. package/esm2020/lib/services/catalog-admin-api.service.mjs +0 -192
  108. package/esm2020/lib/services/catalog-api.service.mjs +0 -90
  109. package/esm2020/lib/services/configuration-api.service.mjs +0 -109
  110. package/esm2020/lib/services/configuration-processors-api.service.mjs +0 -38
  111. package/esm2020/lib/services/configuration-settings-api.service.mjs +0 -96
  112. package/esm2020/lib/services/context-api.service.mjs +0 -26
  113. package/esm2020/lib/services/contracted-price-api.service.mjs +0 -45
  114. package/esm2020/lib/services/delta-api.service.mjs +0 -23
  115. package/esm2020/lib/services/document-attachment-api.service.mjs +0 -66
  116. package/esm2020/lib/services/endpoints-api.service.mjs +0 -80
  117. package/esm2020/lib/services/flow-state-api.mjs +0 -142
  118. package/esm2020/lib/services/flows-api.service.mjs +0 -29
  119. package/esm2020/lib/services/guided-sellings-admin-api.service.mjs +0 -65
  120. package/esm2020/lib/services/guided-sellings-api.service.mjs +0 -37
  121. package/esm2020/lib/services/offers-api.service.mjs +0 -76
  122. package/esm2020/lib/services/org-info-api.service.mjs +0 -54
  123. package/esm2020/lib/services/picklists-api.service.mjs +0 -41
  124. package/esm2020/lib/services/portals-api.service.mjs +0 -76
  125. package/esm2020/lib/services/price-api.service.mjs +0 -63
  126. package/esm2020/lib/services/procedures-api.service.mjs +0 -113
  127. package/esm2020/lib/services/product-api.service.mjs +0 -153
  128. package/esm2020/lib/services/product-model-api.service.mjs +0 -223
  129. package/esm2020/lib/services/promotions-api.service.mjs +0 -68
  130. package/esm2020/lib/services/quote-api.service.mjs +0 -56
  131. package/esm2020/lib/services/ramp-api.service.mjs +0 -31
  132. package/esm2020/lib/services/rebate-program-api.service.mjs +0 -68
  133. package/esm2020/lib/services/rebate-type-api.service.mjs +0 -68
  134. package/esm2020/lib/services/rlm-api.service.mjs +0 -65
  135. package/esm2020/lib/services/rlm-quote-api.service.mjs +0 -27
  136. package/esm2020/lib/services/rule-groups-api.service.mjs +0 -62
  137. package/esm2020/lib/services/rules-api.service.mjs +0 -98
  138. package/esm2020/lib/services/salesforce-api.service.mjs +0 -79
  139. package/esm2020/lib/services/sandbox-manager-api.service.mjs +0 -94
  140. package/esm2020/lib/services/scripts-api.service.mjs +0 -83
  141. package/esm2020/lib/services/shopping-cart-settings-api.service.mjs +0 -28
  142. package/esm2020/lib/services/stateful-configuration-api.mjs +0 -51
  143. package/esm2020/lib/services/ui-definitions-api.service.mjs +0 -76
  144. package/esm2020/lib/services/veloce-objects-api.service.mjs +0 -90
  145. package/esm2020/lib/types/attachment.types.mjs +0 -2
  146. package/esm2020/lib/types/auth.types.mjs +0 -2
  147. package/esm2020/lib/types/clone-request.types.mjs +0 -2
  148. package/esm2020/lib/types/delta-request.types.mjs +0 -2
  149. package/esm2020/lib/types/dto/configuration-settings-dto.types.mjs +0 -22
  150. package/esm2020/lib/types/dto/offers-dto.types.mjs +0 -2
  151. package/esm2020/lib/types/dto/ui-template-dto.types.mjs +0 -2
  152. package/esm2020/lib/types/index.mjs +0 -8
  153. package/esm2020/lib/types/org-info.types.mjs +0 -2
  154. package/esm2020/lib/types/price.types.mjs +0 -2
  155. package/esm2020/lib/types/quote.types.mjs +0 -2
  156. package/esm2020/lib/types/ramp-request.types.mjs +0 -2
  157. package/esm2020/lib/types/search-request.types.mjs +0 -2
  158. package/esm2020/lib/types/stateful-configuration.types.mjs +0 -2
  159. package/esm2020/lib/utils/canvas.utils.mjs +0 -33
  160. package/esm2020/lib/utils/index.mjs +0 -3
  161. package/esm2020/lib/utils/ui-template.utils.mjs +0 -13
  162. package/lib/services/configuration-api.service.d.ts +0 -23
  163. package/lib/services/context-api.service.d.ts +0 -11
  164. package/lib/services/product-model-api.service.d.ts +0 -29
  165. package/lib/services/quote-api.service.d.ts +0 -22
  166. package/lib/services/rlm-quote-api.service.d.ts +0 -11
  167. package/lib/utils/index.d.ts +0 -2
  168. /package/{lib → src/lib}/services/account-api.service.d.ts +0 -0
  169. /package/{lib → src/lib}/services/auth.service.d.ts +0 -0
  170. /package/{lib → src/lib}/services/catalog-admin-api.service.d.ts +0 -0
  171. /package/{lib → src/lib}/services/catalog-api.service.d.ts +0 -0
  172. /package/{lib → src/lib}/services/configuration-settings-api.service.d.ts +0 -0
  173. /package/{lib → src/lib}/services/contracted-price-api.service.d.ts +0 -0
  174. /package/{lib → src/lib}/services/delta-api.service.d.ts +0 -0
  175. /package/{lib → src/lib}/services/document-attachment-api.service.d.ts +0 -0
  176. /package/{lib → src/lib}/services/endpoints-api.service.d.ts +0 -0
  177. /package/{lib → src/lib}/services/flow-state-api.d.ts +0 -0
  178. /package/{lib → src/lib}/services/flows-api.service.d.ts +0 -0
  179. /package/{lib → src/lib}/services/guided-sellings-admin-api.service.d.ts +0 -0
  180. /package/{lib → src/lib}/services/guided-sellings-api.service.d.ts +0 -0
  181. /package/{lib → src/lib}/services/offers-api.service.d.ts +0 -0
  182. /package/{lib → src/lib}/services/org-info-api.service.d.ts +0 -0
  183. /package/{lib → src/lib}/services/picklists-api.service.d.ts +0 -0
  184. /package/{lib → src/lib}/services/portals-api.service.d.ts +0 -0
  185. /package/{lib → src/lib}/services/price-api.service.d.ts +0 -0
  186. /package/{lib → src/lib}/services/product-api.service.d.ts +0 -0
  187. /package/{lib → src/lib}/services/promotions-api.service.d.ts +0 -0
  188. /package/{lib → src/lib}/services/ramp-api.service.d.ts +0 -0
  189. /package/{lib → src/lib}/services/rebate-program-api.service.d.ts +0 -0
  190. /package/{lib → src/lib}/services/rebate-type-api.service.d.ts +0 -0
  191. /package/{lib → src/lib}/services/salesforce-api.service.d.ts +0 -0
  192. /package/{lib → src/lib}/services/sandbox-manager-api.service.d.ts +0 -0
  193. /package/{lib → src/lib}/services/shopping-cart-settings-api.service.d.ts +0 -0
  194. /package/{lib → src/lib}/services/stateful-configuration-api.d.ts +0 -0
  195. /package/{lib → src/lib}/services/veloce-objects-api.service.d.ts +0 -0
  196. /package/{lib → src/lib}/types/attachment.types.d.ts +0 -0
  197. /package/{lib → src/lib}/types/auth.types.d.ts +0 -0
  198. /package/{lib → src/lib}/types/clone-request.types.d.ts +0 -0
  199. /package/{lib → src/lib}/types/delta-request.types.d.ts +0 -0
  200. /package/{lib → src/lib}/types/dto/configuration-settings-dto.types.d.ts +0 -0
  201. /package/{lib → src/lib}/types/dto/offers-dto.types.d.ts +0 -0
  202. /package/{lib → src/lib}/types/index.d.ts +0 -0
  203. /package/{lib → src/lib}/types/org-info.types.d.ts +0 -0
  204. /package/{lib → src/lib}/types/price.types.d.ts +0 -0
  205. /package/{lib → src/lib}/types/quote.types.d.ts +0 -0
  206. /package/{lib → src/lib}/types/ramp-request.types.d.ts +0 -0
  207. /package/{lib → src/lib}/types/search-request.types.d.ts +0 -0
  208. /package/{lib → src/lib}/types/stateful-configuration.types.d.ts +0 -0
  209. /package/{lib → src/lib}/utils/canvas.utils.d.ts +0 -0
  210. /package/{lib → v2}/services/configuration-processors-api.service.d.ts +0 -0
  211. /package/{lib → v2}/services/ui-templates-api.service.d.ts +0 -0
  212. /package/{lib → v2}/types/dto/ui-template-dto.types.d.ts +0 -0
  213. /package/{lib → v2}/utils/ui-template.utils.d.ts +0 -0
@@ -0,0 +1,124 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { omit } from 'lodash';
4
+ import { map } from 'rxjs';
5
+ import { uiDefinitionFromDTO, uiDefinitionToDTO } from '../utils/ui-definition.utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@veloceapps/core";
8
+ export class UIDefinitionsApiService {
9
+ constructor(baseHttpService) {
10
+ this.baseHttpService = baseHttpService;
11
+ this.serviceUrl = '/v2/uidefinitions';
12
+ }
13
+ fetch$(modelId, version) {
14
+ const serviceUrl = this.getServiceUrl(modelId);
15
+ let params = new HttpParams();
16
+ if (version != null) {
17
+ params = params.set('modelVersion', version);
18
+ }
19
+ return this.baseHttpService
20
+ .api({
21
+ method: 'get',
22
+ url: serviceUrl,
23
+ params: params,
24
+ })
25
+ .pipe(map(containers => containers.map(uiDefinitionFromDTO)));
26
+ }
27
+ create$(modelId, uiDefinitionContainer) {
28
+ const serviceUrl = this.getServiceUrl(modelId);
29
+ const dto = {
30
+ ...omit(uiDefinitionContainer, 'source'),
31
+ name: uiDefinitionContainer.source.name,
32
+ templateName: uiDefinitionContainer.source.uiTemplateData?.TEMPLATE_NAME,
33
+ defaultFlag: uiDefinitionContainer.source.primary,
34
+ sourceBlob: JSON.stringify(uiDefinitionContainer.source),
35
+ };
36
+ return this.baseHttpService
37
+ .api({
38
+ method: 'post',
39
+ url: serviceUrl,
40
+ body: dto,
41
+ })
42
+ .pipe(map(container => uiDefinitionFromDTO(container)));
43
+ }
44
+ get$(modelId, uiDefinitionId) {
45
+ const serviceUrl = this.getServiceUrl(modelId);
46
+ return this.baseHttpService
47
+ .api({
48
+ method: 'get',
49
+ url: `${serviceUrl}/${uiDefinitionId}`,
50
+ })
51
+ .pipe(map(container => uiDefinitionFromDTO({ ...container, id: uiDefinitionId })));
52
+ }
53
+ update$(uiDefinitionContainer) {
54
+ const serviceUrl = this.getServiceUrl(uiDefinitionContainer.modelId);
55
+ const dto = uiDefinitionToDTO(uiDefinitionContainer);
56
+ return this.baseHttpService
57
+ .api({
58
+ method: 'put',
59
+ url: `${serviceUrl}/${uiDefinitionContainer.id}`,
60
+ body: dto,
61
+ })
62
+ .pipe(map(container => uiDefinitionFromDTO(container)));
63
+ }
64
+ delete$(uiDefinitionContainer) {
65
+ const serviceUrl = this.getServiceUrl(uiDefinitionContainer.modelId);
66
+ return this.baseHttpService.api({
67
+ method: 'delete',
68
+ url: `${serviceUrl}/${uiDefinitionContainer.id}`,
69
+ });
70
+ }
71
+ getServiceUrl(modelId) {
72
+ return `/models/${modelId}/uidefinitions`;
73
+ }
74
+ fetchUIDefinitions$(params) {
75
+ let httpParams = new HttpParams();
76
+ if (params?.productId != null) {
77
+ httpParams = httpParams.set('productId', params.productId);
78
+ }
79
+ if (params?.defaultUIDefinitionId != null) {
80
+ httpParams = httpParams.set('defaultUIDefinitionId', params.defaultUIDefinitionId);
81
+ }
82
+ return this.baseHttpService
83
+ .api({
84
+ method: 'get',
85
+ url: this.serviceUrl,
86
+ params: httpParams,
87
+ })
88
+ .pipe(map(containers => containers.map(uiDefinitionFromDTO)));
89
+ }
90
+ fetchUIDefinition$(id) {
91
+ return this.baseHttpService
92
+ .api({
93
+ method: 'get',
94
+ url: `${this.serviceUrl}/${id}`,
95
+ })
96
+ .pipe(map(container => uiDefinitionFromDTO({ ...container, id })));
97
+ }
98
+ createUIDefinition$(body) {
99
+ return this.baseHttpService.api({
100
+ method: 'post',
101
+ url: this.serviceUrl,
102
+ body,
103
+ });
104
+ }
105
+ updateUIDefinition$(uiDefinition) {
106
+ return this.baseHttpService.api({
107
+ method: 'put',
108
+ url: `${this.serviceUrl}/${uiDefinition.id}`,
109
+ body: uiDefinition,
110
+ });
111
+ }
112
+ deleteUIDefinition$(id) {
113
+ return this.baseHttpService.api({
114
+ method: 'delete',
115
+ url: `${this.serviceUrl}/${id}`,
116
+ });
117
+ }
118
+ }
119
+ UIDefinitionsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UIDefinitionsApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
120
+ UIDefinitionsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UIDefinitionsApiService });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UIDefinitionsApiService, decorators: [{
122
+ type: Injectable
123
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbnMtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS92Mi9zZXJ2aWNlcy91aS1kZWZpbml0aW9ucy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUd0RixNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUZuQyxlQUFVLEdBQVcsbUJBQW1CLENBQUM7SUFFSCxDQUFDO0lBRWpELE1BQU0sQ0FBQyxPQUFlLEVBQUUsT0FBZ0I7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtZQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLElBQUksQ0FBQyxlQUFlO2FBQ3hCLEdBQUcsQ0FBNkI7WUFDL0IsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsVUFBVTtZQUNmLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMs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QUUsRUFBRTtZQUM1QyxJQUFJLEVBQUUsWUFBWTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsRUFBVTtRQUNuQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7O29IQWhJVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgTmV3VUlEZWZpbml0aW9uQ29udGFpbmVyLCBVSURlZmluaXRpb25Db250YWluZXIgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IG9taXQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25Db250YWluZXJEVE8gfSBmcm9tICcuLi90eXBlcy9kdG8vdWktZGVmaW5pdGlvbi1kdG8udHlwZXMnO1xuaW1wb3J0IHsgdWlEZWZpbml0aW9uRnJvbURUTywgdWlEZWZpbml0aW9uVG9EVE8gfSBmcm9tICcuLi91dGlscy91aS1kZWZpbml0aW9uLnV0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVJRGVmaW5pdGlvbnNBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL3YyL3VpZGVmaW5pdGlvbnMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGZldGNoJChtb2RlbElkOiBzdHJpbmcsIHZlcnNpb24/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFVJRGVmaW5pdGlvbkNvbnRhaW5lcltdPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuZ2V0U2VydmljZVVybChtb2RlbElkKTtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAodmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdtb2RlbFZlcnNpb24nLCB2ZXJzaW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8VUlEZWZpbml0aW9uQ29udGFpbmVyRFRPW10+KHtcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgdXJsOiBzZXJ2aWNlVXJsLFxuICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoY29udGFpbmVycyA9PiBjb250YWluZXJzLm1hcCh1aURlZmluaXRpb25Gcm9tRFRPKSkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSQobW9kZWxJZDogc3RyaW5nLCB1aURlZmluaXRpb25Db250YWluZXI6IE5ld1VJRGVmaW5pdGlvbkNvbnRhaW5lcik6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uQ29udGFpbmVyPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuZ2V0U2VydmljZVVybChtb2RlbElkKTtcbiAgICBjb25zdCBkdG8gPSB7XG4gICAgICAuLi5vbWl0KHVpRGVmaW5pdGlvbkNvbnRhaW5lciwgJ3NvdXJjZScpLFxuICAgICAgbmFtZTogdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5uYW1lLFxuICAgICAgdGVtcGxhdGVOYW1lOiB1aURlZmluaXRpb25Db250YWluZXIuc291cmNlLnVpVGVtcGxhdGVEYXRhPy5URU1QTEFURV9OQU1FLFxuICAgICAgZGVmYXVsdEZsYWc6IHVpRGVmaW5pdGlvbkNvbnRhaW5lci5zb3VyY2UucHJpbWFyeSxcbiAgICAgIHNvdXJjZUJsb2I6IEpTT04uc3RyaW5naWZ5KHVpRGVmaW5pdGlvbkNvbnRhaW5lci5zb3VyY2UpLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8VUlEZWZpbml0aW9uQ29udGFpbmVyRFRPPih7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmw6IHNlcnZpY2VVcmwsXG4gICAgICAgIGJvZHk6IGR0byxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoY29udGFpbmVyID0+IHVpRGVmaW5pdGlvbkZyb21EVE8oY29udGFpbmVyKSkpO1xuICB9XG5cbiAgcHVibGljIGdldCQobW9kZWxJZDogc3RyaW5nLCB1aURlZmluaXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb25Db250YWluZXIgfCBudWxsPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuZ2V0U2VydmljZVVybChtb2RlbElkKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSURlZmluaXRpb25Db250YWluZXJEVE8+KHtcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgdXJsOiBgJHtzZXJ2aWNlVXJsfS8ke3VpRGVmaW5pdGlvbklkfWAsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKGNvbnRhaW5lciA9PiB1aURlZmluaXRpb25Gcm9tRFRPKHsgLi4uY29udGFpbmVyLCBpZDogdWlEZWZpbml0aW9uSWQgfSkpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUkKHVpRGVmaW5pdGlvbkNvbnRhaW5lcjogVUlEZWZpbml0aW9uQ29udGFpbmVyKTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb25Db250YWluZXI+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5nZXRTZXJ2aWNlVXJsKHVpRGVmaW5pdGlvbkNvbnRhaW5lci5tb2RlbElkKTtcbiAgICBjb25zdCBkdG8gPSB1aURlZmluaXRpb25Ub0RUTyh1aURlZmluaXRpb25Db250YWluZXIpO1xuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFVJRGVmaW5pdGlvbkNvbnRhaW5lckRUTz4oe1xuICAgICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgICB1cmw6IGAke3NlcnZpY2VVcmx9LyR7dWlEZWZpbml0aW9uQ29udGFpbmVyLmlkfWAsXG4gICAgICAgIGJvZHk6IGR0byxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoY29udGFpbmVyID0+IHVpRGVmaW5pdGlvbkZyb21EVE8oY29udGFpbmVyKSkpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSQodWlEZWZpbml0aW9uQ29udGFpbmVyOiBVSURlZmluaXRpb25Db250YWluZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5nZXRTZXJ2aWNlVXJsKHVpRGVmaW5pdGlvbkNvbnRhaW5lci5tb2RlbElkKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7c2VydmljZVVybH0vJHt1aURlZmluaXRpb25Db250YWluZXIuaWR9YCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VydmljZVVybChtb2RlbElkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgL21vZGVscy8ke21vZGVsSWR9L3VpZGVmaW5pdGlvbnNgO1xuICB9XG5cbiAgcHVibGljIGZldGNoVUlEZWZpbml0aW9ucyQocGFyYW1zPzoge1xuICAgIHByb2R1Y3RJZD86IHN0cmluZztcbiAgICBkZWZhdWx0VUlEZWZpbml0aW9uSWQ/OiBzdHJpbmc7XG4gIH0pOiBPYnNlcnZhYmxlPFVJRGVmaW5pdGlvbkNvbnRhaW5lcltdPiB7XG4gICAgbGV0IGh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChwYXJhbXM/LnByb2R1Y3RJZCAhPSBudWxsKSB7XG4gICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ3Byb2R1Y3RJZCcsIHBhcmFtcy5wcm9kdWN0SWQpO1xuICAgIH1cbiAgICBpZiAocGFyYW1zPy5kZWZhdWx0VUlEZWZpbml0aW9uSWQgIT0gbnVsbCkge1xuICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuc2V0KCdkZWZhdWx0VUlEZWZpbml0aW9uSWQnLCBwYXJhbXMuZGVmYXVsdFVJRGVmaW5pdGlvbklkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8VUlEZWZpbml0aW9uQ29udGFpbmVyRFRPW10+KHtcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgdXJsOiB0aGlzLnNlcnZpY2VVcmwsXG4gICAgICAgIHBhcmFtczogaHR0cFBhcmFtcyxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoY29udGFpbmVycyA9PiBjb250YWluZXJzLm1hcCh1aURlZmluaXRpb25Gcm9tRFRPKSkpO1xuICB9XG5cbiAgcHVibGljIGZldGNoVUlEZWZpbml0aW9uJChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb25Db250YWluZXI+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gLFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChjb250YWluZXIgPT4gdWlEZWZpbml0aW9uRnJvbURUTyh7IC4uLmNvbnRhaW5lciwgaWQgfSkpKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVVSURlZmluaXRpb24kKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5zZXJ2aWNlVXJsLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVVSURlZmluaXRpb24kKHVpRGVmaW5pdGlvbjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt1aURlZmluaXRpb24uaWR9YCxcbiAgICAgIGJvZHk6IHVpRGVmaW5pdGlvbixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVVSURlZmluaXRpb24kKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -7,7 +7,7 @@ import * as i1 from "@veloceapps/core";
7
7
  export class UITemplatesApiService {
8
8
  constructor(baseHttpService) {
9
9
  this.baseHttpService = baseHttpService;
10
- this.serviceUrl = '/uitemplates';
10
+ this.serviceUrl = '/v2/uitemplates';
11
11
  this.fetchTemplates$ = (name) => {
12
12
  let params = new HttpParams();
13
13
  if (name) {
@@ -283,4 +283,4 @@ UITemplatesApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
283
283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UITemplatesApiService, decorators: [{
284
284
  type: Injectable
285
285
  }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGVtcGxhdGVzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi9zZXJ2aWNlcy91aS10ZW1wbGF0ZXMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFlM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFHckUsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLGNBQWMsQ0FBQztRQUk5QyxvQkFBZSxHQUFHLENBQUMsSUFBYSxFQUE0QixFQUFFO1lBQ25FLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBZSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQztRQUVLLG9CQUFlLEdBQUcsQ0FBQyxRQUF1QixFQUEwQixFQUFFO1lBQzNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQWE7Z0JBQzFDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxHQUFH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U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsVUFBa0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsWUFBWTtTQUNsRCxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEEvUlUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIENvbXBvbmVudEF0dGFjaG1lbnRzLFxuICBDb21wb25lbnRTdG9yeSxcbiAgQ29tcG9uZW50U3RvcnlBdHRhY2htZW50cyxcbiAgRXhwcmVzc2lvbixcbiAgTmV3Q29tcG9uZW50U3RvcnksXG4gIE5ld1RlbXBsYXRlQ29tcG9uZW50LFxuICBOZXdVSVRlbXBsYXRlLFxuICBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgVUlUZW1wbGF0ZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZvcmtKb2luLCBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsb25lUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzL2Nsb25lLXJlcXVlc3QudHlwZXMnO1xuaW1wb3J0IHsgVUlDb21wb25lbnRTdG9yeURUTyB9IGZyb20gJy4uL3R5cGVzL2R0by91aS10ZW1wbGF0ZS1kdG8udHlwZXMnO1xuaW1wb3J0IHsgZnJvbVVJQ29tcG9uZW50U3RvcnlEVE8gfSBmcm9tICcuLi91dGlscy91aS10ZW1wbGF0ZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVSVRlbXBsYXRlc0FwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VVcmw6IHN0cmluZyA9ICcvdWl0ZW1wbGF0ZXMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGZldGNoVGVtcGxhdGVzJCA9IChuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlW10+ID0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbmFtZScsIG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8VUlUZW1wbGF0ZVtdPih7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAsIHBhcmFtcyB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlVGVtcGxhdGUkID0gKHRlbXBsYXRlOiBOZXdVSVRlbXBsYXRlKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxVSVRlbXBsYXRlPih7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAsXG4gICAgICBib2R5OiB0ZW1wbGF0ZSxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgdXBkYXRlVGVtcGxhdGUkID0gKHRlbXBsYXRlOiBVSVRlbXBsYXRlKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxVSVRlbXBsYXRlPih7XG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGUuaWR9YCxcbiAgICAgIGJvZHk6IHRlbXBsYXRlLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBkdXBsaWNhdGVUZW1wbGF0ZSQgPSAodGVtcGxhdGU6IFVJVGVtcGxhdGUsIGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZS5pZH0vY2xvbmVgLFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgYm9keTogY2xvbmVSZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5jbG9uZWRSZWNvcmRJZCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZW1vdmVUZW1wbGF0ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVUZW1wbGF0ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2VhcmNoVGVtcGxhdGVzJCA9IChkYXRhOiB7XG4gICAgcGFyYW1zPzogRGljdGlvbmFyeTxzdHJpbmc+O1xuICAgIGV4cHJlc3Npb24/OiBFeHByZXNzaW9uO1xuICB9KTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlW10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L3NlYXJjaGAsXG4gICAgICBwYXJhbXM6IGRhdGEucGFyYW1zLFxuICAgICAgYm9keTogZGF0YS5leHByZXNzaW9uLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaENvbXBvbmVudHMkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgbmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnRbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCduYW1lJywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxUZW1wbGF0ZUNvbXBvbmVudFtdPih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzYCxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgZmV0Y2hDb21wb25lbnQkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFRlbXBsYXRlQ29tcG9uZW50Pih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlQ29tcG9uZW50JCA9IChjb21wb25lbnQ6IE5ld1RlbXBsYXRlQ29tcG9uZW50KTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8VGVtcGxhdGVDb21wb25lbnQ+KHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7Y29tcG9uZW50LnVpVGVtcGxhdGVJZH0vY29tcG9uZW50c2AsXG4gICAgICBib2R5OiBjb21wb25lbnQsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHVwZGF0ZUNvbXBvbmVudCQgPSAoY29tcG9uZW50OiBUZW1wbGF0ZUNvbXBvbmVudCk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFRlbXBsYXRlQ29tcG9uZW50Pih7XG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7Y29tcG9uZW50LnVpVGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudC5pZH1gLFxuICAgICAgYm9keTogY29tcG9uZW50LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBkdXBsaWNhdGVDb21wb25lbnQkID0gKGNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQsIGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjb21wb25lbnQudWlUZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50LmlkfS9jbG9uZWAsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBib2R5OiBjbG9uZVJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmNsb25lZFJlY29yZElkKSk7XG4gIH07XG5cbiAgcHVibGljIHJlbW92ZUNvbXBvbmVudCQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVDb21wb25lbnQkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaENvbXBvbmVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBkYXRhOiB7IHBhcmFtcz86IERpY3Rpb25hcnk8c3RyaW5nPjsgZXhwcmVzc2lvbj86IEV4cHJlc3Npb24gfSxcbiAgKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFtdPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvc2VhcmNoYCxcbiAgICAgIHBhcmFtczogZGF0YS5wYXJhbXMsXG4gICAgICBib2R5OiBkYXRhLmV4cHJlc3Npb24sXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoU3RvcnlBdHRhY2htZW50ID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIHN0b3J5SWQ6IHN0cmluZyxcbiAgICB0eXBlOiBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxzdHJpbmc+KHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH0vYXR0YWNobWVudHMvJHt0eXBlfS9maWxlYCxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgIGVycm9ySGFuZGxlcjogbm9vcCxcbiAgICAgIH0pXG4gICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKCcnKSkpO1xuICB9O1xuXG4gIHByaXZhdGUgY29udmVydFRvQ29tcG9uZW50U3RvcnkkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIHN0b3J5RHRvOiBVSUNvbXBvbmVudFN0b3J5RFRPLFxuICApOiBPYnNlcnZhYmxlPENvbXBvbmVudFN0b3J5PiA9PiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMuZmV0Y2hTdG9yeUF0dGFjaG1lbnQodGVtcGxhdGVJZCwgY29tcG9uZW50SWQsIHN0b3J5RHRvLmlkLCAnaHRtbCcpLFxuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdqcycpLFxuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdjc3MnKSxcbiAgICAgIHRoaXMuZmV0Y2hTdG9yeUF0dGFjaG1lbnQodGVtcGxhdGVJZCwgY29tcG9uZW50SWQsIHN0b3J5RHRvLmlkLCAnanNvbicpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtodG1sLCBqcywgY3NzLCBqc29uXSkgPT4gKHsgaHRtbCwganMsIGNzcywganNvbiB9KSksXG4gICAgICBtYXAoYXR0YWNobWVudHMgPT4gZnJvbVVJQ29tcG9uZW50U3RvcnlEVE8oc3RvcnlEdG8sIGF0dGFjaG1lbnRzKSksXG4gICAgKTtcbiAgfTtcblxuICBwdWJsaWMgZmV0Y2hTdG9yaWVzJCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudElkOiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbXBvbmVudFN0b3J5W10+ID0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbmFtZScsIG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSUNvbXBvbmVudFN0b3J5RFRPW10+KHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzYCxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoZHRvcyA9PiB7XG4gICAgICAgICAgaWYgKCFkdG9zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGR0b3MubWFwKGR0byA9PiB0aGlzLmNvbnZlcnRUb0NvbXBvbmVudFN0b3J5JCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgZHRvKSkpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoU3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgc3RvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21wb25lbnRTdG9yeT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSUNvbXBvbmVudFN0b3J5RFRPPih7XG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vc3Rvcmllcy8ke3N0b3J5SWR9YCxcbiAgICAgIH0pXG4gICAgICAucGlwZShzd2l0Y2hNYXAoZHRvID0+IHRoaXMuY29udmVydFRvQ29tcG9uZW50U3RvcnkkKHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBkdG8pKSk7XG4gIH07XG5cbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudFN0b3J5JCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIHN0b3J5OiBOZXdDb21wb25lbnRTdG9yeSk6IE9ic2VydmFibGU8Q29tcG9uZW50U3Rvcnk+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPENvbXBvbmVudFN0b3J5Pih7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtzdG9yeS51aUNvbXBvbmVudElkfS9zdG9yaWVzYCxcbiAgICAgIGJvZHk6IHN0b3J5LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVDb21wb25lbnRTdG9yeSQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBzdG9yeTogQ29tcG9uZW50U3RvcnkpOiBPYnNlcnZhYmxlPENvbXBvbmVudFN0b3J5PiA9PiB7XG4gICAgY29uc3QgeyBzY3JpcHQsIHRlbXBsYXRlLCBzdHlsZXMsIHNlY3Rpb24sIC4uLnJlc3QgfSA9IHN0b3J5O1xuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFVJQ29tcG9uZW50U3RvcnlEVE8+KHtcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke3N0b3J5LnVpQ29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeS5pZH1gLFxuICAgICAgICBib2R5OiByZXN0LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChkdG8gPT4gZnJvbVVJQ29tcG9uZW50U3RvcnlEVE8oZHRvLCB7IGh0bWw6IHRlbXBsYXRlLCBqczogc2NyaXB0LCBjc3M6IHN0eWxlcywganNvbjogc2VjdGlvbiB9KSkpO1xuICB9O1xuXG4gIHB1YmxpYyBkdXBsaWNhdGVDb21wb25lbnRTdG9yeSQgPSAoc3Rvcnk6IENvbXBvbmVudFN0b3J5LCBjbG9uZVJlcXVlc3Q6IENsb25lUmVxdWVzdCk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7c3RvcnkudGVtcGxhdGV9L2NvbXBvbmVudHMvJHtzdG9yeS51aUNvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnkuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHk6IGNsb25lUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuY2xvbmVkUmVjb3JkSWQpKTtcbiAgfTtcblxuICBwdWJsaWMgZGVsZXRlQ29tcG9uZW50U3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgc3RvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH1gLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZXN0b3JlQ29tcG9uZW50U3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgc3RvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeUlkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHVwbG9hZFN0b3J5QXR0YWNobWVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIHN0b3J5SWQ6IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogQ29tcG9uZW50U3RvcnlBdHRhY2htZW50cyxcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBpZiAoYXR0YWNobWVudHMuaHRtbCAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2h0bWwnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuaHRtbF0pLCAnc3RvcnktdGVtcGxhdGUuaHRtbCcpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuY3NzICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnY3NzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmNzc10pLCAnc3Rvcnktc3R5bGVzLmNzcycpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuanMgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqcycsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc10pLCAnc3Rvcnktc2NyaXB0LmpzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qc29uICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnanNvbicsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc29uXSksICdzdG9yeS1zZWN0aW9uLmpzb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UudXBsb2FkKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH0vYXR0YWNobWVudHNgLFxuICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGdldFRlbXBsYXRlVGh1bWJuYWlsVXJsKHRlbXBsYXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vdGh1bWJuYWlsL2ZpbGVgO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlVGh1bWJuYWlsJCh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZGF0YS5hcHBlbmQoJ3RodW1iJywgZmlsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UudXBsb2FkKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vdGh1bWJuYWlsYCxcbiAgICAgIGJvZHk6IGRhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVGVtcGxhdGVUaHVtYm5haWwkKHRlbXBsYXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L3RodW1ibmFpbGAsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hDb21wb25lbnRBdHRhY2htZW50cyQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQsXG4gICk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHM+ID0+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRGaWxlJCh0ZW1wbGF0ZUlkLCBjb21wb25lbnQuaWQsICdodG1sJyksXG4gICAgICB0aGlzLmZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkKHRlbXBsYXRlSWQsIGNvbXBvbmVudC5pZCwgJ2pzJyksXG4gICAgICB0aGlzLmZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkKHRlbXBsYXRlSWQsIGNvbXBvbmVudC5pZCwgJ2NzcycpLFxuICAgICAgdGhpcy5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRGaWxlJCh0ZW1wbGF0ZUlkLCBjb21wb25lbnQuaWQsICdqc29uJyksXG4gICAgXSkucGlwZShtYXAoKFtodG1sLCBqcywgY3NzLCBqc29uXSkgPT4gKHsgaHRtbCwganMsIGNzcywganNvbiB9KSkpO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaENvbXBvbmVudHNBdHRhY2htZW50cyQgPSAodGVtcGxhdGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hDb21wb25lbnRzJCh0ZW1wbGF0ZUlkKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGNvbXBvbmVudHMgPT4ge1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oY29tcG9uZW50cy5tYXAoY29tcG9uZW50ID0+IHRoaXMuZmV0Y2hDb21wb25lbnRBdHRhY2htZW50cyQodGVtcGxhdGVJZCwgY29tcG9uZW50KSkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuICBwcml2YXRlIGZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRUeXBlOiBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vYXR0YWNobWVudHMvJHthdHRhY2htZW50VHlwZX0vZmlsZWAsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICBlcnJvckhhbmRsZXI6IG5vb3AsXG4gICAgICB9KVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZignJykpKTtcbiAgfTtcblxuICBwdWJsaWMgdXBsb2FkQ29tcG9uZW50QXR0YWNobWVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzOiBDb21wb25lbnRBdHRhY2htZW50cyxcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBpZiAoYXR0YWNobWVudHMuaHRtbCAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2h0bWwnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuaHRtbF0pLCAndGVtcGxhdGUuaHRtbCcpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuY3NzICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnY3NzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmNzc10pLCAnc3R5bGVzLmNzcycpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuanMgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqcycsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc10pLCAnc2NyaXB0LmpzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qc29uICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnanNvbicsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc29uXSksICdzZWN0aW9uLmpzb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UudXBsb2FkKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9hdHRhY2htZW50c2AsXG4gICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGVtcGxhdGVzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvdjIvc2VydmljZXMvdWktdGVtcGxhdGVzLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBR3JFLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRm5DLGVBQVUsR0FBVyxpQkFBaUIsQ0FBQztRQUlqRCxvQkFBZSxHQUFHLENBQUMsSUFBYSxFQUE0QixFQUFFO1lBQ25FLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBZSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQztRQUVLLG9CQUFlLEdBQUcsQ0FBQyxRQUF1QixFQUEwQixFQUFFO1lBQzNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQWE7Z0JBQzFDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxHQUFHLElB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WCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsVUFBa0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsWUFBWTtTQUNsRCxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEEvUlUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIENvbXBvbmVudEF0dGFjaG1lbnRzLFxuICBDb21wb25lbnRTdG9yeSxcbiAgQ29tcG9uZW50U3RvcnlBdHRhY2htZW50cyxcbiAgRXhwcmVzc2lvbixcbiAgTmV3Q29tcG9uZW50U3RvcnksXG4gIE5ld1RlbXBsYXRlQ29tcG9uZW50LFxuICBOZXdVSVRlbXBsYXRlLFxuICBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgVUlUZW1wbGF0ZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZvcmtKb2luLCBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsb25lUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzL2Nsb25lLXJlcXVlc3QudHlwZXMnO1xuaW1wb3J0IHsgVUlDb21wb25lbnRTdG9yeURUTyB9IGZyb20gJy4uL3R5cGVzL2R0by91aS10ZW1wbGF0ZS1kdG8udHlwZXMnO1xuaW1wb3J0IHsgZnJvbVVJQ29tcG9uZW50U3RvcnlEVE8gfSBmcm9tICcuLi91dGlscy91aS10ZW1wbGF0ZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVSVRlbXBsYXRlc0FwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VVcmw6IHN0cmluZyA9ICcvdjIvdWl0ZW1wbGF0ZXMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGZldGNoVGVtcGxhdGVzJCA9IChuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlW10+ID0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbmFtZScsIG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8VUlUZW1wbGF0ZVtdPih7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAsIHBhcmFtcyB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlVGVtcGxhdGUkID0gKHRlbXBsYXRlOiBOZXdVSVRlbXBsYXRlKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxVSVRlbXBsYXRlPih7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAsXG4gICAgICBib2R5OiB0ZW1wbGF0ZSxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgdXBkYXRlVGVtcGxhdGUkID0gKHRlbXBsYXRlOiBVSVRlbXBsYXRlKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxVSVRlbXBsYXRlPih7XG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGUuaWR9YCxcbiAgICAgIGJvZHk6IHRlbXBsYXRlLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBkdXBsaWNhdGVUZW1wbGF0ZSQgPSAodGVtcGxhdGU6IFVJVGVtcGxhdGUsIGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZS5pZH0vY2xvbmVgLFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgYm9keTogY2xvbmVSZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5jbG9uZWRSZWNvcmRJZCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZW1vdmVUZW1wbGF0ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVUZW1wbGF0ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2VhcmNoVGVtcGxhdGVzJCA9IChkYXRhOiB7XG4gICAgcGFyYW1zPzogRGljdGlvbmFyeTxzdHJpbmc+O1xuICAgIGV4cHJlc3Npb24/OiBFeHByZXNzaW9uO1xuICB9KTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlW10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L3NlYXJjaGAsXG4gICAgICBwYXJhbXM6IGRhdGEucGFyYW1zLFxuICAgICAgYm9keTogZGF0YS5leHByZXNzaW9uLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaENvbXBvbmVudHMkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgbmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnRbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCduYW1lJywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxUZW1wbGF0ZUNvbXBvbmVudFtdPih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzYCxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgZmV0Y2hDb21wb25lbnQkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFRlbXBsYXRlQ29tcG9uZW50Pih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlQ29tcG9uZW50JCA9IChjb21wb25lbnQ6IE5ld1RlbXBsYXRlQ29tcG9uZW50KTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8VGVtcGxhdGVDb21wb25lbnQ+KHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7Y29tcG9uZW50LnVpVGVtcGxhdGVJZH0vY29tcG9uZW50c2AsXG4gICAgICBib2R5OiBjb21wb25lbnQsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHVwZGF0ZUNvbXBvbmVudCQgPSAoY29tcG9uZW50OiBUZW1wbGF0ZUNvbXBvbmVudCk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFRlbXBsYXRlQ29tcG9uZW50Pih7XG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7Y29tcG9uZW50LnVpVGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudC5pZH1gLFxuICAgICAgYm9keTogY29tcG9uZW50LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBkdXBsaWNhdGVDb21wb25lbnQkID0gKGNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQsIGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjb21wb25lbnQudWlUZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50LmlkfS9jbG9uZWAsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBib2R5OiBjbG9uZVJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmNsb25lZFJlY29yZElkKSk7XG4gIH07XG5cbiAgcHVibGljIHJlbW92ZUNvbXBvbmVudCQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVDb21wb25lbnQkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaENvbXBvbmVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBkYXRhOiB7IHBhcmFtcz86IERpY3Rpb25hcnk8c3RyaW5nPjsgZXhwcmVzc2lvbj86IEV4cHJlc3Npb24gfSxcbiAgKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFtdPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvc2VhcmNoYCxcbiAgICAgIHBhcmFtczogZGF0YS5wYXJhbXMsXG4gICAgICBib2R5OiBkYXRhLmV4cHJlc3Npb24sXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoU3RvcnlBdHRhY2htZW50ID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIHN0b3J5SWQ6IHN0cmluZyxcbiAgICB0eXBlOiBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxzdHJpbmc+KHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH0vYXR0YWNobWVudHMvJHt0eXBlfS9maWxlYCxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgIGVycm9ySGFuZGxlcjogbm9vcCxcbiAgICAgIH0pXG4gICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKCcnKSkpO1xuICB9O1xuXG4gIHByaXZhdGUgY29udmVydFRvQ29tcG9uZW50U3RvcnkkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIHN0b3J5RHRvOiBVSUNvbXBvbmVudFN0b3J5RFRPLFxuICApOiBPYnNlcnZhYmxlPENvbXBvbmVudFN0b3J5PiA9PiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMuZmV0Y2hTdG9yeUF0dGFjaG1lbnQodGVtcGxhdGVJZCwgY29tcG9uZW50SWQsIHN0b3J5RHRvLmlkLCAnaHRtbCcpLFxuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdqcycpLFxuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdjc3MnKSxcbiAgICAgIHRoaXMuZmV0Y2hTdG9yeUF0dGFjaG1lbnQodGVtcGxhdGVJZCwgY29tcG9uZW50SWQsIHN0b3J5RHRvLmlkLCAnanNvbicpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtodG1sLCBqcywgY3NzLCBqc29uXSkgPT4gKHsgaHRtbCwganMsIGNzcywganNvbiB9KSksXG4gICAgICBtYXAoYXR0YWNobWVudHMgPT4gZnJvbVVJQ29tcG9uZW50U3RvcnlEVE8oc3RvcnlEdG8sIGF0dGFjaG1lbnRzKSksXG4gICAgKTtcbiAgfTtcblxuICBwdWJsaWMgZmV0Y2hTdG9yaWVzJCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudElkOiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbXBvbmVudFN0b3J5W10+ID0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbmFtZScsIG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSUNvbXBvbmVudFN0b3J5RFRPW10+KHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzYCxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoZHRvcyA9PiB7XG4gICAgICAgICAgaWYgKCFkdG9zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGR0b3MubWFwKGR0byA9PiB0aGlzLmNvbnZlcnRUb0NvbXBvbmVudFN0b3J5JCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgZHRvKSkpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoU3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgc3RvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21wb25lbnRTdG9yeT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSUNvbXBvbmVudFN0b3J5RFRPPih7XG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vc3Rvcmllcy8ke3N0b3J5SWR9YCxcbiAgICAgIH0pXG4gICAgICAucGlwZShzd2l0Y2hNYXAoZHRvID0+IHRoaXMuY29udmVydFRvQ29tcG9uZW50U3RvcnkkKHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBkdG8pKSk7XG4gIH07XG5cbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudFN0b3J5JCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIHN0b3J5OiBOZXdDb21wb25lbnRTdG9yeSk6IE9ic2VydmFibGU8Q29tcG9uZW50U3Rvcnk+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPENvbXBvbmVudFN0b3J5Pih7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtzdG9yeS51aUNvbXBvbmVudElkfS9zdG9yaWVzYCxcbiAgICAgIGJvZHk6IHN0b3J5LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVDb21wb25lbnRTdG9yeSQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBzdG9yeTogQ29tcG9uZW50U3RvcnkpOiBPYnNlcnZhYmxlPENvbXBvbmVudFN0b3J5PiA9PiB7XG4gICAgY29uc3QgeyBzY3JpcHQsIHRlbXBsYXRlLCBzdHlsZXMsIHNlY3Rpb24sIC4uLnJlc3QgfSA9IHN0b3J5O1xuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFVJQ29tcG9uZW50U3RvcnlEVE8+KHtcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke3N0b3J5LnVpQ29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeS5pZH1gLFxuICAgICAgICBib2R5OiByZXN0LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChkdG8gPT4gZnJvbVVJQ29tcG9uZW50U3RvcnlEVE8oZHRvLCB7IGh0bWw6IHRlbXBsYXRlLCBqczogc2NyaXB0LCBjc3M6IHN0eWxlcywganNvbjogc2VjdGlvbiB9KSkpO1xuICB9O1xuXG4gIHB1YmxpYyBkdXBsaWNhdGVDb21wb25lbnRTdG9yeSQgPSAoc3Rvcnk6IENvbXBvbmVudFN0b3J5LCBjbG9uZVJlcXVlc3Q6IENsb25lUmVxdWVzdCk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7c3RvcnkudGVtcGxhdGV9L2NvbXBvbmVudHMvJHtzdG9yeS51aUNvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnkuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHk6IGNsb25lUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuY2xvbmVkUmVjb3JkSWQpKTtcbiAgfTtcblxuICBwdWJsaWMgZGVsZXRlQ29tcG9uZW50U3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgc3RvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH1gLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZXN0b3JlQ29tcG9uZW50U3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgc3RvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeUlkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHVwbG9hZFN0b3J5QXR0YWNobWVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIHN0b3J5SWQ6IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogQ29tcG9uZW50U3RvcnlBdHRhY2htZW50cyxcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBpZiAoYXR0YWNobWVudHMuaHRtbCAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2h0bWwnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuaHRtbF0pLCAnc3RvcnktdGVtcGxhdGUuaHRtbCcpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuY3NzICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnY3NzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmNzc10pLCAnc3Rvcnktc3R5bGVzLmNzcycpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuanMgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqcycsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc10pLCAnc3Rvcnktc2NyaXB0LmpzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qc29uICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnanNvbicsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc29uXSksICdzdG9yeS1zZWN0aW9uLmpzb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UudXBsb2FkKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH0vYXR0YWNobWVudHNgLFxuICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGdldFRlbXBsYXRlVGh1bWJuYWlsVXJsKHRlbXBsYXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vdGh1bWJuYWlsL2ZpbGVgO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlVGh1bWJuYWlsJCh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZGF0YS5hcHBlbmQoJ3RodW1iJywgZmlsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UudXBsb2FkKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vdGh1bWJuYWlsYCxcbiAgICAgIGJvZHk6IGRhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVGVtcGxhdGVUaHVtYm5haWwkKHRlbXBsYXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L3RodW1ibmFpbGAsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hDb21wb25lbnRBdHRhY2htZW50cyQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQsXG4gICk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHM+ID0+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRGaWxlJCh0ZW1wbGF0ZUlkLCBjb21wb25lbnQuaWQsICdodG1sJyksXG4gICAgICB0aGlzLmZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkKHRlbXBsYXRlSWQsIGNvbXBvbmVudC5pZCwgJ2pzJyksXG4gICAgICB0aGlzLmZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkKHRlbXBsYXRlSWQsIGNvbXBvbmVudC5pZCwgJ2NzcycpLFxuICAgICAgdGhpcy5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRGaWxlJCh0ZW1wbGF0ZUlkLCBjb21wb25lbnQuaWQsICdqc29uJyksXG4gICAgXSkucGlwZShtYXAoKFtodG1sLCBqcywgY3NzLCBqc29uXSkgPT4gKHsgaHRtbCwganMsIGNzcywganNvbiB9KSkpO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaENvbXBvbmVudHNBdHRhY2htZW50cyQgPSAodGVtcGxhdGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hDb21wb25lbnRzJCh0ZW1wbGF0ZUlkKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGNvbXBvbmVudHMgPT4ge1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oY29tcG9uZW50cy5tYXAoY29tcG9uZW50ID0+IHRoaXMuZmV0Y2hDb21wb25lbnRBdHRhY2htZW50cyQodGVtcGxhdGVJZCwgY29tcG9uZW50KSkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuICBwcml2YXRlIGZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRUeXBlOiBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vYXR0YWNobWVudHMvJHthdHRhY2htZW50VHlwZX0vZmlsZWAsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICBlcnJvckhhbmRsZXI6IG5vb3AsXG4gICAgICB9KVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZignJykpKTtcbiAgfTtcblxuICBwdWJsaWMgdXBsb2FkQ29tcG9uZW50QXR0YWNobWVudHMkID0gKFxuICAgIHRlbXBsYXRlSWQ6IHN0cmluZyxcbiAgICBjb21wb25lbnRJZDogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzOiBDb21wb25lbnRBdHRhY2htZW50cyxcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBpZiAoYXR0YWNobWVudHMuaHRtbCAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2h0bWwnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuaHRtbF0pLCAndGVtcGxhdGUuaHRtbCcpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuY3NzICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnY3NzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmNzc10pLCAnc3R5bGVzLmNzcycpO1xuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMuanMgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqcycsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc10pLCAnc2NyaXB0LmpzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qc29uICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnanNvbicsIG5ldyBCbG9iKFthdHRhY2htZW50cy5qc29uXSksICdzZWN0aW9uLmpzb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UudXBsb2FkKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9hdHRhY2htZW50c2AsXG4gICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtcmVxdWVzdC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3YyL3R5cGVzL2Nsb25lLXJlcXVlc3QudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb25lUmVxdWVzdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHByb3BlcnRpZXNUb092ZXJyaWRlOiBEaWN0aW9uYXJ5PGFueT47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi1kdG8udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS92Mi90eXBlcy9kdG8vdWktZGVmaW5pdGlvbi1kdG8udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5ld1VJRGVmaW5pdGlvbkNvbnRhaW5lciwgVUlEZWZpbml0aW9uQ29udGFpbmVyIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFVJRGVmaW5pdGlvbkNvbnRhaW5lckRUTyA9IE9taXQ8VUlEZWZpbml0aW9uQ29udGFpbmVyLCAnc291cmNlJz4gJiB7XG4gIHNvdXJjZUJsb2I6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5ld1VJRGVmaW5pdGlvbkNvbnRhaW5lckRUTyA9IE9taXQ8TmV3VUlEZWZpbml0aW9uQ29udGFpbmVyLCAnc291cmNlJz4gJiB7XG4gIHNvdXJjZUJsb2I6IHN0cmluZztcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGVtcGxhdGUtZHRvLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvdjIvdHlwZXMvZHRvL3VpLXRlbXBsYXRlLWR0by50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVSUNvbXBvbmVudFN0b3J5RFRPIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB1aUNvbXBvbmVudElkOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './clone-request.types';
2
+ export * from './procedure.types';
3
+ export * from './sales-transaction.types';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS92Mi90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xvbmUtcmVxdWVzdC50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2NlZHVyZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NhbGVzLXRyYW5zYWN0aW9uLnR5cGVzJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2VkdXJlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvdjIvdHlwZXMvcHJvY2VkdXJlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWxlc1RyYW5zYWN0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2VkdXJlQXBwbHlSZXF1ZXN0IHtcbiAgcHJvY2VkdXJlTmFtZT86IHN0cmluZztcbiAgc2FsZXNUcmFuc2FjdGlvbjogU2FsZXNUcmFuc2FjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9jZWR1cmVBcHBseVJlc3BvbnNlIHtcbiAgZHJ5UnVuOiBib29sZWFuO1xuICBzYWxlc1RyYW5zYWN0aW9uOiBTYWxlc1RyYW5zYWN0aW9uO1xuICBjYXRhbG9nUHJvZHVjdHM6IHVua25vd247XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXMtdHJhbnNhY3Rpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS92Mi90eXBlcy9zYWxlcy10cmFuc2FjdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FsZXNUcmFuc2FjdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzVHJhbnNhY3Rpb25SZXF1ZXN0UGFyYW1zIHtcbiAgY29udGV4dE1hcHBpbmdJZD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYWxlc1RyYW5zYWN0aW9uUmVzcG9uc2Uge1xuICBzYWxlc1RyYW5zYWN0aW9uOiBTYWxlc1RyYW5zYWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzVHJhbnNhY3Rpb25VcHNlcnRSZXNwb25zZSB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNUcmFuc2FjdGlvblN1Ym1pdFJlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { parseJsonStringAsObject } from '@veloceapps/core';
2
+ export function uiDefinitionFromDTO(container) {
3
+ const { sourceBlob, ...rest } = container;
4
+ return {
5
+ ...rest,
6
+ source: parseJsonStringAsObject(sourceBlob),
7
+ };
8
+ }
9
+ export function uiDefinitionToDTO(container) {
10
+ const { source, ...rest } = container;
11
+ return {
12
+ ...rest,
13
+ sourceBlob: JSON.stringify(source),
14
+ };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3YyL3V0aWxzL3VpLWRlZmluaXRpb24udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBR2xGLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUFtQztJQUNyRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBRTFDLE9BQU87UUFDTCxHQUFHLElBQUk7UUFDUCxNQUFNLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDO0tBQzVDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQWdDO0lBQ2hFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFFdEMsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztLQUNuQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlSnNvblN0cmluZ0FzT2JqZWN0LCBVSURlZmluaXRpb25Db250YWluZXIgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbkNvbnRhaW5lckRUTyB9IGZyb20gJy4uL3R5cGVzL2R0by91aS1kZWZpbml0aW9uLWR0by50eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1aURlZmluaXRpb25Gcm9tRFRPKGNvbnRhaW5lcjogVUlEZWZpbml0aW9uQ29udGFpbmVyRFRPKTogVUlEZWZpbml0aW9uQ29udGFpbmVyIHtcbiAgY29uc3QgeyBzb3VyY2VCbG9iLCAuLi5yZXN0IH0gPSBjb250YWluZXI7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN0LFxuICAgIHNvdXJjZTogcGFyc2VKc29uU3RyaW5nQXNPYmplY3Qoc291cmNlQmxvYiksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1aURlZmluaXRpb25Ub0RUTyhjb250YWluZXI6IFVJRGVmaW5pdGlvbkNvbnRhaW5lcik6IFVJRGVmaW5pdGlvbkNvbnRhaW5lckRUTyB7XG4gIGNvbnN0IHsgc291cmNlLCAuLi5yZXN0IH0gPSBjb250YWluZXI7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN0LFxuICAgIHNvdXJjZUJsb2I6IEpTT04uc3RyaW5naWZ5KHNvdXJjZSksXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export const fromUIComponentStoryDTO = (dto, attachments) => {
2
+ return {
3
+ id: dto.id,
4
+ name: dto.name,
5
+ uiComponentId: dto.uiComponentId,
6
+ description: dto.description,
7
+ section: attachments.json,
8
+ template: attachments.html,
9
+ script: attachments.js,
10
+ styles: attachments.css,
11
+ };
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGVtcGxhdGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS92Mi91dGlscy91aS10ZW1wbGF0ZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxHQUF3QixFQUN4QixXQUFzQyxFQUN0QixFQUFFO0lBQ2xCLE9BQU87UUFDTCxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7UUFDZCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7UUFDaEMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1FBQzVCLE9BQU8sRUFBRSxXQUFXLENBQUMsSUFBSTtRQUN6QixRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDMUIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxXQUFXLENBQUMsR0FBRztLQUN4QixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50U3RvcnksIENvbXBvbmVudFN0b3J5QXR0YWNobWVudHMgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFVJQ29tcG9uZW50U3RvcnlEVE8gfSBmcm9tICcuLi90eXBlcy9kdG8vdWktdGVtcGxhdGUtZHRvLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGZyb21VSUNvbXBvbmVudFN0b3J5RFRPID0gKFxuICBkdG86IFVJQ29tcG9uZW50U3RvcnlEVE8sXG4gIGF0dGFjaG1lbnRzOiBDb21wb25lbnRTdG9yeUF0dGFjaG1lbnRzLFxuKTogQ29tcG9uZW50U3RvcnkgPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBkdG8uaWQsXG4gICAgbmFtZTogZHRvLm5hbWUsXG4gICAgdWlDb21wb25lbnRJZDogZHRvLnVpQ29tcG9uZW50SWQsXG4gICAgZGVzY3JpcHRpb246IGR0by5kZXNjcmlwdGlvbixcbiAgICBzZWN0aW9uOiBhdHRhY2htZW50cy5qc29uLFxuICAgIHRlbXBsYXRlOiBhdHRhY2htZW50cy5odG1sLFxuICAgIHNjcmlwdDogYXR0YWNobWVudHMuanMsXG4gICAgc3R5bGVzOiBhdHRhY2htZW50cy5jc3MsXG4gIH07XG59O1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsb2NlYXBwcy1hcGktdjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwaS92Mi92ZWxvY2VhcHBzLWFwaS12Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsb2NlYXBwcy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvdmVsb2NlYXBwcy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsb2NlYXBwcy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FwaS92ZWxvY2VhcHBzLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==