@coolon/angular-ui-powerups 16.1.0-aplpha.189 → 16.1.0-aplpha.19

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 (254) hide show
  1. package/README.md +0 -4
  2. package/assets/activities/activities.scss +3 -5
  3. package/assets/activities/input-activities.scss +6 -14
  4. package/assets/form.scss +27 -74
  5. package/assets/icons.scss +0 -1
  6. package/assets/styles.scss +0 -2
  7. package/assets/table.scss +19 -41
  8. package/assets/tabs.scss +5 -15
  9. package/esm2022/lib/animations/slide-animations.mjs +10 -15
  10. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +5 -28
  11. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
  12. package/esm2022/lib/components/commands/command/command.component.mjs +29 -34
  13. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +3 -11
  14. package/esm2022/lib/components/commands/command-face.mjs +11 -12
  15. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
  16. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +13 -15
  17. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +20 -11
  18. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +7 -12
  19. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +20 -11
  20. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +2 -2
  21. package/esm2022/lib/components/commands/separator.component.mjs +12 -6
  22. package/esm2022/lib/components/components.module.mjs +30 -55
  23. package/esm2022/lib/components/disposable-component.mjs +7 -32
  24. package/esm2022/lib/components/exports.mjs +6 -14
  25. package/esm2022/lib/components/forms/abstract-input.component.mjs +12 -55
  26. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +4 -4
  27. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +6 -8
  28. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +4 -4
  29. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +9 -86
  30. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +3 -40
  31. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +10 -11
  32. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +11 -30
  33. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +4 -8
  34. package/esm2022/lib/components/icon/icon.component.mjs +4 -7
  35. package/esm2022/lib/components/loadable-component.mjs +10 -32
  36. package/esm2022/lib/components/resize-aware.component.mjs +24 -61
  37. package/esm2022/lib/components/switch-case/switch-case.component.mjs +7 -5
  38. package/esm2022/lib/components/tables/abstract-table-model.mjs +63 -112
  39. package/esm2022/lib/components/tables/abstract-table.component.mjs +5 -19
  40. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  41. package/esm2022/lib/components/tables/column/column-model.mjs +6 -16
  42. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  43. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
  44. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
  45. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
  46. package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
  47. package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
  48. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +2 -2
  49. package/esm2022/lib/components/tables/editor/edit-session.mjs +1 -1
  50. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +1 -1
  51. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +2 -4
  52. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -16
  53. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +1 -1
  54. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +5 -23
  55. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +3 -3
  56. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +4 -7
  57. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +40 -150
  58. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +6 -6
  59. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
  60. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
  61. package/esm2022/lib/components/tables/table/table-model.mjs +3 -12
  62. package/esm2022/lib/components/tables/table/table.component.mjs +61 -39
  63. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
  64. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  65. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +1 -1
  66. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
  67. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +5 -12
  68. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
  69. package/esm2022/lib/components/text/markdown/markdown.component.mjs +2 -2
  70. package/esm2022/lib/components/types/loadable.mjs +2 -0
  71. package/esm2022/lib/directives/command.directive.mjs +7 -18
  72. package/esm2022/lib/directives/directives.module.mjs +1 -1
  73. package/esm2022/lib/directives/exports.mjs +1 -2
  74. package/esm2022/lib/directives/highlight.pipe.mjs +8 -9
  75. package/esm2022/lib/interaction/abstract-interaction-context.mjs +7 -6
  76. package/esm2022/lib/interaction/activity.mjs +21 -20
  77. package/esm2022/lib/interaction/alert.mjs +2 -2
  78. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +8 -11
  79. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +41 -1
  80. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +16 -28
  81. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +2 -8
  82. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +15 -46
  83. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +15 -53
  84. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +4 -4
  85. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +1 -1
  86. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +1 -1
  87. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +1 -1
  88. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +10 -10
  89. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +8 -4
  90. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +8 -4
  91. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +9 -7
  92. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  93. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +4 -4
  94. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +5 -21
  95. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
  96. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +35 -40
  97. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +9 -10
  98. package/esm2022/lib/interaction/confirm.mjs +2 -26
  99. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +2 -2
  100. package/esm2022/lib/interaction/exports.mjs +1 -6
  101. package/esm2022/lib/interaction/interaction-context.mjs +2 -3
  102. package/esm2022/lib/interaction/interaction.module.mjs +14 -22
  103. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  104. package/esm2022/lib/interaction/services/interaction.service.mjs +6 -18
  105. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +2 -2
  106. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +4 -23
  107. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +5 -4
  108. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +9 -7
  109. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +2 -2
  110. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +1 -1
  111. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  112. package/esm2022/lib/place/guards/place.guard.mjs +5 -6
  113. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  114. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +6 -3
  115. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -2
  116. package/esm2022/lib/place/place-auth-service.mjs +6 -7
  117. package/esm2022/lib/place/place-component.mjs +19 -29
  118. package/esm2022/lib/place/place-definition.mjs +4 -15
  119. package/esm2022/lib/place/place-history.mjs +2 -2
  120. package/esm2022/lib/place/place-router.mjs +53 -67
  121. package/esm2022/lib/place/place.decorator.mjs +2 -2
  122. package/esm2022/lib/place/place.module.mjs +5 -1
  123. package/esm2022/lib/place/route/formatter.mjs +2 -2
  124. package/esm2022/lib/place/route/parameter-decorators.mjs +50 -54
  125. package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
  126. package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
  127. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  128. package/esm2022/lib/place/visit-segment.mjs +2 -2
  129. package/esm2022/lib/place/visit.mjs +2 -2
  130. package/fesm2022/coolon-angular-ui-powerups.mjs +1135 -2553
  131. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  132. package/lib/animations/slide-animations.d.ts +0 -1
  133. package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
  134. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  135. package/lib/components/commands/command/command.component.d.ts +8 -8
  136. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  137. package/lib/components/commands/command-face.d.ts +9 -8
  138. package/lib/components/commands/group/popup-aware.component.d.ts +4 -9
  139. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +2 -2
  140. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
  141. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +0 -2
  142. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
  143. package/lib/components/commands/separator.component.d.ts +4 -2
  144. package/lib/components/components.module.d.ts +55 -60
  145. package/lib/components/disposable-component.d.ts +3 -16
  146. package/lib/components/exports.d.ts +5 -13
  147. package/lib/components/forms/abstract-input.component.d.ts +5 -13
  148. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  149. package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
  150. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  151. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  152. package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
  153. package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
  154. package/lib/components/loadable-component.d.ts +5 -11
  155. package/lib/components/resize-aware.component.d.ts +5 -24
  156. package/lib/components/switch-case/switch-case.component.d.ts +3 -2
  157. package/lib/components/tables/abstract-table-model.d.ts +25 -50
  158. package/lib/components/tables/abstract-table.component.d.ts +3 -4
  159. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  160. package/lib/components/tables/column/column-model.d.ts +3 -7
  161. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
  162. package/lib/components/tables/column/custom-value-column-model.d.ts +2 -3
  163. package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -3
  164. package/lib/components/tables/column/list-propery-column-model.d.ts +2 -3
  165. package/lib/components/tables/column/property-column-model.d.ts +2 -3
  166. package/lib/components/tables/column/selection-column-model.d.ts +4 -10
  167. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +1 -1
  168. package/lib/components/tables/editor/edit-session.d.ts +1 -1
  169. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  170. package/lib/components/tables/renderer/cell-portal-ref.d.ts +12 -20
  171. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -1
  172. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +16 -40
  173. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +3 -2
  174. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
  175. package/lib/components/tables/renderer/{table-custom-more-menu/table-custom-more-menu.component.d.ts → table-more-menu/table-more-menu.component.d.ts} +7 -8
  176. package/lib/components/tables/table/table-model.d.ts +4 -4
  177. package/lib/components/tables/table/table.component.d.ts +10 -14
  178. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
  179. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  180. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -3
  181. package/lib/components/tables/tree-table/tree-table-component.d.ts +0 -3
  182. package/lib/components/tables/tree-table/tree-table-model.d.ts +5 -4
  183. package/lib/components/types/loadable.d.ts +5 -0
  184. package/lib/directives/command.directive.d.ts +4 -6
  185. package/lib/directives/exports.d.ts +0 -1
  186. package/lib/interaction/abstract-interaction-context.d.ts +1 -1
  187. package/lib/interaction/activity.d.ts +7 -7
  188. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +1 -2
  189. package/lib/interaction/components/abstract-dialog.component.d.ts +14 -5
  190. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
  191. package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
  192. package/lib/interaction/components/activity-container/activity-container.component.d.ts +4 -10
  193. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +3 -3
  194. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  195. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
  196. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  197. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +3 -5
  198. package/lib/interaction/confirm.d.ts +0 -4
  199. package/lib/interaction/exports.d.ts +0 -5
  200. package/lib/interaction/interaction-context.d.ts +1 -7
  201. package/lib/interaction/interaction.module.d.ts +33 -35
  202. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +2 -2
  203. package/lib/interaction/services/interaction.service.d.ts +1 -2
  204. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -1
  205. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +1 -3
  206. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -3
  207. package/lib/place/place-auth-service.d.ts +4 -4
  208. package/lib/place/place-component.d.ts +5 -7
  209. package/lib/place/place-definition.d.ts +0 -2
  210. package/lib/place/place-router.d.ts +3 -8
  211. package/lib/place/place.module.d.ts +5 -4
  212. package/lib/place/route/parameter-decorators.d.ts +4 -3
  213. package/lib/place/route/parameter-definition.d.ts +2 -2
  214. package/lib/place/route/parameter-sanitiser.d.ts +0 -7
  215. package/package.json +4 -6
  216. package/assets/draw.scss +0 -20
  217. package/assets/layout.scss +0 -3
  218. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
  219. package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
  220. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  221. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  222. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -81
  223. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  224. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -38
  225. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
  226. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
  227. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
  228. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
  229. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
  230. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -30
  231. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  232. package/esm2022/lib/interaction/activity-context.mjs +0 -4
  233. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
  234. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
  235. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
  236. package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
  237. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
  238. package/lib/components/file/file-download/file-download.component.d.ts +0 -45
  239. package/lib/components/forms/form-field.d.ts +0 -5
  240. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  241. package/lib/components/tables/column/column-manager.d.ts +0 -19
  242. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  243. package/lib/components/tables/footer/footer-row-model.d.ts +0 -22
  244. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
  245. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
  246. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
  247. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
  248. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -11
  249. package/lib/directives/resize-observer.directive.d.ts +0 -16
  250. package/lib/interaction/activity-context.d.ts +0 -9
  251. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
  252. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
  253. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
  254. package/lib/interaction/interaction-context-provider.d.ts +0 -11
@@ -15,7 +15,7 @@ export class InteractionService {
15
15
  // private readonly _activeContext: ValueModelChain<InteractionContext>;
16
16
  _navigationInProgress = new DelegatingValueModel().withDefault(false);
17
17
  placeRouter;
18
- navigationSessionInteractionRegistry;
18
+ exclusiveInteractionRegistry;
19
19
  modalInteractionRegistry;
20
20
  inPlaceInteractionRegistry;
21
21
  activeModalContext;
@@ -24,11 +24,11 @@ export class InteractionService {
24
24
  constructor(modelInteractionContextFactory) {
25
25
  this.modelInteractionContextFactory = modelInteractionContextFactory;
26
26
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this.garbage);
27
- this.navigationSessionInteractionRegistry = new InteractionService.ContextRegistry();
27
+ this.exclusiveInteractionRegistry = new InteractionService.ContextRegistry();
28
28
  this.modalInteractionRegistry = new InteractionService.ContextRegistry();
29
29
  this.inPlaceInteractionRegistry = new InteractionService.ContextRegistry();
30
- this.modalInteractionRegistry.disableWhen(valueOf.any(this.navigationSessionInteractionRegistry.active, this.modalInteractionRegistry.active).areTruthy());
31
- this.inPlaceInteractionRegistry.disableWhen(valueOf.any(this.navigationSessionInteractionRegistry.active, this.modalInteractionRegistry.active, this.inPlaceInteractionRegistry.active).areTruthy());
30
+ this.modalInteractionRegistry.disableWhen(valueOf.any(this.exclusiveInteractionRegistry.active, this.modalInteractionRegistry.active).areTruthy());
31
+ this.inPlaceInteractionRegistry.disableWhen(valueOf.any(this.exclusiveInteractionRegistry.active, this.modalInteractionRegistry.active, this.inPlaceInteractionRegistry.active).areTruthy());
32
32
  this.active = valueOf.any(this.inPlaceInteractionRegistry.active, this.modalInteractionRegistry.active).areTruthy();
33
33
  // TODO: chain.concat(listOrValueModels) would be nice.
34
34
  this.activeInteractionContextIds = chain(this.inPlaceInteractionRegistry.interactionContextIds)
@@ -39,18 +39,6 @@ export class InteractionService {
39
39
  isActive() {
40
40
  return this.active.value;
41
41
  }
42
- async cancelAllActivities() {
43
- for (const interaction of this.modalInteractionRegistry.interactionContexts.value) {
44
- while (interaction.isActive()) {
45
- await interaction.cancelActiveActivity();
46
- }
47
- }
48
- for (const interaction of this.inPlaceInteractionRegistry.interactionContexts.value) {
49
- while (interaction.isActive()) {
50
- await interaction.cancelActiveActivity();
51
- }
52
- }
53
- }
54
42
  /**
55
43
  * @deprecated use #createModalInteractionContextDisposedWith instead.
56
44
  * @param disposable
@@ -85,7 +73,7 @@ export class InteractionService {
85
73
  this._navigationInProgress.setDelegate(this.placeRouter.navigationInProgress$);
86
74
  // const self = this;
87
75
  return new InteractionServiceRoutingAdapter(this.activeInteractionContextIds, this.activeModalContext, () => {
88
- return this.modelInteractionContextFactory.createInteractionContext("exclusive", new InteractionService.ApiAdapter(this.placeRouter, this.navigationSessionInteractionRegistry));
76
+ return this.modelInteractionContextFactory.createInteractionContext("exclusive", new InteractionService.ApiAdapter(this.placeRouter, this.exclusiveInteractionRegistry));
89
77
  });
90
78
  }
91
79
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InteractionService, deps: [{ token: i1.ModalInteractionContextFactory }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -166,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
166
154
  }
167
155
  InteractionService.ApiAdapter = ApiAdapter;
168
156
  })(InteractionService || (InteractionService = {}));
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxnQkFBZ0IsRUFHaEIsZ0JBQWdCLEVBR2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSXBELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRXZGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7QUFFbkYsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7QUFLNUIsTUFBTSxPQUFPLGtCQUFrQjtJQW1CUjtJQWpCSixPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sQ0FBeUI7SUFFeEMsc0ZBQXNGO0lBQ3RGLHVGQUF1RjtJQUN2Rix3RUFBd0U7SUFDdkQscUJBQXFCLEdBQUcsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV4RixXQUFXLENBQWM7SUFDekIsb0NBQW9DLENBQXFDO0lBQ3pFLHdCQUF3QixDQUFxQztJQUM3RCwwQkFBMEIsQ0FBcUM7SUFDL0Qsa0JBQWtCLENBQXNDO0lBRXZELDJCQUEyQixDQUF5QjtJQUNwRCxrQkFBa0IsQ0FBeUI7SUFFcEQsWUFBcUIsOEJBQThEO1FBQTlELG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDakYsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFF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QWE7WUFBbUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRXhHLENBQUM7UUFFRCxXQUFXO1FBQ1gsWUFBWSxDQUFDLE9BQTJCO1lBQ3RDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDO1FBQ3BILENBQUM7UUFFRCxXQUFXO1FBQ0gsc0JBQXNCO1lBQzVCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7UUFDdEQsQ0FBQztRQUVELFdBQVc7UUFDWCxjQUFjLENBQUMsT0FBMkI7WUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsa0JBQWtCO1lBQ2xCLDhHQUE4RztZQUM5Ryx3RkFBd0Y7WUFDeEYseUdBQXlHO1lBQ3pHLDJFQUEyRTtZQUMzRSxpR0FBaUc7WUFDakcsaUZBQWlGO1lBQ2pGLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztnQkFDcEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsbUNBQW1DLEVBQUUsQ0FBQztRQUMzRCxDQUFDO0tBQ0Y7SUFoQ1ksNkJBQVUsYUFnQ3RCLENBQUE7QUFFSCxDQUFDLEVBL0ZnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBK0ZsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7YXNzZXJ0fSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHtQbGFjZVJvdXRlcn0gZnJvbSBcIi4uLy4uL3BsYWNlL3BsYWNlLXJvdXRlclwiO1xuaW1wb3J0IHtJblBsYWNlSW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tIFwiLi4vaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuaW1wb3J0IHtJbnRlcmFjdGlvbkNvbnRleHR9IGZyb20gXCIuLi9pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5pbXBvcnQge0ludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyfSBmcm9tIFwiLi9pbnRlcmFjdGlvbi1zZXJ2aWNlLXJvdXRpbmctYWRhcHRlclwiO1xuXG5pbXBvcnQge01vZGFsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeX0gZnJvbSBcIi4vbW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5XCI7XG5cbmxldCBpbnBsYWNlTW9uaXRvckNvdW50ID0gMDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVNb2RhbENvbnRleHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PigpO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVJbmxpbmVDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4oKTtcbiAgLy8gcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlQ29udGV4dDogVmFsdWVNb2RlbENoYWluPEludGVyYWN0aW9uQ29udGV4dD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX25hdmlnYXRpb25JblByb2dyZXNzID0gbmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpO1xuXG4gIHByaXZhdGUgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyO1xuICBwcml2YXRlIG5hdmlnYXRpb25TZXNzaW9uSW50ZXJhY3Rpb25SZWdpc3RyeTogSW50ZXJhY3Rpb25TZXJ2aWNlLkNvbnRleHRSZWdpc3RyeTtcbiAgcHJpdmF0ZSBtb2RhbEludGVyYWN0aW9uUmVnaXN0cnk6IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnk7XG4gIHByaXZhdGUgaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnk6IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnk7XG4gIHByaXZhdGUgYWN0aXZlTW9kYWxDb250ZXh0OiBWYWx1ZU1vZGVsQ2hhaW48SW50ZXJhY3Rpb25Db250ZXh0PjtcblxuICByZWFkb25seSBhY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHM6IExpc3RNb2RlbENoYWluPHN0cmluZz47XG4gIHJlYWRvbmx5IGluTW9kYWxJbnRlcmFjdGlvbjogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnk6IE1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeSkge1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcy5nYXJiYWdlKTtcblxuICAgIHRoaXMubmF2aWdhdGlvblNlc3Npb25JbnRlcmFjdGlvblJlZ2lzdHJ5ID0gbmV3IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnkoKTtcbiAgICB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeSA9IG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQ29udGV4dFJlZ2lzdHJ5KCk7XG4gICAgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeSA9IG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQ29udGV4dFJlZ2lzdHJ5KCk7XG5cbiAgICB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeS5kaXNhYmxlV2hlbih2YWx1ZU9mLmFueShcbiAgICAgIHRoaXMubmF2aWdhdGlvblNlc3Npb25JbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZSxcbiAgICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZVxuICAgICkuYXJlVHJ1dGh5KCkpO1xuXG4gICAgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5kaXNhYmxlV2hlbih2YWx1ZU9mLmFueShcbiAgICAgIHRoaXMubmF2aWdhdGlvblNlc3Npb25JbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZSxcbiAgICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZSxcbiAgICAgIHRoaXMuaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlXG4gICAgKS5hcmVUcnV0aHkoKSk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IHZhbHVlT2YuYW55KFxuICAgICAgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmUsXG4gICAgICB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmVcbiAgICApLmFyZVRydXRoeSgpO1xuXG5cbiAgICAvLyBUT0RPOiBjaGFpbi5jb25jYXQobGlzdE9yVmFsdWVNb2RlbHMpIHdvdWxkIGJlIG5pY2UuXG4gICAgdGhpcy5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMgPSBjaGFpbih0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5LmludGVyYWN0aW9uQ29udGV4dElkcylcbiAgICAgIC5jb25jYXQodGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuaW50ZXJhY3Rpb25Db250ZXh0SWRzKTtcblxuICAgIHRoaXMuYWN0aXZlTW9kYWxDb250ZXh0ID0gY2hhaW4odGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuaW50ZXJhY3Rpb25Db250ZXh0cykuZmlyc3QoKTtcbiAgICB0aGlzLmluTW9kYWxJbnRlcmFjdGlvbiA9IGNoYWluKHRoaXMuYWN0aXZlTW9kYWxDb250ZXh0KS5pc05vdE5pbCgpO1xuXG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICBhc3luYyBjYW5jZWxBbGxBY3Rpdml0aWVzKCkge1xuICAgIGZvciAoY29uc3QgaW50ZXJhY3Rpb24gb2YgdGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuaW50ZXJhY3Rpb25Db250ZXh0cy52YWx1ZSkge1xuICAgICAgd2hpbGUoaW50ZXJhY3Rpb24uaXNBY3RpdmUoKSkge1xuICAgICAgICBhd2FpdCBpbnRlcmFjdGlvbi5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpXG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoY29uc3QgaW50ZXJhY3Rpb24gb2YgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5pbnRlcmFjdGlvbkNvbnRleHRzLnZhbHVlKSB7XG4gICAgICB3aGlsZShpbnRlcmFjdGlvbi5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIGF3YWl0IGludGVyYWN0aW9uLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICNjcmVhdGVNb2RhbEludGVyYWN0aW9uQ29udGV4dERpc3Bvc2VkV2l0aCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0gZGlzcG9zYWJsZVxuICAgKi9cbiAgY3JlYXRlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGb3IoZGlzcG9zYWJsZTogRGlzcG9zYWJsZS5Db2xsZWN0b3IpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RGlzcG9zZWRXaXRoKGRpc3Bvc2FibGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbW9kZWwgaW50ZXJhY3Rpb24gY29udGV4dCB0aGF0IHdpbGwgYmUgZGlzcG9zZWQgYWxvbmcgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gZGlzcG9zYWJsZVxuICAgKi9cbiAgY3JlYXRlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHREaXNwb3NlZFdpdGgoZGlzcG9zYWJsZTogRGlzcG9zYWJsZS5Db2xsZWN0b3IpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIC8vIFRPRE86IGxvb2sgYXQgbWFraW5nIHRoZSByZWdpc3RyeSB0aGUgZmFjdG9yeS4uXG4gICAgcmV0dXJuIHRoaXMubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dChcIm1vZGFsXCIsIG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQXBpQWRhcHRlcih0aGlzLnBsYWNlUm91dGVyLCB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0KGludGVyYWN0aW9uQ29udGV4dDogSW5QbGFjZUludGVyYWN0aW9uQ29udGV4dCkge1xuICAgIC8vIFRPRE86IGxvb2sgYXQgbWFraW5nIHRoZSByZWdpc3RyeSB0aGUgZmFjdG9yeS4uXG4gICAgLy8gVG9kbzogY2hlY2sgZm9yIGRvdWJsZSByZWdpc3RyYXRpb24uXG4gICAgLy8gVG9kbzogYWxsb3cgbXVsdGlwbGUgaW5wbGFjZSBpbnRlcmFjdGlvbnMuLlxuICAgIGludGVyYWN0aW9uQ29udGV4dC5vbklucGxhY2VJbnRlcmFjdGlvbkNvbnRleHRSZWdpc3RlcmVkKGBpcCR7KytpbnBsYWNlTW9uaXRvckNvdW50fWAsIG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQXBpQWRhcHRlcih0aGlzLnBsYWNlUm91dGVyLCB0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5KSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGludGVyYWN0aW9uIGNvbnRleHQgdGhhdCB3aWxsIHByZXZlbnQgYW55IG90aGVyIGNvbnRleHRzIGZyb20gc3RhcnRpbmcgYW5cbiAgICogYWN0aXZpdHkgdW50aWwgaXQgaXMgZGlzcG9zZWQuICBUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgYnkgdGhlIHJvdXRlciBmb3IgcGFzc2luZ1xuICAgKiB0byBQbGFjZUNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKGludGVyYWN0aW9uQ29udGV4dCkuICBUaGlzIGVuc3VyZXMgY29tcG9uZW50cyBkb24ndFxuICAgKiB0cnkgYW5kIGludGVyYWN0IGluIGEgd2F5IHRoYXQgd2UgY2FuJ3QgdHJhY2sgYW5kIHN5bmNocm9uaXNlIHdpdGggdGhlIGJyb3dzZXIgYmFja1xuICAgKiBidXR0b24uXG4gICAqL1xuICByZWdpc3RlclBsYWNlUm91dGVyKHJvdXRlcjogUGxhY2VSb3V0ZXIpOiBJbnRlcmFjdGlvblNlcnZpY2VSb3V0aW5nQWRhcHRlciB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMucGxhY2VSb3V0ZXIpO1xuICAgIHRoaXMucGxhY2VSb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy5fbmF2aWdhdGlvbkluUHJvZ3Jlc3Muc2V0RGVsZWdhdGUodGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpO1xuICAgIC8vIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXIoXG4gICAgICB0aGlzLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcyxcbiAgICAgIHRoaXMuYWN0aXZlTW9kYWxDb250ZXh0LFxuICAgICAgKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkuY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KFwiZXhjbHVzaXZlXCIsIG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQXBpQWRhcHRlcih0aGlzLnBsYWNlUm91dGVyLCB0aGlzLm5hdmlnYXRpb25TZXNzaW9uSW50ZXJhY3Rpb25SZWdpc3RyeSkpO1xuICAgICAgfSk7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEludGVyYWN0aW9uU2VydmljZSB7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBcGkge1xuXG4gICAgLyoqXG4gICAgICogTm90aWZpZXMgdGhlIGludGVyYWN0aW9uIHNlcnZpY2UgdGhhdCBhIHBhcnRpY3VsYXIgaW50ZXJhY3Rpb25Db250ZXh0IGhhcyBiZWNvbWUgYWN0aXZlLiBUaGUgaW50ZXJhY3Rpb25cbiAgICAgKiBzZXJ2aWNlcyB3aWxsIHRoZW4gcHVzaCBjaGFuZ2VzIHRvIHRoZSByb3V0ZXIgdG8gdHJhY2sgc3RhdGUuICBJZiB0aGUgcm91dGVyIGlzIGlkbGUsIHRoZSBwcm9taXNlIHdpbGxcbiAgICAgKiByZXNvbHZlIHdoZW4gdGhlIHJvdXRpbmcgaGFzIGZpbmlzaGVkIHVwZGF0aW5nLiAgT3RoZXJ3aXNlIGl0IHdpbGwgcmV0dXJuIGltbWVkaWF0ZWx5LlxuICAgICAqIEBwYXJhbSBpbnRlcmFjdGlvbkNvbnRleHRcbiAgICAgKi9cbiAgICBub3RpZnlBY3RpdmUoaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBQcm9taXNlPHVua25vd24+O1xuXG4gICAgLyoqXG4gICAgICogTm90aWZpZXMgdGhlIGludGVyYWN0aW9uIHNlcnZpY2UgdGhhdCBhIHBhcnRpY3VsYXIgaW50ZXJhY3Rpb25Db250ZXh0IGhhcyBiZWNvbWUgaWRsZS4gVGhlIGludGVyYWN0aW9uXG4gICAgICogc2VydmljZXMgd2lsbCB0aGVuIHB1c2ggY2hhbmdlcyB0byB0aGUgcm91dGVyIHRvIHRyYWNrIHN0YXRlLiAgSWYgdGhlIHJvdXRlciBpcyBpZGxlLCB0aGUgcHJvbWlzZSB3aWxsXG4gICAgICogcmVzb2x2ZSB3aGVuIHRoZSByb3V0aW5nIGhhcyBmaW5pc2hlZCB1cGRhdGluZy4gIE90aGVyd2lzZSwgaXQgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkuXG4gICAgICogQHBhcmFtIGludGVyYWN0aW9uQ29udGV4dFxuICAgICAqL1xuICAgIG5vdGlmeUZpbmlzaGVkKGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KTogUHJvbWlzZTx1bmtub3duPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBhIG1lY2hhbmlzbSBmb3IgdGhlIHNlcnZpY2UgdG8ga2VlcCB0cmFjayBvZiB3aGF0IHRoZSBBUEkgYWRhcHRlcnMgYXJlIGRvaW5nIHRvXG4gICAqIGVuc3VyZSB0aGUgcnVsZXMgYXJlIGZvbGxvd2VkLCBpLmUuIG1vZGFsIG9yIGluLXBsYWNlIGludGVyYWN0aW9uIGFyZW4ndCBzdGFydGVkIHdoaWxlXG4gICAqIGFuIGV4Y2x1c2l2ZSByb3V0aW5nIGludGVyYWN0aW9uIGlzIGFjdGl2ZS5cbiAgICovXG4gIGV4cG9ydCBjbGFzcyBDb250ZXh0UmVnaXN0cnkgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICAgIHByaXZhdGUgX2ludGVyYWN0aW9ucyA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4oKTtcbiAgICBwcml2YXRlIF9kaXNhYmxlZERlbGVnYXRlID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpKTtcbiAgICByZWFkb25seSBhY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gICAgcmVhZG9ubHkgaW50ZXJhY3Rpb25Db250ZXh0SWRzOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICAgIHRoaXMuYWN0aXZlID0gY2hhaW4odGhpcy5faW50ZXJhY3Rpb25zKS5pc05vdEVtcHR5KCk7XG4gICAgICB0aGlzLmludGVyYWN0aW9uQ29udGV4dElkcyA9IGNoYWluKHRoaXMuX2ludGVyYWN0aW9ucykucGx1Y2soXCJpZGVudGlmaWVyXCIpO1xuICAgIH1cblxuICAgIGdldCBpbnRlcmFjdGlvbkNvbnRleHRzKCk6IExpc3RNb2RlbDxJbnRlcmFjdGlvbkNvbnRleHQ+IHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGlvbnMucmVhZG9ubHkkO1xuICAgIH1cblxuICAgIHN0YXJ0KGNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICAgICAgdGhpcy5faW50ZXJhY3Rpb25zLnB1c2goY29udGV4dCk7XG4gICAgfVxuXG4gICAgZmluaXNoKGNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICAgICAgdGhpcy5faW50ZXJhY3Rpb25zLnJlbW92ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpc0FjdGl2ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmFjdGl2ZS52YWx1ZTtcbiAgICB9XG5cbiAgICBkaXNhYmxlV2hlbihkaXNhYmxlZDogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgICAgdGhpcy5fZGlzYWJsZWREZWxlZ2F0ZS5zZXREZWxlZ2F0ZShkaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIEFwaUFkYXB0ZXIgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgQXBpIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLCBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHRSZWdpc3RyeTogQ29udGV4dFJlZ2lzdHJ5KSB7XG4gICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIEBUcmFjZSgpXG4gICAgbm90aWZ5QWN0aXZlKGNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCk6IFByb21pc2U8YW55PiB7XG4gICAgICBhc3NlcnQuaXNUcnV0aHkoY29udGV4dC5pZGVudGlmaWVyKTtcbiAgICAgIHRoaXMuY29udGV4dFJlZ2lzdHJ5LnN0YXJ0KGNvbnRleHQpO1xuICAgICAgcmV0dXJuIHRoaXMuaXNOYXZpZ2F0aW9uSW5Qcm9ncmVzcygpID8gUHJvbWlzZS5yZXNvbHZlKCkgOiB0aGlzLnBsYWNlUm91dGVyLnN5bmNJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGVyKCk7XG4gICAgfVxuXG4gICAgLy8gQFRyYWNlKClcbiAgICBwcml2YXRlIGlzTmF2aWdhdGlvbkluUHJvZ3Jlc3MoKSB7XG4gICAgICByZXR1cm4gdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gQFRyYWNlKClcbiAgICBub3RpZnlGaW5pc2hlZChjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBQcm9taXNlPGFueT4ge1xuICAgICAgdGhpcy5jb250ZXh0UmVnaXN0cnkuZmluaXNoKGNvbnRleHQpO1xuICAgICAgLy8gOjogSW1wb3J0YW50IDo6XG4gICAgICAvLyBUaGlzIG1ldGhvZCB3aWxsIGJlIHRyYXZlcnNlZCBieSBib3RoIHRoZSBwbGFjZSByb3V0ZXIgKGR1cmluZyBjYW4gY2FuRGVhY3RpdmF0ZSBndWFyZHMpIGFuZCB1c2VyIGxhbmQgY29kZVxuICAgICAgLy8gKGJvdGggd2hlbiByb3V0aW5nIGlzIGlkbGUgYW5kIHdoaWxlIGl0IGlzIGFjdGl2ZSBpbiBQbGFjZUNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKCkpLlxuICAgICAgLy8gVGhlIHJlc3VsdCBvZiBwdXNoSW50ZXJhY3Rpb25JZHNUb1JvdXRlIHdpbGwgbm90IHN0YXJ0IHVudGlsIGFmdGVyIHRoZSBjdXJyZW50IHJvdXRlIGZpbmlzaGVzLCBhbmQgdGhlXG4gICAgICAvLyBjdXJyZW50IHJvdXRlIHdvbid0IGZpbmlzaCB1bnRpbCBhZnRlciB0aGlzIHByb21pc2UgcmV0dXJucy4uLiBEZWFkbG9jay5cbiAgICAgIC8vIFNvIGluIG9yZGVyIHRvIGtlZXAgdGhpcyBsb2dpYyBvdXQgb2YgdGhlIGFjdGl2aXRpZXMgd2UgcGVyZm9ybSB0aGUgY2hlY2sgaGVyZSBhbmQgZW5zdXJlIHRoYXRcbiAgICAgIC8vIGFueSBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgY29udGV4dCB3aGlsZSByb3V0aW5nIGlzIGFjdGl2ZSByZXR1cm5zIGltbWVkaWF0ZWx5LlxuICAgICAgcmV0dXJuIHRoaXMuaXNOYXZpZ2F0aW9uSW5Qcm9ncmVzcygpID9cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkgOlxuICAgICAgICB0aGlzLnBsYWNlUm91dGVyLnN5bmNJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGVyKCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxnQkFBZ0IsRUFHaEIsZ0JBQWdCLEVBR2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSXBELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRXZGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7QUFFbkYsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7QUFLNUIsTUFBTSxPQUFPLGtCQUFrQjtJQW1CUjtJQWpCSixPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sQ0FBeUI7SUFFeEMsc0ZBQXNGO0lBQ3RGLHVGQUF1RjtJQUN2Rix3RUFBd0U7SUFDdkQscUJBQXFCLEdBQUcsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV4RixXQUFXLENBQWM7SUFDekIsNEJBQTRCLENBQXFDO0lBQ2pFLHdCQUF3QixDQUFxQztJQUM3RCwwQkFBMEIsQ0FBcUM7SUFDL0Qsa0JBQWtCLENBQXNDO0lBRXZELDJCQUEyQixDQUF5QjtJQUNwRCxrQkFBa0IsQ0FBeUI7SUFFcEQsWUFBcUIsOEJBQThEO1FBQTlELG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDakYsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpHLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pFLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRTNFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDbkQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sRUFDeEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FDckMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUNyRCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxFQUN4QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUN2QyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQ3ZCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQ3RDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQ3JDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFHZCx1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMscUJBQXFCLENBQUM7YUFDNUYsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV0RSxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdDQUFnQyxDQUFDLFVBQWdDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLHlDQUF5QyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7O09BR0c7SUFDSCx5Q0FBeUMsQ0FBQyxVQUFnQztRQUN4RSxrREFBa0Q7UUFDbEQsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztJQUNuSyxDQUFDO0lBRUQsaUNBQWlDLENBQUMsa0JBQTZDO1FBQzdFLGtEQUFrRDtRQUNsRCx1Q0FBdUM7UUFDdkMsOENBQThDO1FBQzlDLGtCQUFrQixDQUFDLHFDQUFxQyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxFQUFFLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUMvSyxDQUFDO0lBR0Q7Ozs7OztPQU1HO0lBQ0gsbUJBQW1CLENBQUMsTUFBbUI7UUFDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0UscUJBQXFCO1FBQ3JCLE9BQU8sSUFBSSxnQ0FBZ0MsQ0FDekMsSUFBSSxDQUFDLDJCQUEyQixFQUNoQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLEdBQUcsRUFBRTtZQUNILE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7UUFDM0ssQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3VHQW5HVSxrQkFBa0I7MkdBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQXdHRCxXQUFpQixrQkFBa0I7SUFxQmpDOzs7O09BSUc7SUFDSCxNQUFhLGVBQWdCLFNBQVEsZ0JBQWdCO1FBRTNDLGFBQWEsR0FBRyxJQUFJLGdCQUFnQixFQUFzQixDQUFDO1FBQzNELGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkcsTUFBTSxDQUF5QjtRQUMvQixxQkFBcUIsQ0FBeUI7UUFFdkQ7WUFDRSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELElBQUksbUJBQW1CO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDdEMsQ0FBQztRQUVELEtBQUssQ0FBQyxPQUEyQjtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxDQUFDLE9BQTJCO1lBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxRQUFRO1lBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDO1FBRUQsV0FBVyxDQUFDLFFBQTZCO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQztLQUNGO0lBakNZLGtDQUFlLGtCQWlDM0IsQ0FBQTtJQUVELE1BQWEsVUFBVyxTQUFRLGdCQUFnQjtRQUVqQjtRQUEyQztRQUF4RSxZQUE2QixXQUF3QixFQUFtQixlQUFnQztZQUN0RyxLQUFLLEVBQUUsQ0FBQztZQURtQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtZQUFtQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFeEcsQ0FBQztRQUVELFdBQVc7UUFDWCxZQUFZLENBQUMsT0FBMkI7WUFDdEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLENBQUM7UUFDcEgsQ0FBQztRQUVELFdBQVc7UUFDSCxzQkFBc0I7WUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztRQUN0RCxDQUFDO1FBRUQsV0FBVztRQUNYLGNBQWMsQ0FBQyxPQUEyQjtZQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxrQkFBa0I7WUFDbEIsOEdBQThHO1lBQzlHLHdGQUF3RjtZQUN4Rix5R0FBeUc7WUFDekcsMkVBQTJFO1lBQzNFLGlHQUFpRztZQUNqRyxpRkFBaUY7WUFDakYsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO2dCQUNwQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDO1FBQzNELENBQUM7S0FDRjtJQWhDWSw2QkFBVSxhQWdDdEIsQ0FBQTtBQUVILENBQUMsRUEvRmdCLGtCQUFrQixLQUFsQixrQkFBa0IsUUErRmxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTXV0YWJsZUxpc3RNb2RlbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHthc3NlcnR9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge1BsYWNlUm91dGVyfSBmcm9tIFwiLi4vLi4vcGxhY2UvcGxhY2Utcm91dGVyXCI7XG5pbXBvcnQge0luUGxhY2VJbnRlcmFjdGlvbkNvbnRleHR9IGZyb20gXCIuLi9pbi1wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5pbXBvcnQge0ludGVyYWN0aW9uQ29udGV4dH0gZnJvbSBcIi4uL2ludGVyYWN0aW9uLWNvbnRleHRcIjtcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXJ9IGZyb20gXCIuL2ludGVyYWN0aW9uLXNlcnZpY2Utcm91dGluZy1hZGFwdGVyXCI7XG5cbmltcG9ydCB7TW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5fSBmcm9tIFwiLi9tb2RhbC1pbnRlcmFjdGlvbi1jb250ZXh0LmZhY3RvcnlcIjtcblxubGV0IGlucGxhY2VNb25pdG9yQ291bnQgPSAwO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnYXJiYWdlID0gbmV3IEdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgcmVhZG9ubHkgYWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuXG4gIC8vIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZU1vZGFsQ29udGV4dCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxJbnRlcmFjdGlvbkNvbnRleHQ+KCk7XG4gIC8vIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUlubGluZUNvbnRleHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PigpO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVDb250ZXh0OiBWYWx1ZU1vZGVsQ2hhaW48SW50ZXJhY3Rpb25Db250ZXh0PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmF2aWdhdGlvbkluUHJvZ3Jlc3MgPSBuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXI7XG4gIHByaXZhdGUgZXhjbHVzaXZlSW50ZXJhY3Rpb25SZWdpc3RyeTogSW50ZXJhY3Rpb25TZXJ2aWNlLkNvbnRleHRSZWdpc3RyeTtcbiAgcHJpdmF0ZSBtb2RhbEludGVyYWN0aW9uUmVnaXN0cnk6IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnk7XG4gIHByaXZhdGUgaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnk6IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnk7XG4gIHByaXZhdGUgYWN0aXZlTW9kYWxDb250ZXh0OiBWYWx1ZU1vZGVsQ2hhaW48SW50ZXJhY3Rpb25Db250ZXh0PjtcblxuICByZWFkb25seSBhY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHM6IExpc3RNb2RlbENoYWluPHN0cmluZz47XG4gIHJlYWRvbmx5IGluTW9kYWxJbnRlcmFjdGlvbjogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnk6IE1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeSkge1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcy5nYXJiYWdlKTtcblxuICAgIHRoaXMuZXhjbHVzaXZlSW50ZXJhY3Rpb25SZWdpc3RyeSA9IG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQ29udGV4dFJlZ2lzdHJ5KCk7XG4gICAgdGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkgPSBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLkNvbnRleHRSZWdpc3RyeSgpO1xuICAgIHRoaXMuaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnkgPSBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLkNvbnRleHRSZWdpc3RyeSgpO1xuXG4gICAgdGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuZGlzYWJsZVdoZW4odmFsdWVPZi5hbnkoXG4gICAgICB0aGlzLmV4Y2x1c2l2ZUludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlLFxuICAgICAgdGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlXG4gICAgKS5hcmVUcnV0aHkoKSk7XG5cbiAgICB0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5LmRpc2FibGVXaGVuKHZhbHVlT2YuYW55KFxuICAgICAgdGhpcy5leGNsdXNpdmVJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZSxcbiAgICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZSxcbiAgICAgIHRoaXMuaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlXG4gICAgKS5hcmVUcnV0aHkoKSk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IHZhbHVlT2YuYW55KFxuICAgICAgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmUsXG4gICAgICB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmVcbiAgICApLmFyZVRydXRoeSgpO1xuXG5cbiAgICAvLyBUT0RPOiBjaGFpbi5jb25jYXQobGlzdE9yVmFsdWVNb2RlbHMpIHdvdWxkIGJlIG5pY2UuXG4gICAgdGhpcy5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMgPSBjaGFpbih0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5LmludGVyYWN0aW9uQ29udGV4dElkcylcbiAgICAgIC5jb25jYXQodGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuaW50ZXJhY3Rpb25Db250ZXh0SWRzKTtcblxuICAgIHRoaXMuYWN0aXZlTW9kYWxDb250ZXh0ID0gY2hhaW4odGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuaW50ZXJhY3Rpb25Db250ZXh0cykuZmlyc3QoKTtcbiAgICB0aGlzLmluTW9kYWxJbnRlcmFjdGlvbiA9IGNoYWluKHRoaXMuYWN0aXZlTW9kYWxDb250ZXh0KS5pc05vdE5pbCgpO1xuXG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICNjcmVhdGVNb2RhbEludGVyYWN0aW9uQ29udGV4dERpc3Bvc2VkV2l0aCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0gZGlzcG9zYWJsZVxuICAgKi9cbiAgY3JlYXRlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGb3IoZGlzcG9zYWJsZTogRGlzcG9zYWJsZS5Db2xsZWN0b3IpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RGlzcG9zZWRXaXRoKGRpc3Bvc2FibGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbW9kZWwgaW50ZXJhY3Rpb24gY29udGV4dCB0aGF0IHdpbGwgYmUgZGlzcG9zZWQgYWxvbmcgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gZGlzcG9zYWJsZVxuICAgKi9cbiAgY3JlYXRlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHREaXNwb3NlZFdpdGgoZGlzcG9zYWJsZTogRGlzcG9zYWJsZS5Db2xsZWN0b3IpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIC8vIFRPRE86IGxvb2sgYXQgbWFraW5nIHRoZSByZWdpc3RyeSB0aGUgZmFjdG9yeS4uXG4gICAgcmV0dXJuIHRoaXMubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dChcIm1vZGFsXCIsIG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQXBpQWRhcHRlcih0aGlzLnBsYWNlUm91dGVyLCB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0KGludGVyYWN0aW9uQ29udGV4dDogSW5QbGFjZUludGVyYWN0aW9uQ29udGV4dCkge1xuICAgIC8vIFRPRE86IGxvb2sgYXQgbWFraW5nIHRoZSByZWdpc3RyeSB0aGUgZmFjdG9yeS4uXG4gICAgLy8gVG9kbzogY2hlY2sgZm9yIGRvdWJsZSByZWdpc3RyYXRpb24uXG4gICAgLy8gVG9kbzogYWxsb3cgbXVsdGlwbGUgaW5wbGFjZSBpbnRlcmFjdGlvbnMuLlxuICAgIGludGVyYWN0aW9uQ29udGV4dC5vbklucGxhY2VJbnRlcmFjdGlvbkNvbnRleHRSZWdpc3RlcmVkKGBpcCR7KytpbnBsYWNlTW9uaXRvckNvdW50fWAsIG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQXBpQWRhcHRlcih0aGlzLnBsYWNlUm91dGVyLCB0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5KSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGludGVyYWN0aW9uIGNvbnRleHQgdGhhdCB3aWxsIHByZXZlbnQgYW55IG90aGVyIGNvbnRleHRzIGZyb20gc3RhcnRpbmcgYW5cbiAgICogYWN0aXZpdHkgdW50aWwgaXQgaXMgZGlzcG9zZWQuICBUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgYnkgdGhlIHJvdXRlciBmb3IgcGFzc2luZ1xuICAgKiB0byBQbGFjZUNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKGludGVyYWN0aW9uQ29udGV4dCkuICBUaGlzIGVuc3VyZXMgY29tcG9uZW50cyBkb24ndFxuICAgKiB0cnkgYW5kIGludGVyYWN0IGluIGEgd2F5IHRoYXQgd2UgY2FuJ3QgdHJhY2sgYW5kIHN5bmNocm9uaXNlIHdpdGggdGhlIGJyb3dzZXIgYmFja1xuICAgKiBidXR0b24uXG4gICAqL1xuICByZWdpc3RlclBsYWNlUm91dGVyKHJvdXRlcjogUGxhY2VSb3V0ZXIpOiBJbnRlcmFjdGlvblNlcnZpY2VSb3V0aW5nQWRhcHRlciB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMucGxhY2VSb3V0ZXIpO1xuICAgIHRoaXMucGxhY2VSb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy5fbmF2aWdhdGlvbkluUHJvZ3Jlc3Muc2V0RGVsZWdhdGUodGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpO1xuICAgIC8vIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXIoXG4gICAgICB0aGlzLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcyxcbiAgICAgIHRoaXMuYWN0aXZlTW9kYWxDb250ZXh0LFxuICAgICAgKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkuY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KFwiZXhjbHVzaXZlXCIsIG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQXBpQWRhcHRlcih0aGlzLnBsYWNlUm91dGVyLCB0aGlzLmV4Y2x1c2l2ZUludGVyYWN0aW9uUmVnaXN0cnkpKTtcbiAgICAgIH0pO1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXBpIHtcblxuICAgIC8qKlxuICAgICAqIE5vdGlmaWVzIHRoZSBpbnRlcmFjdGlvbiBzZXJ2aWNlIHRoYXQgYSBwYXJ0aWN1bGFyIGludGVyYWN0aW9uQ29udGV4dCBoYXMgYmVjb21lIGFjdGl2ZS4gVGhlIGludGVyYWN0aW9uXG4gICAgICogc2VydmljZXMgd2lsbCB0aGVuIHB1c2ggY2hhbmdlcyB0byB0aGUgcm91dGVyIHRvIHRyYWNrIHN0YXRlLiAgSWYgdGhlIHJvdXRlciBpcyBpZGxlLCB0aGUgcHJvbWlzZSB3aWxsXG4gICAgICogcmVzb2x2ZSB3aGVuIHRoZSByb3V0aW5nIGhhcyBmaW5pc2hlZCB1cGRhdGluZy4gIE90aGVyd2lzZSBpdCB3aWxsIHJldHVybiBpbW1lZGlhdGVseS5cbiAgICAgKiBAcGFyYW0gaW50ZXJhY3Rpb25Db250ZXh0XG4gICAgICovXG4gICAgbm90aWZ5QWN0aXZlKGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KTogUHJvbWlzZTx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIE5vdGlmaWVzIHRoZSBpbnRlcmFjdGlvbiBzZXJ2aWNlIHRoYXQgYSBwYXJ0aWN1bGFyIGludGVyYWN0aW9uQ29udGV4dCBoYXMgYmVjb21lIGlkbGUuIFRoZSBpbnRlcmFjdGlvblxuICAgICAqIHNlcnZpY2VzIHdpbGwgdGhlbiBwdXNoIGNoYW5nZXMgdG8gdGhlIHJvdXRlciB0byB0cmFjayBzdGF0ZS4gIElmIHRoZSByb3V0ZXIgaXMgaWRsZSwgdGhlIHByb21pc2Ugd2lsbFxuICAgICAqIHJlc29sdmUgd2hlbiB0aGUgcm91dGluZyBoYXMgZmluaXNoZWQgdXBkYXRpbmcuICBPdGhlcndpc2UsIGl0IHdpbGwgcmV0dXJuIGltbWVkaWF0ZWx5LlxuICAgICAqIEBwYXJhbSBpbnRlcmFjdGlvbkNvbnRleHRcbiAgICAgKi9cbiAgICBub3RpZnlGaW5pc2hlZChpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj47XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIHRoZSBzZXJ2aWNlIHRvIGtlZXAgdHJhY2sgb2Ygd2hhdCB0aGUgQVBJIGFkYXB0ZXJzIGFyZSBkb2luZyB0b1xuICAgKiBlbnN1cmUgdGhlIHJ1bGVzIGFyZSBmb2xsb3dlZCwgaS5lLiBtb2RhbCBvciBpbi1wbGFjZSBpbnRlcmFjdGlvbiBhcmVuJ3Qgc3RhcnRlZCB3aGlsZVxuICAgKiBhbiBleGNsdXNpdmUgcm91dGluZyBpbnRlcmFjdGlvbiBpcyBhY3RpdmUuXG4gICAqL1xuICBleHBvcnQgY2xhc3MgQ29udGV4dFJlZ2lzdHJ5IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgICBwcml2YXRlIF9pbnRlcmFjdGlvbnMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxJbnRlcmFjdGlvbkNvbnRleHQ+KCk7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWREZWxlZ2F0ZSA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKSk7XG4gICAgcmVhZG9ubHkgYWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dElkczogTGlzdE1vZGVsQ2hhaW48c3RyaW5nPjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2ludGVyYWN0aW9ucykuaXNOb3RFbXB0eSgpO1xuICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHRJZHMgPSBjaGFpbih0aGlzLl9pbnRlcmFjdGlvbnMpLnBsdWNrKFwiaWRlbnRpZmllclwiKTtcbiAgICB9XG5cbiAgICBnZXQgaW50ZXJhY3Rpb25Db250ZXh0cygpOiBMaXN0TW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PiB7XG4gICAgICByZXR1cm4gdGhpcy5faW50ZXJhY3Rpb25zLnJlYWRvbmx5JDtcbiAgICB9XG5cbiAgICBzdGFydChjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICAgIHRoaXMuX2ludGVyYWN0aW9ucy5wdXNoKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGZpbmlzaChjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICAgIHRoaXMuX2ludGVyYWN0aW9ucy5yZW1vdmUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgaXNBY3RpdmUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gICAgfVxuXG4gICAgZGlzYWJsZVdoZW4oZGlzYWJsZWQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkRGVsZWdhdGUuc2V0RGVsZWdhdGUoZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBBcGlBZGFwdGVyIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciBpbXBsZW1lbnRzIEFwaSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlciwgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0UmVnaXN0cnk6IENvbnRleHRSZWdpc3RyeSkge1xuICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyBAVHJhY2UoKVxuICAgIG5vdGlmeUFjdGl2ZShjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBQcm9taXNlPGFueT4ge1xuICAgICAgYXNzZXJ0LmlzVHJ1dGh5KGNvbnRleHQuaWRlbnRpZmllcik7XG4gICAgICB0aGlzLmNvbnRleHRSZWdpc3RyeS5zdGFydChjb250ZXh0KTtcbiAgICAgIHJldHVybiB0aGlzLmlzTmF2aWdhdGlvbkluUHJvZ3Jlc3MoKSA/IFByb21pc2UucmVzb2x2ZSgpIDogdGhpcy5wbGFjZVJvdXRlci5zeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcigpO1xuICAgIH1cblxuICAgIC8vIEBUcmFjZSgpXG4gICAgcHJpdmF0ZSBpc05hdmlnYXRpb25JblByb2dyZXNzKCkge1xuICAgICAgcmV0dXJuIHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3MkLnZhbHVlO1xuICAgIH1cblxuICAgIC8vIEBUcmFjZSgpXG4gICAgbm90aWZ5RmluaXNoZWQoY29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRoaXMuY29udGV4dFJlZ2lzdHJ5LmZpbmlzaChjb250ZXh0KTtcbiAgICAgIC8vIDo6IEltcG9ydGFudCA6OlxuICAgICAgLy8gVGhpcyBtZXRob2Qgd2lsbCBiZSB0cmF2ZXJzZWQgYnkgYm90aCB0aGUgcGxhY2Ugcm91dGVyIChkdXJpbmcgY2FuIGNhbkRlYWN0aXZhdGUgZ3VhcmRzKSBhbmQgdXNlciBsYW5kIGNvZGVcbiAgICAgIC8vIChib3RoIHdoZW4gcm91dGluZyBpcyBpZGxlIGFuZCB3aGlsZSBpdCBpcyBhY3RpdmUgaW4gUGxhY2VDb21wb25lbnQuY2FuRGVhY3RpdmF0ZSgpKS5cbiAgICAgIC8vIFRoZSByZXN1bHQgb2YgcHVzaEludGVyYWN0aW9uSWRzVG9Sb3V0ZSB3aWxsIG5vdCBzdGFydCB1bnRpbCBhZnRlciB0aGUgY3VycmVudCByb3V0ZSBmaW5pc2hlcywgYW5kIHRoZVxuICAgICAgLy8gY3VycmVudCByb3V0ZSB3b24ndCBmaW5pc2ggdW50aWwgYWZ0ZXIgdGhpcyBwcm9taXNlIHJldHVybnMuLi4gRGVhZGxvY2suXG4gICAgICAvLyBTbyBpbiBvcmRlciB0byBrZWVwIHRoaXMgbG9naWMgb3V0IG9mIHRoZSBhY3Rpdml0aWVzIHdlIHBlcmZvcm0gdGhlIGNoZWNrIGhlcmUgYW5kIGVuc3VyZSB0aGF0XG4gICAgICAvLyBhbnkgaW50ZXJhY3Rpb25zIHdpdGggdGhlIGNvbnRleHQgd2hpbGUgcm91dGluZyBpcyBhY3RpdmUgcmV0dXJucyBpbW1lZGlhdGVseS5cbiAgICAgIHJldHVybiB0aGlzLmlzTmF2aWdhdGlvbkluUHJvZ3Jlc3MoKSA/XG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpIDpcbiAgICAgICAgdGhpcy5wbGFjZVJvdXRlci5zeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcigpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -18,7 +18,7 @@ export class DialogInteractionContextFactory extends ModalInteractionContextFact
18
18
  this.matDialogDefaultConfig = matDialogDefaultConfig;
19
19
  assert.notNil(dialogService);
20
20
  }
21
- createInteractionContext(identifier, api) {
21
+ createInteractionContext(identifier, api, disableClose) {
22
22
  const config = {
23
23
  autoFocus: false,
24
24
  hasBackdrop: true,
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
47
47
  type: Inject,
48
48
  args: [MAT_DIALOG_DEFAULT_OPTIONS]
49
49
  }] }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL21hdC1kaWFsb2ctaW50ZXJhY3Rpb24vZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBQywwQkFBMEIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFaEcsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSXBELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7QUFFdEUsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDLENBQUM7QUFLbkksTUFBTSxPQUFPLCtCQUFnQyxTQUFRLDhCQUE4QjtJQUlwRDtJQUNpRDtJQUNUO0lBSjVELE1BQU0sQ0FBeUI7SUFFeEMsWUFBNkIsYUFBd0IsRUFDeUIscUJBQTJDLEVBQ3BELHNCQUE0QztRQUUvRyxLQUFLLEVBQUUsQ0FBQztRQUptQixrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUN5QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ3BELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBc0I7UUFHL0csTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsd0JBQXdCLENBQUMsVUFBa0IsRUFBRSxHQUEyQjtRQUN0RSxNQUFNLE1BQU0sR0FBb0I7WUFDOUIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixHQUFHLElBQUksQ0FBQyxzQkFBc0I7WUFDOUIsR0FBRyxJQUFJLENBQUMscUJBQXFCO1NBQzlCLENBQUM7UUFFRixPQUFPLElBQUksd0JBQXdCLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLENBQUM7dUdBdEJVLCtCQUErQiwyQ0FLVixtQ0FBbUMsNkJBQ25DLDBCQUEwQjsyR0FOL0MsK0JBQStCLGNBRjlCLE1BQU07OzJGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1jLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUNBQW1DOzswQkFDdEQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtCb29sZWFuVmFsdWVNb2RlbENoYWlufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge2Fzc2VydH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5cbmltcG9ydCB7SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7TW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5fSBmcm9tICcuLi9tb2RhbC1pbnRlcmFjdGlvbi1jb250ZXh0LmZhY3RvcnknO1xuaW1wb3J0IHtEaWFsb2dJbnRlcmFjdGlvbkNvbnRleHR9IGZyb20gJy4vZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0RGlhbG9nQ29uZmlnPGFueT4+KCdESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUycpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IGV4dGVuZHMgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IHtcblxuICByZWFkb25seSBhY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGNyZWF0ZUludGVyYWN0aW9uQ29udGV4dChpZGVudGlmaWVyOiBzdHJpbmcsIGFwaTogSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaSk6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0c1xuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dChpZGVudGlmaWVyLCBhcGksIHRoaXMuZGlhbG9nU2VydmljZSwgY29uZmlnKTtcbiAgfVxuXG5cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL21hdC1kaWFsb2ctaW50ZXJhY3Rpb24vZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBQywwQkFBMEIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFaEcsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSXBELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7QUFFdEUsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDLENBQUM7QUFLbkksTUFBTSxPQUFPLCtCQUFnQyxTQUFRLDhCQUE4QjtJQUlwRDtJQUNpRDtJQUNUO0lBSjVELE1BQU0sQ0FBeUI7SUFFeEMsWUFBNkIsYUFBd0IsRUFDeUIscUJBQTJDLEVBQ3BELHNCQUE0QztRQUUvRyxLQUFLLEVBQUUsQ0FBQztRQUptQixrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUN5QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ3BELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBc0I7UUFHL0csTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsd0JBQXdCLENBQUMsVUFBa0IsRUFBRSxHQUEyQixFQUFFLFlBQXNCO1FBQzlGLE1BQU0sTUFBTSxHQUFvQjtZQUM5QixTQUFTLEVBQUUsS0FBSztZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQjtZQUM5QixHQUFHLElBQUksQ0FBQyxxQkFBcUI7U0FDOUIsQ0FBQztRQUVGLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkYsQ0FBQzt1R0F0QlUsK0JBQStCLDJDQUtWLG1DQUFtQyw2QkFDbkMsMEJBQTBCOzJHQU4vQywrQkFBK0IsY0FGOUIsTUFBTTs7MkZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQ0FBbUM7OzBCQUN0RCxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUywgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWd9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge0Jvb2xlYW5WYWx1ZU1vZGVsQ2hhaW59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7YXNzZXJ0fSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcblxuaW1wb3J0IHtJbnRlcmFjdGlvbkNvbnRleHR9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gJy4uL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnl9IGZyb20gJy4uL21vZGFsLWludGVyYWN0aW9uLWNvbnRleHQuZmFjdG9yeSc7XG5pbXBvcnQge0RpYWxvZ0ludGVyYWN0aW9uQ29udGV4dH0gZnJvbSAnLi9kaWFsb2ctaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCBESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXREaWFsb2dDb25maWc8YW55Pj4oJ0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkgZXh0ZW5kcyBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnkge1xuXG4gIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUykgcmVhZG9ubHkgZGlhbG9nU2VydmljZURlZmF1bHRzOiBNYXREaWFsb2dDb25maWc8YW55PixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0RGlhbG9nRGVmYXVsdENvbmZpZzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICB9XG5cbiAgY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KGlkZW50aWZpZXI6IHN0cmluZywgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpLCBkaXNhYmxlQ2xvc2U/OiBib29sZWFuKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgIC4uLnRoaXMubWF0RGlhbG9nRGVmYXVsdENvbmZpZyxcbiAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzXG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0KGlkZW50aWZpZXIsIGFwaSwgdGhpcy5kaWFsb2dTZXJ2aWNlLCBjb25maWcpO1xuICB9XG5cblxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { GarbageCollector, lang } from '@coolon/pectin';
2
- import { assert, Opts } from '@coolon/typescript-utilities';
2
+ import { assert } from '@coolon/typescript-utilities';
3
3
  import { AbstractInteractionContext } from '../../abstract-interaction-context';
4
4
  import { ActivityContainerComponent } from '../../components/activity-container/activity-container.component';
5
5
  export class DialogInteractionContext extends AbstractInteractionContext {
@@ -33,13 +33,12 @@ export class DialogInteractionContext extends AbstractInteractionContext {
33
33
  isActive() {
34
34
  return !!this.activityContainer && this.activityContainer.isActive();
35
35
  }
36
- createAndLaunchActivity(activityType, data, options) {
36
+ createAndLaunchActivity(activityType, data, disableClose) {
37
37
  assert.isNil(this._currentActivityRef);
38
- const enableCloseOnBackgdropClick = Opts.get(options).getOptional('enableCloseOnBackdropClick', false);
39
38
  const config = {
40
39
  ...this.config,
41
40
  ...{
42
- disableClose: true,
41
+ disableClose,
43
42
  panelClass: 'dialog-interaction-context'
44
43
  }
45
44
  };
@@ -51,20 +50,6 @@ export class DialogInteractionContext extends AbstractInteractionContext {
51
50
  // we need to check if our onDone/onCancel methods above we called or if we were
52
51
  // closed by the user clicking the backdrop. If the later then we need to cancel our
53
52
  // activity.
54
- if (enableCloseOnBackgdropClick) {
55
- matDialogRef.backdropClick().subscribe(event => {
56
- if (this.canClose(options)) {
57
- activityContainer.cancelActiveActivity();
58
- }
59
- });
60
- }
61
- matDialogRef.keydownEvents().subscribe(event => {
62
- if (event.key === 'Escape') {
63
- if (this.canClose(options)) {
64
- activityContainer.cancelActiveActivity();
65
- }
66
- }
67
- });
68
53
  matDialogRef.afterClosed().subscribe(promiseAlreadyFinished => {
69
54
  if (activityContainer.isActive()) {
70
55
  activityContainer.cancelActiveActivity();
@@ -78,9 +63,5 @@ export class DialogInteractionContext extends AbstractInteractionContext {
78
63
  });
79
64
  return activityResult;
80
65
  }
81
- canClose(options) {
82
- const disableClose = Opts.get(options).getOptional('disableClose', false);
83
- return this.activityContainer.isActive() && (!this.activityContainer.disableClose && !disableClose);
84
- }
85
66
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUdoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUk5RyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsMEJBQTBCO0lBTWpEO0lBQ1E7SUFDQTtJQUNSO0lBUGIsT0FBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxtQkFBbUIsQ0FBNkI7SUFDaEQsaUJBQWlCLENBQTRDO0lBRXJFLFlBQXFCLFVBQWtCLEVBQ1YsR0FBMkIsRUFDM0IsYUFBd0IsRUFDaEMsTUFBdUI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFKVyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1YsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQVc7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxR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QztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBbUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEaXNwb3NhYmxlLCBHYXJiYWdlQ29sbGVjdG9yLCBsYW5nIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0LCBPcHRzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBY3Rpdml0eVJlZiB9IGZyb20gJy4uLy4uL2FjdGl2aXR5LXJlZic7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEFic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICBwcml2YXRlIGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICBwcml2YXRlIF9jdXJyZW50QWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+O1xuICBwcml2YXRlIGFjdGl2aXR5Q29udGFpbmVyOiBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDxhbnksIGFueSwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY29uZmlnOiBNYXREaWFsb2dDb25maWcpIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoZGlhbG9nU2VydmljZSk7XG4gIH1cblxuICBjYW5jZWxBY3RpdmVBY3Rpdml0eSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICB9XG5cbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnRGlzcG9zZSBjYWxsZWQgd2hpbGUgYWN0aXZlLicpO1xuICAgIH1cbiAgICB0aGlzLmdhcmJhZ2UuZGlzcG9zZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJEaXNwb3NhYmxlPFQgZXh0ZW5kcyBEaXNwb3NhYmxlPihkaXNwb3NhYmxlOiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZ2FyYmFnZS5yZWdpc3RlckRpc3Bvc2FibGUoZGlzcG9zYWJsZSk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmFjdGl2aXR5Q29udGFpbmVyICYmIHRoaXMuYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVBbmRMYXVuY2hBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBvcHRpb25zPzogSW50ZXJhY3Rpb25Db250ZXh0Lk9wdGlvbnMpOiBQcm9taXNlPFI+IHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5fY3VycmVudEFjdGl2aXR5UmVmKTtcblxuICAgIGNvbnN0IGVuYWJsZUNsb3NlT25CYWNrZ2Ryb3BDbGljayA9IE9wdHMuZ2V0KG9wdGlvbnMpLmdldE9wdGlvbmFsKCdlbmFibGVDbG9zZU9uQmFja2Ryb3BDbGljaycsIGZhbHNlKTtcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgLi4ue1xuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsIC8vIHdlJ2xsIGhhbmRsZSB0aGlzIG91cnNlbHZlc1xuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4+O1xuICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2UodGhpcy5pZGVudGlmaWVyLCB0aGlzLmFwaSk7XG4gICAgY29uc3QgYWN0aXZpdHlSZXN1bHQgPSB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLnN0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcblxuICAgIGFjdGl2aXR5UmVzdWx0LmZpbmFsbHkoKCkgPT4gbWF0RGlhbG9nUmVmLmNsb3NlKCkpO1xuICAgIC8vIHdlIG5lZWQgdG8gY2hlY2sgaWYgb3VyIG9uRG9uZS9vbkNhbmNlbCBtZXRob2RzIGFib3ZlIHdlIGNhbGxlZCBvciBpZiB3ZSB3ZXJlXG4gICAgLy8gY2xvc2VkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIHRoZSBiYWNrZHJvcC4gIElmIHRoZSBsYXRlciB0aGVuIHdlIG5lZWQgdG8gY2FuY2VsIG91clxuICAgIC8vIGFjdGl2aXR5LlxuICAgIGlmIChlbmFibGVDbG9zZU9uQmFja2dkcm9wQ2xpY2spIHtcbiAgICAgIG1hdERpYWxvZ1JlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2FuQ2xvc2Uob3B0aW9ucykpIHtcbiAgICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBtYXREaWFsb2dSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBpZiAodGhpcy5jYW5DbG9zZShvcHRpb25zKSkge1xuICAgICAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBpZiAoYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKSkge1xuICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG51bGw7XG4gICAgfSk7XG4gICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5ub3RpZnlSZWFkeSh0cnVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBhY3Rpdml0eVJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgY2FuQ2xvc2Uob3B0aW9uczogSW50ZXJhY3Rpb25Db250ZXh0Lk9wdGlvbnMpIHtcbiAgICBjb25zdCBkaXNhYmxlQ2xvc2UgPSBPcHRzLmdldChvcHRpb25zKS5nZXRPcHRpb25hbCgnZGlzYWJsZUNsb3NlJywgZmFsc2UpO1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmlzQWN0aXZlKCkgJiYgKCF0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmRpc2FibGVDbG9zZSAmJiAhZGlzYWJsZUNsb3NlKTtcbiAgfVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBNEIsZ0JBQWdCLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRzlFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBRzVHLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwwQkFBMEI7SUFNakQ7SUFDUTtJQUNBO0lBQ1I7SUFQYixPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2pDLG1CQUFtQixDQUE2QjtJQUNoRCxpQkFBaUIsQ0FBNEM7SUFFckUsWUFBcUIsVUFBa0IsRUFDVixHQUEyQixFQUMzQixhQUF3QixFQUNoQyxNQUF1QjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUpXLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDVixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUUxQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGtCQUFrQixDQUF1QixVQUFhO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVTLHVCQUF1QixDQUFVLFlBQThDLEVBQUUsSUFBTyxFQUFFLFlBQXFCO1FBQ3ZILE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFdkMsTUFBTSxNQUFNLEdBQW9CO1lBQzlCLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDZCxHQUFHO2dCQUNELFlBQVk7Z0JBQ1osVUFBVSxFQUFFLDRCQUE0QjthQUN6QztTQUNGLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQXNELENBQUM7UUFDdEksTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1FBQ2xGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFaEYsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRCxnRkFBZ0Y7UUFDaEYscUZBQXFGO1FBQ3JGLFlBQVk7UUFDWixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDNUQsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDaEMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzVELFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZywgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtDb25zdHJ1Y3RhYmxlLCBEaXNwb3NhYmxlLCBHYXJiYWdlQ29sbGVjdG9yLCBsYW5nfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge2Fzc2VydH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge0Fic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tICcuLi8uLi9hYnN0cmFjdC1pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7QWN0aXZpdHlSZWZ9IGZyb20gJy4uLy4uL2FjdGl2aXR5LXJlZic7XG5pbXBvcnQge0FjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEFic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICBwcml2YXRlIGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICBwcml2YXRlIF9jdXJyZW50QWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+O1xuICBwcml2YXRlIGFjdGl2aXR5Q29udGFpbmVyOiBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDxhbnksIGFueSwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY29uZmlnOiBNYXREaWFsb2dDb25maWcpIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoZGlhbG9nU2VydmljZSk7XG4gIH1cblxuICBjYW5jZWxBY3RpdmVBY3Rpdml0eSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICB9XG5cbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnRGlzcG9zZSBjYWxsZWQgd2hpbGUgYWN0aXZlLicpO1xuICAgIH1cbiAgICB0aGlzLmdhcmJhZ2UuZGlzcG9zZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJEaXNwb3NhYmxlPFQgZXh0ZW5kcyBEaXNwb3NhYmxlPihkaXNwb3NhYmxlOiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZ2FyYmFnZS5yZWdpc3RlckRpc3Bvc2FibGUoZGlzcG9zYWJsZSk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmFjdGl2aXR5Q29udGFpbmVyICYmIHRoaXMuYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVBbmRMYXVuY2hBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4pOiBQcm9taXNlPFI+IHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5fY3VycmVudEFjdGl2aXR5UmVmKTtcblxuICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICAuLi57XG4gICAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0J1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+PjtcbiAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IHRoaXMuYWN0aXZpdHlDb250YWluZXIgPSBtYXREaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5pbml0aWFsaXNlKHRoaXMuaWRlbnRpZmllciwgdGhpcy5hcGkpO1xuICAgIGNvbnN0IGFjdGl2aXR5UmVzdWx0ID0gdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG5cbiAgICBhY3Rpdml0eVJlc3VsdC5maW5hbGx5KCgpID0+IG1hdERpYWxvZ1JlZi5jbG9zZSgpKTtcbiAgICAvLyB3ZSBuZWVkIHRvIGNoZWNrIGlmIG91ciBvbkRvbmUvb25DYW5jZWwgbWV0aG9kcyBhYm92ZSB3ZSBjYWxsZWQgb3IgaWYgd2Ugd2VyZVxuICAgIC8vIGNsb3NlZCBieSB0aGUgdXNlciBjbGlja2luZyB0aGUgYmFja2Ryb3AuICBJZiB0aGUgbGF0ZXIgdGhlbiB3ZSBuZWVkIHRvIGNhbmNlbCBvdXJcbiAgICAvLyBhY3Rpdml0eS5cbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBpZiAoYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKSkge1xuICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG51bGw7XG4gICAgfSk7XG4gICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5ub3RpZnlSZWFkeSh0cnVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBhY3Rpdml0eVJlc3VsdDtcbiAgfVxufVxuIl19
@@ -8,16 +8,17 @@ import * as i3 from "@angular/material/list";
8
8
  import * as i4 from "@angular/material/tooltip";
9
9
  import * as i5 from "../../../directives/command.directive";
10
10
  import * as i6 from "../../../directives/garbage-collector.directive";
11
- import * as i7 from "../../../components/commands/command-face/command-face.component";
11
+ import * as i7 from "@angular/flex-layout";
12
+ import * as i8 from "../../../components/commands/command-face/command-face.component";
12
13
  export class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
13
14
  constructor(router) {
14
15
  super(router);
15
16
  }
16
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ListPlaceNavComponent, selector: "aup-list-place-nav", usesInheritance: true, ngImport: i0, template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n [attr.data-cy]=\"item.place.path\"\n >\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ListPlaceNavComponent, selector: "aup-list-place-nav", usesInheritance: true, ngImport: i0, template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i8.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
18
19
  }
19
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
20
21
  type: Component,
21
- args: [{ selector: 'aup-list-place-nav', template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n [attr.data-cy]=\"item.place.path\"\n >\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"] }]
22
+ args: [{ selector: 'aup-list-place-nav', template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"] }]
22
23
  }], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvY29tcG9uZW50cy9saXN0LXBsYWNlLW5hdi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2xpc3QtcGxhY2UtbmF2L2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFPeEYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdDQUFnQztJQUV6RSxZQUFZLE1BQW1CO1FBQzdCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO3VHQUpVLHFCQUFxQjsyRkFBckIscUJBQXFCLGlGQ1RsQyw0ZEFXQTs7MkZERmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGxhY2VSb3V0ZXJ9IGZyb20gJy4uLy4uL3BsYWNlLXJvdXRlcic7XG5pbXBvcnQge0Fic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1saXN0LXBsYWNlLW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdFBsYWNlTmF2Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcihyb3V0ZXIpO1xuICB9XG59XG4iLCI8bWF0LW5hdi1saXN0IGZ4RmxleD5cbiAgPGEgbWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXMudmFsdWU7IHRyYWNrQnk6IHRyYWNrQnlQbGFjZURlZlwiXG4gICAgIGF1cC1nYyAjZ2M9XCJhdXAtZ2NcIlxuICAgICBbcGVjdGluQ29tbWFuZF09XCJjb21tYW5kRmFjdG9yeS5jcmVhdGUoaXRlbS5wbGFjZSwge2Rpc3Bvc2VkV2l0aDogZ2N9KVwiXG4gICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICBbbWF0VG9vbHRpcF09XCJnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKS50b29sdGlwKClcIlxuICAgICBbYXR0ci5kYXRhLWN5XT1cIml0ZW0ucGxhY2UucGF0aFwiXG4gID5cbiAgICA8YXVwLWNvbW1hbmQtZmFjZSBbZmFjZXNdPVwiW2dldE5hdmlnYXRpb25GYWNlKGl0ZW0ucGxhY2UpXVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgPC9hPlxuPC9tYXQtbmF2LWxpc3Q+XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvY29tcG9uZW50cy9saXN0LXBsYWNlLW5hdi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2xpc3QtcGxhY2UtbmF2L2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7O0FBT3hGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQ0FBZ0M7SUFFekUsWUFBWSxNQUFtQjtRQUM3QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQzt1R0FKVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixpRkNUbEMsK2FBU0E7OzJGREFhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BsYWNlUm91dGVyfSBmcm9tICcuLi8uLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHtBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtbGlzdC1wbGFjZS1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpc3RQbGFjZU5hdkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFBsYWNlUm91dGVyKSB7XG4gICAgc3VwZXIocm91dGVyKTtcbiAgfVxufVxuIiwiPG1hdC1uYXYtbGlzdCBmeEZsZXg+XG4gIDxhIG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zLnZhbHVlOyB0cmFja0J5OiB0cmFja0J5UGxhY2VEZWZcIlxuICAgICBhdXAtZ2MgI2djPVwiYXVwLWdjXCJcbiAgICAgW3BlY3RpbkNvbW1hbmRdPVwiY29tbWFuZEZhY3RvcnkuY3JlYXRlKGl0ZW0ucGxhY2UsIHtkaXNwb3NlZFdpdGg6IGdjfSlcIlxuICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgW21hdFRvb2x0aXBdPVwiZ2V0TmF2aWdhdGlvbkZhY2UoaXRlbS5wbGFjZSkudG9vbHRpcCgpXCI+XG4gICAgPGF1cC1jb21tYW5kLWZhY2UgW2ZhY2VzXT1cIltnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKV1cIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gIDwvYT5cbjwvbWF0LW5hdi1saXN0PlxuIl19
@@ -1,9 +1,9 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ComponentPortal } from '@angular/cdk/portal';
3
- import { Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Optional, Output, SkipSelf, ViewChild } from '@angular/core';
3
+ import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Optional, Output, SkipSelf, ViewChild } from '@angular/core';
4
4
  import { Router, RouterOutlet } from '@angular/router';
5
5
  import { DebugContext, Dsl, lang, ListModel, MutableValueModel, Proxify, proxify, StoreInListModel, StoreInValueModel, ValueModel } from '@coolon/pectin';
6
- import { isNil } from 'lodash-es';
6
+ import { isNil } from 'lodash';
7
7
  import { DisposableComponent } from '../../../components/disposable-component';
8
8
  import { AUP_PLACE_CONFIG } from '../../place-config';
9
9
  import { PlaceRouter } from '../../place-router';
@@ -20,6 +20,7 @@ export class PlaceOutletComponent extends DisposableComponent {
20
20
  router;
21
21
  placeRouter;
22
22
  placeConfig;
23
+ cdr;
23
24
  #animate$_accessor_storage = proxify((ValueModel));
24
25
  get animate$() { return this.#animate$_accessor_storage; }
25
26
  set animate$(value) { this.#animate$_accessor_storage = value; }
@@ -53,11 +54,12 @@ export class PlaceOutletComponent extends DisposableComponent {
53
54
  animationEnabled;
54
55
  authorised;
55
56
  notAuthorisedNoticePortal;
56
- constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet) {
57
+ constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet, cdr) {
57
58
  super();
58
59
  this.router = router;
59
60
  this.placeRouter = placeRouter;
60
61
  this.placeConfig = placeConfig;
62
+ this.cdr = cdr;
61
63
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
62
64
  this.parentOutletModel = new MutableValueModel(parentOutlet);
63
65
  const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
@@ -69,7 +71,7 @@ export class PlaceOutletComponent extends DisposableComponent {
69
71
  this.placesInAnimationOrder = chain(this.customPlaceAnimationOrder$)
70
72
  .otherwise(defaultPlaceAnimationOrder);
71
73
  this.activePlaceAnimationPosition = this.placesInAnimationOrder
72
- .reduceAll((placesInOrder) => {
74
+ .reduce((placesInOrder) => {
73
75
  let placeIndex = 0;
74
76
  if (activatePlaceType.value) {
75
77
  placeIndex = placesInOrder.indexOf(activatePlaceType.value);
@@ -223,7 +225,7 @@ export class PlaceOutletComponent extends DisposableComponent {
223
225
  this.onAnimationFinishedJob = undefined;
224
226
  }
225
227
  }
226
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1.Router }, { token: i2.PlaceRouter }, { token: AUP_PLACE_CONFIG, optional: true }, { token: AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, optional: true }, { token: PlaceOutletComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1.Router }, { token: i2.PlaceRouter }, { token: AUP_PLACE_CONFIG, optional: true }, { token: AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, optional: true }, { token: PlaceOutletComponent, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
227
229
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PlaceOutletComponent, selector: "aup-place-outlet", inputs: { animate$: "animate$", animate: "animate", customPlaceAnimationOrder$: ["placeAnimationOrderModel", "customPlaceAnimationOrder$"], customPlaceAnimationOrder: ["placeAnimationOrder", "customPlaceAnimationOrder"] }, outputs: { placeChanged: "placeChanged" }, host: { properties: { "class.authorised": "this.isAuthorised" } }, viewQueries: [{ propertyName: "routerOut", first: true, predicate: ["routeOutlet"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [LEFT_RIGHT_PLACE_ANIMATION] });
228
230
  }
229
231
  __decorate([
@@ -259,7 +261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
259
261
  type: SkipSelf
260
262
  }, {
261
263
  type: Optional
262
- }] }]; }, propDecorators: { animate$: [{
264
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animate$: [{
263
265
  type: Input
264
266
  }], animate: [{
265
267
  type: Input
@@ -278,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
278
280
  type: HostBinding,
279
281
  args: ["class.authorised"]
280
282
  }] } });
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBaUIsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFHTCxZQUFZLEVBQ1osR0FBRyxFQUNILElBQUksRUFDSixTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixVQUFVLEVBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBYyxNQUFNLG9CQUFvQixDQUFDO0FBRWpFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUcvQyxPQUFPLEVBQUMsNEJBQTRCLEVB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QUNILENBQUM7dUdBeFBVLG9CQUFvQixtRUFpREMsZ0JBQWdCLDZCQUNoQix1Q0FBdUM7MkZBbEQ1RCxvQkFBb0Isb2hCQ3JEakMsK2lDQTJCQSxtNkJEd0JjLENBQUMsMEJBQTBCLENBQUM7O0FBSy9CO0lBREMsT0FBTyxFQUFFOztvREFDOEI7QUFHeEM7SUFEQyxpQkFBaUIsRUFBRTs7bURBQ0w7QUFLZjtJQUQyQixPQUFPLEVBQUU7O3NFQUMyQztBQUkvRTtJQURzQixnQkFBZ0IsRUFBRTs7cUVBQ2lDOzJGQWZ2RSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLENBQUMsMEJBQTBCLENBQUM7OzBCQW1EM0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUNuQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVDQUF1Qzs7MEJBQzFELFFBQVE7OzBCQUFJLFFBQVE7NENBaER4QixRQUFRO3NCQURoQixLQUFLO2dCQUlHLE9BQU87c0JBRGYsS0FBSztnQkFNRywwQkFBMEI7c0JBRGxDLEtBQUs7dUJBQUMsMEJBQTBCO2dCQUt4Qix5QkFBeUI7c0JBRGpDLEtBQUs7dUJBQUMscUJBQXFCO2dCQUluQixZQUFZO3NCQURwQixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQW9HdEMsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTa2lwU2VsZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWJ1Z0NvbnRleHQsXG4gIERzbCxcbiAgbGFuZyxcbiAgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFByb3hpZnksXG4gIHByb3hpZnksXG4gIFN0b3JlSW5MaXN0TW9kZWwsXG4gIFN0b3JlSW5WYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5pbXBvcnQge2lzTmlsfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gJy4uLy4uL3BsYWNlLWNvbXBvbmVudCc7XG5cbmltcG9ydCB7QVVQX1BMQUNFX0NPTkZJRywgUGxhY2VDb25maWd9IGZyb20gJy4uLy4uL3BsYWNlLWNvbmZpZyc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi4vLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQge1BsYWNlUm91dGVyfSBmcm9tICcuLi8uLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4uLy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5pbXBvcnQge05vdEF1dGhvcmlzZWROb3RpY2VDb21wb25lbnR9IGZyb20gJy4uL25vdC1hdXRob3Jpc2VkLW5vdGljZS9ub3QtYXV0aG9yaXNlZC1ub3RpY2UuY29tcG9uZW50JztcbmltcG9ydCB7TEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT059IGZyb20gJy4vcm91dGUtYW5pbWF0aW9ucyc7XG5cblxuZXhwb3J0IGNvbnN0IEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb25zdHJ1Y3RhYmxlPGFueT4+KCdBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX0NPTVBPTkVOVCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtcGxhY2Utb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYWNlLW91dGxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsYWNlLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT05dXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlT3V0bGV0Q29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBhbmltYXRlJCA9IHByb3hpZnkoVmFsdWVNb2RlbDxib29sZWFuPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3IgYW5pbWF0ZSA9IHRydWU7XG5cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgncGxhY2VBbmltYXRpb25PcmRlck1vZGVsJykgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyJCA9IHByb3hpZnkoTGlzdE1vZGVsPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+Pik7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXInKSBAU3RvcmVJbkxpc3RNb2RlbCgpXG4gIGFjY2Vzc29yIGN1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXI6ICBSZWFkb25seUFycmF5PENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgcGxhY2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFjZUNvbXBvbmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdyb3V0ZU91dGxldCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHJvdXRlck91dDogUm91dGVyT3V0bGV0O1xuXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZEpvYjogKCkgPT4gdm9pZDtcblxuXG4gIHByaXZhdGUgb3V0bGV0QWN0aXZhdGVkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGVkUm91dGVNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxBY3RpdmF0ZWRSb3V0ZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlUGxhY2VNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4oKTtcblxuICByZWFkb25seSBfYWN0aXZlUGxhY2VEZWZpbml0aW9uOiBWYWx1ZU1vZGVsQ2hhaW48UGxhY2VEZWZpbml0aW9uPjtcblxuICBwcml2YXRlIHBhcmVudE91dGxldE1vZGVsOiBNdXRhYmxlVmFsdWVNb2RlbDxQbGFjZU91dGxldENvbXBvbmVudD47XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVQbGFjZUFuaW1hdGlvblBvc2l0aW9uOiBWYWx1ZU1vZGVsQ2hhaW48bnVtYmVyPjtcblxuICBwcml2YXRlIGluaXRpYWxQbGFjZUluZGV4OiBudW1iZXIgPSBudWxsO1xuICBwcml2YXRlIGN1cnJlbnRWaXNpdFNlZ21lbnQkOiBWYWx1ZU1vZGVsQ2hhaW48VmlzaXRTZWdtZW50PjtcbiAgcHJpdmF0ZSBfaXNQdXNoaW5nVmlzaXRUb1JvdXRlciA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgbmF2aWdhdGlvbkluUHJvZ3Jlc3M6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcblxuICBwcml2YXRlIGlzVmVyeUZpcnN0TG9hZCA9IHRydWU7XG4gIHByaXZhdGUgcGxhY2VzSW5BbmltYXRpb25PcmRlcjogTGlzdE1vZGVsQ2hhaW48Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuICBwcml2YXRlIGFuaW1hdGlvblN1cHBvcnRlZDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcmVhZG9ubHkgYW5pbWF0aW9uRW5hYmxlZDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcmVhZG9ubHkgYXV0aG9yaXNlZDogVmFsdWVNb2RlbENoYWluPGJvb2xlYW4+O1xuICByZWFkb25seSBub3RBdXRob3Jpc2VkTm90aWNlUG9ydGFsOiBDb21wb25lbnRQb3J0YWw8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlcixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChBVVBfUExBQ0VfQ09ORklHKSByZWFkb25seSBwbGFjZUNvbmZpZzogUGxhY2VDb25maWcsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9OT1RJQ0VfQ09NUE9ORU5UKSB1bmF1dGhvcmlzZWRQbGFjZU5vdGljZTogQ29uc3RydWN0YWJsZTxhbnk+LFxuICAgICAgICAgICAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwYXJlbnRPdXRsZXQ6IFBsYWNlT3V0bGV0Q29tcG9uZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBsYWNlQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLnBhcmVudE91dGxldE1vZGVsKVxuICAgICAgLnB1bGxWYWx1ZU1vZGVsKG8gPT4gby5hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKVxuICAgICAgLnBsdWNrTGlzdCgnY2hpbGRyZW4nKVxuICAgICAgLnBsdWNrKCdjb21wb25lbnQnKTtcblxuICAgIGNvbnN0IGFjdGl2YXRlUGxhY2VUeXBlID0gY2hhaW4odGhpcy5hY3RpdmVQbGFjZU1vZGVsKS5tYXAocCA9PiBwLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcblxuICAgIHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQpXG4gICAgICAub3RoZXJ3aXNlKGRlZmF1bHRQbGFjZUFuaW1hdGlvbk9yZGVyKTtcblxuICAgIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbiA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlclxuICAgICAgLnJlZHVjZUFsbCgocGxhY2VzSW5PcmRlcikgPT4ge1xuICAgICAgICBsZXQgcGxhY2VJbmRleCA9IDA7XG4gICAgICAgIGlmIChhY3RpdmF0ZVBsYWNlVHlwZS52YWx1ZSkge1xuICAgICAgICAgIHBsYWNlSW5kZXggPSBwbGFjZXNJbk9yZGVyLmluZGV4T2YoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpO1xuICAgICAgICAgIGlmIChpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsUGxhY2VJbmRleCA9IHBsYWNlSW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSA/IDAgOiBwbGFjZUluZGV4IC0gdGhpcy5pbml0aWFsUGxhY2VJbmRleDtcbiAgICAgIH0sIHsgZGVwZW5kc09uOiBhY3RpdmF0ZVBsYWNlVHlwZSB9KTtcblxuICAgIHRoaXMuYW5pbWF0aW9uU3VwcG9ydGVkID0gdGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmNvdW50KCkuaXNHcmVhdGVyVGhhbigwKTtcbiAgICB0aGlzLmFuaW1hdGlvbkVuYWJsZWQgPSB2YWx1ZU9mLmFsbChcbiAgICAgIHRoaXMuYW5pbWF0ZSQsXG4gICAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZFxuICAgICkuYXJlVHJ1dGh5KCk7XG5cbiAgICAvLyBFeHRyYWN0IG91ciB2aXNpdCBtb2RlbCBmcm9tIHRoZSBwbGFjZSByb3V0ZXIuXG4gICAgdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uID0gY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VNb2RlbCkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpO1xuICAgIHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQgPSBjaGFpbihwbGFjZVJvdXRlci5hY3RpdmVWaXNpdCQpLm1hcCh2aXNpdCA9PiB2aXNpdC5nZXRTZWdtZW50Rm9yKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbi52YWx1ZSksIHsgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24gfSk7XG5cbiAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzID0gY2hhaW4odGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpO1xuXG4gICAgd2hlbih0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKS5iZWNvbWVzRmFsc2V5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcbiAgICB3aGVuKHRoaXMub3V0bGV0QWN0aXZhdGVkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucG9zdHBvbmVXaGlsZSh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKVxuICAgICAgLnN1YnNjcmliZShwbGFjZSA9PiB0aGlzLnBsYWNlQ2hhbmdlZC5lbWl0KHBsYWNlKSk7XG5cbiAgICB0aGlzLmF1dGhvcmlzZWQgPSBjaGFpbihwbGFjZVJvdXRlci5hdXRoU2VydmljZS5hY2Nlc3NHdWFyZCQpLm1hcChndWFyZCA9PiBndWFyZC5pc0F1dGhvcmlzZWQodGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uLnZhbHVlKSwge1xuICAgICAgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24sXG4gICAgICBwb3N0cG9uZVdoaWxlOiBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24pLmlzTmlsKClcbiAgICB9KS5vdGhlcndpc2UodHJ1ZSk7IC8vIGlmIHdlIGRvbid0IGhhdmUgYSBwbGFjZSBkZWYgeWV0IHdlIG5lZWQgdG8gc2hvdyB0aGUgb3V0bGV0IHNvIHdlIGdldCBvbmUgaW5qZWN0ZWQuXG5cbiAgICB0aGlzLm5vdEF1dGhvcmlzZWROb3RpY2VQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHVuYXV0aG9yaXNlZFBsYWNlTm90aWNlID8/IE5vdEF1dGhvcmlzZWROb3RpY2VDb21wb25lbnQpO1xuICB9XG5cbiAgZ2V0QW5pbWF0aW9uT3JkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbi52YWx1ZTtcbiAgfVxuXG4gIGdldCBhbmltYXRpb25EdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZUNvbmZpZyAmJiB0aGlzLnBsYWNlQ29uZmlnLmFuaW1hdGlvbkR1cmF0aW9uID8gdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA6ICc1MDBtcyc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5hdXRob3Jpc2VkXCIpXG4gIGdldCBpc0F1dGhvcmlzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aG9yaXNlZC52YWx1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldCBwYXJlbnRPdXRsZXQoKTogUGxhY2VPdXRsZXRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE91dGxldE1vZGVsLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVBsYWNlTW9kZWwoKTogVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZWRSb3V0ZU1vZGVsKCk6IFZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC5yZWFkb25seSQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldCwgcGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IHJvdXRlck91dGxldC5hY3RpdmF0ZWRSb3V0ZTtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlID0gcGxhY2U7XG4gICAgdGhpcy52YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlKTtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IHRydWU7XG4gICAgdGhpcy5jaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmFuaW1hdGUkLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBoYXMgbm90IGJlZW4gc2V0LiBBbmltYXRpb24gaXMgZGlzYWJsZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5xdWVyeSgpLmluY2x1ZGVzKHBsYWNlLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQpKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBkb2Vzbid0IGNvbnRhaW4gJHtwbGFjZS5wbGFjZURlZmluaXRpb24uY29tcG9uZW50Lm5hbWV9LmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXREZWFjdGl2YXRlZCgpIHtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IGZhbHNlO1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBjaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCByb3V0ZXJWaXNpdCA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7XG4gICAgY29uc3QgYWN0aXZlUGxhY2UgPSB0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWU7XG4gICAgaWYgKHJvdXRlclZpc2l0ICYmIGFjdGl2ZVBsYWNlICYmICFhY3RpdmVQbGFjZS5pc0luaXRpYWxpc2VkKCkpIHtcbiAgICAgIGlmIChyb3V0ZXJWaXNpdC5wbGFjZURlZmluaXRpb24gIT09IGFjdGl2ZVBsYWNlLnBsYWNlRGVmaW5pdGlvbikge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnd3JvbmcgdmlzaXQhISEnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5pdGlhbGlzZVBsYWNlKHJvdXRlclZpc2l0LCBhY3RpdmVQbGFjZSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdDogVmlzaXRTZWdtZW50LCBhY3RpdmVQbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBjb25zdCB2aXNpdE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0U2VnbWVudD4ocm91dGVyVmlzaXQpO1xuICAgIERlYnVnQ29udGV4dC50YWcodmlzaXRNb2RlbCwgYFBsYWNlT3V0bGV0Q29tcG9uZW50WyR7YWN0aXZlUGxhY2UuY29uc3RydWN0b3IubmFtZX0pXS52aXNpdE1vZGVsYCk7XG4gICAgYWN0aXZlUGxhY2UuaW5pdGlhbGlzZVZpc2l0KHJvdXRlclZpc2l0LCAoaXMsIHdhcykgPT4ge1xuICAgICAgdGhpcy5ub3RpZnlDb21wb25lbnRWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzLCB3YXMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZpbmlzaFBsYWNlTG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUuX25vdGlmeUFjdGl2ZSh0cnVlKTtcbiAgICB9O1xuICAgIGlmICghdGhpcy5hbmltYXRpb25FbmFibGVkLnZhbHVlIHx8IHRoaXMuaXNWZXJ5Rmlyc3RMb2FkKSB7XG4gICAgICAvLyBpZiBhbmltYXRpb24gaXMgZGlzYWJsZWQgb3IgdGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBsb2FkIHRoZW5cbiAgICAgIC8vIHdlIHdvbid0IGdldCBvdXIgYW5pbWF0aW9uIGRvbmUgY2FsbGJhY2sgc28gd2UgZmluaXNoIHRoZVxuICAgICAgLy8gcHJvY2VzcyBoZXJlIGFuZCBub3cuXG4gICAgICB0aGlzLmlzVmVyeUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgZmluaXNoUGxhY2VMb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IGZpbmlzaFBsYWNlTG9hZDtcbiAgICB9XG4gICAgY29uc3QgeyB3aGVuLCBjaGFpbiwgdmFsdWVPZiB9ID0gRHNsLmRpc3Bvc2VXaXRoKGFjdGl2ZVBsYWNlKTtcbiAgICB3aGVuKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpXG4gICAgICAuY2hhbmdlcyh2aXNpdCA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwicm91dGVyVmlzaXRNb2RlbC5jaGFuZ2VcIiwgeyByb3V0ZXJWaXNpdE1vZGVsOiB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWUgfSlcbiAgICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZSwgdmlzaXQpO1xuICAgICAgfSwge1xuICAgICAgICB1bmxlc3M6IHZhbHVlT2YuYW55KFxuICAgICAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIsXG4gICAgICAgICAgdGhpcy5jdXJyZW50VmlzaXRTZWdtZW50JC5pc05pbCgpXG4gICAgICAgICkuYXJlVHJ1dGh5KClcbiAgICAgIH0pO1xuICAgIC8vIGNoYWluKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpLnN1YnNjcmliZShpdCA9PiB7XG4gICAgLy8gICBpZiAoaXQpIHtcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJQbGFjZU91dGxldCBzZWdtZW50IHVwZGF0ZWRcIiwgaXQudG9EZWJ1Z1N0cmluZygpLCB7XG4gICAgLy8gICAgICAgaXNQdXNoaW5nOiB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGVyLnZhbHVlLFxuICAgIC8vICAgICAgIHNlZ21lbnQ6IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU/LnRvRGVidWdTdHJpbmcoKVxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vIH0pXG4gIH1cblxuICBwcml2YXRlIHB1c2hWaXNpdENoYW5nZVRvQ29tcG9uZW50KGFjdGl2ZVBsYWNlOiBQbGFjZUNvbXBvbmVudCwgc2VnbWVudDogVmlzaXRTZWdtZW50KSB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZU91dGxldC5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudFwiLCBzZWdtZW50LnRvRGVidWdTdHJpbmcoKSk7XG4gICAgYWN0aXZlUGxhY2UudXBkYXRlVmlzaXQoc2VnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG5vdGlmeUNvbXBvbmVudFZpc2l0U2VnbWVudENoYW5nZWQoaXM6IFZpc2l0U2VnbWVudCwgd2FzOiBWaXNpdFNlZ21lbnQpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5faXNQdXNoaW5nVmlzaXRUb1JvdXRlci52YWx1ZSA9IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLm5vdGlmeVZpc2l0U2VnbWVudENoYW5nZWQoaXMsIHdhcyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIudmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gc2FuaXRpc2VycyBtYXkgaGF2ZSBhZGp1c3RlZCBvdGhlciB2YWx1ZXMgaW4gdGhlIHZpc2l0IHRvIHdlIGNoZWNrIGFuZCB3cml0ZSBpdCBiYWNrLlxuICAgIGNvbnN0IGFuZEJlY2FtZSA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7IC8vIHRoaXMgaXMgb2NjYXNpb25hbGx5IG51bGwuLi4gbmVlZCB0byBpbnZlc3RpZ2F0ZSBpZiB0aGF0J3MgYSBub3JtYWwgc3RhdGUgb3Igbm90LlxuICAgIC8vIGNvbnNvbGUubG9nKFwiUGxhY2VPdXRsZXQubm90aWZ5Q29tcG9uZW50VmlzaXRTZWdtZW50Q2hhbmdlZFwiLCB7IGlzLCB3YXMsIGFuZEJlY2FtZSB9KVxuICAgIGlmIChhbmRCZWNhbWUgJiYgYW5kQmVjYW1lLmhhc0NoYW5nZWRGcm9tKGlzKSkge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudCh0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWUsIGFuZEJlY2FtZSlcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uU3RhcnRlZCgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyh7IGFjdGl2ZVBsYWNlOiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgW0Byb3V0ZUFuaW1hdGlvbnNdPVwie3ZhbHVlOiBnZXRBbmltYXRpb25PcmRlcigpLCBwYXJhbXM6e2R1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn19XCJcbiAgICAgICAoQHJvdXRlQW5pbWF0aW9ucy5zdGFydCk9XCJhbmltYXRpb25TdGFydGVkKClcIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCJcbiAgPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhbmltYXRpb25FbmFibGVkLnZhbHVlXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3V0ZXItb3V0bGV0LWNvbnRhaW5lclwiXG4gICAgICAgY2RrU2Nyb2xsYWJsZT5cbiAgICA8cm91dGVyLW91dGxldCAjcm91dGVyT3V0bGV0PVwib3V0bGV0XCJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwib25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJvbk91dGxldERlYWN0aXZhdGVkKClcIj5cbiAgICA8L3JvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgIGNsYXNzPVwibm90LWF1dGhvcmlzZWQtY29tcG9uZW50LWNvbnRhaW5lclwiICpuZ0lmPVwiIWF1dGhvcmlzZWQudmFsdWVcIj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwibm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBR0wsWUFBWSxFQUNaLEdBQUcsRUFDSCxJQUFJLEVBQ0osU0FBUyxFQUVULGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUM3QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQWMsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFHL0MsT0FBTyxF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c0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7U0FDekM7SUFDSCxDQUFDO3VHQXpQVSxvQkFBb0IsbUVBaURDLGdCQUFnQiw2QkFDaEIsdUNBQXVDOzJGQWxENUQsb0JBQW9CLG9oQkNyRGpDLCtpQ0EyQkEsbTZCRHdCYyxDQUFDLDBCQUEwQixDQUFDOztBQUsvQjtJQURDLE9BQU8sRUFBRTs7b0RBQzhCO0FBR3hDO0lBREMsaUJBQWlCLEVBQUU7O21EQUNMO0FBS2Y7SUFEMkIsT0FBTyxFQUFFOztzRUFDMkM7QUFJL0U7SUFEc0IsZ0JBQWdCLEVBQUU7O3FFQUNpQzsyRkFmdkUsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixDQUFDLDBCQUEwQixDQUFDOzswQkFtRDNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1Q0FBdUM7OzBCQUMxRCxRQUFROzswQkFBSSxRQUFROzRFQWhEeEIsUUFBUTtzQkFEaEIsS0FBSztnQkFJRyxPQUFPO3NCQURmLEtBQUs7Z0JBTUcsMEJBQTBCO3NCQURsQyxLQUFLO3VCQUFDLDBCQUEwQjtnQkFLeEIseUJBQXlCO3NCQURqQyxLQUFLO3VCQUFDLHFCQUFxQjtnQkFJbkIsWUFBWTtzQkFEcEIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFxR3RDLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudFBvcnRhbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LFxuICBEc2wsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHtpc05pbH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQge1BsYWNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuXG5pbXBvcnQge0FVUF9QTEFDRV9DT05GSUcsIFBsYWNlQ29uZmlnfSBmcm9tICcuLi8uLi9wbGFjZS1jb25maWcnO1xuaW1wb3J0IHtQbGFjZURlZmluaXRpb259IGZyb20gJy4uLy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHtQbGFjZVJvdXRlcn0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7VmlzaXRTZWdtZW50fSBmcm9tICcuLi8uLi92aXNpdC1zZWdtZW50JztcblxuaW1wb3J0IHtOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50fSBmcm9tICcuLi9ub3QtYXV0aG9yaXNlZC1ub3RpY2Uvbm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5cbmV4cG9ydCBjb25zdCBBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX05PVElDRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uc3RydWN0YWJsZTxhbnk+PignQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9DT01QT05FTlQnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgYW5pbWF0ZSQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8Ym9vbGVhbj4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIGFuaW1hdGUgPSB0cnVlO1xuXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQgPSBwcm94aWZ5KExpc3RNb2RlbDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj4pO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyOiAgUmVhZG9ubHlBcnJheTxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cblxuICBwcml2YXRlIG91dGxldEFjdGl2YXRlZCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG5cbiAgcHJpdmF0ZSBpbml0aWFsUGxhY2VJbmRleDogbnVtYmVyID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VmlzaXRTZWdtZW50JDogVmFsdWVNb2RlbENoYWluPFZpc2l0U2VnbWVudD47XG4gIHByaXZhdGUgX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBpc1ZlcnlGaXJzdExvYWQgPSB0cnVlO1xuICBwcml2YXRlIHBsYWNlc0luQW5pbWF0aW9uT3JkZXI6IExpc3RNb2RlbENoYWluPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgcHJpdmF0ZSBhbmltYXRpb25TdXBwb3J0ZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGFuaW1hdGlvbkVuYWJsZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGF1dGhvcmlzZWQ6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcbiAgcmVhZG9ubHkgbm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCkgdW5hdXRob3Jpc2VkUGxhY2VOb3RpY2U6IENvbnN0cnVjdGFibGU8YW55PixcbiAgICAgICAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcGFyZW50T3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBsYWNlQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLnBhcmVudE91dGxldE1vZGVsKVxuICAgICAgLnB1bGxWYWx1ZU1vZGVsKG8gPT4gby5hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKVxuICAgICAgLnBsdWNrTGlzdCgnY2hpbGRyZW4nKVxuICAgICAgLnBsdWNrKCdjb21wb25lbnQnKTtcblxuICAgIGNvbnN0IGFjdGl2YXRlUGxhY2VUeXBlID0gY2hhaW4odGhpcy5hY3RpdmVQbGFjZU1vZGVsKS5tYXAocCA9PiBwLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcblxuICAgIHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQpXG4gICAgICAub3RoZXJ3aXNlKGRlZmF1bHRQbGFjZUFuaW1hdGlvbk9yZGVyKTtcblxuICAgIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbiA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlclxuICAgICAgLnJlZHVjZSgocGxhY2VzSW5PcmRlcikgPT4ge1xuICAgICAgICBsZXQgcGxhY2VJbmRleCA9IDA7XG4gICAgICAgIGlmIChhY3RpdmF0ZVBsYWNlVHlwZS52YWx1ZSkge1xuICAgICAgICAgIHBsYWNlSW5kZXggPSBwbGFjZXNJbk9yZGVyLmluZGV4T2YoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpO1xuICAgICAgICAgIGlmIChpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsUGxhY2VJbmRleCA9IHBsYWNlSW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSA/IDAgOiBwbGFjZUluZGV4IC0gdGhpcy5pbml0aWFsUGxhY2VJbmRleDtcbiAgICAgIH0sIHsgZGVwZW5kc09uOiBhY3RpdmF0ZVBsYWNlVHlwZSB9KTtcblxuICAgIHRoaXMuYW5pbWF0aW9uU3VwcG9ydGVkID0gdGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmNvdW50KCkuaXNHcmVhdGVyVGhhbigwKTtcbiAgICB0aGlzLmFuaW1hdGlvbkVuYWJsZWQgPSB2YWx1ZU9mLmFsbChcbiAgICAgIHRoaXMuYW5pbWF0ZSQsXG4gICAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZFxuICAgICkuYXJlVHJ1dGh5KCk7XG5cbiAgICAvLyBFeHRyYWN0IG91ciB2aXNpdCBtb2RlbCBmcm9tIHRoZSBwbGFjZSByb3V0ZXIuXG4gICAgdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uID0gY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VNb2RlbCkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpO1xuICAgIHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQgPSBjaGFpbihwbGFjZVJvdXRlci5hY3RpdmVWaXNpdCQpLm1hcCh2aXNpdCA9PiB2aXNpdC5nZXRTZWdtZW50Rm9yKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbi52YWx1ZSksIHsgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24gfSk7XG5cbiAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzID0gY2hhaW4odGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpO1xuXG4gICAgd2hlbih0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKS5iZWNvbWVzRmFsc2V5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcbiAgICB3aGVuKHRoaXMub3V0bGV0QWN0aXZhdGVkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucG9zdHBvbmVXaGlsZSh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKVxuICAgICAgLnN1YnNjcmliZShwbGFjZSA9PiB0aGlzLnBsYWNlQ2hhbmdlZC5lbWl0KHBsYWNlKSk7XG5cbiAgICB0aGlzLmF1dGhvcmlzZWQgPSBjaGFpbihwbGFjZVJvdXRlci5hdXRoU2VydmljZS5hY2Nlc3NHdWFyZCQpLm1hcChndWFyZCA9PiBndWFyZC5pc0F1dGhvcmlzZWQodGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uLnZhbHVlKSwge1xuICAgICAgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24sXG4gICAgICBwb3N0cG9uZVdoaWxlOiBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24pLmlzTmlsKClcbiAgICB9KS5vdGhlcndpc2UodHJ1ZSk7IC8vIGlmIHdlIGRvbid0IGhhdmUgYSBwbGFjZSBkZWYgeWV0IHdlIG5lZWQgdG8gc2hvdyB0aGUgb3V0bGV0IHNvIHdlIGdldCBvbmUgaW5qZWN0ZWQuXG5cbiAgICB0aGlzLm5vdEF1dGhvcmlzZWROb3RpY2VQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHVuYXV0aG9yaXNlZFBsYWNlTm90aWNlID8/IE5vdEF1dGhvcmlzZWROb3RpY2VDb21wb25lbnQpO1xuICB9XG5cbiAgZ2V0QW5pbWF0aW9uT3JkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbi52YWx1ZTtcbiAgfVxuXG4gIGdldCBhbmltYXRpb25EdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZUNvbmZpZyAmJiB0aGlzLnBsYWNlQ29uZmlnLmFuaW1hdGlvbkR1cmF0aW9uID8gdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA6ICc1MDBtcyc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5hdXRob3Jpc2VkXCIpXG4gIGdldCBpc0F1dGhvcmlzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aG9yaXNlZC52YWx1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldCBwYXJlbnRPdXRsZXQoKTogUGxhY2VPdXRsZXRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE91dGxldE1vZGVsLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVBsYWNlTW9kZWwoKTogVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZWRSb3V0ZU1vZGVsKCk6IFZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC5yZWFkb25seSQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldCwgcGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IHJvdXRlck91dGxldC5hY3RpdmF0ZWRSb3V0ZTtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlID0gcGxhY2U7XG4gICAgdGhpcy52YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlKTtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IHRydWU7XG4gICAgdGhpcy5jaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmFuaW1hdGUkLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBoYXMgbm90IGJlZW4gc2V0LiBBbmltYXRpb24gaXMgZGlzYWJsZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5xdWVyeSgpLmluY2x1ZGVzKHBsYWNlLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQpKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBkb2Vzbid0IGNvbnRhaW4gJHtwbGFjZS5wbGFjZURlZmluaXRpb24uY29tcG9uZW50Lm5hbWV9LmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXREZWFjdGl2YXRlZCgpIHtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IGZhbHNlO1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBjaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCByb3V0ZXJWaXNpdCA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7XG4gICAgY29uc3QgYWN0aXZlUGxhY2UgPSB0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWU7XG4gICAgaWYgKHJvdXRlclZpc2l0ICYmIGFjdGl2ZVBsYWNlICYmICFhY3RpdmVQbGFjZS5pc0luaXRpYWxpc2VkKCkpIHtcbiAgICAgIGlmIChyb3V0ZXJWaXNpdC5wbGFjZURlZmluaXRpb24gIT09IGFjdGl2ZVBsYWNlLnBsYWNlRGVmaW5pdGlvbikge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnd3JvbmcgdmlzaXQhISEnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5pdGlhbGlzZVBsYWNlKHJvdXRlclZpc2l0LCBhY3RpdmVQbGFjZSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdDogVmlzaXRTZWdtZW50LCBhY3RpdmVQbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBjb25zdCB2aXNpdE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0U2VnbWVudD4ocm91dGVyVmlzaXQpO1xuICAgIERlYnVnQ29udGV4dC50YWcodmlzaXRNb2RlbCwgYFBsYWNlT3V0bGV0Q29tcG9uZW50WyR7YWN0aXZlUGxhY2UuY29uc3RydWN0b3IubmFtZX0pXS52aXNpdE1vZGVsYCk7XG4gICAgYWN0aXZlUGxhY2UuaW5pdGlhbGlzZVZpc2l0KHJvdXRlclZpc2l0LCAoaXMsIHdhcykgPT4ge1xuICAgICAgdGhpcy5ub3RpZnlDb21wb25lbnRWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzLCB3YXMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZpbmlzaFBsYWNlTG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUuX25vdGlmeUFjdGl2ZSh0cnVlKTtcbiAgICB9O1xuICAgIGlmICghdGhpcy5hbmltYXRpb25FbmFibGVkLnZhbHVlIHx8IHRoaXMuaXNWZXJ5Rmlyc3RMb2FkKSB7XG4gICAgICAvLyBpZiBhbmltYXRpb24gaXMgZGlzYWJsZWQgb3IgdGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBsb2FkIHRoZW5cbiAgICAgIC8vIHdlIHdvbid0IGdldCBvdXIgYW5pbWF0aW9uIGRvbmUgY2FsbGJhY2sgc28gd2UgZmluaXNoIHRoZVxuICAgICAgLy8gcHJvY2VzcyBoZXJlIGFuZCBub3cuXG4gICAgICB0aGlzLmlzVmVyeUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgZmluaXNoUGxhY2VMb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IGZpbmlzaFBsYWNlTG9hZDtcbiAgICB9XG4gICAgY29uc3QgeyB3aGVuLCBjaGFpbiwgdmFsdWVPZiB9ID0gRHNsLmRpc3Bvc2VXaXRoKGFjdGl2ZVBsYWNlKTtcbiAgICB3aGVuKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpXG4gICAgICAuY2hhbmdlcyh2aXNpdCA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwicm91dGVyVmlzaXRNb2RlbC5jaGFuZ2VcIiwgeyByb3V0ZXJWaXNpdE1vZGVsOiB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWUgfSlcbiAgICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZSwgdmlzaXQpO1xuICAgICAgfSwge1xuICAgICAgICB1bmxlc3M6IHZhbHVlT2YuYW55KFxuICAgICAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIsXG4gICAgICAgICAgdGhpcy5jdXJyZW50VmlzaXRTZWdtZW50JC5pc05pbCgpXG4gICAgICAgICkuYXJlVHJ1dGh5KClcbiAgICAgIH0pO1xuICAgIC8vIGNoYWluKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpLnN1YnNjcmliZShpdCA9PiB7XG4gICAgLy8gICBpZiAoaXQpIHtcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJQbGFjZU91dGxldCBzZWdtZW50IHVwZGF0ZWRcIiwgaXQudG9EZWJ1Z1N0cmluZygpLCB7XG4gICAgLy8gICAgICAgaXNQdXNoaW5nOiB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGVyLnZhbHVlLFxuICAgIC8vICAgICAgIHNlZ21lbnQ6IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU/LnRvRGVidWdTdHJpbmcoKVxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vIH0pXG4gIH1cblxuICBwcml2YXRlIHB1c2hWaXNpdENoYW5nZVRvQ29tcG9uZW50KGFjdGl2ZVBsYWNlOiBQbGFjZUNvbXBvbmVudCwgc2VnbWVudDogVmlzaXRTZWdtZW50KSB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZU91dGxldC5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudFwiLCBzZWdtZW50LnRvRGVidWdTdHJpbmcoKSk7XG4gICAgYWN0aXZlUGxhY2UudXBkYXRlVmlzaXQoc2VnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG5vdGlmeUNvbXBvbmVudFZpc2l0U2VnbWVudENoYW5nZWQoaXM6IFZpc2l0U2VnbWVudCwgd2FzOiBWaXNpdFNlZ21lbnQpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5faXNQdXNoaW5nVmlzaXRUb1JvdXRlci52YWx1ZSA9IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLm5vdGlmeVZpc2l0U2VnbWVudENoYW5nZWQoaXMsIHdhcyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIudmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gc2FuaXRpc2VycyBtYXkgaGF2ZSBhZGp1c3RlZCBvdGhlciB2YWx1ZXMgaW4gdGhlIHZpc2l0IHRvIHdlIGNoZWNrIGFuZCB3cml0ZSBpdCBiYWNrLlxuICAgIGNvbnN0IGFuZEJlY2FtZSA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7IC8vIHRoaXMgaXMgb2NjYXNpb25hbGx5IG51bGwuLi4gbmVlZCB0byBpbnZlc3RpZ2F0ZSBpZiB0aGF0J3MgYSBub3JtYWwgc3RhdGUgb3Igbm90LlxuICAgIC8vIGNvbnNvbGUubG9nKFwiUGxhY2VPdXRsZXQubm90aWZ5Q29tcG9uZW50VmlzaXRTZWdtZW50Q2hhbmdlZFwiLCB7IGlzLCB3YXMsIGFuZEJlY2FtZSB9KVxuICAgIGlmIChhbmRCZWNhbWUgJiYgYW5kQmVjYW1lLmhhc0NoYW5nZWRGcm9tKGlzKSkge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudCh0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWUsIGFuZEJlY2FtZSlcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uU3RhcnRlZCgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyh7IGFjdGl2ZVBsYWNlOiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgW0Byb3V0ZUFuaW1hdGlvbnNdPVwie3ZhbHVlOiBnZXRBbmltYXRpb25PcmRlcigpLCBwYXJhbXM6e2R1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn19XCJcbiAgICAgICAoQHJvdXRlQW5pbWF0aW9ucy5zdGFydCk9XCJhbmltYXRpb25TdGFydGVkKClcIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCJcbiAgPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhbmltYXRpb25FbmFibGVkLnZhbHVlXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3V0ZXItb3V0bGV0LWNvbnRhaW5lclwiXG4gICAgICAgY2RrU2Nyb2xsYWJsZT5cbiAgICA8cm91dGVyLW91dGxldCAjcm91dGVyT3V0bGV0PVwib3V0bGV0XCJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwib25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJvbk91dGxldERlYWN0aXZhdGVkKClcIj5cbiAgICA8L3JvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgIGNsYXNzPVwibm90LWF1dGhvcmlzZWQtY29tcG9uZW50LWNvbnRhaW5lclwiICpuZ0lmPVwiIWF1dGhvcmlzZWQudmFsdWVcIj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwibm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -79,7 +79,7 @@ export class SidePlaceNavigationComponent extends AbstractPlaceNavigationCompone
79
79
  this.expanded = !this.expanded;
80
80
  }
81
81
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444}:host .mdc-list-item:hover .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
83
83
  }
84
84
  __decorate([
85
85
  Proxify(),
@@ -91,7 +91,7 @@ __decorate([
91
91
  ], SidePlaceNavigationComponent.prototype, "expanded", null);
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
93
93
  type: Component,
94
- args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444}:host .mdc-list-item:hover .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"] }]
94
+ args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"] }]
95
95
  }], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; }, propDecorators: { expanded$: [{
96
96
  type: Input
97
97
  }], expanded: [{
@@ -14,7 +14,7 @@ export class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationCompo
14
14
  super(router);
15
15
  }
16
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "animationDuration"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex", "active", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "animationDuration"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex", "active", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, decorators: [{
20
20
  type: Component,