@dereekb/dbx-web 10.1.30 → 11.0.0

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 (454) hide show
  1. package/calendar/esm2022/lib/calendar.base.component.mjs +27 -30
  2. package/calendar/esm2022/lib/calendar.component.mjs +21 -24
  3. package/calendar/esm2022/lib/calendar.module.mjs +9 -9
  4. package/calendar/esm2022/lib/calendar.store.mjs +89 -89
  5. package/calendar/fesm2022/dereekb-dbx-web-calendar.mjs +137 -141
  6. package/calendar/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -1
  7. package/calendar/lib/calendar.base.component.d.ts +0 -1
  8. package/calendar/lib/calendar.component.d.ts +1 -2
  9. package/calendar/package.json +1 -1
  10. package/esm2022/calendar/lib/calendar.base.component.mjs +27 -30
  11. package/esm2022/calendar/lib/calendar.component.mjs +21 -24
  12. package/esm2022/calendar/lib/calendar.module.mjs +9 -9
  13. package/esm2022/calendar/lib/calendar.store.mjs +89 -89
  14. package/esm2022/lib/action/action.confirm.directive.mjs +8 -15
  15. package/esm2022/lib/action/action.module.mjs +4 -4
  16. package/esm2022/lib/action/key.trigger.directive.mjs +7 -11
  17. package/esm2022/lib/action/snackbar/action.snackbar.component.mjs +40 -48
  18. package/esm2022/lib/action/snackbar/action.snackbar.directive.mjs +10 -14
  19. package/esm2022/lib/action/snackbar/action.snackbar.module.mjs +4 -4
  20. package/esm2022/lib/action/snackbar/action.snackbar.service.mjs +14 -21
  21. package/esm2022/lib/action/transition/action.transition.module.mjs +4 -4
  22. package/esm2022/lib/action/transition/transition.safety.dialog.component.mjs +11 -14
  23. package/esm2022/lib/action/transition/transition.safety.directive.mjs +15 -20
  24. package/esm2022/lib/button/button.component.mjs +10 -9
  25. package/esm2022/lib/button/button.module.mjs +4 -4
  26. package/esm2022/lib/button/button.spacer.component.mjs +3 -3
  27. package/esm2022/lib/button/icon/icon.button.component.mjs +4 -4
  28. package/esm2022/lib/button/icon/icon.button.module.mjs +6 -6
  29. package/esm2022/lib/button/progress/bar.button.component.mjs +4 -7
  30. package/esm2022/lib/button/progress/base.progress.button.directive.mjs +45 -53
  31. package/esm2022/lib/button/progress/button.progress.module.mjs +4 -4
  32. package/esm2022/lib/button/progress/spinner.button.component.mjs +15 -17
  33. package/esm2022/lib/dbx-web.module.mjs +4 -4
  34. package/esm2022/lib/error/default.error.widget.component.mjs +4 -4
  35. package/esm2022/lib/error/error.action.directive.mjs +7 -14
  36. package/esm2022/lib/error/error.component.mjs +57 -62
  37. package/esm2022/lib/error/error.details.component.mjs +5 -4
  38. package/esm2022/lib/error/error.loading.directive.mjs +6 -12
  39. package/esm2022/lib/error/error.module.mjs +5 -5
  40. package/esm2022/lib/error/error.popover.component.mjs +4 -4
  41. package/esm2022/lib/error/error.snackbar.action.directive.mjs +8 -12
  42. package/esm2022/lib/error/error.snackbar.component.mjs +16 -22
  43. package/esm2022/lib/error/error.snackbar.service.mjs +12 -15
  44. package/esm2022/lib/error/error.view.component.mjs +12 -7
  45. package/esm2022/lib/error/error.widget.component.mjs +33 -36
  46. package/esm2022/lib/error/error.widget.directive.mjs +6 -11
  47. package/esm2022/lib/error/error.widget.service.mjs +4 -4
  48. package/esm2022/lib/extension/download/text/download.text.component.mjs +79 -82
  49. package/esm2022/lib/extension/download/text/download.text.module.mjs +6 -6
  50. package/esm2022/lib/extension/model/model.module.mjs +11 -11
  51. package/esm2022/lib/extension/model/model.state.service.mjs +6 -9
  52. package/esm2022/lib/extension/model/model.tracker.service.mjs +11 -13
  53. package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +13 -13
  54. package/esm2022/lib/extension/model/model.types.service.mjs +34 -36
  55. package/esm2022/lib/extension/model/state/effects/tracker.effects.mjs +13 -17
  56. package/esm2022/lib/extension/structure/structure.body.directive.mjs +4 -4
  57. package/esm2022/lib/extension/structure/structure.module.mjs +6 -6
  58. package/esm2022/lib/extension/structure/structure.structure.directive.mjs +8 -10
  59. package/esm2022/lib/extension/widget/widget.component.mjs +22 -25
  60. package/esm2022/lib/extension/widget/widget.directive.mjs +6 -11
  61. package/esm2022/lib/extension/widget/widget.list.component.mjs +17 -20
  62. package/esm2022/lib/extension/widget/widget.module.mjs +6 -6
  63. package/esm2022/lib/extension/widget/widget.service.mjs +4 -6
  64. package/esm2022/lib/interaction/dialog/abstract.dialog.directive.mjs +8 -21
  65. package/esm2022/lib/interaction/dialog/dialog.action.directive.mjs +11 -10
  66. package/esm2022/lib/interaction/dialog/dialog.content.close.component.mjs +6 -8
  67. package/esm2022/lib/interaction/dialog/dialog.content.component.mjs +4 -6
  68. package/esm2022/lib/interaction/dialog/dialog.content.footer.component.mjs +7 -9
  69. package/esm2022/lib/interaction/dialog/dialog.module.mjs +4 -4
  70. package/esm2022/lib/interaction/filter/filter.module.mjs +6 -6
  71. package/esm2022/lib/interaction/filter/filter.partial.list.component.mjs +4 -4
  72. package/esm2022/lib/interaction/filter/filter.partial.menu.component.mjs +6 -9
  73. package/esm2022/lib/interaction/filter/filter.partial.mjs +24 -27
  74. package/esm2022/lib/interaction/filter/filter.popover.button.component.mjs +7 -8
  75. package/esm2022/lib/interaction/filter/filter.popover.button.directive.mjs +7 -10
  76. package/esm2022/lib/interaction/filter/filter.popover.component.mjs +52 -57
  77. package/esm2022/lib/interaction/filter/filter.preset.directive.mjs +90 -0
  78. package/esm2022/lib/interaction/filter/filter.preset.list.component.mjs +6 -6
  79. package/esm2022/lib/interaction/filter/filter.preset.menu.component.mjs +8 -11
  80. package/esm2022/lib/interaction/filter/filter.wrapper.component.mjs +15 -15
  81. package/esm2022/lib/interaction/interaction.module.mjs +4 -4
  82. package/esm2022/lib/interaction/popover/abstract.popover.directive.mjs +6 -9
  83. package/esm2022/lib/interaction/popover/abstract.popover.ref.directive.mjs +8 -10
  84. package/esm2022/lib/interaction/popover/popover.action.directive.mjs +11 -10
  85. package/esm2022/lib/interaction/popover/popover.close.component.mjs +9 -12
  86. package/esm2022/lib/interaction/popover/popover.component.mjs +27 -27
  87. package/esm2022/lib/interaction/popover/popover.content.component.mjs +8 -10
  88. package/esm2022/lib/interaction/popover/popover.content.module.mjs +4 -4
  89. package/esm2022/lib/interaction/popover/popover.controls.directive.mjs +9 -11
  90. package/esm2022/lib/interaction/popover/popover.coordinator.component.mjs +14 -17
  91. package/esm2022/lib/interaction/popover/popover.coordinator.service.mjs +5 -7
  92. package/esm2022/lib/interaction/popover/popover.header.component.mjs +15 -15
  93. package/esm2022/lib/interaction/popover/popover.module.mjs +4 -4
  94. package/esm2022/lib/interaction/popover/popover.scroll.content.component.mjs +7 -10
  95. package/esm2022/lib/interaction/popover/popover.service.mjs +8 -11
  96. package/esm2022/lib/interaction/popup/abstract.popup.directive.mjs +6 -9
  97. package/esm2022/lib/interaction/popup/popup.component.mjs +25 -24
  98. package/esm2022/lib/interaction/popup/popup.content.component.mjs +9 -12
  99. package/esm2022/lib/interaction/popup/popup.controls.buttons.component.mjs +17 -20
  100. package/esm2022/lib/interaction/popup/popup.controls.component.mjs +5 -4
  101. package/esm2022/lib/interaction/popup/popup.coordinator.component.mjs +13 -17
  102. package/esm2022/lib/interaction/popup/popup.coordinator.service.mjs +5 -7
  103. package/esm2022/lib/interaction/popup/popup.module.mjs +4 -4
  104. package/esm2022/lib/interaction/popup/popup.position.strategy.mjs +3 -2
  105. package/esm2022/lib/interaction/popup/popup.service.mjs +8 -11
  106. package/esm2022/lib/interaction/prompt/prompt.box.component.mjs +5 -7
  107. package/esm2022/lib/interaction/prompt/prompt.button.confirm.directive.mjs +12 -20
  108. package/esm2022/lib/interaction/prompt/prompt.component.mjs +6 -4
  109. package/esm2022/lib/interaction/prompt/prompt.confirm.component.mjs +6 -8
  110. package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +4 -4
  111. package/esm2022/lib/interaction/prompt/prompt.confirm.directive.mjs +12 -15
  112. package/esm2022/lib/interaction/prompt/prompt.module.mjs +4 -4
  113. package/esm2022/lib/interaction/prompt/prompt.page.component.mjs +4 -4
  114. package/esm2022/lib/keypress/keydown.listener.directive.mjs +6 -7
  115. package/esm2022/lib/keypress/keypress.module.mjs +4 -4
  116. package/esm2022/lib/layout/bar/bar.directive.mjs +4 -3
  117. package/esm2022/lib/layout/bar/bar.header.component.mjs +7 -4
  118. package/esm2022/lib/layout/bar/bar.layout.module.mjs +4 -4
  119. package/esm2022/lib/layout/bar/pagebar.component.mjs +4 -3
  120. package/esm2022/lib/layout/block/block.layout.module.mjs +4 -4
  121. package/esm2022/lib/layout/block/two.block.component.mjs +9 -10
  122. package/esm2022/lib/layout/card/card.box.component.mjs +6 -4
  123. package/esm2022/lib/layout/card/card.box.container.component.mjs +4 -4
  124. package/esm2022/lib/layout/card/card.box.layout.module.mjs +4 -4
  125. package/esm2022/lib/layout/column/column.layout.module.mjs +4 -4
  126. package/esm2022/lib/layout/column/one/one.column.component.mjs +10 -14
  127. package/esm2022/lib/layout/column/one/one.column.module.mjs +4 -4
  128. package/esm2022/lib/layout/column/two/two.column.back.directive.mjs +7 -11
  129. package/esm2022/lib/layout/column/two/two.column.component.mjs +17 -21
  130. package/esm2022/lib/layout/column/two/two.column.context.directive.mjs +7 -10
  131. package/esm2022/lib/layout/column/two/two.column.full.left.directive.mjs +7 -10
  132. package/esm2022/lib/layout/column/two/two.column.head.component.mjs +6 -4
  133. package/esm2022/lib/layout/column/two/two.column.module.mjs +4 -4
  134. package/esm2022/lib/layout/column/two/two.column.right.component.mjs +15 -19
  135. package/esm2022/lib/layout/column/two/two.column.sref.directive.mjs +6 -9
  136. package/esm2022/lib/layout/column/two/two.column.sref.showright.directive.mjs +10 -15
  137. package/esm2022/lib/layout/column/two/two.column.store.mjs +81 -81
  138. package/esm2022/lib/layout/compact/compact.directive.mjs +7 -10
  139. package/esm2022/lib/layout/compact/compact.layout.module.mjs +4 -4
  140. package/esm2022/lib/layout/compact/compact.store.mjs +6 -6
  141. package/esm2022/lib/layout/content/content.border.directive.mjs +4 -6
  142. package/esm2022/lib/layout/content/content.box.directive.mjs +5 -7
  143. package/esm2022/lib/layout/content/content.container.directive.mjs +6 -8
  144. package/esm2022/lib/layout/content/content.directive.mjs +3 -3
  145. package/esm2022/lib/layout/content/content.elevate.directive.mjs +4 -6
  146. package/esm2022/lib/layout/content/content.layout.module.mjs +5 -5
  147. package/esm2022/lib/layout/content/content.page.directive.mjs +3 -3
  148. package/esm2022/lib/layout/content/content.pit.directive.mjs +4 -3
  149. package/esm2022/lib/layout/flag/flag.component.mjs +5 -7
  150. package/esm2022/lib/layout/flag/flag.layout.module.mjs +4 -4
  151. package/esm2022/lib/layout/flag/flag.prompt.component.mjs +6 -7
  152. package/esm2022/lib/layout/flex/flex.group.directive.mjs +14 -15
  153. package/esm2022/lib/layout/flex/flex.layout.module.mjs +4 -4
  154. package/esm2022/lib/layout/flex/flex.size.directive.mjs +4 -6
  155. package/esm2022/lib/layout/item/item.icon.component.mjs +6 -4
  156. package/esm2022/lib/layout/item/item.layout.module.mjs +4 -4
  157. package/esm2022/lib/layout/layout.module.mjs +4 -4
  158. package/esm2022/lib/layout/list/list.component.mjs +102 -103
  159. package/esm2022/lib/layout/list/list.content.empty.component.mjs +4 -4
  160. package/esm2022/lib/layout/list/list.directive.mjs +14 -15
  161. package/esm2022/lib/layout/list/list.grid.view.component.mjs +27 -39
  162. package/esm2022/lib/layout/list/list.grid.view.directive.mjs +3 -3
  163. package/esm2022/lib/layout/list/list.layout.module.mjs +5 -5
  164. package/esm2022/lib/layout/list/list.view.directive.mjs +11 -12
  165. package/esm2022/lib/layout/list/list.view.meta.icon.component.mjs +9 -19
  166. package/esm2022/lib/layout/list/list.view.selection.directive.mjs +4 -7
  167. package/esm2022/lib/layout/list/list.view.value.component.mjs +36 -43
  168. package/esm2022/lib/layout/list/list.view.value.directive.mjs +11 -17
  169. package/esm2022/lib/layout/list/list.view.value.group.title.directive.mjs +57 -59
  170. package/esm2022/lib/layout/list/list.view.value.item.directive.mjs +6 -11
  171. package/esm2022/lib/layout/list/list.view.value.modifier.directive.mjs +15 -19
  172. package/esm2022/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +14 -17
  173. package/esm2022/lib/layout/list/list.view.value.modifier.selection.directive.mjs +13 -16
  174. package/esm2022/lib/layout/list/list.view.value.selection.component.mjs +20 -29
  175. package/esm2022/lib/layout/list/list.wrapper.mjs +3 -1
  176. package/esm2022/lib/layout/section/section.component.mjs +5 -8
  177. package/esm2022/lib/layout/section/section.header.component.mjs +12 -7
  178. package/esm2022/lib/layout/section/section.intro.component.mjs +7 -8
  179. package/esm2022/lib/layout/section/section.layout.module.mjs +4 -4
  180. package/esm2022/lib/layout/section/section.page.component.mjs +6 -9
  181. package/esm2022/lib/layout/section/subsection.component.mjs +4 -4
  182. package/esm2022/lib/layout/step/step.component.mjs +7 -3
  183. package/esm2022/lib/layout/step/step.layout.module.mjs +4 -4
  184. package/esm2022/lib/layout/style/spacer.directive.mjs +3 -3
  185. package/esm2022/lib/layout/style/style.body.directive.mjs +14 -15
  186. package/esm2022/lib/layout/style/style.color.directive.mjs +4 -6
  187. package/esm2022/lib/layout/style/style.directive.mjs +15 -13
  188. package/esm2022/lib/layout/style/style.layout.module.mjs +4 -4
  189. package/esm2022/lib/layout/style/style.service.mjs +18 -26
  190. package/esm2022/lib/layout/style/style.set.directive.mjs +15 -16
  191. package/esm2022/lib/layout/text/address.component.mjs +5 -4
  192. package/esm2022/lib/layout/text/compat/form.description.component.mjs +19 -0
  193. package/esm2022/lib/layout/text/compat/hint.component.mjs +19 -0
  194. package/esm2022/lib/layout/text/compat/index.mjs +10 -0
  195. package/esm2022/lib/layout/text/compat/label.component.mjs +19 -0
  196. package/esm2022/lib/layout/text/compat/note.component.mjs +19 -0
  197. package/esm2022/lib/layout/text/compat/notice.component.mjs +19 -0
  198. package/esm2022/lib/layout/text/compat/ok.component.mjs +19 -0
  199. package/esm2022/lib/layout/text/compat/success.component.mjs +19 -0
  200. package/esm2022/lib/layout/text/compat/text.compat.module.mjs +32 -0
  201. package/esm2022/lib/layout/text/compat/warn.component.mjs +19 -0
  202. package/esm2022/lib/layout/text/detail.block.component.mjs +6 -4
  203. package/esm2022/lib/layout/text/detail.block.header.component.mjs +6 -4
  204. package/esm2022/lib/layout/text/icon.spacer.component.mjs +3 -3
  205. package/esm2022/lib/layout/text/index.mjs +2 -9
  206. package/esm2022/lib/layout/text/label.block.component.mjs +7 -7
  207. package/esm2022/lib/layout/text/linkify.component.mjs +20 -23
  208. package/esm2022/lib/layout/text/text.chip.directive.mjs +5 -3
  209. package/esm2022/lib/layout/text/text.chips.component.mjs +6 -4
  210. package/esm2022/lib/layout/text/text.module.mjs +5 -13
  211. package/esm2022/lib/loading/basic-loading.component.mjs +33 -33
  212. package/esm2022/lib/loading/loading-progress.component.mjs +11 -10
  213. package/esm2022/lib/loading/loading.action.directive.mjs +8 -14
  214. package/esm2022/lib/loading/loading.component.mjs +33 -27
  215. package/esm2022/lib/loading/loading.module.mjs +4 -4
  216. package/esm2022/lib/router/layout/anchor/anchor.component.mjs +14 -17
  217. package/esm2022/lib/router/layout/anchor/anchor.content.component.mjs +14 -19
  218. package/esm2022/lib/router/layout/anchor/anchor.icon.component.mjs +5 -4
  219. package/esm2022/lib/router/layout/anchor/anchor.link.component.mjs +5 -4
  220. package/esm2022/lib/router/layout/anchor/anchor.module.mjs +4 -4
  221. package/esm2022/lib/router/layout/anchor/anchor.segue.directive.mjs +13 -16
  222. package/esm2022/lib/router/layout/anchorlist/anchorlist.component.mjs +8 -10
  223. package/esm2022/lib/router/layout/anchorlist/anchorlist.module.mjs +4 -4
  224. package/esm2022/lib/router/layout/layout.module.mjs +4 -4
  225. package/esm2022/lib/router/layout/list/list.module.mjs +4 -4
  226. package/esm2022/lib/router/layout/list/router.list.directive.mjs +16 -19
  227. package/esm2022/lib/router/layout/navbar/navbar.component.mjs +65 -70
  228. package/esm2022/lib/router/layout/navbar/navbar.module.mjs +6 -6
  229. package/esm2022/lib/router/layout/sidenav/sidenav.button.component.mjs +13 -16
  230. package/esm2022/lib/router/layout/sidenav/sidenav.component.mjs +54 -57
  231. package/esm2022/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.mjs +10 -14
  232. package/esm2022/lib/router/layout/sidenav/sidenav.module.mjs +4 -4
  233. package/esm2022/lib/router/layout/sidenav/sidenav.page.component.mjs +13 -14
  234. package/esm2022/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +5 -4
  235. package/esm2022/lib/router/provider/ngrouter/anchor.component.mjs +3 -3
  236. package/esm2022/lib/router/provider/ngrouter/angular.router.module.mjs +4 -4
  237. package/esm2022/lib/router/provider/uirouter/anchor.component.mjs +5 -8
  238. package/esm2022/lib/router/provider/uirouter/uirouter.router.module.mjs +4 -4
  239. package/esm2022/lib/screen/screen.module.mjs +4 -4
  240. package/esm2022/lib/screen/screen.service.mjs +19 -12
  241. package/esm2022/mapbox/lib/mapbox.change.service.mjs +15 -18
  242. package/esm2022/mapbox/lib/mapbox.injection.component.mjs +10 -14
  243. package/esm2022/mapbox/lib/mapbox.injection.store.mjs +8 -8
  244. package/esm2022/mapbox/lib/mapbox.injection.store.provide.mjs +8 -13
  245. package/esm2022/mapbox/lib/mapbox.layout.component.mjs +47 -46
  246. package/esm2022/mapbox/lib/mapbox.layout.drawer.component.mjs +9 -12
  247. package/esm2022/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +17 -23
  248. package/esm2022/mapbox/lib/mapbox.marker.component.mjs +13 -17
  249. package/esm2022/mapbox/lib/mapbox.markers.component.mjs +14 -16
  250. package/esm2022/mapbox/lib/mapbox.menu.component.mjs +14 -21
  251. package/esm2022/mapbox/lib/mapbox.module.mjs +6 -6
  252. package/esm2022/mapbox/lib/mapbox.service.mjs +10 -10
  253. package/esm2022/mapbox/lib/mapbox.store.map.directive.mjs +9 -22
  254. package/esm2022/mapbox/lib/mapbox.store.mjs +395 -399
  255. package/esm2022/mapbox/lib/mapbox.store.provide.mjs +8 -13
  256. package/esm2022/table/lib/date/date.table.column.header.component.mjs +8 -8
  257. package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +37 -43
  258. package/esm2022/table/lib/date/table.date.module.mjs +6 -6
  259. package/esm2022/table/lib/table.cell.action.component.mjs +10 -13
  260. package/esm2022/table/lib/table.cell.input.component.mjs +10 -13
  261. package/esm2022/table/lib/table.cell.summaryend.component.mjs +10 -13
  262. package/esm2022/table/lib/table.cell.summarystart.component.mjs +10 -13
  263. package/esm2022/table/lib/table.column.directive.mjs +8 -11
  264. package/esm2022/table/lib/table.column.footer.component.mjs +13 -16
  265. package/esm2022/table/lib/table.column.header.component.mjs +13 -16
  266. package/esm2022/table/lib/table.component.mjs +35 -38
  267. package/esm2022/table/lib/table.directive.mjs +6 -9
  268. package/esm2022/table/lib/table.item.action.component.mjs +13 -16
  269. package/esm2022/table/lib/table.item.cell.component.mjs +7 -10
  270. package/esm2022/table/lib/table.item.directive.mjs +8 -11
  271. package/esm2022/table/lib/table.item.header.component.mjs +5 -8
  272. package/esm2022/table/lib/table.module.mjs +6 -6
  273. package/esm2022/table/lib/table.store.mjs +36 -36
  274. package/fesm2022/dereekb-dbx-web-calendar.mjs +137 -141
  275. package/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -1
  276. package/fesm2022/dereekb-dbx-web-mapbox.mjs +552 -594
  277. package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
  278. package/fesm2022/dereekb-dbx-web-table.mjs +197 -232
  279. package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
  280. package/fesm2022/dereekb-dbx-web.mjs +2243 -2460
  281. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  282. package/lib/action/action.confirm.directive.d.ts +1 -3
  283. package/lib/action/key.trigger.directive.d.ts +1 -2
  284. package/lib/action/snackbar/action.snackbar.component.d.ts +4 -5
  285. package/lib/action/snackbar/action.snackbar.directive.d.ts +2 -3
  286. package/lib/action/snackbar/action.snackbar.service.d.ts +1 -2
  287. package/lib/action/transition/transition.safety.directive.d.ts +1 -2
  288. package/lib/button/progress/base.progress.button.directive.d.ts +7 -8
  289. package/lib/error/error.action.directive.d.ts +2 -3
  290. package/lib/error/error.component.d.ts +2 -3
  291. package/lib/error/error.loading.directive.d.ts +1 -2
  292. package/lib/error/error.snackbar.action.directive.d.ts +1 -2
  293. package/lib/error/error.snackbar.component.d.ts +2 -3
  294. package/lib/error/error.snackbar.service.d.ts +0 -1
  295. package/lib/error/error.widget.component.d.ts +0 -1
  296. package/lib/error/error.widget.directive.d.ts +0 -1
  297. package/lib/extension/download/text/download.text.component.d.ts +3 -6
  298. package/lib/extension/model/model.module.d.ts +3 -3
  299. package/lib/extension/model/model.state.service.d.ts +1 -3
  300. package/lib/extension/model/model.tracker.service.d.ts +1 -3
  301. package/lib/extension/model/model.tracker.view.storage.d.ts +5 -3
  302. package/lib/extension/model/model.types.service.d.ts +2 -3
  303. package/lib/extension/model/state/effects/tracker.effects.d.ts +0 -3
  304. package/lib/extension/structure/structure.structure.directive.d.ts +1 -2
  305. package/lib/extension/widget/widget.component.d.ts +0 -1
  306. package/lib/extension/widget/widget.directive.d.ts +0 -1
  307. package/lib/interaction/dialog/abstract.dialog.directive.d.ts +3 -5
  308. package/lib/interaction/dialog/dialog.action.directive.d.ts +3 -3
  309. package/lib/interaction/filter/filter.partial.d.ts +1 -2
  310. package/lib/interaction/filter/filter.popover.button.directive.d.ts +0 -2
  311. package/lib/interaction/filter/filter.popover.component.d.ts +0 -2
  312. package/lib/interaction/filter/{filter.preset.d.ts → filter.preset.directive.d.ts} +5 -6
  313. package/lib/interaction/filter/filter.preset.list.component.d.ts +2 -2
  314. package/lib/interaction/filter/filter.preset.menu.component.d.ts +2 -2
  315. package/lib/interaction/filter/filter.wrapper.component.d.ts +3 -3
  316. package/lib/interaction/popover/abstract.popover.directive.d.ts +0 -1
  317. package/lib/interaction/popover/popover.action.directive.d.ts +3 -3
  318. package/lib/interaction/popover/popover.close.component.d.ts +1 -2
  319. package/lib/interaction/popover/popover.component.d.ts +6 -7
  320. package/lib/interaction/popover/popover.controls.directive.d.ts +3 -2
  321. package/lib/interaction/popover/popover.coordinator.component.d.ts +3 -5
  322. package/lib/interaction/popover/popover.header.component.d.ts +5 -3
  323. package/lib/interaction/popover/popover.scroll.content.component.d.ts +0 -1
  324. package/lib/interaction/popover/popover.service.d.ts +0 -2
  325. package/lib/interaction/popup/abstract.popup.directive.d.ts +0 -1
  326. package/lib/interaction/popup/popup.component.d.ts +3 -5
  327. package/lib/interaction/popup/popup.content.component.d.ts +1 -3
  328. package/lib/interaction/popup/popup.controls.buttons.component.d.ts +1 -3
  329. package/lib/interaction/popup/popup.coordinator.component.d.ts +2 -5
  330. package/lib/interaction/popup/popup.service.d.ts +0 -2
  331. package/lib/interaction/prompt/prompt.button.confirm.directive.d.ts +3 -4
  332. package/lib/interaction/prompt/prompt.confirm.component.d.ts +2 -2
  333. package/lib/interaction/prompt/prompt.confirm.directive.d.ts +1 -3
  334. package/lib/layout/column/one/one.column.component.d.ts +1 -1
  335. package/lib/layout/column/two/two.column.back.directive.d.ts +0 -1
  336. package/lib/layout/column/two/two.column.component.d.ts +4 -4
  337. package/lib/layout/column/two/two.column.context.directive.d.ts +0 -1
  338. package/lib/layout/column/two/two.column.full.left.directive.d.ts +0 -2
  339. package/lib/layout/column/two/two.column.right.component.d.ts +1 -2
  340. package/lib/layout/column/two/two.column.sref.directive.d.ts +0 -2
  341. package/lib/layout/column/two/two.column.sref.showright.directive.d.ts +1 -3
  342. package/lib/layout/compact/compact.directive.d.ts +1 -2
  343. package/lib/layout/flex/flex.group.directive.d.ts +2 -3
  344. package/lib/layout/list/list.component.d.ts +3 -4
  345. package/lib/layout/list/list.directive.d.ts +4 -5
  346. package/lib/layout/list/list.grid.view.component.d.ts +3 -5
  347. package/lib/layout/list/list.view.directive.d.ts +1 -1
  348. package/lib/layout/list/list.view.meta.icon.component.d.ts +3 -2
  349. package/lib/layout/list/list.view.selection.directive.d.ts +1 -1
  350. package/lib/layout/list/list.view.value.component.d.ts +4 -5
  351. package/lib/layout/list/list.view.value.directive.d.ts +3 -4
  352. package/lib/layout/list/list.view.value.group.title.directive.d.ts +7 -3
  353. package/lib/layout/list/list.view.value.item.directive.d.ts +0 -1
  354. package/lib/layout/list/list.view.value.modifier.directive.d.ts +0 -1
  355. package/lib/layout/list/list.view.value.selection.component.d.ts +3 -4
  356. package/lib/layout/section/section.intro.component.d.ts +1 -1
  357. package/lib/layout/style/style.body.directive.d.ts +4 -4
  358. package/lib/layout/style/style.directive.d.ts +4 -5
  359. package/lib/layout/style/style.service.d.ts +1 -2
  360. package/lib/layout/style/style.set.directive.d.ts +3 -3
  361. package/lib/layout/text/compat/index.d.ts +9 -0
  362. package/lib/layout/text/compat/text.compat.module.d.ts +21 -0
  363. package/lib/layout/text/index.d.ts +1 -8
  364. package/lib/layout/text/linkify.component.d.ts +0 -2
  365. package/lib/layout/text/text.module.d.ts +9 -17
  366. package/lib/loading/loading.action.directive.d.ts +3 -4
  367. package/lib/loading/loading.component.d.ts +0 -1
  368. package/lib/router/layout/anchor/anchor.component.d.ts +0 -2
  369. package/lib/router/layout/anchor/anchor.content.component.d.ts +3 -4
  370. package/lib/router/layout/anchor/anchor.segue.directive.d.ts +0 -1
  371. package/lib/router/layout/navbar/navbar.component.d.ts +2 -4
  372. package/lib/router/layout/sidenav/sidenav.button.component.d.ts +0 -1
  373. package/lib/router/layout/sidenav/sidenav.component.d.ts +2 -4
  374. package/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.d.ts +2 -3
  375. package/lib/router/layout/sidenav/sidenav.page.component.d.ts +0 -1
  376. package/lib/screen/screen.service.d.ts +1 -2
  377. package/mapbox/esm2022/lib/mapbox.change.service.mjs +15 -18
  378. package/mapbox/esm2022/lib/mapbox.injection.component.mjs +10 -14
  379. package/mapbox/esm2022/lib/mapbox.injection.store.mjs +8 -8
  380. package/mapbox/esm2022/lib/mapbox.injection.store.provide.mjs +8 -13
  381. package/mapbox/esm2022/lib/mapbox.layout.component.mjs +47 -46
  382. package/mapbox/esm2022/lib/mapbox.layout.drawer.component.mjs +9 -12
  383. package/mapbox/esm2022/lib/mapbox.layout.resize.sync.directive.mjs +17 -23
  384. package/mapbox/esm2022/lib/mapbox.marker.component.mjs +13 -17
  385. package/mapbox/esm2022/lib/mapbox.markers.component.mjs +14 -16
  386. package/mapbox/esm2022/lib/mapbox.menu.component.mjs +14 -21
  387. package/mapbox/esm2022/lib/mapbox.module.mjs +6 -6
  388. package/mapbox/esm2022/lib/mapbox.service.mjs +10 -10
  389. package/mapbox/esm2022/lib/mapbox.store.map.directive.mjs +9 -22
  390. package/mapbox/esm2022/lib/mapbox.store.mjs +395 -399
  391. package/mapbox/esm2022/lib/mapbox.store.provide.mjs +8 -13
  392. package/mapbox/fesm2022/dereekb-dbx-web-mapbox.mjs +552 -594
  393. package/mapbox/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
  394. package/mapbox/lib/mapbox.change.service.d.ts +0 -1
  395. package/mapbox/lib/mapbox.injection.component.d.ts +0 -3
  396. package/mapbox/lib/mapbox.injection.store.provide.d.ts +1 -2
  397. package/mapbox/lib/mapbox.layout.component.d.ts +10 -11
  398. package/mapbox/lib/mapbox.layout.drawer.component.d.ts +0 -1
  399. package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +3 -4
  400. package/mapbox/lib/mapbox.marker.component.d.ts +2 -4
  401. package/mapbox/lib/mapbox.menu.component.d.ts +4 -5
  402. package/mapbox/lib/mapbox.service.d.ts +1 -2
  403. package/mapbox/lib/mapbox.store.d.ts +1 -2
  404. package/mapbox/lib/mapbox.store.map.directive.d.ts +2 -3
  405. package/mapbox/lib/mapbox.store.provide.d.ts +1 -2
  406. package/mapbox/package.json +1 -1
  407. package/package.json +1 -1
  408. package/table/esm2022/lib/date/date.table.column.header.component.mjs +8 -8
  409. package/table/esm2022/lib/date/daterange.table.cell.input.component.mjs +37 -43
  410. package/table/esm2022/lib/date/table.date.module.mjs +6 -6
  411. package/table/esm2022/lib/table.cell.action.component.mjs +10 -13
  412. package/table/esm2022/lib/table.cell.input.component.mjs +10 -13
  413. package/table/esm2022/lib/table.cell.summaryend.component.mjs +10 -13
  414. package/table/esm2022/lib/table.cell.summarystart.component.mjs +10 -13
  415. package/table/esm2022/lib/table.column.directive.mjs +8 -11
  416. package/table/esm2022/lib/table.column.footer.component.mjs +13 -16
  417. package/table/esm2022/lib/table.column.header.component.mjs +13 -16
  418. package/table/esm2022/lib/table.component.mjs +35 -38
  419. package/table/esm2022/lib/table.directive.mjs +6 -9
  420. package/table/esm2022/lib/table.item.action.component.mjs +13 -16
  421. package/table/esm2022/lib/table.item.cell.component.mjs +7 -10
  422. package/table/esm2022/lib/table.item.directive.mjs +8 -11
  423. package/table/esm2022/lib/table.item.header.component.mjs +5 -8
  424. package/table/esm2022/lib/table.module.mjs +6 -6
  425. package/table/esm2022/lib/table.store.mjs +36 -36
  426. package/table/fesm2022/dereekb-dbx-web-table.mjs +197 -232
  427. package/table/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
  428. package/table/lib/date/daterange.table.cell.input.component.d.ts +3 -6
  429. package/table/lib/table.cell.action.component.d.ts +1 -2
  430. package/table/lib/table.cell.input.component.d.ts +1 -2
  431. package/table/lib/table.cell.summaryend.component.d.ts +1 -2
  432. package/table/lib/table.cell.summarystart.component.d.ts +1 -2
  433. package/table/lib/table.column.directive.d.ts +1 -2
  434. package/table/lib/table.component.d.ts +0 -1
  435. package/table/lib/table.directive.d.ts +0 -1
  436. package/table/lib/table.item.directive.d.ts +0 -1
  437. package/table/package.json +1 -1
  438. package/esm2022/lib/interaction/filter/filter.preset.mjs +0 -94
  439. package/esm2022/lib/layout/text/form.description.component.mjs +0 -19
  440. package/esm2022/lib/layout/text/hint.component.mjs +0 -19
  441. package/esm2022/lib/layout/text/label.component.mjs +0 -19
  442. package/esm2022/lib/layout/text/note.component.mjs +0 -19
  443. package/esm2022/lib/layout/text/notice.component.mjs +0 -19
  444. package/esm2022/lib/layout/text/ok.component.mjs +0 -19
  445. package/esm2022/lib/layout/text/success.component.mjs +0 -19
  446. package/esm2022/lib/layout/text/warn.component.mjs +0 -19
  447. /package/lib/layout/text/{form.description.component.d.ts → compat/form.description.component.d.ts} +0 -0
  448. /package/lib/layout/text/{hint.component.d.ts → compat/hint.component.d.ts} +0 -0
  449. /package/lib/layout/text/{label.component.d.ts → compat/label.component.d.ts} +0 -0
  450. /package/lib/layout/text/{note.component.d.ts → compat/note.component.d.ts} +0 -0
  451. /package/lib/layout/text/{notice.component.d.ts → compat/notice.component.d.ts} +0 -0
  452. /package/lib/layout/text/{ok.component.d.ts → compat/ok.component.d.ts} +0 -0
  453. /package/lib/layout/text/{success.component.d.ts → compat/success.component.d.ts} +0 -0
  454. /package/lib/layout/text/{warn.component.d.ts → compat/warn.component.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { catchError, filter, exhaustMap, merge, map, Subject, switchMap, shareReplay, distinctUntilChanged, of, Observable, BehaviorSubject, first } from 'rxjs';
2
- import { Component, Input, EventEmitter, Output, ElementRef, HostListener, ChangeDetectorRef, Directive } from '@angular/core';
2
+ import { Component, Input, EventEmitter, Output, ElementRef, HostListener, ChangeDetectorRef, Directive, inject } from '@angular/core';
3
3
  import { tapDetectChanges } from '@dereekb/dbx-core';
4
- import { SubscriptionObject, ListLoadingStateContextInstance, filterMaybe, loadingStateHasFinishedLoading, startWithBeginLoading } from '@dereekb/rxjs';
4
+ import { SubscriptionObject, ListLoadingStateContextInstance, filterMaybe, isLoadingStateFinishedLoading, startWithBeginLoading } from '@dereekb/rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "../../loading/loading.component";
@@ -13,102 +13,101 @@ import * as i4 from "@dereekb/dbx-core";
13
13
  * This component is generally wrapped by another component that provides this one configuration.
14
14
  */
15
15
  export class DbxListComponent {
16
- constructor(cdRef) {
17
- this.cdRef = cdRef;
18
- this.DEFAULT_SCROLL_DISTANCE = 1.5;
19
- this.DEFAULT_THROTTLE_SCROLL = 50;
20
- /**
21
- * Whether or not to add bottom padding to the list content.
22
- */
23
- this.padded = true;
24
- this.contentScrolled = new EventEmitter();
25
- this._disabled = new BehaviorSubject(false);
26
- this._selectionMode = new BehaviorSubject(undefined);
27
- this._loadMoreTrigger = new Subject();
28
- this._scrollTrigger = new Subject();
29
- this._config = new BehaviorSubject(undefined);
30
- this._loadMoreSub = new SubscriptionObject();
31
- this._onClickSub = new SubscriptionObject();
32
- this._disabledSub = new SubscriptionObject();
33
- this._selectionModeSub = new SubscriptionObject();
34
- this._onSelectionChangeSub = new SubscriptionObject();
35
- this.context = new ListLoadingStateContextInstance({ showLoadingOnNoValue: false });
36
- this.isEmpty$ = this.context.isEmpty$;
37
- this.isEmptyLoading$ = this.context.isEmptyLoading$;
38
- this.isEmptyAndNotLoading$ = this.context.isEmptyAndNotLoading$;
39
- this.disabled$ = this._disabled.asObservable();
40
- this.selectionMode$ = this._selectionMode.asObservable();
41
- this.hideOnEmpty$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
42
- this.invertedList$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
43
- this.throttleScroll$ = this._config.pipe(map((x) => x?.throttle ?? this.DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
44
- this.scrollDistance$ = this._config.pipe(map((x) => x?.scrollDistance ?? this.DEFAULT_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
45
- this.scrollLoadMoreTrigger$ = this._config.pipe(switchMap((config) => {
46
- const loadNextDirection = config?.invertedList ? 'up' : 'down';
47
- return this._scrollTrigger.pipe(filter((x) => x === loadNextDirection));
48
- }));
49
- this.loadMore$ = merge(this.scrollLoadMoreTrigger$, this._loadMoreTrigger);
50
- this.injectedComponentConfig$ = this._config.pipe(distinctUntilChanged(), map((config) => {
51
- let injectedComponentConfig;
52
- if (config) {
53
- const { componentClass, init, onClick, onSelectionChange, loadMore, defaultSelectionMode = 'view' } = config;
54
- injectedComponentConfig = {
55
- componentClass: config.componentClass,
56
- injector: config.injector,
57
- init: (instance) => {
58
- // Synchronize disabled
59
- this._disabledSub.subscription = this.disabled$.subscribe((disabled) => instance.setDisabled(disabled));
60
- this._selectionModeSub.subscription = this.selectionMode$.subscribe((selectionMode) => instance.setSelectionMode(selectionMode ?? defaultSelectionMode));
61
- if (init) {
62
- init(instance);
63
- }
64
- instance.setListContext(this.context);
65
- if (loadMore) {
66
- this._loadMoreSub.subscription = this.loadMore$
67
- .pipe(
68
- // Throttle additional loading calls using exhaustMap until observable returns, if one is returned.
69
- exhaustMap(() => {
70
- const result = loadMore();
71
- let obs;
72
- if (result) {
73
- obs = result.pipe(catchError(() => of()));
74
- }
75
- else {
76
- obs = of();
77
- }
78
- return obs;
79
- }))
80
- .subscribe();
81
- }
82
- if (onClick) {
83
- if (instance.clickValue) {
84
- this._onClickSub.subscription = instance.clickValue.subscribe(onClick);
16
+ cdRef = inject(ChangeDetectorRef);
17
+ DEFAULT_SCROLL_DISTANCE = 1.5;
18
+ DEFAULT_THROTTLE_SCROLL = 50;
19
+ /**
20
+ * Whether or not to add bottom padding to the list content.
21
+ */
22
+ padded = true;
23
+ contentScrolled = new EventEmitter();
24
+ _content;
25
+ _disabled = new BehaviorSubject(false);
26
+ _selectionMode = new BehaviorSubject(undefined);
27
+ _loadMoreTrigger = new Subject();
28
+ _scrollTrigger = new Subject();
29
+ _config = new BehaviorSubject(undefined);
30
+ _loadMoreSub = new SubscriptionObject();
31
+ _onClickSub = new SubscriptionObject();
32
+ _disabledSub = new SubscriptionObject();
33
+ _selectionModeSub = new SubscriptionObject();
34
+ _onSelectionChangeSub = new SubscriptionObject();
35
+ context = new ListLoadingStateContextInstance({ showLoadingOnNoValue: false });
36
+ isEmpty$ = this.context.isEmpty$;
37
+ isEmptyLoading$ = this.context.isEmptyLoading$;
38
+ isEmptyAndNotLoading$ = this.context.isEmptyAndNotLoading$;
39
+ disabled$ = this._disabled.asObservable();
40
+ selectionMode$ = this._selectionMode.asObservable();
41
+ hideOnEmpty$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
42
+ invertedList$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
43
+ throttleScroll$ = this._config.pipe(map((x) => x?.throttle ?? this.DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
44
+ scrollDistance$ = this._config.pipe(map((x) => x?.scrollDistance ?? this.DEFAULT_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
45
+ scrollLoadMoreTrigger$ = this._config.pipe(switchMap((config) => {
46
+ const loadNextDirection = config?.invertedList ? 'up' : 'down';
47
+ return this._scrollTrigger.pipe(filter((x) => x === loadNextDirection));
48
+ }));
49
+ loadMore$ = merge(this.scrollLoadMoreTrigger$, this._loadMoreTrigger);
50
+ injectedComponentConfig$ = this._config.pipe(distinctUntilChanged(), map((config) => {
51
+ let injectedComponentConfig;
52
+ if (config) {
53
+ const { componentClass, init, onClick, onSelectionChange, loadMore, defaultSelectionMode = 'view' } = config;
54
+ injectedComponentConfig = {
55
+ componentClass: config.componentClass,
56
+ injector: config.injector,
57
+ init: (instance) => {
58
+ // Synchronize disabled
59
+ this._disabledSub.subscription = this.disabled$.subscribe((disabled) => instance.setDisabled(disabled));
60
+ this._selectionModeSub.subscription = this.selectionMode$.subscribe((selectionMode) => instance.setSelectionMode(selectionMode ?? defaultSelectionMode));
61
+ if (init) {
62
+ init(instance);
63
+ }
64
+ instance.setListContext(this.context);
65
+ if (loadMore) {
66
+ this._loadMoreSub.subscription = this.loadMore$
67
+ .pipe(
68
+ // Throttle additional loading calls using exhaustMap until observable returns, if one is returned.
69
+ exhaustMap(() => {
70
+ const result = loadMore();
71
+ let obs;
72
+ if (result) {
73
+ obs = result.pipe(catchError(() => of()));
85
74
  }
86
75
  else {
87
- console.error(`onClick() was passed to listConfig, but target class ${componentClass} has no clicked event emitter.`);
76
+ obs = of();
88
77
  }
78
+ return obs;
79
+ }))
80
+ .subscribe();
81
+ }
82
+ if (onClick) {
83
+ if (instance.clickValue) {
84
+ this._onClickSub.subscription = instance.clickValue.subscribe(onClick);
89
85
  }
90
- if (onSelectionChange) {
91
- if (instance.selectionChange) {
92
- this._onSelectionChangeSub.subscription = instance.selectionChange.subscribe(onSelectionChange);
93
- }
94
- else {
95
- console.error(`onSelectionChange() was passed to listConfig, but target class ${componentClass} has no selectionChange event emitter.`);
96
- }
86
+ else {
87
+ console.error(`onClick() was passed to listConfig, but target class ${componentClass} has no clicked event emitter.`);
97
88
  }
98
89
  }
99
- };
100
- }
101
- return injectedComponentConfig;
102
- }), distinctUntilChanged(), shareReplay(1));
103
- this.hideContent$ = this.context.stateChange$.pipe(switchMap(() => this.context.state$.pipe(filter((x) => loadingStateHasFinishedLoading(x)), first(), startWithBeginLoading())), switchMap((state) => {
104
- if (state?.loading) {
105
- return of(true);
106
- }
107
- else {
108
- return this.hideOnEmpty$.pipe(switchMap((hide) => (hide === false ? of(false) : this.isEmpty$)), distinctUntilChanged(), tapDetectChanges(this.cdRef), shareReplay(1));
109
- }
110
- }));
111
- }
90
+ if (onSelectionChange) {
91
+ if (instance.selectionChange) {
92
+ this._onSelectionChangeSub.subscription = instance.selectionChange.subscribe(onSelectionChange);
93
+ }
94
+ else {
95
+ console.error(`onSelectionChange() was passed to listConfig, but target class ${componentClass} has no selectionChange event emitter.`);
96
+ }
97
+ }
98
+ }
99
+ };
100
+ }
101
+ return injectedComponentConfig;
102
+ }), distinctUntilChanged(), shareReplay(1));
103
+ hideContent$ = this.context.stateChange$.pipe(switchMap(() => this.context.state$.pipe(filter((x) => isLoadingStateFinishedLoading(x)), first(), startWithBeginLoading())), switchMap((state) => {
104
+ if (state?.loading) {
105
+ return of(true);
106
+ }
107
+ else {
108
+ return this.hideOnEmpty$.pipe(switchMap((hide) => (hide === false ? of(false) : this.isEmpty$)), distinctUntilChanged(), tapDetectChanges(this.cdRef), shareReplay(1));
109
+ }
110
+ }));
112
111
  ngOnDestroy() {
113
112
  delete this._content; // remove parent-child relation.
114
113
  this._scrollTrigger.complete();
@@ -196,8 +195,8 @@ export class DbxListComponent {
196
195
  throw new Error('Attempted to set __content in list outside of initialization.');
197
196
  }
198
197
  }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListComponent, selector: "dbx-list", inputs: { padded: "padded", state$: "state$", config: "config", disabled: "disabled", selectionMode: "selectionMode" }, outputs: { contentScrolled: "contentScrolled" }, host: { properties: { "class.dbx-list-padded": "padded" }, classAttribute: "d-block dbx-list" }, ngImport: i0, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i2.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "padding", "context", "loading", "error"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.InfiniteScrollDirective; }), selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i0.forwardRef(function () { return i4.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "directive", type: i0.forwardRef(function () { return DbxListInternalContentDirective; }), selector: "[dbxListInternalContent]", inputs: ["hide"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] }); }
198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListComponent, selector: "dbx-list", inputs: { padded: "padded", state$: "state$", config: "config", disabled: "disabled", selectionMode: "selectionMode" }, outputs: { contentScrolled: "contentScrolled" }, host: { properties: { "class.dbx-list-padded": "padded" }, classAttribute: "d-block dbx-list" }, ngImport: i0, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i2.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "padding", "context", "loading", "error"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.InfiniteScrollDirective; }), selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i0.forwardRef(function () { return i4.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "directive", type: i0.forwardRef(function () { return DbxListInternalContentDirective; }), selector: "[dbxListInternalContent]", inputs: ["hide"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] });
201
200
  }
202
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListComponent, decorators: [{
203
202
  type: Component,
@@ -205,7 +204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
205
204
  class: 'd-block dbx-list',
206
205
  '[class.dbx-list-padded]': 'padded'
207
206
  }, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n" }]
208
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { padded: [{
207
+ }], propDecorators: { padded: [{
209
208
  type: Input
210
209
  }], contentScrolled: [{
211
210
  type: Output
@@ -222,18 +221,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
222
221
  * Used internally by DbxListComponent
223
222
  */
224
223
  export class DbxListInternalContentDirective {
225
- constructor(parent, elementRef) {
226
- this.parent = parent;
227
- this.elementRef = elementRef;
228
- this.hide = false;
224
+ parent = inject(DbxListComponent);
225
+ elementRef = inject(ElementRef);
226
+ hide = false;
227
+ constructor() {
229
228
  this.parent.__content = this;
230
229
  }
231
230
  onScrollEvent($event) {
232
231
  const position = $event.target.scrollTop;
233
232
  this.parent.contentScrolled.emit(position);
234
233
  }
235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListInternalContentDirective, deps: [{ token: DbxListComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
236
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxListInternalContentDirective, selector: "[dbxListInternalContent]", inputs: { hide: "hide" }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 }); }
234
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListInternalContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
235
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxListInternalContentDirective, selector: "[dbxListInternalContent]", inputs: { hide: "hide" }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 });
237
236
  }
238
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListInternalContentDirective, decorators: [{
239
238
  type: Directive,
@@ -244,10 +243,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
244
243
  '[class.dbx-list-content-hidden]': 'hide'
245
244
  }
246
245
  }]
247
- }], ctorParameters: function () { return [{ type: DbxListComponent }, { type: i0.ElementRef }]; }, propDecorators: { hide: [{
246
+ }], ctorParameters: function () { return []; }, propDecorators: { hide: [{
248
247
  type: Input
249
248
  }], onScrollEvent: [{
250
249
  type: HostListener,
251
250
  args: ['scroll', ['$event']]
252
251
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakssT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQStCLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLCtCQUErQixFQUFvQixXQUFXLEVBQUUsOEJBQThCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQTZEMUs7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxnQkFBZ0I7SUEySjNCLFlBQXFCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBMUpwQyw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsNEJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBRXRDOztXQUVHO1FBRUgsV0FBTSxHQUFHLElBQUksQ0FBQztRQUdkLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdyQyxjQUFTLEdBQUcsSUFBSSxl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O2dCQVFOLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGV4aGF1c3RNYXAsIG1lcmdlLCBtYXAsIFN1YmplY3QsIHN3aXRjaE1hcCwgc2hhcmVSZXBsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBvZiwgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcsIHRhcERldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIExpc3RMb2FkaW5nU3RhdGUsIGZpbHRlck1heWJlLCBsb2FkaW5nU3RhdGVIYXNGaW5pc2hlZExvYWRpbmcsIHN0YXJ0V2l0aEJlZ2luTG9hZGluZyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUsIE1pbGxpc2Vjb25kcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4TGlzdFNlbGVjdGlvbk1vZGUsIERieExpc3RWaWV3LCBMaXN0U2VsZWN0aW9uU3RhdGUgfSBmcm9tICcuL2xpc3Qudmlldyc7XG5cbi8qKlxuICogRGlyZWN0aW9uIHRoZSBzY3JvbGwgd2FzIHRyaWdnZXJlZCBtb3ZpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyID0gJ3VwJyB8ICdkb3duJztcblxuLyoqXG4gKiBVc2VkIHRvIHRyaWdnZXIgdGhlIGxvYWRpbmcgb2YgYWRkaXRpb25hbCBpdGVtcy5cbiAqXG4gKiBJZiBhbiBvYnNlcnZhYmxlIGlzIHJldHVybmVkIGl0IGlzIHVzZWQgdG8gdGhyb3R0bGUgdGhlIGxvYWRpbmcgb2YgbW9yZSBpdGVtcyB1bnRpbCBpdCByZXR1cm5zLlxuICovXG5leHBvcnQgdHlwZSBEYnhMaXN0TG9hZE1vcmVIYW5kbGVyID0gKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPiB8IHZvaWQ7XG5cbi8qKlxuICogRGJ4TGlzdENvbXBvbmVudCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieExpc3RDb25maWc8VCA9IHVua25vd24sIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+PiBleHRlbmRzIERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxWPiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBoaWRlIHRoZSBsaXN0IGNvbnRlbnQgd2hlbiBpdCBpcyBhbiBlbXB0eSBsaXN0LlxuICAgKi9cbiAgaGlkZU9uRW1wdHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGxpc3Qgc2hvdWxkIHNjcm9sbCB1cHdhcmQgZnJvbSB0aGUgYm90dG9tLCBsaWtlIGEgbWVzc2FnZSBsaXN0LlxuICAgKi9cbiAgaW52ZXJ0ZWRMaXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzdGFuY2UgdG8gc2Nyb2xsLlxuICAgKi9cbiAgc2Nyb2xsRGlzdGFuY2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBtcyB0byB0aHJvdHRsZSBzY3JvbGxpbmcgZXZlbnRzLlxuICAgKi9cbiAgdGhyb3R0bGU/OiBNaWxsaXNlY29uZHM7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgb25DbGljayBoYW5kbGVyXG4gICAqL1xuICBvbkNsaWNrPzogKHZhbHVlOiBUKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIG9uU2VsZWN0aW9uIGhhbmRsZXJcbiAgICovXG4gIG9uU2VsZWN0aW9uQ2hhbmdlPzogKHNlbGVjdGlvbjogTGlzdFNlbGVjdGlvblN0YXRlPFQ+KSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIGhhbmRsZXIgZnVuY3Rpb24gdG8gbG9hZCBtb3JlIGl0ZW1zLlxuICAgKi9cbiAgbG9hZE1vcmU/OiBEYnhMaXN0TG9hZE1vcmVIYW5kbGVyO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHNlbGVjdGlvbiBsaXN0IHZhbHVlLiBJZiBub3QgZGVmaW5lZCwgd2lsbCBkZWZhdWx0IHRvICd2aWV3Jy5cbiAgICovXG4gIGRlZmF1bHRTZWxlY3Rpb25Nb2RlPzogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+O1xufVxuXG4vKipcbiAqIFVzZWQgdG8gZGlzcGxheSBhIHBvdGVudGlhbGx5IGluZmluaXRlbHkgc2Nyb2xsYWJsZSBsaXN0IG9mIGNvbnRlbnQuXG4gKlxuICogVGhpcyBjb21wb25lbnQgaXMgZ2VuZXJhbGx5IHdyYXBwZWQgYnkgYW5vdGhlciBjb21wb25lbnQgdGhhdCBwcm92aWRlcyB0aGlzIG9uZSBjb25maWd1cmF0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1ibG9jayBkYngtbGlzdCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1wYWRkZWRdJzogJ3BhZGRlZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0Q29tcG9uZW50PFQgPSB1bmtub3duLCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPiwgUyBleHRlbmRzIExpc3RMb2FkaW5nU3RhdGU8VD4gPSBMaXN0TG9hZGluZ1N0YXRlPFQ+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFID0gMS41O1xuICByZWFkb25seSBERUZBVUxUX1RIUk9UVExFX1NDUk9MTCA9IDUwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhZGQgYm90dG9tIHBhZGRpbmcgdG8gdGhlIGxpc3QgY29udGVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHBhZGRlZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIGNvbnRlbnRTY3JvbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQ6IE1heWJlPERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmU+O1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVUcmlnZ2VyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsVHJpZ2dlciA9IG5ldyBTdWJqZWN0PERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyPigpO1xuICBwcml2YXRlIF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieExpc3RDb25maWc8VCwgVj4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2xvYWRNb3JlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9vbkNsaWNrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9kaXNhYmxlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfb25TZWxlY3Rpb25DaGFuZ2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlPFQsIFM+KHsgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuICByZWFkb25seSBpc0VtcHR5JCA9IHRoaXMuY29udGV4dC5pc0VtcHR5JDtcbiAgcmVhZG9ubHkgaXNFbXB0eUxvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlMb2FkaW5nJDtcbiAgcmVhZG9ubHkgaXNFbXB0eUFuZE5vdExvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlBbmROb3RMb2FkaW5nJDtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGUkID0gdGhpcy5fc2VsZWN0aW9uTW9kZS5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBoaWRlT25FbXB0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb25maWcucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIG1hcCgoeCkgPT4gQm9vbGVhbih4LmhpZGVPbkVtcHR5KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBpbnZlcnRlZExpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeD8udGhyb3R0bGUpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py50aHJvdHRsZSA/PyB0aGlzLkRFRkFVTFRfVEhST1RUTEVfU0NST0xMKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHNjcm9sbERpc3RhbmNlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5zY3JvbGxEaXN0YW5jZSA/PyB0aGlzLkRFRkFVTFRfU0NST0xMX0RJU1RBTkNFKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBsb2FkTmV4dERpcmVjdGlvbiA9IGNvbmZpZz8uaW52ZXJ0ZWRMaXN0ID8gJ3VwJyA6ICdkb3duJztcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxUcmlnZ2VyLnBpcGUoZmlsdGVyKCh4KSA9PiB4ID09PSBsb2FkTmV4dERpcmVjdGlvbikpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZE1vcmUkID0gbWVyZ2UodGhpcy5zY3JvbGxMb2FkTW9yZVRyaWdnZXIkLCB0aGlzLl9sb2FkTW9yZVRyaWdnZXIpO1xuXG4gIHJlYWRvbmx5IGluamVjdGVkQ29tcG9uZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8Vj4+PiA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKChjb25maWcpID0+IHtcbiAgICAgIGxldCBpbmplY3RlZENvbXBvbmVudENvbmZpZzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+PjtcblxuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICBjb25zdCB7IGNvbXBvbmVudENsYXNzLCBpbml0LCBvbkNsaWNrLCBvblNlbGVjdGlvbkNoYW5nZSwgbG9hZE1vcmUsIGRlZmF1bHRTZWxlY3Rpb25Nb2RlID0gJ3ZpZXcnIH0gPSBjb25maWc7XG5cbiAgICAgICAgaW5qZWN0ZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IGNvbmZpZy5jb21wb25lbnRDbGFzcyxcbiAgICAgICAgICBpbmplY3RvcjogY29uZmlnLmluamVjdG9yLFxuICAgICAgICAgIGluaXQ6IChpbnN0YW5jZTogVikgPT4ge1xuICAgICAgICAgICAgLy8gU3luY2hyb25pemUgZGlzYWJsZWRcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IGluc3RhbmNlLnNldERpc2FibGVkKGRpc2FibGVkKSk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKChzZWxlY3Rpb25Nb2RlKSA9PiBpbnN0YW5jZS5zZXRTZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGUgPz8gZGVmYXVsdFNlbGVjdGlvbk1vZGUpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgLy8gVGhyb3R0bGUgYWRkaXRpb25hbCBsb2FkaW5nIGNhbGxzIHVzaW5nIGV4aGF1c3RNYXAgdW50aWwgb2JzZXJ2YWJsZSByZXR1cm5zLCBpZiBvbmUgaXMgcmV0dXJuZWQuXG4gICAgICAgICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gb2YoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5jb250ZXh0LnN0YXRlJC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHgpID0+IGxvYWRpbmdTdGF0ZUhhc0ZpbmlzaGVkTG9hZGluZyh4KSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpXG4gICAgICApXG4gICAgKSxcbiAgICBzd2l0Y2hNYXAoKHN0YXRlKSA9PiB7XG4gICAgICBpZiAoc3RhdGU/LmxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZU9uRW1wdHkkLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChoaWRlKSA9PiAoaGlkZSA9PT0gZmFsc2UgPyBvZihmYWxzZSkgOiB0aGlzLmlzRW1wdHkkKSksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpLFxuICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuX2NvbnRlbnQ7IC8vIHJlbW92ZSBwYXJlbnQtY2hpbGQgcmVsYXRpb24uXG4gICAgdGhpcy5fc2Nyb2xsVHJpZ2dlci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2xvYWRNb3JlVHJpZ2dlci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbmZpZy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2Rpc2FibGVkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5fb25DbGlja1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fbG9hZE1vcmVTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9kaXNhYmxlZFN1Yi5kZXN0cm95KCk7XG5cbiAgICB0aGlzLmNvbnRleHQuZGVzdHJveSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFM+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnN0YXRlJDtcbiAgfVxuXG4gIHNldCBzdGF0ZSQoc3RhdGUkOiBNYXliZTxPYnNlcnZhYmxlPFM+Pikge1xuICAgIHRoaXMuY29udGV4dC5zZXRTdGF0ZU9icyhzdGF0ZSQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbmZpZyhjb25maWc6IE1heWJlPERieExpc3RDb25maWc8VCwgVj4+KSB7XG4gICAgdGhpcy5fY29uZmlnLm5leHQoY29uZmlnKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQudmFsdWU7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQubmV4dChkaXNhYmxlZCA/PyBmYWxzZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlLnZhbHVlO1xuICB9XG5cbiAgc2V0IHNlbGVjdGlvbk1vZGUoc2VsZWN0aW9uTW9kZTogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+KSB7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZS5uZXh0KHNlbGVjdGlvbk1vZGUpO1xuICB9XG5cbiAgZ2V0U2Nyb2xsUG9zaXRpb25SZWxhdGl2ZVRvQm90dG9tKCk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIC8vIEF0IG1heCBzY3JvbGwsIHNjcm9sbEhlaWdodCA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodDtcbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gZWxlbWVudDtcbiAgICAgIHJldHVybiBzY3JvbGxIZWlnaHQgLSAoc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBqdW1wVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gZG8gbm90aGluZy5cbiAgICB9XG4gIH1cblxuICBqdW1wVG9Qb3NpdGlvblJlbGF0aXZlVG9Cb3R0b20ocG9zOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnN0IHsgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IHNjcm9sbEhlaWdodCAtIChjbGllbnRIZWlnaHQgKyBwb3MpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gZG8gbm90aGluZy5cbiAgICB9XG4gIH1cblxuICBvblNjcm9sbERvd24oKTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsVHJpZ2dlci5uZXh0KCdkb3duJyk7XG4gIH1cblxuICBvblNjcm9sbFVwKCk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIubmV4dCgndXAnKTtcbiAgfVxuXG4gIGxvYWRNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuX2xvYWRNb3JlVHJpZ2dlci5uZXh0KCk7XG4gIH1cblxuICAvLyBNQVJLOiBJbnRlcm5hbFxuICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fX2NvbnRlbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0IF9fY29udGVudCgpOiBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudCBhcyBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlO1xuICB9XG5cbiAgc2V0IF9fY29udGVudChjb250ZW50OiBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlKSB7XG4gICAgaWYgKHRoaXMuX2NvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgdGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXR0ZW1wdGVkIHRvIHNldCBfX2NvbnRlbnQgaW4gbGlzdCBvdXRzaWRlIG9mIGluaXRpYWxpemF0aW9uLicpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFVzZWQgaW50ZXJuYWxseSBieSBEYnhMaXN0Q29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhMaXN0SW50ZXJuYWxDb250ZW50XScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtYmxvY2sgZGJ4LWxpc3QtY29udGVudCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1jb250ZW50LWhpZGRlbl0nOiAnaGlkZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgaGlkZTogTWF5YmU8Ym9vbGVhbj4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhcmVudDogRGJ4TGlzdENvbXBvbmVudCwgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMucGFyZW50Ll9fY29udGVudCA9IHRoaXM7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdzY3JvbGwnLCBbJyRldmVudCddKVxuICBvblNjcm9sbEV2ZW50KCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9ICgkZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBhcmVudC5jb250ZW50U2Nyb2xsZWQuZW1pdChwb3NpdGlvbik7XG4gIH1cbn1cbiIsIjxkYngtbG9hZGluZyBbY29udGV4dF09XCJjb250ZXh0XCIgW2xpbmVhcl09XCJ0cnVlXCI+PC9kYngtbG9hZGluZz5cbjxkaXYgZGJ4TGlzdEludGVybmFsQ29udGVudCBbaGlkZV09XCJoaWRlQ29udGVudCQgfCBhc3luY1wiIGluZmluaXRlLXNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIoc2Nyb2xsRGlzdGFuY2UkIHwgYXN5bmMpID8/IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFXCIgW2luZmluaXRlU2Nyb2xsVXBEaXN0YW5jZV09XCIoc2Nyb2xsRGlzdGFuY2UkIHwgYXN5bmMpID8/IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiKHRocm90dGxlU2Nyb2xsJCB8IGFzeW5jKSA/PyBERUZBVUxUX1RIUk9UVExFX1NDUk9MTFwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGxEb3duKClcIiAoc2Nyb2xsZWRVcCk9XCJvblNjcm9sbFVwKClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiaW5qZWN0ZWRDb21wb25lbnRDb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3Rpb24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b21dXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGVudCAqbmdJZj1cImlzRW1wdHlBbmROb3RMb2FkaW5nJCB8IGFzeW5jXCIgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbjxuZy1jb250ZW50ICpuZ0lmPVwiaXNFbXB0eUxvYWRpbmckIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHlMb2FkaW5nXVwiPjwvbmctY29udGVudD5cbiJdfQ==
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakssT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUErQixnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwrQkFBK0IsRUFBb0IsV0FBVyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUE2RHpLOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLEtBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVsQyx1QkFBdUIsR0FBRyxHQUFHLENBQUM7SUFDOUIsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0lBRXRDOztPQUVHO0lBRUgsTUFBTSxHQUFHLElBQUksQ0FBQztJQUdMLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTlDLFFBQVEsQ0FBeUM7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SztnQkFRTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBleGhhdXN0TWFwLCBtZXJnZSwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YsIE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcsIHRhcERldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIExpc3RMb2FkaW5nU3RhdGUsIGZpbHRlck1heWJlLCBpc0xvYWRpbmdTdGF0ZUZpbmlzaGVkTG9hZGluZywgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSwgTWlsbGlzZWNvbmRzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhMaXN0U2VsZWN0aW9uTW9kZSwgRGJ4TGlzdFZpZXcsIExpc3RTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJy4vbGlzdC52aWV3JztcblxuLyoqXG4gKiBEaXJlY3Rpb24gdGhlIHNjcm9sbCB3YXMgdHJpZ2dlcmVkIG1vdmluZy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TGlzdFNjcm9sbERpcmVjdGlvblRyaWdnZXIgPSAndXAnIHwgJ2Rvd24nO1xuXG4vKipcbiAqIFVzZWQgdG8gdHJpZ2dlciB0aGUgbG9hZGluZyBvZiBhZGRpdGlvbmFsIGl0ZW1zLlxuICpcbiAqIElmIGFuIG9ic2VydmFibGUgaXMgcmV0dXJuZWQgaXQgaXMgdXNlZCB0byB0aHJvdHRsZSB0aGUgbG9hZGluZyBvZiBtb3JlIGl0ZW1zIHVudGlsIGl0IHJldHVybnMuXG4gKi9cbmV4cG9ydCB0eXBlIERieExpc3RMb2FkTW9yZUhhbmRsZXIgPSAoKSA9PiBPYnNlcnZhYmxlPHZvaWQ+IHwgdm9pZDtcblxuLyoqXG4gKiBEYnhMaXN0Q29tcG9uZW50IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TGlzdENvbmZpZzxUID0gdW5rbm93biwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+IGV4dGVuZHMgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGhpZGUgdGhlIGxpc3QgY29udGVudCB3aGVuIGl0IGlzIGFuIGVtcHR5IGxpc3QuXG4gICAqL1xuICBoaWRlT25FbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgbGlzdCBzaG91bGQgc2Nyb2xsIHVwd2FyZCBmcm9tIHRoZSBib3R0b20sIGxpa2UgYSBtZXNzYWdlIGxpc3QuXG4gICAqL1xuICBpbnZlcnRlZExpc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXN0YW5jZSB0byBzY3JvbGwuXG4gICAqL1xuICBzY3JvbGxEaXN0YW5jZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIG1zIHRvIHRocm90dGxlIHNjcm9sbGluZyBldmVudHMuXG4gICAqL1xuICB0aHJvdHRsZT86IE1pbGxpc2Vjb25kcztcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBvbkNsaWNrIGhhbmRsZXJcbiAgICovXG4gIG9uQ2xpY2s/OiAodmFsdWU6IFQpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgb25TZWxlY3Rpb24gaGFuZGxlclxuICAgKi9cbiAgb25TZWxlY3Rpb25DaGFuZ2U/OiAoc2VsZWN0aW9uOiBMaXN0U2VsZWN0aW9uU3RhdGU8VD4pID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgaGFuZGxlciBmdW5jdGlvbiB0byBsb2FkIG1vcmUgaXRlbXMuXG4gICAqL1xuICBsb2FkTW9yZT86IERieExpc3RMb2FkTW9yZUhhbmRsZXI7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VsZWN0aW9uIGxpc3QgdmFsdWUuIElmIG5vdCBkZWZpbmVkLCB3aWxsIGRlZmF1bHQgdG8gJ3ZpZXcnLlxuICAgKi9cbiAgZGVmYXVsdFNlbGVjdGlvbk1vZGU/OiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT47XG59XG5cbi8qKlxuICogVXNlZCB0byBkaXNwbGF5IGEgcG90ZW50aWFsbHkgaW5maW5pdGVseSBzY3JvbGxhYmxlIGxpc3Qgb2YgY29udGVudC5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBnZW5lcmFsbHkgd3JhcHBlZCBieSBhbm90aGVyIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIHRoaXMgb25lIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrIGRieC1saXN0JyxcbiAgICAnW2NsYXNzLmRieC1saXN0LXBhZGRlZF0nOiAncGFkZGVkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RDb21wb25lbnQ8VCA9IHVua25vd24sIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHJlYWRvbmx5IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFID0gMS41O1xuICByZWFkb25seSBERUZBVUxUX1RIUk9UVExFX1NDUk9MTCA9IDUwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhZGQgYm90dG9tIHBhZGRpbmcgdG8gdGhlIGxpc3QgY29udGVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHBhZGRlZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbnRlbnRTY3JvbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQ6IE1heWJlPERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmU+O1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVUcmlnZ2VyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsVHJpZ2dlciA9IG5ldyBTdWJqZWN0PERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyPigpO1xuICBwcml2YXRlIF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieExpc3RDb25maWc8VCwgVj4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2xvYWRNb3JlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9vbkNsaWNrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9kaXNhYmxlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfb25TZWxlY3Rpb25DaGFuZ2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlPFQsIFM+KHsgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuICByZWFkb25seSBpc0VtcHR5JCA9IHRoaXMuY29udGV4dC5pc0VtcHR5JDtcbiAgcmVhZG9ubHkgaXNFbXB0eUxvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlMb2FkaW5nJDtcbiAgcmVhZG9ubHkgaXNFbXB0eUFuZE5vdExvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlBbmROb3RMb2FkaW5nJDtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGUkID0gdGhpcy5fc2VsZWN0aW9uTW9kZS5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBoaWRlT25FbXB0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb25maWcucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIG1hcCgoeCkgPT4gQm9vbGVhbih4LmhpZGVPbkVtcHR5KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBpbnZlcnRlZExpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeD8udGhyb3R0bGUpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py50aHJvdHRsZSA/PyB0aGlzLkRFRkFVTFRfVEhST1RUTEVfU0NST0xMKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHNjcm9sbERpc3RhbmNlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5zY3JvbGxEaXN0YW5jZSA/PyB0aGlzLkRFRkFVTFRfU0NST0xMX0RJU1RBTkNFKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBsb2FkTmV4dERpcmVjdGlvbiA9IGNvbmZpZz8uaW52ZXJ0ZWRMaXN0ID8gJ3VwJyA6ICdkb3duJztcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxUcmlnZ2VyLnBpcGUoZmlsdGVyKCh4KSA9PiB4ID09PSBsb2FkTmV4dERpcmVjdGlvbikpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZE1vcmUkID0gbWVyZ2UodGhpcy5zY3JvbGxMb2FkTW9yZVRyaWdnZXIkLCB0aGlzLl9sb2FkTW9yZVRyaWdnZXIpO1xuXG4gIHJlYWRvbmx5IGluamVjdGVkQ29tcG9uZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8Vj4+PiA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKChjb25maWcpID0+IHtcbiAgICAgIGxldCBpbmplY3RlZENvbXBvbmVudENvbmZpZzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+PjtcblxuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICBjb25zdCB7IGNvbXBvbmVudENsYXNzLCBpbml0LCBvbkNsaWNrLCBvblNlbGVjdGlvbkNoYW5nZSwgbG9hZE1vcmUsIGRlZmF1bHRTZWxlY3Rpb25Nb2RlID0gJ3ZpZXcnIH0gPSBjb25maWc7XG5cbiAgICAgICAgaW5qZWN0ZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IGNvbmZpZy5jb21wb25lbnRDbGFzcyxcbiAgICAgICAgICBpbmplY3RvcjogY29uZmlnLmluamVjdG9yLFxuICAgICAgICAgIGluaXQ6IChpbnN0YW5jZTogVikgPT4ge1xuICAgICAgICAgICAgLy8gU3luY2hyb25pemUgZGlzYWJsZWRcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IGluc3RhbmNlLnNldERpc2FibGVkKGRpc2FibGVkKSk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKChzZWxlY3Rpb25Nb2RlKSA9PiBpbnN0YW5jZS5zZXRTZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGUgPz8gZGVmYXVsdFNlbGVjdGlvbk1vZGUpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgLy8gVGhyb3R0bGUgYWRkaXRpb25hbCBsb2FkaW5nIGNhbGxzIHVzaW5nIGV4aGF1c3RNYXAgdW50aWwgb2JzZXJ2YWJsZSByZXR1cm5zLCBpZiBvbmUgaXMgcmV0dXJuZWQuXG4gICAgICAgICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gb2YoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5jb250ZXh0LnN0YXRlJC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHgpID0+IGlzTG9hZGluZ1N0YXRlRmluaXNoZWRMb2FkaW5nKHgpKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKClcbiAgICAgIClcbiAgICApLFxuICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZT8ubG9hZGluZykge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlT25FbXB0eSQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKGhpZGUpID0+IChoaWRlID09PSBmYWxzZSA/IG9mKGZhbHNlKSA6IHRoaXMuaXNFbXB0eSQpKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcERldGVjdENoYW5nZXModGhpcy5jZFJlZiksXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLl9jb250ZW50OyAvLyByZW1vdmUgcGFyZW50LWNoaWxkIHJlbGF0aW9uLlxuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuX29uQ2xpY2tTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2xvYWRNb3JlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuZGVzdHJveSgpO1xuXG4gICAgdGhpcy5jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxTPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5zdGF0ZSQ7XG4gIH1cblxuICBzZXQgc3RhdGUkKHN0YXRlJDogTWF5YmU8T2JzZXJ2YWJsZTxTPj4pIHtcbiAgICB0aGlzLmNvbnRleHQuc2V0U3RhdGVPYnMoc3RhdGUkKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYnhMaXN0Q29uZmlnPFQsIFY+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBNYXliZTxib29sZWFuPikge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoZGlzYWJsZWQgPz8gZmFsc2UpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZS52YWx1ZTtcbiAgfVxuXG4gIHNldCBzZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGU6IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPikge1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUubmV4dChzZWxlY3Rpb25Nb2RlKTtcbiAgfVxuXG4gIGdldFNjcm9sbFBvc2l0aW9uUmVsYXRpdmVUb0JvdHRvbSgpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBBdCBtYXggc2Nyb2xsLCBzY3JvbGxIZWlnaHQgPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICByZXR1cm4gc2Nyb2xsSGVpZ2h0IC0gKHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAganVtcFRvQm90dG9tKCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmcuXG4gICAgfVxuICB9XG5cbiAganVtcFRvUG9zaXRpb25SZWxhdGl2ZVRvQm90dG9tKHBvczogbnVtYmVyKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBlbGVtZW50O1xuICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxIZWlnaHQgLSAoY2xpZW50SGVpZ2h0ICsgcG9zKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmcuXG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIubmV4dCgnZG93bicpO1xuICB9XG5cbiAgb25TY3JvbGxVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLm5leHQoJ3VwJyk7XG4gIH1cblxuICBsb2FkTW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIubmV4dCgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX19jb250ZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCBfX2NvbnRlbnQoKTogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQgYXMgRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZTtcbiAgfVxuXG4gIHNldCBfX2NvbnRlbnQoY29udGVudDogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSkge1xuICAgIGlmICh0aGlzLl9jb250ZW50ID09IG51bGwpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRlZCB0byBzZXQgX19jb250ZW50IGluIGxpc3Qgb3V0c2lkZSBvZiBpbml0aWFsaXphdGlvbi4nKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVc2VkIGludGVybmFsbHkgYnkgRGJ4TGlzdENvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4TGlzdEludGVybmFsQ29udGVudF0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrIGRieC1saXN0LWNvbnRlbnQnLFxuICAgICdbY2xhc3MuZGJ4LWxpc3QtY29udGVudC1oaWRkZW5dJzogJ2hpZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50ID0gaW5qZWN0KERieExpc3RDb21wb25lbnQpO1xuICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIEBJbnB1dCgpXG4gIGhpZGU6IE1heWJlPGJvb2xlYW4+ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wYXJlbnQuX19jb250ZW50ID0gdGhpcztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uU2Nyb2xsRXZlbnQoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gKCRldmVudC50YXJnZXQgYXMgRWxlbWVudCkuc2Nyb2xsVG9wO1xuICAgIHRoaXMucGFyZW50LmNvbnRlbnRTY3JvbGxlZC5lbWl0KHBvc2l0aW9uKTtcbiAgfVxufVxuIiwiPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIiBbbGluZWFyXT1cInRydWVcIj48L2RieC1sb2FkaW5nPlxuPGRpdiBkYnhMaXN0SW50ZXJuYWxDb250ZW50IFtoaWRlXT1cImhpZGVDb250ZW50JCB8IGFzeW5jXCIgaW5maW5pdGUtc2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCIodGhyb3R0bGVTY3JvbGwkIHwgYXN5bmMpID8/IERFRkFVTFRfVEhST1RUTEVfU0NST0xMXCIgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiIChzY3JvbGxlZCk9XCJvblNjcm9sbERvd24oKVwiIChzY3JvbGxlZFVwKT1cIm9uU2Nyb2xsVXAoKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9wXVwiPjwvbmctY29udGVudD5cbiAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJpbmplY3RlZENvbXBvbmVudENvbmZpZyQgfCBhc3luY1wiPjwvZGJ4LWluamVjdGlvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250ZW50ICpuZ0lmPVwiaXNFbXB0eUFuZE5vdExvYWRpbmckIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgKm5nSWY9XCJpc0VtcHR5TG9hZGluZyQgfCBhc3luY1wiIHNlbGVjdD1cIltlbXB0eUxvYWRpbmddXCI+PC9uZy1jb250ZW50PlxuIl19
@@ -4,12 +4,12 @@ import * as i0 from "@angular/core";
4
4
  * Component that is centered for use within an empty list.
5
5
  */
6
6
  export class DbxListEmptyContentComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content", ngImport: i0, template: `
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content", ngImport: i0, template: `
9
9
  <div class="dbx-list-empty-content">
10
10
  <ng-content></ng-content>
11
11
  </div>
12
- `, isInline: true }); }
12
+ `, isInline: true });
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListEmptyContentComponent, decorators: [{
15
15
  type: Component,
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
22
22
  `
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBU0gsTUFBTSxPQUFPLDRCQUE0QjsrR0FBNUIsNEJBQTRCO21HQUE1Qiw0QkFBNEIsOERBTjdCOzs7O0dBSVQ7OzRGQUVVLDRCQUE0QjtrQkFSeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGlzIGNlbnRlcmVkIGZvciB1c2Ugd2l0aGluIGFuIGVtcHR5IGxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LWVtcHR5LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGlzdC1lbXB0eS1jb250ZW50XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCB7fVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBU0gsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsOERBTjdCOzs7O0dBSVQ7OzRGQUVVLDRCQUE0QjtrQkFSeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGlzIGNlbnRlcmVkIGZvciB1c2Ugd2l0aGluIGFuIGVtcHR5IGxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LWVtcHR5LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGlzdC1lbXB0eS1jb250ZW50XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCB7fVxuIl19
@@ -20,14 +20,16 @@ export const DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE = `
20
20
  </dbx-list>
21
21
  `;
22
22
  export class AbstractDbxListWrapperDirective {
23
+ initConfig;
24
+ _init = new BehaviorSubject(undefined);
25
+ config$ = this._init.pipe(filterMaybe(), valueFromObservableOrValue(), map((x) => this._buildListConfig(x)), shareReplay(1));
26
+ disabled;
27
+ selectionMode;
28
+ state$;
29
+ clickItem = new EventEmitter();
30
+ loadMore = new EventEmitter();
23
31
  constructor(initConfig) {
24
32
  this.initConfig = initConfig;
25
- this._init = new BehaviorSubject(undefined);
26
- this.config$ = this._init.pipe(filterMaybe(), valueFromObservableOrValue(), map((x) => this._buildListConfig(x)), shareReplay(1));
27
- this.clickItem = new EventEmitter();
28
- this.loadMore = new EventEmitter();
29
- }
30
- ngOnInit() {
31
33
  this._init.next(this.initConfig);
32
34
  }
33
35
  ngOnDestroy() {
@@ -42,8 +44,8 @@ export class AbstractDbxListWrapperDirective {
42
44
  loadMore: () => this.loadMore.emit()
43
45
  };
44
46
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxListWrapperDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
46
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxListWrapperDirective, inputs: { disabled: "disabled", selectionMode: "selectionMode", state$: "state$" }, outputs: { clickItem: "clickItem", loadMore: "loadMore" }, ngImport: i0 }); }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxListWrapperDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
48
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxListWrapperDirective, inputs: { disabled: "disabled", selectionMode: "selectionMode", state$: "state$" }, outputs: { clickItem: "clickItem", loadMore: "loadMore" }, ngImport: i0 });
47
49
  }
48
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxListWrapperDirective, decorators: [{
49
51
  type: Directive
@@ -59,10 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
61
  type: Output
60
62
  }] } });
61
63
  export class AbstractDbxSelectionListWrapperDirective extends AbstractDbxListWrapperDirective {
62
- constructor() {
63
- super(...arguments);
64
- this.selectionChange = new EventEmitter();
65
- }
64
+ selectionChange = new EventEmitter();
66
65
  ngOnDestroy() {
67
66
  this.selectionChange.complete();
68
67
  }
@@ -71,12 +70,12 @@ export class AbstractDbxSelectionListWrapperDirective extends AbstractDbxListWra
71
70
  result.onSelectionChange = (x) => this.selectionChange.next(x);
72
71
  return result;
73
72
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxSelectionListWrapperDirective, outputs: { selectionChange: "selectionChange" }, usesInheritance: true, ngImport: i0 }); }
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
74
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxSelectionListWrapperDirective, outputs: { selectionChange: "selectionChange" }, usesInheritance: true, ngImport: i0 });
76
75
  }
77
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, decorators: [{
78
77
  type: Directive
79
78
  }], propDecorators: { selectionChange: [{
80
79
  type: Output
81
80
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQXFCLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUYsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUc7Ozs7Ozs7Q0FPckQsQ0FBQztBQUVGLGdCQUFnQjtBQUNoQixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRzs7Ozs7OztDQU90RCxDQUFDO0FBS0YsTUFBTSxPQUFnQiwrQkFBK0I7SUF3Qm5ELFlBQXFCLFVBQWdDO1FBQWhDLGVBQVUsR0FBVixVQUFVLENBQXNCO1FBdkJwQyxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQThCLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDaEMsV0FBVyxFQUFFLEVBQ2IsMEJBQTBCLEVBQUUsRUFDNUIsR0FBRyxDQUFDLENBQUMsQ0FBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdkMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFZRixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUdsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVvQixDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsZ0JBQWdCLENBQUMsTUFBUztRQUNsQyxPQUFPO1lBQ0wsR0FBRyxNQUFNO1lBQ1QsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1NBQ3JDLENBQUM7SUFDSixDQUFDOytHQTFDbUIsK0JBQStCO21HQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBRHBELFNBQVM7NkZBV1IsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsTUFBTTs7QUE0QlQsTUFBTSxPQUFnQix3Q0FBaU8sU0FBUSwrQkFBMkM7SUFEMVM7O1FBR0Usb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztLQVc3RDtJQVRVLFdBQVc7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRWtCLGdCQUFnQixDQUFDLE1BQVM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0FabUIsd0NBQXdDO21HQUF4Qyx3Q0FBd0M7OzRGQUF4Qyx3Q0FBd0M7a0JBRDdELFNBQVM7OEJBR1IsZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdExvYWRpbmdTdGF0ZSwgZmlsdGVyTWF5YmUsIE9ic2VydmFibGVPclZhbHVlLCB2YWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3ksIERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieExpc3RDb25maWcgfSBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IERieExpc3RTZWxlY3Rpb25Nb2RlLCBEYnhMaXN0VmlldywgTGlzdFNlbGVjdGlvblN0YXRlIH0gZnJvbSAnLi9saXN0LnZpZXcnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieExpc3RWaWV3V3JhcHBlciB9IGZyb20gJy4vbGlzdC53cmFwcGVyJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RBVElDX0xJU1RfRElSRUNUSVZFX1RFTVBMQVRFID0gYFxuPGRieC1saXN0IFtjb25maWddPVwiY29uZmlnXCI+XG4gIDxuZy1jb250ZW50IHRvcCBzZWxlY3Q9XCJbdG9wXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgYm90dG9tIHNlbGVjdD1cIltib3R0b21dXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBlbXB0eSBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBlbXB0eUxvYWRpbmcgc2VsZWN0PVwiW2VtcHR5TG9hZGluZ11cIj48L25nLWNvbnRlbnQ+XG48L2RieC1saXN0PlxuYDtcblxuLy8gTUFSSzogV3JhcHBlclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElTVF9XUkFQUEVSX0RJUkVDVElWRV9URU1QTEFURSA9IGBcbjxkYngtbGlzdCBbc3RhdGUkXT1cInN0YXRlJFwiIFtjb25maWddPVwiY29uZmlnJCB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiPlxuICA8bmctY29udGVudCB0b3Agc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGJvdHRvbSBzZWxlY3Q9XCJbYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHkgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHlMb2FkaW5nIHNlbGVjdD1cIltlbXB0eUxvYWRpbmddXCI+PC9uZy1jb250ZW50PlxuPC9kYngtbGlzdD5cbmA7XG5cbmV4cG9ydCB0eXBlIERieExpc3RXcmFwcGVyQ29uZmlnPFQsIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+PiA9IE9taXQ8RGJ4TGlzdENvbmZpZzxULCBWPiwgJ29uQ2xpY2snIHwgJ2xvYWRNb3JlJz47XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4TGlzdFdyYXBwZXJEaXJlY3RpdmU8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4sIEMgZXh0ZW5kcyBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiA9IERieExpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERieExpc3RWaWV3V3JhcHBlcjxULCBTPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luaXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPE9ic2VydmFibGVPclZhbHVlPEM+Pj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgY29uZmlnJCA9IHRoaXMuX2luaXQucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIHZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlKCksXG4gICAgbWFwKCh4OiBDKSA9PiB0aGlzLl9idWlsZExpc3RDb25maWcoeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ/OiBNYXliZTxib29sZWFuPjtcblxuICBASW5wdXQoKVxuICBzZWxlY3Rpb25Nb2RlPzogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+O1xuXG4gIEBJbnB1dCgpXG4gIHN0YXRlJD86IE1heWJlPE9ic2VydmFibGU8Uz4+O1xuXG4gIEBPdXRwdXQoKVxuICBjbGlja0l0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGxvYWRNb3JlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGluaXRDb25maWc6IE9ic2VydmFibGVPclZhbHVlPEM+KSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXQubmV4dCh0aGlzLmluaXRDb25maWcpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faW5pdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuY2xpY2tJdGVtLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5sb2FkTW9yZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9idWlsZExpc3RDb25maWcoY29uZmlnOiBDKTogRGJ4TGlzdENvbmZpZzxULCBWPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG9uQ2xpY2s6ICh4KSA9PiB0aGlzLmNsaWNrSXRlbS5lbWl0KHgpLFxuICAgICAgbG9hZE1vcmU6ICgpID0+IHRoaXMubG9hZE1vcmUuZW1pdCgpXG4gICAgfTtcbiAgfVxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gV3JhcHBlclxuZXhwb3J0IHR5cGUgRGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJDb25maWc8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+ID0gT21pdDxEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgJ29uU2VsZWN0aW9uQ2hhbmdlJz47XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJEaXJlY3RpdmU8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4sIEMgZXh0ZW5kcyBEYnhTZWxlY3Rpb25MaXN0V3JhcHBlckNvbmZpZzxULCBWPiA9IERieFNlbGVjdGlvbkxpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGV4dGVuZHMgQWJzdHJhY3REYnhMaXN0V3JhcHBlckRpcmVjdGl2ZTxULCBWLCBDLCBTPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKVxuICBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RTZWxlY3Rpb25TdGF0ZTxUPj4oKTtcblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9idWlsZExpc3RDb25maWcoY29uZmlnOiBDKTogRGJ4TGlzdENvbmZpZzxULCBWPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3VwZXIuX2J1aWxkTGlzdENvbmZpZyhjb25maWcpO1xuICAgIHJlc3VsdC5vblNlbGVjdGlvbkNoYW5nZSA9ICh4KSA9PiB0aGlzLnNlbGVjdGlvbkNoYW5nZS5uZXh0KHgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQXFCLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1sRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRzs7Ozs7OztDQU9yRCxDQUFDO0FBRUYsZ0JBQWdCO0FBQ2hCLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHOzs7Ozs7O0NBT3RELENBQUM7QUFLRixNQUFNLE9BQWdCLCtCQUErQjtJQXlCOUI7SUF4QkosS0FBSyxHQUFHLElBQUksZUFBZSxDQUE4QixTQUFTLENBQUMsQ0FBQztJQUU1RSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2hDLFdBQVcsRUFBRSxFQUNiLDBCQUEwQixFQUFFLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3ZDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBR0YsUUFBUSxDQUFrQjtJQUcxQixhQUFhLENBQStCO0lBRzVDLE1BQU0sQ0FBd0I7SUFHckIsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFHbEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFN0MsWUFBcUIsVUFBZ0M7UUFBaEMsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLGdCQUFnQixDQUFDLE1BQVM7UUFDbEMsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtTQUNyQyxDQUFDO0lBQ0osQ0FBQzt3R0F6Q21CLCtCQUErQjs0RkFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQURwRCxTQUFTOzZGQVlSLFFBQVE7c0JBRFAsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlHLFNBQVM7c0JBRGpCLE1BQU07Z0JBSUUsUUFBUTtzQkFEaEIsTUFBTTs7QUEwQlQsTUFBTSxPQUFnQix3Q0FBaU8sU0FBUSwrQkFBMkM7SUFFeFMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0lBRW5ELFdBQVc7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRWtCLGdCQUFnQixDQUFDLE1BQVM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt3R0FabUIsd0NBQXdDOzRGQUF4Qyx3Q0FBd0M7OzRGQUF4Qyx3Q0FBd0M7a0JBRDdELFNBQVM7OEJBR1IsZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdExvYWRpbmdTdGF0ZSwgZmlsdGVyTWF5YmUsIE9ic2VydmFibGVPclZhbHVlLCB2YWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0Q29uZmlnIH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhMaXN0U2VsZWN0aW9uTW9kZSwgRGJ4TGlzdFZpZXcsIExpc3RTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJy4vbGlzdC52aWV3JztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhMaXN0Vmlld1dyYXBwZXIgfSBmcm9tICcuL2xpc3Qud3JhcHBlcic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUQVRJQ19MSVNUX0RJUkVDVElWRV9URU1QTEFURSA9IGBcbjxkYngtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICA8bmctY29udGVudCB0b3Agc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGJvdHRvbSBzZWxlY3Q9XCJbYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHkgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHlMb2FkaW5nIHNlbGVjdD1cIltlbXB0eUxvYWRpbmddXCI+PC9uZy1jb250ZW50PlxuPC9kYngtbGlzdD5cbmA7XG5cbi8vIE1BUks6IFdyYXBwZXJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJU1RfV1JBUFBFUl9ESVJFQ1RJVkVfVEVNUExBVEUgPSBgXG48ZGJ4LWxpc3QgW3N0YXRlJF09XCJzdGF0ZSRcIiBbY29uZmlnXT1cImNvbmZpZyQgfCBhc3luY1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIj5cbiAgPG5nLWNvbnRlbnQgdG9wIHNlbGVjdD1cIlt0b3BdXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBib3R0b20gc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGVtcHR5IHNlbGVjdD1cIltlbXB0eV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGVtcHR5TG9hZGluZyBzZWxlY3Q9XCJbZW1wdHlMb2FkaW5nXVwiPjwvbmctY29udGVudD5cbjwvZGJ4LWxpc3Q+XG5gO1xuXG5leHBvcnQgdHlwZSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPj4gPSBPbWl0PERieExpc3RDb25maWc8VCwgVj4sICdvbkNsaWNrJyB8ICdsb2FkTW9yZSc+O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieExpc3RXcmFwcGVyRGlyZWN0aXZlPFQsIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBDIGV4dGVuZHMgRGJ4TGlzdFdyYXBwZXJDb25maWc8VCwgVj4gPSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgUyBleHRlbmRzIExpc3RMb2FkaW5nU3RhdGU8VD4gPSBMaXN0TG9hZGluZ1N0YXRlPFQ+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgRGJ4TGlzdFZpZXdXcmFwcGVyPFQsIFM+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5pdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8T2JzZXJ2YWJsZU9yVmFsdWU8Qz4+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0aGlzLl9pbml0LnBpcGUoXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICB2YWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZSgpLFxuICAgIG1hcCgoeDogQykgPT4gdGhpcy5fYnVpbGRMaXN0Q29uZmlnKHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkPzogTWF5YmU8Ym9vbGVhbj47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0aW9uTW9kZT86IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPjtcblxuICBASW5wdXQoKVxuICBzdGF0ZSQ/OiBNYXliZTxPYnNlcnZhYmxlPFM+PjtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgY2xpY2tJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbml0Q29uZmlnOiBPYnNlcnZhYmxlT3JWYWx1ZTxDPikge1xuICAgIHRoaXMuX2luaXQubmV4dCh0aGlzLmluaXRDb25maWcpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faW5pdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuY2xpY2tJdGVtLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5sb2FkTW9yZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9idWlsZExpc3RDb25maWcoY29uZmlnOiBDKTogRGJ4TGlzdENvbmZpZzxULCBWPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG9uQ2xpY2s6ICh4KSA9PiB0aGlzLmNsaWNrSXRlbS5lbWl0KHgpLFxuICAgICAgbG9hZE1vcmU6ICgpID0+IHRoaXMubG9hZE1vcmUuZW1pdCgpXG4gICAgfTtcbiAgfVxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gV3JhcHBlclxuZXhwb3J0IHR5cGUgRGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJDb25maWc8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+ID0gT21pdDxEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgJ29uU2VsZWN0aW9uQ2hhbmdlJz47XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJEaXJlY3RpdmU8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4sIEMgZXh0ZW5kcyBEYnhTZWxlY3Rpb25MaXN0V3JhcHBlckNvbmZpZzxULCBWPiA9IERieFNlbGVjdGlvbkxpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGV4dGVuZHMgQWJzdHJhY3REYnhMaXN0V3JhcHBlckRpcmVjdGl2ZTxULCBWLCBDLCBTPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKVxuICBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RTZWxlY3Rpb25TdGF0ZTxUPj4oKTtcblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9idWlsZExpc3RDb25maWcoY29uZmlnOiBDKTogRGJ4TGlzdENvbmZpZzxULCBWPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3VwZXIuX2J1aWxkTGlzdENvbmZpZyhjb25maWcpO1xuICAgIHJlc3VsdC5vblNlbGVjdGlvbkNoYW5nZSA9ICh4KSA9PiB0aGlzLnNlbGVjdGlvbkNoYW5nZS5uZXh0KHgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==