@veloceapps/sdk 6.0.0-6 → 6.0.0-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. package/bundles/veloceapps-sdk-cms.umd.js +1248 -823
  2. package/bundles/veloceapps-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloceapps-sdk-core.umd.js +803 -696
  4. package/bundles/veloceapps-sdk-core.umd.js.map +1 -1
  5. package/bundles/veloceapps-sdk-runtime.umd.js +209 -142
  6. package/bundles/veloceapps-sdk-runtime.umd.js.map +1 -1
  7. package/bundles/veloceapps-sdk.umd.js +371 -299
  8. package/bundles/veloceapps-sdk.umd.js.map +1 -1
  9. package/cms/components/element-children/element-children.component.d.ts +13 -3
  10. package/cms/components/element-children/element-children.module.d.ts +4 -2
  11. package/cms/components/element-drop-handle/element-drop-handle.component.d.ts +12 -0
  12. package/cms/components/element-drop-handle/element-drop-handle.module.d.ts +9 -0
  13. package/cms/components/element-renderer/element-renderer.component.d.ts +3 -3
  14. package/cms/components/preview/index.d.ts +1 -0
  15. package/cms/components/preview/preview.component.d.ts +9 -8
  16. package/cms/components/preview/preview.module.d.ts +2 -1
  17. package/cms/components/preview/preview.types.d.ts +11 -0
  18. package/cms/index.d.ts +2 -0
  19. package/cms/launcher.module.d.ts +3 -1
  20. package/cms/modules/migrations/index.d.ts +2 -0
  21. package/cms/modules/migrations/migrations.d.ts +2 -0
  22. package/cms/modules/migrations/migrations.module.d.ts +6 -0
  23. package/cms/modules/migrations/services/migrations.service.d.ts +10 -0
  24. package/cms/modules/migrations/types/migrations.types.d.ts +2 -0
  25. package/cms/modules/runtime/index.d.ts +2 -0
  26. package/cms/modules/runtime/runtime.module.d.ts +8 -0
  27. package/cms/modules/runtime/services/compilation.service.d.ts +18 -0
  28. package/cms/modules/runtime/services/runtime-editor.service.d.ts +18 -0
  29. package/cms/modules/runtime/services/runtime.service.d.ts +27 -0
  30. package/cms/modules/runtime/tokens.d.ts +3 -0
  31. package/cms/{types → modules/runtime/types}/compilation.types.d.ts +1 -1
  32. package/cms/modules/runtime/types/runtime.actions.d.ts +9 -0
  33. package/cms/services/index.d.ts +0 -1
  34. package/cms/services/io-provider.service.d.ts +3 -3
  35. package/cms/types/common.types.d.ts +1 -1
  36. package/cms/types/configuration.types.d.ts +1 -0
  37. package/cms/types/index.d.ts +1 -1
  38. package/cms/utils/elements-resolver.d.ts +3 -2
  39. package/cms/utils/index.d.ts +1 -0
  40. package/cms/utils/path.utils.d.ts +0 -1
  41. package/cms/utils/ui-definition.utils.d.ts +6 -0
  42. package/cms/vendor-map.d.ts +40 -25
  43. package/core/modules/configuration/services/configuration-runtime.service.d.ts +2 -4
  44. package/core/modules/configuration/services/configuration.service.d.ts +6 -4
  45. package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -2
  46. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +3 -2
  47. package/core/services/metric-calculation/metric-calculation.service.d.ts +5 -1
  48. package/core/services/quote-draft.service.d.ts +2 -2
  49. package/core/types/index.d.ts +0 -1
  50. package/core/types/ui-definition.types.d.ts +19 -4
  51. package/core/utils/index.d.ts +1 -0
  52. package/core/utils/line-item.utils.d.ts +2 -0
  53. package/core/utils/ui-definition.utils.d.ts +2 -0
  54. package/esm2015/cms/components/element-children/element-children.component.js +24 -8
  55. package/esm2015/cms/components/element-children/element-children.module.js +8 -6
  56. package/esm2015/cms/components/element-drop-handle/element-drop-handle.component.js +32 -0
  57. package/esm2015/cms/components/element-drop-handle/element-drop-handle.module.js +19 -0
  58. package/esm2015/cms/components/element-renderer/element-renderer.component.js +9 -9
  59. package/esm2015/cms/components/element-renderer/element-renderer.module.js +4 -4
  60. package/esm2015/cms/components/plugin.component.js +3 -3
  61. package/esm2015/cms/components/preview/index.js +2 -1
  62. package/esm2015/cms/components/preview/preview.component.js +21 -36
  63. package/esm2015/cms/components/preview/preview.module.js +7 -6
  64. package/esm2015/cms/components/preview/preview.types.js +2 -0
  65. package/esm2015/cms/directives/custom-template.directive.js +3 -3
  66. package/esm2015/cms/index.js +3 -1
  67. package/esm2015/cms/launcher.module.js +10 -9
  68. package/esm2015/cms/modules/federated/federated.component.js +3 -3
  69. package/esm2015/cms/modules/federated/federated.module.js +4 -4
  70. package/esm2015/cms/modules/migrations/index.js +3 -0
  71. package/esm2015/cms/modules/migrations/migrations.js +11 -0
  72. package/esm2015/cms/modules/migrations/migrations.module.js +15 -0
  73. package/esm2015/cms/modules/migrations/services/migrations.service.js +43 -0
  74. package/esm2015/cms/modules/migrations/types/migrations.types.js +2 -0
  75. package/esm2015/cms/modules/runtime/index.js +3 -0
  76. package/esm2015/cms/modules/runtime/runtime.module.js +32 -0
  77. package/esm2015/cms/modules/runtime/services/compilation.service.js +84 -0
  78. package/esm2015/cms/modules/runtime/services/runtime-editor.service.js +27 -0
  79. package/esm2015/cms/modules/runtime/services/runtime.service.js +74 -0
  80. package/esm2015/cms/modules/runtime/tokens.js +3 -0
  81. package/esm2015/cms/modules/runtime/types/compilation.types.js +2 -0
  82. package/esm2015/cms/modules/runtime/types/runtime.actions.js +2 -0
  83. package/esm2015/cms/plugins/configuration.plugin.js +12 -4
  84. package/esm2015/cms/plugins/io.plugin.js +3 -3
  85. package/esm2015/cms/plugins/script.plugin.js +3 -3
  86. package/esm2015/cms/services/element-context.service.js +3 -3
  87. package/esm2015/cms/services/index.js +1 -2
  88. package/esm2015/cms/services/integration.state.js +3 -3
  89. package/esm2015/cms/services/io-provider.service.js +9 -9
  90. package/esm2015/cms/services/templates.service.js +3 -3
  91. package/esm2015/cms/types/common.types.js +1 -1
  92. package/esm2015/cms/types/configuration.types.js +1 -1
  93. package/esm2015/cms/types/index.js +2 -2
  94. package/esm2015/cms/utils/elements-resolver.js +18 -8
  95. package/esm2015/cms/utils/index.js +2 -1
  96. package/esm2015/cms/utils/path.utils.js +2 -13
  97. package/esm2015/cms/utils/ui-definition.utils.js +82 -0
  98. package/esm2015/cms/vendor-map.js +21 -10
  99. package/esm2015/core/core.module.js +4 -4
  100. package/esm2015/core/modules/configuration/configuration.module.js +4 -4
  101. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +5 -10
  102. package/esm2015/core/modules/configuration/services/configuration.service.js +27 -24
  103. package/esm2015/core/modules/configuration/services/runtime-context.service.js +3 -3
  104. package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +1 -1
  105. package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +4 -4
  106. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +10 -9
  107. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +3 -3
  108. package/esm2015/core/services/context.service.js +3 -3
  109. package/esm2015/core/services/metric-calculation/metric-calculation.service.js +18 -9
  110. package/esm2015/core/services/product-images.service.js +3 -3
  111. package/esm2015/core/services/quote-draft.service.js +7 -7
  112. package/esm2015/core/types/index.js +1 -2
  113. package/esm2015/core/types/ui-definition.types.js +2 -2
  114. package/esm2015/core/utils/index.js +2 -1
  115. package/esm2015/core/utils/line-item.utils.js +27 -11
  116. package/esm2015/core/utils/ui-definition.utils.js +9 -0
  117. package/esm2015/runtime/components/component-preview/component-preview.component.js +4 -4
  118. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +3 -3
  119. package/esm2015/runtime/components/ui-runtime/runtime.component.js +3 -3
  120. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +3 -3
  121. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +6 -6
  122. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +3 -3
  123. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +3 -3
  124. package/esm2015/runtime/execution/components/federated/federated.component.js +3 -3
  125. package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +3 -3
  126. package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +3 -3
  127. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +3 -3
  128. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +3 -3
  129. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +3 -3
  130. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +3 -3
  131. package/esm2015/runtime/execution/directives/section-script.directive.js +3 -3
  132. package/esm2015/runtime/execution/directives/sf-query.directive.js +3 -3
  133. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +3 -3
  134. package/esm2015/runtime/execution/directives/velo-port.directive.js +18 -18
  135. package/esm2015/runtime/execution/directives/vl-approval.directive.js +3 -3
  136. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +3 -3
  137. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +3 -3
  138. package/esm2015/runtime/execution/directives/vl-quote.directive.js +4 -4
  139. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +3 -3
  140. package/esm2015/runtime/execution/runtime-execution.module.js +4 -4
  141. package/esm2015/runtime/runtime.module.js +4 -4
  142. package/esm2015/runtime/services/cart.service.js +3 -3
  143. package/esm2015/runtime/services/collapsible-state.service.js +3 -3
  144. package/esm2015/runtime/services/configuration.service.js +4 -4
  145. package/esm2015/runtime/services/current-state.service.js +3 -3
  146. package/esm2015/runtime/services/form-scope.service.js +3 -3
  147. package/esm2015/runtime/services/product-model-cache.service.js +3 -3
  148. package/esm2015/runtime/services/runtime-context.service.js +3 -3
  149. package/esm2015/runtime/services/runtime-form.service.js +3 -3
  150. package/esm2015/runtime/services/runtime.service.js +4 -4
  151. package/esm2015/runtime/services/section-helper.service.js +3 -3
  152. package/esm2015/runtime/services/section-scope.service.js +3 -3
  153. package/esm2015/runtime/services/section-store.service.js +3 -3
  154. package/esm2015/runtime/services/section.service.js +6 -6
  155. package/esm2015/runtime/types/index.js +2 -1
  156. package/esm2015/runtime/types/quote-states.types.js +2 -0
  157. package/esm2015/src/components/dialog/dialog.component.js +3 -3
  158. package/esm2015/src/components/dialog/dialog.module.js +4 -4
  159. package/esm2015/src/components/doc-gen/doc-gen.component.js +3 -3
  160. package/esm2015/src/components/doc-gen/doc-gen.module.js +4 -4
  161. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +3 -3
  162. package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +4 -4
  163. package/esm2015/src/components/header/header.component.js +20 -12
  164. package/esm2015/src/components/header/header.module.js +4 -4
  165. package/esm2015/src/components/header/metrics/metrics.component.js +79 -67
  166. package/esm2015/src/components/header/metrics/metrics.definitions.js +1 -8
  167. package/esm2015/src/components/header/metrics/metrics.module.js +4 -4
  168. package/esm2015/src/flow-routing.module.js +4 -4
  169. package/esm2015/src/flow.component.js +3 -3
  170. package/esm2015/src/flow.module.js +4 -4
  171. package/esm2015/src/guards/context.guard.js +3 -3
  172. package/esm2015/src/guards/product-unload.guard.js +3 -3
  173. package/esm2015/src/guards/root.guard.js +3 -3
  174. package/esm2015/src/pages/catalog/catalog.component.js +3 -3
  175. package/esm2015/src/pages/catalog/catalog.module.js +4 -4
  176. package/esm2015/src/pages/debug/debug.component.js +3 -3
  177. package/esm2015/src/pages/debug/debug.module.js +4 -4
  178. package/esm2015/src/pages/empty-account/empty-account.component.js +3 -3
  179. package/esm2015/src/pages/empty-account/empty-account.module.js +4 -4
  180. package/esm2015/src/pages/legacy-product/legacy-product.component.js +4 -4
  181. package/esm2015/src/pages/legacy-product/legacy-product.module.js +4 -4
  182. package/esm2015/src/pages/product/product.component.js +5 -12
  183. package/esm2015/src/pages/product/product.module.js +4 -4
  184. package/esm2015/src/pages/record-not-found/record-not-found.component.js +3 -3
  185. package/esm2015/src/pages/record-not-found/record-not-found.module.js +4 -4
  186. package/esm2015/src/pages/remote/remote.component.js +5 -8
  187. package/esm2015/src/pages/remote/remote.module.js +4 -4
  188. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +3 -3
  189. package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +4 -4
  190. package/esm2015/src/resolvers/flow.resolver.js +3 -3
  191. package/esm2015/src/resolvers/quote.resolver.js +8 -8
  192. package/esm2015/src/services/doc-gen.service.js +3 -3
  193. package/esm2015/src/services/flow-dialog.service.js +3 -3
  194. package/esm2015/src/services/flow-router.service.js +3 -3
  195. package/esm2015/src/services/flow.service.js +3 -3
  196. package/esm2015/src/utils/flow.utils.js +3 -3
  197. package/fesm2015/veloceapps-sdk-cms.js +1041 -731
  198. package/fesm2015/veloceapps-sdk-cms.js.map +1 -1
  199. package/fesm2015/veloceapps-sdk-core.js +554 -521
  200. package/fesm2015/veloceapps-sdk-core.js.map +1 -1
  201. package/fesm2015/veloceapps-sdk-runtime.js +138 -138
  202. package/fesm2015/veloceapps-sdk-runtime.js.map +1 -1
  203. package/fesm2015/veloceapps-sdk.js +256 -252
  204. package/fesm2015/veloceapps-sdk.js.map +1 -1
  205. package/package.json +5 -3
  206. package/runtime/services/configuration.service.d.ts +2 -1
  207. package/runtime/services/runtime.service.d.ts +2 -1
  208. package/runtime/types/index.d.ts +1 -0
  209. package/src/components/header/header.component.d.ts +4 -2
  210. package/src/components/header/metrics/metrics.component.d.ts +15 -6
  211. package/src/components/header/metrics/metrics.definitions.d.ts +0 -3
  212. package/src/pages/product/product.component.d.ts +0 -1
  213. package/cms/services/dynamic-module.service.d.ts +0 -15
  214. package/cms/services/launcher.service.d.ts +0 -18
  215. package/esm2015/cms/services/dynamic-module.service.js +0 -33
  216. package/esm2015/cms/services/launcher.service.js +0 -58
  217. package/esm2015/cms/types/compilation.types.js +0 -2
  218. package/esm2015/core/types/quote-states.types.js +0 -2
  219. /package/{core → runtime}/types/quote-states.types.d.ts +0 -0
@@ -0,0 +1,74 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { applyPatch } from 'rfc6902';
3
+ import { BehaviorSubject, distinctUntilChanged, map, of, startWith, Subject, switchMap, tap } from 'rxjs';
4
+ import { findElementByPath } from '../../../utils/ui-definition.utils';
5
+ import { CMS_COMPILATION_SERVICE } from '../tokens';
6
+ import * as i0 from "@angular/core";
7
+ export class RuntimeService {
8
+ constructor(injector) {
9
+ this.injector = injector;
10
+ this.modules = [];
11
+ this.componentFactories = {};
12
+ this.applicationTree = [];
13
+ this.isInitialized$ = new BehaviorSubject(false);
14
+ this.updated$ = new Subject();
15
+ this.compilationService = this.injector.get(CMS_COMPILATION_SERVICE);
16
+ }
17
+ initialize$(uiDefinition, config) {
18
+ this.config = config;
19
+ if (!uiDefinition) {
20
+ return of([]);
21
+ }
22
+ return this.compilationService.compileUIDefinition$(uiDefinition).pipe(map(result => {
23
+ this.applicationTree = result.elements;
24
+ this.addComponentFactories(result.module.componentFactories);
25
+ return result.elements;
26
+ }), tap(() => this.isInitialized$.next(true)));
27
+ }
28
+ applyPatch$(patch) {
29
+ let observable$ = of(undefined);
30
+ patch.forEach(operation => {
31
+ switch (operation.op) {
32
+ case 'add': {
33
+ observable$ = observable$.pipe(switchMap(() => this.addElement$(operation)));
34
+ break;
35
+ }
36
+ case 'remove': {
37
+ observable$ = observable$.pipe(map(() => this.deleteElement(operation)));
38
+ break;
39
+ }
40
+ default:
41
+ observable$ = of();
42
+ }
43
+ });
44
+ return observable$.pipe(tap(() => this.updated$.next()));
45
+ }
46
+ getCompiledElement$(path) {
47
+ return this.updated$.pipe(startWith(undefined), map(() => findElementByPath(this.applicationTree, path)), distinctUntilChanged());
48
+ }
49
+ clear() {
50
+ this.compilationService.clearModuleCache(this.modules);
51
+ this.modules = [];
52
+ this.applicationTree = [];
53
+ this.componentFactories = {};
54
+ this.isInitialized$.next(false);
55
+ }
56
+ addElement$(operation) {
57
+ return this.compilationService.compileElement$(operation.value).pipe(map(result => {
58
+ this.addComponentFactories(result.module.componentFactories);
59
+ applyPatch(this.applicationTree, [Object.assign(Object.assign({}, operation), { value: result.elements[0] })]);
60
+ }));
61
+ }
62
+ deleteElement(operation) {
63
+ applyPatch(this.applicationTree, [operation]);
64
+ }
65
+ addComponentFactories(list) {
66
+ list.forEach(item => (this.componentFactories[item.componentType.path] = item));
67
+ }
68
+ }
69
+ RuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RuntimeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
70
+ RuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RuntimeService });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RuntimeService, decorators: [{
72
+ type: Injectable
73
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxVQUFVLEVBQVMsTUFBTSxTQUFTLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSXBELE1BQU0sT0FBTyxjQUFjO0lBVXpCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFUL0IsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFDL0IsdUJBQWtCLEdBQTBDLEVBQUUsQ0FBQztRQUMvRCxvQkFBZSxHQUFzQixFQUFFLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUtwQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sV0FBVyxDQUFDLFlBQTJCLEVBQUUsTUFBeUI7UUFDdkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENB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LGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQTZCO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBRSxJQUFJLENBQUMsYUFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7OzRHQW5GVSxjQUFjO2dIQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnksIEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgYXBwbHlQYXRjaCwgUGF0Y2ggfSBmcm9tICdyZmM2OTAyJztcbmltcG9ydCB7IEFkZE9wZXJhdGlvbiwgUmVtb3ZlT3BlcmF0aW9uIH0gZnJvbSAncmZjNjkwMi9kaWZmJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy50eXBlcyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBmaW5kRWxlbWVudEJ5UGF0aCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3VpLWRlZmluaXRpb24udXRpbHMnO1xuaW1wb3J0IHsgQ01TX0NPTVBJTEFUSU9OX1NFUlZJQ0UgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHR5cGUgeyBDb21waWxhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbXBpbGF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUnVudGltZVNlcnZpY2Uge1xuICBwdWJsaWMgbW9kdWxlczogVHlwZTxOZ01vZHVsZT5bXSA9IFtdO1xuICBwdWJsaWMgY29tcG9uZW50RmFjdG9yaWVzOiBSZWNvcmQ8c3RyaW5nLCBDb21wb25lbnRGYWN0b3J5PGFueT4+ID0ge307XG4gIHB1YmxpYyBhcHBsaWNhdGlvblRyZWU6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuICBwdWJsaWMgaXNJbml0aWFsaXplZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIHVwZGF0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIGNvbXBpbGF0aW9uU2VydmljZTogQ29tcGlsYXRpb25TZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5jb21waWxhdGlvblNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChDTVNfQ09NUElMQVRJT05fU0VSVklDRSk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSQodWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uLCBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnKTogT2JzZXJ2YWJsZTxFbGVtZW50TWV0YWRhdGFbXT4ge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuXG4gICAgaWYgKCF1aURlZmluaXRpb24pIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29tcGlsYXRpb25TZXJ2aWNlLmNvbXBpbGVVSURlZmluaXRpb24kKHVpRGVmaW5pdGlvbikucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uVHJlZSA9IHJlc3VsdC5lbGVtZW50cztcbiAgICAgICAgdGhpcy5hZGRDb21wb25lbnRGYWN0b3JpZXMocmVzdWx0Lm1vZHVsZS5jb21wb25lbnRGYWN0b3JpZXMpO1xuICAgICAgICByZXR1cm4gcmVzdWx0LmVsZW1lbnRzO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pc0luaXRpYWxpemVkJC5uZXh0KHRydWUpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFwcGx5UGF0Y2gkKHBhdGNoOiBQYXRjaCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxldCBvYnNlcnZhYmxlJDogT2JzZXJ2YWJsZTxhbnk+ID0gb2YodW5kZWZpbmVkKTtcblxuICAgIHBhdGNoLmZvckVhY2gob3BlcmF0aW9uID0+IHtcbiAgICAgIHN3aXRjaCAob3BlcmF0aW9uLm9wKSB7XG4gICAgICAgIGNhc2UgJ2FkZCc6IHtcbiAgICAgICAgICBvYnNlcnZhYmxlJCA9IG9ic2VydmFibGUkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuYWRkRWxlbWVudCQob3BlcmF0aW9uKSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3JlbW92ZSc6IHtcbiAgICAgICAgICBvYnNlcnZhYmxlJCA9IG9ic2VydmFibGUkLnBpcGUobWFwKCgpID0+IHRoaXMuZGVsZXRlRWxlbWVudChvcGVyYXRpb24pKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBvYnNlcnZhYmxlJCA9IG9mKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2JzZXJ2YWJsZSQucGlwZSh0YXAoKCkgPT4gdGhpcy51cGRhdGVkJC5uZXh0KCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb21waWxlZEVsZW1lbnQkKHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8RWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZCQucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgbWFwKCgpID0+IGZpbmRFbGVtZW50QnlQYXRoKHRoaXMuYXBwbGljYXRpb25UcmVlLCBwYXRoKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jb21waWxhdGlvblNlcnZpY2UuY2xlYXJNb2R1bGVDYWNoZSh0aGlzLm1vZHVsZXMpO1xuICAgIHRoaXMubW9kdWxlcyA9IFtdO1xuICAgIHRoaXMuYXBwbGljYXRpb25UcmVlID0gW107XG4gICAgdGhpcy5jb21wb25lbnRGYWN0b3JpZXMgPSB7fTtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFbGVtZW50JChvcGVyYXRpb246IEFkZE9wZXJhdGlvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbXBpbGF0aW9uU2VydmljZS5jb21waWxlRWxlbWVudCQob3BlcmF0aW9uLnZhbHVlKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuYWRkQ29tcG9uZW50RmFjdG9yaWVzKHJlc3VsdC5tb2R1bGUuY29tcG9uZW50RmFjdG9yaWVzKTtcbiAgICAgICAgYXBwbHlQYXRjaCh0aGlzLmFwcGxpY2F0aW9uVHJlZSwgW3sgLi4ub3BlcmF0aW9uLCB2YWx1ZTogcmVzdWx0LmVsZW1lbnRzWzBdIH1dKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUVsZW1lbnQob3BlcmF0aW9uOiBSZW1vdmVPcGVyYXRpb24pOiB2b2lkIHtcbiAgICBhcHBseVBhdGNoKHRoaXMuYXBwbGljYXRpb25UcmVlLCBbb3BlcmF0aW9uXSk7XG4gIH1cblxuICBwcml2YXRlIGFkZENvbXBvbmVudEZhY3RvcmllcyhsaXN0OiBDb21wb25lbnRGYWN0b3J5PGFueT5bXSk6IHZvaWQge1xuICAgIGxpc3QuZm9yRWFjaChpdGVtID0+ICh0aGlzLmNvbXBvbmVudEZhY3Rvcmllc1soaXRlbS5jb21wb25lbnRUeXBlIGFzIGFueSkucGF0aF0gPSBpdGVtKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const CMS_COMPILATION_SERVICE = new InjectionToken('VENDOR_MAP');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS90b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb21waWxhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbXBpbGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgQ01TX0NPTVBJTEFUSU9OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcGlsYXRpb25TZXJ2aWNlPignVkVORE9SX01BUCcpO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9ydW50aW1lL3R5cGVzL2NvbXBpbGF0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21waWxhdGlvblJlc3VsdCB7XG4gIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcbiAgbW9kdWxlOiBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzPE5nTW9kdWxlPjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS90eXBlcy9ydW50aW1lLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lRWxlbWVudERyb3BwZWQge1xuICBlbGVtZW50OiBFbGVtZW50TWV0YWRhdGE7XG4gIHBhdGg6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lRWxlbWVudERlbGV0ZWQge1xuICBwYXRoOiBzdHJpbmc7XG59XG4iXX0=
@@ -45,7 +45,15 @@ export class ConfigurationPlugin {
45
45
  }
46
46
  this.configurationService.patch(new LineItemWorker(rootLineItem).remove(this.modelSnapshot.id).li);
47
47
  };
48
+ const updateQty = (qty) => {
49
+ const rootLineItem = this.configurationService.getSnapshot();
50
+ if (!rootLineItem || !this.modelSnapshot) {
51
+ return;
52
+ }
53
+ this.configurationService.patch(new LineItemWorker(rootLineItem).replace(Object.assign(Object.assign({}, this.modelSnapshot), { qty })).li);
54
+ };
48
55
  this.typeHost.remove = remove;
56
+ this.typeHost.updateQty = updateQty;
49
57
  }
50
58
  registerPort(name) {
51
59
  const model$ = this.host.model$;
@@ -90,9 +98,9 @@ export class ConfigurationPlugin {
90
98
  return this.host;
91
99
  }
92
100
  }
93
- ConfigurationPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationPlugin, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
94
- ConfigurationPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: ConfigurationPlugin, ngImport: i0 });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationPlugin, decorators: [{
101
+ ConfigurationPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationPlugin, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
102
+ ConfigurationPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ConfigurationPlugin, ngImport: i0 });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationPlugin, decorators: [{
96
104
  type: Directive
97
105
  }], ctorParameters: function () { return [{ type: undefined }]; } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9jb25maWd1cmF0aW9uLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUdyRCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW1CLElBQTZDOztRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUF5QztRQUx4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1yQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxJQUFJLE1BQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FB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QUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFZLGFBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBMkMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQXNDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFzQyxDQUFDO0lBQ3JELENBQUM7O2lIQTdHVSxtQkFBbUI7cUdBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSwgZ2VuZXJhdGVMaW5lSXRlbSwgZ2V0QXR0cmlidXRlVmFsdWUsIExpbmVJdGVtV29ya2VyIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBsdWdpbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFTEVNRU5UX01FVEFEQVRBIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVFbGVtZW50LCBDb25maWd1cmF0aW9uRWxlbWVudCwgUG9ydEVsZW1lbnQsIFR5cGVFbGVtZW50IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IHBhcnNlQm91bmRQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aC51dGlscyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25QbHVnaW4gaW1wbGVtZW50cyBQbHVnaW5Db21wb25lbnQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbW9kZWxTbmFwc2hvdD86IExpbmVJdGVtO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIGVsZW1lbnRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhO1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaG9zdDogRWxlbWVudENvbXBvbmVudCAmIENvbmZpZ3VyYXRpb25FbGVtZW50KSB7XG4gICAgdGhpcy5lbGVtZW50TWV0YWRhdGEgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KEVMRU1FTlRfTUVUQURBVEEpO1xuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KENvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcblxuICAgIGlmICh0aGlzLmVsZW1lbnRNZXRhZGF0YS5tb2RlbD8ubGluZUl0ZW0pIHtcbiAgICAgIHRoaXMuaG9zdC5tb2RlbCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShtb2RlbCA9PiAodGhpcy5tb2RlbFNuYXBzaG90ID0gbW9kZWwpKTtcblxuICAgICAgY29uc3QgcGF0aEJsb2NrcyA9IHBhcnNlQm91bmRQYXRoKHRoaXMuZWxlbWVudE1ldGFkYXRhLm1vZGVsPy5saW5lSXRlbSk7XG4gICAgICBjb25zdCB7IHR5cGUsIHByb3BlcnR5LCBuYW1lIH0gPSBwYXRoQmxvY2tzLnJldmVyc2UoKVswXTtcblxuICAgICAgdGhpcy5ob3N0LmJvdW5kTmFtZSA9IG5hbWUgPz8gdHlwZTtcblxuICAgICAgdGhpcy5yZWdpc3Rlcih0eXBlLCBwcm9wZXJ0eSwgbmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXIodHlwZT86IHN0cmluZywgcHJvcGVydHk/OiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyVHlwZSgpO1xuICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT09ICdwb3J0cycgJiYgbmFtZSkge1xuICAgICAgdGhpcy5yZWdpc3RlclBvcnQobmFtZSk7XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gJ2F0dHJpYnV0ZXMnICYmIG5hbWUpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJBdHRyaWJ1dGUobmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclR5cGUoKTogdm9pZCB7XG4gICAgY29uc3QgcmVtb3ZlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qgcm9vdExpbmVJdGVtID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRTbmFwc2hvdCgpO1xuICAgICAgaWYgKCFyb290TGluZUl0ZW0gfHwgIXRoaXMubW9kZWxTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnBhdGNoKG5ldyBMaW5lSXRlbVdvcmtlcihyb290TGluZUl0ZW0pLnJlbW92ZSh0aGlzLm1vZGVsU25hcHNob3QuaWQpLmxpKTtcbiAgICB9O1xuXG4gICAgdGhpcy50eXBlSG9zdC5yZW1vdmUgPSByZW1vdmU7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyUG9ydChuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtb2RlbCQgPSB0aGlzLmhvc3QubW9kZWwkIGFzIE9ic2VydmFibGU8TGluZUl0ZW0gfCB1bmRlZmluZWQ+O1xuXG4gICAgY29uc3QgcG9ydEl0ZW1zJCA9IG1vZGVsJC5waXBlKG1hcChtb2RlbCA9PiBtb2RlbD8ubGluZUl0ZW1zLmZpbHRlcihsaSA9PiBsaS5wb3J0ID09PSB0aGlzLmhvc3QuYm91bmROYW1lKSA/PyBbXSkpO1xuICAgIGNvbnN0IHBvcnREb21haW4kID0gbW9kZWwkLnBpcGUobWFwKG1vZGVsID0+IG1vZGVsPy5wb3J0RG9tYWluc1t0aGlzLmhvc3QuYm91bmROYW1lXSkpO1xuXG4gICAgY29uc3QgYWRkID0gKHR5cGU6IHN0cmluZywgYXR0cmlidXRlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW10pOiB2b2lkID0+IHtcbiAgICAgIGlmICghdGhpcy5tb2RlbFNuYXBzaG90KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcG9ydERvbWFpbiA9IHRoaXMubW9kZWxTbmFwc2hvdC5wb3J0RG9tYWluc1tuYW1lXTtcbiAgICAgIGlmICghcG9ydERvbWFpbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGdlbmVyYXRlZCA9IGdlbmVyYXRlTGluZUl0ZW0ocG9ydERvbWFpbi5uYW1lLCB0eXBlLCB0aGlzLm1vZGVsU25hcHNob3QuaWQsIGF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5wYXRjaChcbiAgICAgICAgbmV3IExpbmVJdGVtV29ya2VyKHRoaXMubW9kZWxTbmFwc2hvdCkuaW5zZXJ0KHRoaXMubW9kZWxTbmFwc2hvdC5pZCwgZ2VuZXJhdGVkKS5saSxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIHRoaXMucG9ydEhvc3QucG9ydEl0ZW1zJCA9IHBvcnRJdGVtcyQ7XG4gICAgdGhpcy5wb3J0SG9zdC5wb3J0RG9tYWluJCA9IHBvcnREb21haW4kO1xuICAgIHRoaXMucG9ydEhvc3QuYWRkUG9ydEl0ZW0gPSBhZGQ7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyQXR0cmlidXRlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ob3N0Lm1vZGVsJCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlJCA9IHRoaXMuaG9zdC5tb2RlbCQucGlwZShtYXAobW9kZWwgPT4gZ2V0QXR0cmlidXRlVmFsdWUobW9kZWw/LmF0dHJpYnV0ZXMgPz8gW10sIG5hbWUpKSk7XG5cbiAgICBjb25zdCBwYXRjaCA9ICh2YWx1ZTogYW55KTogdm9pZCA9PiB7XG4gICAgICBpZiAoIXRoaXMubW9kZWxTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnBhdGNoKG5ldyBMaW5lSXRlbVdvcmtlcih0aGlzLm1vZGVsU25hcHNob3QpLnBhdGNoQXR0cmlidXRlKFt7IG5hbWUsIHZhbHVlIH1dKS5saSk7XG4gICAgfTtcblxuICAgIHRoaXMuYXR0cmlidXRlSG9zdC52YWx1ZSQgPSB2YWx1ZSQ7XG4gICAgdGhpcy5hdHRyaWJ1dGVIb3N0LnBhdGNoID0gcGF0Y2g7XG4gIH1cblxuICBwcml2YXRlIGdldCBhdHRyaWJ1dGVIb3N0KCk6IEVsZW1lbnRDb21wb25lbnQgJiBBdHRyaWJ1dGVFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBBdHRyaWJ1dGVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHlwZUhvc3QoKTogRWxlbWVudENvbXBvbmVudCAmIFR5cGVFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBUeXBlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHBvcnRIb3N0KCk6IEVsZW1lbnRDb21wb25lbnQgJiBQb3J0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdCBhcyBFbGVtZW50Q29tcG9uZW50ICYgUG9ydEVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9jb25maWd1cmF0aW9uLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUdyRCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW1CLElBQTZDOztRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUF5QztRQUx4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1yQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxJQUFJLE1BQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FB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TUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBQyxPQUFBLGlCQUFpQixDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFVBQVUsbUNBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBLEVBQUEsQ0FBQyxDQUFDLENBQUM7UUFFckcsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFVLEVBQVEsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVksYUFBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUEyQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBc0MsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQXNDLENBQUM7SUFDckQsQ0FBQzs7aUhBdEhVLG1CQUFtQjtxR0FBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBRC9CLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGluZUl0ZW0gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBnZW5lcmF0ZUxpbmVJdGVtLCBnZXRBdHRyaWJ1dGVWYWx1ZSwgTGluZUl0ZW1Xb3JrZXIgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGx1Z2luQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9wbHVnaW4uY29tcG9uZW50JztcbmltcG9ydCB7IEVMRU1FTlRfTUVUQURBVEEgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IEF0dHJpYnV0ZUVsZW1lbnQsIENvbmZpZ3VyYXRpb25FbGVtZW50LCBQb3J0RWxlbWVudCwgVHlwZUVsZW1lbnQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgcGFyc2VCb3VuZFBhdGggfSBmcm9tICcuLi91dGlscy9wYXRoLnV0aWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblBsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBtb2RlbFNuYXBzaG90PzogTGluZUl0ZW07XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0OiBFbGVtZW50Q29tcG9uZW50ICYgQ29uZmlndXJhdGlvbkVsZW1lbnQpIHtcbiAgICB0aGlzLmVsZW1lbnRNZXRhZGF0YSA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRUxFTUVOVF9NRVRBREFUQSk7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZSA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoQ29uZmlndXJhdGlvblNlcnZpY2UpO1xuXG4gICAgaWYgKHRoaXMuZWxlbWVudE1ldGFkYXRhLm1vZGVsPy5saW5lSXRlbSkge1xuICAgICAgdGhpcy5ob3N0Lm1vZGVsJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKG1vZGVsID0+ICh0aGlzLm1vZGVsU25hcHNob3QgPSBtb2RlbCkpO1xuXG4gICAgICBjb25zdCBwYXRoQmxvY2tzID0gcGFyc2VCb3VuZFBhdGgodGhpcy5lbGVtZW50TWV0YWRhdGEubW9kZWw/LmxpbmVJdGVtKTtcbiAgICAgIGNvbnN0IHsgdHlwZSwgcHJvcGVydHksIG5hbWUgfSA9IHBhdGhCbG9ja3MucmV2ZXJzZSgpWzBdO1xuXG4gICAgICB0aGlzLmhvc3QuYm91bmROYW1lID0gbmFtZSA/PyB0eXBlO1xuXG4gICAgICB0aGlzLnJlZ2lzdGVyKHR5cGUsIHByb3BlcnR5LCBuYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3Rlcih0eXBlPzogc3RyaW5nLCBwcm9wZXJ0eT86IHN0cmluZywgbmFtZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcHJvcGVydHkpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJUeXBlKCk7XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gJ3BvcnRzJyAmJiBuYW1lKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyUG9ydChuYW1lKTtcbiAgICB9IGVsc2UgaWYgKHByb3BlcnR5ID09PSAnYXR0cmlidXRlcycgJiYgbmFtZSkge1xuICAgICAgdGhpcy5yZWdpc3RlckF0dHJpYnV0ZShuYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyVHlwZSgpOiB2b2lkIHtcbiAgICBjb25zdCByZW1vdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCByb290TGluZUl0ZW0gPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldFNuYXBzaG90KCk7XG4gICAgICBpZiAoIXJvb3RMaW5lSXRlbSB8fCAhdGhpcy5tb2RlbFNuYXBzaG90KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UucGF0Y2gobmV3IExpbmVJdGVtV29ya2VyKHJvb3RMaW5lSXRlbSkucmVtb3ZlKHRoaXMubW9kZWxTbmFwc2hvdC5pZCkubGkpO1xuICAgIH07XG5cbiAgICBjb25zdCB1cGRhdGVRdHkgPSAocXR5OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHJvb3RMaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0U25hcHNob3QoKTtcbiAgICAgIGlmICghcm9vdExpbmVJdGVtIHx8ICF0aGlzLm1vZGVsU25hcHNob3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5wYXRjaChuZXcgTGluZUl0ZW1Xb3JrZXIocm9vdExpbmVJdGVtKS5yZXBsYWNlKHsgLi4udGhpcy5tb2RlbFNuYXBzaG90LCBxdHkgfSkubGkpO1xuICAgIH07XG5cbiAgICB0aGlzLnR5cGVIb3N0LnJlbW92ZSA9IHJlbW92ZTtcbiAgICB0aGlzLnR5cGVIb3N0LnVwZGF0ZVF0eSA9IHVwZGF0ZVF0eTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJQb3J0KG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1vZGVsJCA9IHRoaXMuaG9zdC5tb2RlbCQgYXMgT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD47XG5cbiAgICBjb25zdCBwb3J0SXRlbXMkID0gbW9kZWwkLnBpcGUobWFwKG1vZGVsID0+IG1vZGVsPy5saW5lSXRlbXMuZmlsdGVyKGxpID0+IGxpLnBvcnQgPT09IHRoaXMuaG9zdC5ib3VuZE5hbWUpID8/IFtdKSk7XG4gICAgY29uc3QgcG9ydERvbWFpbiQgPSBtb2RlbCQucGlwZShtYXAobW9kZWwgPT4gbW9kZWw/LnBvcnREb21haW5zW3RoaXMuaG9zdC5ib3VuZE5hbWVdKSk7XG5cbiAgICBjb25zdCBhZGQgPSAodHlwZTogc3RyaW5nLCBhdHRyaWJ1dGVzOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10gPSBbXSk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1vZGVsU25hcHNob3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gdGhpcy5tb2RlbFNuYXBzaG90LnBvcnREb21haW5zW25hbWVdO1xuICAgICAgaWYgKCFwb3J0RG9tYWluKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZ2VuZXJhdGVkID0gZ2VuZXJhdGVMaW5lSXRlbShwb3J0RG9tYWluLm5hbWUsIHR5cGUsIHRoaXMubW9kZWxTbmFwc2hvdC5pZCwgYXR0cmlidXRlcyk7XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnBhdGNoKFxuICAgICAgICBuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5tb2RlbFNuYXBzaG90KS5pbnNlcnQodGhpcy5tb2RlbFNuYXBzaG90LmlkLCBnZW5lcmF0ZWQpLmxpLFxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgdGhpcy5wb3J0SG9zdC5wb3J0SXRlbXMkID0gcG9ydEl0ZW1zJDtcbiAgICB0aGlzLnBvcnRIb3N0LnBvcnREb21haW4kID0gcG9ydERvbWFpbiQ7XG4gICAgdGhpcy5wb3J0SG9zdC5hZGRQb3J0SXRlbSA9IGFkZDtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJBdHRyaWJ1dGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhvc3QubW9kZWwkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUkID0gdGhpcy5ob3N0Lm1vZGVsJC5waXBlKG1hcChtb2RlbCA9PiBnZXRBdHRyaWJ1dGVWYWx1ZShtb2RlbD8uYXR0cmlidXRlcyA/PyBbXSwgbmFtZSkpKTtcblxuICAgIGNvbnN0IHBhdGNoID0gKHZhbHVlOiBhbnkpOiB2b2lkID0+IHtcbiAgICAgIGlmICghdGhpcy5tb2RlbFNuYXBzaG90KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UucGF0Y2gobmV3IExpbmVJdGVtV29ya2VyKHRoaXMubW9kZWxTbmFwc2hvdCkucGF0Y2hBdHRyaWJ1dGUoW3sgbmFtZSwgdmFsdWUgfV0pLmxpKTtcbiAgICB9O1xuXG4gICAgdGhpcy5hdHRyaWJ1dGVIb3N0LnZhbHVlJCA9IHZhbHVlJDtcbiAgICB0aGlzLmF0dHJpYnV0ZUhvc3QucGF0Y2ggPSBwYXRjaDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGF0dHJpYnV0ZUhvc3QoKTogRWxlbWVudENvbXBvbmVudCAmIEF0dHJpYnV0ZUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmhvc3QgYXMgRWxlbWVudENvbXBvbmVudCAmIEF0dHJpYnV0ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCB0eXBlSG9zdCgpOiBFbGVtZW50Q29tcG9uZW50ICYgVHlwZUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmhvc3QgYXMgRWxlbWVudENvbXBvbmVudCAmIFR5cGVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcG9ydEhvc3QoKTogRWxlbWVudENvbXBvbmVudCAmIFBvcnRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBQb3J0RWxlbWVudDtcbiAgfVxufVxuIl19
@@ -29,9 +29,9 @@ export class IOPlugin {
29
29
  });
30
30
  }
31
31
  }
32
- IOPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
33
- IOPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: IOPlugin, ngImport: i0 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOPlugin, decorators: [{
32
+ IOPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IOPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
33
+ IOPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: IOPlugin, ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IOPlugin, decorators: [{
35
35
  type: Directive
36
36
  }], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8ucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3BsdWdpbnMvaW8ucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUlwRSxNQUFNLE9BQU8sUUFBUTtJQUNuQixZQUFtQixJQUFzQjs7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDdkMsTUFBTSxlQUFlLEdBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sYUFBYSxHQUFzQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVuRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQUEsZUFBZSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFBLGVBQWUsQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFOztZQUM3QixJQUFJLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsNEJBQTRCLENBQUMsQ0FBQzthQUNqRTtZQUVELElBQUksQ0FBQSxNQUFBLGVBQWUsQ0FBQyxPQUFPLDBDQUFHLEdBQUcsQ0FBQyxNQUFLLFNBQVMsRUFBRTtnQkFDaEQsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLEdBQUcsaUdBQWlHLENBQ3pHLENBQUM7YUFDSDtZQUVBLElBQUksQ0FBQyxJQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLDZCQUE2QixDQUFDLENBQUM7YUFDbEU7WUFFQSxJQUFJLENBQUMsSUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NHQTdCVSxRQUFROzBGQUFSLFFBQVE7NEZBQVIsUUFBUTtrQkFEcEIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGx1Z2luQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9wbHVnaW4uY29tcG9uZW50JztcbmltcG9ydCB7IEVMRU1FTlRfTUVUQURBVEEgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBJT1BsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0OiBFbGVtZW50Q29tcG9uZW50KSB7XG4gICAgY29uc3QgZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KEVMRU1FTlRfTUVUQURBVEEpO1xuICAgIGNvbnN0IGlucHV0UHJvdmlkZXI6IElPUHJvdmlkZXJTZXJ2aWNlID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChJT1Byb3ZpZGVyU2VydmljZSk7XG5cbiAgICBjb25zdCBpbnB1dHMgPSBPYmplY3QuZW50cmllcyhlbGVtZW50TWV0YWRhdGEuaW5wdXRzID8/IHt9KTtcbiAgICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMoZWxlbWVudE1ldGFkYXRhLm91dHB1dHMgPz8ge30pO1xuXG4gICAgaW5wdXRzLmZvckVhY2goKFtrZXksIHBhdGhdKSA9PiB7XG4gICAgICBpZiAocGF0aCAmJiB0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgVGhlIHZhbHVlIG9mICcke2tleX0nIGlucHV0IHNob3VsZCBiZSBhIHN0cmluZ2ApO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWxlbWVudE1ldGFkYXRhLm91dHB1dHM/LltrZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGAnJHtrZXl9JyBhcHBlYXJzIGJvdGggaW4gaW5wdXRzIGFuZCBvdXRwdXRzLiBUbyBwcmV2ZW50IGluY29uc2lzdGVudCBiZWhhdmlvciBwbGVhc2Uga2VlcCB0aGVtIHVuaXF1ZSBgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAodGhpcy5ob3N0IGFzIGFueSlba2V5XSA9IGlucHV0UHJvdmlkZXIuY29ubmVjdChlbGVtZW50TWV0YWRhdGEsIGtleSwgcGF0aCk7XG4gICAgfSk7XG5cbiAgICBvdXRwdXRzLmZvckVhY2goKFtrZXksIHBhdGhdKSA9PiB7XG4gICAgICBpZiAocGF0aCAmJiB0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgVGhlIHZhbHVlIG9mICcke2tleX0nIG91dHB1dCBzaG91bGQgYmUgYSBzdHJpbmdgKTtcbiAgICAgIH1cblxuICAgICAgKHRoaXMuaG9zdCBhcyBhbnkpW2tleV0gPSBpbnB1dFByb3ZpZGVyLnByb3ZpZGUoZWxlbWVudE1ldGFkYXRhLCBrZXksIHBhdGgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -58,9 +58,9 @@ export class ScriptPlugin {
58
58
  this.document.body.removeChild(script);
59
59
  }
60
60
  }
61
- ScriptPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ScriptPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
62
- ScriptPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: ScriptPlugin, ngImport: i0 });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ScriptPlugin, decorators: [{
61
+ ScriptPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScriptPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
62
+ ScriptPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ScriptPlugin, ngImport: i0 });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScriptPlugin, decorators: [{
64
64
  type: Directive
65
65
  }], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
66
66
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9wbHVnaW5zL3NjcmlwdC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBSTVGLE1BQU0sT0FBTyxZQUFZO0lBSXZCLFlBQW1CLElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBNENqQyxxQkFBZ0IsR0FBRyxDQUFDLE1BQWMsRUFBRSxXQUFtQixFQUFVLEVBQUU7WUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQ3ZCLDJLQUEySyxFQUMzSyxHQUFHLENBQ0osQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzNELE1BQU0sT0FBTyxHQUFJLEVBQWE7cUJBQzNCLElBQUksRUFBRTtxQkFDTixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUNaLEtBQUssQ0FBQyxHQUFHLENBQUM7cUJBQ1YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBRTVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7O29CQUNyQixJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFD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dCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVVVJRCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbHVnaW5Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BsdWdpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUxFTUVOVF9NRVRBREFUQSwgU0hBUkVEX0VMRU1FTlRfTUVUQURBVEEsIFZFTkRPUl9NQVAgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNjcmlwdFBsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCB7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHZlbmRvck1hcDogRGljdGlvbmFyeTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0OiBFbGVtZW50Q29tcG9uZW50KSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRE9DVU1FTlQpO1xuICAgIHRoaXMudmVuZG9yTWFwID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChWRU5ET1JfTUFQKTtcbiAgICBjb25zdCBlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRUxFTUVOVF9NRVRBREFUQSk7XG4gICAgY29uc3Qgc2hhcmVkRWxlbWVudE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBKTtcblxuICAgIHRoaXMuYWRkU2NyaXB0KHNoYXJlZEVsZW1lbnRNZXRhZGF0YSk7XG4gICAgdGhpcy5hZGRTY3JpcHQoZWxlbWVudE1ldGFkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU2NyaXB0KG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhKTogdm9pZCB7XG4gICAgaWYgKCFtZXRhZGF0YT8uc2NyaXB0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSBidG9hKFVVSUQuVVVJRCgpKTtcbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHNjcmlwdC50eXBlID0gYHRleHQvamF2YXNjcmlwdGA7XG5cbiAgICBsZXQgc2NyaXB0Q29udGVudCA9IHRoaXMubm9ybWFsaXplSW1wb3J0cyhtZXRhZGF0YS5zY3JpcHQsIG1ldGFkYXRhLnBhdGggPz8gbWV0YWRhdGEubmFtZSk7XG5cbiAgICBjb25zdCBjbGFzc01hdGNoID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvLmV4ZWMoc2NyaXB0Q29udGVudCk7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NNYXRjaD8uWzFdO1xuXG4gICAgaWYgKCFjbGFzc01hdGNoIHx8ICFjbGFzc05hbWUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJTY3JpcHQgZG9lc24ndCBoYXZlIGV4cG9ydGVkIGNsYXNzXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNjcmlwdENvbnRlbnQgPSBzY3JpcHRDb250ZW50LnJlcGxhY2UoY2xhc3NNYXRjaFswXSwgYGNsYXNzICR7Y2xhc3NOYW1lfWApO1xuXG4gICAgc2NyaXB0LnRleHQgPSBgdmFyICR7aWR9ID0gZnVuY3Rpb24odmVuZG9yKSB7JHtzY3JpcHRDb250ZW50fVxuICAgICAgICByZXR1cm4gJHtjbGFzc05hbWV9OyB9O2A7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgIGNvbnN0IFNjcmlwdENsYXNzID0gKHdpbmRvdyBhcyBhbnkpW2lkXSh0aGlzLnZlbmRvck1hcCk7XG4gICAgaWYgKFNjcmlwdENsYXNzIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICB0aGlzLmhvc3QucmVnaXN0ZXJQbHVnaW4obmV3IFNjcmlwdENsYXNzKHRoaXMuaG9zdCkpO1xuICAgIH1cblxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JpcHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbXBvcnRzID0gKHNjcmlwdDogc3RyaW5nLCBlbGVtZW50UGF0aDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKFxuICAgICAgYGltcG9ydChbIFxcXFxuXFxcXHRdKig/OlteIFxcXFxuXFxcXHRcXFxce1xcXFx9XStbIFxcXFxuXFxcXHRdKiw/KT8oPzpbIFxcXFxuXFxcXHRdKlxcXFx7KD86WyBcXFxcblxcXFx0XSpbXiBcXFxcblxcXFx0XCInXFxcXHtcXFxcfV0rWyBcXFxcblxcXFx0XSosPykrXFxcXH0pP1sgXFxcXG5cXFxcdF0qKWZyb21bIFxcXFxuXFxcXHRdKihbJ1wiXSkoW14nXCJcXFxcbl0rKSg/OlsnXCJdKTtgLFxuICAgICAgJ2cnLFxuICAgICk7XG4gICAgY29uc3QgcmVzdWx0ID0gc2NyaXB0LnJlcGxhY2UocmVnZXhwLCAobWF0Y2gsIGcxLCBnMiwgc3JjKSA9PiB7XG4gICAgICBjb25zdCBpbXBvcnRzID0gKGcxIGFzIHN0cmluZylcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAuc2xpY2UoMSwgLTEpXG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSk7XG5cbiAgICAgIGltcG9ydHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnZlbmRvck1hcFtzcmNdPy5baXRlbV0pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBpbXBvcnQgJHtpdGVtfSBmcm9tICcke3NyY30nIGluICR7ZWxlbWVudFBhdGh9L3NjcmlwdC50c2ApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGBjb25zdCAke2cxfSA9IHZlbmRvclsnJHtzcmN9J107YDtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufVxuIl19
@@ -2,9 +2,9 @@ import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ElementContextService {
4
4
  }
5
- ElementContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
- ElementContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService, decorators: [{
5
+ ElementContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ ElementContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementContextService });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementContextService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvZWxlbWVudC1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjt1SEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbnRleHRTZXJ2aWNlIHtcbiAgcHVibGljIG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhO1xuICBwdWJsaWMgcGFyZW50TW9kZWxJZD86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,4 +1,3 @@
1
1
  export * from './integration.state';
2
- export * from './launcher.service';
3
2
  export * from './templates.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVncmF0aW9uLnN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF1bmNoZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlcy5zZXJ2aWNlJztcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnRlZ3JhdGlvbi5zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlcy5zZXJ2aWNlJztcbiJdfQ==
@@ -31,9 +31,9 @@ export class IntegrationState {
31
31
  this.action$.next(ClearAction);
32
32
  }
33
33
  }
34
- IntegrationState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
- IntegrationState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, providedIn: 'root' });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, decorators: [{
34
+ IntegrationState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IntegrationState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ IntegrationState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IntegrationState, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IntegrationState, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{ providedIn: 'root' }]
39
39
  }] });
@@ -2,10 +2,10 @@ import { Injectable } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { getAbsolutePath, parsePath } from '../utils/path.utils';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "./dynamic-module.service";
5
+ import * as i1 from "../modules/runtime/services/runtime.service";
6
6
  export class IOProviderService {
7
- constructor(dynamicModuleService) {
8
- this.dynamicModuleService = dynamicModuleService;
7
+ constructor(runtimeService) {
8
+ this.runtimeService = runtimeService;
9
9
  this.inputs = {};
10
10
  }
11
11
  connect(el, name, target) {
@@ -25,7 +25,7 @@ export class IOProviderService {
25
25
  const pathIsValue = elPath.segments.length === 1 && elPath.segments[0].startsWith('"') && elPath.segments[0].endsWith('"');
26
26
  const finalName = (_b = elPath.variable) !== null && _b !== void 0 ? _b : name;
27
27
  const value = pathIsValue ? new BehaviorSubject(elPath.segments[0].slice(1, -1)) : undefined;
28
- const absolutePath = !pathIsValue ? getAbsolutePath(this.dynamicModuleService.elementsTree, el, elPath) : el.path;
28
+ const absolutePath = !pathIsValue ? getAbsolutePath(this.runtimeService.applicationTree, el, elPath) : el.path;
29
29
  return this.createSubjectSafe(absolutePath !== null && absolutePath !== void 0 ? absolutePath : '', finalName, value);
30
30
  }
31
31
  createSubjectSafe(path, name, subject) {
@@ -43,9 +43,9 @@ export class IOProviderService {
43
43
  return this.inputs[path][name];
44
44
  }
45
45
  }
46
- IOProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService, deps: [{ token: i1.DynamicModuleService }], target: i0.ɵɵFactoryTarget.Injectable });
47
- IOProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService, decorators: [{
46
+ IOProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IOProviderService, deps: [{ token: i1.RuntimeService }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ IOProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IOProviderService });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IOProviderService, decorators: [{
49
49
  type: Injectable
50
- }], ctorParameters: function () { return [{ type: i1.DynamicModuleService }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFJakUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUZ0RCxXQUFNLEdBQWlELEVBQUUsQ0FBQztJQUVELENBQUM7SUFFM0QsT0FBTyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLE1BQXNCOztRQUN0RSxPQUFPLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQywwQ0FBRSxZQUFZLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRU0sT0FBTyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLE1BQXNCO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxhQUFhLENBQUMsRUFBbUIsRUFBRSxJQUFZLEVBQUUsTUFBc0I7O1FBQzdFLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRXZCLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBQSxFQUFFLENBQUMsSUFBSSxtQ0FBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sV0FBVyxHQUNmLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6RyxNQUFNLFNBQVMsR0FBRyxNQUFBLE1BQU0sQ0FBQyxRQUFRLG1DQUFJLElBQUksQ0FBQztRQUMxQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUU3RixNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2xILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBOEI7UUFDbEYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDeEI7UUFFRCxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxJQUFJLGVBQWUsQ0FBTSxTQUFTLENBQUMsQ0FBQztTQUMxRTtRQUVELElBQUksT0FBTyxJQUFJLG9CQUFvQixFQUFFO1lBQ25DLHdFQUF3RTtZQUN4RSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQzs7K0dBaERVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IGdldEFic29sdXRlUGF0aCwgcGFyc2VQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aC51dGlscyc7XG5pbXBvcnQgeyBEeW5hbWljTW9kdWxlU2VydmljZSB9IGZyb20gJy4vZHluYW1pYy1tb2R1bGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJT1Byb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgaW5wdXRzOiBEaWN0aW9uYXJ5PERpY3Rpb25hcnk8QmVoYXZpb3JTdWJqZWN0PGFueT4+PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHluYW1pY01vZHVsZVNlcnZpY2U6IER5bmFtaWNNb2R1bGVTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25uZWN0KGVsOiBFbGVtZW50TWV0YWRhdGEsIG5hbWU6IHN0cmluZywgdGFyZ2V0Pzogc3RyaW5nIHwgbnVsbCk6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KT8uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgcHJvdmlkZShlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVRhcmdldChlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNIb3N0ID0gIXRhcmdldDtcblxuICAgIGlmIChpc0hvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVN1YmplY3RTYWZlKGVsLnBhdGggPz8gJycsIG5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IGVsUGF0aCA9IHBhcnNlUGF0aCh0YXJnZXQgYXMgc3RyaW5nKTtcbiAgICBjb25zdCBwYXRoSXNWYWx1ZSA9XG4gICAgICBlbFBhdGguc2VnbWVudHMubGVuZ3RoID09PSAxICYmIGVsUGF0aC5zZWdtZW50c1swXS5zdGFydHNXaXRoKCdcIicpICYmIGVsUGF0aC5zZWdtZW50c1swXS5lbmRzV2l0aCgnXCInKTtcblxuICAgIGNvbnN0IGZpbmFsTmFtZSA9IGVsUGF0aC52YXJpYWJsZSA/PyBuYW1lO1xuICAgIGNvbnN0IHZhbHVlID0gcGF0aElzVmFsdWUgPyBuZXcgQmVoYXZpb3JTdWJqZWN0KGVsUGF0aC5zZWdtZW50c1swXS5zbGljZSgxLCAtMSkpIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gIXBhdGhJc1ZhbHVlID8gZ2V0QWJzb2x1dGVQYXRoKHRoaXMuZHluYW1pY01vZHVsZVNlcnZpY2UuZWxlbWVudHNUcmVlLCBlbCwgZWxQYXRoKSA6IGVsLnBhdGg7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlU3ViamVjdFNhZmUoYWJzb2x1dGVQYXRoID8/ICcnLCBmaW5hbE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ViamVjdFNhZmUocGF0aDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHN1YmplY3Q/OiBCZWhhdmlvclN1YmplY3Q8YW55Pik6IEJlaGF2aW9yU3ViamVjdDxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaW5wdXRzW3BhdGhdKSB7XG4gICAgICB0aGlzLmlucHV0c1twYXRoXSA9IHt9O1xuICAgIH1cblxuICAgIGNvbnN0IHN1YmplY3RBbHJlYWR5RXhpc3RzID0gQm9vbGVhbih0aGlzLmlucHV0c1twYXRoXVtuYW1lXSk7XG5cbiAgICBpZiAoIXRoaXMuaW5wdXRzW3BhdGhdW25hbWVdKSB7XG4gICAgICB0aGlzLmlucHV0c1twYXRoXVtuYW1lXSA9IHN1YmplY3QgPz8gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YmplY3QgJiYgc3ViamVjdEFscmVhZHlFeGlzdHMpIHtcbiAgICAgIC8vIHB1c2ggZGVsYXllZCB2YWx1ZSB0byB3b3JrYXJvdW5kICdjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkJyBpc3N1ZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlucHV0c1twYXRoXVtuYW1lXS5uZXh0KHN1YmplY3QudmFsdWUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnB1dHNbcGF0aF1bbmFtZV07XG4gIH1cbn1cbiJdfQ==
50
+ }], ctorParameters: function () { return [{ type: i1.RuntimeService }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHakUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFGMUMsV0FBTSxHQUFpRCxFQUFFLENBQUM7SUFFYixDQUFDO0lBRS9DLE9BQU8sQ0FBQyxFQUFtQixFQUFFLElBQVksRUFBRSxNQUFzQjs7UUFDdEUsT0FBTyxNQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsMENBQUUsWUFBWSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxFQUFtQixFQUFFLElBQVksRUFBRSxNQUFzQjtRQUN0RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sYUFBYSxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLE1BQXNCOztRQUM3RSxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUV2QixJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQUEsRUFBRSxDQUFDLElBQUksbUNBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQWdCLENBQUMsQ0FBQztRQUMzQyxNQUFNLFdBQVcsR0FDZixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekcsTUFBTSxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsUUFBUSxtQ0FBSSxJQUFJLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFN0YsTUFBTSxZQUFZLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDL0csT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxhQUFaLFlBQVksY0FBWixZQUFZLEdBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxPQUE4QjtRQUNsRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUN4QjtRQUVELE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLElBQUksZUFBZSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1NBQzFFO1FBRUQsSUFBSSxPQUFPLElBQUksb0JBQW9CLEVBQUU7WUFDbkMsd0VBQXdFO1lBQ3hFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDOzsrR0FoRFUsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IGdldEFic29sdXRlUGF0aCwgcGFyc2VQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aC51dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJT1Byb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgaW5wdXRzOiBEaWN0aW9uYXJ5PERpY3Rpb25hcnk8QmVoYXZpb3JTdWJqZWN0PGFueT4+PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcnVudGltZVNlcnZpY2U6IFJ1bnRpbWVTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25uZWN0KGVsOiBFbGVtZW50TWV0YWRhdGEsIG5hbWU6IHN0cmluZywgdGFyZ2V0Pzogc3RyaW5nIHwgbnVsbCk6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KT8uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgcHJvdmlkZShlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVRhcmdldChlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNIb3N0ID0gIXRhcmdldDtcblxuICAgIGlmIChpc0hvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVN1YmplY3RTYWZlKGVsLnBhdGggPz8gJycsIG5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IGVsUGF0aCA9IHBhcnNlUGF0aCh0YXJnZXQgYXMgc3RyaW5nKTtcbiAgICBjb25zdCBwYXRoSXNWYWx1ZSA9XG4gICAgICBlbFBhdGguc2VnbWVudHMubGVuZ3RoID09PSAxICYmIGVsUGF0aC5zZWdtZW50c1swXS5zdGFydHNXaXRoKCdcIicpICYmIGVsUGF0aC5zZWdtZW50c1swXS5lbmRzV2l0aCgnXCInKTtcblxuICAgIGNvbnN0IGZpbmFsTmFtZSA9IGVsUGF0aC52YXJpYWJsZSA/PyBuYW1lO1xuICAgIGNvbnN0IHZhbHVlID0gcGF0aElzVmFsdWUgPyBuZXcgQmVoYXZpb3JTdWJqZWN0KGVsUGF0aC5zZWdtZW50c1swXS5zbGljZSgxLCAtMSkpIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gIXBhdGhJc1ZhbHVlID8gZ2V0QWJzb2x1dGVQYXRoKHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlLCBlbCwgZWxQYXRoKSA6IGVsLnBhdGg7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlU3ViamVjdFNhZmUoYWJzb2x1dGVQYXRoID8/ICcnLCBmaW5hbE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ViamVjdFNhZmUocGF0aDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHN1YmplY3Q/OiBCZWhhdmlvclN1YmplY3Q8YW55Pik6IEJlaGF2aW9yU3ViamVjdDxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaW5wdXRzW3BhdGhdKSB7XG4gICAgICB0aGlzLmlucHV0c1twYXRoXSA9IHt9O1xuICAgIH1cblxuICAgIGNvbnN0IHN1YmplY3RBbHJlYWR5RXhpc3RzID0gQm9vbGVhbih0aGlzLmlucHV0c1twYXRoXVtuYW1lXSk7XG5cbiAgICBpZiAoIXRoaXMuaW5wdXRzW3BhdGhdW25hbWVdKSB7XG4gICAgICB0aGlzLmlucHV0c1twYXRoXVtuYW1lXSA9IHN1YmplY3QgPz8gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YmplY3QgJiYgc3ViamVjdEFscmVhZHlFeGlzdHMpIHtcbiAgICAgIC8vIHB1c2ggZGVsYXllZCB2YWx1ZSB0byB3b3JrYXJvdW5kICdjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkJyBpc3N1ZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlucHV0c1twYXRoXVtuYW1lXS5uZXh0KHN1YmplY3QudmFsdWUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnB1dHNbcGF0aF1bbmFtZV07XG4gIH1cbn1cbiJdfQ==
@@ -23,9 +23,9 @@ export class TemplatesService {
23
23
  }
24
24
  }
25
25
  }
26
- TemplatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TemplatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
27
- TemplatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TemplatesService });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TemplatesService, decorators: [{
26
+ TemplatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
27
+ TemplatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplatesService });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplatesService, decorators: [{
29
29
  type: Injectable
30
30
  }] });
31
31
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVUsY0FBUyxHQUEwQyxFQUFFLENBQUM7S0FzQi9EO0lBcEJRLFFBQVEsQ0FBQyxJQUFZLEVBQUUsV0FBNkI7UUFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxJQUFJLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sYUFBYSxDQUFDLElBQVk7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLGVBQWUsQ0FBVyxTQUFTLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7OzhHQXRCVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbnR5cGUgVGVtcGxhdGUgPSBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVzU2VydmljZSB7XG4gIHByaXZhdGUgdGVtcGxhdGVzOiBEaWN0aW9uYXJ5PEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZT4+ID0ge307XG5cbiAgcHVibGljIHJlZ2lzdGVyKG5hbWU6IHN0cmluZywgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZVN0b3JhZ2UobmFtZSk7XG4gICAgdGhpcy50ZW1wbGF0ZXNbbmFtZV0ubmV4dCh0ZW1wbGF0ZVJlZik7XG4gIH1cblxuICBwdWJsaWMgZ2V0KG5hbWU6IHN0cmluZyk6IFRlbXBsYXRlIHtcbiAgICB0aGlzLmVuc3VyZVN0b3JhZ2UobmFtZSk7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzW25hbWVdLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZT4ge1xuICAgIHRoaXMuZW5zdXJlU3RvcmFnZShuYW1lKTtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNbbmFtZV0uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGVuc3VyZVN0b3JhZ2UobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRlbXBsYXRlc1tuYW1lXSkge1xuICAgICAgdGhpcy50ZW1wbGF0ZXNbbmFtZV0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlPih1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT00nIHwgJ0NPTlRBSU5FUicgfCAnU0VSVklDRScgfCAnUkVGRVJFTkNFJztcblxuZXhwb3J0IHR5cGUgRWxlbWVudFN0eWxlRGVjbGFyYXRpb24gPSBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRDb25maWcge1xuICBjb21wb25lbnQ6IHR5cGVvZiBFbnRpdHk7XG4gIHBsdWdpbnM/OiB0eXBlb2YgUGx1Z2luW107XG4gIGRlZmF1bHRUZW1wbGF0ZT86IHN0cmluZztcbiAgc3VwcHJlc3NUZW1wbGF0ZT86IGJvb2xlYW47XG4gIHN1cHByZXNzU3R5bGVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TW9kZWwge1xuICAvKipcbiAgICogRGVmaW5lcyBhIHBhdGggZm9yIGFuIGVsZW1lbnQgbW9kZWwuXG4gICAqIEl0J3MgY29tYmluZWQgd2l0aCBhIHBhdGggdG8gYSB0YXJnZXQgZWxlbWVudCBhbmQgYW4gb3V0cHV0IHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIElmIHRhcmdldCB2YWx1ZSBpcyBhbiBBcnJheSwgdGhlbiB0aGUgZWxlbWVudCB3aWxsIGJlIHJlcGVhdGVkIGBuYCB0aW1lcyBhbmQgZWFjaCBpbnN0YW5jZSB3aWxsIGdldCBpdCdzIG93biB2YWx1ZS5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqIC0gYC9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGBAU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgb25seSB3aGVuIGBVSURlZmluaXRpb25UeXBlID0gQ09ORklHVVJBVElPTmAuXG4gICAqL1xuICBsaW5lSXRlbT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50RGVmYXVsdE1ldGFkYXRhIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBFTEVNRU5UX1RZUEU7XG4gIC8qKlxuICAgKiBNYWtlIGNvbXBvbmVudCBzaGFyZWRcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgIT09IFJFRkVSRU5DRWBcbiAgICovXG4gIGlzU2hhcmVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVsZW1lbnQgbW9kdWxlIG5hbWUuIE1vZHVsZSBpcyB1c2VkIGZvciBxdWljayBhY2Nlc3MgZnJvbSBvdGhlciBlbGVtZW50cy5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUgd2UgaGF2ZSBhIGBEYXRhU2VydmljZWAgZWxlbWVudCwgYW5kIHdlIHNheSBpdCdzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlLiBUaGVuIGl0IGNhbiBiZSBhY2Nlc3NlZCBpbiBvdGhlciBlbGVtZW50cyBgbW9kZWxgLCBgaW5wdXRzYCBvciBgb3V0cHV0c2AgcHJvcGVydGllcyB0aGlzIHdheTogYEBTZXJ2aWNlcy9EYXRhU2VydmljZWBcbiAgICpcbiAgICovXG4gIG1vZHVsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgaW5wdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIGlucHV0IGFuZCBgdmFsdWVgIGlzIHRhcmdldCBwYXRoXG4gICAqXG4gICAqIElmIGB2YWx1ZSA9PSBudWxsYCwgdGhlbiB0aGUgZWxlbWVudCBhY3RzIGxpa2UgYSB0YXJnZXQgLSB3ZSBleHBlY3Qgb3RoZXIgZWxlbWVudCB0byBjb25uZWN0IHRvIGl0LlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICpcbiAgICogMS4gYHByb2R1Y3RzOiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzYCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMi4gYHByb2R1Y3RzTGlzdDogJy9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMy4gYHByb2R1Y3RzTGlzdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHMnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzTGlzdGAgaW5wdXQgd2hpY2ggd2lsbCBnZXQgdGhlIGRhdGEgZnJvbSBgcHJvZHVjdHNgIG91dHB1dCBpbiBkYXRhc2VydmljZSBlbGVtZW50IHdoaWNoIGlzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlXG4gICAqXG4gICAqIDQuIGBvblByb2R1Y3RTZWxlY3Q6IG51bGxgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBpbnB1dCwgYW5kIHRoZSBzY3JpcHQgY291bGQgaGF2ZSBhIGxvZ2ljIHdoaWNoIHdpbGwgbGlzdGVuIG9uIHRoZSBldmVudHNcbiAgICpcbiAgICogUmVsYXRpdmUgcGF0aHMgYWxsb3dlZDpcbiAgICpcbiAgICogLSBgLi5gXG4gICAqIC0gYC4uLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKlxuICAgKi9cbiAgaW5wdXRzPzogRGljdGlvbmFyeTxzdHJpbmcgfCBudWxsPjtcbiAgLyoqXG4gICAqIERlZmluZXMgb3V0cHV0cyBvZiB0aGUgZWxlbWVudC4gQW4gb2JqZWN0IHdoZXJlIGBrZXlgIGlzIHRoZSBuYW1lIG9mIHRoZSBvdXRwdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgb25Qcm9kdWN0U2VsZWN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYG9uUHJvZHVjdFNlbGVjdGAgb3V0cHV0LCB3aGljaCB3aWxsIGVtaXQgZXZlbnRzIHRvIHRoZSBgZGF0YXNlcnZpY2VgIGVsZW1lbnQgYGhhbmRsZVByb2R1Y3RTZWxlY3RgIGlucHV0XG4gICAqXG4gICAqIDIuIGBvblByb2R1Y3RTZWxlY3Q6ICdAU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBTYW1lIG91dHB1dCBidXQgYWNjZXNzaW5nIGRhdGFzZXJ2aWNlIGJ5IHRoZSBTZXJ2aWNlIG1vZHVsZVxuICAgKi9cbiAgb3V0cHV0cz86IERpY3Rpb25hcnk8c3RyaW5nIHwgbnVsbD47XG4gIG1vZGVsPzogRWxlbWVudE1vZGVsO1xuICAvKipcbiAgICogRGVmaW5lcyBhIHNoYXJlZCBjb21wb25lbnQgbmFtZSB0byB1c2UgYXMgYSByZWZlcmVuY2VcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFJFRkVSRU5DRWBcbiAgICovXG4gIHJlZmVyZW5jZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIENvbnRhaW5zIHN0eWxlcyBjb25maWd1cmFibGUgZnJvbSBVSSBidWlsZGVyXG4gICAqL1xuICBjb25maWd1cmVkU3R5bGVzPzogRWxlbWVudFN0eWxlRGVjbGFyYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudE1ldGFkYXRhIGV4dGVuZHMgT21pdDxFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCAnY2hpbGRyZW4nPiB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZztcbiAgc2NyaXB0Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT00nIHwgJ0NPTlRBSU5FUicgfCAnU0VSVklDRScgfCAnUkVGRVJFTkNFJztcblxuZXhwb3J0IHR5cGUgRWxlbWVudFN0eWxlRGVjbGFyYXRpb24gPSBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRDb25maWcge1xuICBjb21wb25lbnQ6IHR5cGVvZiBFbnRpdHk7XG4gIHBsdWdpbnM/OiAodHlwZW9mIFBsdWdpbilbXTtcbiAgZGVmYXVsdFRlbXBsYXRlPzogc3RyaW5nO1xuICBzdXBwcmVzc1RlbXBsYXRlPzogYm9vbGVhbjtcbiAgc3VwcHJlc3NTdHlsZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRNb2RlbCB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgcGF0aCBmb3IgYW4gZWxlbWVudCBtb2RlbC5cbiAgICogSXQncyBjb21iaW5lZCB3aXRoIGEgcGF0aCB0byBhIHRhcmdldCBlbGVtZW50IGFuZCBhbiBvdXRwdXQgcHJvcGVydHkgbmFtZS5cbiAgICpcbiAgICogSWYgdGFyZ2V0IHZhbHVlIGlzIGFuIEFycmF5LCB0aGVuIHRoZSBlbGVtZW50IHdpbGwgYmUgcmVwZWF0ZWQgYG5gIHRpbWVzIGFuZCBlYWNoIGluc3RhbmNlIHdpbGwgZ2V0IGl0J3Mgb3duIHZhbHVlLlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICogLSBgL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGAuLi8uLi9TZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqIC0gYEBTZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBvbmx5IHdoZW4gYFVJRGVmaW5pdGlvblR5cGUgPSBDT05GSUdVUkFUSU9OYC5cbiAgICovXG4gIGxpbmVJdGVtPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnREZWZhdWx0TWV0YWRhdGEge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IEVMRU1FTlRfVFlQRTtcbiAgLyoqXG4gICAqIE1ha2UgY29tcG9uZW50IHNoYXJlZFxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSAhPT0gUkVGRVJFTkNFYFxuICAgKi9cbiAgaXNTaGFyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRWxlbWVudCBtb2R1bGUgbmFtZS4gTW9kdWxlIGlzIHVzZWQgZm9yIHF1aWNrIGFjY2VzcyBmcm9tIG90aGVyIGVsZW1lbnRzLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB3ZSBoYXZlIGEgYERhdGFTZXJ2aWNlYCBlbGVtZW50LCBhbmQgd2Ugc2F5IGl0J3MgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGUuIFRoZW4gaXQgY2FuIGJlIGFjY2Vzc2VkIGluIG90aGVyIGVsZW1lbnRzIGBtb2RlbGAsIGBpbnB1dHNgIG9yIGBvdXRwdXRzYCBwcm9wZXJ0aWVzIHRoaXMgd2F5OiBgQFNlcnZpY2VzL0RhdGFTZXJ2aWNlYFxuICAgKlxuICAgKi9cbiAgbW9kdWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyBpbnB1dHMgb2YgdGhlIGVsZW1lbnQuIEFuIG9iamVjdCB3aGVyZSBga2V5YCBpcyB0aGUgbmFtZSBvZiB0aGUgaW5wdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgcHJvZHVjdHM6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZSdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAyLiBgcHJvZHVjdHNMaXN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzJ2BcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBwcm9kdWN0c0xpc3RgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAzLiBgcHJvZHVjdHNMaXN0OiAnQFNlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnQgd2hpY2ggaXMgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGVcbiAgICpcbiAgICogNC4gYG9uUHJvZHVjdFNlbGVjdDogbnVsbGBcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBvblByb2R1Y3RTZWxlY3RgIGlucHV0LCBhbmQgdGhlIHNjcmlwdCBjb3VsZCBoYXZlIGEgbG9naWMgd2hpY2ggd2lsbCBsaXN0ZW4gb24gdGhlIGV2ZW50c1xuICAgKlxuICAgKiBSZWxhdGl2ZSBwYXRocyBhbGxvd2VkOlxuICAgKlxuICAgKiAtIGAuLmBcbiAgICogLSBgLi4vOnByb2R1Y3RzYFxuICAgKiAtIGAuLi8uLi9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqXG4gICAqL1xuICBpbnB1dHM/OiBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bGw+O1xuICAvKipcbiAgICogRGVmaW5lcyBvdXRwdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIG91dHB1dCBhbmQgYHZhbHVlYCBpcyB0YXJnZXQgcGF0aFxuICAgKlxuICAgKiBJZiBgdmFsdWUgPT0gbnVsbGAsIHRoZW4gdGhlIGVsZW1lbnQgYWN0cyBsaWtlIGEgdGFyZ2V0IC0gd2UgZXhwZWN0IG90aGVyIGVsZW1lbnQgdG8gY29ubmVjdCB0byBpdC5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqXG4gICAqIDEuIGBvblByb2R1Y3RTZWxlY3Q6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBvdXRwdXQsIHdoaWNoIHdpbGwgZW1pdCBldmVudHMgdG8gdGhlIGBkYXRhc2VydmljZWAgZWxlbWVudCBgaGFuZGxlUHJvZHVjdFNlbGVjdGAgaW5wdXRcbiAgICpcbiAgICogMi4gYG9uUHJvZHVjdFNlbGVjdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFNhbWUgb3V0cHV0IGJ1dCBhY2Nlc3NpbmcgZGF0YXNlcnZpY2UgYnkgdGhlIFNlcnZpY2UgbW9kdWxlXG4gICAqL1xuICBvdXRwdXRzPzogRGljdGlvbmFyeTxzdHJpbmcgfCBudWxsPjtcbiAgbW9kZWw/OiBFbGVtZW50TW9kZWw7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgc2hhcmVkIGNvbXBvbmVudCBuYW1lIHRvIHVzZSBhcyBhIHJlZmVyZW5jZVxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSA9PT0gUkVGRVJFTkNFYFxuICAgKi9cbiAgcmVmZXJlbmNlPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IHN0cmluZ1tdO1xuICAvKipcbiAgICogQ29udGFpbnMgc3R5bGVzIGNvbmZpZ3VyYWJsZSBmcm9tIFVJIGJ1aWxkZXJcbiAgICovXG4gIGNvbmZpZ3VyZWRTdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TWV0YWRhdGEgZXh0ZW5kcyBPbWl0PEVsZW1lbnREZWZhdWx0TWV0YWRhdGEsICdjaGlsZHJlbic+IHtcbiAgcGF0aD86IHN0cmluZztcbiAgY2hpbGRyZW46IEVsZW1lbnRNZXRhZGF0YVtdO1xuICB0ZW1wbGF0ZT86IHN0cmluZztcbiAgc3R5bGVzPzogc3RyaW5nO1xuICBzY3JpcHQ/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogc3RyaW5nO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5lSXRlbSwgUG9ydERvbWFpbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25FbGVtZW50IHtcbiAgYm91bmROYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUVsZW1lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uRWxlbWVudCB7XG4gIHJlbW92ZTogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3J0RWxlbWVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25FbGVtZW50IHtcbiAgcG9ydEl0ZW1zJDogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPjtcbiAgcG9ydERvbWFpbiQ6IE9ic2VydmFibGU8UG9ydERvbWFpbiB8IHVuZGVmaW5lZD47XG4gIGFkZFBvcnRJdGVtOiAodHlwZTogc3RyaW5nLCBhdHRyaWJ1dGVzOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlRWxlbWVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25FbGVtZW50IHtcbiAgdmFsdWUkOiBPYnNlcnZhYmxlPGFueSB8IHVuZGVmaW5lZD47XG4gIHBhdGNoOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5lSXRlbSwgUG9ydERvbWFpbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25FbGVtZW50IHtcbiAgYm91bmROYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUVsZW1lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uRWxlbWVudCB7XG4gIHVwZGF0ZVF0eTogKHF0eTogbnVtYmVyKSA9PiB2b2lkO1xuICByZW1vdmU6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9ydEVsZW1lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uRWxlbWVudCB7XG4gIHBvcnRJdGVtcyQ6IE9ic2VydmFibGU8TGluZUl0ZW1bXT47XG4gIHBvcnREb21haW4kOiBPYnNlcnZhYmxlPFBvcnREb21haW4gfCB1bmRlZmluZWQ+O1xuICBhZGRQb3J0SXRlbTogKHR5cGU6IHN0cmluZywgYXR0cmlidXRlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZUVsZW1lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uRWxlbWVudCB7XG4gIHZhbHVlJDogT2JzZXJ2YWJsZTxhbnkgfCB1bmRlZmluZWQ+O1xuICBwYXRjaDogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
+ export * from '../modules/runtime/types/compilation.types';
1
2
  export * from './common.types';
2
- export * from './compilation.types';
3
3
  export * from './configuration.types';
4
4
  export * from './elements.types';
5
5
  export * from './integration.types';
6
6
  export * from './metrics.types';
7
7
  export * from './path.types';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBpbGF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnRzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRyaWNzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC50eXBlcyc7XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuLi9tb2R1bGVzL3J1bnRpbWUvdHlwZXMvY29tcGlsYXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudHMudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlZ3JhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL21ldHJpY3MudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXRoLnR5cGVzJztcbiJdfQ==
@@ -1,22 +1,34 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { transform } from '@babel/standalone';
3
+ import { isDefined } from '@veloceapps/core';
3
4
  import { flatten, kebabCase, set } from 'lodash';
4
5
  import { DEFAULT_PLUGINS } from '../cms.default';
5
6
  import { CONFIG } from '../cms.elements';
6
7
  import { DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, SHARED_ELEMENT_METADATA, UI_DEFINITION_METADATA, VENDOR_MAP, } from '../injection-tokens';
7
8
  import { vendorMap } from '../vendor-map';
8
9
  export class ElementsResolver {
9
- constructor(uiDef, elements) {
10
+ constructor(uiDef, elements, sharedElements = []) {
10
11
  this.uiDef = uiDef;
11
12
  this.renderableElements = [];
12
13
  this.sharedElements = [];
13
14
  const transpiledElements = this.transpileScripts(elements);
14
- this.sharedElements = this.flattenElements(transpiledElements).filter(el => this.isSharedElement(el));
15
- this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(Boolean);
15
+ const transpiledSharedElements = this.transpileScripts(sharedElements);
16
+ this.sharedElements = this.flattenElements(transpiledElements)
17
+ .filter(el => this.isSharedElement(el))
18
+ .concat(transpiledSharedElements);
19
+ this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(isDefined);
20
+ this.renderableElements = this.getRenderableElements(this.elements);
21
+ }
22
+ addElement(element) {
23
+ if (element.isShared) {
24
+ return;
25
+ }
26
+ const transpiledElements = this.transpileScripts([element]);
27
+ this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(isDefined);
16
28
  this.renderableElements = this.getRenderableElements(this.elements);
17
29
  }
18
30
  getNgComponents() {
19
- return this.renderableElements.map(el => this.resolveElement(el)).filter(Boolean);
31
+ return this.renderableElements.map(el => this.resolveElement(el)).filter(isDefined);
20
32
  }
21
33
  transpile(el) {
22
34
  var _a;
@@ -83,9 +95,7 @@ export class ElementsResolver {
83
95
  }
84
96
  finalElement.template = this.resolveElementTemplate(finalElement);
85
97
  finalElement.styles = this.resolveElementStyles(finalElement);
86
- return Object.assign(Object.assign({}, finalElement), { children: finalElement.children
87
- .map(child => this.processElementMetadata(child))
88
- .filter(Boolean) });
98
+ return Object.assign(Object.assign({}, finalElement), { children: finalElement.children.map(child => this.processElementMetadata(child)).filter(isDefined) });
89
99
  }
90
100
  getSharedChildren(children, parentPath) {
91
101
  return children.map(c => {
@@ -144,4 +154,4 @@ export class ElementsResolver {
144
154
  return result;
145
155
  }
146
156
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsVUFBVSxHQUNYLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQW9CLEtBQTJCLEVBQUUsUUFBMkI7UUFBeEQsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFIdkMsdUJBQWtCLEdBQXNCLEVBQUUsQ0FBQztRQUMzQyxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFHN0MsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXRHLElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsR0FB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QyxNQUFNLENBQUUsU0FBUSxNQUFNLENBQUMsU0FBUztTQUFHLENBQUMsQ0FBQztRQUV0RSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBd0I7UUFDL0MsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2pGLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsb0ZBQW9GO1lBQ3BGLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQztTQUM1QjtRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUMxQjtRQUVELE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBZ0M7UUFDL0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUV6QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksS0FBSyxDQUFDO1FBRWhCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQGJhYmVsL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uTWV0YWRhdGEgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuLCBrZWJhYkNhc2UsIHNldCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBERUZBVUxUX1BMVUdJTlMgfSBmcm9tICcuLi9jbXMuZGVmYXVsdCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9QTFVHSU5TX1RPS0VOLFxuICBFTEVNRU5UX0NPTkZJRyxcbiAgRUxFTUVOVF9NRVRBREFUQSxcbiAgU0hBUkVEX0VMRU1FTlRfTUVUQURBVEEsXG4gIFVJX0RFRklOSVRJT05fTUVUQURBVEEsXG4gIFZFTkRPUl9NQVAsXG59IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHZlbmRvck1hcCB9IGZyb20gJy4uL3ZlbmRvci1tYXAnO1xuXG5leHBvcnQgY2xhc3MgRWxlbWVudHNSZXNvbHZlciB7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW107XG5cbiAgcHJpdmF0ZSByZW5kZXJhYmxlRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHByaXZhdGUgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1aURlZjogVUlEZWZpbml0aW9uTWV0YWRhdGEsIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSkge1xuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbGVtZW50cyk7XG5cbiAgICB0aGlzLnNoYXJlZEVsZW1lbnRzID0gdGhpcy5mbGF0dGVuRWxlbWVudHModHJhbnNwaWxlZEVsZW1lbnRzKS5maWx0ZXIoZWwgPT4gdGhpcy5pc1NoYXJlZEVsZW1lbnQoZWwpKTtcblxuICAgIHRoaXMuZWxlbWVudHMgPSB0cmFuc3BpbGVkRWxlbWVudHMubWFwKGVsID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShlbCkpLmZpbHRlcihCb29sZWFuKSBhcyBFbGVtZW50TWV0YWRhdGFbXTtcblxuICAgIHRoaXMucmVuZGVyYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRSZW5kZXJhYmxlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmdDb21wb25lbnRzKCk6IFR5cGU8YW55PltdIHtcbiAgICByZXR1cm4gdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMubWFwKGVsID0+IHRoaXMucmVzb2x2ZUVsZW1lbnQoZWwpKS5maWx0ZXIoQm9vbGVhbikgYXMgVHlwZTxhbnk+W107XG4gIH1cblxuICBwcml2YXRlIHRyYW5zcGlsZShlbDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWVsLnNjcmlwdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zZm9ybWVkID0gdHJhbnNmb3JtKGVsLnNjcmlwdCwge1xuICAgICAgZmlsZW5hbWU6IGVsLm5hbWUgKyAnLnRzJyxcbiAgICAgIHByZXNldHM6IFsndHlwZXNjcmlwdCddLFxuICAgICAgc291cmNlTWFwczogJ2lubGluZScsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWQuY29kZSA/PyB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zcGlsZVNjcmlwdHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBlbGVtZW50cy5tYXAoZWwgPT4gKHtcbiAgICAgIC4uLmVsLFxuICAgICAgc2NyaXB0OiB0aGlzLnRyYW5zcGlsZShlbCksXG4gICAgICBjaGlsZHJlbjogdGhpcy50cmFuc3BpbGVTY3JpcHRzKGVsLmNoaWxkcmVuKSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4udGhpcy5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICBjb25zdCByZW5kZXJhYmxlOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiBlbGVtZW50cykge1xuICAgICAgaWYgKCF0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIXRoaXMuaXNTaGFyZWRFbGVtZW50KGNoaWxkKSk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmFibGVDaGlsZHJlbiA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGNoaWxkcmVuKTtcbiAgICAgICAgcmVuZGVyYWJsZS5wdXNoKHsgLi4uZWwsIGNoaWxkcmVuIH0sIC4uLnJlbmRlcmFibGVDaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlcmFibGU7XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZEVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWVsZW1lbnQucmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRWxlbWVudHMuZmluZChlbCA9PiBlbGVtZW50LnJlZmVyZW5jZSA9PT0gZWwubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50VGVtcGxhdGUoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9ICFjb25maWcuc3VwcHJlc3NUZW1wbGF0ZSA/IGVsZW1lbnQudGVtcGxhdGUgOiAnJztcblxuICAgIHJldHVybiB0ZW1wbGF0ZSB8fCBjb25maWcuZGVmYXVsdFRlbXBsYXRlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIHJldHVybiAhY29uZmlnLnN1cHByZXNzU3R5bGVzID8gZWxlbWVudC5zdHlsZXMgPz8gJycgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShzb3VyY2VFbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQge1xuICAgIGxldCBmaW5hbEVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YTtcblxuICAgIGlmIChzb3VyY2VFbGVtZW50LnR5cGUgPT09ICdSRUZFUkVOQ0UnKSB7XG4gICAgICBjb25zdCBzaGFyZWRFbGVtZW50ID0gdGhpcy5nZXRTaGFyZWRFbGVtZW50KHNvdXJjZUVsZW1lbnQpO1xuXG4gICAgICBpZiAoIXNoYXJlZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBTaGFyZWQgZWxlbWVudCBcIiR7c291cmNlRWxlbWVudC5yZWZlcmVuY2V9XCIgbm90IGZvdW5kYCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZmluYWxFbGVtZW50ID0ge1xuICAgICAgICAuLi5zb3VyY2VFbGVtZW50LFxuICAgICAgICBjaGlsZHJlbjogdGhpcy5nZXRTaGFyZWRDaGlsZHJlbihzaGFyZWRFbGVtZW50LmNoaWxkcmVuLCBzb3VyY2VFbGVtZW50LnBhdGgpLFxuICAgICAgICB0eXBlOiBzaGFyZWRFbGVtZW50LnR5cGUsXG4gICAgICAgIHRlbXBsYXRlOiBzaGFyZWRFbGVtZW50LnRlbXBsYXRlLFxuICAgICAgICBzdHlsZXM6IChzaGFyZWRFbGVtZW50LnN0eWxlcyA/PyAnJykgKyAnXFxuJyArIChzb3VyY2VFbGVtZW50LnN0eWxlcyA/PyAnJyksXG4gICAgICAgIGlucHV0czoge1xuICAgICAgICAgIC4uLnNoYXJlZEVsZW1lbnQuaW5wdXRzLFxuICAgICAgICAgIC4uLnNvdXJjZUVsZW1lbnQuaW5wdXRzLFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICAgIC4uLnNvdXJjZUVsZW1lbnQub3V0cHV0cyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbmFsRWxlbWVudCA9IHNvdXJjZUVsZW1lbnQ7XG4gICAgICBkZWxldGUgc291cmNlRWxlbWVudC5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgZmluYWxFbGVtZW50LnRlbXBsYXRlID0gdGhpcy5yZXNvbHZlRWxlbWVudFRlbXBsYXRlKGZpbmFsRWxlbWVudCk7XG4gICAgZmluYWxFbGVtZW50LnN0eWxlcyA9IHRoaXMucmVzb2x2ZUVsZW1lbnRTdHlsZXMoZmluYWxFbGVtZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5maW5hbEVsZW1lbnQsXG4gICAgICBjaGlsZHJlbjogZmluYWxFbGVtZW50LmNoaWxkcmVuXG4gICAgICAgIC5tYXAoY2hpbGQgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGNoaWxkKSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKSBhcyBFbGVtZW50TWV0YWRhdGFbXSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaGFyZWRDaGlsZHJlbihjaGlsZHJlbjogRWxlbWVudE1ldGFkYXRhW10sIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuLm1hcChjID0+IHtcbiAgICAgIGlmICghYy5wYXRoKSB7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbZWxOYW1lXSA9IGMucGF0aC5zcGxpdCgnLycpLnJldmVyc2UoKTtcbiAgICAgIGNvbnN0IHBhdGggPSBwYXJlbnRQYXRoICsgJy8nICsgZWxOYW1lO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jLFxuICAgICAgICBwYXRoLFxuICAgICAgICBjaGlsZHJlbjogdGhpcy5nZXRTaGFyZWRDaGlsZHJlbihjLmNoaWxkcmVuLCBwYXRoKSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgY29uc3QgZGVmYXVsdFBsdWdpbnMgPSBERUZBVUxUX1BMVUdJTlNbdGhpcy51aURlZi50eXBlXSA/PyBbXTtcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFVua25vd24gZWxlbWVudCB0eXBlIFwiJHtlbGVtZW50LnR5cGV9XCJgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZXMgPSB0aGlzLmdldEVsZW1lbnRTdHlsZXMoZWxlbWVudCk7XG5cbiAgICBjb25zdCBjb21wb25lbnQ6IENvbXBvbmVudCA9IHtcbiAgICAgIHNlbGVjdG9yOiAndmwtZWxlbWVudCcsXG4gICAgICB0ZW1wbGF0ZTogZWxlbWVudC50ZW1wbGF0ZSxcbiAgICAgIC4uLihzdHlsZXMgPyB7IHN0eWxlczogW3N0eWxlc10gfSA6IHt9KSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IERFRkFVTFRfUExVR0lOU19UT0tFTiwgdXNlVmFsdWU6IGRlZmF1bHRQbHVnaW5zIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVUlfREVGSU5JVElPTl9NRVRBREFUQSwgdXNlVmFsdWU6IHRoaXMudWlEZWYgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgICAgeyBwcm92aWRlOiBWRU5ET1JfTUFQLCB1c2VWYWx1ZTogdmVuZG9yTWFwIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBjbXAgPSBDb21wb25lbnQoY29tcG9uZW50KShjbGFzcyBDIGV4dGVuZHMgY29uZmlnLmNvbXBvbmVudCB7fSk7XG5cbiAgICBzZXQoY21wLCAncGF0aCcsIGVsZW1lbnQucGF0aCk7XG5cbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuXG4gICAgY29uc3QgY29uZmlndXJlZFN0eWxlcyA9IHRoaXMuY29udmVydElubGluZVN0eWxlc1RvQ1NTKGVsZW1lbnQuY29uZmlndXJlZFN0eWxlcyk7XG4gICAgaWYgKGNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICAgIC8vIG9yZGVyIGlzIGltcG9ydGFudDogc3R5bGVzIHdyaXR0ZW4gYnkgdXNlciBpbiBDU1MgY29kZSBzaG91bGQgaGFzIGhpZ2hlciBwcmlvcml0eVxuICAgICAgcmVzdWx0ICs9IGNvbmZpZ3VyZWRTdHlsZXM7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQuc3R5bGVzKSB7XG4gICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUNVLEtBQTJCLEVBQ25DLFFBQTJCLEVBQzNCLGlCQUFvQyxFQUFFO1FBRjlCLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBSjdCLHVCQUFrQixHQUFzQixFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO1FBTzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0Is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QztTQUMxQjtRQUVELE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBZ0M7UUFDL0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUV6QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksS0FBSyxDQUFDO1FBRWhCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQGJhYmVsL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25NZXRhZGF0YSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIGtlYmFiQ2FzZSwgc2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERFRkFVTFRfUExVR0lOUyB9IGZyb20gJy4uL2Ntcy5kZWZhdWx0JztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbiAgVkVORE9SX01BUCxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgdmVuZG9yTWFwIH0gZnJvbSAnLi4vdmVuZG9yLW1hcCc7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50c1Jlc29sdmVyIHtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcblxuICBwcml2YXRlIHJlbmRlcmFibGVFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBzaGFyZWRFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpRGVmOiBVSURlZmluaXRpb25NZXRhZGF0YSxcbiAgICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sXG4gICAgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW10sXG4gICkge1xuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbGVtZW50cyk7XG4gICAgY29uc3QgdHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKHNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuc2hhcmVkRWxlbWVudHMgPSB0aGlzLmZsYXR0ZW5FbGVtZW50cyh0cmFuc3BpbGVkRWxlbWVudHMpXG4gICAgICAuZmlsdGVyKGVsID0+IHRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSlcbiAgICAgIC5jb25jYXQodHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuZWxlbWVudHMgPSB0cmFuc3BpbGVkRWxlbWVudHMubWFwKGVsID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuXG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50LmlzU2hhcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNwaWxlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKFtlbGVtZW50XSk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogVHlwZTxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLnJlbmRlcmFibGVFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5yZXNvbHZlRWxlbWVudChlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGUoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbC5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybShlbC5zY3JpcHQsIHtcbiAgICAgIGZpbGVuYW1lOiBlbC5uYW1lICsgJy50cycsXG4gICAgICBwcmVzZXRzOiBbJ3R5cGVzY3JpcHQnXSxcbiAgICAgIHNvdXJjZU1hcHM6ICdpbmxpbmUnLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkLmNvZGUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGVTY3JpcHRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gZWxlbWVudHMubWFwKGVsID0+ICh7XG4gICAgICAuLi5lbCxcbiAgICAgIHNjcmlwdDogdGhpcy50cmFuc3BpbGUoZWwpLFxuICAgICAgY2hpbGRyZW46IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbC5jaGlsZHJlbiksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmbGF0dGVuRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBmbGF0dGVuKGVsZW1lbnRzLm1hcChlbCA9PiBbZWwsIC4uLnRoaXMuZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTaGFyZWRFbGVtZW50KGVsOiBFbGVtZW50TWV0YWRhdGEpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbihlbC5pc1NoYXJlZCkgJiYgZWwudHlwZSAhPT0gJ1JFRkVSRU5DRSc7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbmRlcmFibGVFbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgY29uc3QgcmVuZGVyYWJsZTogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIGlmICghdGhpcy5pc1NoYXJlZEVsZW1lbnQoZWwpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZWwuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICF0aGlzLmlzU2hhcmVkRWxlbWVudChjaGlsZCkpO1xuICAgICAgICBjb25zdCByZW5kZXJhYmxlQ2hpbGRyZW4gPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyhjaGlsZHJlbik7XG4gICAgICAgIHJlbmRlcmFibGUucHVzaCh7IC4uLmVsLCBjaGlsZHJlbiB9LCAuLi5yZW5kZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZW5kZXJhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbGVtZW50LnJlZmVyZW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNoYXJlZEVsZW1lbnRzLmZpbmQoZWwgPT4gZWxlbWVudC5yZWZlcmVuY2UgPT09IGVsLm5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFRlbXBsYXRlKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgY29uc3QgdGVtcGxhdGUgPSAhY29uZmlnLnN1cHByZXNzVGVtcGxhdGUgPyBlbGVtZW50LnRlbXBsYXRlIDogJyc7XG5cbiAgICByZXR1cm4gdGVtcGxhdGUgfHwgY29uZmlnLmRlZmF1bHRUZW1wbGF0ZSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnRTdHlsZXMoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICByZXR1cm4gIWNvbmZpZy5zdXBwcmVzc1N0eWxlcyA/IGVsZW1lbnQuc3R5bGVzID8/ICcnIDogJyc7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFbGVtZW50TWV0YWRhdGEoc291cmNlRWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgZmluYWxFbGVtZW50OiBFbGVtZW50TWV0YWRhdGE7XG5cbiAgICBpZiAoc291cmNlRWxlbWVudC50eXBlID09PSAnUkVGRVJFTkNFJykge1xuICAgICAgY29uc3Qgc2hhcmVkRWxlbWVudCA9IHRoaXMuZ2V0U2hhcmVkRWxlbWVudChzb3VyY2VFbGVtZW50KTtcblxuICAgICAgaWYgKCFzaGFyZWRFbGVtZW50KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgU2hhcmVkIGVsZW1lbnQgXCIke3NvdXJjZUVsZW1lbnQucmVmZXJlbmNlfVwiIG5vdCBmb3VuZGApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGZpbmFsRWxlbWVudCA9IHtcbiAgICAgICAgLi4uc291cmNlRWxlbWVudCxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuZ2V0U2hhcmVkQ2hpbGRyZW4oc2hhcmVkRWxlbWVudC5jaGlsZHJlbiwgc291cmNlRWxlbWVudC5wYXRoKSxcbiAgICAgICAgdHlwZTogc2hhcmVkRWxlbWVudC50eXBlLFxuICAgICAgICB0ZW1wbGF0ZTogc2hhcmVkRWxlbWVudC50ZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiAoc2hhcmVkRWxlbWVudC5zdHlsZXMgPz8gJycpICsgJ1xcbicgKyAoc291cmNlRWxlbWVudC5zdHlsZXMgPz8gJycpLFxuICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50LmlucHV0cyxcbiAgICAgICAgICAuLi5zb3VyY2VFbGVtZW50LmlucHV0cyxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0czoge1xuICAgICAgICAgIC4uLnNoYXJlZEVsZW1lbnQub3V0cHV0cyxcbiAgICAgICAgICAuLi5zb3VyY2VFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBmaW5hbEVsZW1lbnQgPSBzb3VyY2VFbGVtZW50O1xuICAgICAgZGVsZXRlIHNvdXJjZUVsZW1lbnQucmVmZXJlbmNlO1xuICAgIH1cblxuICAgIGZpbmFsRWxlbWVudC50ZW1wbGF0ZSA9IHRoaXMucmVzb2x2ZUVsZW1lbnRUZW1wbGF0ZShmaW5hbEVsZW1lbnQpO1xuICAgIGZpbmFsRWxlbWVudC5zdHlsZXMgPSB0aGlzLnJlc29sdmVFbGVtZW50U3R5bGVzKGZpbmFsRWxlbWVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmluYWxFbGVtZW50LFxuICAgICAgY2hpbGRyZW46IGZpbmFsRWxlbWVudC5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGNoaWxkKSkuZmlsdGVyKGlzRGVmaW5lZCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hhcmVkQ2hpbGRyZW4oY2hpbGRyZW46IEVsZW1lbnRNZXRhZGF0YVtdLCBwYXJlbnRQYXRoPzogc3RyaW5nKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBjaGlsZHJlbi5tYXAoYyA9PiB7XG4gICAgICBpZiAoIWMucGF0aCkge1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH1cblxuICAgICAgY29uc3QgW2VsTmFtZV0gPSBjLnBhdGguc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG4gICAgICBjb25zdCBwYXRoID0gcGFyZW50UGF0aCArICcvJyArIGVsTmFtZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuZ2V0U2hhcmVkQ2hpbGRyZW4oYy5jaGlsZHJlbiwgcGF0aCksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBUeXBlPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGNvbnN0IGRlZmF1bHRQbHVnaW5zID0gREVGQVVMVF9QTFVHSU5TW3RoaXMudWlEZWYudHlwZV0gPz8gW107XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVsZW1lbnQgdHlwZSBcIiR7ZWxlbWVudC50eXBlfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnQgPSB7XG4gICAgICBzZWxlY3RvcjogJ3ZsLWVsZW1lbnQnLFxuICAgICAgdGVtcGxhdGU6IGVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAuLi4oc3R5bGVzID8geyBzdHlsZXM6IFtzdHlsZXNdIH0gOiB7fSksXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBERUZBVUxUX1BMVUdJTlNfVE9LRU4sIHVzZVZhbHVlOiBkZWZhdWx0UGx1Z2lucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVJX0RFRklOSVRJT05fTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLnVpRGVmIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9NRVRBREFUQSwgdXNlVmFsdWU6IGVsZW1lbnQgfSxcbiAgICAgICAgeyBwcm92aWRlOiBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSwgdXNlVmFsdWU6IHRoaXMuZ2V0U2hhcmVkRWxlbWVudChlbGVtZW50KSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEVMRU1FTlRfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVkVORE9SX01BUCwgdXNlVmFsdWU6IHZlbmRvck1hcCB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gQ29tcG9uZW50KGNvbXBvbmVudCkoY2xhc3MgQyBleHRlbmRzIGNvbmZpZy5jb21wb25lbnQge30pO1xuXG4gICAgc2V0KGNtcCwgJ3BhdGgnLCBlbGVtZW50LnBhdGgpO1xuXG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgIGNvbnN0IGNvbmZpZ3VyZWRTdHlsZXMgPSB0aGlzLmNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhlbGVtZW50LmNvbmZpZ3VyZWRTdHlsZXMpO1xuICAgIGlmIChjb25maWd1cmVkU3R5bGVzKSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQ6IHN0eWxlcyB3cml0dGVuIGJ5IHVzZXIgaW4gQ1NTIGNvZGUgc2hvdWxkIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgIHJlc3VsdCArPSBjb25maWd1cmVkU3R5bGVzO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnN0eWxlcykge1xuICAgICAgcmVzdWx0ICs9IGVsZW1lbnQuc3R5bGVzO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0SW5saW5lU3R5bGVzVG9DU1Moc3R5bGVzPzogRWxlbWVudFN0eWxlRGVjbGFyYXRpb24pOiBzdHJpbmcge1xuICAgIGlmICghc3R5bGVzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHN0eWxlcyk7XG4gICAgbGV0IHJlc3VsdCA9ICc6aG9zdCB7XFxuJztcblxuICAgIGVudHJpZXMuZm9yRWFjaCgoW3N0eWxlLCB2YWx1ZV0pID0+IHtcbiAgICAgIHJlc3VsdCArPSBgICAke2tlYmFiQ2FzZShzdHlsZSl9OiR7dmFsdWV9O1xcbmA7XG4gICAgfSk7XG5cbiAgICByZXN1bHQgKz0gJ31cXG4nO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  export * from './element.utils';
2
2
  export * from './elements-resolver';
3
3
  export * from './path.utils';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudHMtcmVzb2x2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wYXRoLnV0aWxzJztcbiJdfQ==
4
+ export * from './ui-definition.utils';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsZW1lbnQudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50cy1yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL3BhdGgudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnV0aWxzJztcbiJdfQ==