@koobiq/components 18.34.0 → 18.36.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 (583) hide show
  1. package/accordion/accordion.component.d.ts +1 -1
  2. package/app-switcher/_app-switcher-theme.scss +34 -0
  3. package/app-switcher/app-switcher-animations.d.ts +5 -0
  4. package/app-switcher/app-switcher-dropdown-app.d.ts +11 -0
  5. package/app-switcher/app-switcher-dropdown-app.scss +85 -0
  6. package/app-switcher/app-switcher-dropdown-site.d.ts +9 -0
  7. package/app-switcher/app-switcher-dropdown-site.scss +53 -0
  8. package/app-switcher/app-switcher.d.ts +191 -0
  9. package/app-switcher/app-switcher.module.d.ts +10 -0
  10. package/app-switcher/app-switcher.scss +64 -0
  11. package/app-switcher/index.d.ts +1 -0
  12. package/app-switcher/kbq-app-switcher-list-item.d.ts +16 -0
  13. package/app-switcher/kbq-app-switcher-list-item.scss +180 -0
  14. package/app-switcher/public-api.d.ts +6 -0
  15. package/badge/badge.component.d.ts +1 -1
  16. package/badge/badge.component.scss +2 -0
  17. package/breadcrumbs/breadcrumbs.scss +4 -0
  18. package/button/_button-theme.scss +1 -0
  19. package/button/button.component.d.ts +2 -2
  20. package/core/common-behaviors/clipboard.d.ts +1 -1
  21. package/core/common-behaviors/color.d.ts +5 -5
  22. package/core/common-behaviors/focus-monitor.d.ts +19 -0
  23. package/core/common-behaviors/hovered.d.ts +13 -0
  24. package/core/common-behaviors/index.d.ts +4 -0
  25. package/core/common-behaviors/orientation.d.ts +4 -0
  26. package/core/common-behaviors/read-state.d.ts +12 -0
  27. package/core/form-field/field-sizing-content.d.ts +21 -0
  28. package/core/form-field/index.d.ts +1 -0
  29. package/core/locales/en-US.d.ts +68 -0
  30. package/core/locales/es-LA.d.ts +68 -0
  31. package/core/locales/fa-IR.d.ts +68 -0
  32. package/core/locales/locale-service.d.ts +476 -0
  33. package/core/locales/pt-BR.d.ts +68 -0
  34. package/core/locales/ru-RU.d.ts +68 -0
  35. package/core/locales/tk-TM.d.ts +68 -0
  36. package/core/locales/types.d.ts +22 -0
  37. package/core/locales/zh-CN.d.ts +68 -0
  38. package/core/navbar/index.d.ts +1 -0
  39. package/core/navbar/rectangle-item.d.ts +14 -0
  40. package/core/option/action.d.ts +1 -1
  41. package/core/option/option.d.ts +4 -2
  42. package/core/pop-up/constants.d.ts +2 -1
  43. package/core/pop-up/pop-up-trigger.d.ts +5 -3
  44. package/core/pop-up/pop-up.d.ts +2 -1
  45. package/core/public-api.d.ts +1 -0
  46. package/core/select/common.d.ts +3 -0
  47. package/core/select/constants.d.ts +5 -0
  48. package/core/styles/common/_select.scss +5 -0
  49. package/core/utils/dom.d.ts +4 -0
  50. package/core/utils/index.d.ts +1 -0
  51. package/core/utils/utils.d.ts +4 -0
  52. package/datepicker/datepicker-input.directive.d.ts +18 -7
  53. package/divider/divider.scss +1 -0
  54. package/dropdown/dropdown-item.scss +1 -0
  55. package/dropdown/dropdown-trigger.directive.d.ts +7 -1
  56. package/dropdown/dropdown.component.d.ts +5 -1
  57. package/dropdown/dropdown.module.d.ts +1 -1
  58. package/esm2022/accordion/accordion-content.mjs +3 -3
  59. package/esm2022/accordion/accordion-header.mjs +3 -3
  60. package/esm2022/accordion/accordion-item.mjs +3 -3
  61. package/esm2022/accordion/accordion-trigger.component.mjs +3 -3
  62. package/esm2022/accordion/accordion.component.mjs +5 -5
  63. package/esm2022/accordion/accordion.module.mjs +4 -4
  64. package/esm2022/actions-panel/actions-panel-container.mjs +3 -3
  65. package/esm2022/actions-panel/actions-panel.mjs +3 -3
  66. package/esm2022/actions-panel/module.mjs +4 -4
  67. package/esm2022/alert/alert.component.mjs +12 -12
  68. package/esm2022/alert/alert.module.mjs +4 -4
  69. package/esm2022/app-switcher/app-switcher-animations.mjs +18 -0
  70. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +75 -0
  71. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +60 -0
  72. package/esm2022/app-switcher/app-switcher.mjs +446 -0
  73. package/esm2022/app-switcher/app-switcher.module.mjs +45 -0
  74. package/esm2022/app-switcher/index.mjs +2 -0
  75. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +84 -0
  76. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +5 -0
  77. package/esm2022/app-switcher/public-api.mjs +7 -0
  78. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +3 -3
  79. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +3 -3
  80. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  81. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  82. package/esm2022/badge/badge.component.mjs +11 -11
  83. package/esm2022/badge/badge.module.mjs +4 -4
  84. package/esm2022/breadcrumbs/breadcrumbs.mjs +17 -17
  85. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +4 -4
  86. package/esm2022/button/button.component.mjs +9 -9
  87. package/esm2022/button/button.dropdown-trigger.directive.mjs +3 -3
  88. package/esm2022/button/button.module.mjs +4 -4
  89. package/esm2022/button-toggle/button-toggle.component.mjs +6 -6
  90. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  91. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  92. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  93. package/esm2022/checkbox/checkbox.mjs +3 -3
  94. package/esm2022/clamped-text/clamped-text.mjs +3 -3
  95. package/esm2022/clamped-text/module.mjs +4 -4
  96. package/esm2022/code-block/code-block-highlight.mjs +7 -7
  97. package/esm2022/code-block/code-block.mjs +4 -4
  98. package/esm2022/code-block/code-block.module.mjs +4 -4
  99. package/esm2022/content-panel/content-panel.mjs +24 -24
  100. package/esm2022/content-panel/module.mjs +4 -4
  101. package/esm2022/content-panel/resizable.mjs +6 -6
  102. package/esm2022/core/common-behaviors/clipboard.mjs +4 -4
  103. package/esm2022/core/common-behaviors/color.mjs +6 -7
  104. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  105. package/esm2022/core/common-behaviors/focus-monitor.mjs +37 -0
  106. package/esm2022/core/common-behaviors/hovered.mjs +31 -0
  107. package/esm2022/core/common-behaviors/index.mjs +5 -1
  108. package/esm2022/core/common-behaviors/orientation.mjs +2 -0
  109. package/esm2022/core/common-behaviors/read-state.mjs +33 -0
  110. package/esm2022/core/error/error-state-matcher.mjs +9 -9
  111. package/esm2022/core/form-field/field-sizing-content.mjs +114 -0
  112. package/esm2022/core/form-field/index.mjs +2 -1
  113. package/esm2022/core/formatters/date/formatter.mjs +3 -3
  114. package/esm2022/core/formatters/date/formatter.pipe.mjs +78 -78
  115. package/esm2022/core/formatters/filesize/formatter.mjs +3 -3
  116. package/esm2022/core/formatters/index.mjs +4 -4
  117. package/esm2022/core/formatters/number/formatter.mjs +12 -12
  118. package/esm2022/core/forms/forms-module.mjs +4 -4
  119. package/esm2022/core/forms/forms.directive.mjs +6 -6
  120. package/esm2022/core/highlight/highlight.pipe.mjs +3 -3
  121. package/esm2022/core/highlight/index.mjs +4 -4
  122. package/esm2022/core/line/line.mjs +7 -7
  123. package/esm2022/core/locales/en-US.mjs +111 -1
  124. package/esm2022/core/locales/es-LA.mjs +111 -1
  125. package/esm2022/core/locales/fa-IR.mjs +81 -1
  126. package/esm2022/core/locales/locale-service.mjs +3 -3
  127. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  128. package/esm2022/core/locales/pt-BR.mjs +111 -1
  129. package/esm2022/core/locales/ru-RU.mjs +125 -1
  130. package/esm2022/core/locales/tk-TM.mjs +111 -1
  131. package/esm2022/core/locales/types.mjs +1 -1
  132. package/esm2022/core/locales/zh-CN.mjs +69 -1
  133. package/esm2022/core/navbar/index.mjs +2 -0
  134. package/esm2022/core/navbar/rectangle-item.mjs +40 -0
  135. package/esm2022/core/option/action-container.mjs +3 -3
  136. package/esm2022/core/option/action.mjs +4 -4
  137. package/esm2022/core/option/optgroup.mjs +3 -3
  138. package/esm2022/core/option/option-module.mjs +4 -4
  139. package/esm2022/core/option/option.mjs +10 -6
  140. package/esm2022/core/pop-up/constants.mjs +2 -1
  141. package/esm2022/core/pop-up/pop-up-trigger.mjs +10 -6
  142. package/esm2022/core/pop-up/pop-up.mjs +4 -4
  143. package/esm2022/core/public-api.mjs +2 -1
  144. package/esm2022/core/select/common.mjs +27 -17
  145. package/esm2022/core/select/constants.mjs +6 -1
  146. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  147. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  148. package/esm2022/core/services/measure-scrollbar.service.mjs +3 -3
  149. package/esm2022/core/services/theme.service.mjs +3 -3
  150. package/esm2022/core/utils/dom.mjs +8 -0
  151. package/esm2022/core/utils/index.mjs +2 -1
  152. package/esm2022/core/utils/utils.mjs +9 -1
  153. package/esm2022/core/version.mjs +2 -2
  154. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  155. package/esm2022/datepicker/calendar-header.component.mjs +3 -3
  156. package/esm2022/datepicker/calendar.component.mjs +3 -3
  157. package/esm2022/datepicker/datepicker-input.directive.mjs +29 -26
  158. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  159. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  160. package/esm2022/datepicker/datepicker-toggle.component.mjs +9 -9
  161. package/esm2022/datepicker/datepicker.component.mjs +6 -6
  162. package/esm2022/datepicker/month-view.component.mjs +3 -3
  163. package/esm2022/divider/divider.component.mjs +4 -4
  164. package/esm2022/divider/divider.module.mjs +4 -4
  165. package/esm2022/dl/dl.component.mjs +9 -9
  166. package/esm2022/dl/dl.module.mjs +4 -4
  167. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  168. package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
  169. package/esm2022/dropdown/dropdown-trigger.directive.mjs +33 -13
  170. package/esm2022/dropdown/dropdown.component.mjs +18 -8
  171. package/esm2022/dropdown/dropdown.module.mjs +14 -10
  172. package/esm2022/dynamic-translation/dynamic-translation.mjs +9 -9
  173. package/esm2022/dynamic-translation/module.mjs +4 -4
  174. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +7 -7
  175. package/esm2022/empty-state/empty-state.component.mjs +15 -15
  176. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  177. package/esm2022/file-upload/file-drop.mjs +3 -3
  178. package/esm2022/file-upload/file-upload.mjs +6 -1
  179. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  180. package/esm2022/file-upload/multiple-file-upload.component.mjs +29 -13
  181. package/esm2022/file-upload/single-file-upload.component.mjs +25 -10
  182. package/esm2022/filter-bar/filter-bar-button.mjs +3 -3
  183. package/esm2022/filter-bar/filter-bar.mjs +6 -6
  184. package/esm2022/filter-bar/filter-bar.module.mjs +4 -4
  185. package/esm2022/filter-bar/filter-refresher.mjs +3 -3
  186. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  187. package/esm2022/filter-bar/filter-search.mjs +3 -3
  188. package/esm2022/filter-bar/filters.mjs +18 -6
  189. package/esm2022/filter-bar/pipe-add.mjs +5 -5
  190. package/esm2022/filter-bar/pipe.directive.mjs +3 -3
  191. package/esm2022/filter-bar/pipes/base-pipe.mjs +7 -7
  192. package/esm2022/filter-bar/pipes/pipe-button.mjs +3 -3
  193. package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
  194. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
  195. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +19 -14
  196. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +12 -7
  197. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +6 -6
  198. package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -6
  199. package/esm2022/filter-bar/pipes/pipe-state.mjs +3 -3
  200. package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
  201. package/esm2022/filter-bar/pipes/pipe-title.mjs +3 -3
  202. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +6 -6
  203. package/esm2022/form-field/cleaner.mjs +3 -3
  204. package/esm2022/form-field/error.mjs +3 -3
  205. package/esm2022/form-field/fieldset.mjs +11 -11
  206. package/esm2022/form-field/form-field.mjs +11 -11
  207. package/esm2022/form-field/form-field.module.mjs +4 -4
  208. package/esm2022/form-field/hint.mjs +3 -3
  209. package/esm2022/form-field/label.mjs +3 -3
  210. package/esm2022/form-field/password-hint.mjs +3 -3
  211. package/esm2022/form-field/password-toggle.mjs +7 -7
  212. package/esm2022/form-field/prefix.mjs +3 -3
  213. package/esm2022/form-field/reactive-password-hint.mjs +3 -3
  214. package/esm2022/form-field/stepper.mjs +3 -3
  215. package/esm2022/form-field/suffix.mjs +3 -3
  216. package/esm2022/form-field/validate.directive.mjs +3 -3
  217. package/esm2022/icon/icon-button.component.mjs +3 -3
  218. package/esm2022/icon/icon-item.component.mjs +3 -3
  219. package/esm2022/icon/icon.component.mjs +4 -4
  220. package/esm2022/icon/icon.module.mjs +4 -4
  221. package/esm2022/inline-edit/index.mjs +3 -0
  222. package/esm2022/inline-edit/inline-edit.mjs +378 -0
  223. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +5 -0
  224. package/esm2022/inline-edit/module.mjs +25 -0
  225. package/esm2022/input/input-number-validators.mjs +6 -6
  226. package/esm2022/input/input-number.mjs +4 -4
  227. package/esm2022/input/input-password.mjs +4 -4
  228. package/esm2022/input/input.mjs +7 -7
  229. package/esm2022/input/input.module.mjs +4 -4
  230. package/esm2022/link/link.component.mjs +6 -6
  231. package/esm2022/link/link.module.mjs +4 -4
  232. package/esm2022/list/list-selection.component.mjs +10 -10
  233. package/esm2022/list/list.component.mjs +6 -6
  234. package/esm2022/list/list.module.mjs +4 -4
  235. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  236. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  237. package/esm2022/markdown/markdown.component.mjs +5 -5
  238. package/esm2022/markdown/markdown.module.mjs +4 -4
  239. package/esm2022/markdown/markdown.service.mjs +3 -3
  240. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  241. package/esm2022/modal/modal-control.service.mjs +3 -3
  242. package/esm2022/modal/modal.component.mjs +4 -4
  243. package/esm2022/modal/modal.directive.mjs +12 -12
  244. package/esm2022/modal/modal.module.mjs +4 -4
  245. package/esm2022/modal/modal.service.mjs +3 -3
  246. package/esm2022/navbar/navbar-item.component.mjs +49 -38
  247. package/esm2022/navbar/navbar.component.mjs +10 -10
  248. package/esm2022/navbar/navbar.module.mjs +4 -4
  249. package/esm2022/navbar/vertical-navbar.component.mjs +4 -4
  250. package/esm2022/navbar-ic/index.mjs +2 -0
  251. package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +5 -0
  252. package/esm2022/navbar-ic/navbar-ic-header.mjs +58 -0
  253. package/esm2022/navbar-ic/navbar-ic-item.mjs +391 -0
  254. package/esm2022/navbar-ic/navbar-ic.animation.mjs +9 -0
  255. package/esm2022/navbar-ic/navbar-ic.mjs +286 -0
  256. package/esm2022/navbar-ic/navbar-ic.module.mjs +74 -0
  257. package/esm2022/navbar-ic/public-api.mjs +5 -0
  258. package/esm2022/notification-center/index.mjs +2 -0
  259. package/esm2022/notification-center/koobiq-components-notification-center.mjs +5 -0
  260. package/esm2022/notification-center/notification-center-animations.mjs +18 -0
  261. package/esm2022/notification-center/notification-center.mjs +353 -0
  262. package/esm2022/notification-center/notification-center.module.mjs +38 -0
  263. package/esm2022/notification-center/notification-center.service.mjs +127 -0
  264. package/esm2022/notification-center/notification-item.mjs +70 -0
  265. package/esm2022/notification-center/public-api.mjs +5 -0
  266. package/esm2022/overflow-items/module.mjs +4 -4
  267. package/esm2022/overflow-items/overflow-items.mjs +95 -41
  268. package/esm2022/popover/popover-confirm.component.mjs +10 -10
  269. package/esm2022/popover/popover.component.mjs +24 -14
  270. package/esm2022/popover/popover.module.mjs +4 -4
  271. package/esm2022/progress-bar/progress-bar.component.mjs +9 -9
  272. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  273. package/esm2022/progress-spinner/progress-spinner.component.mjs +9 -9
  274. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  275. package/esm2022/radio/radio.component.mjs +6 -6
  276. package/esm2022/radio/radio.module.mjs +4 -4
  277. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  278. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  279. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  280. package/esm2022/scrollbar/scrollbar.directive.mjs +3 -3
  281. package/esm2022/scrollbar/scrollbar.module.mjs +4 -4
  282. package/esm2022/search-expandable/index.mjs +2 -0
  283. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +5 -0
  284. package/esm2022/search-expandable/public-api.mjs +3 -0
  285. package/esm2022/search-expandable/search-expandable.mjs +177 -0
  286. package/esm2022/search-expandable/search-expandable.module.mjs +18 -0
  287. package/esm2022/select/select-option.directive.mjs +3 -3
  288. package/esm2022/select/select.component.mjs +37 -10
  289. package/esm2022/select/select.module.mjs +4 -4
  290. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  291. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  292. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  293. package/esm2022/sidepanel/sidepanel-directives.mjs +15 -15
  294. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  295. package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
  296. package/esm2022/split-button/index.mjs +2 -0
  297. package/esm2022/split-button/koobiq-components-split-button.mjs +5 -0
  298. package/esm2022/split-button/public-api.mjs +3 -0
  299. package/esm2022/split-button/split-button.mjs +92 -0
  300. package/esm2022/split-button/split-button.module.mjs +18 -0
  301. package/esm2022/splitter/splitter.component.mjs +13 -13
  302. package/esm2022/splitter/splitter.module.mjs +4 -4
  303. package/esm2022/table/table.component.mjs +6 -6
  304. package/esm2022/table/table.module.mjs +4 -4
  305. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  306. package/esm2022/tabs/tab-body.component.mjs +6 -6
  307. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  308. package/esm2022/tabs/tab-group.component.mjs +15 -15
  309. package/esm2022/tabs/tab-header.component.mjs +4 -4
  310. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
  311. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  312. package/esm2022/tabs/tab-nav-bar.mjs +10 -10
  313. package/esm2022/tabs/tab.component.mjs +3 -3
  314. package/esm2022/tabs/tabs.module.mjs +4 -4
  315. package/esm2022/tags/tag-input.mjs +17 -11
  316. package/esm2022/tags/tag-list.component.mjs +256 -195
  317. package/esm2022/tags/tag.component.mjs +398 -118
  318. package/esm2022/tags/tag.module.mjs +20 -10
  319. package/esm2022/textarea/textarea.component.mjs +5 -5
  320. package/esm2022/textarea/textarea.module.mjs +4 -4
  321. package/esm2022/time-range/constants.mjs +21 -0
  322. package/esm2022/time-range/index.mjs +8 -0
  323. package/esm2022/time-range/koobiq-components-time-range.mjs +5 -0
  324. package/esm2022/time-range/module.mjs +36 -0
  325. package/esm2022/time-range/time-range-editor.mjs +219 -0
  326. package/esm2022/time-range/time-range-title-as-form-field.mjs +59 -0
  327. package/esm2022/time-range/time-range-title.mjs +112 -0
  328. package/esm2022/time-range/time-range.mjs +229 -0
  329. package/esm2022/time-range/time-range.service.mjs +189 -0
  330. package/esm2022/time-range/types.mjs +2 -0
  331. package/esm2022/timepicker/timepicker.directive.mjs +4 -4
  332. package/esm2022/timepicker/timepicker.module.mjs +4 -4
  333. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  334. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  335. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  336. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  337. package/esm2022/timezone/timezone.module.mjs +4 -4
  338. package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
  339. package/esm2022/title/title.directive.mjs +3 -3
  340. package/esm2022/title/title.module.mjs +4 -4
  341. package/esm2022/toast/toast-container.component.mjs +3 -3
  342. package/esm2022/toast/toast.component.mjs +20 -14
  343. package/esm2022/toast/toast.module.mjs +4 -4
  344. package/esm2022/toast/toast.service.mjs +5 -4
  345. package/esm2022/toast/toast.type.mjs +1 -1
  346. package/esm2022/toggle/toggle.component.mjs +3 -3
  347. package/esm2022/toggle/toggle.module.mjs +4 -4
  348. package/esm2022/tooltip/tooltip.component.mjs +20 -20
  349. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  350. package/esm2022/top-bar/module.mjs +4 -4
  351. package/esm2022/top-bar/top-bar.mjs +9 -9
  352. package/esm2022/tree/node.mjs +3 -3
  353. package/esm2022/tree/outlet.mjs +3 -3
  354. package/esm2022/tree/padding.directive.mjs +3 -3
  355. package/esm2022/tree/toggle.mjs +16 -12
  356. package/esm2022/tree/tree-base.mjs +7 -7
  357. package/esm2022/tree/tree-option.component.mjs +5 -9
  358. package/esm2022/tree/tree-selection.component.mjs +4 -4
  359. package/esm2022/tree/tree.mjs +3 -3
  360. package/esm2022/tree/tree.module.mjs +4 -4
  361. package/esm2022/tree-select/tree-select.component.mjs +54 -14
  362. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  363. package/esm2022/username/module.mjs +4 -4
  364. package/esm2022/username/username.mjs +15 -15
  365. package/esm2022/username/username.pipe.mjs +8 -8
  366. package/fesm2022/koobiq-components-accordion.mjs +20 -20
  367. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  368. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  369. package/fesm2022/koobiq-components-alert.mjs +16 -16
  370. package/fesm2022/koobiq-components-app-switcher.mjs +704 -0
  371. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -0
  372. package/fesm2022/koobiq-components-autocomplete.mjs +13 -13
  373. package/fesm2022/koobiq-components-badge.mjs +14 -14
  374. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  375. package/fesm2022/koobiq-components-breadcrumbs.mjs +20 -20
  376. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  377. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  378. package/fesm2022/koobiq-components-button.mjs +15 -15
  379. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  380. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  381. package/fesm2022/koobiq-components-clamped-text.mjs +7 -7
  382. package/fesm2022/koobiq-components-code-block.mjs +13 -13
  383. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  384. package/fesm2022/koobiq-components-content-panel.mjs +34 -34
  385. package/fesm2022/koobiq-components-core.mjs +1218 -237
  386. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  387. package/fesm2022/koobiq-components-datepicker.mjs +62 -60
  388. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  389. package/fesm2022/koobiq-components-divider.mjs +8 -8
  390. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  391. package/fesm2022/koobiq-components-dl.mjs +13 -13
  392. package/fesm2022/koobiq-components-dropdown.mjs +69 -35
  393. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  394. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  395. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  396. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  397. package/fesm2022/koobiq-components-file-upload.mjs +60 -25
  398. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  399. package/fesm2022/koobiq-components-filter-bar.mjs +118 -96
  400. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  401. package/fesm2022/koobiq-components-form-field.mjs +60 -60
  402. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  403. package/fesm2022/koobiq-components-icon.mjs +13 -13
  404. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  405. package/fesm2022/koobiq-components-inline-edit.mjs +407 -0
  406. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -0
  407. package/fesm2022/koobiq-components-input.mjs +22 -22
  408. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  409. package/fesm2022/koobiq-components-link.mjs +10 -10
  410. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  411. package/fesm2022/koobiq-components-list.mjs +19 -19
  412. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  413. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  414. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  415. package/fesm2022/koobiq-components-markdown.mjs +12 -12
  416. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  417. package/fesm2022/koobiq-components-modal.mjs +28 -28
  418. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  419. package/fesm2022/koobiq-components-navbar-ic.mjs +797 -0
  420. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -0
  421. package/fesm2022/koobiq-components-navbar.mjs +65 -54
  422. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  423. package/fesm2022/koobiq-components-notification-center.mjs +586 -0
  424. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -0
  425. package/fesm2022/koobiq-components-overflow-items.mjs +98 -44
  426. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  427. package/fesm2022/koobiq-components-popover.mjs +36 -26
  428. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  429. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  430. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  431. package/fesm2022/koobiq-components-radio.mjs +10 -10
  432. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  433. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  434. package/fesm2022/koobiq-components-search-expandable.mjs +199 -0
  435. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -0
  436. package/fesm2022/koobiq-components-select.mjs +43 -16
  437. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  438. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  439. package/fesm2022/koobiq-components-sidepanel.mjs +25 -25
  440. package/fesm2022/koobiq-components-split-button.mjs +114 -0
  441. package/fesm2022/koobiq-components-split-button.mjs.map +1 -0
  442. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  443. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  444. package/fesm2022/koobiq-components-table.mjs +10 -10
  445. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  446. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  447. package/fesm2022/koobiq-components-tags.mjs +683 -331
  448. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  449. package/fesm2022/koobiq-components-textarea.mjs +8 -8
  450. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  451. package/fesm2022/koobiq-components-time-range.mjs +840 -0
  452. package/fesm2022/koobiq-components-time-range.mjs.map +1 -0
  453. package/fesm2022/koobiq-components-timepicker.mjs +7 -7
  454. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  455. package/fesm2022/koobiq-components-timezone.mjs +24 -24
  456. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  457. package/fesm2022/koobiq-components-title.mjs +7 -7
  458. package/fesm2022/koobiq-components-toast.mjs +28 -21
  459. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  460. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  461. package/fesm2022/koobiq-components-tooltip.mjs +23 -23
  462. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  463. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  464. package/fesm2022/koobiq-components-tree-select.mjs +57 -17
  465. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  466. package/fesm2022/koobiq-components-tree.mjs +44 -44
  467. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  468. package/fesm2022/koobiq-components-username.mjs +27 -27
  469. package/file-upload/_file-upload-theme.scss +1 -1
  470. package/file-upload/file-upload.d.ts +6 -3
  471. package/file-upload/multiple-file-upload.component.d.ts +4 -1
  472. package/file-upload/single-file-upload.component.d.ts +4 -1
  473. package/filter-bar/_filter-bar-theme.scss +2 -2
  474. package/filter-bar/filters.d.ts +1 -0
  475. package/filter-bar/pipes/base-pipe.d.ts +1 -1
  476. package/filter-bar/pipes/base-pipe.scss +3 -3
  477. package/filter-bar/pipes/pipe-date.scss +1 -0
  478. package/form-field/fieldset-tokens.scss +1 -1
  479. package/form-field/form-field-tokens.scss +1 -1
  480. package/form-field/form-field.d.ts +1 -1
  481. package/form-field/form-field.scss +8 -10
  482. package/form-field/password-toggle.d.ts +1 -1
  483. package/icon/icon.component.d.ts +2 -2
  484. package/inline-edit/index.d.ts +2 -0
  485. package/inline-edit/inline-edit-tokens.scss +8 -0
  486. package/inline-edit/inline-edit.d.ts +136 -0
  487. package/inline-edit/inline-edit.scss +208 -0
  488. package/inline-edit/module.d.ts +7 -0
  489. package/input/input-number.d.ts +1 -1
  490. package/input/input-password.d.ts +2 -2
  491. package/input/input.d.ts +2 -2
  492. package/link/link.component.d.ts +3 -3
  493. package/list/list-selection.component.d.ts +1 -1
  494. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  495. package/markdown/_markdown-theme.scss +1 -1
  496. package/markdown/markdown-tokens.scss +1 -0
  497. package/markdown/markdown.scss +8 -0
  498. package/modal/modal.component.d.ts +1 -1
  499. package/navbar/navbar-item.component.d.ts +3 -2
  500. package/navbar/navbar.component.d.ts +4 -4
  501. package/navbar/vertical-navbar.component.d.ts +2 -2
  502. package/navbar-ic/_navbar-ic-theme.scss +81 -0
  503. package/navbar-ic/index.d.ts +1 -0
  504. package/navbar-ic/navbar-ic-divider.scss +7 -0
  505. package/navbar-ic/navbar-ic-header.d.ts +18 -0
  506. package/navbar-ic/navbar-ic-header.scss +53 -0
  507. package/navbar-ic/navbar-ic-item.d.ts +125 -0
  508. package/navbar-ic/navbar-ic-item.scss +96 -0
  509. package/navbar-ic/navbar-ic-tokens.scss +22 -0
  510. package/navbar-ic/navbar-ic.animation.d.ts +2 -0
  511. package/navbar-ic/navbar-ic.d.ts +105 -0
  512. package/navbar-ic/navbar-ic.module.d.ts +14 -0
  513. package/navbar-ic/navbar-ic.scss +32 -0
  514. package/navbar-ic/public-api.d.ts +4 -0
  515. package/notification-center/_notification-center-theme.scss +27 -0
  516. package/notification-center/index.d.ts +1 -0
  517. package/notification-center/notification-center-animations.d.ts +5 -0
  518. package/notification-center/notification-center.d.ts +153 -0
  519. package/notification-center/notification-center.module.d.ts +7 -0
  520. package/notification-center/notification-center.scss +126 -0
  521. package/notification-center/notification-center.service.d.ts +72 -0
  522. package/notification-center/notification-item.d.ts +27 -0
  523. package/notification-center/notification-item.scss +157 -0
  524. package/notification-center/public-api.d.ts +4 -0
  525. package/overflow-items/overflow-items.d.ts +23 -9
  526. package/package.json +52 -10
  527. package/popover/_popover-theme.scss +6 -2
  528. package/popover/popover-tokens.scss +2 -0
  529. package/popover/popover.component.d.ts +8 -1
  530. package/popover/popover.scss +15 -7
  531. package/prebuilt-themes/dark-theme.css +1 -1
  532. package/prebuilt-themes/light-theme.css +1 -1
  533. package/prebuilt-themes/theme.css +1 -1
  534. package/schematics/ng-add/index.js +6 -6
  535. package/search-expandable/index.d.ts +1 -0
  536. package/search-expandable/public-api.d.ts +2 -0
  537. package/search-expandable/search-expandable.d.ts +70 -0
  538. package/search-expandable/search-expandable.module.d.ts +7 -0
  539. package/search-expandable/search-expandable.scss +21 -0
  540. package/select/select.component.d.ts +38 -3
  541. package/split-button/_split-button-theme.scss +59 -0
  542. package/split-button/index.d.ts +1 -0
  543. package/split-button/public-api.d.ts +2 -0
  544. package/split-button/split-button.d.ts +31 -0
  545. package/split-button/split-button.module.d.ts +7 -0
  546. package/split-button/split-button.scss +83 -0
  547. package/splitter/splitter.component.d.ts +5 -5
  548. package/tabs/paginated-tab-header.d.ts +1 -1
  549. package/tabs/tab-header.component.d.ts +2 -2
  550. package/tabs/tab-label-wrapper.directive.d.ts +2 -2
  551. package/tabs/tab-nav-bar.d.ts +3 -3
  552. package/tags/_tag-theme.scss +31 -16
  553. package/tags/tag-input.d.ts +2 -0
  554. package/tags/tag-list.component.d.ts +141 -45
  555. package/tags/tag-list.scss +16 -0
  556. package/tags/tag-tokens.scss +17 -1
  557. package/tags/tag.component.d.ts +151 -22
  558. package/tags/tag.module.d.ts +1 -1
  559. package/tags/tag.scss +27 -0
  560. package/textarea/textarea-tokens.scss +1 -1
  561. package/textarea/textarea.component.d.ts +2 -2
  562. package/time-range/constants.d.ts +8 -0
  563. package/time-range/index.d.ts +7 -0
  564. package/time-range/module.d.ts +10 -0
  565. package/time-range/time-range-editor.d.ts +67 -0
  566. package/time-range/time-range-title-as-form-field.d.ts +40 -0
  567. package/time-range/time-range-title.d.ts +18 -0
  568. package/time-range/time-range.d.ts +75 -0
  569. package/time-range/time-range.scss +66 -0
  570. package/time-range/time-range.service.d.ts +29 -0
  571. package/time-range/types.d.ts +43 -0
  572. package/timepicker/timepicker.directive.d.ts +2 -2
  573. package/toast/toast.component.d.ts +6 -4
  574. package/toast/toast.component.scss +11 -1
  575. package/toast/toast.service.d.ts +1 -0
  576. package/toast/toast.type.d.ts +1 -0
  577. package/tooltip/_tooltip-theme.scss +9 -2
  578. package/tooltip/tooltip-tokens.scss +2 -0
  579. package/tree/toggle.d.ts +1 -1
  580. package/tree/tree-base.d.ts +2 -2
  581. package/tree/tree-option.component.d.ts +1 -1
  582. package/tree/tree-selection.component.d.ts +1 -1
  583. package/tree-select/tree-select.component.d.ts +44 -3
@@ -4,39 +4,49 @@ import { ENTER } from '@koobiq/cdk/keycodes';
4
4
  import { KBQ_TAGS_DEFAULT_OPTIONS } from './tag-default-options';
5
5
  import { KbqTagInput } from './tag-input';
6
6
  import { KbqTagList } from './tag-list.component';
7
- import { KbqTag, KbqTagAvatar, KbqTagRemove, KbqTagTrailingIcon } from './tag.component';
7
+ import { KbqTag, KbqTagAvatar, KbqTagEditInput, KbqTagEditSubmit, KbqTagRemove, KbqTagTrailingIcon } from './tag.component';
8
8
  import * as i0 from "@angular/core";
9
+ const COMPONENTS = [
10
+ KbqTagEditSubmit,
11
+ KbqTagEditInput
12
+ ];
9
13
  export class KbqTagsModule {
10
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTagsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqTagsModule, declarations: [KbqTagList,
14
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTagsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqTagsModule, declarations: [KbqTagList,
12
16
  KbqTag,
13
17
  KbqTagInput,
14
18
  KbqTagTrailingIcon,
15
19
  KbqTagAvatar,
16
- KbqTagRemove], imports: [PlatformModule], exports: [KbqTagList,
20
+ KbqTagRemove], imports: [PlatformModule, KbqTagEditSubmit,
21
+ KbqTagEditInput], exports: [KbqTagList,
17
22
  KbqTag,
18
23
  KbqTagInput,
19
24
  KbqTagTrailingIcon,
20
25
  KbqTagAvatar,
21
- KbqTagRemove] }); }
22
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTagsModule, providers: [
26
+ KbqTagRemove, KbqTagEditSubmit,
27
+ KbqTagEditInput] }); }
28
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTagsModule, providers: [
23
29
  {
24
30
  provide: KBQ_TAGS_DEFAULT_OPTIONS,
25
31
  useValue: { separatorKeyCodes: [ENTER] }
26
32
  }
27
33
  ], imports: [PlatformModule] }); }
28
34
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTagsModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTagsModule, decorators: [{
30
36
  type: NgModule,
31
37
  args: [{
32
- imports: [PlatformModule],
38
+ imports: [
39
+ PlatformModule,
40
+ ...COMPONENTS
41
+ ],
33
42
  exports: [
34
43
  KbqTagList,
35
44
  KbqTag,
36
45
  KbqTagInput,
37
46
  KbqTagTrailingIcon,
38
47
  KbqTagAvatar,
39
- KbqTagRemove
48
+ KbqTagRemove,
49
+ ...COMPONENTS
40
50
  ],
41
51
  declarations: [
42
52
  KbqTagList,
@@ -54,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
54
64
  ]
55
65
  }]
56
66
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFncy90YWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQXlCLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBMkJ6RixNQUFNLE9BQU8sYUFBYTtrSUFBYixhQUFhO21JQUFiLGFBQWEsaUJBZGxCLFVBQVU7WUFDVixNQUFNO1lBQ04sV0FBVztZQUNYLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWSxhQWZOLGNBQWMsYUFFcEIsVUFBVTtZQUNWLE1BQU07WUFDTixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO21JQWlCUCxhQUFhLGFBUFg7WUFDUDtnQkFDSSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUEyQjthQUNwRTtTQUNKLFlBdEJTLGNBQWM7OzRGQXdCZixhQUFhO2tCQXpCekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLE9BQU8sRUFBRTt3QkFDTCxVQUFVO3dCQUNWLE1BQU07d0JBQ04sV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osWUFBWTtxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsVUFBVTt3QkFDVixNQUFNO3dCQUNOLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLFlBQVk7cUJBQ2Y7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSx3QkFBd0I7NEJBQ2pDLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixFQUFFLENBQUMsS0FBSyxDQUFDLEVBQTJCO3lCQUNwRTtxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRFUiB9IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEtCUV9UQUdTX0RFRkFVTFRfT1BUSU9OUywgS2JxVGFnc0RlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi90YWctZGVmYXVsdC1vcHRpb25zJztcbmltcG9ydCB7IEticVRhZ0lucHV0IH0gZnJvbSAnLi90YWctaW5wdXQnO1xuaW1wb3J0IHsgS2JxVGFnTGlzdCB9IGZyb20gJy4vdGFnLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEticVRhZywgS2JxVGFnQXZhdGFyLCBLYnFUYWdSZW1vdmUsIEticVRhZ1RyYWlsaW5nSWNvbiB9IGZyb20gJy4vdGFnLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1BsYXRmb3JtTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEticVRhZ0xpc3QsXG4gICAgICAgIEticVRhZyxcbiAgICAgICAgS2JxVGFnSW5wdXQsXG4gICAgICAgIEticVRhZ1RyYWlsaW5nSWNvbixcbiAgICAgICAgS2JxVGFnQXZhdGFyLFxuICAgICAgICBLYnFUYWdSZW1vdmVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBLYnFUYWdMaXN0LFxuICAgICAgICBLYnFUYWcsXG4gICAgICAgIEticVRhZ0lucHV0LFxuICAgICAgICBLYnFUYWdUcmFpbGluZ0ljb24sXG4gICAgICAgIEticVRhZ0F2YXRhcixcbiAgICAgICAgS2JxVGFnUmVtb3ZlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogS0JRX1RBR1NfREVGQVVMVF9PUFRJT05TLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHsgc2VwYXJhdG9yS2V5Q29kZXM6IFtFTlRFUl0gfSBhcyBLYnFUYWdzRGVmYXVsdE9wdGlvbnNcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVGFnc01vZHVsZSB7fVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFncy90YWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQXlCLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNILE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUNmLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osa0JBQWtCLEVBQ3JCLE1BQU0saUJBQWlCLENBQUM7O0FBRXpCLE1BQU0sVUFBVSxHQUFHO0lBQ2YsZ0JBQWdCO0lBQ2hCLGVBQWU7Q0FDbEIsQ0FBQztBQStCRixNQUFNLE9BQU8sYUFBYTtrSUFBYixhQUFhO21JQUFiLGFBQWEsaUJBZGxCLFVBQVU7WUFDVixNQUFNO1lBQ04sV0FBVztZQUNYLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWSxhQWxCWixjQUFjLEVBTmxCLGdCQUFnQjtZQUNoQixlQUFlLGFBU1gsVUFBVTtZQUNWLE1BQU07WUFDTixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZLEVBZmhCLGdCQUFnQjtZQUNoQixlQUFlO21JQWdDTixhQUFhLGFBUFg7WUFDUDtnQkFDSSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUEyQjthQUNwRTtTQUNKLFlBekJHLGNBQWM7OzRGQTJCVCxhQUFhO2tCQTdCekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsY0FBYzt3QkFDZCxHQUFHLFVBQVU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxVQUFVO3dCQUNWLE1BQU07d0JBQ04sV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDVixVQUFVO3dCQUNWLE1BQU07d0JBQ04sV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osWUFBWTtxQkFDZjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLHdCQUF3Qjs0QkFDakMsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBMkI7eUJBQ3BFO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhdGZvcm1Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVOVEVSIH0gZnJvbSAnQGtvb2JpcS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgS0JRX1RBR1NfREVGQVVMVF9PUFRJT05TLCBLYnFUYWdzRGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuL3RhZy1kZWZhdWx0LW9wdGlvbnMnO1xuaW1wb3J0IHsgS2JxVGFnSW5wdXQgfSBmcm9tICcuL3RhZy1pbnB1dCc7XG5pbXBvcnQgeyBLYnFUYWdMaXN0IH0gZnJvbSAnLi90YWctbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBLYnFUYWcsXG4gICAgS2JxVGFnQXZhdGFyLFxuICAgIEticVRhZ0VkaXRJbnB1dCxcbiAgICBLYnFUYWdFZGl0U3VibWl0LFxuICAgIEticVRhZ1JlbW92ZSxcbiAgICBLYnFUYWdUcmFpbGluZ0ljb25cbn0gZnJvbSAnLi90YWcuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBLYnFUYWdFZGl0U3VibWl0LFxuICAgIEticVRhZ0VkaXRJbnB1dFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBsYXRmb3JtTW9kdWxlLFxuICAgICAgICAuLi5DT01QT05FTlRTXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEticVRhZ0xpc3QsXG4gICAgICAgIEticVRhZyxcbiAgICAgICAgS2JxVGFnSW5wdXQsXG4gICAgICAgIEticVRhZ1RyYWlsaW5nSWNvbixcbiAgICAgICAgS2JxVGFnQXZhdGFyLFxuICAgICAgICBLYnFUYWdSZW1vdmUsXG4gICAgICAgIC4uLkNPTVBPTkVOVFNcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBLYnFUYWdMaXN0LFxuICAgICAgICBLYnFUYWcsXG4gICAgICAgIEticVRhZ0lucHV0LFxuICAgICAgICBLYnFUYWdUcmFpbGluZ0ljb24sXG4gICAgICAgIEticVRhZ0F2YXRhcixcbiAgICAgICAgS2JxVGFnUmVtb3ZlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogS0JRX1RBR1NfREVGQVVMVF9PUFRJT05TLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHsgc2VwYXJhdG9yS2V5Q29kZXM6IFtFTlRFUl0gfSBhcyBLYnFUYWdzRGVmYXVsdE9wdGlvbnNcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVGFnc01vZHVsZSB7fVxuIl19
@@ -119,7 +119,7 @@ export class KbqTextarea {
119
119
  this.renderer.appendChild(this.renderer.parentNode(textarea), clone);
120
120
  const outerHeight = parseInt(this.window.getComputedStyle(textarea).height, 10);
121
121
  const diff = outerHeight - +textarea.clientHeight;
122
- clone.style.minHeight = 0; // this line is important to height recalculation
122
+ clone.style.minHeight = '0'; // this line is important to height recalculation
123
123
  const height = Math.max(this.minHeight, +clone.scrollHeight + diff + this.freeRowsHeight);
124
124
  clone.remove();
125
125
  this.rowsCount = Math.floor(height / this.lineHeight);
@@ -231,10 +231,10 @@ export class KbqTextarea {
231
231
  const validity = this.elementRef.nativeElement.validity;
232
232
  return validity && validity.badInput;
233
233
  }
234
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTextarea, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: KBQ_TEXTAREA_VALUE_ACCESSOR, optional: true, self: true }, { token: KBQ_PARENT_ANIMATION_COMPONENT, host: true, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
235
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: KbqTextarea, selector: "textarea[kbqTextarea]", inputs: { canGrow: ["canGrow", "canGrow", booleanAttribute], maxRows: "maxRows", errorStateMatcher: "errorStateMatcher", disabled: "disabled", id: "id", placeholder: "placeholder", freeRowsHeight: ["freeRowsHeight", "freeRowsHeight", numberAttribute], required: "required", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "paste": "stateChanges.next()" }, properties: { "class.kbq-textarea-resizable": "!canGrow", "class.kbq-textarea_max-row-limit-reached": "maxRowLimitReached", "attr.id": "id", "attr.placeholder": "placeholder", "attr.aria-invalid": "errorState", "disabled": "disabled", "required": "required" }, classAttribute: "kbq-textarea kbq-scrollbar" }, providers: [{ provide: KbqFormFieldControl, useExisting: KbqTextarea }], exportAs: ["kbqTextarea"], usesOnChanges: true, ngImport: i0 }); }
234
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTextarea, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: KBQ_TEXTAREA_VALUE_ACCESSOR, optional: true, self: true }, { token: KBQ_PARENT_ANIMATION_COMPONENT, host: true, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
235
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: KbqTextarea, selector: "textarea[kbqTextarea]", inputs: { canGrow: ["canGrow", "canGrow", booleanAttribute], maxRows: "maxRows", errorStateMatcher: "errorStateMatcher", disabled: "disabled", id: "id", placeholder: "placeholder", freeRowsHeight: ["freeRowsHeight", "freeRowsHeight", numberAttribute], required: "required", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "paste": "stateChanges.next()" }, properties: { "class.kbq-textarea-resizable": "!canGrow", "class.kbq-textarea_max-row-limit-reached": "maxRowLimitReached", "attr.id": "id", "attr.placeholder": "placeholder", "attr.aria-invalid": "errorState", "disabled": "disabled", "required": "required" }, classAttribute: "kbq-textarea kbq-scrollbar" }, providers: [{ provide: KbqFormFieldControl, useExisting: KbqTextarea }], exportAs: ["kbqTextarea"], usesOnChanges: true, ngImport: i0 }); }
236
236
  }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTextarea, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTextarea, decorators: [{
238
238
  type: Directive,
239
239
  args: [{
240
240
  selector: 'textarea[kbqTextarea]',
@@ -297,4 +297,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
297
297
  }], value: [{
298
298
  type: Input
299
299
  }] } });
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUVULFVBQVUsRUFFVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBSWYsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUVILGlCQUFpQixFQUNqQiw4QkFBOEIsRUFDOUIsVUFBVSxFQUNiLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXZDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUFpQiw2QkFBNkIsQ0FBQyxDQUFDO0FBRTdHLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQXNCckIsTUFBTSxPQUFPLFdBQVc7SUFNcEI7cUVBQ2lFO0lBQ2pFLElBQ0ksT0FBTztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBZ0NEOzs7T0FHRztJQUNILElBQ0ksUUFBUTtRQUNSLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEtBQWE7UUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBV0Q7OztPQUdHO0lBQ0gsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRUQ7b0VBQ2dFO0lBQ2hFLElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pDLENBQUM7SUFlRCxZQUNjLFVBQXNCLEVBQ0wsU0FBb0IsRUFDNUIsVUFBa0IsRUFDbEIsZUFBbUMsRUFDL0Msd0JBQTJDLEVBQ08sa0JBQXVCLEVBQ1osTUFBVyxFQUN2RSxNQUFjO1FBUFosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNMLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDL0MsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFtQjtRQUVrQixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBQ3ZFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoSjFCLGtEQUFrRDtRQUNsRCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBYVQsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdkMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJDLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFRakM7OztXQUdHO1FBQ0gsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6Qjs7O1dBR0c7UUFDTSxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTNEOzs7V0FHRztRQUNILGdCQUFXLEdBQVcsVUFBVSxDQUFDO1FBaUZ2QixRQUFHLEdBQUcsZ0JBQWdCLFlBQVksRUFBRSxFQUFFLENBQUM7UUFFekMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBS2xCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQThGOUIscURBQXFEO1FBQ3JELFNBQUksR0FBRyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFFOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO2dCQUUvQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV4QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFFckUsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRixNQUFNLElBQUksR0FBRyxXQUFXLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO2dCQUVsRCxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpREFBaUQ7Z0JBRTVFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFMUYsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUV0RCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQzNCLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUM7Z0JBQzdDLENBQUM7cUJBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDdEQseURBQXlEO29CQUN6RCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDO2dCQUNyRSxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUE5R0UsNkZBQTZGO1FBQzdGLFlBQVk7UUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRXpFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXRDLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFbEIsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFNUIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV4RyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFjLEVBQzFFLEVBQUUsQ0FDTCxDQUFDO1lBRUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsR0FBRyxhQUFhLENBQUM7WUFDOUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLHNGQUFzRjtZQUN0Rix1RkFBdUY7WUFDdkYsNkZBQTZGO1lBQzdGLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFFRCx3RkFBd0Y7UUFDeEYsdUZBQXVGO1FBQ3ZGLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUN4RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQThCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN2RixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV2RCxJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBRXZDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxhQUFzQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNMLENBQUM7SUFpQ0QsNEJBQTRCO0lBQzVCLEtBQUs7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsOEVBQThFO0lBQzlFLFlBQVksQ0FBQyxTQUFrQjtRQUMzQixJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksS0FBSztRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQjtRQUNaLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsK0VBQStFO0lBQ3JFLHFCQUFxQjtRQUMzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELDZFQUE2RTtJQUNuRSxVQUFVO1FBQ2hCLCtEQUErRDtRQUMvRCxNQUFNLFFBQVEsR0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQXFDLENBQUMsUUFBUSxDQUFDO1FBRWpGLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztrSUFsVFEsV0FBVywwTkFpSlksMkJBQTJCLHlDQUMzQiw4QkFBOEI7c0hBbEpyRCxXQUFXLCtFQVFBLGdCQUFnQixnTEFpRmhCLGVBQWUscWRBM0Z4QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQzs7NEZBRTlELFdBQVc7a0JBcEJ2QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLDRCQUE0Qjt3QkFDbkMsZ0NBQWdDLEVBQUUsVUFBVTt3QkFDNUMsNENBQTRDLEVBQUUsb0JBQW9CO3dCQUVsRSxXQUFXLEVBQUUsSUFBSTt3QkFDakIsb0JBQW9CLEVBQUUsYUFBYTt3QkFDbkMscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLFlBQVksRUFBRSxVQUFVO3dCQUV4QixRQUFRLEVBQUUsVUFBVTt3QkFDcEIsU0FBUyxFQUFFLG9CQUFvQjt3QkFDL0IsU0FBUyxFQUFFLHFCQUFxQjtxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxhQUFhLEVBQUUsQ0FBQztpQkFDMUU7OzBCQThJUSxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBRVIsUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksTUFBTTsyQkFBQywyQkFBMkI7OzBCQUN0RCxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLDhCQUE4Qjs4REF6STFELE9BQU87c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFnQjdCLE9BQU87c0JBQWYsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBeUJGLFFBQVE7c0JBRFgsS0FBSztnQkF1QkYsRUFBRTtzQkFETCxLQUFLO2dCQWFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR2lDLGNBQWM7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQU9qQyxRQUFRO3NCQURYLEtBQUs7Z0JBY0YsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0LFxuICAgIGluamVjdCxcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdDb250cm9sLCBOZ0Zvcm0sIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQ2FuVXBkYXRlRXJyb3JTdGF0ZSxcbiAgICBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICBLQlFfUEFSRU5UX0FOSU1BVElPTl9DT01QT05FTlQsXG4gICAgS0JRX1dJTkRPV1xufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IEtCUV9URVhUQVJFQV9WQUxVRV9BQ0NFU1NPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjx7IHZhbHVlOiBhbnkgfT4oJ0tCUV9URVhUQVJFQV9WQUxVRV9BQ0NFU1NPUicpO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0ZXh0YXJlYVtrYnFUZXh0YXJlYV0nLFxuICAgIGV4cG9ydEFzOiAna2JxVGV4dGFyZWEnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdGV4dGFyZWEga2JxLXNjcm9sbGJhcicsXG4gICAgICAgICdbY2xhc3Mua2JxLXRleHRhcmVhLXJlc2l6YWJsZV0nOiAnIWNhbkdyb3cnLFxuICAgICAgICAnW2NsYXNzLmticS10ZXh0YXJlYV9tYXgtcm93LWxpbWl0LXJlYWNoZWRdJzogJ21heFJvd0xpbWl0UmVhY2hlZCcsXG5cbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5wbGFjZWhvbGRlcl0nOiAncGxhY2Vob2xkZXInLFxuICAgICAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdlcnJvclN0YXRlJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW3JlcXVpcmVkXSc6ICdyZXF1aXJlZCcsXG5cbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoKScsXG4gICAgICAgICcoZm9jdXMpJzogJ2ZvY3VzQ2hhbmdlZCh0cnVlKScsXG4gICAgICAgICcocGFzdGUpJzogJ3N0YXRlQ2hhbmdlcy5uZXh0KCknXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEticUZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBLYnFUZXh0YXJlYSB9XVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUZXh0YXJlYVxuICAgIGltcGxlbWVudHMgS2JxRm9ybUZpZWxkQ29udHJvbDxhbnk+LCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBEb0NoZWNrLCBDYW5VcGRhdGVFcnJvclN0YXRlXG57XG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBpbiBhbiBlcnJvciBzdGF0ZS4gKi9cbiAgICBlcnJvclN0YXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogUGFyYW1ldGVyIGVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGFiaWxpdHkgdG8gYXV0b21hdGljYWxseSBpbmNyZWFzZSB0aGUgaGVpZ2h0LlxuICAgICAqIElmIHNldCB0byBmYWxzZSwgdGhlIHRleHRhcmVhIGJlY29tZXMgdmVydGljYWxseSByZXNpemFibGUuICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ2V0IGNhbkdyb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tYXhSb3dMaW1pdFJlYWNoZWQgJiYgdGhpcy5fY2FuR3JvdztcbiAgICB9XG5cbiAgICBzZXQgY2FuR3Jvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9jYW5Hcm93ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQnJvd3NlciA9IGluamVjdChQbGF0Zm9ybSkuaXNCcm93c2VyO1xuICAgIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93ID0gaW5qZWN0KEtCUV9XSU5ET1cpO1xuXG4gICAgcHJpdmF0ZSBfY2FuR3JvdzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdG8gd2hpY2ggdGhlIHRleHRhcmVhIHdpbGwgZ3Jvdy4gRGVmYXVsdCB1bmxpbWl0ZWQgKi9cbiAgICBASW5wdXQoKSBtYXhSb3dzOiBudW1iZXI7XG5cbiAgICAvKiogQW4gb2JqZWN0IHVzZWQgdG8gY29udHJvbCB3aGVuIGVycm9yIG1lc3NhZ2VzIGFyZSBzaG93bi4gKi9cbiAgICBASW5wdXQoKSBlcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXI7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgY29udHJvbFR5cGU6IHN0cmluZyA9ICd0ZXh0YXJlYSc7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLnVpZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgICAvKiogRGlzdGFuY2UgZnJvbSB0aGUgbGFzdCBsaW5lIHRvIHRoZSBib3R0b20gYm9yZGVyICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgZnJlZVJvd3NIZWlnaHQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgICB9XG5cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVBY2Nlc3Nvci52YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVBY2Nlc3Nvci52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEZsYWcgdGhhdCB3aWxsIGJlIHNldCB0byB0cnVlIHdoZW4gdGhlIG1heGltdW0gbnVtYmVyIG9mIGxpbmVzIGlzIHJlYWNoZWQuXG4gICAgICogTWF4aW11bSBudW1iZXIgb2Ygcm93cyBjYW4gYmUgc2V0IHVzaW5nIHRoZSBtYXhSb3dzIGlucHV0LiAqL1xuICAgIGdldCBtYXhSb3dMaW1pdFJlYWNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvd3NDb3VudCA+IHRoaXMubWF4Um93cztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdWlkID0gYGticS10ZXh0YXJlYS0ke25leHRVbmlxdWVJZCsrfWA7XG4gICAgcHJvdGVjdGVkIHByZXZpb3VzTmF0aXZlVmFsdWU6IGFueTtcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgdmFsdWVBY2Nlc3NvcjogeyB2YWx1ZTogYW55IH07XG4gICAgcHJpdmF0ZSBncm93U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIGxpbmVIZWlnaHQ6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSBtaW5IZWlnaHQ6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSByb3dzQ291bnQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyBwYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyBwYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICAgICAgcHVibGljIGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgQEluamVjdChLQlFfVEVYVEFSRUFfVkFMVUVfQUNDRVNTT1IpIGlucHV0VmFsdWVBY2Nlc3NvcjogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIEBJbmplY3QoS0JRX1BBUkVOVF9BTklNQVRJT05fQ09NUE9ORU5UKSBwcml2YXRlIHBhcmVudDogYW55LFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIC8vIElmIG5vIGlucHV0IHZhbHVlIGFjY2Vzc29yIHdhcyBleHBsaWNpdGx5IHNwZWNpZmllZCwgdXNlIHRoZSBlbGVtZW50IGFzIHRoZSB0ZXh0YXJlYSB2YWx1ZVxuICAgICAgICAvLyBhY2Nlc3Nvci5cbiAgICAgICAgdGhpcy52YWx1ZUFjY2Vzc29yID0gaW5wdXRWYWx1ZUFjY2Vzc29yIHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMucHJldmlvdXNOYXRpdmVWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgLy8gRm9yY2Ugc2V0dGVyIHRvIGJlIGNhbGxlZCBpbiBjYXNlIGlkIHdhcyBub3Qgc3BlY2lmaWVkLlxuICAgICAgICB0aGlzLmlkID0gdGhpcy5pZDtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWxpZmVjeWNsZS1jYWxsXG4gICAgICAgIHRoaXMucGFyZW50Py5hbmltYXRpb25Eb25lLnN1YnNjcmliZSgoKSA9PiB0aGlzLm5nT25Jbml0KCkpO1xuXG4gICAgICAgIHRoaXMuZ3Jvd1N1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVDaGFuZ2VzLnBpcGUoZGVsYXkoMCkpLnN1YnNjcmliZSh0aGlzLmdyb3cpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSByZXR1cm47XG5cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpbmVIZWlnaHQgPSBwYXJzZUludCh0aGlzLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5saW5lSGVpZ2h0ISwgMTApO1xuXG4gICAgICAgICAgICBjb25zdCBwYWRkaW5nVG9wID0gcGFyc2VJbnQodGhpcy53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGFkZGluZ1RvcCEsIDEwKTtcbiAgICAgICAgICAgIGNvbnN0IHBhZGRpbmdCb3R0b20gPSBwYXJzZUludChcbiAgICAgICAgICAgICAgICB0aGlzLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5wYWRkaW5nQm90dG9tISxcbiAgICAgICAgICAgICAgICAxMFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdGhpcy5taW5IZWlnaHQgPSB0aGlzLmxpbmVIZWlnaHQgKyBwYWRkaW5nVG9wICsgcGFkZGluZ0JvdHRvbTtcbiAgICAgICAgICAgIHRoaXMuZnJlZVJvd3NIZWlnaHQgPSB0aGlzLmZyZWVSb3dzSGVpZ2h0ID8/IHRoaXMubGluZUhlaWdodDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc2V0VGltZW91dCh0aGlzLmdyb3csIDApO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuZ3Jvd1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHJlLWV2YWx1YXRlIHRoaXMgb24gZXZlcnkgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSwgYmVjYXVzZSB0aGVyZSBhcmUgc29tZVxuICAgICAgICAgICAgLy8gZXJyb3IgdHJpZ2dlcnMgdGhhdCB3ZSBjYW4ndCBzdWJzY3JpYmUgdG8gKGUuZy4gcGFyZW50IGZvcm0gc3VibWlzc2lvbnMpLiBUaGlzIG1lYW5zXG4gICAgICAgICAgICAvLyB0aGF0IHdoYXRldmVyIGxvZ2ljIGlzIGluIGhlcmUgaGFzIHRvIGJlIHN1cGVyIGxlYW4gb3Igd2UgcmlzayBkZXN0cm95aW5nIHRoZSBwZXJmb3JtYW5jZS5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2UgbmVlZCB0byBkaXJ0eS1jaGVjayB0aGUgbmF0aXZlIGVsZW1lbnQncyB2YWx1ZSwgYmVjYXVzZSB0aGVyZSBhcmUgc29tZSBjYXNlcyB3aGVyZVxuICAgICAgICAvLyB3ZSB3b24ndCBiZSBub3RpZmllZCB3aGVuIGl0IGNoYW5nZXMgKGUuZy4gdGhlIGNvbnN1bWVyIGlzbid0IHVzaW5nIGZvcm1zIG9yIHRoZXkncmVcbiAgICAgICAgLy8gdXBkYXRpbmcgdGhlIHZhbHVlIHVzaW5nIGBlbWl0RXZlbnQ6IGZhbHNlYCkuXG4gICAgICAgIHRoaXMuZGlydHlDaGVja05hdGl2ZVZhbHVlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlRXJyb3JTdGF0ZSgpIHtcbiAgICAgICAgY29uc3Qgb2xkU3RhdGUgPSB0aGlzLmVycm9yU3RhdGU7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMucGFyZW50Rm9ybUdyb3VwIHx8IHRoaXMucGFyZW50Rm9ybTtcbiAgICAgICAgY29uc3QgbWF0Y2hlciA9IHRoaXMuZXJyb3JTdGF0ZU1hdGNoZXIgfHwgdGhpcy5kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbCA/ICh0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbCkgOiBudWxsO1xuICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IG1hdGNoZXIuaXNFcnJvclN0YXRlKGNvbnRyb2wsIHBhcmVudCk7XG5cbiAgICAgICAgaWYgKG5ld1N0YXRlICE9PSBvbGRTdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5lcnJvclN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNDaGFuZ2VkKGZhbHNlKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sO1xuXG4gICAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgKGNvbnRyb2wuc3RhdHVzQ2hhbmdlcyBhcyBFdmVudEVtaXR0ZXI8c3RyaW5nPikuZW1pdChjb250cm9sLnN0YXR1cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogR3JvdyB0ZXh0YXJlYSBoZWlnaHQgdG8gYXZvaWQgdmVydGljYWwgc2Nyb2xsICAqL1xuICAgIGdyb3cgPSAoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc0Jyb3dzZXIgfHwgIXRoaXMuX2Nhbkdyb3cpIHJldHVybjtcblxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICBjb25zdCBjbG9uZSA9IHRleHRhcmVhLmNsb25lTm9kZShmYWxzZSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRleHRhcmVhKSwgY2xvbmUpO1xuXG4gICAgICAgICAgICBjb25zdCBvdXRlckhlaWdodCA9IHBhcnNlSW50KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodGV4dGFyZWEpLmhlaWdodCEsIDEwKTtcbiAgICAgICAgICAgIGNvbnN0IGRpZmYgPSBvdXRlckhlaWdodCAtICt0ZXh0YXJlYS5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgICAgIGNsb25lLnN0eWxlLm1pbkhlaWdodCA9IDA7IC8vIHRoaXMgbGluZSBpcyBpbXBvcnRhbnQgdG8gaGVpZ2h0IHJlY2FsY3VsYXRpb25cblxuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5tYXgodGhpcy5taW5IZWlnaHQsICtjbG9uZS5zY3JvbGxIZWlnaHQgKyBkaWZmICsgdGhpcy5mcmVlUm93c0hlaWdodCk7XG5cbiAgICAgICAgICAgIGNsb25lLnJlbW92ZSgpO1xuXG4gICAgICAgICAgICB0aGlzLnJvd3NDb3VudCA9IE1hdGguZmxvb3IoaGVpZ2h0IC8gdGhpcy5saW5lSGVpZ2h0KTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm1heFJvd0xpbWl0UmVhY2hlZCkge1xuICAgICAgICAgICAgICAgIHRleHRhcmVhLnN0eWxlLm1pbkhlaWdodCA9IGAke2hlaWdodH1weGA7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgJiYgdGhpcy5saW5lSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgLy8gbmVlZCBmb3IgZmlyc3QgaW5pdGlhbGl6YXRpb24gd2hlbiB2YWx1ZSBhYm92ZSBtYXhSb3dzXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEuc3R5bGUubWluSGVpZ2h0ID0gYCR7dGhpcy5tYXhSb3dzICogdGhpcy5saW5lSGVpZ2h0fXB4YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKiBGb2N1c2VzIHRoZSB0ZXh0YXJlYS4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQ2FsbGJhY2sgZm9yIHRoZSBjYXNlcyB3aGVyZSB0aGUgZm9jdXNlZCBzdGF0ZSBvZiB0aGUgdGV4dGFyZWEgY2hhbmdlcy4gKi9cbiAgICBmb2N1c0NoYW5nZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpc0ZvY3VzZWQgIT09IHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgJiYgIXRoaXMuaXNCYWRJbnB1dCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgb25Db250YWluZXJDbGljaygpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBEb2VzIHNvbWUgbWFudWFsIGRpcnR5IGNoZWNraW5nIG9uIHRoZSBuYXRpdmUgdGV4dGFyZWEgYHZhbHVlYCBwcm9wZXJ0eS4gKi9cbiAgICBwcm90ZWN0ZWQgZGlydHlDaGVja05hdGl2ZVZhbHVlKCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMucHJldmlvdXNOYXRpdmVWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNOYXRpdmVWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSB0ZXh0YXJlYSBpcyBpbnZhbGlkIGJhc2VkIG9uIHRoZSBuYXRpdmUgdmFsaWRhdGlvbi4gKi9cbiAgICBwcm90ZWN0ZWQgaXNCYWRJbnB1dCgpOiBib29sZWFuIHtcbiAgICAgICAgLy8gVGhlIGB2YWxpZGl0eWAgcHJvcGVydHkgd29uJ3QgYmUgcHJlc2VudCBvbiBwbGF0Zm9ybS1zZXJ2ZXIuXG4gICAgICAgIGNvbnN0IHZhbGlkaXR5ID0gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbGlkaXR5O1xuXG4gICAgICAgIHJldHVybiB2YWxpZGl0eSAmJiB2YWxpZGl0eS5iYWRJbnB1dDtcbiAgICB9XG59XG4iXX0=
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUVULFVBQVUsRUFFVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBSWYsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUVILGlCQUFpQixFQUNqQiw4QkFBOEIsRUFDOUIsVUFBVSxFQUNiLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXZDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUFpQiw2QkFBNkIsQ0FBQyxDQUFDO0FBRTdHLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQXNCckIsTUFBTSxPQUFPLFdBQVc7SUFNcEI7cUVBQ2lFO0lBQ2pFLElBQ0ksT0FBTztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxDQUFDO0lBRUQs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bmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgRGlyZWN0aXZlLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdCxcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIENhblVwZGF0ZUVycm9yU3RhdGUsXG4gICAgRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgS0JRX1BBUkVOVF9BTklNQVRJT05fQ09NUE9ORU5ULFxuICAgIEtCUV9XSU5ET1dcbn0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBLQlFfVEVYVEFSRUFfVkFMVUVfQUNDRVNTT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48eyB2YWx1ZTogYW55IH0+KCdLQlFfVEVYVEFSRUFfVkFMVUVfQUNDRVNTT1InKTtcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAndGV4dGFyZWFba2JxVGV4dGFyZWFdJyxcbiAgICBleHBvcnRBczogJ2ticVRleHRhcmVhJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRleHRhcmVhIGticS1zY3JvbGxiYXInLFxuICAgICAgICAnW2NsYXNzLmticS10ZXh0YXJlYS1yZXNpemFibGVdJzogJyFjYW5Hcm93JyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGV4dGFyZWFfbWF4LXJvdy1saW1pdC1yZWFjaGVkXSc6ICdtYXhSb3dMaW1pdFJlYWNoZWQnLFxuXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIucGxhY2Vob2xkZXJdJzogJ3BsYWNlaG9sZGVyJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtaW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAgICAgJ1tyZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1c0NoYW5nZWQodHJ1ZSknLFxuICAgICAgICAnKHBhc3RlKSc6ICdzdGF0ZUNoYW5nZXMubmV4dCgpJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBLYnFGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogS2JxVGV4dGFyZWEgfV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVGV4dGFyZWFcbiAgICBpbXBsZW1lbnRzIEticUZvcm1GaWVsZENvbnRyb2w8YW55PiwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgRG9DaGVjaywgQ2FuVXBkYXRlRXJyb3JTdGF0ZVxue1xuICAgIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgaW4gYW4gZXJyb3Igc3RhdGUuICovXG4gICAgZXJyb3JTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFBhcmFtZXRlciBlbmFibGVzIG9yIGRpc2FibGVzIHRoZSBhYmlsaXR5IHRvIGF1dG9tYXRpY2FsbHkgaW5jcmVhc2UgdGhlIGhlaWdodC5cbiAgICAgKiBJZiBzZXQgdG8gZmFsc2UsIHRoZSB0ZXh0YXJlYSBiZWNvbWVzIHZlcnRpY2FsbHkgcmVzaXphYmxlLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGdldCBjYW5Hcm93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubWF4Um93TGltaXRSZWFjaGVkICYmIHRoaXMuX2Nhbkdyb3c7XG4gICAgfVxuXG4gICAgc2V0IGNhbkdyb3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fY2FuR3JvdyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0Jyb3dzZXIgPSBpbmplY3QoUGxhdGZvcm0pLmlzQnJvd3NlcjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdyA9IGluamVjdChLQlFfV0lORE9XKTtcblxuICAgIHByaXZhdGUgX2Nhbkdyb3c6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRvIHdoaWNoIHRoZSB0ZXh0YXJlYSB3aWxsIGdyb3cuIERlZmF1bHQgdW5saW1pdGVkICovXG4gICAgQElucHV0KCkgbWF4Um93czogbnVtYmVyO1xuXG4gICAgLyoqIEFuIG9iamVjdCB1c2VkIHRvIGNvbnRyb2wgd2hlbiBlcnJvciBtZXNzYWdlcyBhcmUgc2hvd24uICovXG4gICAgQElucHV0KCkgZXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyO1xuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGNvbnRyb2xUeXBlOiBzdHJpbmcgPSAndGV4dGFyZWEnO1xuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLmRpc2FibGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH1cblxuICAgIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy51aWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqIERpc3RhbmNlIGZyb20gdGhlIGxhc3QgbGluZSB0byB0aGUgYm90dG9tIGJvcmRlciAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGZyZWVSb3dzSGVpZ2h0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlQWNjZXNzb3IudmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQWNjZXNzb3IudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBGbGFnIHRoYXQgd2lsbCBiZSBzZXQgdG8gdHJ1ZSB3aGVuIHRoZSBtYXhpbXVtIG51bWJlciBvZiBsaW5lcyBpcyByZWFjaGVkLlxuICAgICAqIE1heGltdW0gbnVtYmVyIG9mIHJvd3MgY2FuIGJlIHNldCB1c2luZyB0aGUgbWF4Um93cyBpbnB1dC4gKi9cbiAgICBnZXQgbWF4Um93TGltaXRSZWFjaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3dzQ291bnQgPiB0aGlzLm1heFJvd3M7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVpZCA9IGBrYnEtdGV4dGFyZWEtJHtuZXh0VW5pcXVlSWQrK31gO1xuICAgIHByb3RlY3RlZCBwcmV2aW91c05hdGl2ZVZhbHVlOiBhbnk7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pZDogc3RyaW5nO1xuICAgIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHZhbHVlQWNjZXNzb3I6IHsgdmFsdWU6IGFueSB9O1xuICAgIHByaXZhdGUgZ3Jvd1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBsaW5lSGVpZ2h0OiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgbWluSGVpZ2h0OiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgcm93c0NvdW50OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgcGFyZW50Rm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgICAgIHB1YmxpYyBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIEBJbmplY3QoS0JRX1RFWFRBUkVBX1ZBTFVFX0FDQ0VTU09SKSBpbnB1dFZhbHVlQWNjZXNzb3I6IGFueSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBASW5qZWN0KEtCUV9QQVJFTlRfQU5JTUFUSU9OX0NPTVBPTkVOVCkgcHJpdmF0ZSBwYXJlbnQ6IGFueSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge1xuICAgICAgICAvLyBJZiBubyBpbnB1dCB2YWx1ZSBhY2Nlc3NvciB3YXMgZXhwbGljaXRseSBzcGVjaWZpZWQsIHVzZSB0aGUgZWxlbWVudCBhcyB0aGUgdGV4dGFyZWEgdmFsdWVcbiAgICAgICAgLy8gYWNjZXNzb3IuXG4gICAgICAgIHRoaXMudmFsdWVBY2Nlc3NvciA9IGlucHV0VmFsdWVBY2Nlc3NvciB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB0aGlzLnByZXZpb3VzTmF0aXZlVmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgICAgIC8vIEZvcmNlIHNldHRlciB0byBiZSBjYWxsZWQgaW4gY2FzZSBpZCB3YXMgbm90IHNwZWNpZmllZC5cbiAgICAgICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1saWZlY3ljbGUtY2FsbFxuICAgICAgICB0aGlzLnBhcmVudD8uYW5pbWF0aW9uRG9uZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uZ09uSW5pdCgpKTtcblxuICAgICAgICB0aGlzLmdyb3dTdWJzY3JpcHRpb24gPSB0aGlzLnN0YXRlQ2hhbmdlcy5waXBlKGRlbGF5KDApKS5zdWJzY3JpYmUodGhpcy5ncm93KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQnJvd3NlcikgcmV0dXJuO1xuXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5saW5lSGVpZ2h0ID0gcGFyc2VJbnQodGhpcy53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkubGluZUhlaWdodCEsIDEwKTtcblxuICAgICAgICAgICAgY29uc3QgcGFkZGluZ1RvcCA9IHBhcnNlSW50KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBhZGRpbmdUb3AhLCAxMCk7XG4gICAgICAgICAgICBjb25zdCBwYWRkaW5nQm90dG9tID0gcGFyc2VJbnQoXG4gICAgICAgICAgICAgICAgdGhpcy53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGFkZGluZ0JvdHRvbSEsXG4gICAgICAgICAgICAgICAgMTBcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMubWluSGVpZ2h0ID0gdGhpcy5saW5lSGVpZ2h0ICsgcGFkZGluZ1RvcCArIHBhZGRpbmdCb3R0b207XG4gICAgICAgICAgICB0aGlzLmZyZWVSb3dzSGVpZ2h0ID0gdGhpcy5mcmVlUm93c0hlaWdodCA/PyB0aGlzLmxpbmVIZWlnaHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQodGhpcy5ncm93LCAwKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmdyb3dTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgLy8gV2UgbmVlZCB0byByZS1ldmFsdWF0ZSB0aGlzIG9uIGV2ZXJ5IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUsIGJlY2F1c2UgdGhlcmUgYXJlIHNvbWVcbiAgICAgICAgICAgIC8vIGVycm9yIHRyaWdnZXJzIHRoYXQgd2UgY2FuJ3Qgc3Vic2NyaWJlIHRvIChlLmcuIHBhcmVudCBmb3JtIHN1Ym1pc3Npb25zKS4gVGhpcyBtZWFuc1xuICAgICAgICAgICAgLy8gdGhhdCB3aGF0ZXZlciBsb2dpYyBpcyBpbiBoZXJlIGhhcyB0byBiZSBzdXBlciBsZWFuIG9yIHdlIHJpc2sgZGVzdHJveWluZyB0aGUgcGVyZm9ybWFuY2UuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVycm9yU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gZGlydHktY2hlY2sgdGhlIG5hdGl2ZSBlbGVtZW50J3MgdmFsdWUsIGJlY2F1c2UgdGhlcmUgYXJlIHNvbWUgY2FzZXMgd2hlcmVcbiAgICAgICAgLy8gd2Ugd29uJ3QgYmUgbm90aWZpZWQgd2hlbiBpdCBjaGFuZ2VzIChlLmcuIHRoZSBjb25zdW1lciBpc24ndCB1c2luZyBmb3JtcyBvciB0aGV5J3JlXG4gICAgICAgIC8vIHVwZGF0aW5nIHRoZSB2YWx1ZSB1c2luZyBgZW1pdEV2ZW50OiBmYWxzZWApLlxuICAgICAgICB0aGlzLmRpcnR5Q2hlY2tOYXRpdmVWYWx1ZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUVycm9yU3RhdGUoKSB7XG4gICAgICAgIGNvbnN0IG9sZFN0YXRlID0gdGhpcy5lcnJvclN0YXRlO1xuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnBhcmVudEZvcm1Hcm91cCB8fCB0aGlzLnBhcmVudEZvcm07XG4gICAgICAgIGNvbnN0IG1hdGNoZXIgPSB0aGlzLmVycm9yU3RhdGVNYXRjaGVyIHx8IHRoaXMuZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5uZ0NvbnRyb2wgPyAodGhpcy5uZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2wpIDogbnVsbDtcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBtYXRjaGVyLmlzRXJyb3JTdGF0ZShjb250cm9sLCBwYXJlbnQpO1xuXG4gICAgICAgIGlmIChuZXdTdGF0ZSAhPT0gb2xkU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzQ2hhbmdlZChmYWxzZSk7XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sPy5jb250cm9sKSB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5uZ0NvbnRyb2wuY29udHJvbDtcblxuICAgICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIChjb250cm9sLnN0YXR1c0NoYW5nZXMgYXMgRXZlbnRFbWl0dGVyPHN0cmluZz4pLmVtaXQoY29udHJvbC5zdGF0dXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdyb3cgdGV4dGFyZWEgaGVpZ2h0IHRvIGF2b2lkIHZlcnRpY2FsIHNjcm9sbCAgKi9cbiAgICBncm93ID0gKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyIHx8ICF0aGlzLl9jYW5Hcm93KSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgY2xvbmUgPSB0ZXh0YXJlYS5jbG9uZU5vZGUoZmFsc2UpIGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRleHRhcmVhKSwgY2xvbmUpO1xuXG4gICAgICAgICAgICBjb25zdCBvdXRlckhlaWdodCA9IHBhcnNlSW50KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodGV4dGFyZWEpLmhlaWdodCEsIDEwKTtcbiAgICAgICAgICAgIGNvbnN0IGRpZmYgPSBvdXRlckhlaWdodCAtICt0ZXh0YXJlYS5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgICAgIGNsb25lLnN0eWxlLm1pbkhlaWdodCA9ICcwJzsgLy8gdGhpcyBsaW5lIGlzIGltcG9ydGFudCB0byBoZWlnaHQgcmVjYWxjdWxhdGlvblxuXG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBNYXRoLm1heCh0aGlzLm1pbkhlaWdodCwgK2Nsb25lLnNjcm9sbEhlaWdodCArIGRpZmYgKyB0aGlzLmZyZWVSb3dzSGVpZ2h0KTtcblxuICAgICAgICAgICAgY2xvbmUucmVtb3ZlKCk7XG5cbiAgICAgICAgICAgIHRoaXMucm93c0NvdW50ID0gTWF0aC5mbG9vcihoZWlnaHQgLyB0aGlzLmxpbmVIZWlnaHQpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMubWF4Um93TGltaXRSZWFjaGVkKSB7XG4gICAgICAgICAgICAgICAgdGV4dGFyZWEuc3R5bGUubWluSGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRleHRhcmVhLnN0eWxlLm1pbkhlaWdodCAmJiB0aGlzLmxpbmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAvLyBuZWVkIGZvciBmaXJzdCBpbml0aWFsaXphdGlvbiB3aGVuIHZhbHVlIGFib3ZlIG1heFJvd3NcbiAgICAgICAgICAgICAgICB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgPSBgJHt0aGlzLm1heFJvd3MgKiB0aGlzLmxpbmVIZWlnaHR9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyoqIEZvY3VzZXMgdGhlIHRleHRhcmVhLiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBDYWxsYmFjayBmb3IgdGhlIGNhc2VzIHdoZXJlIHRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSB0ZXh0YXJlYSBjaGFuZ2VzLiAqL1xuICAgIGZvY3VzQ2hhbmdlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGlzRm9jdXNlZCAhPT0gdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSAmJiAhdGhpcy5pc0JhZElucHV0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBvbkNvbnRhaW5lckNsaWNrKCkge1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERvZXMgc29tZSBtYW51YWwgZGlydHkgY2hlY2tpbmcgb24gdGhlIG5hdGl2ZSB0ZXh0YXJlYSBgdmFsdWVgIHByb3BlcnR5LiAqL1xuICAgIHByb3RlY3RlZCBkaXJ0eUNoZWNrTmF0aXZlVmFsdWUoKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5wcmV2aW91c05hdGl2ZVZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c05hdGl2ZVZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIHRleHRhcmVhIGlzIGludmFsaWQgYmFzZWQgb24gdGhlIG5hdGl2ZSB2YWxpZGF0aW9uLiAqL1xuICAgIHByb3RlY3RlZCBpc0JhZElucHV0KCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBUaGUgYHZhbGlkaXR5YCBwcm9wZXJ0eSB3b24ndCBiZSBwcmVzZW50IG9uIHBsYXRmb3JtLXNlcnZlci5cbiAgICAgICAgY29uc3QgdmFsaWRpdHkgPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsaWRpdHk7XG5cbiAgICAgICAgcmV0dXJuIHZhbGlkaXR5ICYmIHZhbGlkaXR5LmJhZElucHV0O1xuICAgIH1cbn1cbiJdfQ==
@@ -4,11 +4,11 @@ import { FormsModule } from '@angular/forms';
4
4
  import { KbqTextarea } from './textarea.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class KbqTextareaModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqTextareaModule, declarations: [KbqTextarea], imports: [A11yModule, FormsModule], exports: [KbqTextarea] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTextareaModule, imports: [A11yModule, FormsModule] }); }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqTextareaModule, declarations: [KbqTextarea], imports: [A11yModule, FormsModule], exports: [KbqTextarea] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTextareaModule, imports: [A11yModule, FormsModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqTextareaModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTextareaModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [A11yModule, FormsModule],
@@ -0,0 +1,21 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /** Preset of selectable time ranges, provided by DI. */
3
+ export const KBQ_DEFAULT_TIME_RANGE_TYPES = new InjectionToken('KBQ_DEFAULT_TIME_RANGE_TYPES');
4
+ export function createMissingDateImplError(componentName, provider) {
5
+ return Error(`${componentName}: No provider found for ${provider}. You must import one of the existing ` +
6
+ `modules at your application root or provide a custom implementation or use exists ones.`);
7
+ }
8
+ export const rangeValidator = (timeRangeService) => {
9
+ return (control) => {
10
+ const form = control.value;
11
+ if (!form.fromTime || !form.fromDate || !form.toTime || !form.toDate) {
12
+ return null;
13
+ }
14
+ const fromDateTime = timeRangeService.combineDateAndTime(form.fromDate, form.fromTime);
15
+ const toDateTime = timeRangeService.combineDateAndTime(form.toDate, form.toTime);
16
+ return timeRangeService.dateAdapter.compareDate(fromDateTime, toDateTime) > 0
17
+ ? { fromIsGreaterThanTo: fromDateTime }
18
+ : null;
19
+ };
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90aW1lLXJhbmdlL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9DLHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsOEJBQThCLENBQUMsQ0FBQztBQUVuSCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsYUFBcUIsRUFBRSxRQUFnQjtJQUM5RSxPQUFPLEtBQUssQ0FDUixHQUFHLGFBQWEsMkJBQTJCLFFBQVEsd0NBQXdDO1FBQ3ZGLHlGQUF5RixDQUNoRyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFJLGdCQUF3QyxFQUFlLEVBQUU7SUFDdkYsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtRQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkUsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpGLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUN6RSxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUU7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNmLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2JxVGltZVJhbmdlU2VydmljZSB9IGZyb20gJy4vdGltZS1yYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IEticVRpbWVSYW5nZVR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqIFByZXNldCBvZiBzZWxlY3RhYmxlIHRpbWUgcmFuZ2VzLCBwcm92aWRlZCBieSBESS4gKi9cbmV4cG9ydCBjb25zdCBLQlFfREVGQVVMVF9USU1FX1JBTkdFX1RZUEVTID0gbmV3IEluamVjdGlvblRva2VuPEticVRpbWVSYW5nZVR5cGVbXT4oJ0tCUV9ERUZBVUxUX1RJTUVfUkFOR0VfVFlQRVMnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1pc3NpbmdEYXRlSW1wbEVycm9yKGNvbXBvbmVudE5hbWU6IHN0cmluZywgcHJvdmlkZXI6IHN0cmluZyk6IEVycm9yIHtcbiAgICByZXR1cm4gRXJyb3IoXG4gICAgICAgIGAke2NvbXBvbmVudE5hbWV9OiBObyBwcm92aWRlciBmb3VuZCBmb3IgJHtwcm92aWRlcn0uIFlvdSBtdXN0IGltcG9ydCBvbmUgb2YgdGhlIGV4aXN0aW5nIGAgK1xuICAgICAgICAgICAgYG1vZHVsZXMgYXQgeW91ciBhcHBsaWNhdGlvbiByb290IG9yIHByb3ZpZGUgYSBjdXN0b20gaW1wbGVtZW50YXRpb24gb3IgdXNlIGV4aXN0cyBvbmVzLmBcbiAgICApO1xufVxuXG5leHBvcnQgY29uc3QgcmFuZ2VWYWxpZGF0b3IgPSA8VD4odGltZVJhbmdlU2VydmljZTogS2JxVGltZVJhbmdlU2VydmljZTxUPik6IFZhbGlkYXRvckZuID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgICBjb25zdCBmb3JtID0gY29udHJvbC52YWx1ZTtcblxuICAgICAgICBpZiAoIWZvcm0uZnJvbVRpbWUgfHwgIWZvcm0uZnJvbURhdGUgfHwgIWZvcm0udG9UaW1lIHx8ICFmb3JtLnRvRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmcm9tRGF0ZVRpbWUgPSB0aW1lUmFuZ2VTZXJ2aWNlLmNvbWJpbmVEYXRlQW5kVGltZShmb3JtLmZyb21EYXRlLCBmb3JtLmZyb21UaW1lKTtcbiAgICAgICAgY29uc3QgdG9EYXRlVGltZSA9IHRpbWVSYW5nZVNlcnZpY2UuY29tYmluZURhdGVBbmRUaW1lKGZvcm0udG9EYXRlLCBmb3JtLnRvVGltZSk7XG5cbiAgICAgICAgcmV0dXJuIHRpbWVSYW5nZVNlcnZpY2UuZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZnJvbURhdGVUaW1lLCB0b0RhdGVUaW1lKSA+IDBcbiAgICAgICAgICAgID8geyBmcm9tSXNHcmVhdGVyVGhhblRvOiBmcm9tRGF0ZVRpbWUgfVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH07XG59O1xuIl19
@@ -0,0 +1,8 @@
1
+ export * from './constants';
2
+ export * from './module';
3
+ export * from './time-range';
4
+ export * from './time-range-editor';
5
+ export * from './time-range-title';
6
+ export * from './time-range-title-as-form-field';
7
+ export * from './types';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWUtcmFuZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lLXJhbmdlLWVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUtcmFuZ2UtdGl0bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lLXJhbmdlLXRpdGxlLWFzLWZvcm0tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29vYmlxLWNvbXBvbmVudHMtdGltZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZS1yYW5nZS9rb29iaXEtY29tcG9uZW50cy10aW1lLXJhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,36 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { KbqTimeRange } from './time-range';
3
+ import { KbqTimeRangeEditor } from './time-range-editor';
4
+ import { KbqTimeRangeTitle } from './time-range-title';
5
+ import { KbqTimeRangeTitleAsControl, KbqTimeRangeTitlePlaceholder } from './time-range-title-as-form-field';
6
+ import * as i0 from "@angular/core";
7
+ const COMPONENTS = [
8
+ KbqTimeRange,
9
+ KbqTimeRangeTitle,
10
+ KbqTimeRangeEditor,
11
+ KbqTimeRangeTitlePlaceholder,
12
+ KbqTimeRangeTitleAsControl
13
+ ];
14
+ export class KbqTimeRangeModule {
15
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRangeModule, imports: [KbqTimeRange,
17
+ KbqTimeRangeTitle,
18
+ KbqTimeRangeEditor,
19
+ KbqTimeRangeTitlePlaceholder,
20
+ KbqTimeRangeTitleAsControl], exports: [KbqTimeRange,
21
+ KbqTimeRangeTitle,
22
+ KbqTimeRangeEditor,
23
+ KbqTimeRangeTitlePlaceholder,
24
+ KbqTimeRangeTitleAsControl] }); }
25
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRangeModule, imports: [KbqTimeRange,
26
+ KbqTimeRangeTitle,
27
+ KbqTimeRangeEditor] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRangeModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ imports: COMPONENTS,
33
+ exports: COMPONENTS
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90aW1lLXJhbmdlL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRTVHLE1BQU0sVUFBVSxHQUFHO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsNEJBQTRCO0lBQzVCLDBCQUEwQjtDQUM3QixDQUFDO0FBTUYsTUFBTSxPQUFPLGtCQUFrQjtrSUFBbEIsa0JBQWtCO21JQUFsQixrQkFBa0IsWUFYM0IsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsNEJBQTRCO1lBQzVCLDBCQUEwQixhQUoxQixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQiw0QkFBNEI7WUFDNUIsMEJBQTBCO21JQU9qQixrQkFBa0IsWUFYM0IsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixrQkFBa0I7OzRGQVNULGtCQUFrQjtrQkFKOUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsVUFBVTtvQkFDbkIsT0FBTyxFQUFFLFVBQVU7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticVRpbWVSYW5nZSB9IGZyb20gJy4vdGltZS1yYW5nZSc7XG5pbXBvcnQgeyBLYnFUaW1lUmFuZ2VFZGl0b3IgfSBmcm9tICcuL3RpbWUtcmFuZ2UtZWRpdG9yJztcbmltcG9ydCB7IEticVRpbWVSYW5nZVRpdGxlIH0gZnJvbSAnLi90aW1lLXJhbmdlLXRpdGxlJztcbmltcG9ydCB7IEticVRpbWVSYW5nZVRpdGxlQXNDb250cm9sLCBLYnFUaW1lUmFuZ2VUaXRsZVBsYWNlaG9sZGVyIH0gZnJvbSAnLi90aW1lLXJhbmdlLXRpdGxlLWFzLWZvcm0tZmllbGQnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1xuICAgIEticVRpbWVSYW5nZSxcbiAgICBLYnFUaW1lUmFuZ2VUaXRsZSxcbiAgICBLYnFUaW1lUmFuZ2VFZGl0b3IsXG4gICAgS2JxVGltZVJhbmdlVGl0bGVQbGFjZWhvbGRlcixcbiAgICBLYnFUaW1lUmFuZ2VUaXRsZUFzQ29udHJvbFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBDT01QT05FTlRTLFxuICAgIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgS2JxVGltZVJhbmdlTW9kdWxlIHt9XG4iXX0=