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

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 (357) hide show
  1. package/README.md +0 -4
  2. package/assets/activities/activities.scss +6 -8
  3. package/assets/activities/input-activities.scss +6 -14
  4. package/assets/form.scss +23 -77
  5. package/assets/icons.scss +1 -2
  6. package/assets/interaction/editor/inline-string-editor.scss +0 -4
  7. package/assets/interaction.scss +1 -1
  8. package/assets/styles.scss +0 -4
  9. package/assets/table.scss +30 -55
  10. package/assets/tabs.scss +2 -15
  11. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  12. package/esm2022/lib/animations/slide-animations.mjs +10 -15
  13. package/esm2022/lib/components/alignment.mjs +1 -1
  14. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
  15. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -30
  16. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
  17. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  18. package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
  19. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
  20. package/esm2022/lib/components/commands/command-face.mjs +11 -12
  21. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  22. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  23. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
  24. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  25. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
  26. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +22 -13
  27. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -17
  28. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
  29. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
  30. package/esm2022/lib/components/commands/separator.component.mjs +14 -8
  31. package/esm2022/lib/components/components.module.mjs +59 -79
  32. package/esm2022/lib/components/disposable-component.mjs +42 -38
  33. package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
  34. package/esm2022/lib/components/exports.mjs +7 -15
  35. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  36. package/esm2022/lib/components/focusable.component.mjs +5 -5
  37. package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -66
  38. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  39. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  40. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +13 -12
  41. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
  42. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +10 -10
  43. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -90
  44. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
  45. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +16 -17
  46. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
  47. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
  48. package/esm2022/lib/components/icon/icon.component.mjs +7 -10
  49. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  50. package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
  51. package/esm2022/lib/components/noop/noop.component.mjs +7 -5
  52. package/esm2022/lib/components/resize-aware.component.mjs +27 -64
  53. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  54. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  55. package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
  56. package/esm2022/lib/components/tables/abstract-table-model.mjs +63 -112
  57. package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -22
  58. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  59. package/esm2022/lib/components/tables/column/column-model.mjs +10 -21
  60. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -4
  61. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  62. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  63. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +5 -5
  64. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +5 -6
  65. package/esm2022/lib/components/tables/column/property-column-model.mjs +5 -5
  66. package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
  67. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +7 -7
  68. package/esm2022/lib/components/tables/editor/edit-session.mjs +2 -4
  69. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +1 -1
  70. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  71. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
  72. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +9 -14
  73. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -16
  74. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  75. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +1 -1
  76. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +7 -23
  77. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
  78. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
  79. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -18
  80. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +8 -11
  81. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +51 -161
  82. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +9 -9
  83. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
  84. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
  85. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
  86. package/esm2022/lib/components/tables/table/table-model.mjs +3 -12
  87. package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
  88. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
  89. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  90. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  91. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  92. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
  93. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +5 -5
  94. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  95. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
  96. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
  97. package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
  98. package/esm2022/lib/components/track.mjs +1 -1
  99. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  100. package/esm2022/lib/components/types/loadable.mjs +2 -0
  101. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  102. package/esm2022/lib/directives/command.directive.mjs +14 -25
  103. package/esm2022/lib/directives/directives.module.mjs +10 -10
  104. package/esm2022/lib/directives/exports.mjs +1 -2
  105. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -4
  106. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  107. package/esm2022/lib/directives/focus-binding.mjs +1 -1
  108. package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
  109. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  110. package/esm2022/lib/directives/highlight.pipe.mjs +11 -12
  111. package/esm2022/lib/interaction/abstract-interaction-context.mjs +7 -6
  112. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  113. package/esm2022/lib/interaction/activity.mjs +23 -23
  114. package/esm2022/lib/interaction/alert.mjs +2 -2
  115. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -13
  116. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -4
  117. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -29
  118. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
  119. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +19 -50
  120. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
  121. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
  122. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +3 -3
  123. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -4
  124. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -4
  125. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  127. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -4
  128. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
  129. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
  130. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
  131. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
  132. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  133. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  134. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +9 -9
  135. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
  136. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
  137. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
  138. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
  139. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
  140. package/esm2022/lib/interaction/confirm.mjs +2 -26
  141. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
  142. package/esm2022/lib/interaction/exports.mjs +1 -6
  143. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  144. package/esm2022/lib/interaction/interaction-context.mjs +2 -3
  145. package/esm2022/lib/interaction/interaction.module.mjs +36 -44
  146. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  147. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  148. package/esm2022/lib/interaction/services/interaction.service.mjs +10 -22
  149. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -9
  150. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -23
  151. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  152. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
  153. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
  154. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
  155. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +12 -10
  156. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  157. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +10 -15
  158. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  159. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  160. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
  161. package/esm2022/lib/place/guards/place.guard.mjs +9 -10
  162. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  163. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  164. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  166. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  167. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  168. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  169. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  170. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +3 -3
  171. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +6 -3
  172. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  173. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  174. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -2
  175. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  176. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  177. package/esm2022/lib/place/place-auth-service.mjs +6 -7
  178. package/esm2022/lib/place/place-component.mjs +58 -54
  179. package/esm2022/lib/place/place-config.mjs +1 -1
  180. package/esm2022/lib/place/place-definition.mjs +4 -15
  181. package/esm2022/lib/place/place-history.mjs +8 -6
  182. package/esm2022/lib/place/place-router.mjs +68 -84
  183. package/esm2022/lib/place/place.decorator.mjs +2 -2
  184. package/esm2022/lib/place/place.module.mjs +16 -16
  185. package/esm2022/lib/place/route/formatter.mjs +2 -2
  186. package/esm2022/lib/place/route/json-types.mjs +1 -1
  187. package/esm2022/lib/place/route/parameter-decorators.mjs +50 -54
  188. package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
  189. package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
  190. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  191. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  192. package/esm2022/lib/place/url-service.mjs +4 -4
  193. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  194. package/esm2022/lib/place/visit-segment.mjs +2 -2
  195. package/esm2022/lib/place/visit.mjs +2 -2
  196. package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
  197. package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
  198. package/esm2022/lib/services/visibility-service.mjs +7 -7
  199. package/fesm2022/coolon-angular-ui-powerups.mjs +3003 -4341
  200. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  201. package/lib/angular-ui-powerups.module.d.ts +5 -5
  202. package/lib/animations/slide-animations.d.ts +0 -1
  203. package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
  204. package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
  205. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  206. package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
  207. package/lib/components/commands/command/command.component.d.ts +10 -9
  208. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  209. package/lib/components/commands/command-face.d.ts +9 -8
  210. package/lib/components/commands/group/popup-aware.component.d.ts +4 -9
  211. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +5 -5
  212. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
  213. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +1 -3
  214. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
  215. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +7 -3
  216. package/lib/components/commands/separator.component.d.ts +4 -2
  217. package/lib/components/components.module.d.ts +53 -57
  218. package/lib/components/disposable-component.d.ts +9 -17
  219. package/lib/components/empty-state/empty-state.component.d.ts +4 -1
  220. package/lib/components/exports.d.ts +6 -14
  221. package/lib/components/forms/abstract-input.component.d.ts +7 -16
  222. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  223. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  224. package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
  225. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  226. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  227. package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
  228. package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
  229. package/lib/components/loading-container/loading-container.component.d.ts +4 -1
  230. package/lib/components/noop/noop.component.d.ts +1 -0
  231. package/lib/components/resize-aware.component.d.ts +6 -25
  232. package/lib/components/switch-case/switch-case.component.d.ts +7 -6
  233. package/lib/components/tables/abstract-table-model.d.ts +25 -50
  234. package/lib/components/tables/abstract-table.component.d.ts +5 -6
  235. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  236. package/lib/components/tables/column/column-model.d.ts +4 -8
  237. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
  238. package/lib/components/tables/column/custom-value-column-model.d.ts +2 -3
  239. package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -3
  240. package/lib/components/tables/column/list-propery-column-model.d.ts +2 -3
  241. package/lib/components/tables/column/property-column-model.d.ts +2 -3
  242. package/lib/components/tables/column/selection-column-model.d.ts +4 -10
  243. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +3 -3
  244. package/lib/components/tables/editor/edit-session.d.ts +1 -1
  245. package/lib/components/tables/editor/editable-cell-renderer.d.ts +1 -1
  246. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  247. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  248. package/lib/components/tables/renderer/cell-portal-ref.d.ts +14 -21
  249. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +1 -0
  250. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
  251. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -2
  252. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +19 -43
  253. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +3 -2
  254. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
  255. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
  256. 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} +8 -9
  257. package/lib/components/tables/table/table-model.d.ts +4 -4
  258. package/lib/components/tables/table/table.component.d.ts +11 -15
  259. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
  260. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  261. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
  262. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  263. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -3
  264. package/lib/components/tables/tree-table/tree-table-component.d.ts +2 -5
  265. package/lib/components/tables/tree-table/tree-table-model.d.ts +5 -4
  266. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  267. package/lib/components/types/loadable.d.ts +5 -0
  268. package/lib/directives/command.directive.d.ts +5 -7
  269. package/lib/directives/directives.module.d.ts +5 -5
  270. package/lib/directives/exports.d.ts +0 -1
  271. package/lib/interaction/abstract-interaction-context.d.ts +1 -1
  272. package/lib/interaction/activity-ref.d.ts +2 -2
  273. package/lib/interaction/activity.d.ts +7 -7
  274. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +1 -2
  275. package/lib/interaction/components/abstract-dialog.component.d.ts +14 -5
  276. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
  277. package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
  278. package/lib/interaction/components/activity-container/activity-container.component.d.ts +5 -11
  279. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +5 -4
  280. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  281. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
  282. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  283. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +4 -6
  284. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  285. package/lib/interaction/confirm.d.ts +0 -4
  286. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +3 -3
  287. package/lib/interaction/exports.d.ts +0 -5
  288. package/lib/interaction/interaction-context.d.ts +1 -7
  289. package/lib/interaction/interaction.module.d.ts +33 -35
  290. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +2 -2
  291. package/lib/interaction/services/interaction.service.d.ts +1 -2
  292. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +3 -2
  293. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +3 -4
  294. package/lib/place/components/abstract-place-navigation.component.d.ts +0 -1
  295. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
  296. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -3
  297. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
  298. package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
  299. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +1 -0
  300. package/lib/place/place-auth-service.d.ts +4 -4
  301. package/lib/place/place-component.d.ts +16 -8
  302. package/lib/place/place-definition.d.ts +0 -2
  303. package/lib/place/place-history.d.ts +1 -0
  304. package/lib/place/place-router.d.ts +5 -10
  305. package/lib/place/place.decorator.d.ts +1 -1
  306. package/lib/place/place.module.d.ts +8 -8
  307. package/lib/place/route/json-types.d.ts +3 -1
  308. package/lib/place/route/parameter-decorators.d.ts +4 -3
  309. package/lib/place/route/parameter-definition.d.ts +2 -2
  310. package/lib/place/route/parameter-sanitiser.d.ts +0 -7
  311. package/lib/place/visit-segment.d.ts +4 -4
  312. package/lib/place/visit.d.ts +2 -2
  313. package/lib/services/markdown/markdown.service.d.ts +1 -0
  314. package/lib/services/visibility-service.d.ts +1 -1
  315. package/package.json +19 -18
  316. package/assets/draw.scss +0 -20
  317. package/assets/layout.scss +0 -3
  318. package/assets/place.scss +0 -31
  319. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
  320. package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
  321. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  322. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  323. package/esm2022/lib/components/loadable-component.mjs +0 -69
  324. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -81
  325. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  326. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -38
  327. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
  328. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
  329. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
  330. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
  331. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
  332. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -30
  333. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  334. package/esm2022/lib/interaction/activity-context.mjs +0 -4
  335. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
  336. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
  337. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
  338. package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
  339. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
  340. package/lib/components/file/file-download/file-download.component.d.ts +0 -45
  341. package/lib/components/forms/form-field.d.ts +0 -5
  342. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  343. package/lib/components/loadable-component.d.ts +0 -20
  344. package/lib/components/tables/column/column-manager.d.ts +0 -19
  345. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  346. package/lib/components/tables/footer/footer-row-model.d.ts +0 -22
  347. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
  348. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
  349. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
  350. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
  351. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -11
  352. package/lib/directives/resize-observer.directive.d.ts +0 -16
  353. package/lib/interaction/activity-context.d.ts +0 -9
  354. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
  355. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
  356. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
  357. package/lib/interaction/interaction-context-provider.d.ts +0 -11
@@ -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,16 +33,16 @@ 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
  };
45
+ const self = this;
46
46
  const matDialogRef = this.dialogService.open(ActivityContainerComponent, config);
47
47
  const activityContainer = this.activityContainer = matDialogRef.componentInstance;
48
48
  this.activityContainer.initialise(this.identifier, this.api);
@@ -51,20 +51,6 @@ export class DialogInteractionContext extends AbstractInteractionContext {
51
51
  // we need to check if our onDone/onCancel methods above we called or if we were
52
52
  // closed by the user clicking the backdrop. If the later then we need to cancel our
53
53
  // 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
54
  matDialogRef.afterClosed().subscribe(promiseAlreadyFinished => {
69
55
  if (activityContainer.isActive()) {
70
56
  activityContainer.cancelActiveActivity();
@@ -78,9 +64,5 @@ export class DialogInteractionContext extends AbstractInteractionContext {
78
64
  });
79
65
  return activityResult;
80
66
  }
81
- canClose(options) {
82
- const disableClose = Opts.get(options).getOptional('disableClose', false);
83
- return this.activityContainer.isActive() && (!this.activityContainer.disableClose && !disableClose);
84
- }
85
67
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUdoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUk5RyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsMEJBQTBCO0lBTWpEO0lBQ1E7SUFDQTtJQUNSO0lBUGIsT0FBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxtQkFBbUIsQ0FBNkI7SUFDaEQsaUJBQWlCLENBQTRDO0lBRXJFLFlBQXFCLFVBQWtCLEVBQ1YsR0FBMkIsRUFDM0IsYUFBd0IsRUFDaEMsTUFBdUI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFKVyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1YsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQVc7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxR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QztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBbUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEaXNwb3NhYmxlLCBHYXJiYWdlQ29sbGVjdG9yLCBsYW5nIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0LCBPcHRzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBY3Rpdml0eVJlZiB9IGZyb20gJy4uLy4uL2FjdGl2aXR5LXJlZic7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEFic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICBwcml2YXRlIGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICBwcml2YXRlIF9jdXJyZW50QWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+O1xuICBwcml2YXRlIGFjdGl2aXR5Q29udGFpbmVyOiBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDxhbnksIGFueSwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY29uZmlnOiBNYXREaWFsb2dDb25maWcpIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoZGlhbG9nU2VydmljZSk7XG4gIH1cblxuICBjYW5jZWxBY3RpdmVBY3Rpdml0eSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICB9XG5cbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnRGlzcG9zZSBjYWxsZWQgd2hpbGUgYWN0aXZlLicpO1xuICAgIH1cbiAgICB0aGlzLmdhcmJhZ2UuZGlzcG9zZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJEaXNwb3NhYmxlPFQgZXh0ZW5kcyBEaXNwb3NhYmxlPihkaXNwb3NhYmxlOiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZ2FyYmFnZS5yZWdpc3RlckRpc3Bvc2FibGUoZGlzcG9zYWJsZSk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmFjdGl2aXR5Q29udGFpbmVyICYmIHRoaXMuYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVBbmRMYXVuY2hBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBvcHRpb25zPzogSW50ZXJhY3Rpb25Db250ZXh0Lk9wdGlvbnMpOiBQcm9taXNlPFI+IHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5fY3VycmVudEFjdGl2aXR5UmVmKTtcblxuICAgIGNvbnN0IGVuYWJsZUNsb3NlT25CYWNrZ2Ryb3BDbGljayA9IE9wdHMuZ2V0KG9wdGlvbnMpLmdldE9wdGlvbmFsKCdlbmFibGVDbG9zZU9uQmFja2Ryb3BDbGljaycsIGZhbHNlKTtcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgLi4ue1xuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsIC8vIHdlJ2xsIGhhbmRsZSB0aGlzIG91cnNlbHZlc1xuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4+O1xuICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2UodGhpcy5pZGVudGlmaWVyLCB0aGlzLmFwaSk7XG4gICAgY29uc3QgYWN0aXZpdHlSZXN1bHQgPSB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLnN0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcblxuICAgIGFjdGl2aXR5UmVzdWx0LmZpbmFsbHkoKCkgPT4gbWF0RGlhbG9nUmVmLmNsb3NlKCkpO1xuICAgIC8vIHdlIG5lZWQgdG8gY2hlY2sgaWYgb3VyIG9uRG9uZS9vbkNhbmNlbCBtZXRob2RzIGFib3ZlIHdlIGNhbGxlZCBvciBpZiB3ZSB3ZXJlXG4gICAgLy8gY2xvc2VkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIHRoZSBiYWNrZHJvcC4gIElmIHRoZSBsYXRlciB0aGVuIHdlIG5lZWQgdG8gY2FuY2VsIG91clxuICAgIC8vIGFjdGl2aXR5LlxuICAgIGlmIChlbmFibGVDbG9zZU9uQmFja2dkcm9wQ2xpY2spIHtcbiAgICAgIG1hdERpYWxvZ1JlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2FuQ2xvc2Uob3B0aW9ucykpIHtcbiAgICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBtYXREaWFsb2dSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBpZiAodGhpcy5jYW5DbG9zZShvcHRpb25zKSkge1xuICAgICAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBpZiAoYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKSkge1xuICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG51bGw7XG4gICAgfSk7XG4gICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5ub3RpZnlSZWFkeSh0cnVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBhY3Rpdml0eVJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgY2FuQ2xvc2Uob3B0aW9uczogSW50ZXJhY3Rpb25Db250ZXh0Lk9wdGlvbnMpIHtcbiAgICBjb25zdCBkaXNhYmxlQ2xvc2UgPSBPcHRzLmdldChvcHRpb25zKS5nZXRPcHRpb25hbCgnZGlzYWJsZUNsb3NlJywgZmFsc2UpO1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmlzQWN0aXZlKCkgJiYgKCF0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmRpc2FibGVDbG9zZSAmJiAhZGlzYWJsZUNsb3NlKTtcbiAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBbUQsZ0JBQWdCLEVBQUUsSUFBSSxFQUFTLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR2hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBRzlHLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwwQkFBMEI7SUFNakQ7SUFDUTtJQUNBO0lBQ1I7SUFQYixPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2pDLG1CQUFtQixDQUE2QjtJQUNoRCxpQkFBaUIsQ0FBNEM7SUFFckUsWUFBcUIsVUFBa0IsRUFDVixHQUEyQixFQUMzQixhQUF3QixFQUNoQyxNQUF1QjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUpXLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDVixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUUxQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGtCQUFrQixDQUF1QixVQUFhO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVTLHVCQUF1QixDQUFVLFlBQThDLEVBQUUsSUFBTyxFQUFFLFlBQXFCO1FBQ3ZILE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFdkMsTUFBTSxNQUFNLEdBQW9CO1lBQzlCLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDZCxHQUFHO2dCQUNELFlBQVk7Z0JBQ1osVUFBVSxFQUFFLDRCQUE0QjthQUN6QztTQUNGLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFzRCxDQUFDO1FBQ3RJLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWhGLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkQsZ0ZBQWdGO1FBQ2hGLHFGQUFxRjtRQUNyRixZQUFZO1FBQ1osWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzVELElBQUksaUJBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2hDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDMUM7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUM1RCxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZ0NvbmZpZyBhcyBNYXREaWFsb2dDb25maWcsIE1hdExlZ2FjeURpYWxvZ1JlZiBhcyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIERlbGVnYXRpbmdWYWx1ZU1vZGVsLCBEaXNwb3NhYmxlLCBHYXJiYWdlQ29sbGVjdG9yLCBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC1pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWN0aXZpdHlSZWYgfSBmcm9tICcuLi8uLi9hY3Rpdml0eS1yZWYnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0IGV4dGVuZHMgQWJzdHJhY3RJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIHByaXZhdGUgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHByaXZhdGUgX2N1cnJlbnRBY3Rpdml0eVJlZjogQWN0aXZpdHlSZWY8YW55LCBhbnksIGFueT47XG4gIHByaXZhdGUgYWN0aXZpdHlDb250YWluZXI6IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGksXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgICAgICAgICAgICByZWFkb25seSBjb25maWc6IE1hdERpYWxvZ0NvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdEaXNwb3NlIGNhbGxlZCB3aGlsZSBhY3RpdmUuJyk7XG4gICAgfVxuICAgIHRoaXMuZ2FyYmFnZS5kaXNwb3NlKCk7XG4gIH1cblxuICByZWdpc3RlckRpc3Bvc2FibGU8VCBleHRlbmRzIERpc3Bvc2FibGU+KGRpc3Bvc2FibGU6IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5nYXJiYWdlLnJlZ2lzdGVyRGlzcG9zYWJsZShkaXNwb3NhYmxlKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuYWN0aXZpdHlDb250YWluZXIgJiYgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5pc0FjdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUFuZExhdW5jaEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbik6IFByb21pc2U8Uj4ge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jdXJyZW50QWN0aXZpdHlSZWYpO1xuXG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICAgIC4uLntcbiAgICAgICAgZGlzYWJsZUNsb3NlLFxuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4+O1xuICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2UodGhpcy5pZGVudGlmaWVyLCB0aGlzLmFwaSk7XG4gICAgY29uc3QgYWN0aXZpdHlSZXN1bHQgPSB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLnN0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcblxuICAgIGFjdGl2aXR5UmVzdWx0LmZpbmFsbHkoKCkgPT4gbWF0RGlhbG9nUmVmLmNsb3NlKCkpO1xuICAgIC8vIHdlIG5lZWQgdG8gY2hlY2sgaWYgb3VyIG9uRG9uZS9vbkNhbmNlbCBtZXRob2RzIGFib3ZlIHdlIGNhbGxlZCBvciBpZiB3ZSB3ZXJlXG4gICAgLy8gY2xvc2VkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIHRoZSBiYWNrZHJvcC4gIElmIHRoZSBsYXRlciB0aGVuIHdlIG5lZWQgdG8gY2FuY2VsIG91clxuICAgIC8vIGFjdGl2aXR5LlxuICAgIG1hdERpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShwcm9taXNlQWxyZWFkeUZpbmlzaGVkID0+IHtcbiAgICAgIGlmIChhY3Rpdml0eUNvbnRhaW5lci5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gICAgICB9XG4gICAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyID0gbnVsbDtcbiAgICB9KTtcbiAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgIG1hdERpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZShwcm9taXNlQWxyZWFkeUZpbmlzaGVkID0+IHtcbiAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLm5vdGlmeVJlYWR5KHRydWUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGFjdGl2aXR5UmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class ModalInteractionContextFactory {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvaW50ZXJhY3Rpb24vc2VydmljZXMvbW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBZ0IsOEJBQThCO0NBR25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnRlcmFjdGlvbkNvbnRleHR9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gJy4vaW50ZXJhY3Rpb24uc2VydmljZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnkge1xuXG4gIGFic3RyYWN0IGNyZWF0ZUludGVyYWN0aW9uQ29udGV4dChpZGVudGlmaWVyOiBzdHJpbmcsIGFwaTogSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaSk6IEludGVyYWN0aW9uQ29udGV4dDtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvaW50ZXJhY3Rpb24vc2VydmljZXMvbW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBZ0IsOEJBQThCO0NBR25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IHtcblxuICBhYnN0cmFjdCBjcmVhdGVJbnRlcmFjdGlvbkNvbnRleHQoaWRlbnRpZmllcjogc3RyaW5nLCBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGkpOiBJbnRlcmFjdGlvbkNvbnRleHQ7XG59XG4iXX0=
@@ -28,21 +28,11 @@ export class AbstractPlaceNavigationComponent extends DisposableComponent {
28
28
  activePlaceDefinition;
29
29
  placeFaces = new Map();
30
30
  trackByPlaceDef = (index, data) => data.place;
31
- authorisedPlaces$;
32
31
  constructor(placeRouter) {
33
32
  super();
34
33
  this.placeRouter = placeRouter;
35
34
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
36
- this.authorisedPlaces$ = chain(this.places$)
37
- .select(placeType => {
38
- const definition = PlaceComponent.getDefinition(placeType);
39
- const guard = this.placeRouter.authService.accessGuard$.value;
40
- return guard.isAuthorised(definition) || this.placeRouter.activeVisit$.value?.isPlaceActive(definition);
41
- }, {
42
- postponeWhile: this.placeRouter.navigationInProgress$,
43
- dependsOn: [this.placeRouter.authService.accessGuard$, this.placeRouter.activeVisit$]
44
- });
45
- this.placeDefinitions = chain(this.authorisedPlaces$).map(c => PlaceComponent.getDefinition(c));
35
+ this.placeDefinitions = chain(this.places$).map(c => PlaceComponent.getDefinition(c));
46
36
  this.commandFactory = Command.createFactory((placeDefinition) => {
47
37
  this.placeRouter.navigate(placeDefinition.component);
48
38
  });
@@ -81,8 +71,8 @@ export class AbstractPlaceNavigationComponent extends DisposableComponent {
81
71
  icon: () => navItem && navItem.icon ? navItem.icon() : placeDef.getPlaceData('navIcon', null)
82
72
  };
83
73
  }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
85
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractPlaceNavigationComponent, selector: "ng-component", inputs: { places: "places", places$: "places$", placeOutlet: "placeOutlet", placeOutlet$: "placeOutlet$" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AbstractPlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AbstractPlaceNavigationComponent, selector: "ng-component", inputs: { places: "places", places$: "places$", placeOutlet: "placeOutlet", placeOutlet$: "placeOutlet$" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
86
76
  }
87
77
  __decorate([
88
78
  StoreInListModel(),
@@ -100,7 +90,7 @@ __decorate([
100
90
  Proxify(),
101
91
  __metadata("design:type", Object)
102
92
  ], AbstractPlaceNavigationComponent.prototype, "placeOutlet$", null);
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPlaceNavigationComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AbstractPlaceNavigationComponent, decorators: [{
104
94
  type: Component,
105
95
  args: [{
106
96
  template: ''
@@ -114,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
114
104
  }], placeOutlet$: [{
115
105
  type: Input
116
106
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUNMLE9BQU8sRUFFUCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFFVCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFMUUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBVTNFLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxtQkFBbUI7SUEwQmxEO0lBdkJaLHlCQUF3QztJQUF4QyxJQUFBLE1BQU0sNENBQWtDO0lBQXhDLElBQUEsTUFBTSxrREFBa0M7SUFHeEMsNEJBQVUsT0FBTyxDQUFDLENBQUEsU0FBd0MsQ0FBQSxDQUFDLENBQUM7SUFBNUQsSUFBQSxPQUFPLDZDQUFxRDtJQUE1RCxJQUFBLE9BQU8sbURBQXFEO0lBRzVELDhCQUFrQztJQUFsQyxJQUFBLFdBQVcsaURBQXVCO0lBQWxDLElBQUEsV0FBVyx1REFBdUI7SUFHbEMsaUNBQWUsT0FBTyxDQUFDLENBQUEsVUFBZ0MsQ0FBQSxDQUFDLENBQUM7SUFBekQsSUFBQSxZQUFZLGtEQUE2QztJQUF6RCxJQUFBLFlBQVksd0RBQTZDO0lBRWpELGdCQUFnQixDQUFrQztJQUMxRCxTQUFTLENBQTJCO0lBRXBDLGNBQWMsQ0FBeUM7SUFDdkQscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQWtCLENBQUMsQ0FBQztJQUM3RixxQkFBcUIsQ0FBbUM7SUFFeEQsVUFBVSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFFdEIsZUFBZSxHQUE2QixDQUFDLEtBQWEsRUFBRSxJQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUYsaUJBQWlCLENBQWdEO0lBRXpFLFlBQXFCLFdBQXdCO1FBQzNDLEtBQUssRUFBRSxDQUFDO1FBRFcsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFFM0MsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNsQixNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDOUQsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUcsQ0FBQyxFQUFFO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCO1lBQ3JELFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztTQUN0RixDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUcvRixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUU7WUFDL0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxZQUFZLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztRQUNsSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXhGLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRCxPQUFPO2dCQUNMLEtBQUssRUFBRSxDQUFDO2dCQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxLQUFLLENBQUM7YUFDL0MsQ0FBQztRQUNKLENBQUMsRUFBRTtZQUNELFNBQVMsRUFBRSxJQUFJLENBQUMscUJBQXFCO1NBQ3RDLENBQUMsQ0FBQztRQUdILHVHQUF1RztRQUN2RyxxREFBcUQ7UUFDckQsK0RBQStEO1FBQy9ELHlFQUF5RTtRQUN6RSxpREFBaUQ7SUFDbkQsQ0FBQztJQUVTLHdCQUF3QixDQUFDLE1BQTRCO1FBQzdELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUF5QjtRQUN6QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDckM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxRQUF5QjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBWSxDQUFDO1FBQ3hELE9BQU87WUFDTCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkYsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUN6RyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQzlGLENBQUM7SUFDSixDQUFDO3VHQXhGVSxnQ0FBZ0M7MkZBQWhDLGdDQUFnQyx1TEFGakMsRUFBRTs7QUFLSDtJQURDLGdCQUFnQixFQUFFOzs4REFDcUI7QUFHeEM7SUFEQyxPQUFPLEVBQUU7OytEQUNrRDtBQUc1RDtJQURDLGlCQUFpQixFQUFFOzhCQUNQLG9CQUFvQjttRUFBQztBQUdsQztJQURDLE9BQU8sRUFBRTs7b0VBQytDOzJGQVp2RCxnQ0FBZ0M7a0JBSDVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7a0dBSVUsTUFBTTtzQkFEZCxLQUFLO2dCQUlHLE9BQU87c0JBRGYsS0FBSztnQkFJRyxXQUFXO3NCQURuQixLQUFLO2dCQUlHLFlBQVk7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFRyYWNrQnlGdW5jdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb21tYW5kLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRHNsLFxuICBMaXN0TW9kZWwsXG4gIExpc3RNb2RlbENoYWluLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7Q29tbWFuZEZhY2V9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQge05hdkl0ZW19IGZyb20gJy4uL25hdi1pdGVtJztcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQge1BsYWNlUm91dGVyfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHtQbGFjZU91dGxldENvbXBvbmVudH0gZnJvbSAnLi9wbGFjZS1vdXRsZXQvcGxhY2Utb3V0bGV0LmNvbXBvbmVudCc7XG5cbmludGVyZmFjZSBNZW51SXRlbSB7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgcGxhY2U6IFBsYWNlRGVmaW5pdGlvblxufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBwbGFjZXM6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBwbGFjZXMkID0gcHJveGlmeShMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBwbGFjZU91dGxldDogUGxhY2VPdXRsZXRDb21wb25lbnQ7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBwbGFjZU91dGxldCQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbnM6IExpc3RNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG4gIHJlYWRvbmx5IG1lbnVJdGVtczogTGlzdE1vZGVsQ2hhaW48TWVudUl0ZW0+O1xuXG4gIHJlYWRvbmx5IGNvbW1hbmRGYWN0b3J5OiBDb21tYW5kLkZhY3Rvcnk8UGxhY2VEZWZpbml0aW9uLCB2b2lkPjtcbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlQ29tcG9uZW50ID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PigpKTtcbiAgcHJpdmF0ZSBhY3RpdmVQbGFjZURlZmluaXRpb246IFZhbHVlTW9kZWxDaGFpbjxQbGFjZURlZmluaXRpb24+O1xuXG4gIHByaXZhdGUgcGxhY2VGYWNlcyA9IG5ldyBNYXAoKTtcblxuICByZWFkb25seSB0cmFja0J5UGxhY2VEZWY6VHJhY2tCeUZ1bmN0aW9uPE1lbnVJdGVtPiA9IChpbmRleDogbnVtYmVyLCBkYXRhOk1lbnVJdGVtKSA9PiBkYXRhLnBsYWNlO1xuICBwcml2YXRlIGF1dGhvcmlzZWRQbGFjZXMkOiBMaXN0TW9kZWxDaGFpbjxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5hdXRob3Jpc2VkUGxhY2VzJCA9IGNoYWluKHRoaXMucGxhY2VzJClcbiAgICAgIC5zZWxlY3QocGxhY2VUeXBlID0+IHtcbiAgICAgICAgY29uc3QgZGVmaW5pdGlvbiA9IFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24ocGxhY2VUeXBlKTtcbiAgICAgICAgY29uc3QgZ3VhcmQgPSB0aGlzLnBsYWNlUm91dGVyLmF1dGhTZXJ2aWNlLmFjY2Vzc0d1YXJkJC52YWx1ZTtcbiAgICAgICAgcmV0dXJuIGd1YXJkLmlzQXV0aG9yaXNlZChkZWZpbml0aW9uKSB8fCB0aGlzLnBsYWNlUm91dGVyLmFjdGl2ZVZpc2l0JC52YWx1ZT8uaXNQbGFjZUFjdGl2ZShkZWZpbml0aW9uKTtcbiAgICAgIH0sIHtcbiAgICAgICAgcG9zdHBvbmVXaGlsZTogdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQsXG4gICAgICAgIGRlcGVuZHNPbjogW3RoaXMucGxhY2VSb3V0ZXIuYXV0aFNlcnZpY2UuYWNjZXNzR3VhcmQkLCB0aGlzLnBsYWNlUm91dGVyLmFjdGl2ZVZpc2l0JF1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5wbGFjZURlZmluaXRpb25zID0gY2hhaW4odGhpcy5hdXRob3Jpc2VkUGxhY2VzJCkubWFwKGMgPT4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihjKSlcblxuXG4gICAgdGhpcy5jb21tYW5kRmFjdG9yeSA9IENvbW1hbmQuY3JlYXRlRmFjdG9yeSgocGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pID0+IHtcbiAgICAgIHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGUocGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudCk7XG4gICAgfSk7XG5cbiAgICB3aGVuKHRoaXMucGxhY2VPdXRsZXQkKS5jaGFuZ2VzKG91dGxldCA9PiB0aGlzLmhhbmRsZVBsYWNlT3V0TGV0Q2hhbmdlZChvdXRsZXQpLCB7aW5pdGlhbFZhbHVlOiBcInRyaWdnZXJDaGFuZ2VcIn0pO1xuICAgIHRoaXMuYWN0aXZlUGxhY2VEZWZpbml0aW9uID0gY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VDb21wb25lbnQpLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKTtcblxuICAgIHRoaXMubWVudUl0ZW1zID0gY2hhaW4odGhpcy5wbGFjZURlZmluaXRpb25zKS5tYXAoZCA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwbGFjZTogZCxcbiAgICAgICAgYWN0aXZlOiB0aGlzLmFjdGl2ZVBsYWNlRGVmaW5pdGlvbi52YWx1ZSA9PT0gZFxuICAgICAgfTtcbiAgICB9LCB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuYWN0aXZlUGxhY2VEZWZpbml0aW9uXG4gICAgfSk7XG5cblxuICAgIC8vIGNvbnN0IHR4byA9IG5ldyBUcmFuc2FjdGlvbk9ic2VydmVyKHsgdmVyYm9zZTogdHJ1ZSB9KS5vbkV2ZW50KGUgPT4gY29uc29sZS5sb2coZS5uYW1lLCBlLnBheWxvYWQpKTtcbiAgICAvLyB0eG8ub2JzZXJ2ZSgndGhpcy5wbGFjZXNNb2RlbCcsIHRoaXMucGxhY2VzTW9kZWwpO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLnBsYWNlRGVmaW5pdGlvbnMnLCB0aGlzLnBsYWNlRGVmaW5pdGlvbnMpO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLmFjdGl2ZVBsYWNlRGVmaW5pdGlvbicsIHRoaXMuYWN0aXZlUGxhY2VEZWZpbml0aW9uKTtcbiAgICAvLyB0eG8ub2JzZXJ2ZSgndGhpcy5tZW51SXRlbXMnLCB0aGlzLm1lbnVJdGVtcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUGxhY2VPdXRMZXRDaGFuZ2VkKG91dGxldDogUGxhY2VPdXRsZXRDb21wb25lbnQpIHtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZUNvbXBvbmVudC5zZXREZWxlZ2F0ZShvdXRsZXQgPyBvdXRsZXQuYWN0aXZlUGxhY2VNb2RlbCA6IG51bGwpXG4gIH1cblxuICBnZXROYXZpZ2F0aW9uRmFjZShwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKTogQ29tbWFuZEZhY2Uge1xuICAgIGxldCBmYWNlID0gdGhpcy5wbGFjZUZhY2VzLmdldChwbGFjZURlZik7XG4gICAgaWYgKCFmYWNlKSB7XG4gICAgICBmYWNlID0gdGhpcy5jcmVhdGVDb21tYW5kRmFjZUZvcihwbGFjZURlZilcbiAgICAgIHRoaXMucGxhY2VGYWNlcy5zZXQocGxhY2VEZWYsIGZhY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb21tYW5kRmFjZUZvcihwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKTogQ29tbWFuZEZhY2Uge1xuICAgIGNvbnN0IG5hdkl0ZW0gPSBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdicpIGFzIE5hdkl0ZW07XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6ICgpID0+IG5hdkl0ZW0gPyBuYXZJdGVtLnRpdGxlKCkgOiBwbGFjZURlZi5zZWFyY2hQbGFjZURhdGEoWyduYXZUaXRsZScsICd0aXRsZSddKSxcbiAgICAgIHRvb2x0aXA6ICgpID0+IG5hdkl0ZW0gJiYgbmF2SXRlbS50b29sdGlwID8gbmF2SXRlbS50b29sdGlwKCkgOiBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdlRvb2x0aXAnLCBudWxsKSxcbiAgICAgIGljb246ICgpID0+IG5hdkl0ZW0gJiYgbmF2SXRlbS5pY29uID8gbmF2SXRlbS5pY29uKCkgOiBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdkljb24nLCBudWxsKVxuICAgIH07XG4gIH1cblxufVxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLE9BQU8sRUFFUCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFFVCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFMUUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBVTNFLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxtQkFBbUI7SUF5QmxEO0lBdEJaLHlCQUF3QztJQUF4QyxJQUFBLE1BQU0sNENBQWtDO0lBQXhDLElBQUEsTUFBTSxrREFBa0M7SUFHeEMsNEJBQVUsT0FBTyxDQUFDLENBQUEsU0FBd0MsQ0FBQSxDQUFDLENBQUM7SUFBNUQsSUFBQSxPQUFPLDZDQUFxRDtJQUE1RCxJQUFBLE9BQU8sbURBQXFEO0lBRzVELDhCQUFrQztJQUFsQyxJQUFBLFdBQVcsaURBQXVCO0lBQWxDLElBQUEsV0FBVyx1REFBdUI7SUFHbEMsaUNBQWUsT0FBTyxDQUFDLENBQUEsVUFBZ0MsQ0FBQSxDQUFDLENBQUM7SUFBekQsSUFBQSxZ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QUFPO1lBQ0wsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDekcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztTQUM5RixDQUFDO0lBQ0osQ0FBQzt1R0EzRVUsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0MsdUxBRmpDLEVBQUU7O0FBS0g7SUFEQyxnQkFBZ0IsRUFBRTs7OERBQ3FCO0FBR3hDO0lBREMsT0FBTyxFQUFFOzsrREFDa0Q7QUFHNUQ7SUFEQyxpQkFBaUIsRUFBRTs4QkFDUCxvQkFBb0I7bUVBQUM7QUFHbEM7SUFEQyxPQUFPLEVBQUU7O29FQUMrQzsyRkFadkQsZ0NBQWdDO2tCQUg1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO2tHQUlVLE1BQU07c0JBRGQsS0FBSztnQkFJRyxPQUFPO3NCQURmLEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsS0FBSztnQkFJRyxZQUFZO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFRyYWNrQnlGdW5jdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb21tYW5kLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRHNsLFxuICBMaXN0TW9kZWwsXG4gIExpc3RNb2RlbENoYWluLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7Q29tbWFuZEZhY2V9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQge05hdkl0ZW19IGZyb20gJy4uL25hdi1pdGVtJztcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQge1BsYWNlUm91dGVyfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHtQbGFjZU91dGxldENvbXBvbmVudH0gZnJvbSAnLi9wbGFjZS1vdXRsZXQvcGxhY2Utb3V0bGV0LmNvbXBvbmVudCc7XG5cbmludGVyZmFjZSBNZW51SXRlbSB7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgcGxhY2U6IFBsYWNlRGVmaW5pdGlvblxufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBwbGFjZXM6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBwbGFjZXMkID0gcHJveGlmeShMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBwbGFjZU91dGxldDogUGxhY2VPdXRsZXRDb21wb25lbnQ7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBwbGFjZU91dGxldCQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbnM6IExpc3RNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG4gIHJlYWRvbmx5IG1lbnVJdGVtczogTGlzdE1vZGVsQ2hhaW48TWVudUl0ZW0+O1xuXG4gIHJlYWRvbmx5IGNvbW1hbmRGYWN0b3J5OiBDb21tYW5kLkZhY3Rvcnk8UGxhY2VEZWZpbml0aW9uLCB2b2lkPjtcbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlQ29tcG9uZW50ID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PigpKTtcbiAgcHJpdmF0ZSBhY3RpdmVQbGFjZURlZmluaXRpb246IFZhbHVlTW9kZWxDaGFpbjxQbGFjZURlZmluaXRpb24+O1xuXG4gIHByaXZhdGUgcGxhY2VGYWNlcyA9IG5ldyBNYXAoKTtcblxuICByZWFkb25seSB0cmFja0J5UGxhY2VEZWY6IFRyYWNrQnlGdW5jdGlvbjxNZW51SXRlbT4gPSAoaW5kZXg6IG51bWJlciwgZGF0YTogTWVudUl0ZW0pID0+IGRhdGEucGxhY2U7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9ufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbnMgPSBjaGFpbih0aGlzLnBsYWNlcyQpLm1hcChjID0+IFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24oYykpXG5cbiAgICB0aGlzLmNvbW1hbmRGYWN0b3J5ID0gQ29tbWFuZC5jcmVhdGVGYWN0b3J5KChwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbikgPT4ge1xuICAgICAgdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0ZShwbGFjZURlZmluaXRpb24uY29tcG9uZW50KTtcbiAgICB9KTtcblxuICAgIHdoZW4odGhpcy5wbGFjZU91dGxldCQpLmNoYW5nZXMob3V0bGV0ID0+IHRoaXMuaGFuZGxlUGxhY2VPdXRMZXRDaGFuZ2VkKG91dGxldCksIHtpbml0aWFsVmFsdWU6IFwidHJpZ2dlckNoYW5nZVwifSk7XG4gICAgdGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb24gPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZUNvbXBvbmVudCkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpO1xuXG4gICAgdGhpcy5tZW51SXRlbXMgPSBjaGFpbih0aGlzLnBsYWNlRGVmaW5pdGlvbnMpLm1hcChkID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBsYWNlOiBkLFxuICAgICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlUGxhY2VEZWZpbml0aW9uLnZhbHVlID09PSBkXG4gICAgICB9O1xuICAgIH0sIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb25cbiAgICB9KTtcblxuXG4gICAgLy8gY29uc3QgdHhvID0gbmV3IFRyYW5zYWN0aW9uT2JzZXJ2ZXIoeyB2ZXJib3NlOiB0cnVlIH0pLm9uRXZlbnQoZSA9PiBjb25zb2xlLmxvZyhlLm5hbWUsIGUucGF5bG9hZCkpO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLnBsYWNlc01vZGVsJywgdGhpcy5wbGFjZXNNb2RlbCk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMucGxhY2VEZWZpbml0aW9ucycsIHRoaXMucGxhY2VEZWZpbml0aW9ucyk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMuYWN0aXZlUGxhY2VEZWZpbml0aW9uJywgdGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb24pO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLm1lbnVJdGVtcycsIHRoaXMubWVudUl0ZW1zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVQbGFjZU91dExldENoYW5nZWQob3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlQ29tcG9uZW50LnNldERlbGVnYXRlKG91dGxldCA/IG91dGxldC5hY3RpdmVQbGFjZU1vZGVsIDogbnVsbClcbiAgfVxuXG4gIGdldE5hdmlnYXRpb25GYWNlKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pOiBDb21tYW5kRmFjZSB7XG4gICAgbGV0IGZhY2UgPSB0aGlzLnBsYWNlRmFjZXMuZ2V0KHBsYWNlRGVmKTtcbiAgICBpZiAoIWZhY2UpIHtcbiAgICAgIGZhY2UgPSB0aGlzLmNyZWF0ZUNvbW1hbmRGYWNlRm9yKHBsYWNlRGVmKVxuICAgICAgdGhpcy5wbGFjZUZhY2VzLnNldChwbGFjZURlZiwgZmFjZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhY2U7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbW1hbmRGYWNlRm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pOiBDb21tYW5kRmFjZSB7XG4gICAgY29uc3QgbmF2SXRlbSA9IHBsYWNlRGVmLmdldFBsYWNlRGF0YSgnbmF2JykgYXMgTmF2SXRlbTtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogKCkgPT4gbmF2SXRlbSA/IG5hdkl0ZW0udGl0bGUoKSA6IHBsYWNlRGVmLnNlYXJjaFBsYWNlRGF0YShbJ25hdlRpdGxlJywgJ3RpdGxlJ10pLFxuICAgICAgdG9vbHRpcDogKCkgPT4gbmF2SXRlbSAmJiBuYXZJdGVtLnRvb2x0aXAgPyBuYXZJdGVtLnRvb2x0aXAoKSA6IHBsYWNlRGVmLmdldFBsYWNlRGF0YSgnbmF2VG9vbHRpcCcsIG51bGwpLFxuICAgICAgaWNvbjogKCkgPT4gbmF2SXRlbSAmJiBuYXZJdGVtLmljb24gPyBuYXZJdGVtLmljb24oKSA6IHBsYWNlRGVmLmdldFBsYWNlRGF0YSgnbmF2SWNvbicsIG51bGwpXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -4,20 +4,21 @@ import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.c
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../place-router";
6
6
  import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/material/list";
8
- import * as i4 from "@angular/material/tooltip";
7
+ import * as i3 from "@angular/material/legacy-list";
8
+ import * as i4 from "@angular/material/legacy-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
- 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"] }] });
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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.MatLegacyNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i3.MatLegacyListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatLegacyTooltip, 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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvY29tcG9uZW50cy9saXN0LXBsYWNlLW5hdi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2xpc3QtcGxhY2UtbmF2L2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7O0FBTzFGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQ0FBZ0M7SUFFekUsWUFBWSxNQUFtQjtRQUM3QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQzt1R0FKVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixpRkNUbEMsK2FBU0E7OzJGREFhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtbGlzdC1wbGFjZS1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpc3RQbGFjZU5hdkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFBsYWNlUm91dGVyKSB7XG4gICAgc3VwZXIocm91dGVyKTtcbiAgfVxufVxuIiwiPG1hdC1uYXYtbGlzdCBmeEZsZXg+XG4gIDxhIG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zLnZhbHVlOyB0cmFja0J5OiB0cmFja0J5UGxhY2VEZWZcIlxuICAgICBhdXAtZ2MgI2djPVwiYXVwLWdjXCJcbiAgICAgW3BlY3RpbkNvbW1hbmRdPVwiY29tbWFuZEZhY3RvcnkuY3JlYXRlKGl0ZW0ucGxhY2UsIHtkaXNwb3NlZFdpdGg6IGdjfSlcIlxuICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgW21hdFRvb2x0aXBdPVwiZ2V0TmF2aWdhdGlvbkZhY2UoaXRlbS5wbGFjZSkudG9vbHRpcCgpXCI+XG4gICAgPGF1cC1jb21tYW5kLWZhY2UgW2ZhY2VzXT1cIltnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKV1cIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gIDwvYT5cbjwvbWF0LW5hdi1saXN0PlxuIl19
@@ -1,11 +1,13 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class NotAuthorisedNoticeComponent {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NotAuthorisedNoticeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: NotAuthorisedNoticeComponent, selector: "aup-not-authorised-notice", ngImport: i0, template: "<p>You are not authorised to access this page</p>\n", styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] });
4
+ constructor() {
5
+ }
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: NotAuthorisedNoticeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: NotAuthorisedNoticeComponent, selector: "aup-not-authorised-notice", ngImport: i0, template: "<p>You are not authorised to access this page</p>\n", styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] });
6
8
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NotAuthorisedNoticeComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: NotAuthorisedNoticeComponent, decorators: [{
8
10
  type: Component,
9
11
  args: [{ selector: 'aup-not-authorised-notice', template: "<p>You are not authorised to access this page</p>\n", styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] }]
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL25vdC1hdXRob3Jpc2VkLW5vdGljZS9ub3QtYXV0aG9yaXNlZC1ub3RpY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFPeEMsTUFBTSxPQUFPLDRCQUE0Qjt1R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsaUVDUHpDLHFEQUNBOzsyRkRNYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtbm90LWF1dGhvcmlzZWQtbm90aWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5vdEF1dGhvcmlzZWROb3RpY2VDb21wb25lbnQge1xuXG59XG4iLCI8cD5Zb3UgYXJlIG5vdCBhdXRob3Jpc2VkIHRvIGFjY2VzcyB0aGlzIHBhZ2U8L3A+XG4iXX0=
12
+ }], ctorParameters: function () { return []; } });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL25vdC1hdXRob3Jpc2VkLW5vdGljZS9ub3QtYXV0aG9yaXNlZC1ub3RpY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QztJQUNBLENBQUM7dUdBSFUsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsaUVDUHpDLHFEQUNBOzsyRkRNYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1ub3QtYXV0aG9yaXNlZC1ub3RpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTm90QXV0aG9yaXNlZE5vdGljZUNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiIsIjxwPllvdSBhcmUgbm90IGF1dGhvcmlzZWQgdG8gYWNjZXNzIHRoaXMgcGFnZTwvcD5cbiJdfQ==
@@ -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
- import { DebugContext, Dsl, lang, ListModel, MutableValueModel, Proxify, proxify, StoreInListModel, StoreInValueModel, ValueModel } from '@coolon/pectin';
6
- import { isNil } from 'lodash-es';
5
+ import { DebugContext, Dsl, lang, ListModel, MutableValueModel, StoreInListModel, StoreInValueModel, Proxify, ValueModel, proxify } from '@coolon/pectin';
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,8 +225,8 @@ 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 });
227
- 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
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", 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 });
229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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([
230
232
  Proxify(),
@@ -242,7 +244,7 @@ __decorate([
242
244
  StoreInListModel(),
243
245
  __metadata("design:type", Array)
244
246
  ], PlaceOutletComponent.prototype, "customPlaceAnimationOrder", null);
245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, decorators: [{
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PlaceOutletComponent, decorators: [{
246
248
  type: Component,
247
249
  args: [{ selector: 'aup-place-outlet', animations: [LEFT_RIGHT_PLACE_ANIMATION], 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"] }]
248
250
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.PlaceRouter }, { type: undefined, decorators: [{
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQUUsV0FBVyxFQUN6QixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUdMLFlBQVksRUFDWixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsVUFBVSxFQUNPLE9BQU8sRUFDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRCxPQUFP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QUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztTQUN6QztJQUNILENBQUM7dUdBelBVLG9CQUFvQixtRUFpREMsZ0JBQWdCLDZCQUNoQix1Q0FBdUM7MkZBbEQ1RCxvQkFBb0Isb2hCQ3BEakMsK2lDQTJCQSxtNkJEdUJjLENBQUMsMEJBQTBCLENBQUM7O0FBSy9CO0lBREMsT0FBTyxFQUFFOztvREFDOEI7QUFHeEM7SUFEQyxpQkFBaUIsRUFBRTs7bURBQ0w7QUFLZjtJQUQyQixPQUFPLEVBQUU7O3NFQUMyQztBQUkvRTtJQURzQixnQkFBZ0IsRUFBRTs7cUVBQ2lDOzJGQWZ2RSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLENBQUMsMEJBQTBCLENBQUM7OzBCQW1EM0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUNuQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVDQUF1Qzs7MEJBQzFELFFBQVE7OzBCQUFJLFFBQVE7NEVBaER4QixRQUFRO3NCQURoQixLQUFLO2dCQUlHLE9BQU87c0JBRGYsS0FBSztnQkFNRywwQkFBMEI7c0JBRGxDLEtBQUs7dUJBQUMsMEJBQTBCO2dCQUt4Qix5QkFBeUI7c0JBRGpDLEtBQUs7dUJBQUMscUJBQXFCO2dCQUluQixZQUFZO3NCQURwQixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXFHdEMsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWJ1Z0NvbnRleHQsXG4gIERzbCxcbiAgbGFuZyxcbiAgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFN0b3JlSW5MaXN0TW9kZWwsXG4gIFN0b3JlSW5WYWx1ZU1vZGVsLCBUcmFjZSxcbiAgUHJveGlmeSxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluLCBwcm94aWZ5XG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBVVBfUExBQ0VfQ09ORklHLCBQbGFjZUNvbmZpZyB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0U2VnbWVudCB9IGZyb20gJy4uLy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5pbXBvcnQgeyBOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5cbmV4cG9ydCBjb25zdCBBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX05PVElDRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uc3RydWN0YWJsZTxhbnk+PignQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9DT01QT05FTlQnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgYW5pbWF0ZSQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8Ym9vbGVhbj4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIGFuaW1hdGUgPSB0cnVlO1xuXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQgPSBwcm94aWZ5KExpc3RNb2RlbDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj4pO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyOiAgUmVhZG9ubHlBcnJheTxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cblxuICBwcml2YXRlIG91dGxldEFjdGl2YXRlZCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG5cbiAgcHJpdmF0ZSBpbml0aWFsUGxhY2VJbmRleDogbnVtYmVyID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VmlzaXRTZWdtZW50JDogVmFsdWVNb2RlbENoYWluPFZpc2l0U2VnbWVudD47XG4gIHByaXZhdGUgX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBpc1ZlcnlGaXJzdExvYWQgPSB0cnVlO1xuICBwcml2YXRlIHBsYWNlc0luQW5pbWF0aW9uT3JkZXI6IExpc3RNb2RlbENoYWluPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgcHJpdmF0ZSBhbmltYXRpb25TdXBwb3J0ZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGFuaW1hdGlvbkVuYWJsZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGF1dGhvcmlzZWQ6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcbiAgcmVhZG9ubHkgbm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCkgdW5hdXRob3Jpc2VkUGxhY2VOb3RpY2U6IENvbnN0cnVjdGFibGU8YW55PixcbiAgICAgICAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcGFyZW50T3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBsYWNlQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLnBhcmVudE91dGxldE1vZGVsKVxuICAgICAgLnB1bGxWYWx1ZU1vZGVsKG8gPT4gby5hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKVxuICAgICAgLnBsdWNrTGlzdCgnY2hpbGRyZW4nKVxuICAgICAgLnBsdWNrKCdjb21wb25lbnQnKTtcblxuICAgIGNvbnN0IGFjdGl2YXRlUGxhY2VUeXBlID0gY2hhaW4odGhpcy5hY3RpdmVQbGFjZU1vZGVsKS5tYXAocCA9PiBwLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcblxuICAgIHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQpXG4gICAgICAub3RoZXJ3aXNlKGRlZmF1bHRQbGFjZUFuaW1hdGlvbk9yZGVyKTtcblxuICAgIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbiA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlclxuICAgICAgLnJlZHVjZSgocGxhY2VzSW5PcmRlcikgPT4ge1xuICAgICAgICBsZXQgcGxhY2VJbmRleCA9IDA7XG4gICAgICAgIGlmIChhY3RpdmF0ZVBsYWNlVHlwZS52YWx1ZSkge1xuICAgICAgICAgIHBsYWNlSW5kZXggPSBwbGFjZXNJbk9yZGVyLmluZGV4T2YoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpO1xuICAgICAgICAgIGlmIChpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsUGxhY2VJbmRleCA9IHBsYWNlSW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSA/IDAgOiBwbGFjZUluZGV4IC0gdGhpcy5pbml0aWFsUGxhY2VJbmRleDtcbiAgICAgIH0sIHsgZGVwZW5kc09uOiBhY3RpdmF0ZVBsYWNlVHlwZSB9KTtcblxuICAgIHRoaXMuYW5pbWF0aW9uU3VwcG9ydGVkID0gdGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmNvdW50KCkuaXNHcmVhdGVyVGhhbigwKTtcbiAgICB0aGlzLmFuaW1hdGlvbkVuYWJsZWQgPSB2YWx1ZU9mLmFsbChcbiAgICAgIHRoaXMuYW5pbWF0ZSQsXG4gICAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZFxuICAgICkuYXJlVHJ1dGh5KCk7XG5cbiAgICAvLyBFeHRyYWN0IG91ciB2aXNpdCBtb2RlbCBmcm9tIHRoZSBwbGFjZSByb3V0ZXIuXG4gICAgdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uID0gY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VNb2RlbCkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpO1xuICAgIHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQgPSBjaGFpbihwbGFjZVJvdXRlci5hY3RpdmVWaXNpdCQpLm1hcCh2aXNpdCA9PiB2aXNpdC5nZXRTZWdtZW50Rm9yKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbi52YWx1ZSksIHsgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24gfSk7XG5cbiAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzID0gY2hhaW4odGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpO1xuXG4gICAgd2hlbih0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKS5iZWNvbWVzRmFsc2V5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcbiAgICB3aGVuKHRoaXMub3V0bGV0QWN0aXZhdGVkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucG9zdHBvbmVXaGlsZSh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKVxuICAgICAgLnN1YnNjcmliZShwbGFjZSA9PiB0aGlzLnBsYWNlQ2hhbmdlZC5lbWl0KHBsYWNlKSk7XG5cbiAgICB0aGlzLmF1dGhvcmlzZWQgPSBjaGFpbihwbGFjZVJvdXRlci5hdXRoU2VydmljZS5hY2Nlc3NHdWFyZCQpLm1hcChndWFyZCA9PiBndWFyZC5pc0F1dGhvcmlzZWQodGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uLnZhbHVlKSwge1xuICAgICAgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24sXG4gICAgICBwb3N0cG9uZVdoaWxlOiBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24pLmlzTmlsKClcbiAgICB9KS5vdGhlcndpc2UodHJ1ZSk7IC8vIGlmIHdlIGRvbid0IGhhdmUgYSBwbGFjZSBkZWYgeWV0IHdlIG5lZWQgdG8gc2hvdyB0aGUgb3V0bGV0IHNvIHdlIGdldCBvbmUgaW5qZWN0ZWQuXG5cbiAgICB0aGlzLm5vdEF1dGhvcmlzZWROb3RpY2VQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHVuYXV0aG9yaXNlZFBsYWNlTm90aWNlID8/IE5vdEF1dGhvcmlzZWROb3RpY2VDb21wb25lbnQpO1xuICB9XG5cbiAgZ2V0QW5pbWF0aW9uT3JkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbi52YWx1ZTtcbiAgfVxuXG4gIGdldCBhbmltYXRpb25EdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZUNvbmZpZyAmJiB0aGlzLnBsYWNlQ29uZmlnLmFuaW1hdGlvbkR1cmF0aW9uID8gdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA6ICc1MDBtcyc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5hdXRob3Jpc2VkXCIpXG4gIGdldCBpc0F1dGhvcmlzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aG9yaXNlZC52YWx1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldCBwYXJlbnRPdXRsZXQoKTogUGxhY2VPdXRsZXRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE91dGxldE1vZGVsLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVBsYWNlTW9kZWwoKTogVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZWRSb3V0ZU1vZGVsKCk6IFZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC5yZWFkb25seSQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldCwgcGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IHJvdXRlck91dGxldC5hY3RpdmF0ZWRSb3V0ZTtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlID0gcGxhY2U7XG4gICAgdGhpcy52YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlKTtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IHRydWU7XG4gICAgdGhpcy5jaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmFuaW1hdGUkLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBoYXMgbm90IGJlZW4gc2V0LiBBbmltYXRpb24gaXMgZGlzYWJsZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5xdWVyeSgpLmluY2x1ZGVzKHBsYWNlLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQpKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBkb2Vzbid0IGNvbnRhaW4gJHtwbGFjZS5wbGFjZURlZmluaXRpb24uY29tcG9uZW50Lm5hbWV9LmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXREZWFjdGl2YXRlZCgpIHtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IGZhbHNlO1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBjaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCByb3V0ZXJWaXNpdCA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7XG4gICAgY29uc3QgYWN0aXZlUGxhY2UgPSB0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWU7XG4gICAgaWYgKHJvdXRlclZpc2l0ICYmIGFjdGl2ZVBsYWNlICYmICFhY3RpdmVQbGFjZS5pc0luaXRpYWxpc2VkKCkpIHtcbiAgICAgIGlmIChyb3V0ZXJWaXNpdC5wbGFjZURlZmluaXRpb24gIT09IGFjdGl2ZVBsYWNlLnBsYWNlRGVmaW5pdGlvbikge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnd3JvbmcgdmlzaXQhISEnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5pdGlhbGlzZVBsYWNlKHJvdXRlclZpc2l0LCBhY3RpdmVQbGFjZSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdDogVmlzaXRTZWdtZW50LCBhY3RpdmVQbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBjb25zdCB2aXNpdE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0U2VnbWVudD4ocm91dGVyVmlzaXQpO1xuICAgIERlYnVnQ29udGV4dC50YWcodmlzaXRNb2RlbCwgYFBsYWNlT3V0bGV0Q29tcG9uZW50WyR7YWN0aXZlUGxhY2UuY29uc3RydWN0b3IubmFtZX0pXS52aXNpdE1vZGVsYCk7XG4gICAgYWN0aXZlUGxhY2UuaW5pdGlhbGlzZVZpc2l0KHJvdXRlclZpc2l0LCAoaXMsIHdhcykgPT4ge1xuICAgICAgdGhpcy5ub3RpZnlDb21wb25lbnRWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzLCB3YXMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZpbmlzaFBsYWNlTG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUuX25vdGlmeUFjdGl2ZSh0cnVlKTtcbiAgICB9O1xuICAgIGlmICghdGhpcy5hbmltYXRpb25FbmFibGVkLnZhbHVlIHx8IHRoaXMuaXNWZXJ5Rmlyc3RMb2FkKSB7XG4gICAgICAvLyBpZiBhbmltYXRpb24gaXMgZGlzYWJsZWQgb3IgdGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBsb2FkIHRoZW5cbiAgICAgIC8vIHdlIHdvbid0IGdldCBvdXIgYW5pbWF0aW9uIGRvbmUgY2FsbGJhY2sgc28gd2UgZmluaXNoIHRoZVxuICAgICAgLy8gcHJvY2VzcyBoZXJlIGFuZCBub3cuXG4gICAgICB0aGlzLmlzVmVyeUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgZmluaXNoUGxhY2VMb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IGZpbmlzaFBsYWNlTG9hZDtcbiAgICB9XG4gICAgY29uc3QgeyB3aGVuLCBjaGFpbiwgdmFsdWVPZiB9ID0gRHNsLmRpc3Bvc2VXaXRoKGFjdGl2ZVBsYWNlKTtcbiAgICB3aGVuKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpXG4gICAgICAuY2hhbmdlcyh2aXNpdCA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwicm91dGVyVmlzaXRNb2RlbC5jaGFuZ2VcIiwgeyByb3V0ZXJWaXNpdE1vZGVsOiB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWUgfSlcbiAgICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZSwgdmlzaXQpO1xuICAgICAgfSwge1xuICAgICAgICB1bmxlc3M6IHZhbHVlT2YuYW55KFxuICAgICAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIsXG4gICAgICAgICAgdGhpcy5jdXJyZW50VmlzaXRTZWdtZW50JC5pc05pbCgpXG4gICAgICAgICkuYXJlVHJ1dGh5KClcbiAgICAgIH0pO1xuICAgIC8vIGNoYWluKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpLnN1YnNjcmliZShpdCA9PiB7XG4gICAgLy8gICBpZiAoaXQpIHtcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJQbGFjZU91dGxldCBzZWdtZW50IHVwZGF0ZWRcIiwgaXQudG9EZWJ1Z1N0cmluZygpLCB7XG4gICAgLy8gICAgICAgaXNQdXNoaW5nOiB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGVyLnZhbHVlLFxuICAgIC8vICAgICAgIHNlZ21lbnQ6IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU/LnRvRGVidWdTdHJpbmcoKVxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vIH0pXG4gIH1cblxuICBwcml2YXRlIHB1c2hWaXNpdENoYW5nZVRvQ29tcG9uZW50KGFjdGl2ZVBsYWNlOiBQbGFjZUNvbXBvbmVudCwgc2VnbWVudDogVmlzaXRTZWdtZW50KSB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZU91dGxldC5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudFwiLCBzZWdtZW50LnRvRGVidWdTdHJpbmcoKSk7XG4gICAgYWN0aXZlUGxhY2UudXBkYXRlVmlzaXQoc2VnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG5vdGlmeUNvbXBvbmVudFZpc2l0U2VnbWVudENoYW5nZWQoaXM6IFZpc2l0U2VnbWVudCwgd2FzOiBWaXNpdFNlZ21lbnQpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5faXNQdXNoaW5nVmlzaXRUb1JvdXRlci52YWx1ZSA9IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLm5vdGlmeVZpc2l0U2VnbWVudENoYW5nZWQoaXMsIHdhcyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIudmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gc2FuaXRpc2VycyBtYXkgaGF2ZSBhZGp1c3RlZCBvdGhlciB2YWx1ZXMgaW4gdGhlIHZpc2l0IHRvIHdlIGNoZWNrIGFuZCB3cml0ZSBpdCBiYWNrLlxuICAgIGNvbnN0IGFuZEJlY2FtZSA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7IC8vIHRoaXMgaXMgb2NjYXNpb25hbGx5IG51bGwuLi4gbmVlZCB0byBpbnZlc3RpZ2F0ZSBpZiB0aGF0J3MgYSBub3JtYWwgc3RhdGUgb3Igbm90LlxuICAgIC8vIGNvbnNvbGUubG9nKFwiUGxhY2VPdXRsZXQubm90aWZ5Q29tcG9uZW50VmlzaXRTZWdtZW50Q2hhbmdlZFwiLCB7IGlzLCB3YXMsIGFuZEJlY2FtZSB9KVxuICAgIGlmIChhbmRCZWNhbWUgJiYgYW5kQmVjYW1lLmhhc0NoYW5nZWRGcm9tKGlzKSkge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudCh0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWUsIGFuZEJlY2FtZSlcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uU3RhcnRlZCgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyh7IGFjdGl2ZVBsYWNlOiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgW0Byb3V0ZUFuaW1hdGlvbnNdPVwie3ZhbHVlOiBnZXRBbmltYXRpb25PcmRlcigpLCBwYXJhbXM6e2R1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn19XCJcbiAgICAgICAoQHJvdXRlQW5pbWF0aW9ucy5zdGFydCk9XCJhbmltYXRpb25TdGFydGVkKClcIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCJcbiAgPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhbmltYXRpb25FbmFibGVkLnZhbHVlXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3V0ZXItb3V0bGV0LWNvbnRhaW5lclwiXG4gICAgICAgY2RrU2Nyb2xsYWJsZT5cbiAgICA8cm91dGVyLW91dGxldCAjcm91dGVyT3V0bGV0PVwib3V0bGV0XCJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwib25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJvbk91dGxldERlYWN0aXZhdGVkKClcIj5cbiAgICA8L3JvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgIGNsYXNzPVwibm90LWF1dGhvcmlzZWQtY29tcG9uZW50LWNvbnRhaW5lclwiICpuZ0lmPVwiIWF1dGhvcmlzZWQudmFsdWVcIj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwibm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -42,4 +42,4 @@ export function leftRightPlaceAnimation(duration) {
42
42
  ]);
43
43
  }
44
44
  export const LEFT_RIGHT_PLACE_ANIMATION = leftRightPlaceAnimation('0.3s');
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3JvdXRlLWFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdEYscUVBQXFFO0FBQ3JFLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUUxRyxNQUFNLElBQUksR0FBRztJQUNYLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxLQUFLLENBQUM7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7WUFDekMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7U0FDekUsRUFBRTtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDZCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUMzRSxFQUFFO1lBQ0QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLEtBQUssR0FBRztJQUNaLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxLQUFLLENBQUM7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUN6RSxFQUFFO1lBQ0QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQztnQkFDOUYsU0FBUyxFQUFFLG1CQUFtQjtnQkFDOUIsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNKLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFFBQWdCO0lBQ3RELE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ2hDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDbkUsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztLQUNuRSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIGdyb3VwLCBxdWVyeSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG4vLyBGcmVlemVzIHRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50cyBhdCB0aGUgc3RhcnQgb2YgdGhlIGFuaW1hdGlvbi5cbmNvbnN0IGFuaW1hdGlvblN0YXJ0U3R5bGUgPSBzdHlsZSh7IHBvc2l0aW9uOiAnYWJzb2x1dGUnLCB0b3A6ICcwJywgbGVmdDogJzAnLCBib3R0b206ICcwJywgcmlnaHQ6ICcwJyB9KTtcblxuY29uc3QgbGVmdCA9IFtcbiAgcXVlcnkoJzplbnRlciwgOmxlYXZlJywgYW5pbWF0aW9uU3RhcnRTdHlsZSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgZ3JvdXAoW1xuICAgIHF1ZXJ5KCc6ZW50ZXInLCBbXG4gICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9KSxcbiAgICAgIGFuaW1hdGUoJ3t7ZHVyYXRpb259fSBlYXNlLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pKVxuICAgIF0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSksXG4gICAgcXVlcnkoJzpsZWF2ZScsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSlcbiAgICBdLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pXG4gIF0pXG5dO1xuXG5jb25zdCByaWdodCA9IFtcbiAgcXVlcnkoJzplbnRlciwgOmxlYXZlJywgYW5pbWF0aW9uU3RhcnRTdHlsZSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgZ3JvdXAoW1xuICAgIHF1ZXJ5KCc6ZW50ZXInLCBbXG4gICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknLCBtaW5IZWlnaHQ6ICcxcHgnIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXG4gICAgXSwge1xuICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KSxcbiAgICBxdWVyeSgnOmxlYXZlJywgW3N0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pLCBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7XG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScsXG4gICAgICBtaW5IZWlnaHQ6ICcxcHgnXG4gICAgfSkpXSwge1xuICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KVxuICBdKVxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxlZnRSaWdodFBsYWNlQW5pbWF0aW9uKGR1cmF0aW9uOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHRyaWdnZXIoJ3JvdXRlQW5pbWF0aW9ucycsIFtcbiAgICB0cmFuc2l0aW9uKCc6aW5jcmVtZW50JywgcmlnaHQsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9IH0pLFxuICAgIHRyYW5zaXRpb24oJzpkZWNyZW1lbnQnLCBsZWZ0LCB7IHBhcmFtczogeyBkdXJhdGlvbjogZHVyYXRpb24gfSB9KVxuICBdKTtcbn1cblxuZXhwb3J0IGNvbnN0IExFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OID0gbGVmdFJpZ2h0UGxhY2VBbmltYXRpb24oJzAuM3MnKTtcbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3JvdXRlLWFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEYscUVBQXFFO0FBQ3JFLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUUxRyxNQUFNLElBQUksR0FBRztJQUNYLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxLQUFLLENBQUM7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7WUFDekMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7U0FDekUsRUFBRTtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDZCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUMzRSxFQUFFO1lBQ0QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLEtBQUssR0FBRztJQUNaLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxLQUFLLENBQUM7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUN6RSxFQUFFO1lBQ0QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQztnQkFDOUYsU0FBUyxFQUFFLG1CQUFtQjtnQkFDOUIsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNKLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFFBQWdCO0lBQ3RELE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ2hDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDbkUsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztLQUNuRSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8vIEZyZWV6ZXMgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnRzIGF0IHRoZSBzdGFydCBvZiB0aGUgYW5pbWF0aW9uLlxuY29uc3QgYW5pbWF0aW9uU3RhcnRTdHlsZSA9IHN0eWxlKHsgcG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzAnLCBsZWZ0OiAnMCcsIGJvdHRvbTogJzAnLCByaWdodDogJzAnIH0pO1xuXG5jb25zdCBsZWZ0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXG4gICAgXSwge1xuICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KSxcbiAgICBxdWVyeSgnOmxlYXZlJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKVxuICAgIF0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSlcbiAgXSlcbl07XG5cbmNvbnN0IHJpZ2h0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsIG1pbkhlaWdodDogJzFweCcgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSlcbiAgICBdLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pLFxuICAgIHF1ZXJ5KCc6bGVhdmUnLCBbc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksIGFuaW1hdGUoJ3t7ZHVyYXRpb259fSBlYXNlLW91dCcsIHN0eWxlKHtcbiAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyxcbiAgICAgIG1pbkhlaWdodDogJzFweCdcbiAgICB9KSldLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pXG4gIF0pXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gbGVmdFJpZ2h0UGxhY2VBbmltYXRpb24oZHVyYXRpb246IHN0cmluZykge1xuICByZXR1cm4gdHJpZ2dlcigncm91dGVBbmltYXRpb25zJywgW1xuICAgIHRyYW5zaXRpb24oJzppbmNyZW1lbnQnLCByaWdodCwgeyBwYXJhbXM6IHsgZHVyYXRpb246IGR1cmF0aW9uIH0gfSksXG4gICAgdHJhbnNpdGlvbignOmRlY3JlbWVudCcsIGxlZnQsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9IH0pXG4gIF0pO1xufVxuXG5leHBvcnQgY29uc3QgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gPSBsZWZ0UmlnaHRQbGFjZUFuaW1hdGlvbignMC4zcycpO1xuIl19