@kirbydesign/designsystem 9.4.1 → 9.6.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 (560) hide show
  1. package/avatar/avatar.component.d.ts +5 -2
  2. package/calendar/helpers/calendar-cell.model.d.ts +2 -0
  3. package/card/card-as-button/card-as-button.directive.d.ts +2 -3
  4. package/card/card.component.d.ts +9 -2
  5. package/chart/shared/base-chart/base-chart.component.d.ts +2 -2
  6. package/esm2022/accordion/accordion-item.component.mjs +4 -4
  7. package/esm2022/accordion/accordion.directive.mjs +4 -4
  8. package/esm2022/accordion/accordion.module.mjs +5 -5
  9. package/esm2022/accordion/kirbydesign-designsystem-accordion.mjs +1 -1
  10. package/esm2022/accordion/public_api.mjs +1 -1
  11. package/esm2022/action-group/action-group.component.mjs +4 -4
  12. package/esm2022/action-group/kirbydesign-designsystem-action-group.mjs +1 -1
  13. package/esm2022/action-group/public_api.mjs +1 -1
  14. package/esm2022/avatar/avatar.component.mjs +12 -6
  15. package/esm2022/avatar/kirbydesign-designsystem-avatar.mjs +1 -1
  16. package/esm2022/avatar/public_api.mjs +1 -1
  17. package/esm2022/badge/badge.component.mjs +4 -4
  18. package/esm2022/badge/kirbydesign-designsystem-badge.mjs +1 -1
  19. package/esm2022/badge/public_api.mjs +1 -1
  20. package/esm2022/button/button.component.mjs +4 -4
  21. package/esm2022/button/kirbydesign-designsystem-button.mjs +1 -1
  22. package/esm2022/button/public_api.mjs +1 -1
  23. package/esm2022/calendar/calendar.component.mjs +20 -19
  24. package/esm2022/calendar/helpers/calendar-cell.model.mjs +1 -1
  25. package/esm2022/calendar/helpers/calendar-options.model.mjs +1 -1
  26. package/esm2022/calendar/helpers/calendar.helper.mjs +4 -4
  27. package/esm2022/calendar/kirbydesign-designsystem-calendar.mjs +1 -1
  28. package/esm2022/calendar/options/calendar-year-navigator-config.mjs +1 -1
  29. package/esm2022/calendar/public_api.mjs +1 -1
  30. package/esm2022/card/card-as-button/card-as-button.directive.mjs +4 -9
  31. package/esm2022/card/card-flag-level.mjs +1 -1
  32. package/esm2022/card/card-footer/card-footer.component.mjs +5 -5
  33. package/esm2022/card/card-header/card-header.component.mjs +4 -4
  34. package/esm2022/card/card.component.mjs +27 -9
  35. package/esm2022/card/card.module.mjs +5 -5
  36. package/esm2022/card/kirbydesign-designsystem-card.mjs +1 -1
  37. package/esm2022/card/public_api.mjs +1 -1
  38. package/esm2022/chart/chart/chart.component.mjs +4 -4
  39. package/esm2022/chart/chart/index.mjs +1 -1
  40. package/esm2022/chart/chart-config/chart-bar-config/chart-bar-config.mjs +1 -1
  41. package/esm2022/chart/chart-config/chart-base-config.mjs +1 -1
  42. package/esm2022/chart/chart-config/chart-stock-config/chart-stock-config.mjs +1 -1
  43. package/esm2022/chart/chart-config/chart-stock-config/data-label-position/data-label-position.mjs +1 -1
  44. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.mjs +1 -1
  45. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.mjs +1 -1
  46. package/esm2022/chart/charts.module.mjs +5 -5
  47. package/esm2022/chart/kirbydesign-designsystem-chart.mjs +1 -1
  48. package/esm2022/chart/public_api.mjs +1 -1
  49. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +4 -4
  50. package/esm2022/chart/shared/base-chart/index.mjs +1 -1
  51. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +4 -4
  52. package/esm2022/chart/shared/chart-config-service/configs/annotations.config.mjs +1 -1
  53. package/esm2022/chart/shared/chart-config-service/configs/global-defaults.config.mjs +1 -1
  54. package/esm2022/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.mjs +1 -1
  55. package/esm2022/chart/shared/chart-config-service/configs/type.config.mjs +1 -1
  56. package/esm2022/chart/shared/chart-config-service/index.mjs +1 -1
  57. package/esm2022/chart/shared/chart-js-service/annotations.delegate.mjs +1 -1
  58. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +4 -4
  59. package/esm2022/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.mjs +1 -1
  60. package/esm2022/chart/shared/chart-js-service/configured-chart-js.mjs +1 -1
  61. package/esm2022/chart/shared/chart-js-service/index.mjs +1 -1
  62. package/esm2022/chart/shared/chart-js-service/test-utils.mjs +1 -1
  63. package/esm2022/chart/shared/charts.types.mjs +1 -1
  64. package/esm2022/chart/shared/index.mjs +1 -1
  65. package/esm2022/chart/stock-chart/index.mjs +1 -1
  66. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +4 -4
  67. package/esm2022/chart/stock-chart/stock-chart.component.mjs +4 -4
  68. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  69. package/esm2022/checkbox/kirbydesign-designsystem-checkbox.mjs +1 -1
  70. package/esm2022/checkbox/public_api.mjs +1 -1
  71. package/esm2022/data-table/data-table.module.mjs +5 -5
  72. package/esm2022/data-table/kirbydesign-designsystem-data-table.mjs +1 -1
  73. package/esm2022/data-table/public_api.mjs +1 -1
  74. package/esm2022/data-table/sortable/sortable.component.mjs +4 -4
  75. package/esm2022/data-table/table/table.component.mjs +4 -4
  76. package/esm2022/data-table/table-row/table-row.component.mjs +4 -4
  77. package/esm2022/divider/divider.component.mjs +4 -4
  78. package/esm2022/divider/kirbydesign-designsystem-divider.mjs +1 -1
  79. package/esm2022/divider/public_api.mjs +1 -1
  80. package/esm2022/dropdown/dropdown.component.mjs +5 -5
  81. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  82. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  83. package/esm2022/dropdown/keyboard-handler.service.mjs +4 -4
  84. package/esm2022/dropdown/kirbydesign-designsystem-dropdown.mjs +1 -1
  85. package/esm2022/dropdown/public_api.mjs +1 -1
  86. package/esm2022/empty-state/empty-state.component.mjs +4 -4
  87. package/esm2022/empty-state/empty-state.module.mjs +5 -5
  88. package/esm2022/empty-state/kirbydesign-designsystem-empty-state.mjs +1 -1
  89. package/esm2022/empty-state/public_api.mjs +1 -1
  90. package/esm2022/fab-sheet/fab-sheet.component.mjs +4 -4
  91. package/esm2022/fab-sheet/kirbydesign-designsystem-fab-sheet.mjs +1 -1
  92. package/esm2022/fab-sheet/public_api.mjs +1 -1
  93. package/esm2022/flag/flag.component.mjs +4 -4
  94. package/esm2022/flag/kirbydesign-designsystem-flag.mjs +1 -1
  95. package/esm2022/flag/public_api.mjs +1 -1
  96. package/esm2022/form-field/directives/affix/affix.directive.mjs +4 -4
  97. package/esm2022/form-field/directives/date/date-input.directive.mjs +4 -4
  98. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +4 -4
  99. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +4 -4
  100. package/esm2022/form-field/form-field.component.mjs +4 -4
  101. package/esm2022/form-field/form-field.module.mjs +5 -5
  102. package/esm2022/form-field/input/input.component.mjs +4 -4
  103. package/esm2022/form-field/input-counter/input-counter.component.mjs +4 -4
  104. package/esm2022/form-field/kirbydesign-designsystem-form-field.mjs +1 -1
  105. package/esm2022/form-field/public_api.mjs +1 -1
  106. package/esm2022/form-field/textarea/textarea.component.mjs +4 -4
  107. package/esm2022/header/header.component.mjs +24 -17
  108. package/esm2022/header/header.module.mjs +5 -5
  109. package/esm2022/header/kirbydesign-designsystem-header.mjs +1 -1
  110. package/esm2022/header/public_api.mjs +1 -1
  111. package/esm2022/helpers/chart-config-has-type.mjs +1 -1
  112. package/esm2022/helpers/color-helper.mjs +1 -1
  113. package/esm2022/helpers/deep-copy.mjs +1 -1
  114. package/esm2022/helpers/design-token-helper.mjs +1 -1
  115. package/esm2022/helpers/element-has-ancestor.mjs +1 -1
  116. package/esm2022/helpers/ionic-element-part-helper.mjs +4 -4
  117. package/esm2022/helpers/kirby-animation.mjs +1 -1
  118. package/esm2022/helpers/kirbydesign-designsystem-helpers.mjs +1 -1
  119. package/esm2022/helpers/line-clamp-helper.mjs +4 -4
  120. package/esm2022/helpers/merge-deep.mjs +1 -1
  121. package/esm2022/helpers/platform.service.mjs +4 -4
  122. package/esm2022/helpers/public_api.mjs +1 -1
  123. package/esm2022/helpers/scss/kirbydesign-designsystem-helpers-scss.mjs +1 -1
  124. package/esm2022/helpers/scss/public_api.mjs +1 -1
  125. package/esm2022/helpers/scss/scss-helper.mjs +1 -1
  126. package/esm2022/helpers/string-helper.mjs +1 -1
  127. package/esm2022/helpers/theme-color.type.mjs +1 -1
  128. package/esm2022/helpers/unique-id-generator.helper.mjs +1 -1
  129. package/esm2022/icon/icon-registry.service.mjs +4 -4
  130. package/esm2022/icon/icon-settings.mjs +1 -1
  131. package/esm2022/icon/icon.component.mjs +4 -4
  132. package/esm2022/icon/icon.module.mjs +5 -5
  133. package/esm2022/icon/kirby-icon-settings.mjs +1 -1
  134. package/esm2022/icon/kirbydesign-designsystem-icon.mjs +1 -1
  135. package/esm2022/icon/public_api.mjs +1 -1
  136. package/esm2022/item/item.component.mjs +5 -5
  137. package/esm2022/item/item.module.mjs +5 -5
  138. package/esm2022/item/kirbydesign-designsystem-item.mjs +1 -1
  139. package/esm2022/item/label/label.component.mjs +4 -4
  140. package/esm2022/item/public_api.mjs +1 -1
  141. package/esm2022/item-group/item-group.component.mjs +4 -4
  142. package/esm2022/item-group/kirbydesign-designsystem-item-group.mjs +1 -1
  143. package/esm2022/item-group/public_api.mjs +1 -1
  144. package/esm2022/item-sliding/item-sliding.component.mjs +4 -4
  145. package/esm2022/item-sliding/item-sliding.types.mjs +1 -1
  146. package/esm2022/item-sliding/kirbydesign-designsystem-item-sliding.mjs +1 -1
  147. package/esm2022/item-sliding/public_api.mjs +1 -1
  148. package/esm2022/kirby-app/kirby-app.component.mjs +4 -4
  149. package/esm2022/kirby-app/kirby-app.module.mjs +5 -5
  150. package/esm2022/kirby-app/kirbydesign-designsystem-kirby-app.mjs +1 -1
  151. package/esm2022/kirby-app/public_api.mjs +1 -1
  152. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +5 -5
  153. package/esm2022/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.mjs +1 -1
  154. package/esm2022/kirby-ionic-module/public_api.mjs +1 -1
  155. package/esm2022/kirbydesign-designsystem.mjs +1 -1
  156. package/esm2022/lib/components/index.mjs +1 -1
  157. package/esm2022/lib/components/page-local-navigation/index.mjs +1 -1
  158. package/esm2022/lib/components/page-local-navigation/page-local-navigation-item.mjs +1 -1
  159. package/esm2022/lib/components/page-local-navigation/page-local-navigation.component.mjs +5 -5
  160. package/esm2022/lib/components/segmented-control/segment-item.mjs +1 -1
  161. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +36 -19
  162. package/esm2022/lib/directives/index.mjs +1 -1
  163. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +4 -4
  164. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +4 -4
  165. package/esm2022/lib/index.mjs +1 -1
  166. package/esm2022/lib/kirby-experimental.module.mjs +5 -5
  167. package/esm2022/lib/kirby.module.mjs +5 -5
  168. package/esm2022/list/directives/index.mjs +1 -1
  169. package/esm2022/list/directives/infinite-scroll.directive.mjs +4 -4
  170. package/esm2022/list/directives/list-item-color.directive.mjs +4 -4
  171. package/esm2022/list/directives/scroll.model.mjs +1 -1
  172. package/esm2022/list/helpers/index.mjs +1 -1
  173. package/esm2022/list/helpers/list-helper.mjs +4 -4
  174. package/esm2022/list/kirbydesign-designsystem-list.mjs +1 -1
  175. package/esm2022/list/list-experimental/index.mjs +1 -1
  176. package/esm2022/list/list-experimental/list-experimental.component.mjs +4 -4
  177. package/esm2022/list/list-header/index.mjs +1 -1
  178. package/esm2022/list/list-header/list-header.component.mjs +4 -4
  179. package/esm2022/list/list-item/index.mjs +1 -1
  180. package/esm2022/list/list-item/list-item.component.mjs +5 -5
  181. package/esm2022/list/list-section-header/index.mjs +1 -1
  182. package/esm2022/list/list-section-header/list-section-header.component.mjs +4 -4
  183. package/esm2022/list/list-swipe-action.mjs +1 -1
  184. package/esm2022/list/list-swipe-action.type.mjs +1 -1
  185. package/esm2022/list/list.component.mjs +5 -5
  186. package/esm2022/list/list.directive.mjs +13 -13
  187. package/esm2022/list/list.event.mjs +1 -1
  188. package/esm2022/list/list.module.mjs +18 -12
  189. package/esm2022/list/public_api.mjs +1 -1
  190. package/esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.mjs +1 -1
  191. package/esm2022/loading-overlay/loading-overlay.component.mjs +5 -5
  192. package/esm2022/loading-overlay/loading-overlay.service.mjs +4 -4
  193. package/esm2022/loading-overlay/public_api.mjs +1 -1
  194. package/esm2022/menu/kirbydesign-designsystem-menu.mjs +1 -1
  195. package/esm2022/menu/menu.component.mjs +4 -4
  196. package/esm2022/menu/public_api.mjs +1 -1
  197. package/esm2022/modal/kirbydesign-designsystem-modal.mjs +1 -1
  198. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +4 -4
  199. package/esm2022/modal/modal/action-sheet/config/action-sheet-config.mjs +1 -1
  200. package/esm2022/modal/modal/action-sheet/config/action-sheet-item.mjs +1 -1
  201. package/esm2022/modal/modal/action-sheet/index.mjs +1 -1
  202. package/esm2022/modal/modal/alert/alert.component.mjs +4 -4
  203. package/esm2022/modal/modal/alert/config/alert-config.mjs +1 -1
  204. package/esm2022/modal/modal/alert/index.mjs +1 -1
  205. package/esm2022/modal/modal/footer/modal-footer.component.mjs +5 -5
  206. package/esm2022/modal/modal/index.mjs +1 -1
  207. package/esm2022/modal/modal/modal-component/modal.component.mjs +12 -19
  208. package/esm2022/modal/modal/services/action-sheet.helper.mjs +4 -4
  209. package/esm2022/modal/modal/services/alert.helper.mjs +4 -4
  210. package/esm2022/modal/modal/services/can-dismiss-modal-guard.mjs +31 -0
  211. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +4 -4
  212. package/esm2022/modal/modal/services/index.mjs +2 -1
  213. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +4 -4
  214. package/esm2022/modal/modal/services/modal.controller.mjs +12 -8
  215. package/esm2022/modal/modal/services/modal.helper.mjs +24 -26
  216. package/esm2022/modal/modal-navigation.service.mjs +25 -14
  217. package/esm2022/modal/modal-wrapper/compact/index.mjs +1 -1
  218. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +4 -4
  219. package/esm2022/modal/modal-wrapper/config/drawer-supplementary-action.mjs +1 -1
  220. package/esm2022/modal/modal-wrapper/config/index.mjs +1 -1
  221. package/esm2022/modal/modal-wrapper/config/modal-config.helper.mjs +1 -1
  222. package/esm2022/modal/modal-wrapper/config/modal-config.mjs +1 -1
  223. package/esm2022/modal/modal-wrapper/index.mjs +1 -1
  224. package/esm2022/modal/modal-wrapper/modal-elements-mover.delegate.mjs +1 -1
  225. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +6 -6
  226. package/esm2022/modal/modal.interfaces.mjs +4 -4
  227. package/esm2022/modal/public_api.mjs +1 -1
  228. package/esm2022/modal/v2/footer/footer.component.mjs +4 -4
  229. package/esm2022/modal/v2/kirby-modal.module.mjs +5 -5
  230. package/esm2022/modal/v2/kirbydesign-designsystem-modal-v2.mjs +1 -1
  231. package/esm2022/modal/v2/modal/modal.component.mjs +5 -5
  232. package/esm2022/modal/v2/modal-routing/modal-routing.component.mjs +4 -4
  233. package/esm2022/modal/v2/public_api.mjs +1 -1
  234. package/esm2022/modal/v2/services/modal.controller.mjs +4 -4
  235. package/esm2022/modal/v2/wrapper/wrapper.component.mjs +5 -5
  236. package/esm2022/page/kirbydesign-designsystem-page.mjs +1 -1
  237. package/esm2022/page/page-footer/page-footer.component.mjs +4 -4
  238. package/esm2022/page/page.component.mjs +44 -35
  239. package/esm2022/page/page.module.mjs +5 -5
  240. package/esm2022/page/public_api.mjs +1 -1
  241. package/esm2022/popover/kirbydesign-designsystem-popover.mjs +1 -1
  242. package/esm2022/popover/popover.component.mjs +4 -4
  243. package/esm2022/popover/public_api.mjs +1 -1
  244. package/esm2022/progress-circle/kirbydesign-designsystem-progress-circle.mjs +1 -1
  245. package/esm2022/progress-circle/progress-circle-ring.component.mjs +25 -16
  246. package/esm2022/progress-circle/progress-circle.component.mjs +4 -4
  247. package/esm2022/progress-circle/public_api.mjs +1 -1
  248. package/esm2022/public-api.mjs +1 -1
  249. package/esm2022/radio/kirbydesign-designsystem-radio.mjs +1 -1
  250. package/esm2022/radio/public_api.mjs +1 -1
  251. package/esm2022/radio/radio-group/radio-group.component.mjs +4 -4
  252. package/esm2022/radio/radio-module.mjs +5 -5
  253. package/esm2022/radio/radio.component.mjs +5 -5
  254. package/esm2022/range/kirbydesign-designsystem-range.mjs +1 -1
  255. package/esm2022/range/public_api.mjs +1 -1
  256. package/esm2022/range/range.component.mjs +4 -4
  257. package/esm2022/reorder-list/kirbydesign-designsystem-reorder-list.mjs +1 -1
  258. package/esm2022/reorder-list/public_api.mjs +1 -1
  259. package/esm2022/reorder-list/reorder-event.mjs +1 -1
  260. package/esm2022/reorder-list/reorder-list.component.mjs +4 -4
  261. package/esm2022/router-outlet/kirbydesign-designsystem-router-outlet.mjs +1 -1
  262. package/esm2022/router-outlet/public_api.mjs +1 -1
  263. package/esm2022/router-outlet/router-outlet.component.mjs +4 -4
  264. package/esm2022/router-outlet/router-outlet.module.mjs +5 -5
  265. package/esm2022/section-header/kirbydesign-designsystem-section-header.mjs +1 -1
  266. package/esm2022/section-header/public_api.mjs +1 -1
  267. package/esm2022/section-header/section-header.component.mjs +5 -5
  268. package/esm2022/shared/component-configuration.mjs +1 -1
  269. package/esm2022/shared/component-loader.directive.mjs +4 -4
  270. package/esm2022/shared/dynamic-component.mjs +1 -1
  271. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +4 -4
  272. package/esm2022/shared/fit-heading/index.mjs +1 -1
  273. package/esm2022/shared/floating/floating.directive.mjs +4 -4
  274. package/esm2022/shared/floating/kirbydesign-designsystem-shared-floating.mjs +1 -1
  275. package/esm2022/shared/floating/public_api.mjs +1 -1
  276. package/esm2022/shared/kirbydesign-designsystem-shared.mjs +1 -1
  277. package/esm2022/shared/portal/kirbydesign-designsystem-shared-portal.mjs +1 -1
  278. package/esm2022/shared/portal/portal.directive.mjs +4 -4
  279. package/esm2022/shared/portal/public_api.mjs +1 -1
  280. package/esm2022/shared/public_api.mjs +1 -1
  281. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +4 -4
  282. package/esm2022/shared/resize-observer/resize-observer.service.mjs +4 -4
  283. package/esm2022/shared/theme-color/theme-color.directive.mjs +4 -4
  284. package/esm2022/slide/kirbydesign-designsystem-slide.mjs +1 -1
  285. package/esm2022/slide/public_api.mjs +1 -1
  286. package/esm2022/slide/slide-stretch-height.directive.mjs +4 -4
  287. package/esm2022/slide/slide.directive.mjs +4 -4
  288. package/esm2022/slide/slide.module.mjs +5 -5
  289. package/esm2022/slide/slides.component.mjs +4 -4
  290. package/esm2022/slide-button/kirbydesign-designsystem-slide-button.mjs +1 -1
  291. package/esm2022/slide-button/public_api.mjs +1 -1
  292. package/esm2022/slide-button/slide-button.component.mjs +5 -5
  293. package/esm2022/spinner/kirbydesign-designsystem-spinner.mjs +1 -1
  294. package/esm2022/spinner/public_api.mjs +1 -1
  295. package/esm2022/spinner/spinner.component.mjs +4 -4
  296. package/esm2022/spinner/spinner.module.mjs +5 -5
  297. package/esm2022/tab-navigation/kirbydesign-designsystem-tab-navigation.mjs +1 -1
  298. package/esm2022/tab-navigation/public_api.mjs +1 -1
  299. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +5 -5
  300. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +8 -5
  301. package/esm2022/tab-navigation/tab-navigation.module.mjs +5 -5
  302. package/esm2022/tabs/kirbydesign-designsystem-tabs.mjs +1 -1
  303. package/esm2022/tabs/public_api.mjs +1 -1
  304. package/esm2022/tabs/tab-button/tab-button.component.mjs +5 -5
  305. package/esm2022/tabs/tab-button/tab-button.events.mjs +1 -1
  306. package/esm2022/tabs/tabs.component.mjs +4 -4
  307. package/esm2022/tabs/tabs.module.mjs +5 -5
  308. package/esm2022/tabs/tabs.service.mjs +4 -4
  309. package/esm2022/testing/element-css-custom-matchers.mjs +1 -1
  310. package/esm2022/testing/kirbydesign-designsystem-testing.mjs +1 -1
  311. package/esm2022/testing/public_api.mjs +1 -1
  312. package/esm2022/testing/test-helper.mjs +5 -5
  313. package/esm2022/testing-base/kirbydesign-designsystem-testing-base.mjs +1 -1
  314. package/esm2022/testing-base/lib/components/index.mjs +1 -1
  315. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +6 -4
  316. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +6 -4
  317. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +6 -4
  318. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +6 -4
  319. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +6 -4
  320. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +6 -4
  321. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +6 -4
  322. package/esm2022/testing-base/lib/components/mock.button.component.mjs +6 -4
  323. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +6 -4
  324. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +6 -4
  325. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +6 -4
  326. package/esm2022/testing-base/lib/components/mock.card.component.mjs +6 -4
  327. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +6 -4
  328. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +6 -4
  329. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +6 -4
  330. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +6 -4
  331. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +6 -4
  332. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +6 -4
  333. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +6 -4
  334. package/esm2022/testing-base/lib/components/mock.footer.component.mjs +6 -4
  335. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +6 -4
  336. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +6 -4
  337. package/esm2022/testing-base/lib/components/mock.header.component.mjs +12 -10
  338. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +6 -4
  339. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +6 -4
  340. package/esm2022/testing-base/lib/components/mock.input.component.mjs +6 -4
  341. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +6 -4
  342. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +6 -4
  343. package/esm2022/testing-base/lib/components/mock.item.component.mjs +6 -4
  344. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +6 -4
  345. package/esm2022/testing-base/lib/components/mock.label.component.mjs +6 -4
  346. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +6 -4
  347. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +6 -4
  348. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +6 -4
  349. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +6 -4
  350. package/esm2022/testing-base/lib/components/mock.list.component.mjs +6 -4
  351. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +6 -4
  352. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +6 -4
  353. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +6 -4
  354. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +6 -4
  355. package/esm2022/testing-base/lib/components/mock.modal-routing.component.mjs +6 -4
  356. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +6 -4
  357. package/esm2022/testing-base/lib/components/mock.modal.component.mjs +6 -4
  358. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +6 -4
  359. package/esm2022/testing-base/lib/components/mock.page-local-navigation.component.mjs +6 -4
  360. package/esm2022/testing-base/lib/components/mock.page.component.mjs +44 -34
  361. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +6 -4
  362. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +6 -4
  363. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +6 -4
  364. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +6 -4
  365. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +6 -4
  366. package/esm2022/testing-base/lib/components/mock.range.component.mjs +6 -4
  367. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +6 -4
  368. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +6 -4
  369. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +6 -4
  370. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +6 -4
  371. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +6 -4
  372. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +6 -4
  373. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +6 -4
  374. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +6 -4
  375. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +6 -4
  376. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +6 -4
  377. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +6 -4
  378. package/esm2022/testing-base/lib/components/mock.table-row.component.mjs +6 -4
  379. package/esm2022/testing-base/lib/components/mock.table.component.mjs +6 -4
  380. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +6 -4
  381. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +6 -4
  382. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +6 -4
  383. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +6 -4
  384. package/esm2022/testing-base/lib/components/mock.wrapper.component.mjs +6 -4
  385. package/esm2022/testing-base/lib/directives/index.mjs +1 -1
  386. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +4 -4
  387. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +4 -4
  388. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +4 -4
  389. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +4 -4
  390. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +4 -4
  391. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +4 -4
  392. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +4 -4
  393. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +4 -4
  394. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +4 -4
  395. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +4 -4
  396. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +4 -4
  397. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +13 -13
  398. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +4 -4
  399. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +4 -4
  400. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +4 -4
  401. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +4 -4
  402. package/esm2022/testing-base/lib/index.mjs +1 -1
  403. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +5 -5
  404. package/esm2022/testing-base/lib/mock-components.mjs +1 -1
  405. package/esm2022/testing-base/lib/mock-directives.mjs +1 -1
  406. package/esm2022/testing-base/public_api.mjs +1 -1
  407. package/esm2022/testing-jasmine/kirbydesign-designsystem-testing-jasmine.mjs +1 -1
  408. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +5 -6
  409. package/esm2022/testing-jasmine/lib/mock-providers.mjs +1 -1
  410. package/esm2022/testing-jasmine/public_api.mjs +1 -1
  411. package/esm2022/testing-jest/kirbydesign-designsystem-testing-jest.mjs +1 -1
  412. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +5 -6
  413. package/esm2022/testing-jest/lib/mock-providers.mjs +1 -1
  414. package/esm2022/testing-jest/public_api.mjs +1 -1
  415. package/esm2022/toast/config/toast-config.mjs +1 -1
  416. package/esm2022/toast/kirbydesign-designsystem-toast.mjs +1 -1
  417. package/esm2022/toast/public_api.mjs +1 -1
  418. package/esm2022/toast/services/indexs.mjs +1 -1
  419. package/esm2022/toast/services/toast.controller.mjs +4 -4
  420. package/esm2022/toast/services/toast.helper.mjs +4 -4
  421. package/esm2022/toggle/kirbydesign-designsystem-toggle.mjs +1 -1
  422. package/esm2022/toggle/public_api.mjs +1 -1
  423. package/esm2022/toggle/toggle.component.mjs +4 -4
  424. package/esm2022/toggle-button/kirbydesign-designsystem-toggle-button.mjs +1 -1
  425. package/esm2022/toggle-button/public_api.mjs +1 -1
  426. package/esm2022/toggle-button/toggle-button.component.mjs +4 -4
  427. package/esm2022/toggle-button/toggle-button.module.mjs +5 -5
  428. package/esm2022/types/event-listener-dispose-fn.mjs +1 -1
  429. package/esm2022/types/kirbydesign-designsystem-types.mjs +1 -1
  430. package/esm2022/types/public_api.mjs +1 -1
  431. package/esm2022/types/window-ref.mjs +4 -4
  432. package/fesm2022/kirbydesign-designsystem-accordion.mjs +10 -10
  433. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  434. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  435. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  436. package/fesm2022/kirbydesign-designsystem-avatar.mjs +11 -5
  437. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  438. package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
  439. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  440. package/fesm2022/kirbydesign-designsystem-button.mjs +3 -3
  441. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  442. package/fesm2022/kirbydesign-designsystem-calendar.mjs +22 -21
  443. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  444. package/fesm2022/kirbydesign-designsystem-card.mjs +40 -27
  445. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  446. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  447. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  448. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +3 -3
  449. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  450. package/fesm2022/kirbydesign-designsystem-data-table.mjs +13 -13
  451. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  452. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  453. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  454. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +11 -11
  455. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  456. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
  457. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  458. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
  459. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  460. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  461. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  462. package/fesm2022/kirbydesign-designsystem-form-field.mjs +28 -28
  463. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  464. package/fesm2022/kirbydesign-designsystem-header.mjs +27 -20
  465. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  466. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  467. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  468. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  469. package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
  470. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  471. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  472. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  473. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  474. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  475. package/fesm2022/kirbydesign-designsystem-item.mjs +11 -11
  476. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  477. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  478. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  479. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  480. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs.map +1 -1
  481. package/fesm2022/kirbydesign-designsystem-list.mjs +55 -49
  482. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  483. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +7 -7
  484. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  485. package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
  486. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  487. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs +21 -21
  488. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs.map +1 -1
  489. package/fesm2022/kirbydesign-designsystem-modal.mjs +125 -92
  490. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  491. package/fesm2022/kirbydesign-designsystem-page.mjs +50 -41
  492. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  493. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  494. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  495. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +26 -17
  496. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  497. package/fesm2022/kirbydesign-designsystem-radio.mjs +11 -11
  498. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  499. package/fesm2022/kirbydesign-designsystem-range.mjs +3 -3
  500. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  501. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
  502. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  503. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  504. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  505. package/fesm2022/kirbydesign-designsystem-section-header.mjs +4 -4
  506. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  507. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  508. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  509. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  510. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  511. package/fesm2022/kirbydesign-designsystem-shared.mjs +15 -15
  512. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  513. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +4 -4
  514. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  515. package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
  516. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  517. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  518. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  519. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +15 -12
  520. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  521. package/fesm2022/kirbydesign-designsystem-tabs.mjs +14 -14
  522. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  523. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +455 -307
  524. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  525. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -5
  526. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  527. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -5
  528. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  529. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  530. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  531. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  532. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  533. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
  534. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  535. package/fesm2022/kirbydesign-designsystem-toggle.mjs +3 -3
  536. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  537. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  538. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  539. package/fesm2022/kirbydesign-designsystem.mjs +53 -36
  540. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  541. package/header/header.component.d.ts +5 -2
  542. package/lib/components/segmented-control/segment-item.d.ts +0 -4
  543. package/lib/components/segmented-control/segmented-control.component.d.ts +22 -12
  544. package/list/list.module.d.ts +1 -1
  545. package/modal/modal/footer/modal-footer.component.d.ts +1 -1
  546. package/modal/modal/modal-component/modal.component.d.ts +5 -5
  547. package/modal/modal/services/can-dismiss-modal-guard.d.ts +2 -0
  548. package/modal/modal/services/index.d.ts +1 -0
  549. package/modal/modal/services/modal.controller.d.ts +2 -0
  550. package/modal/modal/services/modal.helper.d.ts +3 -4
  551. package/modal/modal-navigation.service.d.ts +1 -0
  552. package/modal/modal.interfaces.d.ts +1 -0
  553. package/package.json +28 -30
  554. package/page/page.component.d.ts +1 -1
  555. package/progress-circle/progress-circle-ring.component.d.ts +7 -3
  556. package/readme.md +11 -10
  557. package/tab-navigation/tab-navigation-item/tab-navigation-item.component.d.ts +2 -1
  558. package/testing-base/lib/components/mock.avatar.component.d.ts +1 -1
  559. package/testing-base/lib/components/mock.button.component.d.ts +1 -1
  560. package/testing-jest/lib/mock-providers.d.ts +28 -28
@@ -4,22 +4,24 @@ import { IonContent, IonModal } from '@ionic/angular/standalone';
4
4
  import { ButtonComponent } from '@kirbydesign/designsystem/button';
5
5
  import { IconModule } from '@kirbydesign/designsystem/icon';
6
6
  import { KirbyIonicModule } from '@kirbydesign/designsystem/kirby-ionic-module';
7
- import { first, fromEvent, takeUntil } from 'rxjs';
8
7
  import { WindowRef } from '@kirbydesign/designsystem/types';
8
+ import { ModalNavigationService } from '../../modal-navigation.service';
9
9
  import { DrawerSupplementaryAction, ModalCompactWrapperComponent, ModalWrapperComponent, } from '../../modal-wrapper';
10
10
  import { CanDismissHelper } from '../services';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "../services";
13
- import * as i2 from "@kirbydesign/designsystem/types";
14
- import * as i3 from "@angular/common";
13
+ import * as i2 from "../../modal-navigation.service";
14
+ import * as i3 from "@kirbydesign/designsystem/types";
15
+ import * as i4 from "@angular/common";
15
16
  export class ModalComponent {
16
17
  set canDismiss(canDismiss) {
17
18
  typeof canDismiss === 'boolean'
18
19
  ? (this._canDismiss = canDismiss)
19
20
  : (this._canDismiss = this.canDismissHelper.getCanDismissCallback(canDismiss));
20
21
  }
21
- constructor(canDismissHelper, windowRef) {
22
+ constructor(canDismissHelper, modalNavigationService, windowRef) {
22
23
  this.canDismissHelper = canDismissHelper;
24
+ this.modalNavigationService = modalNavigationService;
23
25
  this.windowRef = windowRef;
24
26
  this.isOpen = false;
25
27
  this.size = 'medium';
@@ -49,9 +51,6 @@ export class ModalComponent {
49
51
  };
50
52
  this._canDismiss = true;
51
53
  }
52
- ngAfterContentInit() {
53
- this.handleBrowserBackButton(this.modalElement.nativeElement);
54
- }
55
54
  ngOnChanges(changes) {
56
55
  this.updateModalConfigOnChange(changes);
57
56
  }
@@ -68,6 +67,7 @@ export class ModalComponent {
68
67
  }
69
68
  }
70
69
  _onDidPresent(event) {
70
+ this.modalNavigationService.handleBrowserBackButton(this.modalElement.nativeElement);
71
71
  this.didPresent.emit(event);
72
72
  }
73
73
  _onWillDismiss(event) {
@@ -79,13 +79,6 @@ export class ModalComponent {
79
79
  _onDidDismiss(event) {
80
80
  this.didDismiss.emit(event);
81
81
  }
82
- handleBrowserBackButton(modal) {
83
- const popStateEvent$ = fromEvent(this.windowRef.nativeWindow, 'popstate').pipe(first());
84
- const modalClose$ = fromEvent(modal, 'ionModalDidDismiss');
85
- popStateEvent$.pipe(takeUntil(modalClose$)).subscribe(() => {
86
- modal.dismiss();
87
- });
88
- }
89
82
  updateModalConfigOnChange(changes) {
90
83
  Object.entries(changes).forEach(([key]) => {
91
84
  const isModalConfigProperty = key in this._config;
@@ -94,10 +87,10 @@ export class ModalComponent {
94
87
  }
95
88
  });
96
89
  }
97
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalComponent, deps: [{ token: i1.CanDismissHelper }, { token: i2.WindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
98
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ModalComponent, isStandalone: true, selector: "kirby-modal", inputs: { isOpen: "isOpen", trigger: "trigger", size: "size", scrollDisabled: "scrollDisabled", canDismiss: "canDismiss", collapseTitle: "collapseTitle", customHeight: "customHeight", flavor: "flavor", drawerSupplementaryAction: "drawerSupplementaryAction", interactWithBackground: "interactWithBackground" }, outputs: { willPresent: "willPresent", didPresent: "didPresent", didDismiss: "didDismiss", willDismiss: "willDismiss" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], viewQueries: [{ propertyName: "modalElement", first: true, predicate: IonModal, descendants: true, read: ElementRef, static: true }, { propertyName: "ionContent", first: true, predicate: IonContent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-modal\n class=\"kirby-modal kirby-overlay kirby-modal-{{ size }}\"\n [ngClass]=\"[\n flavor === 'compact' ? 'kirby-modal-compact' : 'kirby-' + flavor,\n interactWithBackground ? 'interact-with-background' : ''\n ]\"\n [isOpen]=\"isOpen\"\n [trigger]=\"trigger\"\n [canDismiss]=\"_canDismiss\"\n [showBackdrop]=\"!interactWithBackground\"\n [style.--kirby-modal-height]=\"customHeight\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <kirby-modal-compact-wrapper\n *ngIf=\"flavor === 'compact'; else modalWrapper\"\n [config]=\"_config\"\n [content]=\"template\"\n ></kirby-modal-compact-wrapper>\n </ng-template>\n</ion-modal>\n\n<ng-template #modalWrapper>\n <kirby-modal-wrapper\n class=\"ion-page\"\n [config]=\"_config\"\n [content]=\"template\"\n [scrollDisabled]=\"scrollDisabled\"\n ></kirby-modal-wrapper>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: KirbyIonicModule }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalWrapperComponent, selector: "kirby-modal-wrapper", inputs: ["scrollDisabled", "config", "content"] }, { kind: "component", type: ModalCompactWrapperComponent, selector: "kirby-modal-compact-wrapper", inputs: ["config", "content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalComponent, deps: [{ token: i1.CanDismissHelper }, { token: i2.ModalNavigationService }, { token: i3.WindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
91
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ModalComponent, isStandalone: true, selector: "kirby-modal", inputs: { isOpen: "isOpen", trigger: "trigger", size: "size", scrollDisabled: "scrollDisabled", canDismiss: "canDismiss", collapseTitle: "collapseTitle", customHeight: "customHeight", flavor: "flavor", drawerSupplementaryAction: "drawerSupplementaryAction", interactWithBackground: "interactWithBackground" }, outputs: { willPresent: "willPresent", didPresent: "didPresent", didDismiss: "didDismiss", willDismiss: "willDismiss" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], viewQueries: [{ propertyName: "modalElement", first: true, predicate: IonModal, descendants: true, read: ElementRef, static: true }, { propertyName: "ionContent", first: true, predicate: IonContent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-modal\n class=\"kirby-modal kirby-overlay kirby-modal-{{ size }}\"\n [ngClass]=\"[\n flavor === 'compact' ? 'kirby-modal-compact' : 'kirby-' + flavor,\n interactWithBackground ? 'interact-with-background' : ''\n ]\"\n [isOpen]=\"isOpen\"\n [trigger]=\"trigger\"\n [canDismiss]=\"_canDismiss\"\n [showBackdrop]=\"!interactWithBackground\"\n [style.--kirby-modal-height]=\"customHeight\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <kirby-modal-compact-wrapper\n *ngIf=\"flavor === 'compact'; else modalWrapper\"\n [config]=\"_config\"\n [content]=\"template\"\n ></kirby-modal-compact-wrapper>\n </ng-template>\n</ion-modal>\n\n<ng-template #modalWrapper>\n <kirby-modal-wrapper\n class=\"ion-page\"\n [config]=\"_config\"\n [content]=\"template\"\n [scrollDisabled]=\"scrollDisabled\"\n ></kirby-modal-wrapper>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: KirbyIonicModule }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalWrapperComponent, selector: "kirby-modal-wrapper", inputs: ["scrollDisabled", "config", "content"] }, { kind: "component", type: ModalCompactWrapperComponent, selector: "kirby-modal-compact-wrapper", inputs: ["config", "content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
92
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalComponent, decorators: [{
101
94
  type: Component,
102
95
  args: [{ standalone: true, selector: 'kirby-modal', imports: [
103
96
  CommonModule,
@@ -108,7 +101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
108
101
  ModalWrapperComponent,
109
102
  ModalCompactWrapperComponent,
110
103
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-modal\n class=\"kirby-modal kirby-overlay kirby-modal-{{ size }}\"\n [ngClass]=\"[\n flavor === 'compact' ? 'kirby-modal-compact' : 'kirby-' + flavor,\n interactWithBackground ? 'interact-with-background' : ''\n ]\"\n [isOpen]=\"isOpen\"\n [trigger]=\"trigger\"\n [canDismiss]=\"_canDismiss\"\n [showBackdrop]=\"!interactWithBackground\"\n [style.--kirby-modal-height]=\"customHeight\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <kirby-modal-compact-wrapper\n *ngIf=\"flavor === 'compact'; else modalWrapper\"\n [config]=\"_config\"\n [content]=\"template\"\n ></kirby-modal-compact-wrapper>\n </ng-template>\n</ion-modal>\n\n<ng-template #modalWrapper>\n <kirby-modal-wrapper\n class=\"ion-page\"\n [config]=\"_config\"\n [content]=\"template\"\n [scrollDisabled]=\"scrollDisabled\"\n ></kirby-modal-wrapper>\n</ng-template>\n" }]
111
- }], ctorParameters: () => [{ type: i1.CanDismissHelper }, { type: i2.WindowRef }], propDecorators: { modalElement: [{
104
+ }], ctorParameters: () => [{ type: i1.CanDismissHelper }, { type: i2.ModalNavigationService }, { type: i3.WindowRef }], propDecorators: { modalElement: [{
112
105
  type: ViewChild,
113
106
  args: [IonModal, { static: true, read: ElementRef }]
114
107
  }], ionContent: [{
@@ -146,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
146
139
  }], willDismiss: [{
147
140
  type: Output
148
141
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vbW9kYWwvc3JjL21vZGFsL21vZGFsLWNvbXBvbmVudC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9tb2RhbC9zcmMvbW9kYWwvbW9kYWwtY29tcG9uZW50L21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFJNUIscUJBQXFCLEdBRXRCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQWlCL0MsTUFBTSxPQUFPLGNBQWM7SUFVekIsSUFBYSxVQUFVLENBQUMsVUFBdUM7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d0JBQ1IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLDRCQUE0QjtxQkFDN0IsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07NkdBSS9DLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRWhDLFVBQVU7c0JBQWhDLFNBQVM7dUJBQUMsVUFBVTtnQkFDd0IsUUFBUTtzQkFBcEQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVsQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBT0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25Db250ZW50LCBJb25Nb2RhbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgT3ZlcmxheUV2ZW50RGV0YWlsIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEtpcmJ5SW9uaWNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2tpcmJ5LWlvbmljLW1vZHVsZSc7XG5pbXBvcnQgeyBmaXJzdCwgZnJvbUV2ZW50LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vdHlwZXMnO1xuaW1wb3J0IHtcbiAgRHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbixcbiAgTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCxcbiAgTW9kYWxDb25maWcsXG4gIE1vZGFsRmxhdm9yLFxuICBNb2RhbFNpemUsXG4gIE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbiAgU2hvd0FsZXJ0Q2FsbGJhY2ssXG59IGZyb20gJy4uLy4uL21vZGFsLXdyYXBwZXInO1xuaW1wb3J0IHsgQ2FuRGlzbWlzc0hlbHBlciB9IGZyb20gJy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAna2lyYnktbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEtpcmJ5SW9uaWNNb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBJb25Nb2RhbCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxuICAgIE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBWaWV3Q2hpbGQoSW9uTW9kYWwsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG1vZGFsRWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW9uTW9kYWxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChJb25Db250ZW50KSBpb25Db250ZW50OiBJb25Db250ZW50O1xuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgaXNPcGVuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRyaWdnZXI6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogTW9kYWxTaXplID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIHNjcm9sbERpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNldCBjYW5EaXNtaXNzKGNhbkRpc21pc3M6IFNob3dBbGVydENhbGxiYWNrIHwgYm9vbGVhbikge1xuICAgIHR5cGVvZiBjYW5EaXNtaXNzID09PSAnYm9vbGVhbidcbiAgICAgID8gKHRoaXMuX2NhbkRpc21pc3MgPSBjYW5EaXNtaXNzKVxuICAgICAgOiAodGhpcy5fY2FuRGlzbWlzcyA9IHRoaXMuY2FuRGlzbWlzc0hlbHBlci5nZXRDYW5EaXNtaXNzQ2FsbGJhY2soY2FuRGlzbWlzcykpO1xuICB9XG5cbiAgLy8gTk9URTogaW5wdXQgcHJvcGVydGllcyBmb3J3YXJkZWQgdG8gbW9kYWwtd3JhcHBlciBNb2RhbENvbmZpZ1xuICBASW5wdXQoKSBjb2xsYXBzZVRpdGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGN1c3RvbUhlaWdodDogc3RyaW5nID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBmbGF2b3I6IE1vZGFsRmxhdm9yID0gJ21vZGFsJztcbiAgQElucHV0KCkgZHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbj86IERyYXdlclN1cHBsZW1lbnRhcnlBY3Rpb24gPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGludGVyYWN0V2l0aEJhY2tncm91bmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gZW5kIE5PVEVcblxuICBAT3V0cHV0KCkgd2lsbFByZXNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBkaWRQcmVzZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgZGlkRGlzbWlzcyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPj4oKTtcbiAgQE91dHB1dCgpIHdpbGxEaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+PigpO1xuXG4gIC8qKlxuICAgKiBXZSBwb3B1bGF0ZSB0aGUgTW9kYWxDb25maWcgd2l0aCBkZWZhdWx0cyBoZXJlLiBUaGlzIGVuc3VyZXMgdGhhdCB3ZSBjYW5cbiAgICogZ3VhcmQgZm9yIGBpZiAoa2V5IGluIHRoaXMuX2NvbmZpZylgIGFuZCBvbmx5IHVwZGF0ZSB0aGUgY29uZmlnIHdoZW4gYW55IG9mIHRoZXNlXG4gICAqIGlucHV0cyBjaGFuZ2UuXG4gICAqL1xuICBfY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICBjb2xsYXBzZVRpdGxlOiB0aGlzLmNvbGxhcHNlVGl0bGUsXG4gICAgY3VzdG9tSGVpZ2h0OiB0aGlzLmN1c3RvbUhlaWdodCxcbiAgICBmbGF2b3I6IHRoaXMuZmxhdm9yLFxuICAgIGRyYXdlclN1cHBsZW1lbnRhcnlBY3Rpb246IHRoaXMuZHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbixcbiAgICBpbnRlcmFjdFdpdGhCYWNrZ3JvdW5kOiB0aGlzLmludGVyYWN0V2l0aEJhY2tncm91bmQsXG4gIH07XG5cbiAgX2NhbkRpc21pc3M6IFNob3dBbGVydENhbGxiYWNrIHwgYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjYW5EaXNtaXNzSGVscGVyOiBDYW5EaXNtaXNzSGVscGVyLCBwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUJyb3dzZXJCYWNrQnV0dG9uKHRoaXMubW9kYWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTW9kYWxDb25maWdPbkNoYW5nZShjaGFuZ2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxUb1RvcChzY3JvbGxEdXJhdGlvbj86IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uKSB7XG4gICAgdGhpcy5pb25Db250ZW50LnNjcm9sbFRvVG9wKHNjcm9sbER1cmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxUb0JvdHRvbShzY3JvbGxEdXJhdGlvbj86IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uKSB7XG4gICAgdGhpcy5pb25Db250ZW50LnNjcm9sbFRvQm90dG9tKHNjcm9sbER1cmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25XaWxsUHJlc2VudChldmVudDogQ3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPikge1xuICAgIHRoaXMud2lsbFByZXNlbnQuZW1pdChldmVudCk7XG5cbiAgICBpZiAodGhpcy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdhbGxvdy1iYWNrZ3JvdW5kLXNjcm9sbCcpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfb25EaWRQcmVzZW50KGV2ZW50OiBDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+KSB7XG4gICAgdGhpcy5kaWRQcmVzZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIF9vbldpbGxEaXNtaXNzKGV2ZW50OiBDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+KSB7XG4gICAgaWYgKHRoaXMuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCkge1xuICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYWxsb3ctYmFja2dyb3VuZC1zY3JvbGwnKTtcbiAgICB9XG5cbiAgICB0aGlzLndpbGxEaXNtaXNzLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIF9vbkRpZERpc21pc3MoZXZlbnQ6IEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4pIHtcbiAgICB0aGlzLmRpZERpc21pc3MuZW1pdChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJyb3dzZXJCYWNrQnV0dG9uKG1vZGFsOiBIVE1MSW9uTW9kYWxFbGVtZW50KSB7XG4gICAgY29uc3QgcG9wU3RhdGVFdmVudCQgPSBmcm9tRXZlbnQodGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LCAncG9wc3RhdGUnKS5waXBlKGZpcnN0KCkpO1xuICAgIGNvbnN0IG1vZGFsQ2xvc2UkID0gZnJvbUV2ZW50KG1vZGFsLCAnaW9uTW9kYWxEaWREaXNtaXNzJyk7XG5cbiAgICBwb3BTdGF0ZUV2ZW50JC5waXBlKHRha2VVbnRpbChtb2RhbENsb3NlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBtb2RhbC5kaXNtaXNzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGFsQ29uZmlnT25DaGFuZ2UoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpLmZvckVhY2goKFtrZXldKSA9PiB7XG4gICAgICBjb25zdCBpc01vZGFsQ29uZmlnUHJvcGVydHkgPSBrZXkgaW4gdGhpcy5fY29uZmlnO1xuICAgICAgaWYgKGlzTW9kYWxDb25maWdQcm9wZXJ0eSkge1xuICAgICAgICB0aGlzLl9jb25maWdba2V5XSA9IGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxpb24tbW9kYWxcbiAgY2xhc3M9XCJraXJieS1tb2RhbCBraXJieS1vdmVybGF5IGtpcmJ5LW1vZGFsLXt7IHNpemUgfX1cIlxuICBbbmdDbGFzc109XCJbXG4gICAgZmxhdm9yID09PSAnY29tcGFjdCcgPyAna2lyYnktbW9kYWwtY29tcGFjdCcgOiAna2lyYnktJyArIGZsYXZvcixcbiAgICBpbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gJ2ludGVyYWN0LXdpdGgtYmFja2dyb3VuZCcgOiAnJ1xuICBdXCJcbiAgW2lzT3Blbl09XCJpc09wZW5cIlxuICBbdHJpZ2dlcl09XCJ0cmlnZ2VyXCJcbiAgW2NhbkRpc21pc3NdPVwiX2NhbkRpc21pc3NcIlxuICBbc2hvd0JhY2tkcm9wXT1cIiFpbnRlcmFjdFdpdGhCYWNrZ3JvdW5kXCJcbiAgW3N0eWxlLi0ta2lyYnktbW9kYWwtaGVpZ2h0XT1cImN1c3RvbUhlaWdodFwiXG4gICh3aWxsUHJlc2VudCk9XCJfb25XaWxsUHJlc2VudCgkZXZlbnQpXCJcbiAgKGRpZFByZXNlbnQpPVwiX29uRGlkUHJlc2VudCgkZXZlbnQpXCJcbiAgKHdpbGxEaXNtaXNzKT1cIl9vbldpbGxEaXNtaXNzKCRldmVudClcIlxuICAoZGlkRGlzbWlzcyk9XCJfb25EaWREaXNtaXNzKCRldmVudClcIlxuPlxuICA8bmctdGVtcGxhdGU+XG4gICAgPGtpcmJ5LW1vZGFsLWNvbXBhY3Qtd3JhcHBlclxuICAgICAgKm5nSWY9XCJmbGF2b3IgPT09ICdjb21wYWN0JzsgZWxzZSBtb2RhbFdyYXBwZXJcIlxuICAgICAgW2NvbmZpZ109XCJfY29uZmlnXCJcbiAgICAgIFtjb250ZW50XT1cInRlbXBsYXRlXCJcbiAgICA+PC9raXJieS1tb2RhbC1jb21wYWN0LXdyYXBwZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2lvbi1tb2RhbD5cblxuPG5nLXRlbXBsYXRlICNtb2RhbFdyYXBwZXI+XG4gIDxraXJieS1tb2RhbC13cmFwcGVyXG4gICAgY2xhc3M9XCJpb24tcGFnZVwiXG4gICAgW2NvbmZpZ109XCJfY29uZmlnXCJcbiAgICBbY29udGVudF09XCJ0ZW1wbGF0ZVwiXG4gICAgW3Njcm9sbERpc2FibGVkXT1cInNjcm9sbERpc2FibGVkXCJcbiAgPjwva2lyYnktbW9kYWwtd3JhcHBlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL21vZGFsLWNvbXBvbmVudC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9tb2RhbC9zcmMvbW9kYWwvbW9kYWwtY29tcG9uZW50L21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUk1QixxQkFBcUIsR0FFdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQWlCL0MsTUFBTSxPQUFPLGNBQWM7SUFVekIsSUFBYSxVQUFVLENBQUMsVUFBdUM7UUFDN0QsT0FBTyxVQUFVLEtBQUssU0FBUztZQUM3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxH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c0JBQXRCLEtBQUs7Z0JBT0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25Db250ZW50LCBJb25Nb2RhbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgT3ZlcmxheUV2ZW50RGV0YWlsIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEtpcmJ5SW9uaWNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2tpcmJ5LWlvbmljLW1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3R5cGVzJztcblxuaW1wb3J0IHsgTW9kYWxOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGFsLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1xuICBEcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uLFxuICBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50LFxuICBNb2RhbENvbmZpZyxcbiAgTW9kYWxGbGF2b3IsXG4gIE1vZGFsU2l6ZSxcbiAgTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxuICBTaG93QWxlcnRDYWxsYmFjayxcbn0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlcic7XG5pbXBvcnQgeyBDYW5EaXNtaXNzSGVscGVyIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdraXJieS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgS2lyYnlJb25pY01vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIElvbk1vZGFsLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG4gICAgTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZChJb25Nb2RhbCwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgbW9kYWxFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJb25Nb2RhbEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKElvbkNvbnRlbnQpIGlvbkNvbnRlbnQ6IElvbkNvbnRlbnQ7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJpZ2dlcjogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBNb2RhbFNpemUgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgc2Nyb2xsRGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IGNhbkRpc21pc3MoY2FuRGlzbWlzczogU2hvd0FsZXJ0Q2FsbGJhY2sgfCBib29sZWFuKSB7XG4gICAgdHlwZW9mIGNhbkRpc21pc3MgPT09ICdib29sZWFuJ1xuICAgICAgPyAodGhpcy5fY2FuRGlzbWlzcyA9IGNhbkRpc21pc3MpXG4gICAgICA6ICh0aGlzLl9jYW5EaXNtaXNzID0gdGhpcy5jYW5EaXNtaXNzSGVscGVyLmdldENhbkRpc21pc3NDYWxsYmFjayhjYW5EaXNtaXNzKSk7XG4gIH1cblxuICAvLyBOT1RFOiBpbnB1dCBwcm9wZXJ0aWVzIGZvcndhcmRlZCB0byBtb2RhbC13cmFwcGVyIE1vZGFsQ29uZmlnXG4gIEBJbnB1dCgpIGNvbGxhcHNlVGl0bGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY3VzdG9tSGVpZ2h0OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZsYXZvcjogTW9kYWxGbGF2b3IgPSAnbW9kYWwnO1xuICBASW5wdXQoKSBkcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uPzogRHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaW50ZXJhY3RXaXRoQmFja2dyb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyBlbmQgTk9URVxuXG4gIEBPdXRwdXQoKSB3aWxsUHJlc2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPj4oKTtcbiAgQE91dHB1dCgpIGRpZFByZXNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBkaWREaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgd2lsbERpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4+KCk7XG5cbiAgLyoqXG4gICAqIFdlIHBvcHVsYXRlIHRoZSBNb2RhbENvbmZpZyB3aXRoIGRlZmF1bHRzIGhlcmUuIFRoaXMgZW5zdXJlcyB0aGF0IHdlIGNhblxuICAgKiBndWFyZCBmb3IgYGlmIChrZXkgaW4gdGhpcy5fY29uZmlnKWAgYW5kIG9ubHkgdXBkYXRlIHRoZSBjb25maWcgd2hlbiBhbnkgb2YgdGhlc2VcbiAgICogaW5wdXRzIGNoYW5nZS5cbiAgICovXG4gIF9jb25maWc6IE1vZGFsQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlVGl0bGU6IHRoaXMuY29sbGFwc2VUaXRsZSxcbiAgICBjdXN0b21IZWlnaHQ6IHRoaXMuY3VzdG9tSGVpZ2h0LFxuICAgIGZsYXZvcjogdGhpcy5mbGF2b3IsXG4gICAgZHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbjogdGhpcy5kcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uLFxuICAgIGludGVyYWN0V2l0aEJhY2tncm91bmQ6IHRoaXMuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCxcbiAgfTtcblxuICBfY2FuRGlzbWlzczogU2hvd0FsZXJ0Q2FsbGJhY2sgfCBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNhbkRpc21pc3NIZWxwZXI6IENhbkRpc21pc3NIZWxwZXIsXG4gICAgcHJpdmF0ZSBtb2RhbE5hdmlnYXRpb25TZXJ2aWNlOiBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBXaW5kb3dSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGFsQ29uZmlnT25DaGFuZ2UoY2hhbmdlcyk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsVG9Ub3Aoc2Nyb2xsRHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIHRoaXMuaW9uQ29udGVudC5zY3JvbGxUb1RvcChzY3JvbGxEdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsVG9Cb3R0b20oc2Nyb2xsRHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIHRoaXMuaW9uQ29udGVudC5zY3JvbGxUb0JvdHRvbShzY3JvbGxEdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgX29uV2lsbFByZXNlbnQoZXZlbnQ6IEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4pIHtcbiAgICB0aGlzLndpbGxQcmVzZW50LmVtaXQoZXZlbnQpO1xuXG4gICAgaWYgKHRoaXMuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCkge1xuICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYWxsb3ctYmFja2dyb3VuZC1zY3JvbGwnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX29uRGlkUHJlc2VudChldmVudDogQ3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPikge1xuICAgIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5oYW5kbGVCcm93c2VyQmFja0J1dHRvbih0aGlzLm1vZGFsRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLmRpZFByZXNlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgX29uV2lsbERpc21pc3MoZXZlbnQ6IEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4pIHtcbiAgICBpZiAodGhpcy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdhbGxvdy1iYWNrZ3JvdW5kLXNjcm9sbCcpO1xuICAgIH1cblxuICAgIHRoaXMud2lsbERpc21pc3MuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgX29uRGlkRGlzbWlzcyhldmVudDogQ3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPikge1xuICAgIHRoaXMuZGlkRGlzbWlzcy5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTW9kYWxDb25maWdPbkNoYW5nZShjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgT2JqZWN0LmVudHJpZXMoY2hhbmdlcykuZm9yRWFjaCgoW2tleV0pID0+IHtcbiAgICAgIGNvbnN0IGlzTW9kYWxDb25maWdQcm9wZXJ0eSA9IGtleSBpbiB0aGlzLl9jb25maWc7XG4gICAgICBpZiAoaXNNb2RhbENvbmZpZ1Byb3BlcnR5KSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ1trZXldID0gY2hhbmdlc1trZXldLmN1cnJlbnRWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGlvbi1tb2RhbFxuICBjbGFzcz1cImtpcmJ5LW1vZGFsIGtpcmJ5LW92ZXJsYXkga2lyYnktbW9kYWwte3sgc2l6ZSB9fVwiXG4gIFtuZ0NsYXNzXT1cIltcbiAgICBmbGF2b3IgPT09ICdjb21wYWN0JyA/ICdraXJieS1tb2RhbC1jb21wYWN0JyA6ICdraXJieS0nICsgZmxhdm9yLFxuICAgIGludGVyYWN0V2l0aEJhY2tncm91bmQgPyAnaW50ZXJhY3Qtd2l0aC1iYWNrZ3JvdW5kJyA6ICcnXG4gIF1cIlxuICBbaXNPcGVuXT1cImlzT3BlblwiXG4gIFt0cmlnZ2VyXT1cInRyaWdnZXJcIlxuICBbY2FuRGlzbWlzc109XCJfY2FuRGlzbWlzc1wiXG4gIFtzaG93QmFja2Ryb3BdPVwiIWludGVyYWN0V2l0aEJhY2tncm91bmRcIlxuICBbc3R5bGUuLS1raXJieS1tb2RhbC1oZWlnaHRdPVwiY3VzdG9tSGVpZ2h0XCJcbiAgKHdpbGxQcmVzZW50KT1cIl9vbldpbGxQcmVzZW50KCRldmVudClcIlxuICAoZGlkUHJlc2VudCk9XCJfb25EaWRQcmVzZW50KCRldmVudClcIlxuICAod2lsbERpc21pc3MpPVwiX29uV2lsbERpc21pc3MoJGV2ZW50KVwiXG4gIChkaWREaXNtaXNzKT1cIl9vbkRpZERpc21pc3MoJGV2ZW50KVwiXG4+XG4gIDxuZy10ZW1wbGF0ZT5cbiAgICA8a2lyYnktbW9kYWwtY29tcGFjdC13cmFwcGVyXG4gICAgICAqbmdJZj1cImZsYXZvciA9PT0gJ2NvbXBhY3QnOyBlbHNlIG1vZGFsV3JhcHBlclwiXG4gICAgICBbY29uZmlnXT1cIl9jb25maWdcIlxuICAgICAgW2NvbnRlbnRdPVwidGVtcGxhdGVcIlxuICAgID48L2tpcmJ5LW1vZGFsLWNvbXBhY3Qtd3JhcHBlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaW9uLW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI21vZGFsV3JhcHBlcj5cbiAgPGtpcmJ5LW1vZGFsLXdyYXBwZXJcbiAgICBjbGFzcz1cImlvbi1wYWdlXCJcbiAgICBbY29uZmlnXT1cIl9jb25maWdcIlxuICAgIFtjb250ZW50XT1cInRlbXBsYXRlXCJcbiAgICBbc2Nyb2xsRGlzYWJsZWRdPVwic2Nyb2xsRGlzYWJsZWRcIlxuICA+PC9raXJieS1tb2RhbC13cmFwcGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -37,10 +37,10 @@ export class ActionSheetHelper {
37
37
  onDidDismiss: ionModal.onDidDismiss(),
38
38
  };
39
39
  }
40
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ActionSheetHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ActionSheetHelper }); }
40
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionSheetHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionSheetHelper }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ActionSheetHelper, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionSheetHelper, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: () => [{ type: i1.ModalController }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9hY3Rpb24tc2hlZXQuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBSzlFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0Isb0JBQXFDO1FBQXJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUI7SUFBRyxDQUFDO0lBRXRELEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBeUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixRQUFRLEVBQUUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7WUFDakQsY0FBYyxFQUFFO2dCQUNkLEdBQUcsTUFBTTtnQkFDVCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsVUFBVTthQUN2QjtZQUNELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztRQUVILHlGQUF5RjtRQUN6Riw0RkFBNEY7UUFDNUYsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFNUQsTUFBTSxrQkFBa0IsR0FBaUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRixNQUFNLHNCQUFzQixHQUFpQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDdkIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO2lJQXRDVSxpQkFBaUI7cUlBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldENvbmZpZyB9IGZyb20gJy4uL2FjdGlvbi1zaGVldC9jb25maWcvYWN0aW9uLXNoZWV0LWNvbmZpZyc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldEl0ZW0gfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvblNoZWV0SGVscGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpb25pY01vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWN0aW9uU2hlZXQoY29uZmlnOiBBY3Rpb25TaGVldENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGNvbnN0IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25TaGVldEl0ZW0+KCk7XG5cbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogWydraXJieS1vdmVybGF5JywgJ2tpcmJ5LWFjdGlvbi1zaGVldCddLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBjYW5jZWw6IGNhbmNlbCxcbiAgICAgICAgaXRlbVNlbGVjdDogaXRlbVNlbGVjdCxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBSZW1vdmUgJ21vZGFsLXNoYWRvdycgZWxlbWVudCBhcyB3ZSBhcmUgbm8gbG9uZ2VyIGFibGUgdG8gaGlkZSBpdCB3aXRoIENTUyBpbiBJb25pYyA2LlxuICAgIC8vIFdlIG5lZWQgdG8gcmVtb3ZlIGl0IHNvIGl0IGRvZXMgbm90IG9ic3RydWN0IHRoZSBiYWNrZHJvcC1jbGljayB0byBkaXNtaXNzIGZ1bmN0aW9uYWxpdHkuXG4gICAgaW9uTW9kYWwuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykucmVtb3ZlKCk7XG5cbiAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IGNhbmNlbC5zdWJzY3JpYmUoKCkgPT4gaW9uTW9kYWwuZGlzbWlzcygpKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBpdGVtU2VsZWN0LnN1YnNjcmliZSgoaXRlbSkgPT5cbiAgICAgIGlvbk1vZGFsLmRpc21pc3MoaXRlbSlcbiAgICApO1xuICAgIGNvbnN0IG9uRGlkRGlzbWlzcyA9IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpO1xuICAgIG9uRGlkRGlzbWlzcy50aGVuKCgpID0+IHtcbiAgICAgIGNhbmNlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgaXRlbVNlbGVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9hY3Rpb24tc2hlZXQuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBSzlFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0Isb0JBQXFDO1FBQXJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUI7SUFBRyxDQUFDO0lBRXRELEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBeUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixRQUFRLEVBQUUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7WUFDakQsY0FBYyxFQUFFO2dCQUNkLEdBQUcsTUFBTTtnQkFDVCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsVUFBVTthQUN2QjtZQUNELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztRQUVILHlGQUF5RjtRQUN6Riw0RkFBNEY7UUFDNUYsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFNUQsTUFBTSxrQkFBa0IsR0FBaUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRixNQUFNLHNCQUFzQixHQUFpQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDdkIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO2tJQXRDVSxpQkFBaUI7c0lBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldENvbmZpZyB9IGZyb20gJy4uL2FjdGlvbi1zaGVldC9jb25maWcvYWN0aW9uLXNoZWV0LWNvbmZpZyc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldEl0ZW0gfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvblNoZWV0SGVscGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpb25pY01vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWN0aW9uU2hlZXQoY29uZmlnOiBBY3Rpb25TaGVldENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGNvbnN0IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25TaGVldEl0ZW0+KCk7XG5cbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogWydraXJieS1vdmVybGF5JywgJ2tpcmJ5LWFjdGlvbi1zaGVldCddLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBjYW5jZWw6IGNhbmNlbCxcbiAgICAgICAgaXRlbVNlbGVjdDogaXRlbVNlbGVjdCxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBSZW1vdmUgJ21vZGFsLXNoYWRvdycgZWxlbWVudCBhcyB3ZSBhcmUgbm8gbG9uZ2VyIGFibGUgdG8gaGlkZSBpdCB3aXRoIENTUyBpbiBJb25pYyA2LlxuICAgIC8vIFdlIG5lZWQgdG8gcmVtb3ZlIGl0IHNvIGl0IGRvZXMgbm90IG9ic3RydWN0IHRoZSBiYWNrZHJvcC1jbGljayB0byBkaXNtaXNzIGZ1bmN0aW9uYWxpdHkuXG4gICAgaW9uTW9kYWwuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykucmVtb3ZlKCk7XG5cbiAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IGNhbmNlbC5zdWJzY3JpYmUoKCkgPT4gaW9uTW9kYWwuZGlzbWlzcygpKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBpdGVtU2VsZWN0LnN1YnNjcmliZSgoaXRlbSkgPT5cbiAgICAgIGlvbk1vZGFsLmRpc21pc3MoaXRlbSlcbiAgICApO1xuICAgIGNvbnN0IG9uRGlkRGlzbWlzcyA9IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpO1xuICAgIG9uRGlkRGlzbWlzcy50aGVuKCgpID0+IHtcbiAgICAgIGNhbmNlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgaXRlbVNlbGVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -47,10 +47,10 @@ export class AlertHelper {
47
47
  getOkBtnIsDestructive(config) {
48
48
  return typeof config.okBtn === 'object' ? config.okBtn.isDestructive : undefined;
49
49
  }
50
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AlertHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AlertHelper }); }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertHelper }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AlertHelper, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertHelper, decorators: [{
54
54
  type: Injectable
55
55
  }], ctorParameters: () => [{ type: i1.ModalController }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2FsZXJ0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUkxRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixvQkFBcUM7UUFBckMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtJQUFHLENBQUM7SUFFdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFtQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLGNBQWM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDOUMsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQztZQUMxQyxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBbUI7UUFDM0MsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM1QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztZQUN0RCxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDekMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVO1NBQ3RELENBQUM7SUFDSixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQW1CO1FBQ2xDLElBQUksSUFBWSxDQUFDO1FBRWpCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoQixJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQ3BDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUMxQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBTTtRQUMxQixPQUFPLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkYsQ0FBQztpSUE5Q1UsV0FBVztxSUFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vLi4vbW9kYWwuaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbGVydEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcikge31cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWxlcnRDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczogdGhpcy5nZXRDb21wb25lbnRQcm9wcyhjb25maWcpLFxuICAgICAgY3NzQ2xhc3M6IFsna2lyYnktb3ZlcmxheScsICdraXJieS1hbGVydCddLFxuICAgICAgbW9kZTogJ2lvcycsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRQcm9wcyhjb25maWc6IEFsZXJ0Q29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG9rQnRuOiB0aGlzLmdldE9rQnRuKGNvbmZpZyksXG4gICAgICBjYW5jZWxCdG46IGNvbmZpZy5jYW5jZWxCdG4sXG4gICAgICBva0J0bklzRGVzdHJ1Y3RpdmU6IHRoaXMuZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZyksXG4gICAgICBpY29uTmFtZTogY29uZmlnLmljb24gJiYgY29uZmlnLmljb24ubmFtZSxcbiAgICAgIGljb25UaGVtZUNvbG9yOiBjb25maWcuaWNvbiAmJiBjb25maWcuaWNvbi50aGVtZUNvbG9yLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE9rQnRuKGNvbmZpZzogQWxlcnRDb25maWcpIHtcbiAgICBsZXQgdGV4dDogc3RyaW5nO1xuXG4gICAgaWYgKGNvbmZpZy5va0J0bikge1xuICAgICAgaWYgKHR5cGVvZiBjb25maWcub2tCdG4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRleHQgPSBjb25maWcub2tCdG47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZXh0ID0gY29uZmlnLm9rQnRuLnRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZykge1xuICAgIHJldHVybiB0eXBlb2YgY29uZmlnLm9rQnRuID09PSAnb2JqZWN0JyA/IGNvbmZpZy5va0J0bi5pc0Rlc3RydWN0aXZlIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2FsZXJ0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUkxRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixvQkFBcUM7UUFBckMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtJQUFHLENBQUM7SUFFdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFtQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLGNBQWM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDOUMsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQztZQUMxQyxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBbUI7UUFDM0MsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM1QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztZQUN0RCxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDekMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVO1NBQ3RELENBQUM7SUFDSixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQW1CO1FBQ2xDLElBQUksSUFBWSxDQUFDO1FBRWpCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoQixJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQ3BDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUMxQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBTTtRQUMxQixPQUFPLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkYsQ0FBQztrSUE5Q1UsV0FBVztzSUFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vLi4vbW9kYWwuaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbGVydEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcikge31cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWxlcnRDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczogdGhpcy5nZXRDb21wb25lbnRQcm9wcyhjb25maWcpLFxuICAgICAgY3NzQ2xhc3M6IFsna2lyYnktb3ZlcmxheScsICdraXJieS1hbGVydCddLFxuICAgICAgbW9kZTogJ2lvcycsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRQcm9wcyhjb25maWc6IEFsZXJ0Q29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG9rQnRuOiB0aGlzLmdldE9rQnRuKGNvbmZpZyksXG4gICAgICBjYW5jZWxCdG46IGNvbmZpZy5jYW5jZWxCdG4sXG4gICAgICBva0J0bklzRGVzdHJ1Y3RpdmU6IHRoaXMuZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZyksXG4gICAgICBpY29uTmFtZTogY29uZmlnLmljb24gJiYgY29uZmlnLmljb24ubmFtZSxcbiAgICAgIGljb25UaGVtZUNvbG9yOiBjb25maWcuaWNvbiAmJiBjb25maWcuaWNvbi50aGVtZUNvbG9yLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE9rQnRuKGNvbmZpZzogQWxlcnRDb25maWcpIHtcbiAgICBsZXQgdGV4dDogc3RyaW5nO1xuXG4gICAgaWYgKGNvbmZpZy5va0J0bikge1xuICAgICAgaWYgKHR5cGVvZiBjb25maWcub2tCdG4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRleHQgPSBjb25maWcub2tCdG47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZXh0ID0gY29uZmlnLm9rQnRuLnRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZykge1xuICAgIHJldHVybiB0eXBlb2YgY29uZmlnLm9rQnRuID09PSAnb2JqZWN0JyA/IGNvbmZpZy5va0J0bi5pc0Rlc3RydWN0aXZlIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { inject } from '@angular/core';
2
+ import { ModalController as IonicModalController } from '@ionic/angular/standalone';
3
+ import { ModalNavigationService } from '../../modal-navigation.service';
4
+ import { ModalController } from './modal.controller';
5
+ export const CanDismissModalGuard = async (_component, _currentRoute, currentState, nextState) => {
6
+ const modalNavService = inject(ModalNavigationService);
7
+ const currentRouteIsModal = modalNavService.isModalRoute(currentState.url);
8
+ const nextRouteIsModal = modalNavService.isModalRoute(nextState.url);
9
+ const isNavigatingWithinModal = currentRouteIsModal && nextRouteIsModal;
10
+ if (isNavigatingWithinModal) {
11
+ return true;
12
+ }
13
+ const modalController = inject(ModalController);
14
+ const topMostModal = modalController.getTopMost();
15
+ if (topMostModal) {
16
+ if (topMostModal.isDismissing) {
17
+ return true;
18
+ }
19
+ return topMostModal.dismiss();
20
+ }
21
+ else {
22
+ // Declarative modals are not created through Kirby Modalcontroller, let's try Ionic:
23
+ const ionicModalController = inject(IonicModalController);
24
+ const ionModal = await ionicModalController.getTop();
25
+ if (ionModal) {
26
+ return ionModal.dismiss();
27
+ }
28
+ }
29
+ return true;
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc21pc3MtbW9kYWwtZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2RhbC9zcmMvbW9kYWwvc2VydmljZXMvY2FuLWRpc21pc3MtbW9kYWwtZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsZUFBZSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUE2QixLQUFLLEVBQ2pFLFVBQWEsRUFDYixhQUFxQyxFQUNyQyxZQUFpQyxFQUNqQyxTQUE4QixFQUM5QixFQUFFO0lBQ0YsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRSxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sdUJBQXVCLEdBQUcsbUJBQW1CLElBQUksZ0JBQWdCLENBQUM7SUFDeEUsSUFBSSx1QkFBdUIsRUFBRTtRQUMzQixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsRCxJQUFJLFlBQVksRUFBRTtRQUNoQixJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQy9CO1NBQU07UUFDTCxxRkFBcUY7UUFDckYsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxNQUFNLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JELElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDM0I7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5EZWFjdGl2YXRlRm4sIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgYXMgSW9uaWNNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnLi9tb2RhbC5jb250cm9sbGVyJztcblxuZXhwb3J0IGNvbnN0IENhbkRpc21pc3NNb2RhbEd1YXJkOiBDYW5EZWFjdGl2YXRlRm48dW5rbm93bj4gPSBhc3luYyA8VD4oXG4gIF9jb21wb25lbnQ6IFQsXG4gIF9jdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgbmV4dFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4pID0+IHtcbiAgY29uc3QgbW9kYWxOYXZTZXJ2aWNlID0gaW5qZWN0KE1vZGFsTmF2aWdhdGlvblNlcnZpY2UpO1xuICBjb25zdCBjdXJyZW50Um91dGVJc01vZGFsID0gbW9kYWxOYXZTZXJ2aWNlLmlzTW9kYWxSb3V0ZShjdXJyZW50U3RhdGUudXJsKTtcbiAgY29uc3QgbmV4dFJvdXRlSXNNb2RhbCA9IG1vZGFsTmF2U2VydmljZS5pc01vZGFsUm91dGUobmV4dFN0YXRlLnVybCk7XG5cbiAgY29uc3QgaXNOYXZpZ2F0aW5nV2l0aGluTW9kYWwgPSBjdXJyZW50Um91dGVJc01vZGFsICYmIG5leHRSb3V0ZUlzTW9kYWw7XG4gIGlmIChpc05hdmlnYXRpbmdXaXRoaW5Nb2RhbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgbW9kYWxDb250cm9sbGVyID0gaW5qZWN0KE1vZGFsQ29udHJvbGxlcik7XG4gIGNvbnN0IHRvcE1vc3RNb2RhbCA9IG1vZGFsQ29udHJvbGxlci5nZXRUb3BNb3N0KCk7XG4gIGlmICh0b3BNb3N0TW9kYWwpIHtcbiAgICBpZiAodG9wTW9zdE1vZGFsLmlzRGlzbWlzc2luZykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0b3BNb3N0TW9kYWwuZGlzbWlzcygpO1xuICB9IGVsc2Uge1xuICAgIC8vIERlY2xhcmF0aXZlIG1vZGFscyBhcmUgbm90IGNyZWF0ZWQgdGhyb3VnaCBLaXJieSBNb2RhbGNvbnRyb2xsZXIsIGxldCdzIHRyeSBJb25pYzpcbiAgICBjb25zdCBpb25pY01vZGFsQ29udHJvbGxlciA9IGluamVjdChJb25pY01vZGFsQ29udHJvbGxlcik7XG4gICAgY29uc3QgaW9uTW9kYWwgPSBhd2FpdCBpb25pY01vZGFsQ29udHJvbGxlci5nZXRUb3AoKTtcbiAgICBpZiAoaW9uTW9kYWwpIHtcbiAgICAgIHJldHVybiBpb25Nb2RhbC5kaXNtaXNzKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIl19
@@ -20,10 +20,10 @@ export class CanDismissHelper {
20
20
  const result = await alert.onWillDismiss;
21
21
  return result.data;
22
22
  }
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CanDismissHelper, deps: [{ token: i1.AlertHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CanDismissHelper }); }
23
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CanDismissHelper, deps: [{ token: i1.AlertHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CanDismissHelper }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CanDismissHelper, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CanDismissHelper, decorators: [{
27
27
  type: Injectable
28
28
  }], ctorParameters: () => [{ type: i1.AlertHelper }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc21pc3MuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2Nhbi1kaXNtaXNzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXpDLHFCQUFxQixDQUFDLFFBQTJCO1FBQ3RELE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLEVBQUUsQ0FBQztZQUVoQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFNBQVM7Z0JBQUUsT0FBTyxNQUFNLENBQUM7WUFFL0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQW1CO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO2lJQWxCVSxnQkFBZ0I7cUlBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dBbGVydENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlci9jb25maWcnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4vYWxlcnQuaGVscGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbkRpc21pc3NIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlcikge31cblxuICBwdWJsaWMgZ2V0Q2FuRGlzbWlzc0NhbGxiYWNrKGNhbGxiYWNrOiBTaG93QWxlcnRDYWxsYmFjaykge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjYWxsYmFjaygpO1xuXG4gICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Jvb2xlYW4nKSByZXR1cm4gcmVzdWx0O1xuXG4gICAgICBjb25zdCBjYW5DbG9zZU1vZGFsID0gYXdhaXQgdGhpcy5zaG93QWxlcnQocmVzdWx0KTtcbiAgICAgIHJldHVybiBjYW5DbG9zZU1vZGFsO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWxlcnQub25XaWxsRGlzbWlzcztcbiAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc21pc3MuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2Nhbi1kaXNtaXNzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXpDLHFCQUFxQixDQUFDLFFBQTJCO1FBQ3RELE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLEVBQUUsQ0FBQztZQUVoQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFNBQVM7Z0JBQUUsT0FBTyxNQUFNLENBQUM7WUFFL0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQW1CO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO2tJQWxCVSxnQkFBZ0I7c0lBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dBbGVydENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlci9jb25maWcnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4vYWxlcnQuaGVscGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbkRpc21pc3NIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlcikge31cblxuICBwdWJsaWMgZ2V0Q2FuRGlzbWlzc0NhbGxiYWNrKGNhbGxiYWNrOiBTaG93QWxlcnRDYWxsYmFjaykge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjYWxsYmFjaygpO1xuXG4gICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Jvb2xlYW4nKSByZXR1cm4gcmVzdWx0O1xuXG4gICAgICBjb25zdCBjYW5DbG9zZU1vZGFsID0gYXdhaXQgdGhpcy5zaG93QWxlcnQocmVzdWx0KTtcbiAgICAgIHJldHVybiBjYW5DbG9zZU1vZGFsO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWxlcnQub25XaWxsRGlzbWlzcztcbiAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gIH1cbn1cbiJdfQ==
@@ -3,4 +3,5 @@ export * from './action-sheet.helper';
3
3
  export * from './alert.helper';
4
4
  export * from './modal.controller';
5
5
  export * from './can-dismiss.helper';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9tb2RhbC9zcmMvbW9kYWwvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tc2hlZXQuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwuY29udHJvbGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2Nhbi1kaXNtaXNzLmhlbHBlcic7XG4iXX0=
6
+ export * from './can-dismiss-modal-guard';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2RhbC9zcmMvbW9kYWwvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGFsLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi1zaGVldC5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5jb250cm9sbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY2FuLWRpc21pc3MuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY2FuLWRpc21pc3MtbW9kYWwtZ3VhcmQnO1xuIl19
@@ -258,11 +258,11 @@ export class ModalAnimationBuilderService {
258
258
  return baseAnimation;
259
259
  };
260
260
  }
261
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalAnimationBuilderService, deps: [{ token: i1.PlatformService }], target: i0.ɵɵFactoryTarget.Injectable }); }
262
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalAnimationBuilderService, providedIn: 'root' }); }
261
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalAnimationBuilderService, deps: [{ token: i1.PlatformService }], target: i0.ɵɵFactoryTarget.Injectable }); }
262
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalAnimationBuilderService, providedIn: 'root' }); }
263
263
  }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalAnimationBuilderService, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalAnimationBuilderService, decorators: [{
265
265
  type: Injectable,
266
266
  args: [{ providedIn: 'root' }]
267
267
  }], ctorParameters: () => [{ type: i1.PlatformService }] });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHbkUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1QixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoRCxnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMvQyxhQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUc7WUFDdEMsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO1FBZ1FNLHlCQUFvQixHQUFHLEdBQUcsRUFBRTtZQUNsQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsRUFBRTtpQkFDeEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7aUJBQ2xELFlBQVksQ0FBQztnQkFDWixnQkFBZ0IsRUFBRSxNQUFNO2FBQ3pCLENBQUM7aUJBQ0QsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQy9DLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsaUJBQWlCLENBQ2xCLENBQUM7WUFFRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUM7UUFFTSx5QkFBb0IsR0FBRyxHQUFHLEVBQUU7WUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTVGLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxFQUFFLENBQUMsTUFBTSxDQUMvQyxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixDQUNwQixDQUFDO1lBRUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDO1FBRUY7Ozs7Ozs7O1dBUUc7UUFDSyxtQkFBYyxHQUFHLENBQUMsRUFBZSxFQUFFLFdBQXdCLEVBQUUsRUFBRSxFQUFFO1lBQ3ZFLE9BQU8sRUFBRSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFDbkMsQ0FBQyxDQUFDO0lBL1M4QyxDQUFDO0lBUzFDLGNBQWMsQ0FBQyxlQUF3QztRQUM1RCxPQUFPLENBQUMsTUFBbUIsRUFBRSxJQUFvQyxFQUFhLEVBQUU7WUFDOUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQztZQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBRTVFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUM7WUFFbEUsZ0JBQWdCO2lCQUNiLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLENBQUUsQ0FBQztpQkFDbkUsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFaEMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztpQkFDbkQsVUFBVSxDQUFDLE1BQU0sQ0FBQztpQkFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQ3hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2lCQUN2QixZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUVsQyxJQUFJLHdCQUFtQyxDQUFDO1lBQ3hDLElBQUksZUFBZSxFQUFFO2dCQUNuQix3QkFBd0IsR0FBRyxlQUFlLEVBQUU7cUJBQ3pDLFVBQVUsQ0FBQyxlQUFlLENBQUM7cUJBQzNCLE1BQU0sQ0FBQyxTQUFTLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdkQ7WUFFRCxJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BELE1BQU0sWUFBWSxHQUNoQixZQUFZLENBQUMsT0FBTyxLQUFLLFdBQVc7b0JBQ25DLFlBQW9DLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUFDO2dCQUN4RSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRTNELE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN6RCxTQUFTLEVBQUUsZUFBZTtvQkFDMUIsa0JBQWtCLEVBQUUsWUFBWTtvQkFDaEMsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQUMsQ0FBQztnQkFFSCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUU3QixJQUFJLFFBQVEsRUFBRTtvQkFDWjs7Ozt1QkFJRztvQkFDSCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQzt3QkFDN0QsQ0FBQyxDQUFDLE1BQU07d0JBQ1IsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDO29CQUMxQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO29CQUNoRSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDekUsTUFBTSxjQUFjLEdBQUcsY0FBYyxjQUFjLFdBQVcsaUJBQWlCLEdBQUcsQ0FBQztvQkFFbkYsbUJBQW1CO3lCQUNoQixXQUFXLENBQUM7d0JBQ1gsU0FBUyxFQUFFLGNBQWM7cUJBQzFCLENBQUM7eUJBQ0QsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxDQUFDO3lCQUMzRSxVQUFVLENBQUMsWUFBWSxDQUFDO3lCQUN4QixTQUFTLENBQUM7d0JBQ1Q7NEJBQ0UsTUFBTSxFQUFFLENBQUM7NEJBQ1QsTUFBTSxFQUFFLGFBQWE7NEJBQ3JCLFNBQVMsRUFBRSwwQkFBMEI7NEJBQ3JDLFlBQVksRUFBRSxLQUFLO3lCQUNwQjt3QkFDRDs0QkFDRSxNQUFNLEVBQUUsQ0FBQzs0QkFDVCxNQUFNLEVBQUUsZ0JBQWdCOzRCQUN4QixTQUFTLEVBQUUsY0FBYzs0QkFDekIsWUFBWSxFQUFFLGVBQWU7eUJBQzlCO3FCQUNGLENBQUMsQ0FBQztvQkFFTCxhQUFhLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ2pEO3FCQUFNO29CQUNMLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFFOUMsSUFBSSx3QkFBd0IsRUFBRTt3QkFDNUIsYUFBYSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO3FCQUN0RDtvQkFFRCxJQUFJLENBQUMsWUFBWSxFQUFFO3dCQUNqQixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDOUM7eUJBQU07d0JBQ0wsTUFBTSxpQkFBaUIsR0FBRyxZQUFZOzRCQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQjs0QkFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDTixNQUFNLGNBQWMsR0FBRywyQkFBMkIsaUJBQWlCLEdBQUcsQ0FBQzt3QkFFdkUsbUJBQW1COzZCQUNoQixXQUFXLENBQUM7NEJBQ1gsU0FBUyxFQUFFLGNBQWM7eUJBQzFCLENBQUM7NkJBQ0QsVUFBVSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBRSxDQUFDOzZCQUM3RCxTQUFTLENBQUM7NEJBQ1QsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFOzRCQUN6RSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7eUJBQ25FLENBQUMsQ0FBQzt3QkFFTCxNQUFNLGVBQWUsR0FBRyxlQUFlLEVBQUU7NkJBQ3RDLFdBQVcsQ0FBQzs0QkFDWCxTQUFTLEVBQUUsY0FBYzt5QkFDMUIsQ0FBQzs2QkFDRCxVQUFVLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBRSxDQUFDOzZCQUM1RCxTQUFTLENBQUM7NEJBQ1QsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFOzRCQUNoRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO3lCQUN2RCxDQUFDLENBQUM7d0JBRUwsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7cUJBQ3BFO2lCQUNGO2FBQ0Y7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLHdCQUF3QixFQUFFO29CQUM1QixhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYyxDQUFDLGVBQXdDO1FBQzVELE9BQU8sQ0FDTCxNQUFtQixFQUNuQixJQUFvQyxFQUNwQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFDYixFQUFFO1lBQ2IsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQztZQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBRTVFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUM7WUFFbEUsZ0JBQWdCO2lCQUNiLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLENBQUUsQ0FBQztpQkFDbkUsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFaEMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQztpQkFDbEQsVUFBVSxDQUFDLE1BQU0sQ0FBQztpQkFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQ3hCLFFBQVEsQ0FBQyxRQUFRLENBQUM7aUJBQ2xCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWxDLElBQUksd0JBQW1DLENBQUM7WUFDeEMsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLHdCQUF3QixHQUFHLGVBQWUsRUFBRTtxQkFDekMsVUFBVSxDQUFDLGVBQWUsQ0FBQztxQkFDM0IsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7cUJBQ2xELFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUU7YUFDNUg7WUFFRCxJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BELE1BQU0sWUFBWSxHQUNoQixZQUFZLENBQUMsT0FBTyxLQUFLLFdBQVc7b0JBQ25DLFlBQW9DLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUFDO2dCQUN4RSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRTNELE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxFQUFFO3FCQUMxQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUNoQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUMvQixRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDeEIsbUVBQW1FO29CQUNuRSxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7d0JBQ3JCLE9BQU87cUJBQ1I7b0JBRUQsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUUvQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDdkUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLENBQ3pDLENBQUMsTUFBTSxDQUFDO29CQUNULElBQUksU0FBUyxJQUFJLENBQUMsRUFBRTt3QkFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQ2xEO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUVMLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBRTdCLElBQUksUUFBUSxFQUFFO29CQUNaLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDO3dCQUM3RCxDQUFDLENBQUMsTUFBTTt3QkFDUixDQUFDLENBQUMscUNBQXFDLENBQUM7b0JBQzFDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7b0JBQ2hFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDO29CQUN6RSxNQUFNLGNBQWMsR0FBRyxjQUFjLGNBQWMsV0FBVyxpQkFBaUIsR0FBRyxDQUFDO29CQUVuRixtQkFBbUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUNyRDs0QkFDRSxNQUFNLEVBQUUsQ0FBQzs0QkFDVCxNQUFNLEVBQUUsZ0JBQWdCOzRCQUN4QixTQUFTLEVBQUUsY0FBYzs0QkFDekIsWUFBWSxFQUFFLGVBQWU7eUJBQzlCO3dCQUNEOzRCQUNFLE1BQU0sRUFBRSxDQUFDOzRCQUNULE1BQU0sRUFBRSxhQUFhOzRCQUNyQixTQUFTLEVBQUUsMEJBQTBCOzRCQUNyQyxZQUFZLEVBQUUsS0FBSzt5QkFDcEI7cUJBQ0YsQ0FBQyxDQUFDO29CQUVILGFBQWEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7cUJBQU07b0JBQ0wsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUM5QyxJQUFJLHdCQUF3QixFQUFFO3dCQUM1QixhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7cUJBQ3REO29CQUVELElBQUksQ0FBQyxZQUFZLEVBQUU7d0JBQ2pCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUM5Qzt5QkFBTTt3QkFDTCxNQUFNLGlCQUFpQixHQUFHLFlBQVk7NEJBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9COzRCQUNoRCxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNOLE1BQU0sY0FBYyxHQUFHLDJCQUEyQixpQkFBaUIsR0FBRyxDQUFDO3dCQUV2RSxtQkFBbUI7NkJBQ2hCLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUUsQ0FBQzs2QkFDN0QsV0FBVyxDQUFDOzRCQUNYLFNBQVMsRUFBRSxzQkFBc0I7eUJBQ2xDLENBQUM7NkJBQ0QsU0FBUyxDQUFDOzRCQUNULEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTs0QkFDbEUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFO3lCQUMxRSxDQUFDLENBQUM7d0JBRUwsTUFBTSxlQUFlLEdBQUcsZUFBZSxFQUFFOzZCQUN0QyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBRSxDQUFDOzZCQUM1RCxXQUFXLENBQUM7NEJBQ1gsU0FBUyxFQUFFLHdCQUF3Qjt5QkFDcEMsQ0FBQzs2QkFDRCxTQUFTLENBQUM7NEJBQ1QsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTs0QkFDdEQsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFO3lCQUNqRSxDQUFDLENBQUM7d0JBRUwsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7cUJBQ3BFO2lCQUNGO2FBQ0Y7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLHdCQUF3QixFQUFFO29CQUM1QixhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDSixDQUFDO2lJQXRRVSw0QkFBNEI7cUlBQTVCLDRCQUE0QixjQURmLE1BQU07OzJGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uLCBBbmltYXRpb25CdWlsZGVyLCBjcmVhdGVBbmltYXRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5cbmltcG9ydCB7IEtpcmJ5QW5pbWF0aW9uIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNb2RhbEFuaW1hdGlvbkJ1aWxkZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWFzaW5nRW50ZXIgPSBLaXJieUFuaW1hdGlvbi5FYXNpbmcubW9kYWwuZW50ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWFzaW5nTGVhdmUgPSBLaXJieUFuaW1hdGlvbi5FYXNpbmcubW9kYWwuZXhpdDtcbiAgcHJpdmF0ZSByZWFkb25seSBkdXJhdGlvbiA9IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uLkxPTkc7XG4gIHByaXZhdGUgcmVhZG9ubHkgU3dpcGVUb0Nsb3NlRGVmYXVsdHMgPSB7XG4gICAgTUlOX1BSRVNFTlRJTkdfU0NBTEU6IDAuOTMsXG4gIH07XG5cbiAgcHVibGljIGVudGVyQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcD86IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQpOiBBbmltYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gKGJhc2VFbDogSFRNTEVsZW1lbnQsIG9wdHM6IHsgcHJlc2VudGluZ0VsPzogSFRNTEVsZW1lbnQgfSk6IEFuaW1hdGlvbiA9PiB7XG4gICAgICBjb25zdCB7IHByZXNlbnRpbmdFbCB9ID0gb3B0cztcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KGJhc2VFbCk7XG4gICAgICBjb25zdCB7IHdyYXBwZXJBbmltYXRpb24sIGJhY2tkcm9wQW5pbWF0aW9uIH0gPSB0aGlzLmNyZWF0ZUVudGVyQW5pbWF0aW9uKCk7XG5cbiAgICAgIGJhY2tkcm9wQW5pbWF0aW9uLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yKCdpb24tYmFja2Ryb3AnKSEpO1xuXG4gICAgICB3cmFwcGVyQW5pbWF0aW9uXG4gICAgICAgIC5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLm1vZGFsLXdyYXBwZXIsIC5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgIC5iZWZvcmVTdHlsZXMoeyBvcGFjaXR5OiAxIH0pO1xuXG4gICAgICBjb25zdCBiYXNlQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCdlbnRlcmluZy1iYXNlJylcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsKVxuICAgICAgICAuZWFzaW5nKHRoaXMuZWFzaW5nRW50ZXIpXG4gICAgICAgIC5kdXJhdGlvbih0aGlzLmR1cmF0aW9uKVxuICAgICAgICAuYWRkQW5pbWF0aW9uKHdyYXBwZXJBbmltYXRpb24pO1xuXG4gICAgICBsZXQgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uOiBBbmltYXRpb247XG4gICAgICBpZiAoY3VycmVudEJhY2tkcm9wKSB7XG4gICAgICAgIGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgLmFkZEVsZW1lbnQoY3VycmVudEJhY2tkcm9wKVxuICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknLCAwLjAxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXNlbnRpbmdFbCkge1xuICAgICAgICBjb25zdCBpc01vYmlsZSA9ICF0aGlzLnBsYXRmb3JtLmlzUGhhYmxldE9yQmlnZ2VyKCk7XG4gICAgICAgIGNvbnN0IGhhc0NhcmRNb2RhbCA9XG4gICAgICAgICAgcHJlc2VudGluZ0VsLnRhZ05hbWUgPT09ICdJT04tTU9EQUwnICYmXG4gICAgICAgICAgKHByZXNlbnRpbmdFbCBhcyBIVE1MSW9uTW9kYWxFbGVtZW50KS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVzZW50aW5nRWxSb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChwcmVzZW50aW5nRWwpO1xuXG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5iZWZvcmVTdHlsZXMoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgICd0cmFuc2Zvcm0tb3JpZ2luJzogJ3RvcCBjZW50ZXInLFxuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYm9keUVsID0gZG9jdW1lbnQuYm9keTtcblxuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb2VzIG5vdCBzdXBwb3J0IGBtYXgoKWAgKGV4OiBGaXJlZm94KVxuICAgICAgICAgICAqIE5vIG5lZWQgdG8gd29ycnkgYWJvdXQgc3RhdHVzYmFyIHBhZGRpbmcgc2luY2UgZW5naW5lcyBsaWtlIEdlY2tvXG4gICAgICAgICAgICogYXJlIG5vdCB1c2VkIGFzIHRoZSBlbmdpbmUgZm9yIHN0YW5kYWxvbmUgQ29yZG92YS9DYXBhY2l0b3IgYXBwc1xuICAgICAgICAgICAqL1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybU9mZnNldCA9ICFDU1Muc3VwcG9ydHMoJ3dpZHRoJywgJ21heCgwcHgsIDFweCknKVxuICAgICAgICAgICAgPyAnMzBweCdcbiAgICAgICAgICAgIDogJ21heCgzMHB4LCB2YXIoLS1pb24tc2FmZS1hcmVhLXRvcCkpJztcbiAgICAgICAgICBjb25zdCBtb2RhbFRyYW5zZm9ybSA9IGhhc0NhcmRNb2RhbCA/ICctMTBweCcgOiB0cmFuc2Zvcm1PZmZzZXQ7XG4gICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFO1xuICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHttb2RhbFRyYW5zZm9ybX0pIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uXG4gICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5iZWZvcmVBZGRXcml0ZSgoKSA9PiBib2R5RWwuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtY29sb3InLCAnYmxhY2snKSlcbiAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbClcbiAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDEpJyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzBweCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCAxMHB4IDAgMCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdKTtcblxuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKHByZXNlbnRpbmdBbmltYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcblxuICAgICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFoYXNDYXJkTW9kYWwpIHtcbiAgICAgICAgICAgIHdyYXBwZXJBbmltYXRpb24uZnJvbVRvKCdvcGFjaXR5JywgJzAnLCAnMScpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IGhhc0NhcmRNb2RhbFxuICAgICAgICAgICAgICA/IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEVcbiAgICAgICAgICAgICAgOiAxO1xuICAgICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgtMTBweCkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbFJvb3QucXVlcnlTZWxlY3RvcignLm1vZGFsLXdyYXBwZXInKSEpXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBmaWx0ZXI6ICdjb250cmFzdCgxKScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgY29uc3Qgc2hhZG93QW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBvcGFjaXR5OiAnMScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oW3ByZXNlbnRpbmdBbmltYXRpb24sIHNoYWRvd0FuaW1hdGlvbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZUFuaW1hdGlvbjtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGxlYXZlQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcD86IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQpOiBBbmltYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gKFxuICAgICAgYmFzZUVsOiBIVE1MRWxlbWVudCxcbiAgICAgIG9wdHM6IHsgcHJlc2VudGluZ0VsPzogSFRNTEVsZW1lbnQgfSxcbiAgICAgIGR1cmF0aW9uID0gdGhpcy5kdXJhdGlvblxuICAgICk6IEFuaW1hdGlvbiA9PiB7XG4gICAgICBjb25zdCB7IHByZXNlbnRpbmdFbCB9ID0gb3B0cztcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KGJhc2VFbCk7XG4gICAgICBjb25zdCB7IHdyYXBwZXJBbmltYXRpb24sIGJhY2tkcm9wQW5pbWF0aW9uIH0gPSB0aGlzLmNyZWF0ZUxlYXZlQW5pbWF0aW9uKCk7XG5cbiAgICAgIGJhY2tkcm9wQW5pbWF0aW9uLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yKCdpb24tYmFja2Ryb3AnKSEpO1xuXG4gICAgICB3cmFwcGVyQW5pbWF0aW9uXG4gICAgICAgIC5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLm1vZGFsLXdyYXBwZXIsIC5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgIC5iZWZvcmVTdHlsZXMoeyBvcGFjaXR5OiAxIH0pO1xuXG4gICAgICBjb25zdCBiYXNlQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCdsZWF2aW5nLWJhc2UnKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwpXG4gICAgICAgIC5lYXNpbmcodGhpcy5lYXNpbmdMZWF2ZSlcbiAgICAgICAgLmR1cmF0aW9uKGR1cmF0aW9uKVxuICAgICAgICAuYWRkQW5pbWF0aW9uKHdyYXBwZXJBbmltYXRpb24pO1xuXG4gICAgICBsZXQgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uOiBBbmltYXRpb247XG4gICAgICBpZiAoY3VycmVudEJhY2tkcm9wKSB7XG4gICAgICAgIGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgLmFkZEVsZW1lbnQoY3VycmVudEJhY2tkcm9wKVxuICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAwLjAxLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknKVxuICAgICAgICAgIC5hZnRlclN0eWxlcyh7IG9wYWNpdHk6ICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScgfSk7IC8vRW5zdXJlcyBiYWNrZHJvcCBpcyByZXNldCB0byBkZWZhdWx0IG9wYWNpdHkgYWZ0ZXIgc3dpcGUgdG8gY2xvc2VcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXNlbnRpbmdFbCkge1xuICAgICAgICBjb25zdCBpc01vYmlsZSA9ICF0aGlzLnBsYXRmb3JtLmlzUGhhYmxldE9yQmlnZ2VyKCk7XG4gICAgICAgIGNvbnN0IGhhc0NhcmRNb2RhbCA9XG4gICAgICAgICAgcHJlc2VudGluZ0VsLnRhZ05hbWUgPT09ICdJT04tTU9EQUwnICYmXG4gICAgICAgICAgKHByZXNlbnRpbmdFbCBhcyBIVE1MSW9uTW9kYWxFbGVtZW50KS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVzZW50aW5nRWxSb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChwcmVzZW50aW5nRWwpO1xuXG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgIC5iZWZvcmVDbGVhclN0eWxlcyhbJ3RyYW5zZm9ybSddKVxuICAgICAgICAgIC5hZnRlckNsZWFyU3R5bGVzKFsndHJhbnNmb3JtJ10pXG4gICAgICAgICAgLm9uRmluaXNoKChjdXJyZW50U3RlcCkgPT4ge1xuICAgICAgICAgICAgLy8gb25seSByZXNldCBiYWNrZ3JvdW5kIGNvbG9yIGlmIHRoaXMgaXMgdGhlIGxhc3QgY2FyZC1zdHlsZSBtb2RhbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGVwICE9PSAxKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJlc2VudGluZ0VsLnN0eWxlLnNldFByb3BlcnR5KCdvdmVyZmxvdycsICcnKTtcblxuICAgICAgICAgICAgY29uc3QgbnVtTW9kYWxzID0gQXJyYXkuZnJvbShib2R5RWwucXVlcnlTZWxlY3RvckFsbCgnaW9uLW1vZGFsJykpLmZpbHRlcihcbiAgICAgICAgICAgICAgKG0pID0+IG0ucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAobnVtTW9kYWxzIDw9IDEpIHtcbiAgICAgICAgICAgICAgYm9keUVsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJvZHlFbCA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtT2Zmc2V0ID0gIUNTUy5zdXBwb3J0cygnd2lkdGgnLCAnbWF4KDBweCwgMXB4KScpXG4gICAgICAgICAgICA/ICczMHB4J1xuICAgICAgICAgICAgOiAnbWF4KDMwcHgsIHZhcigtLWlvbi1zYWZlLWFyZWEtdG9wKSknO1xuICAgICAgICAgIGNvbnN0IG1vZGFsVHJhbnNmb3JtID0gaGFzQ2FyZE1vZGFsID8gJy0xMHB4JyA6IHRyYW5zZm9ybU9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEU7XG4gICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke21vZGFsVHJhbnNmb3JtfSkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb24uYWRkRWxlbWVudChwcmVzZW50aW5nRWwpLmtleWZyYW1lcyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcxMHB4IDEwcHggMCAwJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwcHgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcblxuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKHByZXNlbnRpbmdBbmltYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghaGFzQ2FyZE1vZGFsKSB7XG4gICAgICAgICAgICB3cmFwcGVyQW5pbWF0aW9uLmZyb21Ubygnb3BhY2l0eScsICcxJywgJzAnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSBoYXNDYXJkTW9kYWxcbiAgICAgICAgICAgICAgPyB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFXG4gICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtd3JhcHBlcicpISlcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAwLCAwKScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgZmlsdGVyOiAnY29udHJhc3QoMSknLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgY29uc3Qgc2hhZG93QW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKFtwcmVzZW50aW5nQW5pbWF0aW9uLCBzaGFkb3dBbmltYXRpb25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VBbmltYXRpb247XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRW50ZXJBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgYmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAuMDEsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScpXG4gICAgICAuYmVmb3JlU3R5bGVzKHtcbiAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogJ25vbmUnLFxuICAgICAgfSlcbiAgICAgIC5hZnRlckNsZWFyU3R5bGVzKFsncG9pbnRlci1ldmVudHMnXSk7XG5cbiAgICBjb25zdCB3cmFwcGVyQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICAndHJhbnNsYXRlWSgxMDB2aCknLFxuICAgICAgJ3RyYW5zbGF0ZVkoMHZoKSdcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgYmFja2Ryb3BBbmltYXRpb24sIHdyYXBwZXJBbmltYXRpb24gfTtcbiAgfTtcblxuICBwcml2YXRlIGNyZWF0ZUxlYXZlQW5pbWF0aW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IGJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKCdvcGFjaXR5JywgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJywgMCk7XG5cbiAgICBjb25zdCB3cmFwcGVyQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICAndHJhbnNsYXRlWSgwdmgpJyxcbiAgICAgICd0cmFuc2xhdGVZKDEwMHZoKSdcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgYmFja2Ryb3BBbmltYXRpb24sIHdyYXBwZXJBbmltYXRpb24gfTtcbiAgfTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgcm9vdCBjb250ZXh0IG9mIGEgc2hhZG93IGRvbSBlbGVtZW50XG4gICAqIE9uIG5ld2VyIGJyb3dzZXJzIHRoaXMgd2lsbCBiZSB0aGUgc2hhZG93Um9vdCxcbiAgICogYnV0IGZvciBvbGRlciBicm93c2VyIHRoaXMgbWF5IGp1c3QgYmUgdGhlXG4gICAqIGVsZW1lbnQgaXRzZWxmLlxuICAgKlxuICAgKiBVc2VmdWwgZm9yIHdoZW5ldmVyIHlvdSBuZWVkIHRvIGV4cGxpY2l0bHlcbiAgICogZG8gXCJteUVsZW1lbnQuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvciguLi4pXCIuXG4gICAqL1xuICBwcml2YXRlIGdldEVsZW1lbnRSb290ID0gKGVsOiBIVE1MRWxlbWVudCwgZmFsbGJhY2s6IEhUTUxFbGVtZW50ID0gZWwpID0+IHtcbiAgICByZXR1cm4gZWwuc2hhZG93Um9vdCB8fCBmYWxsYmFjaztcbiAgfTtcbn1cbiJdfQ==
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHbkUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1QixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoRCxnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMvQyxhQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUc7WUFDdEMsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO1FBZ1FNLHlCQUFvQixHQUFHLEdBQUcsRUFBRTtZQUNsQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsRUFBRTtpQkFDeEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7aUJBQ2xELFlBQVksQ0FBQztnQkFDWixnQkFBZ0IsRUFBRSxNQUFNO2FBQ3pCLENBQUM7aUJBQ0QsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQy9DLFdBQVcsRUFD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QUFDLENBQUM7aUJBQ3REO2FBQ0Y7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDSixDQUFDO2tJQXRRVSw0QkFBNEI7c0lBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uLCBBbmltYXRpb25CdWlsZGVyLCBjcmVhdGVBbmltYXRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5cbmltcG9ydCB7IEtpcmJ5QW5pbWF0aW9uIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNb2RhbEFuaW1hdGlvbkJ1aWxkZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWFzaW5nRW50ZXIgPSBLaXJieUFuaW1hdGlvbi5FYXNpbmcubW9kYWwuZW50ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWFzaW5nTGVhdmUgPSBLaXJieUFuaW1hdGlvbi5FYXNpbmcubW9kYWwuZXhpdDtcbiAgcHJpdmF0ZSByZWFkb25seSBkdXJhdGlvbiA9IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uLkxPTkc7XG4gIHByaXZhdGUgcmVhZG9ubHkgU3dpcGVUb0Nsb3NlRGVmYXVsdHMgPSB7XG4gICAgTUlOX1BSRVNFTlRJTkdfU0NBTEU6IDAuOTMsXG4gIH07XG5cbiAgcHVibGljIGVudGVyQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcD86IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQpOiBBbmltYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gKGJhc2VFbDogSFRNTEVsZW1lbnQsIG9wdHM6IHsgcHJlc2VudGluZ0VsPzogSFRNTEVsZW1lbnQgfSk6IEFuaW1hdGlvbiA9PiB7XG4gICAgICBjb25zdCB7IHByZXNlbnRpbmdFbCB9ID0gb3B0cztcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KGJhc2VFbCk7XG4gICAgICBjb25zdCB7IHdyYXBwZXJBbmltYXRpb24sIGJhY2tkcm9wQW5pbWF0aW9uIH0gPSB0aGlzLmNyZWF0ZUVudGVyQW5pbWF0aW9uKCk7XG5cbiAgICAgIGJhY2tkcm9wQW5pbWF0aW9uLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yKCdpb24tYmFja2Ryb3AnKSEpO1xuXG4gICAgICB3cmFwcGVyQW5pbWF0aW9uXG4gICAgICAgIC5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLm1vZGFsLXdyYXBwZXIsIC5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgIC5iZWZvcmVTdHlsZXMoeyBvcGFjaXR5OiAxIH0pO1xuXG4gICAgICBjb25zdCBiYXNlQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCdlbnRlcmluZy1iYXNlJylcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsKVxuICAgICAgICAuZWFzaW5nKHRoaXMuZWFzaW5nRW50ZXIpXG4gICAgICAgIC5kdXJhdGlvbih0aGlzLmR1cmF0aW9uKVxuICAgICAgICAuYWRkQW5pbWF0aW9uKHdyYXBwZXJBbmltYXRpb24pO1xuXG4gICAgICBsZXQgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uOiBBbmltYXRpb247XG4gICAgICBpZiAoY3VycmVudEJhY2tkcm9wKSB7XG4gICAgICAgIGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgLmFkZEVsZW1lbnQoY3VycmVudEJhY2tkcm9wKVxuICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknLCAwLjAxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXNlbnRpbmdFbCkge1xuICAgICAgICBjb25zdCBpc01vYmlsZSA9ICF0aGlzLnBsYXRmb3JtLmlzUGhhYmxldE9yQmlnZ2VyKCk7XG4gICAgICAgIGNvbnN0IGhhc0NhcmRNb2RhbCA9XG4gICAgICAgICAgcHJlc2VudGluZ0VsLnRhZ05hbWUgPT09ICdJT04tTU9EQUwnICYmXG4gICAgICAgICAgKHByZXNlbnRpbmdFbCBhcyBIVE1MSW9uTW9kYWxFbGVtZW50KS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVzZW50aW5nRWxSb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChwcmVzZW50aW5nRWwpO1xuXG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5iZWZvcmVTdHlsZXMoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgICd0cmFuc2Zvcm0tb3JpZ2luJzogJ3RvcCBjZW50ZXInLFxuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYm9keUVsID0gZG9jdW1lbnQuYm9keTtcblxuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb2VzIG5vdCBzdXBwb3J0IGBtYXgoKWAgKGV4OiBGaXJlZm94KVxuICAgICAgICAgICAqIE5vIG5lZWQgdG8gd29ycnkgYWJvdXQgc3RhdHVzYmFyIHBhZGRpbmcgc2luY2UgZW5naW5lcyBsaWtlIEdlY2tvXG4gICAgICAgICAgICogYXJlIG5vdCB1c2VkIGFzIHRoZSBlbmdpbmUgZm9yIHN0YW5kYWxvbmUgQ29yZG92YS9DYXBhY2l0b3IgYXBwc1xuICAgICAgICAgICAqL1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybU9mZnNldCA9ICFDU1Muc3VwcG9ydHMoJ3dpZHRoJywgJ21heCgwcHgsIDFweCknKVxuICAgICAgICAgICAgPyAnMzBweCdcbiAgICAgICAgICAgIDogJ21heCgzMHB4LCB2YXIoLS1pb24tc2FmZS1hcmVhLXRvcCkpJztcbiAgICAgICAgICBjb25zdCBtb2RhbFRyYW5zZm9ybSA9IGhhc0NhcmRNb2RhbCA/ICctMTBweCcgOiB0cmFuc2Zvcm1PZmZzZXQ7XG4gICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFO1xuICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHttb2RhbFRyYW5zZm9ybX0pIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uXG4gICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5iZWZvcmVBZGRXcml0ZSgoKSA9PiBib2R5RWwuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtY29sb3InLCAnYmxhY2snKSlcbiAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbClcbiAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDEpJyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzBweCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCAxMHB4IDAgMCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdKTtcblxuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKHByZXNlbnRpbmdBbmltYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcblxuICAgICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFoYXNDYXJkTW9kYWwpIHtcbiAgICAgICAgICAgIHdyYXBwZXJBbmltYXRpb24uZnJvbVRvKCdvcGFjaXR5JywgJzAnLCAnMScpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IGhhc0NhcmRNb2RhbFxuICAgICAgICAgICAgICA/IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEVcbiAgICAgICAgICAgICAgOiAxO1xuICAgICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgtMTBweCkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbFJvb3QucXVlcnlTZWxlY3RvcignLm1vZGFsLXdyYXBwZXInKSEpXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBmaWx0ZXI6ICdjb250cmFzdCgxKScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgY29uc3Qgc2hhZG93QW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBvcGFjaXR5OiAnMScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oW3ByZXNlbnRpbmdBbmltYXRpb24sIHNoYWRvd0FuaW1hdGlvbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZUFuaW1hdGlvbjtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGxlYXZlQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcD86IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQpOiBBbmltYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gKFxuICAgICAgYmFzZUVsOiBIVE1MRWxlbWVudCxcbiAgICAgIG9wdHM6IHsgcHJlc2VudGluZ0VsPzogSFRNTEVsZW1lbnQgfSxcbiAgICAgIGR1cmF0aW9uID0gdGhpcy5kdXJhdGlvblxuICAgICk6IEFuaW1hdGlvbiA9PiB7XG4gICAgICBjb25zdCB7IHByZXNlbnRpbmdFbCB9ID0gb3B0cztcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KGJhc2VFbCk7XG4gICAgICBjb25zdCB7IHdyYXBwZXJBbmltYXRpb24sIGJhY2tkcm9wQW5pbWF0aW9uIH0gPSB0aGlzLmNyZWF0ZUxlYXZlQW5pbWF0aW9uKCk7XG5cbiAgICAgIGJhY2tkcm9wQW5pbWF0aW9uLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yKCdpb24tYmFja2Ryb3AnKSEpO1xuXG4gICAgICB3cmFwcGVyQW5pbWF0aW9uXG4gICAgICAgIC5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLm1vZGFsLXdyYXBwZXIsIC5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgIC5iZWZvcmVTdHlsZXMoeyBvcGFjaXR5OiAxIH0pO1xuXG4gICAgICBjb25zdCBiYXNlQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCdsZWF2aW5nLWJhc2UnKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwpXG4gICAgICAgIC5lYXNpbmcodGhpcy5lYXNpbmdMZWF2ZSlcbiAgICAgICAgLmR1cmF0aW9uKGR1cmF0aW9uKVxuICAgICAgICAuYWRkQW5pbWF0aW9uKHdyYXBwZXJBbmltYXRpb24pO1xuXG4gICAgICBsZXQgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uOiBBbmltYXRpb247XG4gICAgICBpZiAoY3VycmVudEJhY2tkcm9wKSB7XG4gICAgICAgIGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgLmFkZEVsZW1lbnQoY3VycmVudEJhY2tkcm9wKVxuICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAwLjAxLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknKVxuICAgICAgICAgIC5hZnRlclN0eWxlcyh7IG9wYWNpdHk6ICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScgfSk7IC8vRW5zdXJlcyBiYWNrZHJvcCBpcyByZXNldCB0byBkZWZhdWx0IG9wYWNpdHkgYWZ0ZXIgc3dpcGUgdG8gY2xvc2VcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXNlbnRpbmdFbCkge1xuICAgICAgICBjb25zdCBpc01vYmlsZSA9ICF0aGlzLnBsYXRmb3JtLmlzUGhhYmxldE9yQmlnZ2VyKCk7XG4gICAgICAgIGNvbnN0IGhhc0NhcmRNb2RhbCA9XG4gICAgICAgICAgcHJlc2VudGluZ0VsLnRhZ05hbWUgPT09ICdJT04tTU9EQUwnICYmXG4gICAgICAgICAgKHByZXNlbnRpbmdFbCBhcyBIVE1MSW9uTW9kYWxFbGVtZW50KS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVzZW50aW5nRWxSb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChwcmVzZW50aW5nRWwpO1xuXG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgIC5iZWZvcmVDbGVhclN0eWxlcyhbJ3RyYW5zZm9ybSddKVxuICAgICAgICAgIC5hZnRlckNsZWFyU3R5bGVzKFsndHJhbnNmb3JtJ10pXG4gICAgICAgICAgLm9uRmluaXNoKChjdXJyZW50U3RlcCkgPT4ge1xuICAgICAgICAgICAgLy8gb25seSByZXNldCBiYWNrZ3JvdW5kIGNvbG9yIGlmIHRoaXMgaXMgdGhlIGxhc3QgY2FyZC1zdHlsZSBtb2RhbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGVwICE9PSAxKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJlc2VudGluZ0VsLnN0eWxlLnNldFByb3BlcnR5KCdvdmVyZmxvdycsICcnKTtcblxuICAgICAgICAgICAgY29uc3QgbnVtTW9kYWxzID0gQXJyYXkuZnJvbShib2R5RWwucXVlcnlTZWxlY3RvckFsbCgnaW9uLW1vZGFsJykpLmZpbHRlcihcbiAgICAgICAgICAgICAgKG0pID0+IG0ucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAobnVtTW9kYWxzIDw9IDEpIHtcbiAgICAgICAgICAgICAgYm9keUVsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJvZHlFbCA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtT2Zmc2V0ID0gIUNTUy5zdXBwb3J0cygnd2lkdGgnLCAnbWF4KDBweCwgMXB4KScpXG4gICAgICAgICAgICA/ICczMHB4J1xuICAgICAgICAgICAgOiAnbWF4KDMwcHgsIHZhcigtLWlvbi1zYWZlLWFyZWEtdG9wKSknO1xuICAgICAgICAgIGNvbnN0IG1vZGFsVHJhbnNmb3JtID0gaGFzQ2FyZE1vZGFsID8gJy0xMHB4JyA6IHRyYW5zZm9ybU9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEU7XG4gICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke21vZGFsVHJhbnNmb3JtfSkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb24uYWRkRWxlbWVudChwcmVzZW50aW5nRWwpLmtleWZyYW1lcyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcxMHB4IDEwcHggMCAwJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwcHgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcblxuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKHByZXNlbnRpbmdBbmltYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghaGFzQ2FyZE1vZGFsKSB7XG4gICAgICAgICAgICB3cmFwcGVyQW5pbWF0aW9uLmZyb21Ubygnb3BhY2l0eScsICcxJywgJzAnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSBoYXNDYXJkTW9kYWxcbiAgICAgICAgICAgICAgPyB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFXG4gICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtd3JhcHBlcicpISlcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAwLCAwKScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgZmlsdGVyOiAnY29udHJhc3QoMSknLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgY29uc3Qgc2hhZG93QW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKFtwcmVzZW50aW5nQW5pbWF0aW9uLCBzaGFkb3dBbmltYXRpb25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VBbmltYXRpb247XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRW50ZXJBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgYmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAuMDEsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScpXG4gICAgICAuYmVmb3JlU3R5bGVzKHtcbiAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogJ25vbmUnLFxuICAgICAgfSlcbiAgICAgIC5hZnRlckNsZWFyU3R5bGVzKFsncG9pbnRlci1ldmVudHMnXSk7XG5cbiAgICBjb25zdCB3cmFwcGVyQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICAndHJhbnNsYXRlWSgxMDB2aCknLFxuICAgICAgJ3RyYW5zbGF0ZVkoMHZoKSdcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgYmFja2Ryb3BBbmltYXRpb24sIHdyYXBwZXJBbmltYXRpb24gfTtcbiAgfTtcblxuICBwcml2YXRlIGNyZWF0ZUxlYXZlQW5pbWF0aW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IGJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKCdvcGFjaXR5JywgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJywgMCk7XG5cbiAgICBjb25zdCB3cmFwcGVyQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICAndHJhbnNsYXRlWSgwdmgpJyxcbiAgICAgICd0cmFuc2xhdGVZKDEwMHZoKSdcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgYmFja2Ryb3BBbmltYXRpb24sIHdyYXBwZXJBbmltYXRpb24gfTtcbiAgfTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgcm9vdCBjb250ZXh0IG9mIGEgc2hhZG93IGRvbSBlbGVtZW50XG4gICAqIE9uIG5ld2VyIGJyb3dzZXJzIHRoaXMgd2lsbCBiZSB0aGUgc2hhZG93Um9vdCxcbiAgICogYnV0IGZvciBvbGRlciBicm93c2VyIHRoaXMgbWF5IGp1c3QgYmUgdGhlXG4gICAqIGVsZW1lbnQgaXRzZWxmLlxuICAgKlxuICAgKiBVc2VmdWwgZm9yIHdoZW5ldmVyIHlvdSBuZWVkIHRvIGV4cGxpY2l0bHlcbiAgICogZG8gXCJteUVsZW1lbnQuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvciguLi4pXCIuXG4gICAqL1xuICBwcml2YXRlIGdldEVsZW1lbnRSb290ID0gKGVsOiBIVE1MRWxlbWVudCwgZmFsbGJhY2s6IEhUTUxFbGVtZW50ID0gZWwpID0+IHtcbiAgICByZXR1cm4gZWwuc2hhZG93Um9vdCB8fCBmYWxsYmFjaztcbiAgfTtcbn1cbiJdfQ==
@@ -25,7 +25,7 @@ export class ModalController {
25
25
  async initialize(moduleRootRoutePath) {
26
26
  const modalNavigation = await this.modalNavigationService.getModalNavigation(this.routeConfig, moduleRootRoutePath);
27
27
  this.onModalRouteActivated(modalNavigation.activated$);
28
- this.onModalRouteDeactivated(modalNavigation.deactivated$); // TODO: Do we want to close modal when routing out of modal route? Or should the code that navigates close the window??
28
+ this.onModalRouteDeactivated(modalNavigation.deactivated$);
29
29
  }
30
30
  onModalRouteActivated(modalRouteActivated$) {
31
31
  const navigateOnWillClose = () => {
@@ -42,8 +42,7 @@ export class ModalController {
42
42
  }
43
43
  onModalRouteDeactivated(modalRouteDeactivated$) {
44
44
  modalRouteDeactivated$
45
- .pipe(takeUntil(this.destroy$), filter(() => this.overlays.length > 0) // TODO: This also fires when closing overlay - should we check for isClosing??
46
- )
45
+ .pipe(takeUntil(this.destroy$), filter(() => this.overlays.some((overlay) => overlay.isDismissing !== true)))
47
46
  .subscribe(async () => {
48
47
  await this.hideAll();
49
48
  });
@@ -95,18 +94,23 @@ export class ModalController {
95
94
  return overlay.dismiss(data);
96
95
  }
97
96
  async hideAll() {
98
- await Promise.all(this.overlays.map(async (overlay) => {
97
+ await Promise.all(this.overlays
98
+ .filter((overlay) => overlay.isDismissing !== true)
99
+ .map(async (overlay) => {
99
100
  await overlay.dismiss();
100
101
  }));
101
102
  }
103
+ getTopMost() {
104
+ return this.overlays[this.overlays.length - 1];
105
+ }
102
106
  ngOnDestroy() {
103
107
  this.destroy$.next();
104
108
  this.destroy$.complete();
105
109
  }
106
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalController, deps: [{ token: i1.ModalHelper }, { token: i2.ActionSheetHelper }, { token: i3.AlertHelper }, { token: i4.ModalNavigationService }, { token: ROUTES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
107
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalController }); }
110
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalController, deps: [{ token: i1.ModalHelper }, { token: i2.ActionSheetHelper }, { token: i3.AlertHelper }, { token: i4.ModalNavigationService }, { token: ROUTES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
111
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalController }); }
108
112
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalController, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalController, decorators: [{
110
114
  type: Injectable
111
115
  }], ctorParameters: () => [{ type: i1.ModalHelper }, { type: i2.ActionSheetHelper }, { type: i3.AlertHelper }, { type: i4.ModalNavigationService }, { type: undefined, decorators: [{
112
116
  type: Optional
@@ -114,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
114
118
  type: Inject,
115
119
  args: [ROUTES]
116
120
  }] }] });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxD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LENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLE9BQU8sY0FBYyxLQUFLLFVBQVUsRUFBRTtnQkFDeEMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBVTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xDLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO2lJQTdKVSxlQUFlLCtJQVVKLE1BQU07cUlBVmpCLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQVdOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWxEYXRhLCBNb2RhbFJvdXRlQWN0aXZhdGlvbiwgT3ZlcmxheSB9IGZyb20gJy4uLy4uL21vZGFsLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb25maWcgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1jb25maWcnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydC9jb25maWcvYWxlcnQtY29uZmlnJztcblxuaW1wb3J0IHsgTW9kYWxOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGFsLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGFsLXdyYXBwZXInO1xuaW1wb3J0IHsgQWN0aW9uU2hlZXRIZWxwZXIgfSBmcm9tICcuL2FjdGlvbi1zaGVldC5oZWxwZXInO1xuaW1wb3J0IHsgQWxlcnRIZWxwZXIgfSBmcm9tICcuL2FsZXJ0LmhlbHBlcic7XG5pbXBvcnQgeyBNb2RhbEhlbHBlciB9IGZyb20gJy4vbW9kYWwuaGVscGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgb3ZlcmxheXM6IE92ZXJsYXlbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IG5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UgPSAnTm8gbW9kYWwgb3ZlcmxheXMgYXJlIGN1cnJlbnRseSByZWdpc3RlcmVkJztcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtb2RhbEhlbHBlcjogTW9kYWxIZWxwZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25TaGVldEhlbHBlcjogQWN0aW9uU2hlZXRIZWxwZXIsXG4gICAgcHJpdmF0ZSBhbGVydEhlbHBlcjogQWxlcnRIZWxwZXIsXG4gICAgcHJpdmF0ZSBtb2RhbE5hdmlnYXRpb25TZXJ2aWNlOiBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUk9VVEVTKSBwcml2YXRlIHJvdXRlQ29uZmlnOiBSb3V0ZXNbXVxuICApIHt9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShtb2R1bGVSb290Um91dGVQYXRoPzogc3RyaW5nKSB7XG4gICAgY29uc3QgbW9kYWxOYXZpZ2F0aW9uID0gYXdhaXQgdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLmdldE1vZGFsTmF2aWdhdGlvbihcbiAgICAgIHRoaXMucm91dGVDb25maWcsXG4gICAgICBtb2R1bGVSb290Um91dGVQYXRoXG4gICAgKTtcbiAgICB0aGlzLm9uTW9kYWxSb3V0ZUFjdGl2YXRlZChtb2RhbE5hdmlnYXRpb24uYWN0aXZhdGVkJCk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVEZWFjdGl2YXRlZChtb2RhbE5hdmlnYXRpb24uZGVhY3RpdmF0ZWQkKTsgLy8gVE9ETzogRG8gd2Ugd2FudCB0byBjbG9zZSBtb2RhbCB3aGVuIHJvdXRpbmcgb3V0IG9mIG1vZGFsIHJvdXRlPyBPciBzaG91bGQgdGhlIGNvZGUgdGhhdCBuYXZpZ2F0ZXMgY2xvc2UgdGhlIHdpbmRvdz8/XG4gIH1cblxuICBwcml2YXRlIG9uTW9kYWxSb3V0ZUFjdGl2YXRlZChtb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxNb2RhbFJvdXRlQWN0aXZhdGlvbj4pIHtcbiAgICBjb25zdCBuYXZpZ2F0ZU9uV2lsbENsb3NlID0gKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlT3V0T2ZNb2RhbE91dGxldCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQgPSBtb2RhbFJvdXRlQWN0aXZhdGVkJC5waXBlKFxuICAgICAgZmlsdGVyKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gIW1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpLFxuICAgICAgbWFwKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUpXG4gICAgKTtcblxuICAgIG1vZGFsUm91dGVBY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPT09IDApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4ge1xuICAgICAgICBpZiAobW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd01vZGFsUm91dGUoXG4gICAgICAgICAgICBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSxcbiAgICAgICAgICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICAgICAgICAgIG1vZGFsUm91dGVBY3RpdmF0aW9uLm1vZGFsRGF0YSxcbiAgICAgICAgICAgIG5hdmlnYXRlT25XaWxsQ2xvc2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxSb3V0ZURlYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPikge1xuICAgIG1vZGFsUm91dGVEZWFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLmxlbmd0aCA+IDApIC8vIFRPRE86IFRoaXMgYWxzbyBmaXJlcyB3aGVuIGNsb3Npbmcgb3ZlcmxheSAtIHNob3VsZCB3ZSBjaGVjayBmb3IgaXNDbG9zaW5nPz9cbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmhpZGVBbGwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbChcbiAgICBjb25maWc6IE1vZGFsQ29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZCxcbiAgICBhbGVydENvbmZpZz86IEFsZXJ0Q29uZmlnXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZywgYWxlcnRDb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVUb01vZGFsKFxuICAgIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIHF1ZXJ5UGFyYW1zPzogUGFyYW1zLFxuICAgIGFsZXJ0Q29uZmlnPzogQWxlcnRDb25maWdcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZVRvTW9kYWwocGF0aCwgcXVlcnlQYXJhbXMsIGFsZXJ0Q29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hvd01vZGFsUm91dGUoXG4gICAgbW9kYWxSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlPixcbiAgICBtb2RhbERhdGE6IE1vZGFsRGF0YSxcbiAgICBvbldpbGxDbG9zZTogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICAgIC4uLm1vZGFsUm91dGUuc25hcHNob3QuZGF0YS5tb2RhbENvbmZpZyxcbiAgICAgIGNvbXBvbmVudDogbnVsbCxcbiAgICAgIG1vZGFsUm91dGU6IG1vZGFsUm91dGUsXG4gICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICB9O1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZywgbW9kYWxEYXRhPy5hbGVydENvbmZpZyksXG4gICAgICBudWxsLFxuICAgICAgb25XaWxsQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBY3Rpb25TaGVldChcbiAgICBjb25maWc6IEFjdGlvblNoZWV0Q29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLmFjdGlvblNoZWV0SGVscGVyLnNob3dBY3Rpb25TaGVldChjb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcsIG9uQ2xvc2U/OiAocmVzdWx0OiBib29sZWFuKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KCgpID0+IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyksIG9uQ2xvc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgIHNob3dPdmVybGF5OiAoKSA9PiBQcm9taXNlPE92ZXJsYXk+LFxuICAgIG9uQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWQsXG4gICAgb25XaWxsQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHNob3dPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSByZXR1cm47XG5cbiAgICB0aGlzLm92ZXJsYXlzLnB1c2gob3ZlcmxheSk7XG5cbiAgICBpZiAodHlwZW9mIG9uV2lsbENsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb3ZlcmxheS5vbldpbGxEaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiBvbldpbGxDbG9zZU92ZXJsYXkoZXZlbnQuZGF0YSkpO1xuICAgIH1cblxuICAgIG92ZXJsYXkub25EaWREaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm92ZXJsYXlzLnBvcCgpO1xuICAgICAgaWYgKHR5cGVvZiBvbkNsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbkNsb3NlT3ZlcmxheShldmVudC5kYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoaWRlVG9wbW9zdChkYXRhPzogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gb3ZlcmxheS5kaXNtaXNzKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLm92ZXJsYXlzLm1hcChhc3luYyAob3ZlcmxheSkgPT4ge1xuICAgICAgICBhd2FpdCBvdmVybGF5LmRpc21pc3MoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxDQUFDO0lBRUosS0FBSyxDQUFDLFVBQVUs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QUFNO3NJQVZqQixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFXTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlcywgUk9VVEVTIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1vZGFsRGF0YSwgTW9kYWxSb3V0ZUFjdGl2YXRpb24sIE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29uZmlnIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtY29uZmlnJztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb25maWcgfSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcbmltcG9ydCB7IEFjdGlvblNoZWV0SGVscGVyIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuaGVscGVyJztcbmltcG9ydCB7IEFsZXJ0SGVscGVyIH0gZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuaW1wb3J0IHsgTW9kYWxIZWxwZXIgfSBmcm9tICcuL21vZGFsLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG92ZXJsYXlzOiBPdmVybGF5W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlID0gJ05vIG1vZGFsIG92ZXJsYXlzIGFyZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxIZWxwZXI6IE1vZGFsSGVscGVyLFxuICAgIHByaXZhdGUgYWN0aW9uU2hlZXRIZWxwZXI6IEFjdGlvblNoZWV0SGVscGVyLFxuICAgIHByaXZhdGUgYWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyLFxuICAgIHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJPVVRFUykgcHJpdmF0ZSByb3V0ZUNvbmZpZzogUm91dGVzW11cbiAgKSB7fVxuXG4gIGFzeW5jIGluaXRpYWxpemUobW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZykge1xuICAgIGNvbnN0IG1vZGFsTmF2aWdhdGlvbiA9IGF3YWl0IHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5nZXRNb2RhbE5hdmlnYXRpb24oXG4gICAgICB0aGlzLnJvdXRlQ29uZmlnLFxuICAgICAgbW9kdWxlUm9vdFJvdXRlUGF0aFxuICAgICk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmFjdGl2YXRlZCQpO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmRlYWN0aXZhdGVkJCk7XG4gIH1cblxuICBwcml2YXRlIG9uTW9kYWxSb3V0ZUFjdGl2YXRlZChtb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxNb2RhbFJvdXRlQWN0aXZhdGlvbj4pIHtcbiAgICBjb25zdCBuYXZpZ2F0ZU9uV2lsbENsb3NlID0gKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlT3V0T2ZNb2RhbE91dGxldCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQgPSBtb2RhbFJvdXRlQWN0aXZhdGVkJC5waXBlKFxuICAgICAgZmlsdGVyKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gIW1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpLFxuICAgICAgbWFwKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUpXG4gICAgKTtcblxuICAgIG1vZGFsUm91dGVBY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPT09IDApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4ge1xuICAgICAgICBpZiAobW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd01vZGFsUm91dGUoXG4gICAgICAgICAgICBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSxcbiAgICAgICAgICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICAgICAgICAgIG1vZGFsUm91dGVBY3RpdmF0aW9uLm1vZGFsRGF0YSxcbiAgICAgICAgICAgIG5hdmlnYXRlT25XaWxsQ2xvc2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxSb3V0ZURlYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPikge1xuICAgIG1vZGFsUm91dGVEZWFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLnNvbWUoKG92ZXJsYXkpID0+IG92ZXJsYXkuaXNEaXNtaXNzaW5nICE9PSB0cnVlKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmhpZGVBbGwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbChcbiAgICBjb25maWc6IE1vZGFsQ29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZCxcbiAgICBhbGVydENvbmZpZz86IEFsZXJ0Q29uZmlnXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZywgYWxlcnRDb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVUb01vZGFsKFxuICAgIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIHF1ZXJ5UGFyYW1zPzogUGFyYW1zLFxuICAgIGFsZXJ0Q29uZmlnPzogQWxlcnRDb25maWdcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZVRvTW9kYWwocGF0aCwgcXVlcnlQYXJhbXMsIGFsZXJ0Q29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hvd01vZGFsUm91dGUoXG4gICAgbW9kYWxSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlPixcbiAgICBtb2RhbERhdGE6IE1vZGFsRGF0YSxcbiAgICBvbldpbGxDbG9zZTogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICAgIC4uLm1vZGFsUm91dGUuc25hcHNob3QuZGF0YS5tb2RhbENvbmZpZyxcbiAgICAgIGNvbXBvbmVudDogbnVsbCxcbiAgICAgIG1vZGFsUm91dGU6IG1vZGFsUm91dGUsXG4gICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICB9O1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZywgbW9kYWxEYXRhPy5hbGVydENvbmZpZyksXG4gICAgICBudWxsLFxuICAgICAgb25XaWxsQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBY3Rpb25TaGVldChcbiAgICBjb25maWc6IEFjdGlvblNoZWV0Q29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLmFjdGlvblNoZWV0SGVscGVyLnNob3dBY3Rpb25TaGVldChjb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcsIG9uQ2xvc2U/OiAocmVzdWx0OiBib29sZWFuKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KCgpID0+IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyksIG9uQ2xvc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgIHNob3dPdmVybGF5OiAoKSA9PiBQcm9taXNlPE92ZXJsYXk+LFxuICAgIG9uQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWQsXG4gICAgb25XaWxsQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHNob3dPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSByZXR1cm47XG5cbiAgICB0aGlzLm92ZXJsYXlzLnB1c2gob3ZlcmxheSk7XG5cbiAgICBpZiAodHlwZW9mIG9uV2lsbENsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb3ZlcmxheS5vbldpbGxEaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiBvbldpbGxDbG9zZU92ZXJsYXkoZXZlbnQuZGF0YSkpO1xuICAgIH1cblxuICAgIG92ZXJsYXkub25EaWREaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm92ZXJsYXlzLnBvcCgpO1xuICAgICAgaWYgKHR5cGVvZiBvbkNsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbkNsb3NlT3ZlcmxheShldmVudC5kYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoaWRlVG9wbW9zdChkYXRhPzogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gb3ZlcmxheS5kaXNtaXNzKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLm92ZXJsYXlzXG4gICAgICAgIC5maWx0ZXIoKG92ZXJsYXkpID0+IG92ZXJsYXkuaXNEaXNtaXNzaW5nICE9PSB0cnVlKVxuICAgICAgICAubWFwKGFzeW5jIChvdmVybGF5KSA9PiB7XG4gICAgICAgICAgYXdhaXQgb3ZlcmxheS5kaXNtaXNzKCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3BNb3N0KCk6IE92ZXJsYXkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=