@odx/angular 9.2.2 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/esm2022/breakpoints/lib/breakpoints.module.mjs +4 -4
  3. package/esm2022/breakpoints/lib/breakpoints.service.mjs +3 -3
  4. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +4 -4
  5. package/esm2022/cdk/a11y/lib/a11y.module.mjs +4 -4
  6. package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +6 -5
  7. package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  8. package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  9. package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +6 -5
  10. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +5 -5
  11. package/esm2022/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +1 -1
  12. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +5 -5
  13. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +6 -5
  14. package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  15. package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +1 -1
  16. package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  17. package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +5 -5
  18. package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +3 -3
  19. package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
  20. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -4
  21. package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
  22. package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +1 -1
  23. package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +1 -1
  24. package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +1 -1
  25. package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +3 -3
  26. package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +3 -3
  27. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +4 -4
  28. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +4 -4
  29. package/esm2022/cdk/expandable/lib/expandable.module.mjs +4 -4
  30. package/esm2022/cdk/option-control/lib/option-control.mjs +3 -3
  31. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +5 -5
  32. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +5 -5
  33. package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  34. package/esm2022/components/accordion/lib/accordion.component.mjs +6 -5
  35. package/esm2022/components/accordion/lib/accordion.module.mjs +4 -4
  36. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +6 -5
  37. package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  38. package/esm2022/components/action-group/action-group.component.mjs +6 -5
  39. package/esm2022/components/area-header/area-header.component.mjs +6 -5
  40. package/esm2022/components/area-header/area-header.module.mjs +4 -4
  41. package/esm2022/components/area-header/directives/area-header-content.directive.mjs +3 -3
  42. package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  43. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +8 -9
  44. package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +4 -4
  45. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +6 -5
  46. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +6 -5
  47. package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +3 -3
  48. package/esm2022/components/avatar/lib/avatar.component.mjs +6 -5
  49. package/esm2022/components/badge/lib/badge.component.mjs +6 -5
  50. package/esm2022/components/badge/lib/badge.directive.mjs +6 -5
  51. package/esm2022/components/bar/lib/bar.component.mjs +6 -5
  52. package/esm2022/components/bar/lib/bar.module.mjs +4 -4
  53. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +6 -5
  54. package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +6 -5
  55. package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +6 -5
  56. package/esm2022/components/button/lib/button.component.mjs +6 -5
  57. package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +3 -3
  58. package/esm2022/components/button-group/lib/button-group.component.mjs +6 -5
  59. package/esm2022/components/calendar/lib/calendar.component.mjs +7 -6
  60. package/esm2022/components/calendar/lib/calendar.service.mjs +4 -4
  61. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +6 -5
  62. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +6 -5
  63. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +6 -5
  64. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +6 -5
  65. package/esm2022/components/calendar/lib/daterange.service.mjs +4 -4
  66. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +6 -5
  67. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +3 -3
  68. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +4 -4
  69. package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +4 -4
  70. package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +4 -4
  71. package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +4 -4
  72. package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +1 -1
  73. package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +1 -1
  74. package/esm2022/components/calendar/lib/utils/parse-date.mjs +1 -1
  75. package/esm2022/components/card/lib/card.component.mjs +7 -6
  76. package/esm2022/components/card/lib/card.module.mjs +4 -4
  77. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
  78. package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +6 -5
  79. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
  80. package/esm2022/components/card/lib/directives/card-content.directive.mjs +3 -3
  81. package/esm2022/components/checkbox/lib/checkbox.component.mjs +6 -5
  82. package/esm2022/components/checkbox/lib/checkbox.module.mjs +4 -4
  83. package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
  84. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +6 -5
  85. package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +6 -5
  86. package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +6 -5
  87. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +6 -5
  88. package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
  89. package/esm2022/components/content-box/lib/content-box.module.mjs +4 -4
  90. package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
  91. package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
  92. package/esm2022/components/datepicker/lib/datepicker.component.mjs +7 -6
  93. package/esm2022/components/datepicker/lib/datepicker.module.mjs +4 -4
  94. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +6 -5
  95. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +7 -6
  96. package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +4 -4
  97. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +6 -5
  98. package/esm2022/components/daterangepicker/lib/range.validator.mjs +3 -3
  99. package/esm2022/components/daterangepicker/lib/required.validator.mjs +3 -3
  100. package/esm2022/components/dropdown/lib/dropdown.component.mjs +6 -5
  101. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +6 -5
  102. package/esm2022/components/dropdown/lib/dropdown.module.mjs +4 -4
  103. package/esm2022/components/error-page/lib/error-page.component.mjs +6 -5
  104. package/esm2022/components/footer/lib/footer.component.mjs +6 -5
  105. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  106. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +6 -5
  107. package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +7 -6
  108. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  109. package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  110. package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +6 -5
  111. package/esm2022/components/form-field/lib/directives/form.directive.mjs +6 -5
  112. package/esm2022/components/form-field/lib/form-field.component.mjs +7 -6
  113. package/esm2022/components/form-field/lib/form-field.module.mjs +4 -4
  114. package/esm2022/components/form-field/lib/form-field.service.mjs +4 -4
  115. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +4 -4
  116. package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  117. package/esm2022/components/header/lib/directives/header-title.directive.mjs +3 -3
  118. package/esm2022/components/header/lib/header.component.mjs +6 -5
  119. package/esm2022/components/header/lib/header.module.mjs +4 -4
  120. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +7 -7
  121. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +6 -5
  122. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +4 -4
  123. package/esm2022/components/icon/lib/icon.component.mjs +6 -5
  124. package/esm2022/components/inline-message/lib/inline-message.component.mjs +6 -5
  125. package/esm2022/components/link/link.directive.mjs +6 -5
  126. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +6 -5
  127. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +6 -5
  128. package/esm2022/components/list/lib/list.component.mjs +6 -5
  129. package/esm2022/components/list/lib/list.module.mjs +4 -4
  130. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +6 -5
  131. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +4 -4
  132. package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  133. package/esm2022/components/logo/logo.directive.mjs +6 -5
  134. package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +6 -5
  135. package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +3 -3
  136. package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +6 -5
  137. package/esm2022/components/main-menu/lib/main-menu.component.mjs +6 -5
  138. package/esm2022/components/main-menu/lib/main-menu.module.mjs +4 -4
  139. package/esm2022/components/main-menu/lib/main-menu.service.mjs +3 -3
  140. package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +6 -5
  141. package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +6 -5
  142. package/esm2022/components/menu/lib/menu.component.mjs +6 -5
  143. package/esm2022/components/menu/lib/menu.directive.mjs +6 -5
  144. package/esm2022/components/menu/lib/menu.module.mjs +4 -4
  145. package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  146. package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +6 -5
  147. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +7 -6
  148. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +7 -6
  149. package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +4 -4
  150. package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +6 -5
  151. package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  152. package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +3 -3
  153. package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +3 -3
  154. package/esm2022/components/modal/lib/modal.component.mjs +7 -6
  155. package/esm2022/components/modal/lib/modal.directive.mjs +4 -4
  156. package/esm2022/components/modal/lib/modal.module.mjs +4 -4
  157. package/esm2022/components/modal/lib/modal.service.mjs +5 -5
  158. package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +6 -5
  159. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +6 -5
  160. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +6 -5
  161. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +3 -3
  162. package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +2 -3
  163. package/esm2022/components/notification/lib/features/with-load-notifications.mjs +1 -1
  164. package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +1 -1
  165. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +1 -1
  166. package/esm2022/components/notification/lib/notification.service.mjs +4 -4
  167. package/esm2022/components/notification/lib/services/notification-center.service.mjs +3 -3
  168. package/esm2022/components/paginator/lib/paginator.component.mjs +6 -5
  169. package/esm2022/components/paginator/lib/paginator.module.mjs +4 -4
  170. package/esm2022/components/progress/lib/progress.component.mjs +6 -5
  171. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +6 -5
  172. package/esm2022/components/radio-group/lib/radio-group.component.mjs +8 -9
  173. package/esm2022/components/radio-group/lib/radio-group.module.mjs +4 -4
  174. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +6 -5
  175. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +6 -5
  176. package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  177. package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +6 -5
  178. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +6 -5
  179. package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +6 -5
  180. package/esm2022/components/rich-list/lib/rich-list.component.mjs +6 -5
  181. package/esm2022/components/rich-list/lib/rich-list.module.mjs +4 -4
  182. package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +3 -3
  183. package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
  184. package/esm2022/components/search-bar/lib/search-bar.module.mjs +4 -4
  185. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +7 -6
  186. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +6 -5
  187. package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  188. package/esm2022/components/select/lib/select.component.mjs +8 -9
  189. package/esm2022/components/select/lib/select.module.mjs +4 -4
  190. package/esm2022/components/slider/lib/slider.directive.mjs +6 -5
  191. package/esm2022/components/spinbox/lib/spinbox.component.mjs +7 -6
  192. package/esm2022/components/switch/lib/switch.component.mjs +6 -5
  193. package/esm2022/components/switch/lib/switch.module.mjs +4 -4
  194. package/esm2022/components/switch/lib/switch.validator.mjs +3 -3
  195. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +6 -5
  196. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +7 -8
  197. package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  198. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
  199. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +4 -4
  200. package/esm2022/components/table/lib/directives/table-cell.directive.mjs +6 -5
  201. package/esm2022/components/table/lib/directives/table-row.directive.mjs +6 -5
  202. package/esm2022/components/table/lib/table.component.mjs +7 -8
  203. package/esm2022/components/table/lib/table.module.mjs +4 -4
  204. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +7 -6
  205. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +6 -5
  206. package/esm2022/components/timepicker/lib/timepicker.component.mjs +9 -10
  207. package/esm2022/components/timepicker/lib/timepicker.module.mjs +4 -4
  208. package/esm2022/components/timepicker/lib/timepicker.service.mjs +3 -3
  209. package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +1 -1
  210. package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +1 -1
  211. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +6 -5
  212. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +6 -5
  213. package/esm2022/components/toast/lib/toast.module.mjs +4 -4
  214. package/esm2022/components/toast/lib/toast.service.mjs +3 -3
  215. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +6 -5
  216. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +8 -9
  217. package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  218. package/esm2022/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +1 -1
  219. package/esm2022/components/tooltip/lib/tooltip.component.mjs +6 -5
  220. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +7 -6
  221. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +6 -5
  222. package/esm2022/components/wizard/lib/wizard.component.mjs +6 -5
  223. package/esm2022/components/wizard/lib/wizard.module.mjs +4 -4
  224. package/esm2022/internal/lib/decorators/css-modifier.mjs +1 -1
  225. package/esm2022/internal/lib/helpers/camel-to-kebab-case.mjs +1 -1
  226. package/esm2022/internal/lib/helpers/get-css-variables.mjs +1 -1
  227. package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +3 -3
  228. package/esm2022/internal/translate/lib/translate.service.mjs +1 -1
  229. package/esm2022/lib/controllers/controller.mjs +3 -3
  230. package/esm2022/lib/controllers/disabled.controller.mjs +4 -4
  231. package/esm2022/lib/controllers/readonly.controller.mjs +5 -5
  232. package/esm2022/lib/core.module.mjs +4 -4
  233. package/esm2022/lib/directives/click-outside.directive.mjs +4 -4
  234. package/esm2022/lib/directives/delegate-focus.directive.mjs +3 -3
  235. package/esm2022/lib/directives/with-disabled-state.directive.mjs +4 -4
  236. package/esm2022/lib/directives/with-tabindex.directive.mjs +4 -4
  237. package/esm2022/lib/services/window-ref.mjs +4 -4
  238. package/esm2022/localization/lib/features/with-http-language-header.mjs +1 -1
  239. package/esm2022/localization/lib/features/with-http-language-query-param.mjs +1 -1
  240. package/esm2022/localization/lib/localization.service.mjs +4 -4
  241. package/esm2022/rxjs/lib/from-element-resize.mjs +1 -1
  242. package/esm2022/sdk/lib/application-environment.mjs +1 -1
  243. package/esm2022/theming/lib/helpers/theme-storage.mjs +1 -1
  244. package/esm2022/theming/lib/theming.service.mjs +5 -5
  245. package/esm2022/utils/lib/decorators/pure.mjs +1 -1
  246. package/esm2022/utils/lib/helpers/angular.mjs +1 -1
  247. package/esm2022/utils/lib/helpers/array.mjs +1 -1
  248. package/esm2022/utils/lib/helpers/cache-storage-client.mjs +1 -1
  249. package/esm2022/utils/lib/helpers/debounce.mjs +1 -1
  250. package/esm2022/utils/lib/helpers/dom.mjs +1 -1
  251. package/esm2022/utils/lib/helpers/event-manager.mjs +4 -4
  252. package/esm2022/utils/lib/helpers/get-axis.mjs +1 -1
  253. package/esm2022/utils/lib/helpers/get-opposite-side.mjs +1 -1
  254. package/esm2022/utils/lib/helpers/ng-changes.mjs +1 -1
  255. package/esm2022/utils/lib/helpers/provide-config.mjs +1 -1
  256. package/esm2022/utils/lib/helpers/queue.mjs +1 -1
  257. package/fesm2022/odx-angular-breakpoints.mjs +10 -10
  258. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  259. package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
  260. package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -3
  261. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  262. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +4 -4
  263. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  264. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +4 -4
  265. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  266. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
  267. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  268. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +10 -10
  269. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  270. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +9 -9
  271. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  272. package/fesm2022/odx-angular-cdk-event-plugins.mjs +6 -6
  273. package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
  274. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  275. package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
  276. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +12 -12
  277. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  278. package/fesm2022/odx-angular-components-accordion.mjs +13 -13
  279. package/fesm2022/odx-angular-components-action-group.mjs +3 -3
  280. package/fesm2022/odx-angular-components-area-header.mjs +13 -13
  281. package/fesm2022/odx-angular-components-autocomplete.mjs +18 -20
  282. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  283. package/fesm2022/odx-angular-components-avatar.mjs +3 -3
  284. package/fesm2022/odx-angular-components-badge.mjs +6 -6
  285. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  286. package/fesm2022/odx-angular-components-bar.mjs +13 -13
  287. package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
  288. package/fesm2022/odx-angular-components-button-group.mjs +3 -3
  289. package/fesm2022/odx-angular-components-button.mjs +6 -6
  290. package/fesm2022/odx-angular-components-calendar.mjs +40 -40
  291. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  292. package/fesm2022/odx-angular-components-card.mjs +20 -20
  293. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  294. package/fesm2022/odx-angular-components-checkbox.mjs +10 -10
  295. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  296. package/fesm2022/odx-angular-components-chip.mjs +9 -9
  297. package/fesm2022/odx-angular-components-circular-progress.mjs +3 -3
  298. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  299. package/fesm2022/odx-angular-components-content-box.mjs +13 -13
  300. package/fesm2022/odx-angular-components-datepicker.mjs +11 -11
  301. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  302. package/fesm2022/odx-angular-components-daterangepicker.mjs +17 -17
  303. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  304. package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
  305. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  306. package/fesm2022/odx-angular-components-error-page.mjs +3 -3
  307. package/fesm2022/odx-angular-components-footer.mjs +3 -3
  308. package/fesm2022/odx-angular-components-form-field.mjs +37 -37
  309. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  310. package/fesm2022/odx-angular-components-header-navigation.mjs +14 -14
  311. package/fesm2022/odx-angular-components-header.mjs +13 -13
  312. package/fesm2022/odx-angular-components-icon.mjs +3 -3
  313. package/fesm2022/odx-angular-components-inline-message.mjs +3 -3
  314. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  315. package/fesm2022/odx-angular-components-link.mjs +3 -3
  316. package/fesm2022/odx-angular-components-list.mjs +13 -13
  317. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  318. package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -10
  319. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  320. package/fesm2022/odx-angular-components-logo.mjs +3 -3
  321. package/fesm2022/odx-angular-components-main-menu.mjs +19 -19
  322. package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
  323. package/fesm2022/odx-angular-components-menu.mjs +13 -13
  324. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  325. package/fesm2022/odx-angular-components-modal.mjs +44 -44
  326. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  327. package/fesm2022/odx-angular-components-navigation-back.mjs +3 -3
  328. package/fesm2022/odx-angular-components-notification.mjs +16 -17
  329. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  330. package/fesm2022/odx-angular-components-paginator.mjs +7 -7
  331. package/fesm2022/odx-angular-components-progress.mjs +3 -3
  332. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  333. package/fesm2022/odx-angular-components-radio-group.mjs +12 -14
  334. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  335. package/fesm2022/odx-angular-components-rail-navigation.mjs +10 -10
  336. package/fesm2022/odx-angular-components-rich-list.mjs +16 -16
  337. package/fesm2022/odx-angular-components-search-bar.mjs +10 -10
  338. package/fesm2022/odx-angular-components-select.mjs +19 -21
  339. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  340. package/fesm2022/odx-angular-components-slider.mjs +3 -3
  341. package/fesm2022/odx-angular-components-spinbox.mjs +4 -4
  342. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  343. package/fesm2022/odx-angular-components-switch.mjs +10 -10
  344. package/fesm2022/odx-angular-components-tab-bar.mjs +11 -13
  345. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  346. package/fesm2022/odx-angular-components-table.mjs +20 -22
  347. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  348. package/fesm2022/odx-angular-components-timepicker.mjs +20 -22
  349. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  350. package/fesm2022/odx-angular-components-toast.mjs +13 -13
  351. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  352. package/fesm2022/odx-angular-components-toggle-button-group.mjs +12 -14
  353. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  354. package/fesm2022/odx-angular-components-tooltip.mjs +7 -7
  355. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  356. package/fesm2022/odx-angular-components-wizard.mjs +10 -10
  357. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  358. package/fesm2022/odx-angular-internal-translate.mjs +3 -3
  359. package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
  360. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  361. package/fesm2022/odx-angular-localization.mjs +3 -3
  362. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  363. package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
  364. package/fesm2022/odx-angular-sdk.mjs.map +1 -1
  365. package/fesm2022/odx-angular-theming.mjs +4 -4
  366. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  367. package/fesm2022/odx-angular-utils.mjs +3 -3
  368. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  369. package/fesm2022/odx-angular.mjs +31 -31
  370. package/fesm2022/odx-angular.mjs.map +1 -1
  371. package/package.json +13 -13
@@ -23,7 +23,7 @@ import * as i2 from "@odx/angular/components/dropdown";
23
23
  *
24
24
  * @see {CustomFormControl}
25
25
  */
26
- export let DatepickerComponent = class DatepickerComponent extends CustomFormControl {
26
+ let DatepickerComponent = class DatepickerComponent extends CustomFormControl {
27
27
  /**
28
28
  * Gets a value indicating whether the datepicker is currently open.
29
29
  *
@@ -141,17 +141,18 @@ export let DatepickerComponent = class DatepickerComponent extends CustomFormCon
141
141
  const dateFormat = getDatepickerInputFormat(this.config);
142
142
  this.dateField.nativeElementValue = date ? format(date, dateFormat) : '';
143
143
  }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatepickerComponent, isStandalone: true, selector: "odx-datepicker", inputs: { filterFn: "filterFn", minDate: "minDate", maxDate: "maxDate", dropdownPosition: "dropdownPosition" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown.alt.ArrowDown": "openDatepicker($event)" } }, queries: [{ propertyName: "dateField", first: true, predicate: DatepickerInputControlDirective, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownDirective, descendants: true }, { propertyName: "dropdownTriggerElement", first: true, predicate: ["dropdownTrigger"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"input[odxDatepickerControl]\"></ng-content>\n\n<odx-action-group class=\"odx-datepicker__trigger-wrapper\">\n <button\n #dropdownTrigger\n odxButton\n size=\"small\"\n variant=\"ghost\"\n class=\"odx-datepicker__trigger\"\n [odxDropdown]=\"calendarOverlay\"\n [odxDropdownOptions]=\"{ position: dropdownPosition }\"\n [odxDropdownTriggerElement]=\"dropdownTriggerElement.nativeElement\"\n [odxDropdownHost]=\"null\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n >\n <odx-icon name=\"calendar\"></odx-icon>\n </button>\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n\n<ng-template #calendarOverlay>\n <odx-calendar\n [selectedDate]=\"value || today\"\n [filterFn]=\"filterFn\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (selectedDateChange)=\"selectDate($event)\"\n ></odx-calendar>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: CalendarComponent, selector: "odx-calendar", inputs: ["selectedDate", "selectedDateRange", "minDate", "maxDate", "filterFn"], outputs: ["selectedDateChange", "selectedDateRangeChange"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "directive", type: i2.DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownClickOutsideActive", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DatepickerComponent, isStandalone: true, selector: "odx-datepicker", inputs: { filterFn: "filterFn", minDate: "minDate", maxDate: "maxDate", dropdownPosition: "dropdownPosition" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown.alt.ArrowDown": "openDatepicker($event)" } }, queries: [{ propertyName: "dateField", first: true, predicate: DatepickerInputControlDirective, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownDirective, descendants: true }, { propertyName: "dropdownTriggerElement", first: true, predicate: ["dropdownTrigger"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"input[odxDatepickerControl]\"></ng-content>\n\n<odx-action-group class=\"odx-datepicker__trigger-wrapper\">\n <button\n #dropdownTrigger\n odxButton\n size=\"small\"\n variant=\"ghost\"\n class=\"odx-datepicker__trigger\"\n [odxDropdown]=\"calendarOverlay\"\n [odxDropdownOptions]=\"{ position: dropdownPosition }\"\n [odxDropdownTriggerElement]=\"dropdownTriggerElement.nativeElement\"\n [odxDropdownHost]=\"null\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n >\n <odx-icon name=\"calendar\"></odx-icon>\n </button>\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n\n<ng-template #calendarOverlay>\n <odx-calendar\n [selectedDate]=\"value || today\"\n [filterFn]=\"filterFn\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (selectedDateChange)=\"selectDate($event)\"\n ></odx-calendar>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: CalendarComponent, selector: "odx-calendar", inputs: ["selectedDate", "selectedDateRange", "minDate", "maxDate", "filterFn"], outputs: ["selectedDateChange", "selectedDateRangeChange"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "directive", type: i2.DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownClickOutsideActive", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
146
146
  };
147
147
  DatepickerComponent = __decorate([
148
148
  CSSComponent('datepicker'),
149
149
  __metadata("design:paramtypes", [])
150
150
  ], DatepickerComponent);
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerComponent, decorators: [{
151
+ export { DatepickerComponent };
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponent, decorators: [{
152
153
  type: Component,
153
154
  args: [{ selector: 'odx-datepicker', standalone: true, imports: [A11yModule, ActionGroupComponent, ButtonComponent, CalendarComponent, DropdownModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"input[odxDatepickerControl]\"></ng-content>\n\n<odx-action-group class=\"odx-datepicker__trigger-wrapper\">\n <button\n #dropdownTrigger\n odxButton\n size=\"small\"\n variant=\"ghost\"\n class=\"odx-datepicker__trigger\"\n [odxDropdown]=\"calendarOverlay\"\n [odxDropdownOptions]=\"{ position: dropdownPosition }\"\n [odxDropdownTriggerElement]=\"dropdownTriggerElement.nativeElement\"\n [odxDropdownHost]=\"null\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n >\n <odx-icon name=\"calendar\"></odx-icon>\n </button>\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n\n<ng-template #calendarOverlay>\n <odx-calendar\n [selectedDate]=\"value || today\"\n [filterFn]=\"filterFn\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (selectedDateChange)=\"selectDate($event)\"\n ></odx-calendar>\n</ng-template>\n" }]
154
- }], ctorParameters: function () { return []; }, propDecorators: { filterFn: [{
155
+ }], ctorParameters: () => [], propDecorators: { filterFn: [{
155
156
  type: Input
156
157
  }], minDate: [{
157
158
  type: Input
@@ -174,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
174
175
  type: HostListener,
175
176
  args: ['keydown.alt.ArrowDown', ['$event']]
176
177
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEYs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QUFpQixDQUFDLElBQUk7MEVBdUM5QixRQUFRO3NCQURkLEtBQUs7Z0JBV0MsT0FBTztzQkFEYixLQUFLO2dCQVdDLE9BQU87c0JBRGIsS0FBSztnQkFVQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBU0MsY0FBYztzQkFEcEIsTUFBTTtnQkFTQSxRQUFRO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVNyQixzQkFBc0I7c0JBRDVCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBU3pELFNBQVM7c0JBRGYsWUFBWTt1QkFBQywrQkFBK0I7Z0JBMERuQyxjQUFjO3NCQUR2QixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXMgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybUNvbnRyb2wgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgQWN0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50LCBEYXRlRmlsdGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHsgRHJvcGRvd25EaXJlY3RpdmUsIERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IFBvc2l0aW9uLCBkZWZlckZuLCBpbmplY3RFbGVtZW50LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBmb3JtYXQsIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3REYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi9kYXRlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IGdldERhdGVwaWNrZXJJbnB1dEZvcm1hdCB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkYXRlcGlja2VyIGNvbXBvbmVudCBmb3Igc2VsZWN0aW5nIGEgZGF0ZS5cbiAqIEV4dGVuZHMgdGhlIGBDdXN0b21Gb3JtQ29udHJvbGAgY2xhc3MgYW5kIGltcGxlbWVudHMgdGhlIGBBZnRlclZpZXdJbml0YCBpbnRlcmZhY2UuXG4gKlxuICogQHNlZSB7Q3VzdG9tRm9ybUNvbnRyb2x9XG4gKi9cbkBDU1NDb21wb25lbnQoJ2RhdGVwaWNrZXInKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWRhdGVwaWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQTExeU1vZHVsZSwgQWN0aW9uR3JvdXBDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgQ2FsZW5kYXJDb21wb25lbnQsIERyb3Bkb3duTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPERhdGUgfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0RGF0ZXBpY2tlckNvbmZpZygpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBkYXRlcGlja2VyIGlzIGN1cnJlbnRseSBvcGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24uaXNPcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGN1cnJlbnQgZGF0ZS5cbiAgICpcbiAgICogQHR5cGUge0RhdGV9XG4gICAqL1xuICBwdWJsaWMgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgZGF0ZSBzaG91bGQgYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQgaW4gdGhlIGRhdGVwaWNrZXIuXG4gICAqIElmIHNldCB0byBgbnVsbGAsIG5vIGZpbHRlcmluZyB3aWxsIGJlIGFwcGxpZWQuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlRmlsdGVyIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiAvLyBFeGNsdWRlcyBtb25kYXlzIGZyb20gdGhlIGRhdGVwaWNrZXIuXG4gICAqIGNvbnN0IGZpbHRlckZuOiBEYXRlRmlsdGVyID0gKGRhdGUpID0+IGRhdGUuZ2V0RGF5KCkgIT09IDE7XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlckZuOiBEYXRlRmlsdGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZSBmb3IgdGhlIGRhdGVwaWNrZXIuXG4gICAqIElmIHNldCB0byBudWxsLCB0aGVyZSBpcyBubyBtaW5pbXVtIGRhdGUgcmVzdHJpY3Rpb24uXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlIGZvciB0aGUgZGF0ZXBpY2tlci5cbiAgICogSWYgc2V0IHRvIG51bGwsIHRoZXJlIGlzIG5vIG1heGltdW0gZGF0ZSByZXN0cmljdGlvbi5cbiAgICpcbiAgICogQHR5cGUge0RhdGUgfCBudWxsfVxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQHR5cGUge1Bvc2l0aW9ufVxuICAgKiBAZGVmYXVsdCBQb3NpdGlvbi5CT1RUT01cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkcm9wZG93blBvc2l0aW9uOiBQb3NpdGlvbiA9ICdib3R0b20nO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VsZWN0ZWQgZGF0ZSB3aGVuIGl0IGNoYW5nZXMuXG4gICAqXG4gICAqIEBlbWl0cyB7RGF0ZX1cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBkcm9wZG93biBkaXJlY3RpdmUgdXNlZCBpbiB0aGUgZGF0ZXBpY2tlciBjb21wb25lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtEcm9wZG93bkRpcmVjdGl2ZX1cbiAgICovXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25EaXJlY3RpdmUpXG4gIHB1YmxpYyBkcm9wZG93biE6IERyb3Bkb3duRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBUaGUgZHJvcGRvd24gdHJpZ2dlciBlbGVtZW50IHVzZWQgaW4gdGhlIGRhdGVwaWNrZXIgY29tcG9uZW50LlxuICAgKlxuICAgKiBAdHlwZSB7RWxlbWVudFJlZjxIVE1MRWxlbWVudD59XG4gICAqL1xuICBAVmlld0NoaWxkKCdkcm9wZG93blRyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZHJvcGRvd25UcmlnZ2VyRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBmaWVsZCBpbnB1dCBjb250cm9sIGRpcmVjdGl2ZSB1c2VkIGluIHRoZSBkYXRlcGlja2VyIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGUge0RhdGVwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWR9XG4gICAqL1xuICBAQ29udGVudENoaWxkKERhdGVwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUpXG4gIHB1YmxpYyBkYXRlRmllbGQ/OiBEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKG51bGwpO1xuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZURhdGVGaWVsZENoYW5nZXMoKTtcbiAgICB0aGlzLmhhbmRsZURhdGVGaWVsZEZvY3VzKCk7XG5cbiAgICBkZWZlckZuKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSkgcmV0dXJuO1xuICAgICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHN0YXJ0T2ZEYXkodGhpcy52YWx1ZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBkYXRlLlxuICAgKlxuICAgKiBAcGFyYW0ge0RhdGUgfCBudWxsfSB2YWx1ZSAtIFRoZSBkYXRlIHZhbHVlIHRvIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdERhdGUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKG51bGwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUludGVybmFsVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVEYXRlRmllbGQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGVGaWVsZENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlRmllbGQ/LnZhbHVlQ2hhbmdlJC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZGF0ZUZpZWxkPy52YWx1ZUFzRGF0ZSA/PyBudWxsKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGF0ZUZpZWxkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlRmllbGQ/LmZvY3VzZWQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzRm9jdXNlZCkgPT4ge1xuICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFsdC5BcnJvd0Rvd24nLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb3BlbkRhdGVwaWNrZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzUmVhZG9ubHkgfHwgdGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLmRyb3Bkb3duLm9wZW4oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEYXRlRmllbGQoZGF0ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGF0ZUZpZWxkKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlRm9ybWF0ID0gZ2V0RGF0ZXBpY2tlcklucHV0Rm9ybWF0KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmRhdGVGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJyc7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0W29keERhdGVwaWNrZXJDb250cm9sXVwiPjwvbmctY29udGVudD5cblxuPG9keC1hY3Rpb24tZ3JvdXAgY2xhc3M9XCJvZHgtZGF0ZXBpY2tlcl9fdHJpZ2dlci13cmFwcGVyXCI+XG4gIDxidXR0b25cbiAgICAjZHJvcGRvd25UcmlnZ2VyXG4gICAgb2R4QnV0dG9uXG4gICAgc2l6ZT1cInNtYWxsXCJcbiAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgIGNsYXNzPVwib2R4LWRhdGVwaWNrZXJfX3RyaWdnZXJcIlxuICAgIFtvZHhEcm9wZG93bl09XCJjYWxlbmRhck92ZXJsYXlcIlxuICAgIFtvZHhEcm9wZG93bk9wdGlvbnNdPVwieyBwb3NpdGlvbjogZHJvcGRvd25Qb3NpdGlvbiB9XCJcbiAgICBbb2R4RHJvcGRvd25UcmlnZ2VyRWxlbWVudF09XCJkcm9wZG93blRyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIFtvZHhEcm9wZG93bkhvc3RdPVwibnVsbFwiXG4gICAgW29keERyb3Bkb3duUmVmZXJlbmNlRWxlbWVudF09XCJlbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIChvZHhEcm9wZG93bkJlZm9yZUNsb3NlKT1cIm9uVG91Y2hlZCgpXCJcbiAgPlxuICAgIDxvZHgtaWNvbiBuYW1lPVwiY2FsZW5kYXJcIj48L29keC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keEJ1dHRvbl1cIiBuZ1Byb2plY3RBcz1cIltvZHhCdXR0b25dXCIgLz5cbjwvb2R4LWFjdGlvbi1ncm91cD5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhck92ZXJsYXk+XG4gIDxvZHgtY2FsZW5kYXJcbiAgICBbc2VsZWN0ZWREYXRlXT1cInZhbHVlIHx8IHRvZGF5XCJcbiAgICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIGNka1RyYXBGb2N1c1xuICAgIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlXG4gICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJzZWxlY3REYXRlKCRldmVudClcIlxuICA+PC9vZHgtY2FsZW5kYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEYs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dUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO3dEQXVDOUIsUUFBUTtzQkFEZCxLQUFLO2dCQVdDLE9BQU87c0JBRGIsS0FBSztnQkFXQyxPQUFPO3NCQURiLEtBQUs7Z0JBVUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVNDLGNBQWM7c0JBRHBCLE1BQU07Z0JBU0EsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLGlCQUFpQjtnQkFTckIsc0JBQXNCO3NCQUQ1QixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVN6RCxTQUFTO3NCQURmLFlBQVk7dUJBQUMsK0JBQStCO2dCQTBEbkMsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IEN1c3RvbUZvcm1Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9jdXN0b20tZm9ybS1jb250cm9sJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCwgRGF0ZUZpbHRlciB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7IERyb3Bkb3duRGlyZWN0aXZlLCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBQb3NpdGlvbiwgZGVmZXJGbiwgaW5qZWN0RWxlbWVudCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZm9ybWF0LCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBnZXREYXRlcGlja2VySW5wdXRGb3JtYXQgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZGF0ZXBpY2tlciBjb21wb25lbnQgZm9yIHNlbGVjdGluZyBhIGRhdGUuXG4gKiBFeHRlbmRzIHRoZSBgQ3VzdG9tRm9ybUNvbnRyb2xgIGNsYXNzIGFuZCBpbXBsZW1lbnRzIHRoZSBgQWZ0ZXJWaWV3SW5pdGAgaW50ZXJmYWNlLlxuICpcbiAqIEBzZWUge0N1c3RvbUZvcm1Db250cm9sfVxuICovXG5AQ1NTQ29tcG9uZW50KCdkYXRlcGlja2VyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIEFjdGlvbkdyb3VwQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIENhbGVuZGFyQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBDdXN0b21Gb3JtQ29udHJvbDxEYXRlIHwgbnVsbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdERhdGVwaWNrZXJDb25maWcoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogR2V0cyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGF0ZXBpY2tlciBpcyBjdXJyZW50bHkgb3Blbi5cbiAgICpcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duLmlzT3BlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBjdXJyZW50IGRhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlfVxuICAgKi9cbiAgcHVibGljIHRvZGF5ID0gbmV3IERhdGUoKTtcblxuICAvKipcbiAgICogVGhlIGZpbHRlciBmdW5jdGlvbiB1c2VkIHRvIGRldGVybWluZSBpZiBhIGRhdGUgc2hvdWxkIGJlIGluY2x1ZGVkIG9yIGV4Y2x1ZGVkIGluIHRoZSBkYXRlcGlja2VyLlxuICAgKiBJZiBzZXQgdG8gYG51bGxgLCBubyBmaWx0ZXJpbmcgd2lsbCBiZSBhcHBsaWVkLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZUZpbHRlciB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogLy8gRXhjbHVkZXMgbW9uZGF5cyBmcm9tIHRoZSBkYXRlcGlja2VyLlxuICAgKiBjb25zdCBmaWx0ZXJGbjogRGF0ZUZpbHRlciA9IChkYXRlKSA9PiBkYXRlLmdldERheSgpICE9PSAxO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJGbjogRGF0ZUZpbHRlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUgZm9yIHRoZSBkYXRlcGlja2VyLlxuICAgKiBJZiBzZXQgdG8gbnVsbCwgdGhlcmUgaXMgbm8gbWluaW11bSBkYXRlIHJlc3RyaWN0aW9uLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZSB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNlbGVjdGFibGUgZGF0ZSBmb3IgdGhlIGRhdGVwaWNrZXIuXG4gICAqIElmIHNldCB0byBudWxsLCB0aGVyZSBpcyBubyBtYXhpbXVtIGRhdGUgcmVzdHJpY3Rpb24uXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biByZWxhdGl2ZSB0byB0aGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEB0eXBlIHtQb3NpdGlvbn1cbiAgICogQGRlZmF1bHQgUG9zaXRpb24uQk9UVE9NXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZHJvcGRvd25Qb3NpdGlvbjogUG9zaXRpb24gPSAnYm90dG9tJztcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHNlbGVjdGVkIGRhdGUgd2hlbiBpdCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZW1pdHMge0RhdGV9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgZHJvcGRvd24gZGlyZWN0aXZlIHVzZWQgaW4gdGhlIGRhdGVwaWNrZXIgY29tcG9uZW50LlxuICAgKlxuICAgKiBAdHlwZSB7RHJvcGRvd25EaXJlY3RpdmV9XG4gICAqL1xuICBAVmlld0NoaWxkKERyb3Bkb3duRGlyZWN0aXZlKVxuICBwdWJsaWMgZHJvcGRvd24hOiBEcm9wZG93bkRpcmVjdGl2ZTtcblxuICAvKipcbiAgICogVGhlIGRyb3Bkb3duIHRyaWdnZXIgZWxlbWVudCB1c2VkIGluIHRoZSBkYXRlcGlja2VyIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGUge0VsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+fVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25UcmlnZ2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGRyb3Bkb3duVHJpZ2dlckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogVGhlIGRhdGUgZmllbGQgaW5wdXQgY29udHJvbCBkaXJlY3RpdmUgdXNlZCBpbiB0aGUgZGF0ZXBpY2tlciBjb21wb25lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlKVxuICBwdWJsaWMgZGF0ZUZpZWxkPzogRGF0ZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihudWxsKTtcbiAgICBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyh0aGlzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRDaGFuZ2VzKCk7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRGb2N1cygpO1xuXG4gICAgZGVmZXJGbigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudmFsdWUpIHJldHVybjtcbiAgICAgIHRoaXMudXBkYXRlSW50ZXJuYWxWYWx1ZShzdGFydE9mRGF5KHRoaXMudmFsdWUpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGEgZGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtEYXRlIHwgbnVsbH0gdmFsdWUgLSBUaGUgZGF0ZSB2YWx1ZSB0byBiZSBzZWxlY3RlZC5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3REYXRlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIHRoaXMudXBkYXRlSW50ZXJuYWxWYWx1ZSh2YWx1ZSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlSW50ZXJuYWxWYWx1ZShudWxsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVJbnRlcm5hbFZhbHVlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlRGF0ZUZpZWxkKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEYXRlRmllbGRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUZpZWxkPy52YWx1ZUNoYW5nZSQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmRhdGVGaWVsZD8udmFsdWVBc0RhdGUgPz8gbnVsbCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGVGaWVsZEZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUZpZWxkPy5mb2N1c2VkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChpc0ZvY3VzZWQpID0+IHtcbiAgICAgIGlmICghaXNGb2N1c2VkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hbHQuQXJyb3dEb3duJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9wZW5EYXRlcGlja2VyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5pc1JlYWRvbmx5IHx8IHRoaXMuaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5kcm9wZG93bi5vcGVuKGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGF0ZUZpZWxkKGRhdGU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRhdGVGaWVsZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGdldERhdGVwaWNrZXJJbnB1dEZvcm1hdCh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5kYXRlRmllbGQubmF0aXZlRWxlbWVudFZhbHVlID0gZGF0ZSA/IGZvcm1hdChkYXRlLCBkYXRlRm9ybWF0KSA6ICcnO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFtvZHhEYXRlcGlja2VyQ29udHJvbF1cIj48L25nLWNvbnRlbnQ+XG5cbjxvZHgtYWN0aW9uLWdyb3VwIGNsYXNzPVwib2R4LWRhdGVwaWNrZXJfX3RyaWdnZXItd3JhcHBlclwiPlxuICA8YnV0dG9uXG4gICAgI2Ryb3Bkb3duVHJpZ2dlclxuICAgIG9keEJ1dHRvblxuICAgIHNpemU9XCJzbWFsbFwiXG4gICAgdmFyaWFudD1cImdob3N0XCJcbiAgICBjbGFzcz1cIm9keC1kYXRlcGlja2VyX190cmlnZ2VyXCJcbiAgICBbb2R4RHJvcGRvd25dPVwiY2FsZW5kYXJPdmVybGF5XCJcbiAgICBbb2R4RHJvcGRvd25PcHRpb25zXT1cInsgcG9zaXRpb246IGRyb3Bkb3duUG9zaXRpb24gfVwiXG4gICAgW29keERyb3Bkb3duVHJpZ2dlckVsZW1lbnRdPVwiZHJvcGRvd25UcmlnZ2VyRWxlbWVudC5uYXRpdmVFbGVtZW50XCJcbiAgICBbb2R4RHJvcGRvd25Ib3N0XT1cIm51bGxcIlxuICAgIFtvZHhEcm9wZG93blJlZmVyZW5jZUVsZW1lbnRdPVwiZWxlbWVudC5uYXRpdmVFbGVtZW50XCJcbiAgICAob2R4RHJvcGRvd25CZWZvcmVDbG9zZSk9XCJvblRvdWNoZWQoKVwiXG4gID5cbiAgICA8b2R4LWljb24gbmFtZT1cImNhbGVuZGFyXCI+PC9vZHgtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhCdXR0b25dXCIgbmdQcm9qZWN0QXM9XCJbb2R4QnV0dG9uXVwiIC8+XG48L29keC1hY3Rpb24tZ3JvdXA+XG5cbjxuZy10ZW1wbGF0ZSAjY2FsZW5kYXJPdmVybGF5PlxuICA8b2R4LWNhbGVuZGFyXG4gICAgW3NlbGVjdGVkRGF0ZV09XCJ2YWx1ZSB8fCB0b2RheVwiXG4gICAgW2ZpbHRlckZuXT1cImZpbHRlckZuXCJcbiAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICBjZGtUcmFwRm9jdXNcbiAgICBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZVxuICAgIChzZWxlY3RlZERhdGVDaGFuZ2UpPVwic2VsZWN0RGF0ZSgkZXZlbnQpXCJcbiAgPjwvb2R4LWNhbGVuZGFyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -5,11 +5,11 @@ import { DatepickerInputControlDirective } from './directives';
5
5
  import * as i0 from "@angular/core";
6
6
  const modules = [DatepickerComponent, DatepickerInputControlDirective];
7
7
  export class DatepickerModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, imports: [DatepickerComponent, DatepickerInputControlDirective], exports: [CoreModule, DatepickerComponent, DatepickerInputControlDirective] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, imports: [DatepickerComponent, CoreModule] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DatepickerModule, imports: [DatepickerComponent, DatepickerInputControlDirective], exports: [CoreModule, DatepickerComponent, DatepickerInputControlDirective] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerModule, imports: [DatepickerComponent, CoreModule] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: modules,
@@ -19,7 +19,7 @@ import * as i1 from "@odx/angular";
19
19
  * @see {InputControlDirective}
20
20
  * @see {WithTabIndex}
21
21
  */
22
- export let DatepickerInputControlDirective = class DatepickerInputControlDirective extends InputControlDirective {
22
+ let DatepickerInputControlDirective = class DatepickerInputControlDirective extends InputControlDirective {
23
23
  constructor() {
24
24
  super(...arguments);
25
25
  this.maskConfig = { validation: false, leadZeroDateTime: true };
@@ -71,13 +71,14 @@ export let DatepickerInputControlDirective = class DatepickerInputControlDirecti
71
71
  handleFocusOut() {
72
72
  this.focused.emit(false);
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerInputControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DatepickerInputControlDirective, isStandalone: true, selector: "input[odxDatepickerControl]", outputs: { focused: "focused" }, host: { listeners: { "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.readonly": "readonlyController?.readonly || null", "attr.placeholder": "placeholder" } }, providers: [ReadonlyController.connect(), provideNgxMask(), NgxMaskPipe], usesInheritance: true, hostDirectives: [{ directive: i1.WithTabIndex }], ngImport: i0 }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerInputControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
75
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DatepickerInputControlDirective, isStandalone: true, selector: "input[odxDatepickerControl]", outputs: { focused: "focused" }, host: { listeners: { "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.readonly": "readonlyController?.readonly || null", "attr.placeholder": "placeholder" } }, providers: [ReadonlyController.connect(), provideNgxMask(), NgxMaskPipe], usesInheritance: true, hostDirectives: [{ directive: i1.WithTabIndex }], ngImport: i0 }); }
76
76
  };
77
77
  DatepickerInputControlDirective = __decorate([
78
78
  CSSComponent('datepicker__control')
79
79
  ], DatepickerInputControlDirective);
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerInputControlDirective, decorators: [{
80
+ export { DatepickerInputControlDirective };
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerInputControlDirective, decorators: [{
81
82
  type: Directive,
82
83
  args: [{
83
84
  standalone: true,
@@ -98,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
98
99
  type: HostListener,
99
100
  args: ['focusout']
100
101
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbnB1dC1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGVwaWNrZXItaW5wdXQtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBVyxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUzRzs7Ozs7Ozs7O0dBU0c7QUFZSSxXQUFNLCtCQUErQixHQUFyQyxNQUFNLCtCQUFnQyxTQUFRLHFCQUFxQjtJQUFuRTs7UUFDWSxlQUFVLEdBQXFCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUUzRSx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCxXQUFNLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztRQUNsQyxjQUFTLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXJEOzs7O1dBSUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU3Qzs7Ozs7V0FLRztRQUNhLGlCQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDaEYsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUMzQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ25DLENBQUM7S0FzQ0g7SUFwQ0M7O09BRUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsV0FBVztRQUNwQixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBR1MsYUFBYTtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBR1MsY0FBYztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQS9EVSwrQkFBK0I7bUdBQS9CLCtCQUErQiw4U0FIL0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxXQUFXLENBQUM7O0FBRzdELCtCQUErQjtJQVgzQyxZQUFZLENBQUMscUJBQXFCLENBQUM7R0FXdkIsK0JBQStCLENBZ0UzQzs0RkFoRVksK0JBQStCO2tCQVYzQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxJQUFJLEVBQUU7d0JBQ0osaUJBQWlCLEVBQUUsc0NBQXNDO3dCQUN6RCxvQkFBb0IsRUFBRSxhQUFhO3FCQUNwQztvQkFDRCxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxXQUFXLENBQUM7b0JBQ3hFLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDL0I7OEJBZVEsT0FBTztzQkFEYixNQUFNO2dCQTJDRyxhQUFhO3NCQUR0QixZQUFZO3VCQUFDLFNBQVM7Z0JBTWIsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWRvbmx5Q29udHJvbGxlciwgV2l0aFRhYkluZGV4IH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IElucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgSUNvbmZpZywgTmd4TWFza1BpcGUsIHByb3ZpZGVOZ3hNYXNrIH0gZnJvbSAnbmd4LW1hc2snO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdERhdGVwaWNrZXJDb25maWcgfSBmcm9tICcuLi9kYXRlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBnZXREYXRlcGlja2VySW5wdXRGb3JtYXQsIGdldERhdGVwaWNrZXJJbnB1dE1hc2ssIGdldERhdGVwaWNrZXJJbnB1dFZhbHVlQXNEYXRlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRvIGVuaGFuY2UgYW4gaW5wdXQgZWxlbWVudCBhcyBwYXJ0IG9mIGEgZGF0ZXBpY2tlciBjb250cm9sLiBJdCBhcHBsaWVzIGRhdGUgaW5wdXQgZm9ybWF0dGluZyxcbiAqIG1hc2sgaGFuZGxpbmcsIGFuZCBlbWl0cyBmb2N1cyBldmVudHMuIFRoaXMgZGlyZWN0aXZlIGludGVncmF0ZXMgd2l0aCBuZ3gtbWFzayB0byBoYW5kbGUgaW5wdXQgbWFza2luZyBhbmRcbiAqIGVuc3VyZXMgdGhhdCB0aGUgaW5wdXQgY29tcGxpZXMgd2l0aCB0aGUgZGF0ZSBmb3JtYXQgc3BlY2lmaWVkIGluIHRoZSBkYXRlcGlja2VyIGNvbmZpZ3VyYXRpb24uXG4gKiBFeHRlbmRzIHRoZSBgSW5wdXRDb250cm9sRGlyZWN0aXZlYCB0byBwcm92aWRlIGlucHV0IGNvbnRyb2wgZnVuY3Rpb25hbGl0eS5cbiAqIEhhcyBob3N0IGRpcmVjdGl2ZSBgV2l0aFRhYkluZGV4YCB0byBtYW5hZ2UgdGhlIHRhYmluZGV4IGF0dHJpYnV0ZSBvZiB0aGUgaW5wdXQgZWxlbWVudC5cbiAqXG4gKiBAc2VlIHtJbnB1dENvbnRyb2xEaXJlY3RpdmV9XG4gKiBAc2VlIHtXaXRoVGFiSW5kZXh9XG4gKi9cbkBDU1NDb21wb25lbnQoJ2RhdGVwaWNrZXJfX2NvbnRyb2wnKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaW5wdXRbb2R4RGF0ZXBpY2tlckNvbnRyb2xdJyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5yZWFkb25seV0nOiAncmVhZG9ubHlDb250cm9sbGVyPy5yZWFkb25seSB8fCBudWxsJyxcbiAgICAnW2F0dHIucGxhY2Vob2xkZXJdJzogJ3BsYWNlaG9sZGVyJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbUmVhZG9ubHlDb250cm9sbGVyLmNvbm5lY3QoKSwgcHJvdmlkZU5neE1hc2soKSwgTmd4TWFza1BpcGVdLFxuICBob3N0RGlyZWN0aXZlczogW1dpdGhUYWJJbmRleF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgZXh0ZW5kcyBJbnB1dENvbnRyb2xEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IG1hc2tDb25maWc6IFBhcnRpYWw8SUNvbmZpZz4gPSB7IHZhbGlkYXRpb246IGZhbHNlLCBsZWFkWmVyb0RhdGVUaW1lOiB0cnVlIH07XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlYWRvbmx5Q29udHJvbGxlciA9IFJlYWRvbmx5Q29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdERhdGVwaWNrZXJDb25maWcoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0TWFzayA9IGdldERhdGVwaWNrZXJJbnB1dE1hc2sodGhpcy5jb25maWcpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmd4TWFza1BpcGUgPSBpbmplY3QoTmd4TWFza1BpcGUpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBpbnB1dCBmaWVsZCByZWNlaXZlcyBmb2N1cyBvciBsb3NlcyBmb2N1cywgaW5kaWNhdGluZyB0aGUgZm9jdXMgc3RhdGUuXG4gICAqXG4gICAqIEBlbWl0cyB7Ym9vbGVhbn0gLSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5wdXQgZmllbGQgaXMgZm9jdXNlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBzdHJlYW0gY2FwdHVyaW5nIGFuZCBwcm9jZXNzaW5nIGlucHV0IGV2ZW50cyBvbiB0aGUgbmF0aXZlIGVsZW1lbnQsIGFwcGx5aW5nIHRoZSBtYXNrLFxuICAgKiBhbmQgZW1pdHRpbmcgdGhlIGN1cnJlbnQgdmFsdWUuXG4gICAqXG4gICAqIEBlbWl0cyB7c3RyaW5nfSAtIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUNoYW5nZSQgPSBmcm9tRXZlbnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcpLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5hcHBseU1hc2soKSksXG4gICAgbWFwKCgpID0+IHRoaXMubmF0aXZlRWxlbWVudFZhbHVlKSxcbiAgKTtcblxuICAvKipcbiAgICogQXBwbGllcyB0aGUgY29uZmlndXJlZCBpbnB1dCBtYXNrIHRvIHRoZSBuYXRpdmUgZWxlbWVudCdzIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFwcGx5TWFzaygpOiB2b2lkIHtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnRWYWx1ZSA9IHRoaXMubmd4TWFza1BpcGUudHJhbnNmb3JtKHRoaXMubmF0aXZlRWxlbWVudFZhbHVlLCB0aGlzLmlucHV0TWFzaywgdGhpcy5tYXNrQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBpbnB1dCBmaWVsZCBhcyBhIGBEYXRlYCBvYmplY3QsIGJhc2VkIG9uIHRoZSBkYXRlIGZvcm1hdCBmcm9tIHRoZSBkYXRlcGlja2VyXG4gICAqIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtEYXRlIHwgbnVsbH0gLSBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgYXMgYSBgRGF0ZWAgb2JqZWN0LCBvciBgbnVsbGAgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlQXNEYXRlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gZ2V0RGF0ZXBpY2tlcklucHV0VmFsdWVBc0RhdGUodGhpcy5jb25maWcsIHRoaXMubmF0aXZlRWxlbWVudFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0IGJhc2VkIG9uIHRoZSBkYXRlIGZvcm1hdCBmcm9tXG4gICAqIHRoZSBkYXRlcGlja2VyIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHBsYWNlaG9sZGVyIHRleHQsIHR5cGljYWxseSB0aGUgZGF0ZSBmb3JtYXQgaW4gdXBwZXJjYXNlLlxuICAgKi9cbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXREYXRlcGlja2VySW5wdXRGb3JtYXQodGhpcy5jb25maWcpLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c2luJylcbiAgcHJvdGVjdGVkIGhhbmRsZUZvY3VzSW4oKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1c091dCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWQuZW1pdChmYWxzZSk7XG4gIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbnB1dC1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGVwaWNrZXItaW5wdXQtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBVyxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUzRzs7Ozs7Ozs7O0dBU0c7QUFZSSxJQUFNLCtCQUErQixHQUFyQyxNQUFNLCtCQUFnQyxTQUFRLHFCQUFxQjtJQUFuRTs7UUFDWSxlQUFVLEdBQXFCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUUzRSx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCxXQUFNLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztRQUNsQyxjQUFTLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXJEOzs7O1dBSUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU3Qzs7Ozs7V0FLRztRQUNhLGlCQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDaEYsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUMzQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ25DLENBQUM7S0FzQ0g7SUFwQ0M7O09BRUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsV0FBVztRQUNwQixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBR1MsYUFBYTtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBR1MsY0FBYztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQS9EVSwrQkFBK0I7bUdBQS9CLCtCQUErQiw4U0FIL0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxXQUFXLENBQUM7O0FBRzdELCtCQUErQjtJQVgzQyxZQUFZLENBQUMscUJBQXFCLENBQUM7R0FXdkIsK0JBQStCLENBZ0UzQzs7NEZBaEVZLCtCQUErQjtrQkFWM0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsSUFBSSxFQUFFO3dCQUNKLGlCQUFpQixFQUFFLHNDQUFzQzt3QkFDekQsb0JBQW9CLEVBQUUsYUFBYTtxQkFDcEM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsV0FBVyxDQUFDO29CQUN4RSxjQUFjLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQy9COzhCQWVRLE9BQU87c0JBRGIsTUFBTTtnQkEyQ0csYUFBYTtzQkFEdEIsWUFBWTt1QkFBQyxTQUFTO2dCQU1iLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFkb25seUNvbnRyb2xsZXIsIFdpdGhUYWJJbmRleCB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBJbnB1dENvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IElDb25maWcsIE5neE1hc2tQaXBlLCBwcm92aWRlTmd4TWFzayB9IGZyb20gJ25neC1tYXNrJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmcm9tRXZlbnQsIG1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3REYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgZ2V0RGF0ZXBpY2tlcklucHV0Rm9ybWF0LCBnZXREYXRlcGlja2VySW5wdXRNYXNrLCBnZXREYXRlcGlja2VySW5wdXRWYWx1ZUFzRGF0ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0byBlbmhhbmNlIGFuIGlucHV0IGVsZW1lbnQgYXMgcGFydCBvZiBhIGRhdGVwaWNrZXIgY29udHJvbC4gSXQgYXBwbGllcyBkYXRlIGlucHV0IGZvcm1hdHRpbmcsXG4gKiBtYXNrIGhhbmRsaW5nLCBhbmQgZW1pdHMgZm9jdXMgZXZlbnRzLiBUaGlzIGRpcmVjdGl2ZSBpbnRlZ3JhdGVzIHdpdGggbmd4LW1hc2sgdG8gaGFuZGxlIGlucHV0IG1hc2tpbmcgYW5kXG4gKiBlbnN1cmVzIHRoYXQgdGhlIGlucHV0IGNvbXBsaWVzIHdpdGggdGhlIGRhdGUgZm9ybWF0IHNwZWNpZmllZCBpbiB0aGUgZGF0ZXBpY2tlciBjb25maWd1cmF0aW9uLlxuICogRXh0ZW5kcyB0aGUgYElucHV0Q29udHJvbERpcmVjdGl2ZWAgdG8gcHJvdmlkZSBpbnB1dCBjb250cm9sIGZ1bmN0aW9uYWxpdHkuXG4gKiBIYXMgaG9zdCBkaXJlY3RpdmUgYFdpdGhUYWJJbmRleGAgdG8gbWFuYWdlIHRoZSB0YWJpbmRleCBhdHRyaWJ1dGUgb2YgdGhlIGlucHV0IGVsZW1lbnQuXG4gKlxuICogQHNlZSB7SW5wdXRDb250cm9sRGlyZWN0aXZlfVxuICogQHNlZSB7V2l0aFRhYkluZGV4fVxuICovXG5AQ1NTQ29tcG9uZW50KCdkYXRlcGlja2VyX19jb250cm9sJylcbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2lucHV0W29keERhdGVwaWNrZXJDb250cm9sXScsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIucmVhZG9ubHldJzogJ3JlYWRvbmx5Q29udHJvbGxlcj8ucmVhZG9ubHkgfHwgbnVsbCcsXG4gICAgJ1thdHRyLnBsYWNlaG9sZGVyXSc6ICdwbGFjZWhvbGRlcicsXG4gIH0sXG4gIHByb3ZpZGVyczogW1JlYWRvbmx5Q29udHJvbGxlci5jb25uZWN0KCksIHByb3ZpZGVOZ3hNYXNrKCksIE5neE1hc2tQaXBlXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtXaXRoVGFiSW5kZXhdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIGV4dGVuZHMgSW5wdXRDb250cm9sRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXNrQ29uZmlnOiBQYXJ0aWFsPElDb25maWc+ID0geyB2YWxpZGF0aW9uOiBmYWxzZSwgbGVhZFplcm9EYXRlVGltZTogdHJ1ZSB9O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByZWFkb25seUNvbnRyb2xsZXIgPSBSZWFkb25seUNvbnRyb2xsZXIuaW5qZWN0KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3REYXRlcGlja2VyQ29uZmlnKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1hc2sgPSBnZXREYXRlcGlja2VySW5wdXRNYXNrKHRoaXMuY29uZmlnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5neE1hc2tQaXBlID0gaW5qZWN0KE5neE1hc2tQaXBlKTtcblxuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgaW5wdXQgZmllbGQgcmVjZWl2ZXMgZm9jdXMgb3IgbG9zZXMgZm9jdXMsIGluZGljYXRpbmcgdGhlIGZvY3VzIHN0YXRlLlxuICAgKlxuICAgKiBAZW1pdHMge2Jvb2xlYW59IC0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGZpZWxkIGlzIGZvY3VzZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgc3RyZWFtIGNhcHR1cmluZyBhbmQgcHJvY2Vzc2luZyBpbnB1dCBldmVudHMgb24gdGhlIG5hdGl2ZSBlbGVtZW50LCBhcHBseWluZyB0aGUgbWFzayxcbiAgICogYW5kIGVtaXR0aW5nIHRoZSBjdXJyZW50IHZhbHVlLlxuICAgKlxuICAgKiBAZW1pdHMge3N0cmluZ30gLSBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVDaGFuZ2UkID0gZnJvbUV2ZW50KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKS5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFwKCgpID0+IHRoaXMuYXBwbHlNYXNrKCkpLFxuICAgIG1hcCgoKSA9PiB0aGlzLm5hdGl2ZUVsZW1lbnRWYWx1ZSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgdGhlIGNvbmZpZ3VyZWQgaW5wdXQgbWFzayB0byB0aGUgbmF0aXZlIGVsZW1lbnQncyB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhcHBseU1hc2soKTogdm9pZCB7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW50VmFsdWUgPSB0aGlzLm5neE1hc2tQaXBlLnRyYW5zZm9ybSh0aGlzLm5hdGl2ZUVsZW1lbnRWYWx1ZSwgdGhpcy5pbnB1dE1hc2ssIHRoaXMubWFza0NvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgYXMgYSBgRGF0ZWAgb2JqZWN0LCBiYXNlZCBvbiB0aGUgZGF0ZSBmb3JtYXQgZnJvbSB0aGUgZGF0ZXBpY2tlclxuICAgKiBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RGF0ZSB8IG51bGx9IC0gVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGlucHV0IGZpZWxkIGFzIGEgYERhdGVgIG9iamVjdCwgb3IgYG51bGxgIGlmIHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZUFzRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIGdldERhdGVwaWNrZXJJbnB1dFZhbHVlQXNEYXRlKHRoaXMuY29uZmlnLCB0aGlzLm5hdGl2ZUVsZW1lbnRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBiYXNlZCBvbiB0aGUgZGF0ZSBmb3JtYXQgZnJvbVxuICAgKiB0aGUgZGF0ZXBpY2tlciBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBwbGFjZWhvbGRlciB0ZXh0LCB0eXBpY2FsbHkgdGhlIGRhdGUgZm9ybWF0IGluIHVwcGVyY2FzZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RGF0ZXBpY2tlcklucHV0Rm9ybWF0KHRoaXMuY29uZmlnKS50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1c0luKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxuICBwcm90ZWN0ZWQgaGFuZGxlRm9jdXNPdXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkLmVtaXQoZmFsc2UpO1xuICB9XG59XG4iXX0=
@@ -25,7 +25,7 @@ import * as i2 from "@odx/angular/components/dropdown";
25
25
  *
26
26
  * @see {CustomFormControl}
27
27
  */
28
- export let DaterangepickerComponent = class DaterangepickerComponent extends CustomFormControl {
28
+ let DaterangepickerComponent = class DaterangepickerComponent extends CustomFormControl {
29
29
  /**
30
30
  * Indicates whether the dropdown part of the date range picker is open.
31
31
  *
@@ -194,8 +194,8 @@ export let DaterangepickerComponent = class DaterangepickerComponent extends Cus
194
194
  this.endDateField.nativeElementValue = date ? format(date, dateFormat) : '';
195
195
  this.updateWidth(this.endDateField, this.endDateMirror, date ? format(date, dateFormat) : '');
196
196
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DaterangepickerComponent, isStandalone: true, selector: "odx-daterangepicker", inputs: { filterFn: "filterFn", minDate: "minDate", maxDate: "maxDate", dropdownPosition: "dropdownPosition" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown.alt.ArrowDown": "openDaterangepicker($event)" } }, providers: [
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DaterangepickerComponent, isStandalone: true, selector: "odx-daterangepicker", inputs: { filterFn: "filterFn", minDate: "minDate", maxDate: "maxDate", dropdownPosition: "dropdownPosition" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown.alt.ArrowDown": "openDaterangepicker($event)" } }, providers: [
199
199
  provideCalendarConfig({
200
200
  displayAdjacentDays: false,
201
201
  selectionMode: CalendarSelectionMode.DateRange,
@@ -206,7 +206,8 @@ DaterangepickerComponent = __decorate([
206
206
  CSSComponent('daterangepicker'),
207
207
  __metadata("design:paramtypes", [])
208
208
  ], DaterangepickerComponent);
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerComponent, decorators: [{
209
+ export { DaterangepickerComponent };
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerComponent, decorators: [{
210
211
  type: Component,
211
212
  args: [{ selector: 'odx-daterangepicker', standalone: true, imports: [A11yModule, ActionGroupComponent, ButtonComponent, CalendarComponent, DropdownModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
212
213
  provideCalendarConfig({
@@ -214,7 +215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
214
215
  selectionMode: CalendarSelectionMode.DateRange,
215
216
  }),
216
217
  ], template: "<span #startDateMirror role=\"none\" class=\"odx-daterangepicker__mirror\"></span>\n<ng-content select=\"input[odxDaterangepickerStartDateControl]\"></ng-content>\n<span role=\"none\" class=\"odx-daterangepicker__separator\">\u2013</span>\n<span #endDateMirror role=\"none\" class=\"odx-daterangepicker__mirror\"></span>\n<ng-content select=\"input[odxDaterangepickerEndDateControl]\"></ng-content>\n\n<odx-action-group class=\"odx-daterangepicker__trigger-wrapper\">\n <button\n #dropdownTrigger\n odxButton\n size=\"small\"\n variant=\"ghost\"\n class=\"odx-daterangepicker__trigger\"\n [odxDropdown]=\"calendarOverlay\"\n [odxDropdownOptions]=\"{ position: dropdownPosition }\"\n [odxDropdownTriggerElement]=\"dropdownTriggerElement.nativeElement\"\n [odxDropdownHost]=\"null\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n >\n <odx-icon name=\"calendar\"></odx-icon>\n </button>\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n\n<ng-template #calendarOverlay>\n <odx-calendar\n [selectedDate]=\"today\"\n [selectedDateRange]=\"value\"\n (selectedDateRangeChange)=\"selectDateRange($event)\"\n [filterFn]=\"filterFn\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n ></odx-calendar>\n</ng-template>\n" }]
217
- }], ctorParameters: function () { return []; }, propDecorators: { filterFn: [{
218
+ }], ctorParameters: () => [], propDecorators: { filterFn: [{
218
219
  type: Input
219
220
  }], minDate: [{
220
221
  type: Input
@@ -243,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
243
244
  type: HostListener,
244
245
  args: ['keydown.alt.ArrowDown', ['$event']]
245
246
  }] } });
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlci9zcmMvbGliL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcmFuZ2VwaWNrZXIvc3JjL2xpYi9kYXRlcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBeUIscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFB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QVVDLE9BQU87c0JBRGIsS0FBSztnQkFVQyxPQUFPO3NCQURiLEtBQUs7Z0JBVUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVNDLGNBQWM7c0JBRHBCLE1BQU07Z0JBU0EsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLGlCQUFpQjtnQkFTckIsc0JBQXNCO3NCQUQ1QixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVN6RCxVQUFVO3NCQURoQixlQUFlO3VCQUFDLG9DQUFvQztnQkFTOUMsZUFBZTtzQkFEckIsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFTekQsYUFBYTtzQkFEbkIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMEdwRCxtQkFBbUI7c0JBRDVCLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IEN1c3RvbUZvcm1Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9jdXN0b20tZm9ybS1jb250cm9sJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCwgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLCBEYXRlRmlsdGVyLCBEYXRlUmFuZ2UsIHByb3ZpZGVDYWxlbmRhckNvbmZpZyB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7IERyb3Bkb3duRGlyZWN0aXZlLCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBQb3NpdGlvbiwgZGVmZXJGbiwgaW5qZWN0RWxlbWVudCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZm9ybWF0LCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZXJhbmdlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi9kYXRlcmFuZ2VwaWNrZXIuY29uZmlnJztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dEZvcm1hdCB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBzZWxlY3RpbmcgYSBkYXRlIHJhbmdlLCBpbnRlZ3JhdGVkIHdpdGggZHJvcGRvd25zIGFuZCBpbnB1dCBmaWVsZHMgZm9yIHN0YXJ0IGFuZCBlbmQgZGF0ZXMuXG4gKiBJdCBzdXBwb3J0cyBjdXN0b20gY29uZmlndXJhdGlvbnMgZm9yIG1pbmltdW0sIG1heGltdW0gZGF0ZXMsIGFuZCBkYXRlIGZpbHRlcnMuIFRoZSBjb21wb25lbnQgYWxzbyBoYW5kbGVzXG4gKiB0aGUgZHJvcGRvd24ncyBiZWhhdmlvciBmb3IgZGF0ZSBzZWxlY3Rpb24gYW5kIGFwcGxpZXMgZGF0ZSBmb3JtYXRzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gY29uZmlndXJhdGlvbi5cbiAqIFRoZSBjb21wb25lbnQgZXh0ZW5kcyB0aGUgYEN1c3RvbUZvcm1Db250cm9sYCBjbGFzcyB0byBwcm92aWRlIGZvcm0gY29udHJvbCBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIEBzZWUge0N1c3RvbUZvcm1Db250cm9sfVxuICovXG5AQ1NTQ29tcG9uZW50KCdkYXRlcmFuZ2VwaWNrZXInKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWRhdGVyYW5nZXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBMTF5TW9kdWxlLCBBY3Rpb25Hcm91cENvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBDYWxlbmRhckNvbXBvbmVudCwgRHJvcGRvd25Nb2R1bGUsIEljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVDYWxlbmRhckNvbmZpZyh7XG4gICAgICBkaXNwbGF5QWRqYWNlbnREYXlzOiBmYWxzZSxcbiAgICAgIHNlbGVjdGlvbk1vZGU6IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlUmFuZ2UsXG4gICAgfSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPERhdGVSYW5nZSB8IG51bGw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3REYXRlcmFuZ2VwaWNrZXJDb25maWcoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRyb3Bkb3duIHBhcnQgb2YgdGhlIGRhdGUgcmFuZ2UgcGlja2VyIGlzIG9wZW4uXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bi5pc09wZW47XG4gIH1cblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0b2RheSdzIGRhdGUsIHVzZWQgZm9yIGRlZmF1bHQgc2VsZWN0aW9ucyBhbmQgdmFsaWRhdGlvbnMuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlfVxuICAgKi9cbiAgcHVibGljIHRvZGF5ID0gbmV3IERhdGUoKTtcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0aGF0IGRlZmluZXMgYWRkaXRpb25hbCBydWxlcyBmb3IgZGlzYWJsZWQgZGF0ZXMgd2l0aGluIHRoZSBwaWNrZXIuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlRmlsdGVyIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiAvLyBEaXNhYmxlcyBhbGwgV2VkbmVzZGF5cyBpbiB0aGUgcGlja2VyLlxuICAgKiBjb25zdCBmaWx0ZXJGbjogRGF0ZUZpbHRlciA9IChkYXRlOiBEYXRlKSA9PiBkYXRlLmdldERheSgpICE9PSAzO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJGbjogRGF0ZUZpbHRlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgZWFybGllc3QgZGF0ZSB0aGF0IGNhbiBiZSBzZWxlY3RlZCBpbiB0aGUgcGlja2VyLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZSB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXRlc3QgZGF0ZSB0aGF0IGNhbiBiZSBzZWxlY3RlZCBpbiB0aGUgcGlja2VyLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZSB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biByZWxhdGl2ZSB0byB0aGUgaW5wdXQgZmllbGRzLlxuICAgKlxuICAgKiBAdHlwZSB7UG9zaXRpb259XG4gICAqIEBkZWZhdWx0IFBvc2l0aW9uLkJPVFRPTVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRyb3Bkb3duUG9zaXRpb246IFBvc2l0aW9uID0gJ2JvdHRvbSc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBzZWxlY3RlZCBkYXRlIHJhbmdlIHdoZW4gaXQgY2hhbmdlcy5cbiAgICpcbiAgICogQGVtaXRzIHtEYXRlUmFuZ2V9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlUmFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIERpcmVjdGl2ZSBtYW5hZ2luZyB0aGUgZHJvcGRvd24gZnVuY3Rpb25hbGl0eS5cbiAgICpcbiAgICogQHR5cGUge0Ryb3Bkb3duRGlyZWN0aXZlfVxuICAgKi9cbiAgQFZpZXdDaGlsZChEcm9wZG93bkRpcmVjdGl2ZSlcbiAgcHVibGljIGRyb3Bkb3duITogRHJvcGRvd25EaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCB0cmlnZ2VyaW5nIHRoZSBkcm9wZG93bi5cbiAgICpcbiAgICogQHR5cGUge0VsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+fVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25UcmlnZ2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGRyb3Bkb3duVHJpZ2dlckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogUXVlcnkgbGlzdCBvZiB0aGUgaW5wdXQgY29udHJvbHMgd2l0aGluIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICpcbiAgICogQHR5cGUge1F1ZXJ5TGlzdDxEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmU+fVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUpXG4gIHB1YmxpYyBkYXRlRmllbGRzITogUXVlcnlMaXN0PERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZT47XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBtaXJyb3JpbmcgdGhlIHN0YXJ0IGRhdGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEB0eXBlIHtFbGVtZW50UmVmPEhUTUxFbGVtZW50Pn1cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ3N0YXJ0RGF0ZU1pcnJvcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzdGFydERhdGVNaXJyb3IhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG1pcnJvcmluZyB0aGUgZW5kIGRhdGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEB0eXBlIHtFbGVtZW50UmVmPEhUTUxFbGVtZW50Pn1cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2VuZERhdGVNaXJyb3InLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZW5kRGF0ZU1pcnJvciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgY29udHJvbCBmb3IgdGhlIHN0YXJ0IGRhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWR9XG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YXJ0RGF0ZUZpZWxkKCk6IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgW3N0YXJ0RGF0ZSwgX2VuZERhdGVdID0gdGhpcy5kYXRlRmllbGRzO1xuICAgIHJldHVybiBzdGFydERhdGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IGNvbnRyb2wgZm9yIHRoZSBlbmQgZGF0ZS5cbiAgICpcbiAgICogQHR5cGUge0RhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZH1cbiAgICovXG4gIHB1YmxpYyBnZXQgZW5kRGF0ZUZpZWxkKCk6IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgW19zdGFydERhdGUsIGVuZERhdGVdID0gdGhpcy5kYXRlRmllbGRzO1xuICAgIHJldHVybiBlbmREYXRlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobnVsbCk7XG4gICAgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXModGhpcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5zdGFydERhdGVGaWVsZCwgdGhpcy5zdGFydERhdGVNaXJyb3IpO1xuICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5lbmREYXRlRmllbGQsIHRoaXMuZW5kRGF0ZU1pcnJvcik7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRDaGFuZ2VzKCk7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRGb2N1cygpO1xuXG4gICAgZGVmZXJGbigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudmFsdWUgfHwgIXRoaXMudmFsdWUuc3RhcnQgfHwgIXRoaXMudmFsdWUuZW5kKSByZXR1cm47XG4gICAgICB0aGlzLnVwZGF0ZUludGVybmFsVmFsdWUoe1xuICAgICAgICBzdGFydDogc3RhcnRPZkRheSh0aGlzLnZhbHVlLnN0YXJ0KSxcbiAgICAgICAgZW5kOiBzdGFydE9mRGF5KHRoaXMudmFsdWUuZW5kKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBkYXRlIHJhbmdlLCB1cGRhdGVzIHRoZSBmb3JtIHZhbHVlLCBhbmQgZW1pdHMgdGhlIHNlbGVjdGVkIHJhbmdlLlxuICAgKlxuICAgKiBAcGFyYW0ge0RhdGVSYW5nZSB8IG51bGx9IHZhbHVlIC0gVGhlIGRhdGUgcmFuZ2UgdG8gc2VsZWN0LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdERhdGVSYW5nZSh2YWx1ZTogRGF0ZVJhbmdlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLnN0YXJ0IHx8ICF2YWx1ZS5lbmQpIHJldHVybjtcblxuICAgIHRoaXMudXBkYXRlSW50ZXJuYWxWYWx1ZSh2YWx1ZSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUludGVybmFsVmFsdWUoeyBzdGFydDogbnVsbCwgZW5kOiBudWxsIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUludGVybmFsVmFsdWUodmFsdWU6IERhdGVSYW5nZSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlU3RhcnREYXRlRmllbGQodmFsdWUuc3RhcnQpO1xuICAgIHRoaXMudXBkYXRlRW5kRGF0ZUZpZWxkKHZhbHVlLmVuZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGF0ZUZpZWxkQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0RGF0ZUZpZWxkPy52YWx1ZUNoYW5nZSQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoeyBzdGFydDogdGhpcy5zdGFydERhdGVGaWVsZD8udmFsdWVBc0RhdGUgPz8gbnVsbCwgZW5kOiB0aGlzLmVuZERhdGVGaWVsZD8udmFsdWVBc0RhdGUgPz8gbnVsbCB9KTtcbiAgICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5zdGFydERhdGVGaWVsZCwgdGhpcy5zdGFydERhdGVNaXJyb3IsIHZhbHVlKTtcbiAgICB9KTtcbiAgICB0aGlzLmVuZERhdGVGaWVsZD8udmFsdWVDaGFuZ2UkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHsgc3RhcnQ6IHRoaXMuc3RhcnREYXRlRmllbGQ/LnZhbHVlQXNEYXRlID8/IG51bGwsIGVuZDogdGhpcy5lbmREYXRlRmllbGQ/LnZhbHVlQXNEYXRlID8/IG51bGwgfSk7XG4gICAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuZW5kRGF0ZUZpZWxkLCB0aGlzLmVuZERhdGVNaXJyb3IsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVXaWR0aCh0YXJnZXQ6IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCwgc291cmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgdmFsdWUgPSAnJyk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBlbnNhdGlvblB4ID0gMjtcbiAgICBzb3VyY2UubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA9IHZhbHVlIHx8IHRhcmdldD8ucGxhY2Vob2xkZXIgfHwgbnVsbDtcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICBkZWZlckZuKCgpID0+ICh0YXJnZXQuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7c291cmNlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyBjb21wZW5zYXRpb25QeH1weGApKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGF0ZUZpZWxkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydERhdGVGaWVsZD8uZm9jdXNlZC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoaXNGb2N1c2VkKSA9PiB7XG4gICAgICBpZiAoIWlzRm9jdXNlZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmVuZERhdGVGaWVsZD8uZm9jdXNlZC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoaXNGb2N1c2VkKSA9PiB7XG4gICAgICBpZiAoIWlzRm9jdXNlZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYWx0LkFycm93RG93bicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvcGVuRGF0ZXJhbmdlcGlja2VyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5pc1JlYWRvbmx5IHx8IHRoaXMuaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5kcm9wZG93bi5vcGVuKGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhcnREYXRlRmllbGQoZGF0ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3RhcnREYXRlRmllbGQpIHJldHVybjtcblxuICAgIGNvbnN0IGRhdGVGb3JtYXQgPSBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dEZvcm1hdCh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5zdGFydERhdGVGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJyc7XG4gICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLnN0YXJ0RGF0ZUZpZWxkLCB0aGlzLnN0YXJ0RGF0ZU1pcnJvciwgZGF0ZSA/IGZvcm1hdChkYXRlLCBkYXRlRm9ybWF0KSA6ICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRW5kRGF0ZUZpZWxkKGRhdGU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVuZERhdGVGaWVsZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGdldERhdGVyYW5nZXBpY2tlcklucHV0Rm9ybWF0KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmVuZERhdGVGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJyc7XG4gICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLmVuZERhdGVGaWVsZCwgdGhpcy5lbmREYXRlTWlycm9yLCBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJycpO1xuICB9XG59XG4iLCI8c3BhbiAjc3RhcnREYXRlTWlycm9yIHJvbGU9XCJub25lXCIgY2xhc3M9XCJvZHgtZGF0ZXJhbmdlcGlja2VyX19taXJyb3JcIj48L3NwYW4+XG48bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFtvZHhEYXRlcmFuZ2VwaWNrZXJTdGFydERhdGVDb250cm9sXVwiPjwvbmctY29udGVudD5cbjxzcGFuIHJvbGU9XCJub25lXCIgY2xhc3M9XCJvZHgtZGF0ZXJhbmdlcGlja2VyX19zZXBhcmF0b3JcIj7igJM8L3NwYW4+XG48c3BhbiAjZW5kRGF0ZU1pcnJvciByb2xlPVwibm9uZVwiIGNsYXNzPVwib2R4LWRhdGVyYW5nZXBpY2tlcl9fbWlycm9yXCI+PC9zcGFuPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRbb2R4RGF0ZXJhbmdlcGlja2VyRW5kRGF0ZUNvbnRyb2xdXCI+PC9uZy1jb250ZW50PlxuXG48b2R4LWFjdGlvbi1ncm91cCBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX3RyaWdnZXItd3JhcHBlclwiPlxuICA8YnV0dG9uXG4gICAgI2Ryb3Bkb3duVHJpZ2dlclxuICAgIG9keEJ1dHRvblxuICAgIHNpemU9XCJzbWFsbFwiXG4gICAgdmFyaWFudD1cImdob3N0XCJcbiAgICBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX3RyaWdnZXJcIlxuICAgIFtvZHhEcm9wZG93bl09XCJjYWxlbmRhck92ZXJsYXlcIlxuICAgIFtvZHhEcm9wZG93bk9wdGlvbnNdPVwieyBwb3NpdGlvbjogZHJvcGRvd25Qb3NpdGlvbiB9XCJcbiAgICBbb2R4RHJvcGRvd25UcmlnZ2VyRWxlbWVudF09XCJkcm9wZG93blRyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIFtvZHhEcm9wZG93bkhvc3RdPVwibnVsbFwiXG4gICAgW29keERyb3Bkb3duUmVmZXJlbmNlRWxlbWVudF09XCJlbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIChvZHhEcm9wZG93bkJlZm9yZUNsb3NlKT1cIm9uVG91Y2hlZCgpXCJcbiAgPlxuICAgIDxvZHgtaWNvbiBuYW1lPVwiY2FsZW5kYXJcIj48L29keC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keEJ1dHRvbl1cIiBuZ1Byb2plY3RBcz1cIltvZHhCdXR0b25dXCIgLz5cbjwvb2R4LWFjdGlvbi1ncm91cD5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhck92ZXJsYXk+XG4gIDxvZHgtY2FsZW5kYXJcbiAgICBbc2VsZWN0ZWREYXRlXT1cInRvZGF5XCJcbiAgICBbc2VsZWN0ZWREYXRlUmFuZ2VdPVwidmFsdWVcIlxuICAgIChzZWxlY3RlZERhdGVSYW5nZUNoYW5nZSk9XCJzZWxlY3REYXRlUmFuZ2UoJGV2ZW50KVwiXG4gICAgW2ZpbHRlckZuXT1cImZpbHRlckZuXCJcbiAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICBjZGtUcmFwRm9jdXNcbiAgICBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZVxuICA+PC9vZHgtY2FsZW5kYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlci9zcmMvbGliL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcmFuZ2VwaWNrZXIvc3JjL2xpYi9kYXRlcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBeUIscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFB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Q0FBQyxTQUFTO3lCQUMvQyxDQUFDO3FCQUNIO3dEQXNDTSxRQUFRO3NCQURkLEtBQUs7Z0JBVUMsT0FBTztzQkFEYixLQUFLO2dCQVVDLE9BQU87c0JBRGIsS0FBSztnQkFVQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBU0MsY0FBYztzQkFEcEIsTUFBTTtnQkFTQSxRQUFRO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVNyQixzQkFBc0I7c0JBRDVCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBU3pELFVBQVU7c0JBRGhCLGVBQWU7dUJBQUMsb0NBQW9DO2dCQVM5QyxlQUFlO3NCQURyQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVN6RCxhQUFhO3NCQURuQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwR3BELG1CQUFtQjtzQkFENUIsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXMgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybUNvbnRyb2wgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgQWN0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50LCBDYWxlbmRhclNlbGVjdGlvbk1vZGUsIERhdGVGaWx0ZXIsIERhdGVSYW5nZSwgcHJvdmlkZUNhbGVuZGFyQ29uZmlnIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHsgRHJvcGRvd25EaXJlY3RpdmUsIERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IFBvc2l0aW9uLCBkZWZlckZuLCBpbmplY3RFbGVtZW50LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBmb3JtYXQsIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3REYXRlcmFuZ2VwaWNrZXJDb25maWcgfSBmcm9tICcuL2RhdGVyYW5nZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgRGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IGdldERhdGVyYW5nZXBpY2tlcklucHV0Rm9ybWF0IH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIHNlbGVjdGluZyBhIGRhdGUgcmFuZ2UsIGludGVncmF0ZWQgd2l0aCBkcm9wZG93bnMgYW5kIGlucHV0IGZpZWxkcyBmb3Igc3RhcnQgYW5kIGVuZCBkYXRlcy5cbiAqIEl0IHN1cHBvcnRzIGN1c3RvbSBjb25maWd1cmF0aW9ucyBmb3IgbWluaW11bSwgbWF4aW11bSBkYXRlcywgYW5kIGRhdGUgZmlsdGVycy4gVGhlIGNvbXBvbmVudCBhbHNvIGhhbmRsZXNcbiAqIHRoZSBkcm9wZG93bidzIGJlaGF2aW9yIGZvciBkYXRlIHNlbGVjdGlvbiBhbmQgYXBwbGllcyBkYXRlIGZvcm1hdHMgYXV0b21hdGljYWxseSBiYXNlZCBvbiBjb25maWd1cmF0aW9uLlxuICogVGhlIGNvbXBvbmVudCBleHRlbmRzIHRoZSBgQ3VzdG9tRm9ybUNvbnRyb2xgIGNsYXNzIHRvIHByb3ZpZGUgZm9ybSBjb250cm9sIGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQHNlZSB7Q3VzdG9tRm9ybUNvbnRyb2x9XG4gKi9cbkBDU1NDb21wb25lbnQoJ2RhdGVyYW5nZXBpY2tlcicpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtZGF0ZXJhbmdlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIEFjdGlvbkdyb3VwQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIENhbGVuZGFyQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUNhbGVuZGFyQ29uZmlnKHtcbiAgICAgIGRpc3BsYXlBZGphY2VudERheXM6IGZhbHNlLFxuICAgICAgc2VsZWN0aW9uTW9kZTogQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLkRhdGVSYW5nZSxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQ3VzdG9tRm9ybUNvbnRyb2w8RGF0ZVJhbmdlIHwgbnVsbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdERhdGVyYW5nZXBpY2tlckNvbmZpZygpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZHJvcGRvd24gcGFydCBvZiB0aGUgZGF0ZSByYW5nZSBwaWNrZXIgaXMgb3Blbi5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duLmlzT3BlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRvZGF5J3MgZGF0ZSwgdXNlZCBmb3IgZGVmYXVsdCBzZWxlY3Rpb25zIGFuZCB2YWxpZGF0aW9ucy5cbiAgICpcbiAgICogQHR5cGUge0RhdGV9XG4gICAqL1xuICBwdWJsaWMgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgZGVmaW5lcyBhZGRpdGlvbmFsIHJ1bGVzIGZvciBkaXNhYmxlZCBkYXRlcyB3aXRoaW4gdGhlIHBpY2tlci5cbiAgICpcbiAgICogQHR5cGUge0RhdGVGaWx0ZXIgfCBudWxsfVxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIC8vIERpc2FibGVzIGFsbCBXZWRuZXNkYXlzIGluIHRoZSBwaWNrZXIuXG4gICAqIGNvbnN0IGZpbHRlckZuOiBEYXRlRmlsdGVyID0gKGRhdGU6IERhdGUpID0+IGRhdGUuZ2V0RGF5KCkgIT09IDM7XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlckZuOiBEYXRlRmlsdGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBlYXJsaWVzdCBkYXRlIHRoYXQgY2FuIGJlIHNlbGVjdGVkIGluIHRoZSBwaWNrZXIuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIGxhdGVzdCBkYXRlIHRoYXQgY2FuIGJlIHNlbGVjdGVkIGluIHRoZSBwaWNrZXIuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogUG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqXG4gICAqIEB0eXBlIHtQb3NpdGlvbn1cbiAgICogQGRlZmF1bHQgUG9zaXRpb24uQk9UVE9NXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZHJvcGRvd25Qb3NpdGlvbjogUG9zaXRpb24gPSAnYm90dG9tJztcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHNlbGVjdGVkIGRhdGUgcmFuZ2Ugd2hlbiBpdCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZW1pdHMge0RhdGVSYW5nZX1cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVSYW5nZT4oKTtcblxuICAvKipcbiAgICogRGlyZWN0aXZlIG1hbmFnaW5nIHRoZSBkcm9wZG93biBmdW5jdGlvbmFsaXR5LlxuICAgKlxuICAgKiBAdHlwZSB7RHJvcGRvd25EaXJlY3RpdmV9XG4gICAqL1xuICBAVmlld0NoaWxkKERyb3Bkb3duRGlyZWN0aXZlKVxuICBwdWJsaWMgZHJvcGRvd24hOiBEcm9wZG93bkRpcmVjdGl2ZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHRyaWdnZXJpbmcgdGhlIGRyb3Bkb3duLlxuICAgKlxuICAgKiBAdHlwZSB7RWxlbWVudFJlZjxIVE1MRWxlbWVudD59XG4gICAqL1xuICBAVmlld0NoaWxkKCdkcm9wZG93blRyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZHJvcGRvd25UcmlnZ2VyRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBRdWVyeSBsaXN0IG9mIHRoZSBpbnB1dCBjb250cm9scyB3aXRoaW4gdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgKlxuICAgKiBAdHlwZSB7UXVlcnlMaXN0PERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZT59XG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSlcbiAgcHVibGljIGRhdGVGaWVsZHMhOiBRdWVyeUxpc3Q8RGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlPjtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG1pcnJvcmluZyB0aGUgc3RhcnQgZGF0ZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQHR5cGUge0VsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+fVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnc3RhcnREYXRlTWlycm9yJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHN0YXJ0RGF0ZU1pcnJvciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgbWlycm9yaW5nIHRoZSBlbmQgZGF0ZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQHR5cGUge0VsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+fVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZW5kRGF0ZU1pcnJvcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBlbmREYXRlTWlycm9yITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBjb250cm9sIGZvciB0aGUgc3RhcnQgZGF0ZS5cbiAgICpcbiAgICogQHR5cGUge0RhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZH1cbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhcnREYXRlRmllbGQoKTogRGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBbc3RhcnREYXRlLCBfZW5kRGF0ZV0gPSB0aGlzLmRhdGVGaWVsZHM7XG4gICAgcmV0dXJuIHN0YXJ0RGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgY29udHJvbCBmb3IgdGhlIGVuZCBkYXRlLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgcHVibGljIGdldCBlbmREYXRlRmllbGQoKTogRGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBbX3N0YXJ0RGF0ZSwgZW5kRGF0ZV0gPSB0aGlzLmRhdGVGaWVsZHM7XG4gICAgcmV0dXJuIGVuZERhdGU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihudWxsKTtcbiAgICBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyh0aGlzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLnN0YXJ0RGF0ZUZpZWxkLCB0aGlzLnN0YXJ0RGF0ZU1pcnJvcik7XG4gICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLmVuZERhdGVGaWVsZCwgdGhpcy5lbmREYXRlTWlycm9yKTtcbiAgICB0aGlzLmhhbmRsZURhdGVGaWVsZENoYW5nZXMoKTtcbiAgICB0aGlzLmhhbmRsZURhdGVGaWVsZEZvY3VzKCk7XG5cbiAgICBkZWZlckZuKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSB8fCAhdGhpcy52YWx1ZS5zdGFydCB8fCAhdGhpcy52YWx1ZS5lbmQpIHJldHVybjtcbiAgICAgIHRoaXMudXBkYXRlSW50ZXJuYWxWYWx1ZSh7XG4gICAgICAgIHN0YXJ0OiBzdGFydE9mRGF5KHRoaXMudmFsdWUuc3RhcnQpLFxuICAgICAgICBlbmQ6IHN0YXJ0T2ZEYXkodGhpcy52YWx1ZS5lbmQpLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIGRhdGUgcmFuZ2UsIHVwZGF0ZXMgdGhlIGZvcm0gdmFsdWUsIGFuZCBlbWl0cyB0aGUgc2VsZWN0ZWQgcmFuZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7RGF0ZVJhbmdlIHwgbnVsbH0gdmFsdWUgLSBUaGUgZGF0ZSByYW5nZSB0byBzZWxlY3QuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0RGF0ZVJhbmdlKHZhbHVlOiBEYXRlUmFuZ2UgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUuc3RhcnQgfHwgIXZhbHVlLmVuZCkgcmV0dXJuO1xuXG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlSW50ZXJuYWxWYWx1ZSh7IHN0YXJ0OiBudWxsLCBlbmQ6IG51bGwgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlSW50ZXJuYWxWYWx1ZSh2YWx1ZTogRGF0ZVJhbmdlKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVTdGFydERhdGVGaWVsZCh2YWx1ZS5zdGFydCk7XG4gICAgdGhpcy51cGRhdGVFbmREYXRlRmllbGQodmFsdWUuZW5kKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEYXRlRmllbGRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnREYXRlRmllbGQ/LnZhbHVlQ2hhbmdlJC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7IHN0YXJ0OiB0aGlzLnN0YXJ0RGF0ZUZpZWxkPy52YWx1ZUFzRGF0ZSA/PyBudWxsLCBlbmQ6IHRoaXMuZW5kRGF0ZUZpZWxkPy52YWx1ZUFzRGF0ZSA/PyBudWxsIH0pO1xuICAgICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLnN0YXJ0RGF0ZUZpZWxkLCB0aGlzLnN0YXJ0RGF0ZU1pcnJvciwgdmFsdWUpO1xuICAgIH0pO1xuICAgIHRoaXMuZW5kRGF0ZUZpZWxkPy52YWx1ZUNoYW5nZSQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoeyBzdGFydDogdGhpcy5zdGFydERhdGVGaWVsZD8udmFsdWVBc0RhdGUgPz8gbnVsbCwgZW5kOiB0aGlzLmVuZERhdGVGaWVsZD8udmFsdWVBc0RhdGUgPz8gbnVsbCB9KTtcbiAgICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5lbmREYXRlRmllbGQsIHRoaXMuZW5kRGF0ZU1pcnJvciwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVdpZHRoKHRhcmdldDogRGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkLCBzb3VyY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCB2YWx1ZSA9ICcnKTogdm9pZCB7XG4gICAgY29uc3QgY29tcGVuc2F0aW9uUHggPSAyO1xuICAgIHNvdXJjZS5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gdmFsdWUgfHwgdGFyZ2V0Py5wbGFjZWhvbGRlciB8fCBudWxsO1xuICAgIGlmICh0YXJnZXQpIHtcbiAgICAgIGRlZmVyRm4oKCkgPT4gKHRhcmdldC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHtzb3VyY2UubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArIGNvbXBlbnNhdGlvblB4fXB4YCkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEYXRlRmllbGRGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0RGF0ZUZpZWxkPy5mb2N1c2VkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChpc0ZvY3VzZWQpID0+IHtcbiAgICAgIGlmICghaXNGb2N1c2VkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZW5kRGF0ZUZpZWxkPy5mb2N1c2VkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChpc0ZvY3VzZWQpID0+IHtcbiAgICAgIGlmICghaXNGb2N1c2VkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hbHQuQXJyb3dEb3duJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9wZW5EYXRlcmFuZ2VwaWNrZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzUmVhZG9ubHkgfHwgdGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLmRyb3Bkb3duLm9wZW4oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdGFydERhdGVGaWVsZChkYXRlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdGFydERhdGVGaWVsZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGdldERhdGVyYW5nZXBpY2tlcklucHV0Rm9ybWF0KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZUZpZWxkLm5hdGl2ZUVsZW1lbnRWYWx1ZSA9IGRhdGUgPyBmb3JtYXQoZGF0ZSwgZGF0ZUZvcm1hdCkgOiAnJztcbiAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuc3RhcnREYXRlRmllbGQsIHRoaXMuc3RhcnREYXRlTWlycm9yLCBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJycpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVFbmREYXRlRmllbGQoZGF0ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZW5kRGF0ZUZpZWxkKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlRm9ybWF0ID0gZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRGb3JtYXQodGhpcy5jb25maWcpO1xuICAgIHRoaXMuZW5kRGF0ZUZpZWxkLm5hdGl2ZUVsZW1lbnRWYWx1ZSA9IGRhdGUgPyBmb3JtYXQoZGF0ZSwgZGF0ZUZvcm1hdCkgOiAnJztcbiAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuZW5kRGF0ZUZpZWxkLCB0aGlzLmVuZERhdGVNaXJyb3IsIGRhdGUgPyBmb3JtYXQoZGF0ZSwgZGF0ZUZvcm1hdCkgOiAnJyk7XG4gIH1cbn1cbiIsIjxzcGFuICNzdGFydERhdGVNaXJyb3Igcm9sZT1cIm5vbmVcIiBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX21pcnJvclwiPjwvc3Bhbj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0W29keERhdGVyYW5nZXBpY2tlclN0YXJ0RGF0ZUNvbnRyb2xdXCI+PC9uZy1jb250ZW50PlxuPHNwYW4gcm9sZT1cIm5vbmVcIiBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX3NlcGFyYXRvclwiPuKAkzwvc3Bhbj5cbjxzcGFuICNlbmREYXRlTWlycm9yIHJvbGU9XCJub25lXCIgY2xhc3M9XCJvZHgtZGF0ZXJhbmdlcGlja2VyX19taXJyb3JcIj48L3NwYW4+XG48bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFtvZHhEYXRlcmFuZ2VwaWNrZXJFbmREYXRlQ29udHJvbF1cIj48L25nLWNvbnRlbnQ+XG5cbjxvZHgtYWN0aW9uLWdyb3VwIGNsYXNzPVwib2R4LWRhdGVyYW5nZXBpY2tlcl9fdHJpZ2dlci13cmFwcGVyXCI+XG4gIDxidXR0b25cbiAgICAjZHJvcGRvd25UcmlnZ2VyXG4gICAgb2R4QnV0dG9uXG4gICAgc2l6ZT1cInNtYWxsXCJcbiAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgIGNsYXNzPVwib2R4LWRhdGVyYW5nZXBpY2tlcl9fdHJpZ2dlclwiXG4gICAgW29keERyb3Bkb3duXT1cImNhbGVuZGFyT3ZlcmxheVwiXG4gICAgW29keERyb3Bkb3duT3B0aW9uc109XCJ7IHBvc2l0aW9uOiBkcm9wZG93blBvc2l0aW9uIH1cIlxuICAgIFtvZHhEcm9wZG93blRyaWdnZXJFbGVtZW50XT1cImRyb3Bkb3duVHJpZ2dlckVsZW1lbnQubmF0aXZlRWxlbWVudFwiXG4gICAgW29keERyb3Bkb3duSG9zdF09XCJudWxsXCJcbiAgICBbb2R4RHJvcGRvd25SZWZlcmVuY2VFbGVtZW50XT1cImVsZW1lbnQubmF0aXZlRWxlbWVudFwiXG4gICAgKG9keERyb3Bkb3duQmVmb3JlQ2xvc2UpPVwib25Ub3VjaGVkKClcIlxuICA+XG4gICAgPG9keC1pY29uIG5hbWU9XCJjYWxlbmRhclwiPjwvb2R4LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbb2R4QnV0dG9uXVwiIG5nUHJvamVjdEFzPVwiW29keEJ1dHRvbl1cIiAvPlxuPC9vZHgtYWN0aW9uLWdyb3VwPlxuXG48bmctdGVtcGxhdGUgI2NhbGVuZGFyT3ZlcmxheT5cbiAgPG9keC1jYWxlbmRhclxuICAgIFtzZWxlY3RlZERhdGVdPVwidG9kYXlcIlxuICAgIFtzZWxlY3RlZERhdGVSYW5nZV09XCJ2YWx1ZVwiXG4gICAgKHNlbGVjdGVkRGF0ZVJhbmdlQ2hhbmdlKT1cInNlbGVjdERhdGVSYW5nZSgkZXZlbnQpXCJcbiAgICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIGNka1RyYXBGb2N1c1xuICAgIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlXG4gID48L29keC1jYWxlbmRhcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -7,11 +7,11 @@ import { DaterangepickerRequiredValidator } from './required.validator';
7
7
  import * as i0 from "@angular/core";
8
8
  const modules = [DaterangepickerComponent, DaterangepickerInputControlDirective, DaterangepickerRangeValidator, DaterangepickerRequiredValidator];
9
9
  export class DaterangepickerModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerModule, imports: [DaterangepickerComponent, DaterangepickerInputControlDirective, DaterangepickerRangeValidator, DaterangepickerRequiredValidator], exports: [CoreModule, DaterangepickerComponent, DaterangepickerInputControlDirective, DaterangepickerRangeValidator, DaterangepickerRequiredValidator] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerModule, imports: [DaterangepickerComponent, CoreModule] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerModule, imports: [DaterangepickerComponent, DaterangepickerInputControlDirective, DaterangepickerRangeValidator, DaterangepickerRequiredValidator], exports: [CoreModule, DaterangepickerComponent, DaterangepickerInputControlDirective, DaterangepickerRangeValidator, DaterangepickerRequiredValidator] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerModule, imports: [DaterangepickerComponent, CoreModule] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  imports: modules,
@@ -17,7 +17,7 @@ import * as i1 from "@odx/angular";
17
17
  *
18
18
  * @see {InputControlDirective}
19
19
  */
20
- export let DaterangepickerInputControlDirective = class DaterangepickerInputControlDirective extends InputControlDirective {
20
+ let DaterangepickerInputControlDirective = class DaterangepickerInputControlDirective extends InputControlDirective {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  this.maskConfig = { validation: false, leadZeroDateTime: true };
@@ -67,13 +67,14 @@ export let DaterangepickerInputControlDirective = class DaterangepickerInputCont
67
67
  handleFocusOut() {
68
68
  this.focused.emit(false);
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerInputControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
71
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DaterangepickerInputControlDirective, isStandalone: true, selector: "input[odxDaterangepickerControl],input[odxDaterangepickerStartDateControl], input[odxDaterangepickerEndDateControl]", outputs: { focused: "focused" }, host: { listeners: { "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.readonly": "readonlyController?.readonly || null", "attr.placeholder": "placeholder" } }, providers: [ReadonlyController.connect(), provideNgxMask(), NgxMaskPipe], usesInheritance: true, hostDirectives: [{ directive: i1.WithTabIndex }], ngImport: i0 }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerInputControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
71
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DaterangepickerInputControlDirective, isStandalone: true, selector: "input[odxDaterangepickerControl],input[odxDaterangepickerStartDateControl], input[odxDaterangepickerEndDateControl]", outputs: { focused: "focused" }, host: { listeners: { "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.readonly": "readonlyController?.readonly || null", "attr.placeholder": "placeholder" } }, providers: [ReadonlyController.connect(), provideNgxMask(), NgxMaskPipe], usesInheritance: true, hostDirectives: [{ directive: i1.WithTabIndex }], ngImport: i0 }); }
72
72
  };
73
73
  DaterangepickerInputControlDirective = __decorate([
74
74
  CSSComponent('daterangepicker__control')
75
75
  ], DaterangepickerInputControlDirective);
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerInputControlDirective, decorators: [{
76
+ export { DaterangepickerInputControlDirective };
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerInputControlDirective, decorators: [{
77
78
  type: Directive,
78
79
  args: [{
79
80
  standalone: true,
@@ -94,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
94
95
  type: HostListener,
95
96
  args: ['focusout']
96
97
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLWlucHV0LWNvbnRyb2wuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZGF0ZXJhbmdlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9kYXRlcmFuZ2VwaWNrZXItaW5wdXQtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBVyxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUxSDs7Ozs7OztHQU9HO0FBWUksV0FBTSxvQ0FBb0MsR0FBMUMsTUFBTSxvQ0FBcUMsU0FBUSxxQkFBcUI7SUFBeEU7O1FBQ1ksZUFBVSxHQUFxQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFM0UsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakQsV0FBTSxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFDdkMsY0FBUyxHQUFHLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyRDs7OztXQUlHO1FBRUksWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFN0M7Ozs7O1dBS0c7UUFDYSxpQkFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2hGLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFDM0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUNuQyxDQUFDO0tBb0NIO0lBbENDOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFHUyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFHUyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBN0RVLG9DQUFvQzttR0FBcEMsb0NBQW9DLHNZQUhwQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLFdBQVcsQ0FBQzs7QUFHN0Qsb0NBQW9DO0lBWGhELFlBQVksQ0FBQywwQkFBMEIsQ0FBQztHQVc1QixvQ0FBb0MsQ0E4RGhEOzRGQTlEWSxvQ0FBb0M7a0JBVmhELFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxSEFBcUg7b0JBQy9ILElBQUksRUFBRTt3QkFDSixpQkFBaUIsRUFBRSxzQ0FBc0M7d0JBQ3pELG9CQUFvQixFQUFFLGFBQWE7cUJBQ3BDO29CQUNELFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLFdBQVcsQ0FBQztvQkFDeEUsY0FBYyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUMvQjs4QkFlUSxPQUFPO3NCQURiLE1BQU07Z0JBeUNHLGFBQWE7c0JBRHRCLFlBQVk7dUJBQUMsU0FBUztnQkFNYixjQUFjO3NCQUR2QixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBpbmplY3QsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhZG9ubHlDb250cm9sbGVyLCBXaXRoVGFiSW5kZXggfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgSW5wdXRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9jdXN0b20tZm9ybS1jb250cm9sJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBJQ29uZmlnLCBOZ3hNYXNrUGlwZSwgcHJvdmlkZU5neE1hc2sgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbUV2ZW50LCBtYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZXJhbmdlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vZGF0ZXJhbmdlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dEZvcm1hdCwgZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRNYXNrLCBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dFZhbHVlQXNEYXRlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIEVuaGFuY2VzIGFuIGlucHV0IGVsZW1lbnQgdG8gc3VwcG9ydCBkYXRlIHJhbmdlIHBpY2tpbmcsIGFwcGx5aW5nIGFuIGlucHV0IG1hc2sgZm9yIGRhdGUgZm9ybWF0dGluZ1xuICogYW5kIG1hbmFnaW5nIGZvY3VzIGV2ZW50cy4gVGhpcyBkaXJlY3RpdmUgaXMgdHlwaWNhbGx5IHVzZWQgd2l0aGluIGEgZGF0ZSByYW5nZSBwaWNrZXIgdG8gcHJvdmlkZVxuICogY29uc2lzdGVudCBhbmQgY29uZmlndXJhYmxlIGlucHV0IGJlaGF2aW9yLiBFeHRlbmRzIHRoZSBgSW5wdXRDb250cm9sRGlyZWN0aXZlYCB0byBwcm92aWRlIGZvcm0gY29udHJvbC5cbiAqIEhhcyBob3N0IGRpcmVjdGl2ZSBgV2l0aFRhYkluZGV4YCB0byBtYW5hZ2UgdGhlIHRhYiBpbmRleCBhdHRyaWJ1dGUgb2YgdGhlIGlucHV0IGVsZW1lbnQuXG4gKlxuICogQHNlZSB7SW5wdXRDb250cm9sRGlyZWN0aXZlfVxuICovXG5AQ1NTQ29tcG9uZW50KCdkYXRlcmFuZ2VwaWNrZXJfX2NvbnRyb2wnKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaW5wdXRbb2R4RGF0ZXJhbmdlcGlja2VyQ29udHJvbF0saW5wdXRbb2R4RGF0ZXJhbmdlcGlja2VyU3RhcnREYXRlQ29udHJvbF0sIGlucHV0W29keERhdGVyYW5nZXBpY2tlckVuZERhdGVDb250cm9sXScsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIucmVhZG9ubHldJzogJ3JlYWRvbmx5Q29udHJvbGxlcj8ucmVhZG9ubHkgfHwgbnVsbCcsXG4gICAgJ1thdHRyLnBsYWNlaG9sZGVyXSc6ICdwbGFjZWhvbGRlcicsXG4gIH0sXG4gIHByb3ZpZGVyczogW1JlYWRvbmx5Q29udHJvbGxlci5jb25uZWN0KCksIHByb3ZpZGVOZ3hNYXNrKCksIE5neE1hc2tQaXBlXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtXaXRoVGFiSW5kZXhdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgZXh0ZW5kcyBJbnB1dENvbnRyb2xEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IG1hc2tDb25maWc6IFBhcnRpYWw8SUNvbmZpZz4gPSB7IHZhbGlkYXRpb246IGZhbHNlLCBsZWFkWmVyb0RhdGVUaW1lOiB0cnVlIH07XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlYWRvbmx5Q29udHJvbGxlciA9IFJlYWRvbmx5Q29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdERhdGVyYW5nZXBpY2tlckNvbmZpZygpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRNYXNrID0gZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRNYXNrKHRoaXMuY29uZmlnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5neE1hc2tQaXBlID0gaW5qZWN0KE5neE1hc2tQaXBlKTtcblxuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgaW5wdXQgZ2FpbnMgb3IgbG9zZXMgZm9jdXMsIGZhY2lsaXRhdGluZyBleHRlcm5hbCBldmVudCBoYW5kbGluZy5cbiAgICpcbiAgICogQGVtaXRzIHtib29sZWFufSAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbnB1dCBpcyBmb2N1c2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBDYXB0dXJlcyBhbmQgcHJvY2Vzc2VzIGNoYW5nZXMgdG8gdGhlIGlucHV0IGVsZW1lbnQncyB2YWx1ZSwgYXBwbHlpbmcgdGhlIG1hc2sgYW5kIHVwZGF0aW5nXG4gICAqIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAqXG4gICAqIEBlbWl0cyB7c3RyaW5nfSAtIFRoZSB1cGRhdGVkIHZhbHVlIG9mIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlQ2hhbmdlJCA9IGZyb21FdmVudCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2lucHV0JykucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHRhcCgoKSA9PiB0aGlzLmFwcGx5TWFzaygpKSxcbiAgICBtYXAoKCkgPT4gdGhpcy5uYXRpdmVFbGVtZW50VmFsdWUpLFxuICApO1xuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSBjb25maWd1cmVkIGlucHV0IG1hc2sgdG8gdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50J3MgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXBwbHlNYXNrKCk6IHZvaWQge1xuICAgIHRoaXMubmF0aXZlRWxlbWVudFZhbHVlID0gdGhpcy5uZ3hNYXNrUGlwZS50cmFuc2Zvcm0odGhpcy5uYXRpdmVFbGVtZW50VmFsdWUsIHRoaXMuaW5wdXRNYXNrLCB0aGlzLm1hc2tDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IGlucHV0IHZhbHVlIHRvIGEgRGF0ZSBvYmplY3QgYmFzZWQgb24gdGhlIGNvbmZpZ3VyYXRpb24ncyBkYXRlIGZvcm1hdC5cbiAgICpcbiAgICogQHJldHVybnMge0RhdGUgfCBudWxsfSBUaGUgcGFyc2VkIGRhdGUgb2JqZWN0IG9yIG51bGwgaWYgdGhlIGlucHV0IGRvZXMgbm90IHJlcHJlc2VudCBhIHZhbGlkIGRhdGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlQXNEYXRlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRWYWx1ZUFzRGF0ZSh0aGlzLmNvbmZpZywgdGhpcy5uYXRpdmVFbGVtZW50VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIHRoZSBwbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXQsIHR5cGljYWxseSB0aGUgZGF0ZSBmb3JtYXQgaW4gdXBwZXJjYXNlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dEZvcm1hdCh0aGlzLmNvbmZpZykudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nKVxuICBwcm90ZWN0ZWQgaGFuZGxlRm9jdXNJbigpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgcHJvdGVjdGVkIGhhbmRsZUZvY3VzT3V0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZC5lbWl0KGZhbHNlKTtcbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLWlucHV0LWNvbnRyb2wuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZGF0ZXJhbmdlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9kYXRlcmFuZ2VwaWNrZXItaW5wdXQtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBVyxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUxSDs7Ozs7OztHQU9HO0FBWUksSUFBTSxvQ0FBb0MsR0FBMUMsTUFBTSxvQ0FBcUMsU0FBUSxxQkFBcUI7SUFBeEU7O1FBQ1ksZUFBVSxHQUFxQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFM0UsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakQsV0FBTSxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFDdkMsY0FBUyxHQUFHLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyRDs7OztXQUlHO1FBRUksWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFN0M7Ozs7O1dBS0c7UUFDYSxpQkFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2hGLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFDM0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUNuQyxDQUFDO0tBb0NIO0lBbENDOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFHUyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFHUyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBN0RVLG9DQUFvQzttR0FBcEMsb0NBQW9DLHNZQUhwQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLFdBQVcsQ0FBQzs7QUFHN0Qsb0NBQW9DO0lBWGhELFlBQVksQ0FBQywwQkFBMEIsQ0FBQztHQVc1QixvQ0FBb0MsQ0E4RGhEOzs0RkE5RFksb0NBQW9DO2tCQVZoRCxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUhBQXFIO29CQUMvSCxJQUFJLEVBQUU7d0JBQ0osaUJBQWlCLEVBQUUsc0NBQXNDO3dCQUN6RCxvQkFBb0IsRUFBRSxhQUFhO3FCQUNwQztvQkFDRCxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxXQUFXLENBQUM7b0JBQ3hFLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDL0I7OEJBZVEsT0FBTztzQkFEYixNQUFNO2dCQXlDRyxhQUFhO3NCQUR0QixZQUFZO3VCQUFDLFNBQVM7Z0JBTWIsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWRvbmx5Q29udHJvbGxlciwgV2l0aFRhYkluZGV4IH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IElucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgSUNvbmZpZywgTmd4TWFza1BpcGUsIHByb3ZpZGVOZ3hNYXNrIH0gZnJvbSAnbmd4LW1hc2snO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdERhdGVyYW5nZXBpY2tlckNvbmZpZyB9IGZyb20gJy4uL2RhdGVyYW5nZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRGb3JtYXQsIGdldERhdGVyYW5nZXBpY2tlcklucHV0TWFzaywgZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRWYWx1ZUFzRGF0ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBFbmhhbmNlcyBhbiBpbnB1dCBlbGVtZW50IHRvIHN1cHBvcnQgZGF0ZSByYW5nZSBwaWNraW5nLCBhcHBseWluZyBhbiBpbnB1dCBtYXNrIGZvciBkYXRlIGZvcm1hdHRpbmdcbiAqIGFuZCBtYW5hZ2luZyBmb2N1cyBldmVudHMuIFRoaXMgZGlyZWN0aXZlIGlzIHR5cGljYWxseSB1c2VkIHdpdGhpbiBhIGRhdGUgcmFuZ2UgcGlja2VyIHRvIHByb3ZpZGVcbiAqIGNvbnNpc3RlbnQgYW5kIGNvbmZpZ3VyYWJsZSBpbnB1dCBiZWhhdmlvci4gRXh0ZW5kcyB0aGUgYElucHV0Q29udHJvbERpcmVjdGl2ZWAgdG8gcHJvdmlkZSBmb3JtIGNvbnRyb2wuXG4gKiBIYXMgaG9zdCBkaXJlY3RpdmUgYFdpdGhUYWJJbmRleGAgdG8gbWFuYWdlIHRoZSB0YWIgaW5kZXggYXR0cmlidXRlIG9mIHRoZSBpbnB1dCBlbGVtZW50LlxuICpcbiAqIEBzZWUge0lucHV0Q29udHJvbERpcmVjdGl2ZX1cbiAqL1xuQENTU0NvbXBvbmVudCgnZGF0ZXJhbmdlcGlja2VyX19jb250cm9sJylcbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2lucHV0W29keERhdGVyYW5nZXBpY2tlckNvbnRyb2xdLGlucHV0W29keERhdGVyYW5nZXBpY2tlclN0YXJ0RGF0ZUNvbnRyb2xdLCBpbnB1dFtvZHhEYXRlcmFuZ2VwaWNrZXJFbmREYXRlQ29udHJvbF0nLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLnJlYWRvbmx5XSc6ICdyZWFkb25seUNvbnRyb2xsZXI/LnJlYWRvbmx5IHx8IG51bGwnLFxuICAgICdbYXR0ci5wbGFjZWhvbGRlcl0nOiAncGxhY2Vob2xkZXInLFxuICB9LFxuICBwcm92aWRlcnM6IFtSZWFkb25seUNvbnRyb2xsZXIuY29ubmVjdCgpLCBwcm92aWRlTmd4TWFzaygpLCBOZ3hNYXNrUGlwZV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbV2l0aFRhYkluZGV4XSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIGV4dGVuZHMgSW5wdXRDb250cm9sRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXNrQ29uZmlnOiBQYXJ0aWFsPElDb25maWc+ID0geyB2YWxpZGF0aW9uOiBmYWxzZSwgbGVhZFplcm9EYXRlVGltZTogdHJ1ZSB9O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByZWFkb25seUNvbnRyb2xsZXIgPSBSZWFkb25seUNvbnRyb2xsZXIuaW5qZWN0KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3REYXRlcmFuZ2VwaWNrZXJDb25maWcoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0TWFzayA9IGdldERhdGVyYW5nZXBpY2tlcklucHV0TWFzayh0aGlzLmNvbmZpZyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZ3hNYXNrUGlwZSA9IGluamVjdChOZ3hNYXNrUGlwZSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIGlucHV0IGdhaW5zIG9yIGxvc2VzIGZvY3VzLCBmYWNpbGl0YXRpbmcgZXh0ZXJuYWwgZXZlbnQgaGFuZGxpbmcuXG4gICAqXG4gICAqIEBlbWl0cyB7Ym9vbGVhbn0gLSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogQ2FwdHVyZXMgYW5kIHByb2Nlc3NlcyBjaGFuZ2VzIHRvIHRoZSBpbnB1dCBlbGVtZW50J3MgdmFsdWUsIGFwcGx5aW5nIHRoZSBtYXNrIGFuZCB1cGRhdGluZ1xuICAgKiB0aGUgZm9ybSBjb250cm9sLlxuICAgKlxuICAgKiBAZW1pdHMge3N0cmluZ30gLSBUaGUgdXBkYXRlZCB2YWx1ZSBvZiB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUNoYW5nZSQgPSBmcm9tRXZlbnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcpLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5hcHBseU1hc2soKSksXG4gICAgbWFwKCgpID0+IHRoaXMubmF0aXZlRWxlbWVudFZhbHVlKSxcbiAgKTtcblxuICAvKipcbiAgICogQXBwbGllcyB0aGUgY29uZmlndXJlZCBpbnB1dCBtYXNrIHRvIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudCdzIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFwcGx5TWFzaygpOiB2b2lkIHtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnRWYWx1ZSA9IHRoaXMubmd4TWFza1BpcGUudHJhbnNmb3JtKHRoaXMubmF0aXZlRWxlbWVudFZhbHVlLCB0aGlzLmlucHV0TWFzaywgdGhpcy5tYXNrQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgY3VycmVudCBpbnB1dCB2YWx1ZSB0byBhIERhdGUgb2JqZWN0IGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uJ3MgZGF0ZSBmb3JtYXQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtEYXRlIHwgbnVsbH0gVGhlIHBhcnNlZCBkYXRlIG9iamVjdCBvciBudWxsIGlmIHRoZSBpbnB1dCBkb2VzIG5vdCByZXByZXNlbnQgYSB2YWxpZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZUFzRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIGdldERhdGVyYW5nZXBpY2tlcklucHV0VmFsdWVBc0RhdGUodGhpcy5jb25maWcsIHRoaXMubmF0aXZlRWxlbWVudFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyB0aGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0LCB0eXBpY2FsbHkgdGhlIGRhdGUgZm9ybWF0IGluIHVwcGVyY2FzZS5cbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRGb3JtYXQodGhpcy5jb25maWcpLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c2luJylcbiAgcHJvdGVjdGVkIGhhbmRsZUZvY3VzSW4oKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1c091dCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWQuZW1pdChmYWxzZSk7XG4gIH1cbn1cbiJdfQ==
@@ -26,8 +26,8 @@ export class DaterangepickerRangeValidator {
26
26
  invalidRange: true,
27
27
  });
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerRangeValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DaterangepickerRangeValidator, isStandalone: true, selector: "odx-daterangepicker[formControlName], odx-daterangepicker[formControl], odx-daterangepicker[ngModel]", providers: [
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerRangeValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DaterangepickerRangeValidator, isStandalone: true, selector: "odx-daterangepicker[formControlName], odx-daterangepicker[formControl], odx-daterangepicker[ngModel]", providers: [
31
31
  {
32
32
  provide: NG_VALIDATORS,
33
33
  useExisting: forwardRef(() => DaterangepickerRangeValidator),
@@ -35,7 +35,7 @@ export class DaterangepickerRangeValidator {
35
35
  },
36
36
  ], ngImport: i0 }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerRangeValidator, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerRangeValidator, decorators: [{
39
39
  type: Directive,
40
40
  args: [{
41
41
  standalone: true,
@@ -22,8 +22,8 @@ export class DaterangepickerRequiredValidator {
22
22
  required: true,
23
23
  });
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerRequiredValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DaterangepickerRequiredValidator, isStandalone: true, selector: "odx-daterangepicker[required][formControlName], odx-daterangepicker[required][formControl], odx-daterangepicker[required][ngModel]", providers: [
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerRequiredValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DaterangepickerRequiredValidator, isStandalone: true, selector: "odx-daterangepicker[required][formControlName], odx-daterangepicker[required][formControl], odx-daterangepicker[required][ngModel]", providers: [
27
27
  {
28
28
  provide: NG_VALIDATORS,
29
29
  useExisting: forwardRef(() => DaterangepickerRequiredValidator),
@@ -31,7 +31,7 @@ export class DaterangepickerRequiredValidator {
31
31
  },
32
32
  ], ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangepickerRequiredValidator, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaterangepickerRequiredValidator, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  standalone: true,
@@ -15,7 +15,7 @@ import * as i3 from "@angular/cdk/a11y";
15
15
  /**
16
16
  * Represents a dropdown component.
17
17
  */
18
- export let DropdownComponent = class DropdownComponent {
18
+ let DropdownComponent = class DropdownComponent {
19
19
  constructor() {
20
20
  this.host = inject(DropdownDirective);
21
21
  this.injector = inject(Injector);
@@ -24,13 +24,14 @@ export let DropdownComponent = class DropdownComponent {
24
24
  onDropdownClose() {
25
25
  this.host.close();
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownComponent, isStandalone: true, selector: "odx-dropdown", inputs: { content: "content", showLoader: "showLoader", clickOutsideActive: "clickOutsideActive" }, host: { listeners: { "odxDropdownClose": "onDropdownClose()" } }, ngImport: i0, template: "<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"showLoader\"\n [odxClickOutsideActive]=\"clickOutsideActive\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: LoadingSpinnerModule }, { kind: "directive", type: i2.LoadingSpinnerDirective, selector: "[odxLoadingSpinner]", inputs: ["odxLoadingSpinnerAutoColor", "odxLoadingSpinner", "odxLoadingSpinnerMinHeight"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "odx-dropdown", inputs: { content: "content", showLoader: "showLoader", clickOutsideActive: "clickOutsideActive" }, host: { listeners: { "odxDropdownClose": "onDropdownClose()" } }, ngImport: i0, template: "<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"showLoader\"\n [odxClickOutsideActive]=\"clickOutsideActive\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: LoadingSpinnerModule }, { kind: "directive", type: i2.LoadingSpinnerDirective, selector: "[odxLoadingSpinner]", inputs: ["odxLoadingSpinnerAutoColor", "odxLoadingSpinner", "odxLoadingSpinnerMinHeight"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
29
29
  };
30
30
  DropdownComponent = __decorate([
31
31
  CSSComponent('dropdown')
32
32
  ], DropdownComponent);
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
33
+ export { DropdownComponent };
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
34
35
  type: Component,
35
36
  args: [{ standalone: true, selector: 'odx-dropdown', imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule, A11yModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"showLoader\"\n [odxClickOutsideActive]=\"clickOutsideActive\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n" }]
36
37
  }], propDecorators: { content: [{
@@ -43,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
43
44
  type: HostListener,
44
45
  args: [CloseDropdownEvent.TYPE]
45
46
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2xpYi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvbGliL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQWtCLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBRTlDOztHQUVHO0FBVUksV0FBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFBdkI7UUFDYyxTQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7S0E4QjNDO0lBSFcsZUFBZTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLDhPQ3RCOUIsK1RBVUEsMkNET1ksVUFBVSxzTEFBRSxvQkFBb0Isc0pBQUUsb0JBQW9CLG1OQUFFLFVBQVU7O0FBS2pFLGlCQUFpQjtJQVQ3QixZQUFZLENBQUMsVUFBVSxDQUFDO0dBU1osaUJBQWlCLENBaUM3Qjs0RkFqQ1ksaUJBQWlCO2tCQVI3QixTQUFTO2lDQUNJLElBQUksWUFDTixjQUFjLFdBQ2YsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLGlCQUU5RCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQWF4QyxPQUFPO3NCQURiLEtBQUs7Z0JBU0MsVUFBVTtzQkFEaEIsS0FBSztnQkFTQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUksZUFBZTtzQkFEeEIsWUFBWTt1QkFBQyxrQkFBa0IsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBpbmplY3QsIEluamVjdG9yLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEeW5hbWljQ29udGVudCwgRHluYW1pY1ZpZXdEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IENsb3NlRHJvcGRvd25FdmVudCB9IGZyb20gJy4vbW9kZWxzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZHJvcGRvd24gY29tcG9uZW50LlxuICovXG5AQ1NTQ29tcG9uZW50KCdkcm9wZG93bicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtZHJvcGRvd24nLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRHluYW1pY1ZpZXdEaXJlY3RpdmUsIExvYWRpbmdTcGlubmVyTW9kdWxlLCBBMTF5TW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhvc3QgPSBpbmplY3QoRHJvcGRvd25EaXJlY3RpdmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBkcm9wZG93bi5cbiAgICpcbiAgICogQHR5cGUge0R5bmFtaWNDb250ZW50IHwgbnVsbH1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250ZW50PzogRHluYW1pY0NvbnRlbnQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBzaG93IGEgbG9hZGVyIHdoaWxlIGxvYWRpbmcgdGhlIGRyb3Bkb3duIGNvbnRlbnQuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFuIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dMb2FkZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBjbGlja2luZyBvdXRzaWRlIHRoZSBkcm9wZG93biBzaG91bGQgY2xvc2UgaXQuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFuIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGNsaWNrT3V0c2lkZUFjdGl2ZT86IGJvb2xlYW47XG5cbiAgQEhvc3RMaXN0ZW5lcihDbG9zZURyb3Bkb3duRXZlbnQuVFlQRSlcbiAgcHJvdGVjdGVkIG9uRHJvcGRvd25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3QuY2xvc2UoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cIm9keC1kcm9wZG93bl9faW5uZXJcIlxuICBbb2R4TG9hZGluZ1NwaW5uZXJdPVwic2hvd0xvYWRlclwiXG4gIFtvZHhDbGlja091dHNpZGVBY3RpdmVdPVwiY2xpY2tPdXRzaWRlQWN0aXZlXCJcbiAgKG9keENsaWNrT3V0c2lkZSk9XCJob3N0LmNsb3NlKClcIlxuICBjZGtUcmFwRm9jdXNcbiAgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVcbj5cbiAgPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJjb250ZW50XCIgW29keER5bmFtaWNWaWV3SW5qZWN0b3JdPVwiaW5qZWN0b3JcIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2xpYi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvbGliL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQWtCLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBRTlDOztHQUVHO0FBVUksSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFBdkI7UUFDYyxTQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7S0E4QjNDO0lBSFcsZUFBZTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLDhPQ3RCOUIsK1RBVUEsMkNET1ksVUFBVSxzTEFBRSxvQkFBb0Isc0pBQUUsb0JBQW9CLG1OQUFFLFVBQVU7O0FBS2pFLGlCQUFpQjtJQVQ3QixZQUFZLENBQUMsVUFBVSxDQUFDO0dBU1osaUJBQWlCLENBaUM3Qjs7NEZBakNZLGlCQUFpQjtrQkFSN0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sY0FBYyxXQUNmLENBQUMsVUFBVSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxpQkFFOUQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFheEMsT0FBTztzQkFEYixLQUFLO2dCQVNDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBU0Msa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlJLGVBQWU7c0JBRHhCLFlBQVk7dUJBQUMsa0JBQWtCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQsIER5bmFtaWNWaWV3RGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgTG9hZGluZ1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbG9zZURyb3Bkb3duRXZlbnQgfSBmcm9tICcuL21vZGVscyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRyb3Bkb3duIGNvbXBvbmVudC5cbiAqL1xuQENTU0NvbXBvbmVudCgnZHJvcGRvd24nKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWRyb3Bkb3duJyxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIER5bmFtaWNWaWV3RGlyZWN0aXZlLCBMb2FkaW5nU3Bpbm5lck1vZHVsZSwgQTExeU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBob3N0ID0gaW5qZWN0KERyb3Bkb3duRGlyZWN0aXZlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgZHJvcGRvd24uXG4gICAqXG4gICAqIEB0eXBlIHtEeW5hbWljQ29udGVudCB8IG51bGx9XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29udGVudD86IER5bmFtaWNDb250ZW50IHwgbnVsbDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gc2hvdyBhIGxvYWRlciB3aGlsZSBsb2FkaW5nIHRoZSBkcm9wZG93biBjb250ZW50LlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbiB8IHVuZGVmaW5lZH1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93TG9hZGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgY2xpY2tpbmcgb3V0c2lkZSB0aGUgZHJvcGRvd24gc2hvdWxkIGNsb3NlIGl0LlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbiB8IHVuZGVmaW5lZH1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjbGlja091dHNpZGVBY3RpdmU/OiBib29sZWFuO1xuXG4gIEBIb3N0TGlzdGVuZXIoQ2xvc2VEcm9wZG93bkV2ZW50LlRZUEUpXG4gIHByb3RlY3RlZCBvbkRyb3Bkb3duQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0LmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJvZHgtZHJvcGRvd25fX2lubmVyXCJcbiAgW29keExvYWRpbmdTcGlubmVyXT1cInNob3dMb2FkZXJcIlxuICBbb2R4Q2xpY2tPdXRzaWRlQWN0aXZlXT1cImNsaWNrT3V0c2lkZUFjdGl2ZVwiXG4gIChvZHhDbGlja091dHNpZGUpPVwiaG9zdC5jbG9zZSgpXCJcbiAgY2RrVHJhcEZvY3VzXG4gIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlXG4+XG4gIDxuZy10ZW1wbGF0ZSBbb2R4RHluYW1pY1ZpZXddPVwiY29udGVudFwiIFtvZHhEeW5hbWljVmlld0luamVjdG9yXT1cImluamVjdG9yXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19