@o3r/components 11.6.0-prerelease.3 → 11.6.0-prerelease.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts +3 -9
  2. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts.map +1 -1
  3. package/builders/component-extractor/helpers/component/component-class.extractor.js +34 -37
  4. package/builders/component-extractor/helpers/component/component-config.extractor.d.ts +2 -15
  5. package/builders/component-extractor/helpers/component/component-config.extractor.d.ts.map +1 -1
  6. package/builders/component-extractor/helpers/component/component-config.extractor.js +41 -48
  7. package/builders/component-extractor/helpers/component/component.extractor.d.ts +2 -10
  8. package/builders/component-extractor/helpers/component/component.extractor.d.ts.map +1 -1
  9. package/builders/component-extractor/helpers/component/component.extractor.js +20 -25
  10. package/builders/component-extractor/helpers/component/component.parser.d.ts +2 -3
  11. package/builders/component-extractor/helpers/component/component.parser.d.ts.map +1 -1
  12. package/builders/component-extractor/helpers/component/component.parser.js +11 -14
  13. package/builders/component-extractor/index.d.ts.map +1 -1
  14. package/builders/component-extractor/index.js +25 -27
  15. package/builders/component-extractor/schema.d.ts.map +1 -1
  16. package/builders/metadata-check/helpers/config-metadata-comparison.helper.d.ts +2 -2
  17. package/builders/metadata-check/helpers/config-metadata-comparison.helper.d.ts.map +1 -1
  18. package/builders/metadata-check/helpers/config-metadata-comparison.helper.js +1 -1
  19. package/builders/metadata-check/index.d.ts.map +1 -1
  20. package/builders/metadata-check/schema.d.ts.map +1 -1
  21. package/core/component.output.d.ts.map +1 -1
  22. package/core/rendering/helpers.d.ts +0 -1
  23. package/core/rendering/helpers.d.ts.map +1 -1
  24. package/devkit/components-devkit.interface.d.ts.map +1 -1
  25. package/devkit/components-devtools.message.service.d.ts +4 -8
  26. package/devkit/components-devtools.message.service.d.ts.map +1 -1
  27. package/devkit/components-devtools.module.d.ts.map +1 -1
  28. package/devkit/components-devtools.token.d.ts +1 -1
  29. package/devkit/components-devtools.token.d.ts.map +1 -1
  30. package/devkit/inspector/ng/ng.d.ts +3 -1
  31. package/devkit/inspector/ng/ng.d.ts.map +1 -1
  32. package/devkit/inspector/otter-inspector.helpers.d.ts.map +1 -1
  33. package/devkit/inspector/otter-inspector.service.d.ts.map +1 -1
  34. package/esm2022/core/component.output.mjs +1 -1
  35. package/esm2022/core/rendering/helpers.mjs +3 -4
  36. package/esm2022/devkit/components-devkit.interface.mjs +7 -7
  37. package/esm2022/devkit/components-devtools.message.service.mjs +20 -24
  38. package/esm2022/devkit/components-devtools.module.mjs +10 -10
  39. package/esm2022/devkit/components-devtools.token.mjs +2 -2
  40. package/esm2022/devkit/index.mjs +1 -1
  41. package/esm2022/devkit/inspector/index.mjs +1 -1
  42. package/esm2022/devkit/inspector/ng/ng.mjs +1 -1
  43. package/esm2022/devkit/inspector/otter-inspector.helpers.mjs +8 -8
  44. package/esm2022/devkit/inspector/otter-inspector.service.mjs +8 -8
  45. package/esm2022/rules-engine/placeholder.action-handler.mjs +26 -28
  46. package/esm2022/rules-engine/placeholder.interfaces.mjs +1 -1
  47. package/esm2022/rules-engine/placeholder.rules-engine.effect.mjs +28 -25
  48. package/esm2022/rules-engine/placeholder.rules-engine.module.mjs +10 -10
  49. package/esm2022/rules-engine/public_api.mjs +2 -2
  50. package/esm2022/stores/index.mjs +2 -2
  51. package/esm2022/stores/placeholder-request/index.mjs +1 -1
  52. package/esm2022/stores/placeholder-request/placeholder-request.actions.mjs +3 -3
  53. package/esm2022/stores/placeholder-request/placeholder-request.module.mjs +9 -9
  54. package/esm2022/stores/placeholder-request/placeholder-request.reducer.mjs +4 -4
  55. package/esm2022/stores/placeholder-request/placeholder-request.selectors.mjs +4 -4
  56. package/esm2022/stores/placeholder-request/placeholder-request.state.mjs +1 -1
  57. package/esm2022/stores/placeholder-request/placeholder-request.sync.mjs +3 -3
  58. package/esm2022/stores/placeholder-template/index.mjs +1 -1
  59. package/esm2022/stores/placeholder-template/placeholder-template.actions.mjs +2 -2
  60. package/esm2022/stores/placeholder-template/placeholder-template.module.mjs +9 -9
  61. package/esm2022/stores/placeholder-template/placeholder-template.reducer.mjs +3 -3
  62. package/esm2022/stores/placeholder-template/placeholder-template.selectors.mjs +8 -8
  63. package/esm2022/stores/placeholder-template/placeholder-template.state.mjs +1 -1
  64. package/esm2022/stores/placeholder-template/placeholder-template.sync.mjs +2 -2
  65. package/esm2022/tools/component-replacement/c11n.directive.mjs +9 -8
  66. package/esm2022/tools/component-replacement/c11n.helpers.mjs +1 -1
  67. package/esm2022/tools/component-replacement/c11n.mock.module.mjs +15 -15
  68. package/esm2022/tools/component-replacement/c11n.module.mjs +10 -9
  69. package/esm2022/tools/component-replacement/c11n.service.mjs +7 -7
  70. package/esm2022/tools/component-replacement/c11n.token.mjs +2 -2
  71. package/esm2022/tools/component-replacement/index.mjs +3 -3
  72. package/esm2022/tools/pipes/capitalize/capitalize.module.mjs +7 -7
  73. package/esm2022/tools/pipes/capitalize/capitalize.pipe.mjs +8 -8
  74. package/esm2022/tools/pipes/duration/duration.module.mjs +7 -7
  75. package/esm2022/tools/pipes/duration/duration.pipe.mjs +10 -9
  76. package/esm2022/tools/pipes/keep-white-space/keep-white-space.module.mjs +7 -7
  77. package/esm2022/tools/pipes/keep-white-space/keep-white-space.pipe.mjs +8 -8
  78. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.module.mjs +7 -7
  79. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.pipe.mjs +9 -9
  80. package/esm2022/tools/placeholder/placeholder.component.mjs +24 -27
  81. package/esm2022/tools/placeholder/placeholder.interface.mjs +1 -1
  82. package/esm2022/tools/placeholder/placeholder.module.mjs +11 -11
  83. package/fesm2022/o3r-components-rules-engine.mjs +45 -44
  84. package/fesm2022/o3r-components-rules-engine.mjs.map +1 -1
  85. package/fesm2022/o3r-components.mjs +253 -259
  86. package/fesm2022/o3r-components.mjs.map +1 -1
  87. package/package.json +11 -11
  88. package/rules-engine/placeholder.action-handler.d.ts +4 -7
  89. package/rules-engine/placeholder.action-handler.d.ts.map +1 -1
  90. package/rules-engine/placeholder.interfaces.d.ts.map +1 -1
  91. package/rules-engine/placeholder.rules-engine.effect.d.ts +2 -2
  92. package/rules-engine/placeholder.rules-engine.effect.d.ts.map +1 -1
  93. package/rules-engine/placeholder.rules-engine.module.d.ts.map +1 -1
  94. package/rules-engine/public_api.d.ts +1 -1
  95. package/rules-engine/public_api.d.ts.map +1 -1
  96. package/schematics/cms-adapter/index.d.ts.map +1 -1
  97. package/schematics/cms-adapter/index.js +1 -1
  98. package/schematics/ng-add/helpers/devtools-registration.d.ts +0 -2
  99. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -1
  100. package/schematics/ng-add/helpers/devtools-registration.js +1 -3
  101. package/schematics/ng-add/index.d.ts.map +1 -1
  102. package/schematics/ng-add/index.js +3 -4
  103. package/schematics/ng-add/schema.d.ts.map +1 -1
  104. package/schematics/ng-update/v10-0/index.d.ts.map +1 -1
  105. package/schematics/ng-update/v10-0/index.js +2 -1
  106. package/stores/index.d.ts +1 -1
  107. package/stores/index.d.ts.map +1 -1
  108. package/stores/placeholder-request/placeholder-request.actions.d.ts.map +1 -1
  109. package/stores/placeholder-request/placeholder-request.module.d.ts.map +1 -1
  110. package/stores/placeholder-request/placeholder-request.reducer.d.ts.map +1 -1
  111. package/stores/placeholder-request/placeholder-request.selectors.d.ts.map +1 -1
  112. package/stores/placeholder-request/placeholder-request.state.d.ts.map +1 -1
  113. package/stores/placeholder-request/placeholder-request.sync.d.ts +1 -1
  114. package/stores/placeholder-request/placeholder-request.sync.d.ts.map +1 -1
  115. package/stores/placeholder-template/placeholder-template.actions.d.ts.map +1 -1
  116. package/stores/placeholder-template/placeholder-template.module.d.ts.map +1 -1
  117. package/stores/placeholder-template/placeholder-template.reducer.d.ts.map +1 -1
  118. package/stores/placeholder-template/placeholder-template.selectors.d.ts.map +1 -1
  119. package/stores/placeholder-template/placeholder-template.state.d.ts.map +1 -1
  120. package/stores/placeholder-template/placeholder-template.sync.d.ts +2 -2
  121. package/stores/placeholder-template/placeholder-template.sync.d.ts.map +1 -1
  122. package/tools/component-replacement/c11n.directive.d.ts.map +1 -1
  123. package/tools/component-replacement/c11n.helpers.d.ts.map +1 -1
  124. package/tools/component-replacement/c11n.mock.module.d.ts.map +1 -1
  125. package/tools/component-replacement/c11n.module.d.ts +1 -0
  126. package/tools/component-replacement/c11n.module.d.ts.map +1 -1
  127. package/tools/component-replacement/c11n.service.d.ts.map +1 -1
  128. package/tools/component-replacement/c11n.token.d.ts.map +1 -1
  129. package/tools/component-replacement/index.d.ts +2 -2
  130. package/tools/component-replacement/index.d.ts.map +1 -1
  131. package/tools/pipes/capitalize/capitalize.module.d.ts.map +1 -1
  132. package/tools/pipes/capitalize/capitalize.pipe.d.ts.map +1 -1
  133. package/tools/pipes/duration/duration.module.d.ts.map +1 -1
  134. package/tools/pipes/duration/duration.pipe.d.ts +1 -0
  135. package/tools/pipes/duration/duration.pipe.d.ts.map +1 -1
  136. package/tools/pipes/keep-white-space/keep-white-space.module.d.ts.map +1 -1
  137. package/tools/pipes/keep-white-space/keep-white-space.pipe.d.ts.map +1 -1
  138. package/tools/pipes/replace-with-bold/replace-with-bold.module.d.ts.map +1 -1
  139. package/tools/pipes/replace-with-bold/replace-with-bold.pipe.d.ts.map +1 -1
  140. package/tools/placeholder/placeholder.component.d.ts +1 -1
  141. package/tools/placeholder/placeholder.component.d.ts.map +1 -1
  142. package/tools/placeholder/placeholder.interface.d.ts.map +1 -1
  143. package/tools/placeholder/placeholder.module.d.ts.map +1 -1
@@ -1,5 +1,5 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { getOtterLikeComponentInfo, INSPECTOR_CLASS, isContainer } from './otter-inspector.helpers';
1
+ import { BehaviorSubject, } from 'rxjs';
2
+ import { getOtterLikeComponentInfo, INSPECTOR_CLASS, isContainer, } from './otter-inspector.helpers';
3
3
  /**
4
4
  * Service to handle the custom inspector for the Otter Devtools Chrome extension.
5
5
  */
@@ -34,7 +34,6 @@ export class OtterInspectorService {
34
34
  const container = isContainer(parentHost)
35
35
  ? getOtterLikeComponentInfo(parent, parentHost)
36
36
  : undefined;
37
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
37
  const { component, host, ...infoToBeSent } = this.selectedComponent;
39
38
  this.otterLikeComponentInfoToBeSent.next({
40
39
  ...infoToBeSent,
@@ -44,7 +43,7 @@ export class OtterInspectorService {
44
43
  isOtterLikeComponent(info) {
45
44
  const hasConfigId = !!info.configId;
46
45
  const hasTranslations = !!info.translations?.length;
47
- const hasAnalytics = !!Object.keys(info.analytics || {}).length;
46
+ const hasAnalytics = Object.keys(info.analytics || {}).length > 0;
48
47
  return hasConfigId || hasTranslations || hasAnalytics;
49
48
  }
50
49
  findComponentInfo(node) {
@@ -139,10 +138,11 @@ export class OtterInspectorService {
139
138
  }`;
140
139
  const inspectorDiv = document.createElement('div');
141
140
  const inspectorSpan = document.createElement('span');
142
- inspectorDiv.appendChild(inspectorSpan);
141
+ inspectorDiv.append(inspectorSpan);
143
142
  inspectorDiv.classList.add(INSPECTOR_CLASS);
144
- document.head.appendChild(inspectorCss);
145
- this.inspectorDiv = document.body.appendChild(inspectorDiv);
143
+ document.head.append(inspectorCss);
144
+ document.body.append(inspectorDiv);
145
+ this.inspectorDiv = inspectorDiv;
146
146
  }
147
147
  /**
148
148
  * Toggle the inspector.
@@ -163,4 +163,4 @@ export class OtterInspectorService {
163
163
  window.removeEventListener('mouseout', this.cancelEventCallback, true);
164
164
  }
165
165
  }
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUEwQixNQUFNLDJCQUEyQixDQUFDO0FBUTVIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVppQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELHlCQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFFckg7O1dBRUc7UUFDSSxvQ0FBK0IsR0FBbUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzFJLElBQUksQ0FBQyxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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Q0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBa0I7UUFDdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmcgfSBmcm9tICcuL25nJztcbmltcG9ydCB7IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8sIElOU1BFQ1RPUl9DTEFTUywgaXNDb250YWluZXIsIE90dGVyTGlrZUNvbXBvbmVudEluZm8gfSBmcm9tICcuL290dGVyLWluc3BlY3Rvci5oZWxwZXJzJztcblxuXG5pbnRlcmZhY2UgQ29tcG9uZW50SW5mbyBleHRlbmRzIE90dGVyTGlrZUNvbXBvbmVudEluZm8ge1xuICBjb21wb25lbnQ6IGFueTtcbiAgaG9zdDogRWxlbWVudDtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSB0aGUgY3VzdG9tIGluc3BlY3RvciBmb3IgdGhlIE90dGVyIERldnRvb2xzIENocm9tZSBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBPdHRlckluc3BlY3RvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJEZXZUb29sczogTmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrID0gdGhpcy5lbGVtZW50TW91c2VPdmVyLmJpbmQodGhpcyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudENsaWNrQ2FsbGJhY2sgPSB0aGlzLmVsZW1lbnRDbGljay5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbmNlbEV2ZW50Q2FsbGJhY2sgPSB0aGlzLmNhbmNlbEV2ZW50LmJpbmQodGhpcyk7XG4gIHByaXZhdGUgc2VsZWN0ZWRDb21wb25lbnQ6IENvbXBvbmVudEluZm8gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaW5zcGVjdG9yRGl2OiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IG90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3RyZWFtIG9mIGNvbXBvbmVudCBpbmZvIHRvIGJlIHNlbnQgdG8gdGhlIGV4dGVuc2lvbiBhcHAuXG4gICAqL1xuICBwdWJsaWMgb3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JDogT2JzZXJ2YWJsZTxPdHRlckxpa2VDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkPiA9IHRoaXMub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nIGFzIE5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydEluc3BlY3RpbmcoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMuZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmVsZW1lbnRDbGlja0NhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLmNhbmNlbEV2ZW50Q2FsbGJhY2ssIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGVtZW50Q2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ29tcG9uZW50IHx8ICF0aGlzLmFuZ3VsYXJEZXZUb29scykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RlZENvbXBvbmVudC5ob3N0LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgcGFyZW50ID0gcGFyZW50RWxlbWVudCAmJiAodGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KHBhcmVudEVsZW1lbnQpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChwYXJlbnRFbGVtZW50KSk7XG4gICAgY29uc3QgcGFyZW50SG9zdCA9IHBhcmVudCAmJiB0aGlzLmFuZ3VsYXJEZXZUb29scy5nZXRIb3N0RWxlbWVudChwYXJlbnQpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGlzQ29udGFpbmVyKHBhcmVudEhvc3QpXG4gICAgICA/IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8ocGFyZW50LCBwYXJlbnRIb3N0KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgeyBjb21wb25lbnQsIGhvc3QsIC4uLmluZm9Ub0JlU2VudH0gPSB0aGlzLnNlbGVjdGVkQ29tcG9uZW50O1xuXG4gICAgdGhpcy5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQubmV4dCh7XG4gICAgICAuLi5pbmZvVG9CZVNlbnQsXG4gICAgICBjb250YWluZXJcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPdHRlckxpa2VDb21wb25lbnQoaW5mbzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbykge1xuICAgIGNvbnN0IGhhc0NvbmZpZ0lkID0gISFpbmZvLmNvbmZpZ0lkO1xuICAgIGNvbnN0IGhhc1RyYW5zbGF0aW9ucyA9ICEhaW5mby50cmFuc2xhdGlvbnM/Lmxlbmd0aDtcbiAgICBjb25zdCBoYXNBbmFseXRpY3MgPSAhIU9iamVjdC5rZXlzKGluZm8uYW5hbHl0aWNzIHx8IHt9KS5sZW5ndGg7XG4gICAgcmV0dXJuIGhhc0NvbmZpZ0lkIHx8IGhhc1RyYW5zbGF0aW9ucyB8fCBoYXNBbmFseXRpY3M7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb21wb25lbnRJbmZvKG5vZGU6IEVsZW1lbnQpOiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuYW5ndWxhckRldlRvb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wb25lbnRDbGFzc0luc3RhbmNlID0gdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChub2RlKTtcbiAgICBsZXQgbzNyTGlrZUNvbXBvbmVudEluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm87XG4gICAgbGV0IGlzTzNyTGlrZTogYm9vbGVhbjtcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzSW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZG8ge1xuICAgICAgbzNyTGlrZUNvbXBvbmVudEluZm8gPSBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKGNvbXBvbmVudENsYXNzSW5zdGFuY2UsIHRoaXMuYW5ndWxhckRldlRvb2xzLmdldEhvc3RFbGVtZW50KGNvbXBvbmVudENsYXNzSW5zdGFuY2UpKTtcbiAgICAgIGlzTzNyTGlrZSA9IHRoaXMuaXNPdHRlckxpa2VDb21wb25lbnQobzNyTGlrZUNvbXBvbmVudEluZm8pO1xuICAgICAgaWYgKCFpc08zckxpa2UpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3NJbnN0YW5jZSA9IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghaXNPM3JMaWtlICYmIGNvbXBvbmVudENsYXNzSW5zdGFuY2UpO1xuICAgIGlmIChpc08zckxpa2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50Q2xhc3NJbnN0YW5jZSxcbiAgICAgICAgaG9zdDogdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSksXG4gICAgICAgIC4uLm8zckxpa2VDb21wb25lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudE1vdXNlT3ZlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFdmVudChlKTtcblxuICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChlbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb21wb25lbnQgPSB0aGlzLmZpbmRDb21wb25lbnRJbmZvKGVsKTtcbiAgICAgIGlmIChzZWxlY3RlZENvbXBvbmVudD8uaG9zdCAhPT0gdGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCkge1xuICAgICAgICB0aGlzLnVuSGlnaGxpZ2h0KCk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0KHNlbGVjdGVkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodChzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSBzZWxlY3RlZENvbXBvbmVudDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLndpZHRoID0gYCR7cmVjdC53aWR0aH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSBgJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gYCR7cmVjdC5sZWZ0fXB4YDtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LmZpcnN0Q2hpbGQhLnRleHRDb250ZW50ID0gYDwke3RoaXMuc2VsZWN0ZWRDb21wb25lbnQuY29tcG9uZW50TmFtZX0+YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVuSGlnaGxpZ2h0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tcG9uZW50Py5ob3N0ICYmIHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS53aWR0aCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmhlaWdodCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmxlZnQgPSAnMCc7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEV2ZW50KGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgdGhlIGluc3BlY3RvciBkaXYgYW5kIGFkZCBpdCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIHByZXBhcmVJbnNwZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluc3BlY3RvckNzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgaW5zcGVjdG9yQ3NzLnRleHRDb250ZW50ID0gYFxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTA0LCAxODIsIDI1NSwgMC4zNSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSA+IHNwYW4ge1xuICAgICAgICBib3R0b206IC0yNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNCwgMTgyLCAyNTUsIDAuOSk7O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfWA7XG5cbiAgICBjb25zdCBpbnNwZWN0b3JEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb25zdCBpbnNwZWN0b3JTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGluc3BlY3RvckRpdi5hcHBlbmRDaGlsZChpbnNwZWN0b3JTcGFuKTtcbiAgICBpbnNwZWN0b3JEaXYuY2xhc3NMaXN0LmFkZChJTlNQRUNUT1JfQ0xBU1MpO1xuXG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpbnNwZWN0b3JDc3MpO1xuICAgIHRoaXMuaW5zcGVjdG9yRGl2ID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnNwZWN0b3JEaXYpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgaW5zcGVjdG9yLlxuICAgKiBAcGFyYW0gaXNSdW5uaW5nIHRydWUgaWYgdGhlIGluc3BlY3RvciBpcyBydW5uaW5nXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlSW5zcGVjdG9yKGlzUnVubmluZzogYm9vbGVhbikge1xuICAgIGlmIChpc1J1bm5pbmcpIHtcbiAgICAgIHRoaXMuc3RhcnRJbnNwZWN0aW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcEluc3BlY3RpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RvcEluc3BlY3RpbmcoKSB7XG4gICAgdGhpcy51bkhpZ2hsaWdodCgpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCB0aGlzLmVsZW1lbnRNb3VzZU92ZXJDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5lbGVtZW50Q2xpY2tDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgdGhpcy5jYW5jZWxFdmVudENhbGxiYWNrLCB0cnVlKTtcbiAgfVxufVxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxHQUVoQixNQUFNLE1BQU0sQ0FBQztBQUlkLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLFdBQVcsR0FFWixNQUFNLDJCQUEyQixDQUFDO0FBT25DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVppQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELHlCQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFFckg7O1dBRUc7UUFDSSxvQ0FBK0IsR0FBbUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzFJLElBQUksQ0FBQyxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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bkQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBa0I7UUFDdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOZyxcbn0gZnJvbSAnLi9uZyc7XG5pbXBvcnQge1xuICBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvLFxuICBJTlNQRUNUT1JfQ0xBU1MsXG4gIGlzQ29udGFpbmVyLFxuICBPdHRlckxpa2VDb21wb25lbnRJbmZvLFxufSBmcm9tICcuL290dGVyLWluc3BlY3Rvci5oZWxwZXJzJztcblxuaW50ZXJmYWNlIENvbXBvbmVudEluZm8gZXh0ZW5kcyBPdHRlckxpa2VDb21wb25lbnRJbmZvIHtcbiAgY29tcG9uZW50OiBhbnk7XG4gIGhvc3Q6IEVsZW1lbnQ7XG59XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgdGhlIGN1c3RvbSBpbnNwZWN0b3IgZm9yIHRoZSBPdHRlciBEZXZ0b29scyBDaHJvbWUgZXh0ZW5zaW9uLlxuICovXG5leHBvcnQgY2xhc3MgT3R0ZXJJbnNwZWN0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhbmd1bGFyRGV2VG9vbHM6IE5nIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRNb3VzZU92ZXJDYWxsYmFjayA9IHRoaXMuZWxlbWVudE1vdXNlT3Zlci5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRDbGlja0NhbGxiYWNrID0gdGhpcy5lbGVtZW50Q2xpY2suYmluZCh0aGlzKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYW5jZWxFdmVudENhbGxiYWNrID0gdGhpcy5jYW5jZWxFdmVudC5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHNlbGVjdGVkQ29tcG9uZW50OiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGluc3BlY3RvckRpdjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWFkb25seSBvdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE90dGVyTGlrZUNvbXBvbmVudEluZm8gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIFN0cmVhbSBvZiBjb21wb25lbnQgaW5mbyB0byBiZSBzZW50IHRvIHRoZSBleHRlbnNpb24gYXBwLlxuICAgKi9cbiAgcHVibGljIG90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudCQ6IE9ic2VydmFibGU8T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZD4gPSB0aGlzLm90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFuZ3VsYXJEZXZUb29scyA9ICh3aW5kb3cgYXMgYW55KS5uZyBhcyBOZyB8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRJbnNwZWN0aW5nKCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCB0aGlzLmVsZW1lbnRNb3VzZU92ZXJDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5lbGVtZW50Q2xpY2tDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgdGhpcy5jYW5jZWxFdmVudENhbGxiYWNrLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudENsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5zZWxlY3RlZENvbXBvbmVudCB8fCAhdGhpcy5hbmd1bGFyRGV2VG9vbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IHBhcmVudCA9IHBhcmVudEVsZW1lbnQgJiYgKHRoaXMuYW5ndWxhckRldlRvb2xzLmdldENvbXBvbmVudChwYXJlbnRFbGVtZW50KSB8fCB0aGlzLmFuZ3VsYXJEZXZUb29scy5nZXRPd25pbmdDb21wb25lbnQocGFyZW50RWxlbWVudCkpO1xuICAgIGNvbnN0IHBhcmVudEhvc3QgPSBwYXJlbnQgJiYgdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQocGFyZW50KTtcbiAgICBjb25zdCBjb250YWluZXIgPSBpc0NvbnRhaW5lcihwYXJlbnRIb3N0KVxuICAgICAgPyBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKHBhcmVudCwgcGFyZW50SG9zdClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeyBjb21wb25lbnQsIGhvc3QsIC4uLmluZm9Ub0JlU2VudCB9ID0gdGhpcy5zZWxlY3RlZENvbXBvbmVudDtcblxuICAgIHRoaXMub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50Lm5leHQoe1xuICAgICAgLi4uaW5mb1RvQmVTZW50LFxuICAgICAgY29udGFpbmVyXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzT3R0ZXJMaWtlQ29tcG9uZW50KGluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm8pIHtcbiAgICBjb25zdCBoYXNDb25maWdJZCA9ICEhaW5mby5jb25maWdJZDtcbiAgICBjb25zdCBoYXNUcmFuc2xhdGlvbnMgPSAhIWluZm8udHJhbnNsYXRpb25zPy5sZW5ndGg7XG4gICAgY29uc3QgaGFzQW5hbHl0aWNzID0gT2JqZWN0LmtleXMoaW5mby5hbmFseXRpY3MgfHwge30pLmxlbmd0aCA+IDA7XG4gICAgcmV0dXJuIGhhc0NvbmZpZ0lkIHx8IGhhc1RyYW5zbGF0aW9ucyB8fCBoYXNBbmFseXRpY3M7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb21wb25lbnRJbmZvKG5vZGU6IEVsZW1lbnQpOiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuYW5ndWxhckRldlRvb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wb25lbnRDbGFzc0luc3RhbmNlID0gdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChub2RlKTtcbiAgICBsZXQgbzNyTGlrZUNvbXBvbmVudEluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm87XG4gICAgbGV0IGlzTzNyTGlrZTogYm9vbGVhbjtcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzSW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZG8ge1xuICAgICAgbzNyTGlrZUNvbXBvbmVudEluZm8gPSBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKGNvbXBvbmVudENsYXNzSW5zdGFuY2UsIHRoaXMuYW5ndWxhckRldlRvb2xzLmdldEhvc3RFbGVtZW50KGNvbXBvbmVudENsYXNzSW5zdGFuY2UpKTtcbiAgICAgIGlzTzNyTGlrZSA9IHRoaXMuaXNPdHRlckxpa2VDb21wb25lbnQobzNyTGlrZUNvbXBvbmVudEluZm8pO1xuICAgICAgaWYgKCFpc08zckxpa2UpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3NJbnN0YW5jZSA9IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghaXNPM3JMaWtlICYmIGNvbXBvbmVudENsYXNzSW5zdGFuY2UpO1xuICAgIGlmIChpc08zckxpa2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50Q2xhc3NJbnN0YW5jZSxcbiAgICAgICAgaG9zdDogdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSksXG4gICAgICAgIC4uLm8zckxpa2VDb21wb25lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudE1vdXNlT3ZlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFdmVudChlKTtcblxuICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChlbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb21wb25lbnQgPSB0aGlzLmZpbmRDb21wb25lbnRJbmZvKGVsKTtcbiAgICAgIGlmIChzZWxlY3RlZENvbXBvbmVudD8uaG9zdCAhPT0gdGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCkge1xuICAgICAgICB0aGlzLnVuSGlnaGxpZ2h0KCk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0KHNlbGVjdGVkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodChzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSBzZWxlY3RlZENvbXBvbmVudDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLndpZHRoID0gYCR7cmVjdC53aWR0aH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSBgJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gYCR7cmVjdC5sZWZ0fXB4YDtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LmZpcnN0Q2hpbGQhLnRleHRDb250ZW50ID0gYDwke3RoaXMuc2VsZWN0ZWRDb21wb25lbnQuY29tcG9uZW50TmFtZX0+YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVuSGlnaGxpZ2h0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tcG9uZW50Py5ob3N0ICYmIHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS53aWR0aCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmhlaWdodCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmxlZnQgPSAnMCc7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEV2ZW50KGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgdGhlIGluc3BlY3RvciBkaXYgYW5kIGFkZCBpdCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIHByZXBhcmVJbnNwZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluc3BlY3RvckNzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgaW5zcGVjdG9yQ3NzLnRleHRDb250ZW50ID0gYFxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTA0LCAxODIsIDI1NSwgMC4zNSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSA+IHNwYW4ge1xuICAgICAgICBib3R0b206IC0yNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNCwgMTgyLCAyNTUsIDAuOSk7O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfWA7XG5cbiAgICBjb25zdCBpbnNwZWN0b3JEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb25zdCBpbnNwZWN0b3JTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGluc3BlY3RvckRpdi5hcHBlbmQoaW5zcGVjdG9yU3Bhbik7XG4gICAgaW5zcGVjdG9yRGl2LmNsYXNzTGlzdC5hZGQoSU5TUEVDVE9SX0NMQVNTKTtcblxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKGluc3BlY3RvckNzcyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoaW5zcGVjdG9yRGl2KTtcbiAgICB0aGlzLmluc3BlY3RvckRpdiA9IGluc3BlY3RvckRpdjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGluc3BlY3Rvci5cbiAgICogQHBhcmFtIGlzUnVubmluZyB0cnVlIGlmIHRoZSBpbnNwZWN0b3IgaXMgcnVubmluZ1xuICAgKi9cbiAgcHVibGljIHRvZ2dsZUluc3BlY3Rvcihpc1J1bm5pbmc6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNSdW5uaW5nKSB7XG4gICAgICB0aGlzLnN0YXJ0SW5zcGVjdGluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3BJbnNwZWN0aW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0b3BJbnNwZWN0aW5nKCkge1xuICAgIHRoaXMudW5IaWdobGlnaHQoKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5lbGVtZW50TW91c2VPdmVyQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuZWxlbWVudENsaWNrQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIHRoaXMuY2FuY2VsRXZlbnRDYWxsYmFjaywgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,12 @@
1
- import { Injectable, Injector, Optional } from '@angular/core';
2
- import { select, Store } from '@ngrx/store';
3
- import { deletePlaceholderTemplateEntity, selectPlaceholderRequestEntities, selectPlaceholderTemplateEntities, setPlaceholderRequestEntityFromUrl, setPlaceholderTemplateEntity, updatePlaceholderRequestEntity } from '@o3r/components';
4
- import { DynamicContentService } from '@o3r/dynamic-content';
5
- import { LocalizationService } from '@o3r/localization';
6
- import { LoggerService } from '@o3r/logger';
7
- import { combineLatest, distinctUntilChanged, firstValueFrom, map, of, startWith, Subject, Subscription, withLatestFrom } from 'rxjs';
8
- import { RULES_ENGINE_PLACEHOLDER_UPDATE_ACTION_TYPE } from './placeholder.interfaces';
1
+ import { Injectable, Injector, Optional, } from '@angular/core';
2
+ import { takeUntilDestroyed, } from '@angular/core/rxjs-interop';
3
+ import { select, Store, } from '@ngrx/store';
4
+ import { DynamicContentService, } from '@o3r/dynamic-content';
5
+ import { LocalizationService, } from '@o3r/localization';
6
+ import { LoggerService, } from '@o3r/logger';
7
+ import { combineLatest, distinctUntilChanged, firstValueFrom, map, of, startWith, Subject, withLatestFrom, } from 'rxjs';
8
+ import { RULES_ENGINE_PLACEHOLDER_UPDATE_ACTION_TYPE, } from './placeholder.interfaces';
9
+ import { deletePlaceholderTemplateEntity, selectPlaceholderRequestEntities, selectPlaceholderTemplateEntities, setPlaceholderRequestEntityFromUrl, setPlaceholderTemplateEntity, updatePlaceholderRequestEntity, } from '@o3r/components';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@ngrx/store";
11
12
  import * as i2 from "@o3r/logger";
@@ -17,11 +18,12 @@ export class PlaceholderRulesEngineActionHandler {
17
18
  constructor(store, logger, injector, translateService) {
18
19
  this.logger = logger;
19
20
  this.injector = injector;
20
- this.subscription = new Subscription();
21
21
  this.placeholdersActions$ = new Subject();
22
22
  /** @inheritdoc */
23
23
  this.supportingActions = [RULES_ENGINE_PLACEHOLDER_UPDATE_ACTION_TYPE];
24
- const lang$ = translateService ? translateService.getTranslateService().onLangChange.pipe(map(({ lang }) => lang), startWith(translateService.getCurrentLanguage()), distinctUntilChanged()) : of(null);
24
+ const lang$ = translateService
25
+ ? translateService.getTranslateService().onLangChange.pipe(map(({ lang }) => lang), startWith(translateService.getCurrentLanguage()), distinctUntilChanged())
26
+ : of(null);
25
27
  const filteredActions$ = combineLatest([
26
28
  lang$,
27
29
  this.placeholdersActions$.pipe(distinctUntilChanged((prev, next) => JSON.stringify(prev) === JSON.stringify(next)))
@@ -72,11 +74,11 @@ export class PlaceholderRulesEngineActionHandler {
72
74
  });
73
75
  // Placeholder that are no longer filled by the current engine execution output will be cleared
74
76
  const placeholdersTemplatesToBeCleanedUp = Object.keys(storedPlaceholders)
75
- .filter(placeholderId => !placeholdersTemplates[placeholderId]);
77
+ .filter((placeholderId) => !placeholdersTemplates[placeholderId]);
76
78
  const placeholdersTemplatesToBeSet = Object.keys(placeholdersTemplates).reduce((changedPlaceholderTemplates, placeholderTemplateId) => {
77
79
  // Caching if the placeholder template already exists with the same urls
78
- if (!storedPlaceholders[placeholderTemplateId] ||
79
- !(JSON.stringify(storedPlaceholders[placeholderTemplateId].urlsWithPriority) === JSON.stringify(placeholdersTemplates[placeholderTemplateId]))) {
80
+ if (!storedPlaceholders[placeholderTemplateId]
81
+ || !(JSON.stringify(storedPlaceholders[placeholderTemplateId].urlsWithPriority) === JSON.stringify(placeholdersTemplates[placeholderTemplateId]))) {
80
82
  changedPlaceholderTemplates.push({
81
83
  id: placeholderTemplateId,
82
84
  urlsWithPriority: placeholdersTemplates[placeholderTemplateId]
@@ -92,27 +94,27 @@ export class PlaceholderRulesEngineActionHandler {
92
94
  placeholderNewRequests
93
95
  };
94
96
  }));
95
- this.subscription.add(filteredActions$.subscribe((placeholdersUpdates) => {
96
- placeholdersUpdates.placeholdersTemplatesToBeCleanedUp.forEach(placeholderId => store.dispatch(deletePlaceholderTemplateEntity({
97
+ filteredActions$.pipe(takeUntilDestroyed()).subscribe((placeholdersUpdates) => {
98
+ placeholdersUpdates.placeholdersTemplatesToBeCleanedUp.forEach((placeholderId) => store.dispatch(deletePlaceholderTemplateEntity({
97
99
  id: placeholderId
98
100
  })));
99
- placeholdersUpdates.placeholdersTemplatesToBeSet.forEach(placeholdersTemplateToBeSet => {
101
+ placeholdersUpdates.placeholdersTemplatesToBeSet.forEach((placeholdersTemplateToBeSet) => {
100
102
  store.dispatch(setPlaceholderTemplateEntity({ entity: placeholdersTemplateToBeSet }));
101
103
  });
102
- placeholdersUpdates.placeholderRequestsToDisable.forEach(placeholderRequestToDisable => {
104
+ placeholdersUpdates.placeholderRequestsToDisable.forEach((placeholderRequestToDisable) => {
103
105
  store.dispatch(updatePlaceholderRequestEntity({ entity: { id: placeholderRequestToDisable, used: false } }));
104
106
  });
105
- placeholdersUpdates.placeholderRequestsToEnable.forEach(placeholderRequestToEnable => {
107
+ placeholdersUpdates.placeholderRequestsToEnable.forEach((placeholderRequestToEnable) => {
106
108
  store.dispatch(updatePlaceholderRequestEntity({ entity: { id: placeholderRequestToEnable, used: true } }));
107
109
  });
108
- placeholdersUpdates.placeholderNewRequests.forEach(placeholderNewRequest => {
110
+ placeholdersUpdates.placeholderNewRequests.forEach((placeholderNewRequest) => {
109
111
  store.dispatch(setPlaceholderRequestEntityFromUrl({
110
112
  resolvedUrl: placeholderNewRequest.resolvedUrl,
111
113
  id: placeholderNewRequest.rawUrl,
112
114
  call: this.retrieveTemplate(placeholderNewRequest.resolvedUrl)
113
115
  }));
114
116
  });
115
- }));
117
+ });
116
118
  }
117
119
  /**
118
120
  * Localize the url, replacing the language marker
@@ -143,16 +145,12 @@ export class PlaceholderRulesEngineActionHandler {
143
145
  }));
144
146
  this.placeholdersActions$.next(templates);
145
147
  }
146
- /** @inheritdoc */
147
- ngOnDestroy() {
148
- this.subscription.unsubscribe();
149
- }
150
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderRulesEngineActionHandler, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: i0.Injector }, { token: i3.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
151
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderRulesEngineActionHandler }); }
148
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionHandler, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: i0.Injector }, { token: i3.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
149
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionHandler }); }
152
150
  }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderRulesEngineActionHandler, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionHandler, decorators: [{
154
152
  type: Injectable
155
153
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.LoggerService }, { type: i0.Injector }, { type: i3.LocalizationService, decorators: [{
156
154
  type: Optional
157
155
  }] }] });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuYWN0aW9uLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMtZW5naW5lL3BsYWNlaG9sZGVyLmFjdGlvbi1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQ0wsK0JBQStCLEVBRy9CLGdDQUFnQyxFQUNoQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLDRCQUE0QixFQUM1Qiw4QkFBOEIsRUFDL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RJLE9BQU8sRUFBZ0MsMkNBQTJDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFckg7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUNBQW1DO0lBUzlDLFlBQ0UsS0FBc0MsRUFDckIsTUFBcUIsRUFDckIsUUFBa0IsRUFDdkIsZ0JBQXNDO1FBRmpDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVYzQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbEMseUJBQW9CLEdBQWdGLElBQUksT0FBTyxFQUFFLENB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OzRGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVU7OzBCQWNOLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB0eXBlIHsgUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIGRlbGV0ZVBsYWNlaG9sZGVyVGVtcGxhdGVFbnRpdHksXG4gIFBsYWNlaG9sZGVyUmVxdWVzdFJlcGx5LFxuICBQbGFjZWhvbGRlclRlbXBsYXRlU3RvcmUsXG4gIHNlbGVjdFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0aWVzLFxuICBzZWxlY3RQbGFjZWhvbGRlclRlbXBsYXRlRW50aXRpZXMsXG4gIHNldFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eUZyb21VcmwsXG4gIHNldFBsYWNlaG9sZGVyVGVtcGxhdGVFbnRpdHksXG4gIHVwZGF0ZVBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eVxufSBmcm9tICdAbzNyL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnQG8zci9keW5hbWljLWNvbnRlbnQnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BvM3IvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlyc3RWYWx1ZUZyb20sIG1hcCwgb2YsIHN0YXJ0V2l0aCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aW9uVXBkYXRlUGxhY2Vob2xkZXJCbG9jaywgUlVMRVNfRU5HSU5FX1BMQUNFSE9MREVSX1VQREFURV9BQ1RJT05fVFlQRSB9IGZyb20gJy4vcGxhY2Vob2xkZXIuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgYXN5bmMgUGxhY2Vob2xkZXJUZW1wbGF0ZSBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQbGFjZWhvbGRlclJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyPEFjdGlvblVwZGF0ZVBsYWNlaG9sZGVyQmxvY2s+IHtcblxuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHByb3RlY3RlZCBwbGFjZWhvbGRlcnNBY3Rpb25zJDogU3ViamVjdDx7IHBsYWNlaG9sZGVySWQ6IHN0cmluZzsgdGVtcGxhdGVVcmw6IHN0cmluZzsgcHJpb3JpdHk6IG51bWJlciB9W10+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRpbmdBY3Rpb25zID0gW1JVTEVTX0VOR0lORV9QTEFDRUhPTERFUl9VUERBVEVfQUNUSU9OX1RZUEVdIGFzIGNvbnN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZTxQbGFjZWhvbGRlclRlbXBsYXRlU3RvcmU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHRyYW5zbGF0ZVNlcnZpY2U/OiBMb2NhbGl6YXRpb25TZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IGxhbmckID0gdHJhbnNsYXRlU2VydmljZSA/IHRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRlU2VydmljZSgpLm9uTGFuZ0NoYW5nZS5waXBlKFxuICAgICAgbWFwKCh7IGxhbmcgfSkgPT4gbGFuZyksXG4gICAgICBzdGFydFdpdGgodHJhbnNsYXRlU2VydmljZS5nZXRDdXJyZW50TGFuZ3VhZ2UoKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKSA6IG9mKG51bGwpO1xuXG4gICAgY29uc3QgZmlsdGVyZWRBY3Rpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgbGFuZyQsXG4gICAgICB0aGlzLnBsYWNlaG9sZGVyc0FjdGlvbnMkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBuZXh0KSA9PiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkobmV4dCkpXG4gICAgICApXG4gICAgXSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtzdG9yZS5waXBlKHNlbGVjdChzZWxlY3RQbGFjZWhvbGRlclRlbXBsYXRlRW50aXRpZXMpKSwgc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0UGxhY2Vob2xkZXJSZXF1ZXN0RW50aXRpZXMpKV0pXG4gICAgICApLFxuICAgICAgbWFwKChbbGFuZ0FuZFRlbXBsYXRlc1VybHMsIHN0b3JlZFBsYWNlaG9sZGVyc0FuZFJlcXVlc3RzXSkgPT4ge1xuICAgICAgICBjb25zdCBbbGFuZywgcGxhY2Vob2xkZXJBY3Rpb25zXSA9IGxhbmdBbmRUZW1wbGF0ZXNVcmxzO1xuICAgICAgICBjb25zdCBzdG9yZWRQbGFjZWhvbGRlcnMgPSBzdG9yZWRQbGFjZWhvbGRlcnNBbmRSZXF1ZXN0c1swXSB8fCB7fTtcbiAgICAgICAgY29uc3Qgc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0cyA9IHN0b3JlZFBsYWNlaG9sZGVyc0FuZFJlcXVlc3RzWzFdIHx8IHt9O1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlck5ld1JlcXVlc3RzOiB7IHJhd1VybDogc3RyaW5nOyByZXNvbHZlZFVybDogc3RyaW5nIH1bXSA9IFtdO1xuICAgICAgICAvLyBTdG9yZXMgYWxsIHJhdyBVcmxzIHVzZWQgZnJvbSB0aGUgY3VycmVudCBlbmdpbmUgZXhlY3V0aW9uXG4gICAgICAgIGNvbnN0IHVzZWRVcmxzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuICAgICAgICAvLyBHZXQgYWxsIFVybHMgdGhhdCBuZWVkcyB0byBiZSByZXNvbHZlZCBmcm9tIGN1cnJlbnQgcnVsZXMgZW5naW5lIG91dHB1dFxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnNUZW1wbGF0ZXMgPSBwbGFjZWhvbGRlckFjdGlvbnMucmVkdWNlKChhY2MsIHBsYWNlaG9sZGVyQWN0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJzVGVtcGxhdGVVcmwgPSB7XG4gICAgICAgICAgICByYXdVcmw6IHBsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsLFxuICAgICAgICAgICAgcHJpb3JpdHk6IHBsYWNlaG9sZGVyQWN0aW9uLnByaW9yaXR5XG4gICAgICAgICAgfTtcbiAgICAgICAgICBpZiAoYWNjW3BsYWNlaG9sZGVyQWN0aW9uLnBsYWNlaG9sZGVySWRdKSB7XG4gICAgICAgICAgICBhY2NbcGxhY2Vob2xkZXJBY3Rpb24ucGxhY2Vob2xkZXJJZF0ucHVzaChwbGFjZWhvbGRlcnNUZW1wbGF0ZVVybCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFjY1twbGFjZWhvbGRlckFjdGlvbi5wbGFjZWhvbGRlcklkXSA9IFtwbGFjZWhvbGRlcnNUZW1wbGF0ZVVybF07XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHJlc29sdmVkVXJsID0gdGhpcy5yZXNvbHZlVXJsV2l0aExhbmcocGxhY2Vob2xkZXJBY3Rpb24udGVtcGxhdGVVcmwsIGxhbmcpO1xuICAgICAgICAgIC8vIEZpbHRlcnMgZHVwbGljYXRlcyBhbmQgcmVzb2x2ZWQgdXJscyB0aGF0IGFyZSBhbHJlYWR5IGluIHRoZSBzdG9yZVxuICAgICAgICAgIGlmICghdXNlZFVybHNbcGxhY2Vob2xkZXJBY3Rpb24udGVtcGxhdGVVcmxdICYmICghc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0c1twbGFjZWhvbGRlckFjdGlvbi50ZW1wbGF0ZVVybF1cbiAgICAgICAgICAgIHx8IHN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdHNbcGxhY2Vob2xkZXJBY3Rpb24udGVtcGxhdGVVcmxdIS5yZXNvbHZlZFVybCAhPT0gcmVzb2x2ZWRVcmwpKSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlck5ld1JlcXVlc3RzLnB1c2goe1xuICAgICAgICAgICAgICByYXdVcmw6IHBsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsLFxuICAgICAgICAgICAgICByZXNvbHZlZFVybDogdGhpcy5yZXNvbHZlVXJsV2l0aExhbmcocGxhY2Vob2xkZXJBY3Rpb24udGVtcGxhdGVVcmwsIGxhbmcpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdXNlZFVybHNbcGxhY2Vob2xkZXJBY3Rpb24udGVtcGxhdGVVcmxdID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHsgcmF3VXJsOiBzdHJpbmc7IHByaW9yaXR5OiBudW1iZXIgfVtdIH0pO1xuICAgICAgICAvLyBVcmxzIG5vdCB1c2VkIGFueW1vcmUgYW5kIG5vdCBhbHJlYWR5IGRpc2FibGVkXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGU6IHN0cmluZ1tdID0gW107XG4gICAgICAgIC8vIFVybHMgdXNlZCB0aGF0IHdlcmUgZGlzYWJsZWRcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJSZXF1ZXN0c1RvRW5hYmxlOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBPYmplY3Qua2V5cyhzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RzKS5mb3JFYWNoKChzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RSYXdVcmwpID0+IHtcbiAgICAgICAgICBjb25zdCB1c2VkRnJvbUVuZ2luZUl0ZXJhdGlvbiA9IHVzZWRVcmxzW3N0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdFJhd1VybF07XG4gICAgICAgICAgY29uc3QgdXNlZEZyb21TdG9yZSA9IChzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RzICYmIHN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdHNbc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0UmF3VXJsXSkgPyBzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RzW3N0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdFJhd1VybF0udXNlZCA6IGZhbHNlO1xuICAgICAgICAgIGlmICghdXNlZEZyb21FbmdpbmVJdGVyYXRpb24gJiYgdXNlZEZyb21TdG9yZSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXJSZXF1ZXN0c1RvRGlzYWJsZS5wdXNoKHN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdFJhd1VybCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh1c2VkRnJvbUVuZ2luZUl0ZXJhdGlvbiAmJiAhdXNlZEZyb21TdG9yZSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXJSZXF1ZXN0c1RvRW5hYmxlLnB1c2goc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0UmF3VXJsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBQbGFjZWhvbGRlciB0aGF0IGFyZSBubyBsb25nZXIgZmlsbGVkIGJ5IHRoZSBjdXJyZW50IGVuZ2luZSBleGVjdXRpb24gb3V0cHV0IHdpbGwgYmUgY2xlYXJlZFxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlQ2xlYW5lZFVwID0gT2JqZWN0LmtleXMoc3RvcmVkUGxhY2Vob2xkZXJzKVxuICAgICAgICAgIC5maWx0ZXIocGxhY2Vob2xkZXJJZCA9PiAhcGxhY2Vob2xkZXJzVGVtcGxhdGVzW3BsYWNlaG9sZGVySWRdKTtcblxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlU2V0ID0gT2JqZWN0LmtleXMocGxhY2Vob2xkZXJzVGVtcGxhdGVzKS5yZWR1Y2UoKGNoYW5nZWRQbGFjZWhvbGRlclRlbXBsYXRlcywgcGxhY2Vob2xkZXJUZW1wbGF0ZUlkKSA9PiB7XG4gICAgICAgICAgLy8gQ2FjaGluZyBpZiB0aGUgcGxhY2Vob2xkZXIgdGVtcGxhdGUgYWxyZWFkeSBleGlzdHMgd2l0aCB0aGUgc2FtZSB1cmxzXG4gICAgICAgICAgaWYgKCFzdG9yZWRQbGFjZWhvbGRlcnNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXSB8fFxuICAgICAgICAgICAgIShKU09OLnN0cmluZ2lmeShzdG9yZWRQbGFjZWhvbGRlcnNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXS51cmxzV2l0aFByaW9yaXR5KSA9PT0gSlNPTi5zdHJpbmdpZnkocGxhY2Vob2xkZXJzVGVtcGxhdGVzW3BsYWNlaG9sZGVyVGVtcGxhdGVJZF0pKSkge1xuICAgICAgICAgICAgY2hhbmdlZFBsYWNlaG9sZGVyVGVtcGxhdGVzLnB1c2goe1xuICAgICAgICAgICAgICBpZDogcGxhY2Vob2xkZXJUZW1wbGF0ZUlkLFxuICAgICAgICAgICAgICB1cmxzV2l0aFByaW9yaXR5OiBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaGFuZ2VkUGxhY2Vob2xkZXJUZW1wbGF0ZXM7XG4gICAgICAgIH0sIFtdIGFzIHsgaWQ6IHN0cmluZzsgdXJsc1dpdGhQcmlvcml0eTogeyByYXdVcmw6IHN0cmluZzsgcHJpb3JpdHk6IG51bWJlciB9W10gfVtdKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlQ2xlYW5lZFVwLFxuICAgICAgICAgIHBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUsXG4gICAgICAgICAgcGxhY2Vob2xkZXJSZXF1ZXN0c1RvRW5hYmxlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyc1RlbXBsYXRlc1RvQmVTZXQsXG4gICAgICAgICAgcGxhY2Vob2xkZXJOZXdSZXF1ZXN0c1xuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChmaWx0ZXJlZEFjdGlvbnMkLnN1YnNjcmliZSgocGxhY2Vob2xkZXJzVXBkYXRlcykgPT4ge1xuICAgICAgcGxhY2Vob2xkZXJzVXBkYXRlcy5wbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlQ2xlYW5lZFVwLmZvckVhY2gocGxhY2Vob2xkZXJJZCA9PlxuICAgICAgICBzdG9yZS5kaXNwYXRjaChkZWxldGVQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5KHtcbiAgICAgICAgICBpZDogcGxhY2Vob2xkZXJJZFxuICAgICAgICB9KSlcbiAgICAgICk7XG4gICAgICBwbGFjZWhvbGRlcnNVcGRhdGVzLnBsYWNlaG9sZGVyc1RlbXBsYXRlc1RvQmVTZXQuZm9yRWFjaChwbGFjZWhvbGRlcnNUZW1wbGF0ZVRvQmVTZXQgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaChzZXRQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5KHsgZW50aXR5OiBwbGFjZWhvbGRlcnNUZW1wbGF0ZVRvQmVTZXQgfSkpO1xuICAgICAgfSk7XG4gICAgICBwbGFjZWhvbGRlcnNVcGRhdGVzLnBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUuZm9yRWFjaChwbGFjZWhvbGRlclJlcXVlc3RUb0Rpc2FibGUgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaCh1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkoeyBlbnRpdHk6IHsgaWQ6IHBsYWNlaG9sZGVyUmVxdWVzdFRvRGlzYWJsZSwgdXNlZDogZmFsc2UgfSB9KSk7XG4gICAgICB9KTtcbiAgICAgIHBsYWNlaG9sZGVyc1VwZGF0ZXMucGxhY2Vob2xkZXJSZXF1ZXN0c1RvRW5hYmxlLmZvckVhY2gocGxhY2Vob2xkZXJSZXF1ZXN0VG9FbmFibGUgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaCh1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkoeyBlbnRpdHk6IHsgaWQ6IHBsYWNlaG9sZGVyUmVxdWVzdFRvRW5hYmxlLCB1c2VkOiB0cnVlIH0gfSkpO1xuICAgICAgfSk7XG4gICAgICBwbGFjZWhvbGRlcnNVcGRhdGVzLnBsYWNlaG9sZGVyTmV3UmVxdWVzdHMuZm9yRWFjaChwbGFjZWhvbGRlck5ld1JlcXVlc3QgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaChzZXRQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlGcm9tVXJsKHtcbiAgICAgICAgICByZXNvbHZlZFVybDogcGxhY2Vob2xkZXJOZXdSZXF1ZXN0LnJlc29sdmVkVXJsLFxuICAgICAgICAgIGlkOiBwbGFjZWhvbGRlck5ld1JlcXVlc3QucmF3VXJsLFxuICAgICAgICAgIGNhbGw6IHRoaXMucmV0cmlldmVUZW1wbGF0ZShwbGFjZWhvbGRlck5ld1JlcXVlc3QucmVzb2x2ZWRVcmwpXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2NhbGl6ZSB0aGUgdXJsLCByZXBsYWNpbmcgdGhlIGxhbmd1YWdlIG1hcmtlclxuICAgKiBAcGFyYW0gdXJsXG4gICAqIEBwYXJhbSBsYW5ndWFnZVxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc29sdmVVcmxXaXRoTGFuZyh1cmw6IHN0cmluZywgbGFuZ3VhZ2U6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghbGFuZ3VhZ2UgJiYgdXJsLmluY2x1ZGVzKCdbTEFOR1VBR0VdJykpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oYE1pc3NpbmcgbGFuZ3VhZ2Ugd2hlbiB0cnlpbmcgdG8gcmVzb2x2ZSAke3VybH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGxhbmd1YWdlID8gdXJsLnJlcGxhY2UoL1xcW0xBTkdVQUdFXS9nLCBsYW5ndWFnZSkgOiB1cmw7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGVtcGxhdGUgYXMganNvbiBmcm9tIGEgZ2l2ZW4gdXJsXG4gICAqIEBwYXJhbSB1cmxcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyByZXRyaWV2ZVRlbXBsYXRlKHVybDogc3RyaW5nKTogUHJvbWlzZTxQbGFjZWhvbGRlclJlcXVlc3RSZXBseT4ge1xuICAgIGNvbnN0IHJlc29sdmVkVXJsJCA9IHRoaXMuaW5qZWN0b3IuZ2V0KER5bmFtaWNDb250ZW50U2VydmljZSwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KT8uZ2V0Q29udGVudFBhdGhTdHJlYW0odXJsKSB8fCBvZih1cmwpO1xuICAgIGNvbnN0IGZ1bGxVcmwgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShyZXNvbHZlZFVybCQpO1xuICAgIHJldHVybiBmZXRjaChmdWxsVXJsKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgZXhlY3V0ZUFjdGlvbnMoYWN0aW9uczogQWN0aW9uVXBkYXRlUGxhY2Vob2xkZXJCbG9ja1tdKSB7XG4gICAgY29uc3QgdGVtcGxhdGVzID0gYWN0aW9ucy5tYXAoKGFjdGlvbikgPT4gKHtcbiAgICAgIHBsYWNlaG9sZGVySWQ6IGFjdGlvbi5wbGFjZWhvbGRlcklkLFxuICAgICAgdGVtcGxhdGVVcmw6IGFjdGlvbi52YWx1ZSxcbiAgICAgIHByaW9yaXR5OiBhY3Rpb24ucHJpb3JpdHkgfHwgMFxuICAgIH0pKTtcblxuICAgIHRoaXMucGxhY2Vob2xkZXJzQWN0aW9ucyQubmV4dCh0ZW1wbGF0ZXMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuYWN0aW9uLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMtZW5naW5lL3BsYWNlaG9sZGVyLmFjdGlvbi1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsa0JBQWtCLEdBQ25CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUNMLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCxtQkFBbUIsR0FDcEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQ0wsYUFBYSxHQUNkLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxHQUFHLEVBQ0gsRUFBRSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUVMLDJDQUEyQyxHQUM1QyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCwrQkFBK0IsRUFHL0IsZ0NBQWdDLEVBQ2hDLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsNEJBQTRCLEVBQzVCLDhCQUE4QixHQUMvQixNQUFNLGlCQUFpQixDQUFDOzs7OztBQUV6Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxtQ0FBbUM7SUFNOUMsWUFDRSxLQUFzQyxFQUNyQixNQUFxQixFQUNyQixRQUFrQixFQUN2QixnQkFBc0M7UUFGakMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUjNCLHlCQUFvQixHQUFnRixJQUFJLE9BQU8sRUFBRSxD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Y2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgdGFrZVVudGlsRGVzdHJveWVkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBzZWxlY3QsXG4gIFN0b3JlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcixcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIER5bmFtaWNDb250ZW50U2VydmljZSxcbn0gZnJvbSAnQG8zci9keW5hbWljLWNvbnRlbnQnO1xuaW1wb3J0IHtcbiAgTG9jYWxpemF0aW9uU2VydmljZSxcbn0gZnJvbSAnQG8zci9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtcbiAgTG9nZ2VyU2VydmljZSxcbn0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpcnN0VmFsdWVGcm9tLFxuICBtYXAsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFjdGlvblVwZGF0ZVBsYWNlaG9sZGVyQmxvY2ssXG4gIFJVTEVTX0VOR0lORV9QTEFDRUhPTERFUl9VUERBVEVfQUNUSU9OX1RZUEUsXG59IGZyb20gJy4vcGxhY2Vob2xkZXIuaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBkZWxldGVQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5LFxuICBQbGFjZWhvbGRlclJlcXVlc3RSZXBseSxcbiAgUGxhY2Vob2xkZXJUZW1wbGF0ZVN0b3JlLFxuICBzZWxlY3RQbGFjZWhvbGRlclJlcXVlc3RFbnRpdGllcyxcbiAgc2VsZWN0UGxhY2Vob2xkZXJUZW1wbGF0ZUVudGl0aWVzLFxuICBzZXRQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlGcm9tVXJsLFxuICBzZXRQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5LFxuICB1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHksXG59IGZyb20gJ0BvM3IvY29tcG9uZW50cyc7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgYXN5bmMgUGxhY2Vob2xkZXJUZW1wbGF0ZSBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQbGFjZWhvbGRlclJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciBpbXBsZW1lbnRzIFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcjxBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrPiB7XG4gIHByb3RlY3RlZCBwbGFjZWhvbGRlcnNBY3Rpb25zJDogU3ViamVjdDx7IHBsYWNlaG9sZGVySWQ6IHN0cmluZzsgdGVtcGxhdGVVcmw6IHN0cmluZzsgcHJpb3JpdHk6IG51bWJlciB9W10+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRpbmdBY3Rpb25zID0gW1JVTEVTX0VOR0lORV9QTEFDRUhPTERFUl9VUERBVEVfQUNUSU9OX1RZUEVdIGFzIGNvbnN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZTxQbGFjZWhvbGRlclRlbXBsYXRlU3RvcmU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHRyYW5zbGF0ZVNlcnZpY2U/OiBMb2NhbGl6YXRpb25TZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IGxhbmckID0gdHJhbnNsYXRlU2VydmljZVxuICAgICAgPyB0cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0ZVNlcnZpY2UoKS5vbkxhbmdDaGFuZ2UucGlwZShcbiAgICAgICAgbWFwKCh7IGxhbmcgfSkgPT4gbGFuZyksXG4gICAgICAgIHN0YXJ0V2l0aCh0cmFuc2xhdGVTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgOiBvZihudWxsKTtcblxuICAgIGNvbnN0IGZpbHRlcmVkQWN0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGxhbmckLFxuICAgICAgdGhpcy5wbGFjZWhvbGRlcnNBY3Rpb25zJC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgbmV4dCkgPT4gSlNPTi5zdHJpbmdpZnkocHJldikgPT09IEpTT04uc3RyaW5naWZ5KG5leHQpKVxuICAgICAgKVxuICAgIF0pLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgY29tYmluZUxhdGVzdChbc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0UGxhY2Vob2xkZXJUZW1wbGF0ZUVudGl0aWVzKSksIHN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0aWVzKSldKVxuICAgICAgKSxcbiAgICAgIG1hcCgoW2xhbmdBbmRUZW1wbGF0ZXNVcmxzLCBzdG9yZWRQbGFjZWhvbGRlcnNBbmRSZXF1ZXN0c10pID0+IHtcbiAgICAgICAgY29uc3QgW2xhbmcsIHBsYWNlaG9sZGVyQWN0aW9uc10gPSBsYW5nQW5kVGVtcGxhdGVzVXJscztcbiAgICAgICAgY29uc3Qgc3RvcmVkUGxhY2Vob2xkZXJzID0gc3RvcmVkUGxhY2Vob2xkZXJzQW5kUmVxdWVzdHNbMF0gfHwge307XG4gICAgICAgIGNvbnN0IHN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdHMgPSBzdG9yZWRQbGFjZWhvbGRlcnNBbmRSZXF1ZXN0c1sxXSB8fCB7fTtcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJOZXdSZXF1ZXN0czogeyByYXdVcmw6IHN0cmluZzsgcmVzb2x2ZWRVcmw6IHN0cmluZyB9W10gPSBbXTtcbiAgICAgICAgLy8gU3RvcmVzIGFsbCByYXcgVXJscyB1c2VkIGZyb20gdGhlIGN1cnJlbnQgZW5naW5lIGV4ZWN1dGlvblxuICAgICAgICBjb25zdCB1c2VkVXJsczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgICAgICAgLy8gR2V0IGFsbCBVcmxzIHRoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQgZnJvbSBjdXJyZW50IHJ1bGVzIGVuZ2luZSBvdXRwdXRcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJzVGVtcGxhdGVzID0gcGxhY2Vob2xkZXJBY3Rpb25zLnJlZHVjZSgoYWNjLCBwbGFjZWhvbGRlckFjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyc1RlbXBsYXRlVXJsID0ge1xuICAgICAgICAgICAgcmF3VXJsOiBwbGFjZWhvbGRlckFjdGlvbi50ZW1wbGF0ZVVybCxcbiAgICAgICAgICAgIHByaW9yaXR5OiBwbGFjZWhvbGRlckFjdGlvbi5wcmlvcml0eVxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKGFjY1twbGFjZWhvbGRlckFjdGlvbi5wbGFjZWhvbGRlcklkXSkge1xuICAgICAgICAgICAgYWNjW3BsYWNlaG9sZGVyQWN0aW9uLnBsYWNlaG9sZGVySWRdLnB1c2gocGxhY2Vob2xkZXJzVGVtcGxhdGVVcmwpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY2NbcGxhY2Vob2xkZXJBY3Rpb24ucGxhY2Vob2xkZXJJZF0gPSBbcGxhY2Vob2xkZXJzVGVtcGxhdGVVcmxdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCByZXNvbHZlZFVybCA9IHRoaXMucmVzb2x2ZVVybFdpdGhMYW5nKHBsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsLCBsYW5nKTtcbiAgICAgICAgICAvLyBGaWx0ZXJzIGR1cGxpY2F0ZXMgYW5kIHJlc29sdmVkIHVybHMgdGhhdCBhcmUgYWxyZWFkeSBpbiB0aGUgc3RvcmVcbiAgICAgICAgICBpZiAoIXVzZWRVcmxzW3BsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsXSAmJiAoIXN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdHNbcGxhY2Vob2xkZXJBY3Rpb24udGVtcGxhdGVVcmxdXG4gICAgICAgICAgICB8fCBzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RzW3BsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsXSEucmVzb2x2ZWRVcmwgIT09IHJlc29sdmVkVXJsKSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXJOZXdSZXF1ZXN0cy5wdXNoKHtcbiAgICAgICAgICAgICAgcmF3VXJsOiBwbGFjZWhvbGRlckFjdGlvbi50ZW1wbGF0ZVVybCxcbiAgICAgICAgICAgICAgcmVzb2x2ZWRVcmw6IHRoaXMucmVzb2x2ZVVybFdpdGhMYW5nKHBsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsLCBsYW5nKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVzZWRVcmxzW3BsYWNlaG9sZGVyQWN0aW9uLnRlbXBsYXRlVXJsXSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30gYXMgeyBba2V5OiBzdHJpbmddOiB7IHJhd1VybDogc3RyaW5nOyBwcmlvcml0eTogbnVtYmVyIH1bXSB9KTtcbiAgICAgICAgLy8gVXJscyBub3QgdXNlZCBhbnltb3JlIGFuZCBub3QgYWxyZWFkeSBkaXNhYmxlZFxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlclJlcXVlc3RzVG9EaXNhYmxlOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAvLyBVcmxzIHVzZWQgdGhhdCB3ZXJlIGRpc2FibGVkXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyUmVxdWVzdHNUb0VuYWJsZTogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgT2JqZWN0LmtleXMoc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0cykuZm9yRWFjaCgoc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0UmF3VXJsKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXNlZEZyb21FbmdpbmVJdGVyYXRpb24gPSB1c2VkVXJsc1tzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RSYXdVcmxdO1xuICAgICAgICAgIGNvbnN0IHVzZWRGcm9tU3RvcmUgPSAoc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0cyAmJiBzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RzW3N0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdFJhd1VybF0pID8gc3RvcmVkUGxhY2Vob2xkZXJSZXF1ZXN0c1tzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RSYXdVcmxdLnVzZWQgOiBmYWxzZTtcbiAgICAgICAgICBpZiAoIXVzZWRGcm9tRW5naW5lSXRlcmF0aW9uICYmIHVzZWRGcm9tU3RvcmUpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUucHVzaChzdG9yZWRQbGFjZWhvbGRlclJlcXVlc3RSYXdVcmwpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodXNlZEZyb21FbmdpbmVJdGVyYXRpb24gJiYgIXVzZWRGcm9tU3RvcmUpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyUmVxdWVzdHNUb0VuYWJsZS5wdXNoKHN0b3JlZFBsYWNlaG9sZGVyUmVxdWVzdFJhd1VybCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gUGxhY2Vob2xkZXIgdGhhdCBhcmUgbm8gbG9uZ2VyIGZpbGxlZCBieSB0aGUgY3VycmVudCBlbmdpbmUgZXhlY3V0aW9uIG91dHB1dCB3aWxsIGJlIGNsZWFyZWRcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJzVGVtcGxhdGVzVG9CZUNsZWFuZWRVcCA9IE9iamVjdC5rZXlzKHN0b3JlZFBsYWNlaG9sZGVycylcbiAgICAgICAgICAuZmlsdGVyKChwbGFjZWhvbGRlcklkKSA9PiAhcGxhY2Vob2xkZXJzVGVtcGxhdGVzW3BsYWNlaG9sZGVySWRdKTtcblxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlU2V0ID0gT2JqZWN0LmtleXMocGxhY2Vob2xkZXJzVGVtcGxhdGVzKS5yZWR1Y2UoKGNoYW5nZWRQbGFjZWhvbGRlclRlbXBsYXRlcywgcGxhY2Vob2xkZXJUZW1wbGF0ZUlkKSA9PiB7XG4gICAgICAgICAgLy8gQ2FjaGluZyBpZiB0aGUgcGxhY2Vob2xkZXIgdGVtcGxhdGUgYWxyZWFkeSBleGlzdHMgd2l0aCB0aGUgc2FtZSB1cmxzXG4gICAgICAgICAgaWYgKCFzdG9yZWRQbGFjZWhvbGRlcnNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXVxuICAgICAgICAgICAgfHwgIShKU09OLnN0cmluZ2lmeShzdG9yZWRQbGFjZWhvbGRlcnNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXS51cmxzV2l0aFByaW9yaXR5KSA9PT0gSlNPTi5zdHJpbmdpZnkocGxhY2Vob2xkZXJzVGVtcGxhdGVzW3BsYWNlaG9sZGVyVGVtcGxhdGVJZF0pKSkge1xuICAgICAgICAgICAgY2hhbmdlZFBsYWNlaG9sZGVyVGVtcGxhdGVzLnB1c2goe1xuICAgICAgICAgICAgICBpZDogcGxhY2Vob2xkZXJUZW1wbGF0ZUlkLFxuICAgICAgICAgICAgICB1cmxzV2l0aFByaW9yaXR5OiBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNbcGxhY2Vob2xkZXJUZW1wbGF0ZUlkXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaGFuZ2VkUGxhY2Vob2xkZXJUZW1wbGF0ZXM7XG4gICAgICAgIH0sIFtdIGFzIHsgaWQ6IHN0cmluZzsgdXJsc1dpdGhQcmlvcml0eTogeyByYXdVcmw6IHN0cmluZzsgcHJpb3JpdHk6IG51bWJlciB9W10gfVtdKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlQ2xlYW5lZFVwLFxuICAgICAgICAgIHBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUsXG4gICAgICAgICAgcGxhY2Vob2xkZXJSZXF1ZXN0c1RvRW5hYmxlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyc1RlbXBsYXRlc1RvQmVTZXQsXG4gICAgICAgICAgcGxhY2Vob2xkZXJOZXdSZXF1ZXN0c1xuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICAgIGZpbHRlcmVkQWN0aW9ucyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChwbGFjZWhvbGRlcnNVcGRhdGVzKSA9PiB7XG4gICAgICBwbGFjZWhvbGRlcnNVcGRhdGVzLnBsYWNlaG9sZGVyc1RlbXBsYXRlc1RvQmVDbGVhbmVkVXAuZm9yRWFjaCgocGxhY2Vob2xkZXJJZCkgPT5cbiAgICAgICAgc3RvcmUuZGlzcGF0Y2goZGVsZXRlUGxhY2Vob2xkZXJUZW1wbGF0ZUVudGl0eSh7XG4gICAgICAgICAgaWQ6IHBsYWNlaG9sZGVySWRcbiAgICAgICAgfSkpXG4gICAgICApO1xuICAgICAgcGxhY2Vob2xkZXJzVXBkYXRlcy5wbGFjZWhvbGRlcnNUZW1wbGF0ZXNUb0JlU2V0LmZvckVhY2goKHBsYWNlaG9sZGVyc1RlbXBsYXRlVG9CZVNldCkgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaChzZXRQbGFjZWhvbGRlclRlbXBsYXRlRW50aXR5KHsgZW50aXR5OiBwbGFjZWhvbGRlcnNUZW1wbGF0ZVRvQmVTZXQgfSkpO1xuICAgICAgfSk7XG4gICAgICBwbGFjZWhvbGRlcnNVcGRhdGVzLnBsYWNlaG9sZGVyUmVxdWVzdHNUb0Rpc2FibGUuZm9yRWFjaCgocGxhY2Vob2xkZXJSZXF1ZXN0VG9EaXNhYmxlKSA9PiB7XG4gICAgICAgIHN0b3JlLmRpc3BhdGNoKHVwZGF0ZVBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eSh7IGVudGl0eTogeyBpZDogcGxhY2Vob2xkZXJSZXF1ZXN0VG9EaXNhYmxlLCB1c2VkOiBmYWxzZSB9IH0pKTtcbiAgICAgIH0pO1xuICAgICAgcGxhY2Vob2xkZXJzVXBkYXRlcy5wbGFjZWhvbGRlclJlcXVlc3RzVG9FbmFibGUuZm9yRWFjaCgocGxhY2Vob2xkZXJSZXF1ZXN0VG9FbmFibGUpID0+IHtcbiAgICAgICAgc3RvcmUuZGlzcGF0Y2godXBkYXRlUGxhY2Vob2xkZXJSZXF1ZXN0RW50aXR5KHsgZW50aXR5OiB7IGlkOiBwbGFjZWhvbGRlclJlcXVlc3RUb0VuYWJsZSwgdXNlZDogdHJ1ZSB9IH0pKTtcbiAgICAgIH0pO1xuICAgICAgcGxhY2Vob2xkZXJzVXBkYXRlcy5wbGFjZWhvbGRlck5ld1JlcXVlc3RzLmZvckVhY2goKHBsYWNlaG9sZGVyTmV3UmVxdWVzdCkgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaChzZXRQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlGcm9tVXJsKHtcbiAgICAgICAgICByZXNvbHZlZFVybDogcGxhY2Vob2xkZXJOZXdSZXF1ZXN0LnJlc29sdmVkVXJsLFxuICAgICAgICAgIGlkOiBwbGFjZWhvbGRlck5ld1JlcXVlc3QucmF3VXJsLFxuICAgICAgICAgIGNhbGw6IHRoaXMucmV0cmlldmVUZW1wbGF0ZShwbGFjZWhvbGRlck5ld1JlcXVlc3QucmVzb2x2ZWRVcmwpXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvY2FsaXplIHRoZSB1cmwsIHJlcGxhY2luZyB0aGUgbGFuZ3VhZ2UgbWFya2VyXG4gICAqIEBwYXJhbSB1cmxcbiAgICogQHBhcmFtIGxhbmd1YWdlXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb2x2ZVVybFdpdGhMYW5nKHVybDogc3RyaW5nLCBsYW5ndWFnZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgaWYgKCFsYW5ndWFnZSAmJiB1cmwuaW5jbHVkZXMoJ1tMQU5HVUFHRV0nKSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihgTWlzc2luZyBsYW5ndWFnZSB3aGVuIHRyeWluZyB0byByZXNvbHZlICR7dXJsfWApO1xuICAgIH1cbiAgICByZXR1cm4gbGFuZ3VhZ2UgPyB1cmwucmVwbGFjZSgvXFxbTEFOR1VBR0VdL2csIGxhbmd1YWdlKSA6IHVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0ZW1wbGF0ZSBhcyBqc29uIGZyb20gYSBnaXZlbiB1cmxcbiAgICogQHBhcmFtIHVybFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIHJldHJpZXZlVGVtcGxhdGUodXJsOiBzdHJpbmcpOiBQcm9taXNlPFBsYWNlaG9sZGVyUmVxdWVzdFJlcGx5PiB7XG4gICAgY29uc3QgcmVzb2x2ZWRVcmwkID0gdGhpcy5pbmplY3Rvci5nZXQoRHluYW1pY0NvbnRlbnRTZXJ2aWNlLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlIH0pPy5nZXRDb250ZW50UGF0aFN0cmVhbSh1cmwpIHx8IG9mKHVybCk7XG4gICAgY29uc3QgZnVsbFVybCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHJlc29sdmVkVXJsJCk7XG4gICAgcmV0dXJuIGZldGNoKGZ1bGxVcmwpLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBleGVjdXRlQWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrW10pIHtcbiAgICBjb25zdCB0ZW1wbGF0ZXMgPSBhY3Rpb25zLm1hcCgoYWN0aW9uKSA9PiAoe1xuICAgICAgcGxhY2Vob2xkZXJJZDogYWN0aW9uLnBsYWNlaG9sZGVySWQsXG4gICAgICB0ZW1wbGF0ZVVybDogYWN0aW9uLnZhbHVlLFxuICAgICAgcHJpb3JpdHk6IGFjdGlvbi5wcmlvcml0eSB8fCAwXG4gICAgfSkpO1xuXG4gICAgdGhpcy5wbGFjZWhvbGRlcnNBY3Rpb25zJC5uZXh0KHRlbXBsYXRlcyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  /** ActionUpdatePlaceholderBlock */
2
2
  export const RULES_ENGINE_PLACEHOLDER_UPDATE_ACTION_TYPE = 'UPDATE_PLACEHOLDER';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcGxhY2Vob2xkZXIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUcsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lQWN0aW9uIH0gZnJvbSAnQG8zci9jb3JlJztcblxuLyoqIEFjdGlvblVwZGF0ZVBsYWNlaG9sZGVyQmxvY2sgICovXG5leHBvcnQgY29uc3QgUlVMRVNfRU5HSU5FX1BMQUNFSE9MREVSX1VQREFURV9BQ1RJT05fVFlQRSA9ICdVUERBVEVfUExBQ0VIT0xERVInO1xuXG4vKipcbiAqIENvbnRlbnQgb2YgYWN0aW9uIHRoYXQgdXBkYXRlcyBhIHBsYWNlaG9sZGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uVXBkYXRlUGxhY2Vob2xkZXJCbG9jayBleHRlbmRzIFJ1bGVzRW5naW5lQWN0aW9uIHtcbiAgYWN0aW9uVHlwZTogdHlwZW9mIFJVTEVTX0VOR0lORV9QTEFDRUhPTERFUl9VUERBVEVfQUNUSU9OX1RZUEU7XG4gIHBsYWNlaG9sZGVySWQ6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgcHJpb3JpdHk/OiBudW1iZXI7XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcGxhY2Vob2xkZXIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUcsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJ1bGVzRW5naW5lQWN0aW9uLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuXG4vKiogQWN0aW9uVXBkYXRlUGxhY2Vob2xkZXJCbG9jayAgKi9cbmV4cG9ydCBjb25zdCBSVUxFU19FTkdJTkVfUExBQ0VIT0xERVJfVVBEQVRFX0FDVElPTl9UWVBFID0gJ1VQREFURV9QTEFDRUhPTERFUic7XG5cbi8qKlxuICogQ29udGVudCBvZiBhY3Rpb24gdGhhdCB1cGRhdGVzIGEgcGxhY2Vob2xkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrIGV4dGVuZHMgUnVsZXNFbmdpbmVBY3Rpb24ge1xuICBhY3Rpb25UeXBlOiB0eXBlb2YgUlVMRVNfRU5HSU5FX1BMQUNFSE9MREVSX1VQREFURV9BQ1RJT05fVFlQRTtcbiAgcGxhY2Vob2xkZXJJZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,11 +1,11 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import { Actions, createEffect, ofType } from '@ngrx/effects';
3
- import { cancelPlaceholderRequest, failPlaceholderRequestEntity, selectPlaceholderRequestEntityUsage, setPlaceholderRequestEntityFromUrl, updatePlaceholderRequestEntity } from '@o3r/components';
4
- import { fromApiEffectSwitchMapById } from '@o3r/core';
5
- import { combineLatest, EMPTY, of } from 'rxjs';
6
- import { distinctUntilChanged, map, switchMap, take } from 'rxjs/operators';
7
- import { Store } from '@ngrx/store';
8
- import { JSONPath } from 'jsonpath-plus';
1
+ import { Injectable, Optional, } from '@angular/core';
2
+ import { Actions, createEffect, ofType, } from '@ngrx/effects';
3
+ import { Store, } from '@ngrx/store';
4
+ import { fromApiEffectSwitchMapById, } from '@o3r/core';
5
+ import { JSONPath, } from 'jsonpath-plus';
6
+ import { combineLatest, EMPTY, of, } from 'rxjs';
7
+ import { distinctUntilChanged, map, switchMap, take, } from 'rxjs/operators';
8
+ import { cancelPlaceholderRequest, failPlaceholderRequestEntity, selectPlaceholderRequestEntityUsage, setPlaceholderRequestEntityFromUrl, updatePlaceholderRequestEntity, } from '@o3r/components';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@ngrx/effects";
11
11
  import * as i2 from "@ngrx/store";
@@ -29,13 +29,15 @@ export class PlaceholderTemplateResponseEffect {
29
29
  */
30
30
  this.setPlaceholderRequestEntityFromUrl$ = createEffect(() => this.actions$.pipe(ofType(setPlaceholderRequestEntityFromUrl), fromApiEffectSwitchMapById((templateResponse, action) => {
31
31
  const facts = templateResponse.vars ? Object.entries(templateResponse.vars).filter(([, variable]) => variable.type === 'fact') : [];
32
- const factsStreamsList = this.rulesEngineService ? facts.map(([varName, fact]) => this.rulesEngineService.engine.retrieveOrCreateFactStream(fact.value).pipe(map((factValue) => ({
33
- varName,
34
- factName: fact.value,
35
- // eslint-disable-next-line new-cap
36
- factValue: (fact.path && factValue) ? JSONPath({ wrap: false, json: factValue, path: fact.path }) : factValue
37
- })), distinctUntilChanged((previous, current) => previous.factValue === current.factValue))) : [];
38
- const factsStreamsList$ = factsStreamsList.length ? combineLatest(factsStreamsList) : of([]);
32
+ const factsStreamsList = this.rulesEngineService
33
+ ? facts.map(([varName, fact]) => this.rulesEngineService.engine.retrieveOrCreateFactStream(fact.value).pipe(map((factValue) => ({
34
+ varName,
35
+ factName: fact.value,
36
+ // eslint-disable-next-line new-cap -- naming convention imposed by jsonpath-plus
37
+ factValue: (fact.path && factValue) ? JSONPath({ wrap: false, json: factValue, path: fact.path }) : factValue
38
+ })), distinctUntilChanged((previous, current) => previous.factValue === current.factValue)))
39
+ : [];
40
+ const factsStreamsList$ = factsStreamsList.length > 0 ? combineLatest(factsStreamsList) : of([]);
39
41
  return combineLatest([factsStreamsList$, this.store.select(selectPlaceholderRequestEntityUsage(action.id)).pipe(distinctUntilChanged())]).pipe(switchMap(([factsUsedInTemplate, placeholderRequestUsage]) => {
40
42
  if (!placeholderRequestUsage) {
41
43
  return EMPTY;
@@ -99,9 +101,9 @@ export class PlaceholderTemplateResponseEffect {
99
101
  acc[paramKey] = factMapFromVars[paramValue];
100
102
  return acc;
101
103
  }, linkedVars);
102
- replacements$.push(this.translationService ?
103
- this.translationService.translate(vars[varName].value, linkedParams).pipe(map((value) => (value ? { ejsVar, value } : null))) :
104
- of(null));
104
+ replacements$.push(this.translationService
105
+ ? this.translationService.translate(vars[varName].value, linkedParams).pipe(map((value) => (value ? { ejsVar, value } : null)))
106
+ : of(null));
105
107
  break;
106
108
  }
107
109
  default: {
@@ -112,16 +114,17 @@ export class PlaceholderTemplateResponseEffect {
112
114
  }
113
115
  }
114
116
  }
115
- return replacements$.length > 0 && !!template ?
116
- combineLatest(replacements$).pipe(map((replacements) => ({
117
+ return replacements$.length > 0 && !!template
118
+ ? combineLatest(replacements$).pipe(map((replacements) => ({
117
119
  renderedTemplate: replacements.reduce((acc, replacement) => replacement ? acc.replace(replacement.ejsVar, replacement.value) : acc, template),
118
120
  unknownTypeFound
119
- }))) : of({ renderedTemplate: template, unknownTypeFound });
121
+ })))
122
+ : of({ renderedTemplate: template, unknownTypeFound });
120
123
  }
121
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderTemplateResponseEffect, deps: [{ token: i1.Actions }, { token: i2.Store }, { token: i3.RulesEngineRunnerService, optional: true }, { token: i4.DynamicContentService, optional: true }, { token: i5.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
122
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderTemplateResponseEffect }); }
124
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderTemplateResponseEffect, deps: [{ token: i1.Actions }, { token: i2.Store }, { token: i3.RulesEngineRunnerService, optional: true }, { token: i4.DynamicContentService, optional: true }, { token: i5.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
125
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderTemplateResponseEffect }); }
123
126
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderTemplateResponseEffect, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderTemplateResponseEffect, decorators: [{
125
128
  type: Injectable
126
129
  }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }, { type: i3.RulesEngineRunnerService, decorators: [{
127
130
  type: Optional
@@ -130,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
130
133
  }] }, { type: i5.LocalizationService, decorators: [{
131
134
  type: Optional
132
135
  }] }] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFHNUIsbUNBQW1DLEVBQ25DLGtDQUFrQyxFQUNsQyw4QkFBOEIsRUFDL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFJckQsT0FBTyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQUV6Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxpQ0FBaUM7SUFvRDVDLFlBQ21CLFFBQWlCLEVBQ2pCLEtBQXFDLEVBQ3pCLGtCQUFtRCxFQUNuRCxxQkFBbUQsRUFDbkQsa0JBQThDO1FBSjFELGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZ0M7UUFDekIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFpQztRQUNuRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBNEI7UUF4RDdFOzs7O1dBSUc7UUFDSSx3Q0FBbUMsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsa0NBQWtDLENBQUMsRUFDMUMsMEJBQTBCLENBQ3hCLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BJLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUMvRSxJQUFJLENBQUMsa0JBQW1CLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEIsT0FBTztnQkFDUCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ3BCLG1DQUFtQztnQkFDbkMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUM5RyxDQUFDLENBQUMsRUFDSCxvQkFBb0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUN0RixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVWLE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLE9BQU8sYUFBYSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUNBQW1DLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM1SSxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7b0JBQzdCLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FDdEcsR0FBRyxDQUFDLENBQUMsRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxFQUFFLEVBQUU7Z0JBQzNDLCtFQUErRTtnQkFDL0UsOEJBQThCLENBQUM7b0JBQzdCLE1BQU0sRUFBRTt3QkFDTixHQUFHLGdCQUFnQjt3QkFDbkIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO3dCQUMvQixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7cUJBQ2pCO29CQUNELFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztpQkFDNUIsQ0FBQyxDQUNILENBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxFQUMzRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBQyxHQUFHLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FDN0YsQ0FDRixDQUNGLENBQUM7SUFRRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxnQkFBZ0IsQ0FBQyxRQUFpQixFQUFFLElBQTBDLEVBQUUsS0FBK0Q7UUFDckosSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBK0IsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM3RSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBK0IsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNyRixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDdkMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxhQUFhLEdBQTJELEVBQUUsQ0FBQztRQUNqRixJQUFJLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNyQixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUMzQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxPQUFPLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUQsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQzNCLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQzs0QkFDbkIsYUFBYSxDQUFDLElBQUksQ0FDaEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3RFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUMxQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ2hELENBQUM7NEJBQ0YsTUFBTTt3QkFDUixDQUFDO3dCQUNELEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQzs0QkFDZixRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUN6RCxNQUFNO3dCQUNSLENBQUM7d0JBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDOzRCQUNaLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDOzRCQUN4RSxNQUFNO3dCQUNSLENBQUM7d0JBQ0QsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDOzRCQUNwQixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBMkIsRUFBRSxTQUFTLEVBQUUsRUFBRTtnQ0FDOUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQ0FDeEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQ0FDcEMsT0FBTyxHQUFHLENBQUM7NEJBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUNQLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBMkIsRUFBRSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO2dDQUNuSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dDQUM1QyxPQUFPLEdBQUcsQ0FBQzs0QkFDYixDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7NEJBQ2YsYUFBYSxDQUFDLElBQUksQ0FDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0NBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNuRCxDQUFDLENBQUM7Z0NBQ0gsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNYLENBQUM7NEJBQ0YsTUFBTTt3QkFDUixDQUFDO3dCQUNELE9BQVEsQ0FBQyxDQUFDLENBQUM7NEJBQ1QsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDOzRCQUN4QixNQUFNO3dCQUNSLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUMvQixHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JCLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxNQUFNLENBQ25DLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQ25CLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUN4RSxRQUFRLENBQ1Q7Z0JBQ0QsZ0JBQWdCO2FBQ2pCLENBQUMsQ0FBQyxDQUNKLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztrSUF6SVUsaUNBQWlDO3NJQUFqQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBRDdDLFVBQVU7OzBCQXdETixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIGNhbmNlbFBsYWNlaG9sZGVyUmVxdWVzdCxcbiAgZmFpbFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eSxcbiAgUGxhY2Vob2xkZXJSZXF1ZXN0U3RvcmUsXG4gIFBsYWNlaG9sZGVyVmFyaWFibGUsXG4gIHNlbGVjdFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eVVzYWdlLFxuICBzZXRQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlGcm9tVXJsLFxuICB1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlcbn0gZnJvbSAnQG8zci9jb21wb25lbnRzJztcbmltcG9ydCB7ZnJvbUFwaUVmZmVjdFN3aXRjaE1hcEJ5SWR9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQge0R5bmFtaWNDb250ZW50U2VydmljZX0gZnJvbSAnQG8zci9keW5hbWljLWNvbnRlbnQnO1xuaW1wb3J0IHtMb2NhbGl6YXRpb25TZXJ2aWNlfSBmcm9tICdAbzNyL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1J1bGVzRW5naW5lUnVubmVyU2VydmljZX0gZnJvbSAnQG8zci9ydWxlcy1lbmdpbmUnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U3RvcmV9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEpTT05QYXRoIH0gZnJvbSAnanNvbnBhdGgtcGx1cyc7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgYXN5bmMgUGxhY2Vob2xkZXJUZW1wbGF0ZSBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQbGFjZWhvbGRlclRlbXBsYXRlUmVzcG9uc2VFZmZlY3Qge1xuICAvKipcbiAgICogU2V0IHRoZSBQbGFjZWhvbGRlclJlcXVlc3QgZW50aXR5IHdpdGggdGhlIHJlcGx5IGNvbnRlbnQsIGRpc3BhdGNoIGZhaWxQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkgaWYgaXQgY2F0Y2hlcyBhIGZhaWx1cmVcbiAgICogSGFuZGxlcyB0aGUgcmVuZGVyaW5nIG9mIHRoZSBIVE1MIGNvbnRlbnQgZnJvbSB0aGUgdGVtcGxhdGUgYW5kIGNyZWF0ZXMgdGhlIGNvbWJpbmUgbGF0ZXN0IGZyb20gZmFjdHMgbGlzdCBpZiBuZWVkZWRcbiAgICogRGlzYWJsZXMgdW51c2VkIHRlbXBsYXRlcyByZWZyZXNoIGlmIHVzZWQgaXMgZmFsc2UgaW4gdGhlIHN0b3JlXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJSZXF1ZXN0RW50aXR5RnJvbVVybCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2V0UGxhY2Vob2xkZXJSZXF1ZXN0RW50aXR5RnJvbVVybCksXG4gICAgICBmcm9tQXBpRWZmZWN0U3dpdGNoTWFwQnlJZChcbiAgICAgICAgKHRlbXBsYXRlUmVzcG9uc2UsIGFjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGZhY3RzID0gdGVtcGxhdGVSZXNwb25zZS52YXJzID8gT2JqZWN0LmVudHJpZXModGVtcGxhdGVSZXNwb25zZS52YXJzKS5maWx0ZXIoKFssIHZhcmlhYmxlXSkgPT4gdmFyaWFibGUudHlwZSA9PT0gJ2ZhY3QnKSA6IFtdO1xuICAgICAgICAgIGNvbnN0IGZhY3RzU3RyZWFtc0xpc3QgPSB0aGlzLnJ1bGVzRW5naW5lU2VydmljZSA/IGZhY3RzLm1hcCgoW3Zhck5hbWUsIGZhY3RdKSA9PlxuICAgICAgICAgICAgdGhpcy5ydWxlc0VuZ2luZVNlcnZpY2UhLmVuZ2luZS5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShmYWN0LnZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKGZhY3RWYWx1ZSkgPT4gKHtcbiAgICAgICAgICAgICAgICB2YXJOYW1lLFxuICAgICAgICAgICAgICAgIGZhY3ROYW1lOiBmYWN0LnZhbHVlLFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICAgICAgICAgICAgZmFjdFZhbHVlOiAoZmFjdC5wYXRoICYmIGZhY3RWYWx1ZSkgPyBKU09OUGF0aCh7IHdyYXA6IGZhbHNlLCBqc29uOiBmYWN0VmFsdWUsIHBhdGg6IGZhY3QucGF0aCB9KSA6IGZhY3RWYWx1ZVxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMuZmFjdFZhbHVlID09PSBjdXJyZW50LmZhY3RWYWx1ZSlcbiAgICAgICAgICAgICkpIDogW107XG5cbiAgICAgICAgICBjb25zdCBmYWN0c1N0cmVhbXNMaXN0JCA9IGZhY3RzU3RyZWFtc0xpc3QubGVuZ3RoID8gY29tYmluZUxhdGVzdChmYWN0c1N0cmVhbXNMaXN0KSA6IG9mKFtdKTtcbiAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbZmFjdHNTdHJlYW1zTGlzdCQsIHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eVVzYWdlKGFjdGlvbi5pZCkpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSldKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbZmFjdHNVc2VkSW5UZW1wbGF0ZSwgcGxhY2Vob2xkZXJSZXF1ZXN0VXNhZ2VdKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcGxhY2Vob2xkZXJSZXF1ZXN0VXNhZ2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmVuZGVyZWRIVE1MJCh0ZW1wbGF0ZVJlc3BvbnNlLnRlbXBsYXRlLCB0ZW1wbGF0ZVJlc3BvbnNlLnZhcnMsIGZhY3RzVXNlZEluVGVtcGxhdGUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh7cmVuZGVyZWRUZW1wbGF0ZSwgdW5rbm93blR5cGVGb3VuZH0pID0+XG4gICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgaW5zdGVhZCBvZiBzZXQgYmVjYXVzZSB1c2VkIGFscmVhZHkgc2V0IGJ5IHRoZSB1cGRhdGUgZnJvbSB1cmwgYWN0aW9uXG4gICAgICAgICAgICAgICAgICB1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkoe1xuICAgICAgICAgICAgICAgICAgICBlbnRpdHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi50ZW1wbGF0ZVJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVkVXJsOiBhY3Rpb24ucmVzb2x2ZWRVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IGFjdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlZFRlbXBsYXRlLFxuICAgICAgICAgICAgICAgICAgICAgIHVua25vd25UeXBlRm91bmRcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiBhY3Rpb24ucmVxdWVzdElkXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yLCBhY3Rpb24pID0+IG9mKGZhaWxQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkoe2lkczogW2FjdGlvbi5pZF0sIGVycm9yLCByZXF1ZXN0SWQ6IGFjdGlvbi5yZXF1ZXN0SWR9KSksXG4gICAgICAgIChyZXF1ZXN0SWRQYXlsb2FkLCBhY3Rpb24pID0+IGNhbmNlbFBsYWNlaG9sZGVyUmVxdWVzdCh7Li4ucmVxdWVzdElkUGF5bG9hZCwgaWQ6IGFjdGlvbi5pZH0pXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8UGxhY2Vob2xkZXJSZXF1ZXN0U3RvcmU+LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgcnVsZXNFbmdpbmVTZXJ2aWNlOiBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY0NvbnRlbnRTZXJ2aWNlOiBEeW5hbWljQ29udGVudFNlcnZpY2UgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlIHwgbnVsbCkge1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIGh0bWwgdGVtcGxhdGUsIHJlcGxhY2luZyBmYWN0cyBhbmQgdXJscyBhbmQgbG9jYWxpemF0aW9uS2V5c1xuICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICogQHBhcmFtIHZhcnNcbiAgICogQHBhcmFtIGZhY3RzXG4gICAqL1xuICBwcml2YXRlIGdldFJlbmRlcmVkSFRNTCQodGVtcGxhdGU/OiBzdHJpbmcsIHZhcnM/OiBSZWNvcmQ8c3RyaW5nLCBQbGFjZWhvbGRlclZhcmlhYmxlPiwgZmFjdHM/OiB7IHZhck5hbWU6IHN0cmluZzsgZmFjdE5hbWU6IHN0cmluZzsgZmFjdFZhbHVlOiBhbnkgfVtdKSB7XG4gICAgbGV0IHVua25vd25UeXBlRm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBmYWN0TWFwID0gKGZhY3RzIHx8IFtdKS5yZWR1Y2UoKG1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGZhY3QpID0+IHtcbiAgICAgIG1hcHBpbmdbZmFjdC5mYWN0TmFtZV0gPSBmYWN0LmZhY3RWYWx1ZTtcbiAgICAgIHJldHVybiBtYXBwaW5nO1xuICAgIH0sIHt9KTtcbiAgICBjb25zdCBmYWN0TWFwRnJvbVZhcnMgPSAoZmFjdHMgfHwgW10pLnJlZHVjZSgobWFwcGluZzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgZmFjdCkgPT4ge1xuICAgICAgbWFwcGluZ1tmYWN0LnZhck5hbWVdID0gZmFjdC5mYWN0VmFsdWU7XG4gICAgICByZXR1cm4gbWFwcGluZztcbiAgICB9LCB7fSk7XG4gICAgY29uc3QgcmVwbGFjZW1lbnRzJDogT2JzZXJ2YWJsZTx7IGVqc1ZhcjogUmVnRXhwOyB2YWx1ZTogc3RyaW5nIH0gfCBudWxsPltdID0gW107XG4gICAgaWYgKHZhcnMgJiYgdGVtcGxhdGUpIHtcbiAgICAgIGZvciAoY29uc3QgdmFyTmFtZSBpbiB2YXJzKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFycywgdmFyTmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBlanNWYXIgPSBuZXcgUmVnRXhwKGA8JT1cXFxccyoke3Zhck5hbWV9XFxcXHMqJT5gLCAnZycpO1xuICAgICAgICAgIHN3aXRjaCAodmFyc1t2YXJOYW1lXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdyZWxhdGl2ZVVybCc6IHtcbiAgICAgICAgICAgICAgcmVwbGFjZW1lbnRzJC5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMuZHluYW1pY0NvbnRlbnRTZXJ2aWNlPy5nZXRNZWRpYVBhdGhTdHJlYW0odmFyc1t2YXJOYW1lXS52YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICBtYXAoKHZhbHVlOiBzdHJpbmcpID0+ICh7ZWpzVmFyLCB2YWx1ZX0pKVxuICAgICAgICAgICAgICAgICkgfHwgb2YoeyBlanNWYXIsIHZhbHVlOiB2YXJzW3Zhck5hbWVdLnZhbHVlIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnZnVsbFVybCc6IHtcbiAgICAgICAgICAgICAgdGVtcGxhdGUgPSB0ZW1wbGF0ZS5yZXBsYWNlKGVqc1ZhciwgdmFyc1t2YXJOYW1lXS52YWx1ZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnZmFjdCc6IHtcbiAgICAgICAgICAgICAgdGVtcGxhdGUgPSB0ZW1wbGF0ZS5yZXBsYWNlKGVqc1ZhciwgZmFjdE1hcFt2YXJzW3Zhck5hbWVdLnZhbHVlXSA/PyAnJyk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbG9jYWxpc2F0aW9uJzoge1xuICAgICAgICAgICAgICBjb25zdCBsaW5rZWRWYXJzID0gKHZhcnNbdmFyTmFtZV0udmFycyB8fCBbXSkucmVkdWNlKChhY2M6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIHBhcmFtZXRlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IHZhcnNbcGFyYW1ldGVyXS52YWx1ZTtcbiAgICAgICAgICAgICAgICBhY2NbcGFyYW1OYW1lXSA9IGZhY3RNYXBbcGFyYW1OYW1lXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICB9LCB7fSk7XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmtlZFBhcmFtcyA9IChPYmplY3QuZW50cmllcyh2YXJzW3Zhck5hbWVdLnBhcmFtZXRlcnMgfHwge30pKS5yZWR1Y2UoKGFjYzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgW3BhcmFtS2V5LCBwYXJhbVZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgICAgIGFjY1twYXJhbUtleV0gPSBmYWN0TWFwRnJvbVZhcnNbcGFyYW1WYWx1ZV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgfSwgbGlua2VkVmFycyk7XG4gICAgICAgICAgICAgIHJlcGxhY2VtZW50cyQucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZSA/XG4gICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUodmFyc1t2YXJOYW1lXS52YWx1ZSwgbGlua2VkUGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUgPyB7IGVqc1ZhciwgdmFsdWUgfSA6IG51bGwpKVxuICAgICAgICAgICAgICAgICAgKSA6XG4gICAgICAgICAgICAgICAgICBvZihudWxsKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQgOiB7XG4gICAgICAgICAgICAgIHVua25vd25UeXBlRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcGxhY2VtZW50cyQubGVuZ3RoID4gMCAmJiAhIXRlbXBsYXRlID9cbiAgICAgIGNvbWJpbmVMYXRlc3QocmVwbGFjZW1lbnRzJCkucGlwZShcbiAgICAgICAgbWFwKChyZXBsYWNlbWVudHMpID0+ICh7XG4gICAgICAgICAgcmVuZGVyZWRUZW1wbGF0ZTogcmVwbGFjZW1lbnRzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHJlcGxhY2VtZW50KSA9PlxuICAgICAgICAgICAgICByZXBsYWNlbWVudCA/IGFjYy5yZXBsYWNlKHJlcGxhY2VtZW50LmVqc1ZhciwgcmVwbGFjZW1lbnQudmFsdWUpIDogYWNjLFxuICAgICAgICAgICAgdGVtcGxhdGVcbiAgICAgICAgICApLFxuICAgICAgICAgIHVua25vd25UeXBlRm91bmRcbiAgICAgICAgfSkpXG4gICAgICApIDogb2Yoe3JlbmRlcmVkVGVtcGxhdGU6IHRlbXBsYXRlLCB1bmtub3duVHlwZUZvdW5kfSk7XG4gIH1cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFlBQVksRUFDWixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsMEJBQTBCLEdBQzNCLE1BQU0sV0FBVyxDQUFDO0FBVW5CLE9BQU8sRUFDTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGFBQWEsRUFDYixLQUFLLEVBRUwsRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsU0FBUyxFQUNULElBQUksR0FDTCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBRzVCLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFDbEMsOEJBQThCLEdBQy9CLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFFekI7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUNBQWlDO0lBc0Q1QyxZQUNtQixRQUFpQixFQUNqQixLQUFxQyxFQUN6QixrQkFBbUQsRUFDbkQscUJBQW1ELEVBQ25ELGtCQUE4QztRQUoxRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBQ3pCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBaUM7UUFDbkQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTRC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QUFDLENBQ2IsQ0FBQzs0QkFDRixNQUFNO3dCQUNSLENBQUM7d0JBQ0QsT0FBUSxDQUFDLENBQUMsQ0FBQzs0QkFDVCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7NEJBQ3hCLE1BQU07d0JBQ1IsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVE7WUFDM0MsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDckIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FDbkIsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQ3hFLFFBQVEsQ0FDVDtnQkFDRCxnQkFBZ0I7YUFDakIsQ0FBQyxDQUFDLENBQ0o7WUFDRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO2tJQTNJVSxpQ0FBaUM7c0lBQWpDLGlDQUFpQzs7NEZBQWpDLGlDQUFpQztrQkFEN0MsVUFBVTs7MEJBMEROLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25zLFxuICBjcmVhdGVFZmZlY3QsXG4gIG9mVHlwZSxcbn0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICBTdG9yZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgZnJvbUFwaUVmZmVjdFN3aXRjaE1hcEJ5SWQsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQge1xuICBEeW5hbWljQ29udGVudFNlcnZpY2UsXG59IGZyb20gJ0BvM3IvZHluYW1pYy1jb250ZW50JztcbmltcG9ydCB7XG4gIExvY2FsaXphdGlvblNlcnZpY2UsXG59IGZyb20gJ0BvM3IvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7XG4gIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSxcbn0gZnJvbSAnQG8zci9ydWxlcy1lbmdpbmUnO1xuaW1wb3J0IHtcbiAgSlNPTlBhdGgsXG59IGZyb20gJ2pzb25wYXRoLXBsdXMnO1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgRU1QVFksXG4gIE9ic2VydmFibGUsXG4gIG9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgY2FuY2VsUGxhY2Vob2xkZXJSZXF1ZXN0LFxuICBmYWlsUGxhY2Vob2xkZXJSZXF1ZXN0RW50aXR5LFxuICB0eXBlIFBsYWNlaG9sZGVyUmVxdWVzdFN0b3JlLFxuICB0eXBlIFBsYWNlaG9sZGVyVmFyaWFibGUsXG4gIHNlbGVjdFBsYWNlaG9sZGVyUmVxdWVzdEVudGl0eVVzYWdlLFxuICBzZXRQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlGcm9tVXJsLFxuICB1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHksXG59IGZyb20gJ0BvM3IvY29tcG9uZW50cyc7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgYXN5bmMgUGxhY2Vob2xkZXJUZW1wbGF0ZSBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQbGFjZWhvbGRlclRlbXBsYXRlUmVzcG9uc2VFZmZlY3Qge1xuICAvKipcbiAgICogU2V0IHRoZSBQbGFjZWhvbGRlclJlcXVlc3QgZW50aXR5IHdpdGggdGhlIHJlcGx5IGNvbnRlbnQsIGRpc3BhdGNoIGZhaWxQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkgaWYgaXQgY2F0Y2hlcyBhIGZhaWx1cmVcbiAgICogSGFuZGxlcyB0aGUgcmVuZGVyaW5nIG9mIHRoZSBIVE1MIGNvbnRlbnQgZnJvbSB0aGUgdGVtcGxhdGUgYW5kIGNyZWF0ZXMgdGhlIGNvbWJpbmUgbGF0ZXN0IGZyb20gZmFjdHMgbGlzdCBpZiBuZWVkZWRcbiAgICogRGlzYWJsZXMgdW51c2VkIHRlbXBsYXRlcyByZWZyZXNoIGlmIHVzZWQgaXMgZmFsc2UgaW4gdGhlIHN0b3JlXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJSZXF1ZXN0RW50aXR5RnJvbVVybCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2V0UGxhY2Vob2xkZXJSZXF1ZXN0RW50aXR5RnJvbVVybCksXG4gICAgICBmcm9tQXBpRWZmZWN0U3dpdGNoTWFwQnlJZChcbiAgICAgICAgKHRlbXBsYXRlUmVzcG9uc2UsIGFjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGZhY3RzID0gdGVtcGxhdGVSZXNwb25zZS52YXJzID8gT2JqZWN0LmVudHJpZXModGVtcGxhdGVSZXNwb25zZS52YXJzKS5maWx0ZXIoKFssIHZhcmlhYmxlXSkgPT4gdmFyaWFibGUudHlwZSA9PT0gJ2ZhY3QnKSA6IFtdO1xuICAgICAgICAgIGNvbnN0IGZhY3RzU3RyZWFtc0xpc3QgPSB0aGlzLnJ1bGVzRW5naW5lU2VydmljZVxuICAgICAgICAgICAgPyBmYWN0cy5tYXAoKFt2YXJOYW1lLCBmYWN0XSkgPT5cbiAgICAgICAgICAgICAgdGhpcy5ydWxlc0VuZ2luZVNlcnZpY2UhLmVuZ2luZS5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShmYWN0LnZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoZmFjdFZhbHVlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFyTmFtZSxcbiAgICAgICAgICAgICAgICAgIGZhY3ROYW1lOiBmYWN0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXAgLS0gbmFtaW5nIGNvbnZlbnRpb24gaW1wb3NlZCBieSBqc29ucGF0aC1wbHVzXG4gICAgICAgICAgICAgICAgICBmYWN0VmFsdWU6IChmYWN0LnBhdGggJiYgZmFjdFZhbHVlKSA/IEpTT05QYXRoKHsgd3JhcDogZmFsc2UsIGpzb246IGZhY3RWYWx1ZSwgcGF0aDogZmFjdC5wYXRoIH0pIDogZmFjdFZhbHVlXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMuZmFjdFZhbHVlID09PSBjdXJyZW50LmZhY3RWYWx1ZSlcbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgIDogW107XG5cbiAgICAgICAgICBjb25zdCBmYWN0c1N0cmVhbXNMaXN0JCA9IGZhY3RzU3RyZWFtc0xpc3QubGVuZ3RoID4gMCA/IGNvbWJpbmVMYXRlc3QoZmFjdHNTdHJlYW1zTGlzdCkgOiBvZihbXSk7XG4gICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2ZhY3RzU3RyZWFtc0xpc3QkLCB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHlVc2FnZShhY3Rpb24uaWQpKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2ZhY3RzVXNlZEluVGVtcGxhdGUsIHBsYWNlaG9sZGVyUmVxdWVzdFVzYWdlXSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXBsYWNlaG9sZGVyUmVxdWVzdFVzYWdlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJlbmRlcmVkSFRNTCQodGVtcGxhdGVSZXNwb25zZS50ZW1wbGF0ZSwgdGVtcGxhdGVSZXNwb25zZS52YXJzLCBmYWN0c1VzZWRJblRlbXBsYXRlKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoeyByZW5kZXJlZFRlbXBsYXRlLCB1bmtub3duVHlwZUZvdW5kIH0pID0+XG4gICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgaW5zdGVhZCBvZiBzZXQgYmVjYXVzZSB1c2VkIGFscmVhZHkgc2V0IGJ5IHRoZSB1cGRhdGUgZnJvbSB1cmwgYWN0aW9uXG4gICAgICAgICAgICAgICAgICB1cGRhdGVQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkoe1xuICAgICAgICAgICAgICAgICAgICBlbnRpdHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi50ZW1wbGF0ZVJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVkVXJsOiBhY3Rpb24ucmVzb2x2ZWRVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IGFjdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlZFRlbXBsYXRlLFxuICAgICAgICAgICAgICAgICAgICAgIHVua25vd25UeXBlRm91bmRcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiBhY3Rpb24ucmVxdWVzdElkXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yLCBhY3Rpb24pID0+IG9mKGZhaWxQbGFjZWhvbGRlclJlcXVlc3RFbnRpdHkoeyBpZHM6IFthY3Rpb24uaWRdLCBlcnJvciwgcmVxdWVzdElkOiBhY3Rpb24ucmVxdWVzdElkIH0pKSxcbiAgICAgICAgKHJlcXVlc3RJZFBheWxvYWQsIGFjdGlvbikgPT4gY2FuY2VsUGxhY2Vob2xkZXJSZXF1ZXN0KHsgLi4ucmVxdWVzdElkUGF5bG9hZCwgaWQ6IGFjdGlvbi5pZCB9KVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPFBsYWNlaG9sZGVyUmVxdWVzdFN0b3JlPixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IHJ1bGVzRW5naW5lU2VydmljZTogUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGR5bmFtaWNDb250ZW50U2VydmljZTogRHluYW1pY0NvbnRlbnRTZXJ2aWNlIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSB8IG51bGwpIHt9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIGh0bWwgdGVtcGxhdGUsIHJlcGxhY2luZyBmYWN0cyBhbmQgdXJscyBhbmQgbG9jYWxpemF0aW9uS2V5c1xuICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICogQHBhcmFtIHZhcnNcbiAgICogQHBhcmFtIGZhY3RzXG4gICAqL1xuICBwcml2YXRlIGdldFJlbmRlcmVkSFRNTCQodGVtcGxhdGU/OiBzdHJpbmcsIHZhcnM/OiBSZWNvcmQ8c3RyaW5nLCBQbGFjZWhvbGRlclZhcmlhYmxlPiwgZmFjdHM/OiB7IHZhck5hbWU6IHN0cmluZzsgZmFjdE5hbWU6IHN0cmluZzsgZmFjdFZhbHVlOiBhbnkgfVtdKSB7XG4gICAgbGV0IHVua25vd25UeXBlRm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBmYWN0TWFwID0gKGZhY3RzIHx8IFtdKS5yZWR1Y2UoKG1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGZhY3QpID0+IHtcbiAgICAgIG1hcHBpbmdbZmFjdC5mYWN0TmFtZV0gPSBmYWN0LmZhY3RWYWx1ZTtcbiAgICAgIHJldHVybiBtYXBwaW5nO1xuICAgIH0sIHt9KTtcbiAgICBjb25zdCBmYWN0TWFwRnJvbVZhcnMgPSAoZmFjdHMgfHwgW10pLnJlZHVjZSgobWFwcGluZzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgZmFjdCkgPT4ge1xuICAgICAgbWFwcGluZ1tmYWN0LnZhck5hbWVdID0gZmFjdC5mYWN0VmFsdWU7XG4gICAgICByZXR1cm4gbWFwcGluZztcbiAgICB9LCB7fSk7XG4gICAgY29uc3QgcmVwbGFjZW1lbnRzJDogT2JzZXJ2YWJsZTx7IGVqc1ZhcjogUmVnRXhwOyB2YWx1ZTogc3RyaW5nIH0gfCBudWxsPltdID0gW107XG4gICAgaWYgKHZhcnMgJiYgdGVtcGxhdGUpIHtcbiAgICAgIGZvciAoY29uc3QgdmFyTmFtZSBpbiB2YXJzKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFycywgdmFyTmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBlanNWYXIgPSBuZXcgUmVnRXhwKGA8JT1cXFxccyoke3Zhck5hbWV9XFxcXHMqJT5gLCAnZycpO1xuICAgICAgICAgIHN3aXRjaCAodmFyc1t2YXJOYW1lXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdyZWxhdGl2ZVVybCc6IHtcbiAgICAgICAgICAgICAgcmVwbGFjZW1lbnRzJC5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMuZHluYW1pY0NvbnRlbnRTZXJ2aWNlPy5nZXRNZWRpYVBhdGhTdHJlYW0odmFyc1t2YXJOYW1lXS52YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICBtYXAoKHZhbHVlOiBzdHJpbmcpID0+ICh7IGVqc1ZhciwgdmFsdWUgfSkpXG4gICAgICAgICAgICAgICAgKSB8fCBvZih7IGVqc1ZhciwgdmFsdWU6IHZhcnNbdmFyTmFtZV0udmFsdWUgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdmdWxsVXJsJzoge1xuICAgICAgICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlLnJlcGxhY2UoZWpzVmFyLCB2YXJzW3Zhck5hbWVdLnZhbHVlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdmYWN0Jzoge1xuICAgICAgICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlLnJlcGxhY2UoZWpzVmFyLCBmYWN0TWFwW3ZhcnNbdmFyTmFtZV0udmFsdWVdID8/ICcnKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdsb2NhbGlzYXRpb24nOiB7XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmtlZFZhcnMgPSAodmFyc1t2YXJOYW1lXS52YXJzIHx8IFtdKS5yZWR1Y2UoKGFjYzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgcGFyYW1ldGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gdmFyc1twYXJhbWV0ZXJdLnZhbHVlO1xuICAgICAgICAgICAgICAgIGFjY1twYXJhbU5hbWVdID0gZmFjdE1hcFtwYXJhbU5hbWVdO1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgICAgICAgY29uc3QgbGlua2VkUGFyYW1zID0gKE9iamVjdC5lbnRyaWVzKHZhcnNbdmFyTmFtZV0ucGFyYW1ldGVycyB8fCB7fSkpLnJlZHVjZSgoYWNjOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBbcGFyYW1LZXksIHBhcmFtVmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgYWNjW3BhcmFtS2V5XSA9IGZhY3RNYXBGcm9tVmFyc1twYXJhbVZhbHVlXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICB9LCBsaW5rZWRWYXJzKTtcbiAgICAgICAgICAgICAgcmVwbGFjZW1lbnRzJC5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlXG4gICAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZSh2YXJzW3Zhck5hbWVdLnZhbHVlLCBsaW5rZWRQYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgodmFsdWUpID0+ICh2YWx1ZSA/IHsgZWpzVmFyLCB2YWx1ZSB9IDogbnVsbCkpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICA6IG9mKG51bGwpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdCA6IHtcbiAgICAgICAgICAgICAgdW5rbm93blR5cGVGb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVwbGFjZW1lbnRzJC5sZW5ndGggPiAwICYmICEhdGVtcGxhdGVcbiAgICAgID8gY29tYmluZUxhdGVzdChyZXBsYWNlbWVudHMkKS5waXBlKFxuICAgICAgICBtYXAoKHJlcGxhY2VtZW50cykgPT4gKHtcbiAgICAgICAgICByZW5kZXJlZFRlbXBsYXRlOiByZXBsYWNlbWVudHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcmVwbGFjZW1lbnQpID0+XG4gICAgICAgICAgICAgIHJlcGxhY2VtZW50ID8gYWNjLnJlcGxhY2UocmVwbGFjZW1lbnQuZWpzVmFyLCByZXBsYWNlbWVudC52YWx1ZSkgOiBhY2MsXG4gICAgICAgICAgICB0ZW1wbGF0ZVxuICAgICAgICAgICksXG4gICAgICAgICAgdW5rbm93blR5cGVGb3VuZFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICAgIDogb2YoeyByZW5kZXJlZFRlbXBsYXRlOiB0ZW1wbGF0ZSwgdW5rbm93blR5cGVGb3VuZCB9KTtcbiAgfVxufVxuIl19
@@ -1,21 +1,21 @@
1
- import { NgModule } from '@angular/core';
2
- import { EffectsModule } from '@ngrx/effects';
3
- import { PlaceholderRequestStoreModule, PlaceholderTemplateStoreModule } from '@o3r/components';
4
- import { PlaceholderRulesEngineActionHandler } from './placeholder.action-handler';
5
- import { PlaceholderTemplateResponseEffect } from './placeholder.rules-engine.effect';
1
+ import { NgModule, } from '@angular/core';
2
+ import { EffectsModule, } from '@ngrx/effects';
3
+ import { PlaceholderRulesEngineActionHandler, } from './placeholder.action-handler';
4
+ import { PlaceholderTemplateResponseEffect, } from './placeholder.rules-engine.effect';
5
+ import { PlaceholderRequestStoreModule, PlaceholderTemplateStoreModule, } from '@o3r/components';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngrx/effects";
8
8
  export class PlaceholderRulesEngineActionModule {
9
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderRulesEngineActionModule, imports: [i1.EffectsFeatureModule, PlaceholderRequestStoreModule,
9
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionModule, imports: [i1.EffectsFeatureModule, PlaceholderRequestStoreModule,
11
11
  PlaceholderTemplateStoreModule] }); }
12
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderRulesEngineActionModule, providers: [
12
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionModule, providers: [
13
13
  PlaceholderRulesEngineActionHandler
14
14
  ], imports: [EffectsModule.forFeature([PlaceholderTemplateResponseEffect]),
15
15
  PlaceholderRequestStoreModule,
16
16
  PlaceholderTemplateStoreModule] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PlaceholderRulesEngineActionModule, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceholderRulesEngineActionModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  imports: [
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
28
28
  ]
29
29
  }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQVl0RixNQUFNLE9BQU8sa0NBQWtDO2tJQUFsQyxrQ0FBa0M7bUlBQWxDLGtDQUFrQyxxQ0FQM0MsNkJBQTZCO1lBQzdCLDhCQUE4QjttSUFNckIsa0NBQWtDLGFBSmxDO1lBQ1QsbUNBQW1DO1NBQ3BDLFlBTkMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFDN0QsNkJBQTZCO1lBQzdCLDhCQUE4Qjs7NEZBTXJCLGtDQUFrQztrQkFWOUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7d0JBQzdELDZCQUE2Qjt3QkFDN0IsOEJBQThCO3FCQUMvQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsbUNBQW1DO3FCQUNwQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclJlcXVlc3RTdG9yZU1vZHVsZSwgUGxhY2Vob2xkZXJUZW1wbGF0ZVN0b3JlTW9kdWxlIH0gZnJvbSAnQG8zci9jb21wb25lbnRzJztcbmltcG9ydCB7IFBsYWNlaG9sZGVyUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi9wbGFjZWhvbGRlci5hY3Rpb24taGFuZGxlcic7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclRlbXBsYXRlUmVzcG9uc2VFZmZlY3QgfSBmcm9tICcuL3BsYWNlaG9sZGVyLnJ1bGVzLWVuZ2luZS5lZmZlY3QnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtQbGFjZWhvbGRlclRlbXBsYXRlUmVzcG9uc2VFZmZlY3RdKSxcbiAgICBQbGFjZWhvbGRlclJlcXVlc3RTdG9yZU1vZHVsZSxcbiAgICBQbGFjZWhvbGRlclRlbXBsYXRlU3RvcmVNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgUGxhY2Vob2xkZXJSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXJcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZWhvbGRlclJ1bGVzRW5naW5lQWN0aW9uTW9kdWxlIHtcbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxhQUFhLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1DQUFtQyxHQUNwQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFDTCxpQ0FBaUMsR0FDbEMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDhCQUE4QixHQUMvQixNQUFNLGlCQUFpQixDQUFDOzs7QUFZekIsTUFBTSxPQUFPLGtDQUFrQztrSUFBbEMsa0NBQWtDO21JQUFsQyxrQ0FBa0MscUNBUDNDLDZCQUE2QjtZQUM3Qiw4QkFBOEI7bUlBTXJCLGtDQUFrQyxhQUpsQztZQUNULG1DQUFtQztTQUNwQyxZQU5DLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQzdELDZCQUE2QjtZQUM3Qiw4QkFBOEI7OzRGQU1yQixrQ0FBa0M7a0JBVjlDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO3dCQUM3RCw2QkFBNkI7d0JBQzdCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULG1DQUFtQztxQkFDcEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBFZmZlY3RzTW9kdWxlLFxufSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIFBsYWNlaG9sZGVyUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyLFxufSBmcm9tICcuL3BsYWNlaG9sZGVyLmFjdGlvbi1oYW5kbGVyJztcbmltcG9ydCB7XG4gIFBsYWNlaG9sZGVyVGVtcGxhdGVSZXNwb25zZUVmZmVjdCxcbn0gZnJvbSAnLi9wbGFjZWhvbGRlci5ydWxlcy1lbmdpbmUuZWZmZWN0JztcbmltcG9ydCB7XG4gIFBsYWNlaG9sZGVyUmVxdWVzdFN0b3JlTW9kdWxlLFxuICBQbGFjZWhvbGRlclRlbXBsYXRlU3RvcmVNb2R1bGUsXG59IGZyb20gJ0BvM3IvY29tcG9uZW50cyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW1BsYWNlaG9sZGVyVGVtcGxhdGVSZXNwb25zZUVmZmVjdF0pLFxuICAgIFBsYWNlaG9sZGVyUmVxdWVzdFN0b3JlTW9kdWxlLFxuICAgIFBsYWNlaG9sZGVyVGVtcGxhdGVTdG9yZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBQbGFjZWhvbGRlclJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlclxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlaG9sZGVyUnVsZXNFbmdpbmVBY3Rpb25Nb2R1bGUge31cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './placeholder.rules-engine.module';
2
1
  export * from './placeholder.action-handler';
3
2
  export * from './placeholder.interfaces';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BsYWNlaG9sZGVyLmFjdGlvbi1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXIuaW50ZXJmYWNlcyc7XG4iXX0=
3
+ export * from './placeholder.rules-engine.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXIuYWN0aW9uLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFjZWhvbGRlci5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXIucnVsZXMtZW5naW5lLm1vZHVsZSc7XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './placeholder-template/index';
2
1
  export * from './placeholder-request/index';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItdGVtcGxhdGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFjZWhvbGRlci1yZXF1ZXN0L2luZGV4JztcbiJdfQ==
2
+ export * from './placeholder-template/index';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItcmVxdWVzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3BsYWNlaG9sZGVyLXRlbXBsYXRlL2luZGV4JztcbiJdfQ==
@@ -4,4 +4,4 @@ export * from './placeholder-request.reducer';
4
4
  export * from './placeholder-request.selectors';
5
5
  export * from './placeholder-request.state';
6
6
  export * from './placeholder-request.sync';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL3BsYWNlaG9sZGVyLXJlcXVlc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BsYWNlaG9sZGVyLXJlcXVlc3QuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3BsYWNlaG9sZGVyLXJlcXVlc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItcmVxdWVzdC5yZWR1Y2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItcmVxdWVzdC5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFjZWhvbGRlci1yZXF1ZXN0LnN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItcmVxdWVzdC5zeW5jJztcblxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL3BsYWNlaG9sZGVyLXJlcXVlc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BsYWNlaG9sZGVyLXJlcXVlc3QuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3BsYWNlaG9sZGVyLXJlcXVlc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItcmVxdWVzdC5yZWR1Y2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItcmVxdWVzdC5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFjZWhvbGRlci1yZXF1ZXN0LnN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItcmVxdWVzdC5zeW5jJztcbiJdfQ==