@ng-nest/ui 18.0.5 → 18.0.7

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 (578) hide show
  1. package/checkbox/checkbox.component.d.ts +1 -1
  2. package/core/config/config.d.ts +6 -0
  3. package/esm2022/affix/affix.component.mjs +4 -4
  4. package/esm2022/affix/affix.module.mjs +4 -4
  5. package/esm2022/affix/affix.property.mjs +3 -3
  6. package/esm2022/alert/alert.component.mjs +5 -5
  7. package/esm2022/alert/alert.module.mjs +4 -4
  8. package/esm2022/alert/alert.property.mjs +3 -3
  9. package/esm2022/anchor/anchor-inner.component.mjs +3 -3
  10. package/esm2022/anchor/anchor.component.mjs +5 -5
  11. package/esm2022/anchor/anchor.module.mjs +4 -4
  12. package/esm2022/anchor/anchor.property.mjs +6 -6
  13. package/esm2022/api/api.component.mjs +4 -4
  14. package/esm2022/api/api.module.mjs +4 -4
  15. package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
  16. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  17. package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
  18. package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
  19. package/esm2022/avatar/avatar-group.component.mjs +3 -3
  20. package/esm2022/avatar/avatar.component.mjs +5 -5
  21. package/esm2022/avatar/avatar.module.mjs +4 -4
  22. package/esm2022/avatar/avatar.property.mjs +6 -6
  23. package/esm2022/back-top/back-top.component.mjs +5 -5
  24. package/esm2022/back-top/back-top.module.mjs +4 -4
  25. package/esm2022/back-top/back-top.property.mjs +3 -3
  26. package/esm2022/badge/badge.component.mjs +5 -5
  27. package/esm2022/badge/badge.module.mjs +4 -4
  28. package/esm2022/badge/badge.property.mjs +3 -3
  29. package/esm2022/base-form/base-form.module.mjs +4 -4
  30. package/esm2022/base-form/base-form.property.mjs +6 -6
  31. package/esm2022/button/button.component.mjs +5 -5
  32. package/esm2022/button/button.module.mjs +4 -4
  33. package/esm2022/button/button.property.mjs +6 -6
  34. package/esm2022/button/buttons.component.mjs +4 -4
  35. package/esm2022/calendar/calendar.component.mjs +5 -5
  36. package/esm2022/calendar/calendar.module.mjs +4 -4
  37. package/esm2022/calendar/calendar.property.mjs +3 -3
  38. package/esm2022/card/card.component.mjs +5 -5
  39. package/esm2022/card/card.module.mjs +4 -4
  40. package/esm2022/card/card.property.mjs +3 -3
  41. package/esm2022/carousel/carousel-panel.component.mjs +5 -5
  42. package/esm2022/carousel/carousel.component.mjs +5 -5
  43. package/esm2022/carousel/carousel.module.mjs +4 -4
  44. package/esm2022/carousel/carousel.property.mjs +6 -6
  45. package/esm2022/cascade/cascade-portal.component.mjs +3 -3
  46. package/esm2022/cascade/cascade.component.mjs +5 -5
  47. package/esm2022/cascade/cascade.module.mjs +4 -4
  48. package/esm2022/cascade/cascade.property.mjs +3 -3
  49. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  50. package/esm2022/checkbox/checkbox.module.mjs +4 -4
  51. package/esm2022/checkbox/checkbox.property.mjs +3 -3
  52. package/esm2022/collapse/collapse-panel.component.mjs +5 -5
  53. package/esm2022/collapse/collapse.component.mjs +4 -4
  54. package/esm2022/collapse/collapse.module.mjs +4 -4
  55. package/esm2022/collapse/collapse.property.mjs +6 -6
  56. package/esm2022/color/color.component.mjs +4 -4
  57. package/esm2022/color/color.module.mjs +4 -4
  58. package/esm2022/color/color.property.mjs +3 -3
  59. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  60. package/esm2022/color-picker/color-picker.component.mjs +5 -5
  61. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  62. package/esm2022/color-picker/color-picker.property.mjs +3 -3
  63. package/esm2022/comment/comment-reply.component.mjs +3 -3
  64. package/esm2022/comment/comment.component.mjs +5 -5
  65. package/esm2022/comment/comment.module.mjs +4 -4
  66. package/esm2022/comment/comment.property.mjs +6 -6
  67. package/esm2022/container/aside.component.mjs +4 -4
  68. package/esm2022/container/container.component.mjs +4 -4
  69. package/esm2022/container/container.module.mjs +4 -4
  70. package/esm2022/container/container.property.mjs +12 -12
  71. package/esm2022/container/footer.component.mjs +4 -4
  72. package/esm2022/container/header.component.mjs +4 -4
  73. package/esm2022/container/main.component.mjs +4 -4
  74. package/esm2022/core/config/config.mjs +1 -1
  75. package/esm2022/core/config/config.service.mjs +3 -3
  76. package/esm2022/core/services/http.service.mjs +3 -3
  77. package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
  78. package/esm2022/core/services/storage.service.mjs +3 -3
  79. package/esm2022/core/theme/theme.service.mjs +3 -3
  80. package/esm2022/crumb/crumb.component.mjs +5 -5
  81. package/esm2022/crumb/crumb.module.mjs +4 -4
  82. package/esm2022/crumb/crumb.property.mjs +3 -3
  83. package/esm2022/date-picker/date-picker-portal.component.mjs +3 -3
  84. package/esm2022/date-picker/date-picker.component.mjs +5 -5
  85. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  86. package/esm2022/date-picker/date-picker.property.mjs +18 -18
  87. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  88. package/esm2022/date-picker/date-range-portal.component.mjs +3 -3
  89. package/esm2022/date-picker/date-range.component.mjs +5 -5
  90. package/esm2022/date-picker/picker-date.component.mjs +3 -3
  91. package/esm2022/date-picker/picker-month.component.mjs +3 -3
  92. package/esm2022/date-picker/picker-quarter.component.mjs +3 -3
  93. package/esm2022/date-picker/picker-year.component.mjs +3 -3
  94. package/esm2022/description/description-item.component.mjs +3 -3
  95. package/esm2022/description/description.component.mjs +3 -3
  96. package/esm2022/description/description.module.mjs +4 -4
  97. package/esm2022/description/description.property.mjs +6 -6
  98. package/esm2022/dialog/dialog-container.component.mjs +5 -5
  99. package/esm2022/dialog/dialog-portal.component.mjs +5 -5
  100. package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
  101. package/esm2022/dialog/dialog.component.mjs +5 -5
  102. package/esm2022/dialog/dialog.module.mjs +4 -4
  103. package/esm2022/dialog/dialog.property.mjs +6 -6
  104. package/esm2022/dialog/dialog.service.mjs +3 -3
  105. package/esm2022/doc/doc.component.mjs +4 -4
  106. package/esm2022/doc/doc.module.mjs +4 -4
  107. package/esm2022/drag/drag.directive.mjs +3 -3
  108. package/esm2022/drag/drag.module.mjs +4 -4
  109. package/esm2022/drag/drag.property.mjs +3 -3
  110. package/esm2022/drawer/drawer-container.component.mjs +5 -5
  111. package/esm2022/drawer/drawer-portal.component.mjs +5 -5
  112. package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
  113. package/esm2022/drawer/drawer.component.mjs +5 -5
  114. package/esm2022/drawer/drawer.module.mjs +4 -4
  115. package/esm2022/drawer/drawer.property.mjs +6 -6
  116. package/esm2022/drawer/drawer.service.mjs +3 -3
  117. package/esm2022/dropdown/dropdown-portal.component.mjs +3 -3
  118. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  119. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  120. package/esm2022/dropdown/dropdown.property.mjs +3 -3
  121. package/esm2022/empty/empty.component.mjs +5 -5
  122. package/esm2022/empty/empty.module.mjs +4 -4
  123. package/esm2022/empty/empty.property.mjs +3 -3
  124. package/esm2022/examples/examples.component.mjs +4 -4
  125. package/esm2022/examples/examples.module.mjs +4 -4
  126. package/esm2022/find/find.component.mjs +5 -5
  127. package/esm2022/find/find.module.mjs +4 -4
  128. package/esm2022/find/find.property.mjs +3 -3
  129. package/esm2022/form/control.component.mjs +3 -3
  130. package/esm2022/form/form.component.mjs +5 -5
  131. package/esm2022/form/form.module.mjs +4 -4
  132. package/esm2022/form/form.property.mjs +6 -6
  133. package/esm2022/highlight/highlight.component.mjs +5 -5
  134. package/esm2022/highlight/highlight.module.mjs +4 -4
  135. package/esm2022/highlight/highlight.property.mjs +3 -3
  136. package/esm2022/highlight/highlight.service.mjs +3 -3
  137. package/esm2022/i18n/i18n.directive.mjs +3 -3
  138. package/esm2022/i18n/i18n.module.mjs +4 -4
  139. package/esm2022/i18n/i18n.pipe.mjs +3 -3
  140. package/esm2022/i18n/i18n.property.mjs +1 -1
  141. package/esm2022/i18n/i18n.service.mjs +3 -3
  142. package/esm2022/i18n/languages/ar_EG.mjs +8 -2
  143. package/esm2022/i18n/languages/bg_BG.mjs +8 -2
  144. package/esm2022/i18n/languages/ca_ES.mjs +8 -2
  145. package/esm2022/i18n/languages/cs_CZ.mjs +8 -2
  146. package/esm2022/i18n/languages/da_DK.mjs +8 -2
  147. package/esm2022/i18n/languages/de_DE.mjs +8 -2
  148. package/esm2022/i18n/languages/el_GR.mjs +8 -2
  149. package/esm2022/i18n/languages/en_GB.mjs +8 -2
  150. package/esm2022/i18n/languages/en_US.mjs +8 -2
  151. package/esm2022/i18n/languages/es_ES.mjs +8 -2
  152. package/esm2022/i18n/languages/et_EE.mjs +8 -2
  153. package/esm2022/i18n/languages/fa_IR.mjs +8 -2
  154. package/esm2022/i18n/languages/fi_FI.mjs +8 -2
  155. package/esm2022/i18n/languages/fr_BE.mjs +8 -2
  156. package/esm2022/i18n/languages/fr_FR.mjs +8 -2
  157. package/esm2022/i18n/languages/he_IL.mjs +8 -2
  158. package/esm2022/i18n/languages/hi_IN.mjs +8 -2
  159. package/esm2022/i18n/languages/hr_HR.mjs +8 -2
  160. package/esm2022/i18n/languages/hu_HU.mjs +8 -2
  161. package/esm2022/i18n/languages/hy_AM.mjs +8 -2
  162. package/esm2022/i18n/languages/id_ID.mjs +8 -2
  163. package/esm2022/i18n/languages/is_IS.mjs +8 -2
  164. package/esm2022/i18n/languages/it_IT.mjs +8 -2
  165. package/esm2022/i18n/languages/ja_JP.mjs +8 -2
  166. package/esm2022/i18n/languages/ka_GE.mjs +8 -2
  167. package/esm2022/i18n/languages/kn_IN.mjs +8 -2
  168. package/esm2022/i18n/languages/ko_KR.mjs +8 -2
  169. package/esm2022/i18n/languages/ku_IQ.mjs +8 -2
  170. package/esm2022/i18n/languages/lv_LV.mjs +8 -2
  171. package/esm2022/i18n/languages/mn_MN.mjs +8 -2
  172. package/esm2022/i18n/languages/ms_MY.mjs +8 -2
  173. package/esm2022/i18n/languages/nb_NO.mjs +8 -2
  174. package/esm2022/i18n/languages/ne_NP.mjs +8 -2
  175. package/esm2022/i18n/languages/nl_BE.mjs +8 -2
  176. package/esm2022/i18n/languages/nl_NL.mjs +8 -2
  177. package/esm2022/i18n/languages/pl_PL.mjs +8 -2
  178. package/esm2022/i18n/languages/pt_BR.mjs +8 -2
  179. package/esm2022/i18n/languages/pt_PT.mjs +8 -2
  180. package/esm2022/i18n/languages/ro_RO.mjs +8 -2
  181. package/esm2022/i18n/languages/ru_RU.mjs +8 -2
  182. package/esm2022/i18n/languages/sk_SK.mjs +8 -2
  183. package/esm2022/i18n/languages/sl_SI.mjs +8 -2
  184. package/esm2022/i18n/languages/sr_RS.mjs +8 -2
  185. package/esm2022/i18n/languages/sv_SE.mjs +8 -2
  186. package/esm2022/i18n/languages/ta_IN.mjs +8 -2
  187. package/esm2022/i18n/languages/th_TH.mjs +8 -2
  188. package/esm2022/i18n/languages/tr_TR.mjs +8 -2
  189. package/esm2022/i18n/languages/uk_UA.mjs +8 -2
  190. package/esm2022/i18n/languages/vi_VN.mjs +8 -2
  191. package/esm2022/i18n/languages/zh_CN.mjs +8 -2
  192. package/esm2022/i18n/languages/zh_TW.mjs +8 -2
  193. package/esm2022/icon/icon.component.mjs +4 -4
  194. package/esm2022/icon/icon.module.mjs +4 -4
  195. package/esm2022/icon/icon.property.mjs +3 -3
  196. package/esm2022/icon/icon.service.mjs +3 -3
  197. package/esm2022/image/image-group.component.mjs +3 -3
  198. package/esm2022/image/image-preview.component.mjs +5 -5
  199. package/esm2022/image/image.component.mjs +5 -5
  200. package/esm2022/image/image.module.mjs +4 -4
  201. package/esm2022/image/image.property.mjs +6 -6
  202. package/esm2022/inner/inner.component.mjs +4 -4
  203. package/esm2022/inner/inner.module.mjs +4 -4
  204. package/esm2022/inner/inner.property.mjs +3 -3
  205. package/esm2022/input/input-group.component.mjs +3 -3
  206. package/esm2022/input/input.component.mjs +5 -5
  207. package/esm2022/input/input.module.mjs +4 -4
  208. package/esm2022/input/input.property.mjs +6 -6
  209. package/esm2022/input-number/input-number.component.mjs +5 -5
  210. package/esm2022/input-number/input-number.module.mjs +4 -4
  211. package/esm2022/input-number/input-number.property.mjs +3 -3
  212. package/esm2022/keyword/keyword.directive.mjs +3 -3
  213. package/esm2022/keyword/keyword.module.mjs +4 -4
  214. package/esm2022/keyword/keyword.property.mjs +3 -3
  215. package/esm2022/layout/col.component.mjs +3 -3
  216. package/esm2022/layout/layout.module.mjs +4 -4
  217. package/esm2022/layout/layout.property.mjs +6 -6
  218. package/esm2022/layout/row.component.mjs +3 -3
  219. package/esm2022/link/link.component.mjs +5 -5
  220. package/esm2022/link/link.module.mjs +4 -4
  221. package/esm2022/link/link.property.mjs +3 -3
  222. package/esm2022/list/list-drop-group.directive.mjs +3 -3
  223. package/esm2022/list/list-option.component.mjs +3 -3
  224. package/esm2022/list/list.component.mjs +11 -11
  225. package/esm2022/list/list.module.mjs +4 -4
  226. package/esm2022/list/list.property.mjs +6 -6
  227. package/esm2022/loading/loading.component.mjs +5 -5
  228. package/esm2022/loading/loading.module.mjs +4 -4
  229. package/esm2022/loading/loading.property.mjs +3 -3
  230. package/esm2022/menu/menu-node.component.mjs +3 -3
  231. package/esm2022/menu/menu.component.mjs +3 -3
  232. package/esm2022/menu/menu.module.mjs +4 -4
  233. package/esm2022/menu/menu.property.mjs +6 -6
  234. package/esm2022/message/message.component.mjs +3 -3
  235. package/esm2022/message/message.module.mjs +4 -4
  236. package/esm2022/message/message.service.mjs +3 -3
  237. package/esm2022/message-box/message-box.component.mjs +3 -3
  238. package/esm2022/message-box/message-box.module.mjs +4 -4
  239. package/esm2022/message-box/message-box.service.mjs +3 -3
  240. package/esm2022/notification/notification.component.mjs +3 -3
  241. package/esm2022/notification/notification.module.mjs +4 -4
  242. package/esm2022/notification/notification.service.mjs +3 -3
  243. package/esm2022/outlet/outlet.directive.mjs +3 -3
  244. package/esm2022/outlet/outlet.module.mjs +4 -4
  245. package/esm2022/page-header/page-header.component.mjs +5 -5
  246. package/esm2022/page-header/page-header.module.mjs +4 -4
  247. package/esm2022/page-header/page-header.property.mjs +3 -3
  248. package/esm2022/pagination/pagination.component.mjs +91 -29
  249. package/esm2022/pagination/pagination.module.mjs +4 -4
  250. package/esm2022/pagination/pagination.property.mjs +23 -8
  251. package/esm2022/pattern/pattern.component.mjs +4 -4
  252. package/esm2022/pattern/pattern.module.mjs +4 -4
  253. package/esm2022/popconfirm/popconfirm.component.mjs +5 -5
  254. package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
  255. package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
  256. package/esm2022/popover/popover-portal.component.mjs +5 -5
  257. package/esm2022/popover/popover.directive.mjs +3 -3
  258. package/esm2022/popover/popover.module.mjs +4 -4
  259. package/esm2022/popover/popover.property.mjs +3 -3
  260. package/esm2022/portal/portal.module.mjs +4 -4
  261. package/esm2022/portal/portal.service.mjs +3 -3
  262. package/esm2022/progress/progress.component.mjs +5 -5
  263. package/esm2022/progress/progress.module.mjs +4 -4
  264. package/esm2022/progress/progress.property.mjs +3 -3
  265. package/esm2022/radio/radio.component.mjs +5 -5
  266. package/esm2022/radio/radio.module.mjs +4 -4
  267. package/esm2022/radio/radio.property.mjs +3 -3
  268. package/esm2022/rate/rate.component.mjs +5 -5
  269. package/esm2022/rate/rate.module.mjs +4 -4
  270. package/esm2022/rate/rate.property.mjs +3 -3
  271. package/esm2022/resizable/resizable.directive.mjs +3 -3
  272. package/esm2022/resizable/resizable.module.mjs +4 -4
  273. package/esm2022/resizable/resizable.property.mjs +3 -3
  274. package/esm2022/result/result.component.mjs +5 -5
  275. package/esm2022/result/result.module.mjs +4 -4
  276. package/esm2022/result/result.property.mjs +3 -3
  277. package/esm2022/ripple/ripple.directive.mjs +3 -3
  278. package/esm2022/ripple/ripple.module.mjs +4 -4
  279. package/esm2022/ripple/ripple.property.mjs +3 -3
  280. package/esm2022/select/select-portal.component.mjs +3 -3
  281. package/esm2022/select/select.component.mjs +5 -5
  282. package/esm2022/select/select.module.mjs +4 -4
  283. package/esm2022/select/select.property.mjs +5 -5
  284. package/esm2022/skeleton/skeleton.component.mjs +3 -3
  285. package/esm2022/skeleton/skeleton.module.mjs +4 -4
  286. package/esm2022/skeleton/skeleton.property.mjs +3 -3
  287. package/esm2022/slider/slider.component.mjs +5 -5
  288. package/esm2022/slider/slider.module.mjs +4 -4
  289. package/esm2022/slider/slider.property.mjs +3 -3
  290. package/esm2022/slider-select/slider-select.component.mjs +5 -5
  291. package/esm2022/slider-select/slider-select.module.mjs +4 -4
  292. package/esm2022/slider-select/slider-select.property.mjs +3 -3
  293. package/esm2022/statistic/countdown.component.mjs +3 -3
  294. package/esm2022/statistic/statistic.component.mjs +3 -3
  295. package/esm2022/statistic/statistic.module.mjs +4 -4
  296. package/esm2022/statistic/statistic.property.mjs +6 -6
  297. package/esm2022/steps/steps.component.mjs +5 -5
  298. package/esm2022/steps/steps.module.mjs +4 -4
  299. package/esm2022/steps/steps.property.mjs +3 -3
  300. package/esm2022/switch/switch.component.mjs +5 -5
  301. package/esm2022/switch/switch.module.mjs +4 -4
  302. package/esm2022/switch/switch.property.mjs +3 -3
  303. package/esm2022/table/table-body.component.mjs +3 -3
  304. package/esm2022/table/table-foot.component.mjs +3 -3
  305. package/esm2022/table/table-head.component.mjs +4 -4
  306. package/esm2022/table/table.component.mjs +5 -5
  307. package/esm2022/table/table.module.mjs +4 -4
  308. package/esm2022/table/table.property.mjs +28 -13
  309. package/esm2022/tabs/tab-content.component.mjs +3 -3
  310. package/esm2022/tabs/tab-link.directive.mjs +6 -6
  311. package/esm2022/tabs/tab.component.mjs +3 -3
  312. package/esm2022/tabs/tabs.component.mjs +5 -5
  313. package/esm2022/tabs/tabs.module.mjs +4 -4
  314. package/esm2022/tabs/tabs.property.mjs +6 -6
  315. package/esm2022/tag/tag.component.mjs +5 -5
  316. package/esm2022/tag/tag.module.mjs +4 -4
  317. package/esm2022/tag/tag.property.mjs +3 -3
  318. package/esm2022/text-retract/text-retract.component.mjs +5 -5
  319. package/esm2022/text-retract/text-retract.module.mjs +4 -4
  320. package/esm2022/text-retract/text-retract.property.mjs +3 -3
  321. package/esm2022/textarea/textarea.component.mjs +5 -5
  322. package/esm2022/textarea/textarea.module.mjs +4 -4
  323. package/esm2022/textarea/textarea.property.mjs +3 -3
  324. package/esm2022/theme/theme.component.mjs +5 -5
  325. package/esm2022/theme/theme.module.mjs +4 -4
  326. package/esm2022/theme/theme.property.mjs +3 -3
  327. package/esm2022/time-ago/time-ago.module.mjs +4 -4
  328. package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
  329. package/esm2022/time-picker/time-picker-frame.component.mjs +5 -5
  330. package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
  331. package/esm2022/time-picker/time-picker.component.mjs +5 -5
  332. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  333. package/esm2022/time-picker/time-picker.property.mjs +3 -3
  334. package/esm2022/time-range/time-range.module.mjs +4 -4
  335. package/esm2022/time-range/time-range.pipe.mjs +3 -3
  336. package/esm2022/timeline/timeline.component.mjs +5 -5
  337. package/esm2022/timeline/timeline.module.mjs +4 -4
  338. package/esm2022/timeline/timeline.property.mjs +3 -3
  339. package/esm2022/tooltip/tooltip-portal.component.mjs +5 -5
  340. package/esm2022/tooltip/tooltip.directive.mjs +3 -3
  341. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  342. package/esm2022/tooltip/tooltip.property.mjs +3 -3
  343. package/esm2022/transfer/transfer.component.mjs +5 -5
  344. package/esm2022/transfer/transfer.module.mjs +4 -4
  345. package/esm2022/transfer/transfer.property.mjs +3 -3
  346. package/esm2022/tree/tree-node.component.mjs +5 -5
  347. package/esm2022/tree/tree.component.mjs +4 -4
  348. package/esm2022/tree/tree.module.mjs +4 -4
  349. package/esm2022/tree/tree.property.mjs +6 -6
  350. package/esm2022/tree/tree.service.mjs +3 -3
  351. package/esm2022/tree-file/tree-file.component.mjs +5 -5
  352. package/esm2022/tree-file/tree-file.module.mjs +4 -4
  353. package/esm2022/tree-file/tree-file.property.mjs +3 -3
  354. package/esm2022/tree-select/tree-select-portal.component.mjs +3 -3
  355. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  356. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  357. package/esm2022/tree-select/tree-select.property.mjs +3 -3
  358. package/esm2022/typography/typography.component.mjs +4 -4
  359. package/esm2022/typography/typography.module.mjs +4 -4
  360. package/esm2022/typography/typography.property.mjs +3 -3
  361. package/esm2022/upload/upload-portal.component.mjs +5 -5
  362. package/esm2022/upload/upload.component.mjs +5 -5
  363. package/esm2022/upload/upload.module.mjs +4 -4
  364. package/esm2022/upload/upload.property.mjs +3 -3
  365. package/fesm2022/ng-nest-ui-affix.mjs +11 -11
  366. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-alert.mjs +11 -11
  368. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
  370. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  372. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
  374. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
  376. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-back-top.mjs +11 -11
  378. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  380. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  382. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  383. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  384. package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
  385. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  386. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  387. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  388. package/fesm2022/ng-nest-ui-carousel.mjs +18 -18
  389. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  390. package/fesm2022/ng-nest-ui-cascade.mjs +14 -14
  391. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  392. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  393. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  394. package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
  395. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  396. package/fesm2022/ng-nest-ui-color-picker.mjs +14 -14
  397. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  398. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  399. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  400. package/fesm2022/ng-nest-ui-comment.mjs +17 -17
  401. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  402. package/fesm2022/ng-nest-ui-container.mjs +36 -36
  403. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  404. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  405. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  406. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  407. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  408. package/fesm2022/ng-nest-ui-date-picker.mjs +51 -51
  409. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  410. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  411. package/fesm2022/ng-nest-ui-dialog.mjs +44 -44
  412. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  414. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  416. package/fesm2022/ng-nest-ui-drawer.mjs +35 -35
  417. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  418. package/fesm2022/ng-nest-ui-dropdown.mjs +14 -14
  419. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  420. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  421. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  422. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  423. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  424. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  425. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  426. package/fesm2022/ng-nest-ui-form.mjs +17 -17
  427. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  428. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  429. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  430. package/fesm2022/ng-nest-ui-i18n.mjs +370 -64
  431. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  432. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  433. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  434. package/fesm2022/ng-nest-ui-image.mjs +21 -21
  435. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  436. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  437. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  438. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  439. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  440. package/fesm2022/ng-nest-ui-input.mjs +17 -17
  441. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  442. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  443. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  444. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  445. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  446. package/fesm2022/ng-nest-ui-list.mjs +26 -26
  447. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  448. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  449. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  450. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  451. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  452. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  453. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  454. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  455. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  456. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-pagination.mjs +116 -39
  458. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  460. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  462. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-popover.mjs +14 -14
  464. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  466. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  467. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  468. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  469. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  470. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  471. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  472. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  473. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  474. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  476. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  477. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  478. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  479. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
  480. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  482. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  484. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  485. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  486. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  487. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  488. package/fesm2022/ng-nest-ui-table.mjs +44 -29
  489. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  490. package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
  491. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  492. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  493. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  494. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  495. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  496. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  497. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  498. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  499. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  500. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  501. package/fesm2022/ng-nest-ui-time-picker.mjs +18 -18
  502. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  503. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  504. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  505. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  506. package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
  507. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  508. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  509. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  510. package/fesm2022/ng-nest-ui-tree-file.mjs +11 -11
  511. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  512. package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
  513. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  514. package/fesm2022/ng-nest-ui-tree.mjs +20 -20
  515. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  516. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  517. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  518. package/fesm2022/ng-nest-ui-upload.mjs +15 -15
  519. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  520. package/i18n/i18n.property.d.ts +6 -0
  521. package/i18n/languages/ar_EG.d.ts +6 -0
  522. package/i18n/languages/bg_BG.d.ts +6 -0
  523. package/i18n/languages/ca_ES.d.ts +6 -0
  524. package/i18n/languages/cs_CZ.d.ts +6 -0
  525. package/i18n/languages/da_DK.d.ts +6 -0
  526. package/i18n/languages/de_DE.d.ts +6 -0
  527. package/i18n/languages/el_GR.d.ts +6 -0
  528. package/i18n/languages/en_GB.d.ts +6 -0
  529. package/i18n/languages/en_US.d.ts +6 -0
  530. package/i18n/languages/es_ES.d.ts +6 -0
  531. package/i18n/languages/et_EE.d.ts +6 -0
  532. package/i18n/languages/fa_IR.d.ts +6 -0
  533. package/i18n/languages/fi_FI.d.ts +6 -0
  534. package/i18n/languages/fr_BE.d.ts +6 -0
  535. package/i18n/languages/fr_FR.d.ts +6 -0
  536. package/i18n/languages/he_IL.d.ts +6 -0
  537. package/i18n/languages/hi_IN.d.ts +6 -0
  538. package/i18n/languages/hr_HR.d.ts +6 -0
  539. package/i18n/languages/hu_HU.d.ts +6 -0
  540. package/i18n/languages/hy_AM.d.ts +6 -0
  541. package/i18n/languages/id_ID.d.ts +6 -0
  542. package/i18n/languages/is_IS.d.ts +6 -0
  543. package/i18n/languages/it_IT.d.ts +6 -0
  544. package/i18n/languages/ja_JP.d.ts +6 -0
  545. package/i18n/languages/ka_GE.d.ts +6 -0
  546. package/i18n/languages/kn_IN.d.ts +6 -0
  547. package/i18n/languages/ko_KR.d.ts +6 -0
  548. package/i18n/languages/ku_IQ.d.ts +6 -0
  549. package/i18n/languages/lv_LV.d.ts +6 -0
  550. package/i18n/languages/mn_MN.d.ts +6 -0
  551. package/i18n/languages/ms_MY.d.ts +6 -0
  552. package/i18n/languages/nb_NO.d.ts +6 -0
  553. package/i18n/languages/ne_NP.d.ts +6 -0
  554. package/i18n/languages/nl_BE.d.ts +6 -0
  555. package/i18n/languages/nl_NL.d.ts +6 -0
  556. package/i18n/languages/pl_PL.d.ts +6 -0
  557. package/i18n/languages/pt_BR.d.ts +6 -0
  558. package/i18n/languages/pt_PT.d.ts +6 -0
  559. package/i18n/languages/ro_RO.d.ts +6 -0
  560. package/i18n/languages/ru_RU.d.ts +6 -0
  561. package/i18n/languages/sk_SK.d.ts +6 -0
  562. package/i18n/languages/sl_SI.d.ts +6 -0
  563. package/i18n/languages/sr_RS.d.ts +6 -0
  564. package/i18n/languages/sv_SE.d.ts +6 -0
  565. package/i18n/languages/ta_IN.d.ts +6 -0
  566. package/i18n/languages/th_TH.d.ts +6 -0
  567. package/i18n/languages/tr_TR.d.ts +6 -0
  568. package/i18n/languages/uk_UA.d.ts +6 -0
  569. package/i18n/languages/vi_VN.d.ts +6 -0
  570. package/i18n/languages/zh_CN.d.ts +6 -0
  571. package/i18n/languages/zh_TW.d.ts +6 -0
  572. package/package.json +115 -115
  573. package/pagination/pagination.component.d.ts +24 -0
  574. package/pagination/pagination.property.d.ts +31 -5
  575. package/radio/radio.component.d.ts +1 -1
  576. package/select/select.property.d.ts +1 -4
  577. package/style/mixins/reset.scss +4 -2
  578. package/table/table.property.d.ts +17 -1
@@ -146,10 +146,10 @@ export class XTextareaProperty extends XFormControlFunction(X_TEXTAREA_CONFIG_NA
146
146
  */
147
147
  this.clearEmit = output();
148
148
  }
149
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTextareaProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
150
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XTextareaProperty, selector: "x-textarea-property", inputs: { clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconLayout: { classPropertyName: "iconLayout", publicName: "iconLayout", isSignal: true, isRequired: false, transformFunction: null }, iconSpin: { classPropertyName: "iconSpin", publicName: "iconSpin", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", clearEmit: "clearEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
149
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTextareaProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
150
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XTextareaProperty, selector: "x-textarea-property", inputs: { clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconLayout: { classPropertyName: "iconLayout", publicName: "iconLayout", isSignal: true, isRequired: false, transformFunction: null }, iconSpin: { classPropertyName: "iconSpin", publicName: "iconSpin", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", clearEmit: "clearEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
151
151
  }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTextareaProperty, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTextareaProperty, decorators: [{
153
153
  type: Component,
154
154
  args: [{ selector: `${XTextareaPrefix}-property`, template: '' }]
155
155
  }] });
@@ -160,10 +160,10 @@ export class XThemeComponent extends XThemeProperty {
160
160
  }
161
161
  this.formGroup().patchValue(colors);
162
162
  }
163
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XThemeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
164
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XThemeComponent, isStandalone: true, selector: "x-theme", providers: [XValueAccessor(XThemeComponent)], usesInheritance: true, ngImport: i0, template: "<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale().initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup()\" [controls]=\"controls()\" [width]=\"width()\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n", styles: [".x-theme{margin:0;padding:0;display:inline-block}.x-theme x-color-picker:not(:first-child){margin-left:.125rem}.x-theme-darken,.x-theme-default,.x-theme-gradual{display:flex}.x-theme-default x-color-picker{width:9.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XSwitchComponent, selector: "x-switch" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "component", type: XFormComponent, selector: "x-form" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
164
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XThemeComponent, isStandalone: true, selector: "x-theme", providers: [XValueAccessor(XThemeComponent)], usesInheritance: true, ngImport: i0, template: "<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale().initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup()\" [controls]=\"controls()\" [width]=\"width()\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n", styles: [".x-theme{margin:0;padding:0}.x-theme{display:inline-block}.x-theme x-color-picker:not(:first-child){margin-left:.125rem}.x-theme-darken,.x-theme-default,.x-theme-gradual{display:flex}.x-theme-default x-color-picker{width:9.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XSwitchComponent, selector: "x-switch" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "component", type: XFormComponent, selector: "x-form" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
165
165
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XThemeComponent, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeComponent, decorators: [{
167
167
  type: Component,
168
168
  args: [{ selector: 'x-theme', standalone: true, imports: [
169
169
  FormsModule,
@@ -174,6 +174,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
174
174
  XColComponent,
175
175
  XFormComponent,
176
176
  XI18nDirective
177
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XThemeComponent)], template: "<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale().initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup()\" [controls]=\"controls()\" [width]=\"width()\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n", styles: [".x-theme{margin:0;padding:0;display:inline-block}.x-theme x-color-picker:not(:first-child){margin-left:.125rem}.x-theme-darken,.x-theme-default,.x-theme-gradual{display:flex}.x-theme-default x-color-picker{width:9.25rem}\n"] }]
177
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XThemeComponent)], template: "<div class=\"x-theme\">\r\n <x-row>\r\n @if (showDark()) {\r\n <x-col [style.width.rem]=\"8\">\r\n <x-switch\r\n direction=\"row\"\r\n [label]=\"locale().darkMode!\"\r\n [(ngModel)]=\"dark\"\r\n (ngModelChange)=\"darkChanges()\"\r\n ></x-switch>\r\n </x-col>\r\n }\r\n <x-col [style.width.rem]=\"8\">\r\n <x-button (click)=\"default()\">{{ locale().initDefault }}</x-button>\r\n </x-col>\r\n </x-row>\r\n <x-form [formGroup]=\"formGroup()\" [controls]=\"controls()\" [width]=\"width()\" span=\"2\" space=\"1\"></x-form>\r\n</div>\r\n", styles: [".x-theme{margin:0;padding:0}.x-theme{display:inline-block}.x-theme x-color-picker:not(:first-child){margin-left:.125rem}.x-theme-darken,.x-theme-default,.x-theme-gradual{display:flex}.x-theme-default x-color-picker{width:9.25rem}\n"] }]
178
178
  }], ctorParameters: () => [] });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGhlbWUvdGhlbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGhlbWUvdGhlbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLE1BQU0sRUFFTixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsY0FBYyxFQUdkLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsbUJBQW1CLEVBQ3BCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBWSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFjLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8s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QUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uRGVzdHJveSxcclxuICBpbmplY3QsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBzaWduYWwsXHJcbiAgZWZmZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZVByb3BlcnR5IH0gZnJvbSAnLi90aGVtZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWENvbG9yc1RoZW1lLFxyXG4gIFhUaGVtZSxcclxuICBYX1RIRU1FX0NPTE9SX0tFWVMsXHJcbiAgWF9USEVNRV9DT0xPUlMsXHJcbiAgWF9USEVNRV9EQVJLX0NPTE9SU1xyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWENvbnRyb2wsIFhGb3JtQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvZm9ybSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWEkxOG5EaXJlY3RpdmUsIFhJMThuU2VydmljZSwgWEkxOG5UaGVtZSwgemhfQ04gfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvc3dpdGNoJztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhDb2xDb21wb25lbnQsIFhSb3dDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9sYXlvdXQnO1xyXG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC10aGVtZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBYU3dpdGNoQ29tcG9uZW50LFxyXG4gICAgWEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFhSb3dDb21wb25lbnQsXHJcbiAgICBYQ29sQ29tcG9uZW50LFxyXG4gICAgWEZvcm1Db21wb25lbnQsXHJcbiAgICBYSTE4bkRpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS9pbmRleC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYVGhlbWVDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRoZW1lQ29tcG9uZW50IGV4dGVuZHMgWFRoZW1lUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGkxOG4gPSBpbmplY3QoWEkxOG5TZXJ2aWNlKTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuICB0aGVtZVNlcnZpY2UgPSB0aGlzLmNvbmZpZ1NlcnZpY2UudGhlbWVTZXJ2aWNlO1xyXG5cclxuICBmb3JtR3JvdXAgPSBzaWduYWwobmV3IFVudHlwZWRGb3JtR3JvdXAoe30pKTtcclxuICB0aGVtZSA9IHNpZ25hbDxYVGhlbWU+KHsgY29sb3JzOiB7fSB9KTtcclxuICB3aWR0aCA9IHNpZ25hbCgnNDVyZW0nKTtcclxuICBiZWZvcmVDb2xvcnMgPSBzaWduYWw8WENvbG9yc1RoZW1lPih7fSk7XHJcbiAgY3VycmVudENvbG9ycyA9IHNpZ25hbDxYQ29sb3JzVGhlbWU+KHt9KTtcclxuICBkYXJrQmVmb3JlQ29sb3JzID0gc2lnbmFsPFhDb2xvcnNUaGVtZT4oe30pO1xyXG4gIGNvbnRyb2xzID0gc2lnbmFsPFhDb250cm9sW10+KFtcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAncHJpbWFyeScsIGxhYmVsOiAn5Li76ImyJywgc3BhbjogNSB9LFxyXG4gICAgeyBjb250cm9sOiAnY29sb3ItcGlja2VyJywgaWQ6ICdzdWNjZXNzJywgbGFiZWw6ICfmiJDlip8nLCBzcGFuOiA1IH0sXHJcbiAgICB7IGNvbnRyb2w6ICdjb2xvci1waWNrZXInLCBpZDogJ3dhcm5pbmcnLCBsYWJlbDogJ+itpuWRiicsIHNwYW46IDUgfSxcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAnZGFuZ2VyJywgbGFiZWw6ICfljbHpmaknLCBzcGFuOiA1IH0sXHJcbiAgICB7IGNvbnRyb2w6ICdjb2xvci1waWNrZXInLCBpZDogJ2luZm8nLCBsYWJlbDogJ+S/oeaBrycsIHNwYW46IDUgfSxcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAnYmFja2dyb3VuZCcsIGxhYmVsOiAn6IOM5pmvJywgc3BhbjogNSB9LFxyXG4gICAgeyBjb250cm9sOiAnY29sb3ItcGlja2VyJywgaWQ6ICdib3JkZXInLCBsYWJlbDogJ+i+ueahhicsIHNwYW46IDUgfSxcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAndGV4dCcsIGxhYmVsOiAn5paH5a2XJywgc3BhbjogNSB9XHJcbiAgXSk7XHJcblxyXG4gIG92ZXJyaWRlIHZhbHVlID0gc2lnbmFsPFhDb2xvcnNUaGVtZT4oe30pO1xyXG5cclxuICBsb2NhbGUgPSB0b1NpZ25hbCh0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlLnBpcGUobWFwKCh4KSA9PiB4LnRoZW1lIGFzIFhJMThuVGhlbWUpKSwgeyBpbml0aWFsVmFsdWU6IHpoX0NOLnRoZW1lIH0pO1xyXG5cclxuICBwcml2YXRlIHVuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFhDb2xvcnNUaGVtZSkge1xyXG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xyXG4gICAgaWYgKHRoaXMudmFsdWUoKSAmJiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKCkpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy50aGVtZS5zZXQoe1xyXG4gICAgICAgIGNvbG9yczogdGhpcy50aGVtZVNlcnZpY2UuZ2V0RGVmaW5lQ29sb3JzKFxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgWF9USEVNRV9DT0xPUlMsIHRoaXMudmFsdWUoKSksXHJcbiAgICAgICAgICAnJyxcclxuICAgICAgICAgIHRoaXMuZGFyaygpIGFzIGJvb2xlYW5cclxuICAgICAgICApXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUodGhpcy50aGVtZSgpLmNvbG9ycyBhcyBYQ29sb3JzVGhlbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgZWZmZWN0KCgpID0+IHRoaXMuc2V0Q29udHJvbHNMYWJlbCgpKTtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmRhcmsoKSkge1xyXG4gICAgICAgIHRoaXMudGhlbWVTZXJ2aWNlLmNoYW5nZWQubmV4dCgnZGFyaycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGhlbWVTZXJ2aWNlLmNoYW5nZWQubmV4dCgnbGlnaHQnKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGhlbWUuc2V0KHRoaXMuY29uZmlnU2VydmljZS5nZXRUaGVtZSh0cnVlKSk7XHJcbiAgICB0aGlzLnNldENvbnRyb2xzKCk7XHJcbiAgICB0aGlzLnNldERlZmF1bHRDb2xvcnMoKTtcclxuICAgIHRoaXMuY29udHJvbHMudXBkYXRlKChjb250cm9scykgPT4ge1xyXG4gICAgICBjb250cm9scy5tYXAoKHg6IFhDb250cm9sKSA9PiB7XHJcbiAgICAgICAgeC52YWx1ZSA9ICh0aGlzLnRoZW1lKCkuY29sb3JzIGFzIFhDb2xvcnNUaGVtZSlbeC5pZF07XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gWy4uLmNvbnRyb2xzXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAoKVxyXG4gICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHg6IFhDb2xvcnNUaGVtZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYmVmb3JlQ29sb3JzLnNldCh0aGlzLmN1cnJlbnRDb2xvcnMoKSk7XHJcbiAgICAgICAgbGV0IGNoYW5nZXMgPSB0aGlzLmdldENoYW5nZXMoeCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNPbmVBbmRJbkNvbG9yS2V5cyhjaGFuZ2VzKSkge1xyXG4gICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpWzBdO1xyXG4gICAgICAgICAgbGV0IGNvbG9ycyA9ICF0aGlzLmRhcmsoKVxyXG4gICAgICAgICAgICA/IHRoaXMudGhlbWVTZXJ2aWNlLnNldENvbG9yUm9vdChrZXksIHZhbHVlLCAnJylcclxuICAgICAgICAgICAgOiB0aGlzLnRoZW1lU2VydmljZS5zZXREYXJrQ29sb3JSb290KGtleSwgdmFsdWUsICcnKTtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oeCwgY29sb3JzKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudENvbG9ycy5zZXQoeCk7XHJcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUoeCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudENvbG9ycy5zZXQoeCk7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlLnNldCh4KTtcclxuICAgICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5zZXRUaGVtZSh7IGNvbG9yczogeCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udHJvbHNMYWJlbCgpIHtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMubG9jYWxlKCkpLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgbGV0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xzKCkuZmluZCgoeSkgPT4geS5pZCA9PT0geCk7XHJcbiAgICAgIGlmIChjb250cm9sKSB7XHJcbiAgICAgICAgY29udHJvbC5sYWJlbCA9ICh0aGlzLmxvY2FsZSgpIGFzIGFueSlbeF07XHJcbiAgICAgICAgY29udHJvbC5jaGFuZ2UgJiYgY29udHJvbC5jaGFuZ2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0Q29sb3JzKCkge1xyXG4gICAgdGhpcy5iZWZvcmVDb2xvcnMuc2V0KHRoaXMudGhlbWUoKS5jb2xvcnMgYXMgWENvbG9yc1RoZW1lKTtcclxuICAgIHRoaXMuY3VycmVudENvbG9ycy5zZXQodGhpcy5iZWZvcmVDb2xvcnMoKSk7XHJcbiAgICB0aGlzLmRhcmtCZWZvcmVDb2xvcnMgPSB0aGlzLmJlZm9yZUNvbG9ycztcclxuICB9XHJcblxyXG4gIHNldENvbnRyb2xzKCkge1xyXG4gICAgWy4uLnRoaXMuY29udHJvbHMoKV0uZm9yRWFjaCgoY29udHJvbCwgaW5kZXgpID0+IHtcclxuICAgICAgbGV0IGFkZENvbnRyb2xzOiBYQ29udHJvbFtdID0gW107XHJcbiAgICAgIGNvbnRyb2wuc3BhbiA9ICF0aGlzLnNob3dEZXRhaWwoKSA/IDYgOiA1O1xyXG4gICAgICB0aGlzLndpZHRoLnNldCghdGhpcy5zaG93RGV0YWlsKCkgPyAnMzZyZW0nIDogJzQ1cmVtJyk7XHJcbiAgICAgIGZvciAobGV0IGFtb3VudCBvZiB0aGlzLmFtb3VudHMoKSkge1xyXG4gICAgICAgIGFkZENvbnRyb2xzLnB1c2goe1xyXG4gICAgICAgICAgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsXHJcbiAgICAgICAgICBpZDogYCR7Y29udHJvbC5pZH0ke3RoaXMudGhlbWVTZXJ2aWNlLmdldFN1ZmZpeChhbW91bnQpfWAsXHJcbiAgICAgICAgICBsYWJlbDogJycsXHJcbiAgICAgICAgICBoaWRkZW46ICF0aGlzLnNob3dEZXRhaWxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRyb2xzLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgIHguc3BsaWNlKGluZGV4ICogdGhpcy5hbW91bnRzKCkubGVuZ3RoICsgaW5kZXggKyAxLCAwLCAuLi5hZGRDb250cm9scyk7XHJcbiAgICAgICAgcmV0dXJuIFsuLi54XTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlZmF1bHQoKSB7XHJcbiAgICB0aGlzLmRhcmsuc2V0KGZhbHNlKTtcclxuICAgIGxldCBjb2xvcnMgPSB0aGlzLnRoZW1lU2VydmljZS5nZXREZWZpbmVDb2xvcnMoT2JqZWN0LmFzc2lnbih7fSwgWF9USEVNRV9DT0xPUlMpLCAnJywgdGhpcy5kYXJrKCkpO1xyXG4gICAgdGhpcy5iZWZvcmVDb2xvcnMuc2V0KGNvbG9ycyk7XHJcbiAgICB0aGlzLmN1cnJlbnRDb2xvcnMuc2V0KGNvbG9ycyk7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUoY29sb3JzKTtcclxuICAgIHRoaXMuZGVmYXVsdENsaWNrLmVtaXQoY29sb3JzKTtcclxuICB9XHJcblxyXG4gIGlzT25lQW5kSW5Db2xvcktleXMoY29sb3JzOiBYQ29sb3JzVGhlbWUpIHtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb2xvcnMpO1xyXG4gICAgaWYgKGtleXMubGVuZ3RoID09PSAxICYmIFhfVEhFTUVfQ09MT1JfS0VZUy5pbmNsdWRlcyhrZXlzWzBdKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldENoYW5nZXMoY29sb3JzOiBYQ29sb3JzVGhlbWUpIHtcclxuICAgIGxldCByZXN1bHQ6IFhDb2xvcnNUaGVtZSA9IHt9O1xyXG4gICAgZm9yIChsZXQgY29sb3IgaW4gY29sb3JzKSB7XHJcbiAgICAgIGlmIChjb2xvcnNbY29sb3JdICE9PSB0aGlzLmJlZm9yZUNvbG9ycygpW2NvbG9yXSkge1xyXG4gICAgICAgIHJlc3VsdFtjb2xvcl0gPSBjb2xvcnNbY29sb3JdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgZGFya0NoYW5nZXMoKSB7XHJcbiAgICBsZXQgY29sb3JzID0gdGhpcy5kYXJrQmVmb3JlQ29sb3JzKCk7XHJcbiAgICBpZiAodGhpcy5kYXJrKCkpIHtcclxuICAgICAgdGhpcy5iZWZvcmVDb2xvcnMuc2V0KHRoaXMuZm9ybUdyb3VwKCkudmFsdWUpO1xyXG4gICAgICB0aGlzLmRhcmtCZWZvcmVDb2xvcnMuc2V0KHRoaXMuZm9ybUdyb3VwKCkudmFsdWUpO1xyXG4gICAgICBjb2xvcnMgPSB0aGlzLnRoZW1lU2VydmljZS5nZXREZWZpbmVDb2xvcnMoXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy50aGVtZVNlcnZpY2UuZ2V0Q29sb3JzSW5Qcm9wZXJ0eShYX1RIRU1FX0NPTE9SUyksIFhfVEhFTUVfREFSS19DT0xPUlMpLFxyXG4gICAgICAgICcnLFxyXG4gICAgICAgIHRoaXMuZGFyaygpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUoY29sb3JzKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtdGhlbWVcIj5cclxuICA8eC1yb3c+XHJcbiAgICBAaWYgKHNob3dEYXJrKCkpIHtcclxuICAgICAgPHgtY29sIFtzdHlsZS53aWR0aC5yZW1dPVwiOFwiPlxyXG4gICAgICAgIDx4LXN3aXRjaFxyXG4gICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcclxuICAgICAgICAgIFtsYWJlbF09XCJsb2NhbGUoKS5kYXJrTW9kZSFcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXJrXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRhcmtDaGFuZ2VzKClcIlxyXG4gICAgICAgID48L3gtc3dpdGNoPlxyXG4gICAgICA8L3gtY29sPlxyXG4gICAgfVxyXG4gICAgPHgtY29sIFtzdHlsZS53aWR0aC5yZW1dPVwiOFwiPlxyXG4gICAgICA8eC1idXR0b24gKGNsaWNrKT1cImRlZmF1bHQoKVwiPnt7IGxvY2FsZSgpLmluaXREZWZhdWx0IH19PC94LWJ1dHRvbj5cclxuICAgIDwveC1jb2w+XHJcbiAgPC94LXJvdz5cclxuICA8eC1mb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwKClcIiBbY29udHJvbHNdPVwiY29udHJvbHMoKVwiIFt3aWR0aF09XCJ3aWR0aCgpXCIgc3Bhbj1cIjJcIiBzcGFjZT1cIjFcIj48L3gtZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGhlbWUvdGhlbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGhlbWUvdGhlbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLE1BQU0sRUFFTixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsY0FBYyxFQUdkLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsbUJBQW1CLEVBQ3BCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBWSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFjLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8s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QUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uRGVzdHJveSxcclxuICBpbmplY3QsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBzaWduYWwsXHJcbiAgZWZmZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZVByb3BlcnR5IH0gZnJvbSAnLi90aGVtZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWENvbG9yc1RoZW1lLFxyXG4gIFhUaGVtZSxcclxuICBYX1RIRU1FX0NPTE9SX0tFWVMsXHJcbiAgWF9USEVNRV9DT0xPUlMsXHJcbiAgWF9USEVNRV9EQVJLX0NPTE9SU1xyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWENvbnRyb2wsIFhGb3JtQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvZm9ybSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWEkxOG5EaXJlY3RpdmUsIFhJMThuU2VydmljZSwgWEkxOG5UaGVtZSwgemhfQ04gfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvc3dpdGNoJztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhDb2xDb21wb25lbnQsIFhSb3dDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9sYXlvdXQnO1xyXG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC10aGVtZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBYU3dpdGNoQ29tcG9uZW50LFxyXG4gICAgWEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFhSb3dDb21wb25lbnQsXHJcbiAgICBYQ29sQ29tcG9uZW50LFxyXG4gICAgWEZvcm1Db21wb25lbnQsXHJcbiAgICBYSTE4bkRpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS9pbmRleC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYVGhlbWVDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRoZW1lQ29tcG9uZW50IGV4dGVuZHMgWFRoZW1lUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGkxOG4gPSBpbmplY3QoWEkxOG5TZXJ2aWNlKTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuICB0aGVtZVNlcnZpY2UgPSB0aGlzLmNvbmZpZ1NlcnZpY2UudGhlbWVTZXJ2aWNlO1xyXG5cclxuICBmb3JtR3JvdXAgPSBzaWduYWwobmV3IFVudHlwZWRGb3JtR3JvdXAoe30pKTtcclxuICB0aGVtZSA9IHNpZ25hbDxYVGhlbWU+KHsgY29sb3JzOiB7fSB9KTtcclxuICB3aWR0aCA9IHNpZ25hbCgnNDVyZW0nKTtcclxuICBiZWZvcmVDb2xvcnMgPSBzaWduYWw8WENvbG9yc1RoZW1lPih7fSk7XHJcbiAgY3VycmVudENvbG9ycyA9IHNpZ25hbDxYQ29sb3JzVGhlbWU+KHt9KTtcclxuICBkYXJrQmVmb3JlQ29sb3JzID0gc2lnbmFsPFhDb2xvcnNUaGVtZT4oe30pO1xyXG4gIGNvbnRyb2xzID0gc2lnbmFsPFhDb250cm9sW10+KFtcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAncHJpbWFyeScsIGxhYmVsOiAn5Li76ImyJywgc3BhbjogNSB9LFxyXG4gICAgeyBjb250cm9sOiAnY29sb3ItcGlja2VyJywgaWQ6ICdzdWNjZXNzJywgbGFiZWw6ICfmiJDlip8nLCBzcGFuOiA1IH0sXHJcbiAgICB7IGNvbnRyb2w6ICdjb2xvci1waWNrZXInLCBpZDogJ3dhcm5pbmcnLCBsYWJlbDogJ+itpuWRiicsIHNwYW46IDUgfSxcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAnZGFuZ2VyJywgbGFiZWw6ICfljbHpmaknLCBzcGFuOiA1IH0sXHJcbiAgICB7IGNvbnRyb2w6ICdjb2xvci1waWNrZXInLCBpZDogJ2luZm8nLCBsYWJlbDogJ+S/oeaBrycsIHNwYW46IDUgfSxcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAnYmFja2dyb3VuZCcsIGxhYmVsOiAn6IOM5pmvJywgc3BhbjogNSB9LFxyXG4gICAgeyBjb250cm9sOiAnY29sb3ItcGlja2VyJywgaWQ6ICdib3JkZXInLCBsYWJlbDogJ+i+ueahhicsIHNwYW46IDUgfSxcclxuICAgIHsgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsIGlkOiAndGV4dCcsIGxhYmVsOiAn5paH5a2XJywgc3BhbjogNSB9XHJcbiAgXSk7XHJcblxyXG4gIG92ZXJyaWRlIHZhbHVlID0gc2lnbmFsPFhDb2xvcnNUaGVtZT4oe30pO1xyXG5cclxuICBsb2NhbGUgPSB0b1NpZ25hbCh0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlLnBpcGUobWFwKCh4KSA9PiB4LnRoZW1lIGFzIFhJMThuVGhlbWUpKSwgeyBpbml0aWFsVmFsdWU6IHpoX0NOLnRoZW1lIH0pO1xyXG5cclxuICBwcml2YXRlIHVuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFhDb2xvcnNUaGVtZSkge1xyXG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xyXG4gICAgaWYgKHRoaXMudmFsdWUoKSAmJiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKCkpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy50aGVtZS5zZXQoe1xyXG4gICAgICAgIGNvbG9yczogdGhpcy50aGVtZVNlcnZpY2UuZ2V0RGVmaW5lQ29sb3JzKFxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgWF9USEVNRV9DT0xPUlMsIHRoaXMudmFsdWUoKSksXHJcbiAgICAgICAgICAnJyxcclxuICAgICAgICAgIHRoaXMuZGFyaygpIGFzIGJvb2xlYW5cclxuICAgICAgICApXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUodGhpcy50aGVtZSgpLmNvbG9ycyBhcyBYQ29sb3JzVGhlbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgZWZmZWN0KCgpID0+IHRoaXMuc2V0Q29udHJvbHNMYWJlbCgpKTtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmRhcmsoKSkge1xyXG4gICAgICAgIHRoaXMudGhlbWVTZXJ2aWNlLmNoYW5nZWQubmV4dCgnZGFyaycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGhlbWVTZXJ2aWNlLmNoYW5nZWQubmV4dCgnbGlnaHQnKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGhlbWUuc2V0KHRoaXMuY29uZmlnU2VydmljZS5nZXRUaGVtZSh0cnVlKSk7XHJcbiAgICB0aGlzLnNldENvbnRyb2xzKCk7XHJcbiAgICB0aGlzLnNldERlZmF1bHRDb2xvcnMoKTtcclxuICAgIHRoaXMuY29udHJvbHMudXBkYXRlKChjb250cm9scykgPT4ge1xyXG4gICAgICBjb250cm9scy5tYXAoKHg6IFhDb250cm9sKSA9PiB7XHJcbiAgICAgICAgeC52YWx1ZSA9ICh0aGlzLnRoZW1lKCkuY29sb3JzIGFzIFhDb2xvcnNUaGVtZSlbeC5pZF07XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gWy4uLmNvbnRyb2xzXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAoKVxyXG4gICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHg6IFhDb2xvcnNUaGVtZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYmVmb3JlQ29sb3JzLnNldCh0aGlzLmN1cnJlbnRDb2xvcnMoKSk7XHJcbiAgICAgICAgbGV0IGNoYW5nZXMgPSB0aGlzLmdldENoYW5nZXMoeCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNPbmVBbmRJbkNvbG9yS2V5cyhjaGFuZ2VzKSkge1xyXG4gICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpWzBdO1xyXG4gICAgICAgICAgbGV0IGNvbG9ycyA9ICF0aGlzLmRhcmsoKVxyXG4gICAgICAgICAgICA/IHRoaXMudGhlbWVTZXJ2aWNlLnNldENvbG9yUm9vdChrZXksIHZhbHVlLCAnJylcclxuICAgICAgICAgICAgOiB0aGlzLnRoZW1lU2VydmljZS5zZXREYXJrQ29sb3JSb290KGtleSwgdmFsdWUsICcnKTtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oeCwgY29sb3JzKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudENvbG9ycy5zZXQoeCk7XHJcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUoeCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudENvbG9ycy5zZXQoeCk7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlLnNldCh4KTtcclxuICAgICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5zZXRUaGVtZSh7IGNvbG9yczogeCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udHJvbHNMYWJlbCgpIHtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMubG9jYWxlKCkpLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgbGV0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xzKCkuZmluZCgoeSkgPT4geS5pZCA9PT0geCk7XHJcbiAgICAgIGlmIChjb250cm9sKSB7XHJcbiAgICAgICAgY29udHJvbC5sYWJlbCA9ICh0aGlzLmxvY2FsZSgpIGFzIGFueSlbeF07XHJcbiAgICAgICAgY29udHJvbC5jaGFuZ2UgJiYgY29udHJvbC5jaGFuZ2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0Q29sb3JzKCkge1xyXG4gICAgdGhpcy5iZWZvcmVDb2xvcnMuc2V0KHRoaXMudGhlbWUoKS5jb2xvcnMgYXMgWENvbG9yc1RoZW1lKTtcclxuICAgIHRoaXMuY3VycmVudENvbG9ycy5zZXQodGhpcy5iZWZvcmVDb2xvcnMoKSk7XHJcbiAgICB0aGlzLmRhcmtCZWZvcmVDb2xvcnMgPSB0aGlzLmJlZm9yZUNvbG9ycztcclxuICB9XHJcblxyXG4gIHNldENvbnRyb2xzKCkge1xyXG4gICAgWy4uLnRoaXMuY29udHJvbHMoKV0uZm9yRWFjaCgoY29udHJvbCwgaW5kZXgpID0+IHtcclxuICAgICAgbGV0IGFkZENvbnRyb2xzOiBYQ29udHJvbFtdID0gW107XHJcbiAgICAgIGNvbnRyb2wuc3BhbiA9ICF0aGlzLnNob3dEZXRhaWwoKSA/IDYgOiA1O1xyXG4gICAgICB0aGlzLndpZHRoLnNldCghdGhpcy5zaG93RGV0YWlsKCkgPyAnMzZyZW0nIDogJzQ1cmVtJyk7XHJcbiAgICAgIGZvciAobGV0IGFtb3VudCBvZiB0aGlzLmFtb3VudHMoKSkge1xyXG4gICAgICAgIGFkZENvbnRyb2xzLnB1c2goe1xyXG4gICAgICAgICAgY29udHJvbDogJ2NvbG9yLXBpY2tlcicsXHJcbiAgICAgICAgICBpZDogYCR7Y29udHJvbC5pZH0ke3RoaXMudGhlbWVTZXJ2aWNlLmdldFN1ZmZpeChhbW91bnQpfWAsXHJcbiAgICAgICAgICBsYWJlbDogJycsXHJcbiAgICAgICAgICBoaWRkZW46ICF0aGlzLnNob3dEZXRhaWxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRyb2xzLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgIHguc3BsaWNlKGluZGV4ICogdGhpcy5hbW91bnRzKCkubGVuZ3RoICsgaW5kZXggKyAxLCAwLCAuLi5hZGRDb250cm9scyk7XHJcbiAgICAgICAgcmV0dXJuIFsuLi54XTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlZmF1bHQoKSB7XHJcbiAgICB0aGlzLmRhcmsuc2V0KGZhbHNlKTtcclxuICAgIGxldCBjb2xvcnMgPSB0aGlzLnRoZW1lU2VydmljZS5nZXREZWZpbmVDb2xvcnMoT2JqZWN0LmFzc2lnbih7fSwgWF9USEVNRV9DT0xPUlMpLCAnJywgdGhpcy5kYXJrKCkpO1xyXG4gICAgdGhpcy5iZWZvcmVDb2xvcnMuc2V0KGNvbG9ycyk7XHJcbiAgICB0aGlzLmN1cnJlbnRDb2xvcnMuc2V0KGNvbG9ycyk7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUoY29sb3JzKTtcclxuICAgIHRoaXMuZGVmYXVsdENsaWNrLmVtaXQoY29sb3JzKTtcclxuICB9XHJcblxyXG4gIGlzT25lQW5kSW5Db2xvcktleXMoY29sb3JzOiBYQ29sb3JzVGhlbWUpIHtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb2xvcnMpO1xyXG4gICAgaWYgKGtleXMubGVuZ3RoID09PSAxICYmIFhfVEhFTUVfQ09MT1JfS0VZUy5pbmNsdWRlcyhrZXlzWzBdKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldENoYW5nZXMoY29sb3JzOiBYQ29sb3JzVGhlbWUpIHtcclxuICAgIGxldCByZXN1bHQ6IFhDb2xvcnNUaGVtZSA9IHt9O1xyXG4gICAgZm9yIChsZXQgY29sb3IgaW4gY29sb3JzKSB7XHJcbiAgICAgIGlmIChjb2xvcnNbY29sb3JdICE9PSB0aGlzLmJlZm9yZUNvbG9ycygpW2NvbG9yXSkge1xyXG4gICAgICAgIHJlc3VsdFtjb2xvcl0gPSBjb2xvcnNbY29sb3JdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgZGFya0NoYW5nZXMoKSB7XHJcbiAgICBsZXQgY29sb3JzID0gdGhpcy5kYXJrQmVmb3JlQ29sb3JzKCk7XHJcbiAgICBpZiAodGhpcy5kYXJrKCkpIHtcclxuICAgICAgdGhpcy5iZWZvcmVDb2xvcnMuc2V0KHRoaXMuZm9ybUdyb3VwKCkudmFsdWUpO1xyXG4gICAgICB0aGlzLmRhcmtCZWZvcmVDb2xvcnMuc2V0KHRoaXMuZm9ybUdyb3VwKCkudmFsdWUpO1xyXG4gICAgICBjb2xvcnMgPSB0aGlzLnRoZW1lU2VydmljZS5nZXREZWZpbmVDb2xvcnMoXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy50aGVtZVNlcnZpY2UuZ2V0Q29sb3JzSW5Qcm9wZXJ0eShYX1RIRU1FX0NPTE9SUyksIFhfVEhFTUVfREFSS19DT0xPUlMpLFxyXG4gICAgICAgICcnLFxyXG4gICAgICAgIHRoaXMuZGFyaygpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Hcm91cCgpLnBhdGNoVmFsdWUoY29sb3JzKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtdGhlbWVcIj5cclxuICA8eC1yb3c+XHJcbiAgICBAaWYgKHNob3dEYXJrKCkpIHtcclxuICAgICAgPHgtY29sIFtzdHlsZS53aWR0aC5yZW1dPVwiOFwiPlxyXG4gICAgICAgIDx4LXN3aXRjaFxyXG4gICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcclxuICAgICAgICAgIFtsYWJlbF09XCJsb2NhbGUoKS5kYXJrTW9kZSFcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXJrXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRhcmtDaGFuZ2VzKClcIlxyXG4gICAgICAgID48L3gtc3dpdGNoPlxyXG4gICAgICA8L3gtY29sPlxyXG4gICAgfVxyXG4gICAgPHgtY29sIFtzdHlsZS53aWR0aC5yZW1dPVwiOFwiPlxyXG4gICAgICA8eC1idXR0b24gKGNsaWNrKT1cImRlZmF1bHQoKVwiPnt7IGxvY2FsZSgpLmluaXREZWZhdWx0IH19PC94LWJ1dHRvbj5cclxuICAgIDwveC1jb2w+XHJcbiAgPC94LXJvdz5cclxuICA8eC1mb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwKClcIiBbY29udHJvbHNdPVwiY29udHJvbHMoKVwiIFt3aWR0aF09XCJ3aWR0aCgpXCIgc3Bhbj1cIjJcIiBzcGFjZT1cIjFcIj48L3gtZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { XThemeComponent } from './theme.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class XThemeModule {
5
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XThemeModule, imports: [XThemeComponent], exports: [XThemeComponent] }); }
7
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XThemeModule, imports: [XThemeComponent] }); }
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, imports: [XThemeComponent], exports: [XThemeComponent] }); }
7
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, imports: [XThemeComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XThemeModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [XThemeComponent],
@@ -53,10 +53,10 @@ export class XThemeProperty extends XFormControlFunction(X_THEME_CONFIG_NAME) {
53
53
  */
54
54
  this.defaultClick = output();
55
55
  }
56
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XThemeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XThemeProperty, selector: "x-theme-property", inputs: { prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, amounts: { classPropertyName: "amounts", publicName: "amounts", isSignal: true, isRequired: false, transformFunction: null }, showDark: { classPropertyName: "showDark", publicName: "showDark", isSignal: true, isRequired: false, transformFunction: null }, showDetail: { classPropertyName: "showDetail", publicName: "showDetail", isSignal: true, isRequired: false, transformFunction: null }, dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dark: "darkChange", defaultClick: "defaultClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
56
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XThemeProperty, selector: "x-theme-property", inputs: { prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, amounts: { classPropertyName: "amounts", publicName: "amounts", isSignal: true, isRequired: false, transformFunction: null }, showDark: { classPropertyName: "showDark", publicName: "showDark", isSignal: true, isRequired: false, transformFunction: null }, showDetail: { classPropertyName: "showDetail", publicName: "showDetail", isSignal: true, isRequired: false, transformFunction: null }, dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dark: "darkChange", defaultClick: "defaultClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XThemeProperty, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XThemeProperty, decorators: [{
60
60
  type: Component,
61
61
  args: [{ selector: `${XThemePrefix}-property`, template: '' }]
62
62
  }] });
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { XTimeAgoPipe } from './time-ago.pipe';
3
3
  import * as i0 from "@angular/core";
4
4
  export class XTimeAgoModule {
5
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimeAgoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XTimeAgoModule, imports: [XTimeAgoPipe], exports: [XTimeAgoPipe] }); }
7
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimeAgoModule }); }
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule, imports: [XTimeAgoPipe], exports: [XTimeAgoPipe] }); }
7
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimeAgoModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [XTimeAgoPipe],
@@ -60,10 +60,10 @@ export class XTimeAgoPipe extends DatePipe {
60
60
  result = this.localeI18n()?.just;
61
61
  return result;
62
62
  }
63
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimeAgoPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
64
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XTimeAgoPipe, isStandalone: true, name: "xTimeAgo" }); }
63
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
64
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoPipe, isStandalone: true, name: "xTimeAgo" }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimeAgoPipe, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimeAgoPipe, decorators: [{
67
67
  type: Pipe,
68
68
  args: [{ name: `${XTimeAgoPrefix}`, standalone: true }]
69
69
  }] });
@@ -302,11 +302,11 @@ export class XTimePickerFrameComponent {
302
302
  }
303
303
  });
304
304
  }
305
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimePickerFrameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
306
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XTimePickerFrameComponent, isStandalone: true, selector: "x-time-picker-frame", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, defaultNow: { classPropertyName: "defaultNow", publicName: "defaultNow", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, disabledTimeParam: { classPropertyName: "disabledTimeParam", publicName: "disabledTimeParam", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodeEmit: "nodeEmit" }, viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true, isSignal: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true, isSignal: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true, isSignal: true }, { propertyName: "use12HoursRef", first: true, predicate: ["use12HoursRef"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0;display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list,.x-time-picker-frame-use12Hours>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XListComponent, selector: "x-list" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
305
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerFrameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
306
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTimePickerFrameComponent, isStandalone: true, selector: "x-time-picker-frame", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, defaultNow: { classPropertyName: "defaultNow", publicName: "defaultNow", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, disabledTimeParam: { classPropertyName: "disabledTimeParam", publicName: "disabledTimeParam", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodeEmit: "nodeEmit" }, viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true, isSignal: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true, isSignal: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true, isSignal: true }, { propertyName: "use12HoursRef", first: true, predicate: ["use12HoursRef"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0}.x-time-picker-frame{display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list,.x-time-picker-frame-use12Hours>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XListComponent, selector: "x-list" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
307
307
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimePickerFrameComponent, decorators: [{
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerFrameComponent, decorators: [{
309
309
  type: Component,
310
- args: [{ selector: `${XTimePickerFramePrefix}`, standalone: true, imports: [FormsModule, XListComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0;display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list,.x-time-picker-frame-use12Hours>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"] }]
310
+ args: [{ selector: `${XTimePickerFramePrefix}`, standalone: true, imports: [FormsModule, XListComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n </div>\r\n @if (type() !== 'hour') {\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n </div>\r\n }\r\n @if (type() === 'time') {\r\n <div class=\"x-time-picker-frame-second\" #secondRef>\r\n <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n </div>\r\n }\r\n @if (use12Hours()) {\r\n <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0}.x-time-picker-frame{display:block;height:100%}.x-time-picker-frame>div{width:4.25rem;max-height:16rem;padding-bottom:13.5rem;padding:.25rem .25rem 13.75rem}.x-time-picker-frame>div:first-child{width:4.125rem}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second,.x-time-picker-frame-use12Hours{position:relative;float:left;overflow:hidden}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover,.x-time-picker-frame-use12Hours:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list,.x-time-picker-frame-use12Hours>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem;border-radius:0}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}.x-time-picker-frame-use12Hours{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list{width:4.5rem}.x-time-picker-frame-use12Hours>x-list>.x-list>x-list-option{min-width:4.5rem}\n"] }]
311
311
  }] });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkIsc0JBQXNCLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDMUcsT0FBTyxFQUNMLHNCQUFzQixFQUV0QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsU0FBUyxFQUNWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFlBQVksRUFBbUIsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFXdEQsTUFBTSxPQUFPLHlCQUF5QjtJQVR0QztRQVVVLFNBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsU0FBSSxHQUFHLEtBQUssQ0FBa0IsTUFBTSxDQUFDLENBQUM7UUFDdEMsVUFBSyxHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUMv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LFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2lJQTVTVSx5QkFBeUI7cUhBQXpCLHlCQUF5Qiw2dkRDdEN0Qyx1NEJBb0JBLHVnRURZWSxXQUFXLCtWQUFFLGNBQWM7OzJGQU0xQix5QkFBeUI7a0JBVHJDLFNBQVM7K0JBQ0UsR0FBRyxzQkFBc0IsRUFBRSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLGlCQUd2QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBvdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG4gIHZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGltZVBpY2tlckRpc2FibGVkVGltZSwgWFRpbWVQaWNrZXJGcmFtZVByZWZpeCwgWFRpbWVQaWNrZXJUeXBlIH0gZnJvbSAnLi90aW1lLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWFJlcXVlc3RBbmltYXRpb25GcmFtZSxcclxuICBYSWRlbnRpdHksXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhJc0VtcHR5LFxyXG4gIFhJc0Z1bmN0aW9uLFxyXG4gIFhJc051bGwsXHJcbiAgWElzTnVtYmVyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhJMThuU2VydmljZSwgWEkxOG5UaW1lUGlja2VyLCB6aF9DTiB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhMaXN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvbGlzdCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGltZVBpY2tlckZyYW1lUHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIFhMaXN0Q29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLWZyYW1lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRpbWVQaWNrZXJGcmFtZUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgdHlwZSA9IGlucHV0PFhUaW1lUGlja2VyVHlwZT4oJ3RpbWUnKTtcclxuICB2YWx1ZSA9IGlucHV0PG51bWJlciB8IG51bGw+KCk7XHJcbiAgdXNlMTJIb3VycyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBob3VyU3RlcCA9IGlucHV0PG51bWJlcj4oMSk7XHJcbiAgbWludXRlU3RlcCA9IGlucHV0PG51bWJlcj4oMSk7XHJcbiAgc2Vjb25kU3RlcCA9IGlucHV0PG51bWJlcj4oMSk7XHJcbiAgZGVmYXVsdE5vdyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGRpc2FibGVkVGltZSA9IGlucHV0PFhUaW1lUGlja2VyRGlzYWJsZWRUaW1lPigpO1xyXG4gIGRpc2FibGVkVGltZVBhcmFtID0gaW5wdXQ8YW55PigpO1xyXG4gIG5vZGVFbWl0ID0gb3V0cHV0PERhdGU+KCk7XHJcbiAgaG91clJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2hvdXJSZWYnKTtcclxuICBtaW51dGVSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdtaW51dGVSZWYnKTtcclxuICBzZWNvbmRSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdzZWNvbmRSZWYnKTtcclxuICB1c2UxMkhvdXJzUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PigndXNlMTJIb3Vyc1JlZicpO1xyXG4gIG1vZGVsID0gc2lnbmFsPERhdGUgfCBudWxsPihudWxsKTtcclxuICBob3VyID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xyXG4gIG1pbnV0ZSA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcclxuICBzZWNvbmQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgdXNlMTJIb3VyID0gc2lnbmFsKCdhbScpO1xyXG4gIHNjcm9sbEFuaW1hdGluZyA9IHNpZ25hbDx7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfT4oe30pO1xyXG4gIGhvdXJEYXRhID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgbGV0IGxlbmd0aCA9IHRoaXMudXNlMTJIb3VycygpID8gMTIgOiAyNDtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLmNlaWwobGVuZ3RoIC8gdGhpcy5ob3VyU3RlcCgpKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgaWYgKHRoaXMudXNlMTJIb3VycygpICYmIGkgPT09IDApIHtcclxuICAgICAgICBpID0gMTI7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnNldERpc2FibGVkKCdob3VycycsIGkpLFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhpLCAyKSxcclxuICAgICAgICAgIGlkOiBpXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBudW0gPSBpICogdGhpcy5ob3VyU3RlcCgpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnaG91cnMnLCBudW0pLFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhudW0sIDIpLFxyXG4gICAgICAgICAgaWQ6IG51bVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0pO1xyXG4gIG1pbnV0ZURhdGEgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5jZWlsKDYwIC8gdGhpcy5taW51dGVTdGVwKCkpIH0pLm1hcCgoXywgaSkgPT4ge1xyXG4gICAgICBjb25zdCBudW0gPSBpICogdGhpcy5taW51dGVTdGVwKCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuc2V0RGlzYWJsZWQoJ21pbnV0ZXMnLCBudW0pLFxyXG4gICAgICAgIGxhYmVsOiB0aGlzLnByZWZpeFplcm8obnVtLCAyKSxcclxuICAgICAgICBpZDogbnVtXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9KTtcclxuICBzZWNvbmREYXRhID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGguY2VpbCg2MCAvIHRoaXMuc2Vjb25kU3RlcCgpKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgY29uc3QgbnVtOiBudW1iZXIgPSBpICogdGhpcy5zZWNvbmRTdGVwKCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuc2V0RGlzYWJsZWQoJ3NlY29uZHMnLCBudW0pLFxyXG4gICAgICAgIGxhYmVsOiB0aGlzLnByZWZpeFplcm8obnVtLCAyKSxcclxuICAgICAgICBpZDogbnVtXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9KTtcclxuICB1c2UxMkhvdXJzRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ2FtJyxcclxuICAgICAgICBsYWJlbDogdGhpcy5sb2NhbGUoKS5hbVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdwbScsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMubG9jYWxlKCkucG1cclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9KTtcclxuICBsb2NhbGUgPSB0b1NpZ25hbCh0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlLnBpcGUobWFwKCh4KSA9PiB4LnRpbWVQaWNrZXIgYXMgWEkxOG5UaW1lUGlja2VyKSksIHtcclxuICAgIGluaXRpYWxWYWx1ZTogemhfQ04udGltZVBpY2tlclxyXG4gIH0pO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKFhJc0NoYW5nZSh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZCh0eXBlOiAnaG91cnMnIHwgJ21pbnV0ZXMnIHwgJ3NlY29uZHMnLCBudW06IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWRUaW1lKCkgJiYgWElzRnVuY3Rpb24odGhpcy5kaXNhYmxlZFRpbWUoKSkpIHtcclxuICAgICAgY29uc3QgZGlzYWJsZWRNYXAgPSB0aGlzLmRpc2FibGVkVGltZSgpISh0aGlzLmRpc2FibGVkVGltZVBhcmFtKCkhKTtcclxuICAgICAgY29uc3QgeyBkaXNhYmxlZEhvdXJzLCBkaXNhYmxlZE1pbnV0ZXMsIGRpc2FibGVkU2Vjb25kcyB9ID0gZGlzYWJsZWRNYXA7XHJcbiAgICAgIGxldCBkaXNhYmxlZE51bXM6IG51bWJlcltdID0gW107XHJcbiAgICAgIGlmICh0eXBlID09PSAnaG91cnMnKSB7XHJcbiAgICAgICAgZGlzYWJsZWROdW1zID0gZGlzYWJsZWRIb3VycyA/IGRpc2FibGVkSG91cnMoKSA6IFtdO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtaW51dGVzJykge1xyXG4gICAgICAgIGRpc2FibGVkTnVtcyA9IGRpc2FibGVkTWludXRlcyA/IGRpc2FibGVkTWludXRlcygpIDogW107XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3NlY29uZHMnKSB7XHJcbiAgICAgICAgZGlzYWJsZWROdW1zID0gZGlzYWJsZWRTZWNvbmRzID8gZGlzYWJsZWRTZWNvbmRzKCkgOiBbXTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZGlzYWJsZWROdW1zLmluY2x1ZGVzKG51bSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKCkpKSB7XHJcbiAgICAgIHRoaXMubW9kZWwuc2V0KG5ldyBEYXRlKHRoaXMudmFsdWUoKSEpKTtcclxuICAgICAgdGhpcy5zZXRUaW1lKHRoaXMubW9kZWwoKSEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZGVmYXVsdE5vdygpKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5zZXQodGhpcy5zZXROb3coKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyLnNldChudWxsKTtcclxuICAgICAgICB0aGlzLm1pbnV0ZS5zZXQobnVsbCk7XHJcbiAgICAgICAgdGhpcy5zZWNvbmQuc2V0KG51bGwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXROb3coKSB7XHJcbiAgICBjb25zdCBkZWYgPSBuZXcgRGF0ZSgnMTk3MC0wMS0wMScpO1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShcclxuICAgICAgZGVmLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgIGRlZi5nZXRNb250aCgpLFxyXG4gICAgICBkZWYuZ2V0RGF0ZSgpLFxyXG4gICAgICBub3cuZ2V0SG91cnMoKSxcclxuICAgICAgbm93LmdldE1pbnV0ZXMoKSxcclxuICAgICAgbm93LmdldFNlY29uZHMoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldFplcm8oKSB7XHJcbiAgICBjb25zdCBkZWYgPSBuZXcgRGF0ZSgnMTk3MC0wMS0wMScpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRlZi5nZXRGdWxsWWVhcigpLCBkZWYuZ2V0TW9udGgoKSwgZGVmLmdldERhdGUoKSwgMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICBzZXRUaW1lKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLnVzZTEySG91cnMoKSkge1xyXG4gICAgICBsZXQgaG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgICAgaWYgKGhvdXIgPiAxMikge1xyXG4gICAgICAgIHRoaXMuaG91ci5zZXQoaG91ciAtIDEyKTtcclxuICAgICAgICB0aGlzLnVzZTEySG91ci5zZXQoJ3BtJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaG91ciA9PT0gMTIpIHtcclxuICAgICAgICB0aGlzLmhvdXIuc2V0KDEyKTtcclxuICAgICAgICB0aGlzLnVzZTEySG91ci5zZXQoJ3BtJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyLnNldChob3VyID09PSAwID8gMTIgOiBob3VyKTtcclxuICAgICAgICB0aGlzLnVzZTEySG91ci5zZXQoJ2FtJyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaG91ci5zZXQoZGF0ZS5nZXRIb3VycygpKTtcclxuICAgIH1cclxuICAgIHRoaXMubWludXRlLnNldChkYXRlLmdldE1pbnV0ZXMoKSk7XHJcbiAgICB0aGlzLnNlY29uZC5zZXQoZGF0ZS5nZXRTZWNvbmRzKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJlZml4WmVybyhudW06IG51bWJlciwgbjogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKEFycmF5KG4pLmpvaW4oJzAnKSArIG51bSkuc2xpY2UoLW4pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2Nyb2xsVG9wKGFuaW1hdGluZyA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCdob3VyJywgdGhpcy5ob3VyUmVmKCkubmF0aXZlRWxlbWVudCwgdGhpcy5ob3VyKCkhLCBhbmltYXRpbmcpO1xyXG4gICAgdGhpcy5zZWxlY3RlZCgnbWludXRlJywgdGhpcy5taW51dGVSZWYoKT8ubmF0aXZlRWxlbWVudCwgdGhpcy5taW51dGUoKSEsIGFuaW1hdGluZyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCdzZWNvbmQnLCB0aGlzLnNlY29uZFJlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLnNlY29uZCgpISwgYW5pbWF0aW5nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQoJ3VzZTEySG91cicsIHRoaXMudXNlMTJIb3Vyc1JlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLnVzZTEySG91cigpLCBhbmltYXRpbmcpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWQoXHJcbiAgICB0eXBlOiAnaG91cicgfCAnbWludXRlJyB8ICdzZWNvbmQnIHwgJ3VzZTEySG91cicsXHJcbiAgICBlbGU/OiBIVE1MRWxlbWVudCxcclxuICAgIG51bT86IG51bWJlciB8IHN0cmluZyxcclxuICAgIGFuaW1hdGluZyA9IGZhbHNlXHJcbiAgKSB7XHJcbiAgICBpZiAoIWVsZSB8fCBYSXNOdWxsKG51bSkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnNjcm9sbEFuaW1hdGluZygpW2VsZS5jbGFzc05hbWVdKSByZXR1cm47XHJcbiAgICBsZXQgbGVuID0gTnVtYmVyKG51bSk7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnaG91cic6XHJcbiAgICAgICAgbGVuID0gdGhpcy5ob3VyRGF0YSgpLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbnVtKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWludXRlJzpcclxuICAgICAgICBsZW4gPSB0aGlzLm1pbnV0ZURhdGEoKS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NlY29uZCc6XHJcbiAgICAgICAgbGVuID0gdGhpcy5zZWNvbmREYXRhKCkuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBudW0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd1c2UxMkhvdXInOlxyXG4gICAgICAgIGxlbiA9IHRoaXMudXNlMTJIb3Vyc0RhdGEoKS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjdXJyZW50ID0gZWxlLnF1ZXJ5U2VsZWN0b3IoYC54LWxpc3QgeC1saXN0LW9wdGlvbjpudGgtY2hpbGQoJHtsZW4gKyAxfSlgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmIChjdXJyZW50KSB7XHJcbiAgICAgIGlmIChhbmltYXRpbmcpIHtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvKGVsZSwgY3VycmVudC5vZmZzZXRUb3AgLSA0LCAxMjApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVsZS5zY3JvbGxUb3AgPSBjdXJyZW50Lm9mZnNldFRvcCAtIDQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzTGFzdEl0ZW0oZGF0YTogWElkZW50aXR5W10sIGl0ZW06IFhJZGVudGl0eSkge1xyXG4gICAgcmV0dXJuIGRhdGEuaW5kZXhPZihpdGVtKSA9PT0gZGF0YS5sZW5ndGggLSAxO1xyXG4gIH1cclxuXHJcbiAgaXRlbUNsaWNrKHR5cGU6ICdob3VyJyB8ICdtaW51dGUnIHwgJ3NlY29uZCcgfCAndXNlMTJIb3VycycpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLm1vZGVsKCkpKSB7XHJcbiAgICAgIHRoaXMubW9kZWwuc2V0KHRoaXMuc2V0WmVybygpKTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdtaW51dGUnOlxyXG4gICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICB4IS5zZXRNaW51dGVzKHRoaXMubWludXRlKCkhKTtcclxuICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICB4IS5zZXRTZWNvbmRzKHRoaXMuc2Vjb25kKCkhKTtcclxuICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXJzKCkpIHtcclxuICAgICAgICAgIGlmICh0aGlzLnVzZTEySG91cigpID09PSAncG0nICYmIHRoaXMuaG91cigpICE9PSAxMikge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgIHghLnNldEhvdXJzKHRoaXMuaG91cigpISArIDEyKTtcclxuICAgICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlMTJIb3VyKCkgPT09ICdhbScgJiYgdGhpcy5ob3VyKCkgPT09IDEyKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgeCEuc2V0SG91cnMoMCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgICB4IS5zZXRIb3Vycyh0aGlzLmhvdXIoKSEpO1xyXG4gICAgICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgeCEuc2V0SG91cnModGhpcy5ob3VyKCkhKTtcclxuICAgICAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3VzZTEySG91cnMnOlxyXG4gICAgICAgIGlmICh0aGlzLnVzZTEySG91cigpID09PSAncG0nICYmIHRoaXMuaG91cigpICE9PSAxMikge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgeCEuc2V0SG91cnModGhpcy5ob3VyKCkhICsgMTIpO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2UxMkhvdXIoKSA9PT0gJ2FtJyAmJiB0aGlzLmhvdXIoKSA9PT0gMTIpIHtcclxuICAgICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHghLnNldEhvdXJzKDApO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICB4IS5zZXRIb3Vycyh0aGlzLmhvdXIoKSEpO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRydWUpO1xyXG4gICAgdGhpcy5ub2RlRW1pdC5lbWl0KHRoaXMubW9kZWwoKSEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzY3JvbGxUbyhlbGVtZW50OiBIVE1MRWxlbWVudCwgdG86IG51bWJlciwgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgY2xzTmFtZSA9IGVsZW1lbnQuY2xhc3NOYW1lO1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRvIC0gZWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICBjb25zdCBwZXJUaWNrID0gKGRpZmZlcmVuY2UgLyBkdXJhdGlvbikgKiAxMDtcclxuICAgIHRoaXMuc2Nyb2xsQW5pbWF0aW5nLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICB4W2Nsc05hbWVdID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIHsgLi4ueCB9O1xyXG4gICAgfSk7XHJcbiAgICBYUmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgY29uc3QgbnVtID0gZWxlbWVudC5zY3JvbGxUb3AgKyBwZXJUaWNrO1xyXG4gICAgICBpZiAoWElzTnVtYmVyKG51bSkgJiYgbnVtICE9PSBJbmZpbml0eSkge1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gbnVtO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChlbGVtZW50LnNjcm9sbFRvcCA9PT0gdG8gfHwgZHVyYXRpb24gPD0gMCkge1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsQW5pbWF0aW5nLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgeFtjbHNOYW1lXSA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4ueCB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvKGVsZW1lbnQsIHRvLCBkdXJhdGlvbiAtIDEwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtdGltZS1waWNrZXItZnJhbWUtaG91clwiICNob3VyUmVmPlxyXG4gICAgPHgtbGlzdCBbZGF0YV09XCJob3VyRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJob3VyXCIgKG5vZGVDbGljayk9XCJpdGVtQ2xpY2soJ2hvdXInKVwiPjwveC1saXN0PlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAodHlwZSgpICE9PSAnaG91cicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLW1pbnV0ZVwiICNtaW51dGVSZWY+XHJcbiAgICAgIDx4LWxpc3QgW2RhdGFdPVwibWludXRlRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJtaW51dGVcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygnbWludXRlJylcIj48L3gtbGlzdD5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKHR5cGUoKSA9PT0gJ3RpbWUnKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwieC10aW1lLXBpY2tlci1mcmFtZS1zZWNvbmRcIiAjc2Vjb25kUmVmPlxyXG4gICAgICA8eC1saXN0IFtkYXRhXT1cInNlY29uZERhdGEoKVwiIFsobmdNb2RlbCldPVwic2Vjb25kXCIgKG5vZGVDbGljayk9XCJpdGVtQ2xpY2soJ3NlY29uZCcpXCI+PC94LWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmICh1c2UxMkhvdXJzKCkpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLXVzZTEySG91cnNcIiAjdXNlMTJIb3Vyc1JlZj5cclxuICAgICAgPHgtbGlzdCBbZGF0YV09XCJ1c2UxMkhvdXJzRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJ1c2UxMkhvdXJcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygndXNlMTJIb3VycycpXCI+PC94LWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkIsc0JBQXNCLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDMUcsT0FBTyxFQUNMLHNCQUFzQixFQUV0QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsU0FBUyxFQUNWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFlBQVksRUFBbUIsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFXdEQsTUFBTSxPQUFPLHlCQUF5QjtJQVR0QztRQVVVLFNBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsU0FBSSxHQUFHLEtBQUssQ0FBa0IsTUFBTSxDQUFDLENBQUM7UUFDdEMsVUFBSyxHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUMv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LFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2lJQTVTVSx5QkFBeUI7cUhBQXpCLHlCQUF5Qiw2dkRDdEN0Qyx1NEJBb0JBLDRoRURZWSxXQUFXLCtWQUFFLGNBQWM7OzJGQU0xQix5QkFBeUI7a0JBVHJDLFNBQVM7K0JBQ0UsR0FBRyxzQkFBc0IsRUFBRSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLGlCQUd2QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBvdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG4gIHZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGltZVBpY2tlckRpc2FibGVkVGltZSwgWFRpbWVQaWNrZXJGcmFtZVByZWZpeCwgWFRpbWVQaWNrZXJUeXBlIH0gZnJvbSAnLi90aW1lLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWFJlcXVlc3RBbmltYXRpb25GcmFtZSxcclxuICBYSWRlbnRpdHksXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhJc0VtcHR5LFxyXG4gIFhJc0Z1bmN0aW9uLFxyXG4gIFhJc051bGwsXHJcbiAgWElzTnVtYmVyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhJMThuU2VydmljZSwgWEkxOG5UaW1lUGlja2VyLCB6aF9DTiB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhMaXN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvbGlzdCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGltZVBpY2tlckZyYW1lUHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIFhMaXN0Q29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLWZyYW1lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRpbWVQaWNrZXJGcmFtZUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgdHlwZSA9IGlucHV0PFhUaW1lUGlja2VyVHlwZT4oJ3RpbWUnKTtcclxuICB2YWx1ZSA9IGlucHV0PG51bWJlciB8IG51bGw+KCk7XHJcbiAgdXNlMTJIb3VycyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBob3VyU3RlcCA9IGlucHV0PG51bWJlcj4oMSk7XHJcbiAgbWludXRlU3RlcCA9IGlucHV0PG51bWJlcj4oMSk7XHJcbiAgc2Vjb25kU3RlcCA9IGlucHV0PG51bWJlcj4oMSk7XHJcbiAgZGVmYXVsdE5vdyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGRpc2FibGVkVGltZSA9IGlucHV0PFhUaW1lUGlja2VyRGlzYWJsZWRUaW1lPigpO1xyXG4gIGRpc2FibGVkVGltZVBhcmFtID0gaW5wdXQ8YW55PigpO1xyXG4gIG5vZGVFbWl0ID0gb3V0cHV0PERhdGU+KCk7XHJcbiAgaG91clJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2hvdXJSZWYnKTtcclxuICBtaW51dGVSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdtaW51dGVSZWYnKTtcclxuICBzZWNvbmRSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdzZWNvbmRSZWYnKTtcclxuICB1c2UxMkhvdXJzUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PigndXNlMTJIb3Vyc1JlZicpO1xyXG4gIG1vZGVsID0gc2lnbmFsPERhdGUgfCBudWxsPihudWxsKTtcclxuICBob3VyID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xyXG4gIG1pbnV0ZSA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcclxuICBzZWNvbmQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgdXNlMTJIb3VyID0gc2lnbmFsKCdhbScpO1xyXG4gIHNjcm9sbEFuaW1hdGluZyA9IHNpZ25hbDx7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfT4oe30pO1xyXG4gIGhvdXJEYXRhID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgbGV0IGxlbmd0aCA9IHRoaXMudXNlMTJIb3VycygpID8gMTIgOiAyNDtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLmNlaWwobGVuZ3RoIC8gdGhpcy5ob3VyU3RlcCgpKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgaWYgKHRoaXMudXNlMTJIb3VycygpICYmIGkgPT09IDApIHtcclxuICAgICAgICBpID0gMTI7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnNldERpc2FibGVkKCdob3VycycsIGkpLFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhpLCAyKSxcclxuICAgICAgICAgIGlkOiBpXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBudW0gPSBpICogdGhpcy5ob3VyU3RlcCgpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnaG91cnMnLCBudW0pLFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhudW0sIDIpLFxyXG4gICAgICAgICAgaWQ6IG51bVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0pO1xyXG4gIG1pbnV0ZURhdGEgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5jZWlsKDYwIC8gdGhpcy5taW51dGVTdGVwKCkpIH0pLm1hcCgoXywgaSkgPT4ge1xyXG4gICAgICBjb25zdCBudW0gPSBpICogdGhpcy5taW51dGVTdGVwKCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuc2V0RGlzYWJsZWQoJ21pbnV0ZXMnLCBudW0pLFxyXG4gICAgICAgIGxhYmVsOiB0aGlzLnByZWZpeFplcm8obnVtLCAyKSxcclxuICAgICAgICBpZDogbnVtXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9KTtcclxuICBzZWNvbmREYXRhID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGguY2VpbCg2MCAvIHRoaXMuc2Vjb25kU3RlcCgpKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgY29uc3QgbnVtOiBudW1iZXIgPSBpICogdGhpcy5zZWNvbmRTdGVwKCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuc2V0RGlzYWJsZWQoJ3NlY29uZHMnLCBudW0pLFxyXG4gICAgICAgIGxhYmVsOiB0aGlzLnByZWZpeFplcm8obnVtLCAyKSxcclxuICAgICAgICBpZDogbnVtXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9KTtcclxuICB1c2UxMkhvdXJzRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ2FtJyxcclxuICAgICAgICBsYWJlbDogdGhpcy5sb2NhbGUoKS5hbVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdwbScsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMubG9jYWxlKCkucG1cclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9KTtcclxuICBsb2NhbGUgPSB0b1NpZ25hbCh0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlLnBpcGUobWFwKCh4KSA9PiB4LnRpbWVQaWNrZXIgYXMgWEkxOG5UaW1lUGlja2VyKSksIHtcclxuICAgIGluaXRpYWxWYWx1ZTogemhfQ04udGltZVBpY2tlclxyXG4gIH0pO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKFhJc0NoYW5nZSh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZCh0eXBlOiAnaG91cnMnIHwgJ21pbnV0ZXMnIHwgJ3NlY29uZHMnLCBudW06IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWRUaW1lKCkgJiYgWElzRnVuY3Rpb24odGhpcy5kaXNhYmxlZFRpbWUoKSkpIHtcclxuICAgICAgY29uc3QgZGlzYWJsZWRNYXAgPSB0aGlzLmRpc2FibGVkVGltZSgpISh0aGlzLmRpc2FibGVkVGltZVBhcmFtKCkhKTtcclxuICAgICAgY29uc3QgeyBkaXNhYmxlZEhvdXJzLCBkaXNhYmxlZE1pbnV0ZXMsIGRpc2FibGVkU2Vjb25kcyB9ID0gZGlzYWJsZWRNYXA7XHJcbiAgICAgIGxldCBkaXNhYmxlZE51bXM6IG51bWJlcltdID0gW107XHJcbiAgICAgIGlmICh0eXBlID09PSAnaG91cnMnKSB7XHJcbiAgICAgICAgZGlzYWJsZWROdW1zID0gZGlzYWJsZWRIb3VycyA/IGRpc2FibGVkSG91cnMoKSA6IFtdO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtaW51dGVzJykge1xyXG4gICAgICAgIGRpc2FibGVkTnVtcyA9IGRpc2FibGVkTWludXRlcyA/IGRpc2FibGVkTWludXRlcygpIDogW107XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3NlY29uZHMnKSB7XHJcbiAgICAgICAgZGlzYWJsZWROdW1zID0gZGlzYWJsZWRTZWNvbmRzID8gZGlzYWJsZWRTZWNvbmRzKCkgOiBbXTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZGlzYWJsZWROdW1zLmluY2x1ZGVzKG51bSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKCkpKSB7XHJcbiAgICAgIHRoaXMubW9kZWwuc2V0KG5ldyBEYXRlKHRoaXMudmFsdWUoKSEpKTtcclxuICAgICAgdGhpcy5zZXRUaW1lKHRoaXMubW9kZWwoKSEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZGVmYXVsdE5vdygpKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5zZXQodGhpcy5zZXROb3coKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyLnNldChudWxsKTtcclxuICAgICAgICB0aGlzLm1pbnV0ZS5zZXQobnVsbCk7XHJcbiAgICAgICAgdGhpcy5zZWNvbmQuc2V0KG51bGwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXROb3coKSB7XHJcbiAgICBjb25zdCBkZWYgPSBuZXcgRGF0ZSgnMTk3MC0wMS0wMScpO1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShcclxuICAgICAgZGVmLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgIGRlZi5nZXRNb250aCgpLFxyXG4gICAgICBkZWYuZ2V0RGF0ZSgpLFxyXG4gICAgICBub3cuZ2V0SG91cnMoKSxcclxuICAgICAgbm93LmdldE1pbnV0ZXMoKSxcclxuICAgICAgbm93LmdldFNlY29uZHMoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldFplcm8oKSB7XHJcbiAgICBjb25zdCBkZWYgPSBuZXcgRGF0ZSgnMTk3MC0wMS0wMScpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRlZi5nZXRGdWxsWWVhcigpLCBkZWYuZ2V0TW9udGgoKSwgZGVmLmdldERhdGUoKSwgMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICBzZXRUaW1lKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLnVzZTEySG91cnMoKSkge1xyXG4gICAgICBsZXQgaG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgICAgaWYgKGhvdXIgPiAxMikge1xyXG4gICAgICAgIHRoaXMuaG91ci5zZXQoaG91ciAtIDEyKTtcclxuICAgICAgICB0aGlzLnVzZTEySG91ci5zZXQoJ3BtJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaG91ciA9PT0gMTIpIHtcclxuICAgICAgICB0aGlzLmhvdXIuc2V0KDEyKTtcclxuICAgICAgICB0aGlzLnVzZTEySG91ci5zZXQoJ3BtJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyLnNldChob3VyID09PSAwID8gMTIgOiBob3VyKTtcclxuICAgICAgICB0aGlzLnVzZTEySG91ci5zZXQoJ2FtJyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaG91ci5zZXQoZGF0ZS5nZXRIb3VycygpKTtcclxuICAgIH1cclxuICAgIHRoaXMubWludXRlLnNldChkYXRlLmdldE1pbnV0ZXMoKSk7XHJcbiAgICB0aGlzLnNlY29uZC5zZXQoZGF0ZS5nZXRTZWNvbmRzKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJlZml4WmVybyhudW06IG51bWJlciwgbjogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKEFycmF5KG4pLmpvaW4oJzAnKSArIG51bSkuc2xpY2UoLW4pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2Nyb2xsVG9wKGFuaW1hdGluZyA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCdob3VyJywgdGhpcy5ob3VyUmVmKCkubmF0aXZlRWxlbWVudCwgdGhpcy5ob3VyKCkhLCBhbmltYXRpbmcpO1xyXG4gICAgdGhpcy5zZWxlY3RlZCgnbWludXRlJywgdGhpcy5taW51dGVSZWYoKT8ubmF0aXZlRWxlbWVudCwgdGhpcy5taW51dGUoKSEsIGFuaW1hdGluZyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCdzZWNvbmQnLCB0aGlzLnNlY29uZFJlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLnNlY29uZCgpISwgYW5pbWF0aW5nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQoJ3VzZTEySG91cicsIHRoaXMudXNlMTJIb3Vyc1JlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLnVzZTEySG91cigpLCBhbmltYXRpbmcpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWQoXHJcbiAgICB0eXBlOiAnaG91cicgfCAnbWludXRlJyB8ICdzZWNvbmQnIHwgJ3VzZTEySG91cicsXHJcbiAgICBlbGU/OiBIVE1MRWxlbWVudCxcclxuICAgIG51bT86IG51bWJlciB8IHN0cmluZyxcclxuICAgIGFuaW1hdGluZyA9IGZhbHNlXHJcbiAgKSB7XHJcbiAgICBpZiAoIWVsZSB8fCBYSXNOdWxsKG51bSkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnNjcm9sbEFuaW1hdGluZygpW2VsZS5jbGFzc05hbWVdKSByZXR1cm47XHJcbiAgICBsZXQgbGVuID0gTnVtYmVyKG51bSk7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnaG91cic6XHJcbiAgICAgICAgbGVuID0gdGhpcy5ob3VyRGF0YSgpLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbnVtKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWludXRlJzpcclxuICAgICAgICBsZW4gPSB0aGlzLm1pbnV0ZURhdGEoKS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NlY29uZCc6XHJcbiAgICAgICAgbGVuID0gdGhpcy5zZWNvbmREYXRhKCkuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBudW0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd1c2UxMkhvdXInOlxyXG4gICAgICAgIGxlbiA9IHRoaXMudXNlMTJIb3Vyc0RhdGEoKS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjdXJyZW50ID0gZWxlLnF1ZXJ5U2VsZWN0b3IoYC54LWxpc3QgeC1saXN0LW9wdGlvbjpudGgtY2hpbGQoJHtsZW4gKyAxfSlgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmIChjdXJyZW50KSB7XHJcbiAgICAgIGlmIChhbmltYXRpbmcpIHtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvKGVsZSwgY3VycmVudC5vZmZzZXRUb3AgLSA0LCAxMjApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVsZS5zY3JvbGxUb3AgPSBjdXJyZW50Lm9mZnNldFRvcCAtIDQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzTGFzdEl0ZW0oZGF0YTogWElkZW50aXR5W10sIGl0ZW06IFhJZGVudGl0eSkge1xyXG4gICAgcmV0dXJuIGRhdGEuaW5kZXhPZihpdGVtKSA9PT0gZGF0YS5sZW5ndGggLSAxO1xyXG4gIH1cclxuXHJcbiAgaXRlbUNsaWNrKHR5cGU6ICdob3VyJyB8ICdtaW51dGUnIHwgJ3NlY29uZCcgfCAndXNlMTJIb3VycycpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLm1vZGVsKCkpKSB7XHJcbiAgICAgIHRoaXMubW9kZWwuc2V0KHRoaXMuc2V0WmVybygpKTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdtaW51dGUnOlxyXG4gICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICB4IS5zZXRNaW51dGVzKHRoaXMubWludXRlKCkhKTtcclxuICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICB4IS5zZXRTZWNvbmRzKHRoaXMuc2Vjb25kKCkhKTtcclxuICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXJzKCkpIHtcclxuICAgICAgICAgIGlmICh0aGlzLnVzZTEySG91cigpID09PSAncG0nICYmIHRoaXMuaG91cigpICE9PSAxMikge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgIHghLnNldEhvdXJzKHRoaXMuaG91cigpISArIDEyKTtcclxuICAgICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlMTJIb3VyKCkgPT09ICdhbScgJiYgdGhpcy5ob3VyKCkgPT09IDEyKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgeCEuc2V0SG91cnMoMCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgICB4IS5zZXRIb3Vycyh0aGlzLmhvdXIoKSEpO1xyXG4gICAgICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgeCEuc2V0SG91cnModGhpcy5ob3VyKCkhKTtcclxuICAgICAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3VzZTEySG91cnMnOlxyXG4gICAgICAgIGlmICh0aGlzLnVzZTEySG91cigpID09PSAncG0nICYmIHRoaXMuaG91cigpICE9PSAxMikge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgeCEuc2V0SG91cnModGhpcy5ob3VyKCkhICsgMTIpO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2UxMkhvdXIoKSA9PT0gJ2FtJyAmJiB0aGlzLmhvdXIoKSA9PT0gMTIpIHtcclxuICAgICAgICAgIHRoaXMubW9kZWwudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHghLnNldEhvdXJzKDApO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICB4IS5zZXRIb3Vycyh0aGlzLmhvdXIoKSEpO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRydWUpO1xyXG4gICAgdGhpcy5ub2RlRW1pdC5lbWl0KHRoaXMubW9kZWwoKSEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzY3JvbGxUbyhlbGVtZW50OiBIVE1MRWxlbWVudCwgdG86IG51bWJlciwgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgY2xzTmFtZSA9IGVsZW1lbnQuY2xhc3NOYW1lO1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRvIC0gZWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICBjb25zdCBwZXJUaWNrID0gKGRpZmZlcmVuY2UgLyBkdXJhdGlvbikgKiAxMDtcclxuICAgIHRoaXMuc2Nyb2xsQW5pbWF0aW5nLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICB4W2Nsc05hbWVdID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIHsgLi4ueCB9O1xyXG4gICAgfSk7XHJcbiAgICBYUmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgY29uc3QgbnVtID0gZWxlbWVudC5zY3JvbGxUb3AgKyBwZXJUaWNrO1xyXG4gICAgICBpZiAoWElzTnVtYmVyKG51bSkgJiYgbnVtICE9PSBJbmZpbml0eSkge1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gbnVtO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChlbGVtZW50LnNjcm9sbFRvcCA9PT0gdG8gfHwgZHVyYXRpb24gPD0gMCkge1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsQW5pbWF0aW5nLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgeFtjbHNOYW1lXSA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4ueCB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvKGVsZW1lbnQsIHRvLCBkdXJhdGlvbiAtIDEwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtdGltZS1waWNrZXItZnJhbWUtaG91clwiICNob3VyUmVmPlxyXG4gICAgPHgtbGlzdCBbZGF0YV09XCJob3VyRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJob3VyXCIgKG5vZGVDbGljayk9XCJpdGVtQ2xpY2soJ2hvdXInKVwiPjwveC1saXN0PlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAodHlwZSgpICE9PSAnaG91cicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLW1pbnV0ZVwiICNtaW51dGVSZWY+XHJcbiAgICAgIDx4LWxpc3QgW2RhdGFdPVwibWludXRlRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJtaW51dGVcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygnbWludXRlJylcIj48L3gtbGlzdD5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKHR5cGUoKSA9PT0gJ3RpbWUnKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwieC10aW1lLXBpY2tlci1mcmFtZS1zZWNvbmRcIiAjc2Vjb25kUmVmPlxyXG4gICAgICA8eC1saXN0IFtkYXRhXT1cInNlY29uZERhdGEoKVwiIFsobmdNb2RlbCldPVwic2Vjb25kXCIgKG5vZGVDbGljayk9XCJpdGVtQ2xpY2soJ3NlY29uZCcpXCI+PC94LWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmICh1c2UxMkhvdXJzKCkpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLXVzZTEySG91cnNcIiAjdXNlMTJIb3Vyc1JlZj5cclxuICAgICAgPHgtbGlzdCBbZGF0YV09XCJ1c2UxMkhvdXJzRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJ1c2UxMkhvdXJcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygndXNlMTJIb3VycycpXCI+PC94LWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -48,10 +48,10 @@ export class XTimePickerPortalComponent {
48
48
  this.value.set(date);
49
49
  this.nodeClick.emit(date);
50
50
  }
51
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimePickerPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XTimePickerPortalComponent, isStandalone: true, selector: "x-time-picker-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, ngImport: i0, template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n <x-time-picker-frame\r\n [type]=\"type()\"\r\n [value]=\"value()\"\r\n [use12Hours]=\"use12Hours()!\"\r\n [hourStep]=\"hourStep()!\"\r\n [minuteStep]=\"minuteStep()!\"\r\n [secondStep]=\"secondStep()!\"\r\n [disabledTime]=\"disabledTime()\"\r\n (nodeEmit)=\"nodeClick.emit($event)\"\r\n ></x-time-picker-frame>\r\n @if (preset()) {\r\n <div class=\"x-time-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @if (!!item.func) {\r\n <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n } @else if (!item.func && item.id === 'now') {\r\n <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:flex;flex-direction:column;height:100%;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100)}.x-time-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-time-picker-portal-preset>x-button{flex:1}\n"], dependencies: [{ kind: "component", type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
51
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTimePickerPortalComponent, isStandalone: true, selector: "x-time-picker-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, use12Hours: { classPropertyName: "use12Hours", publicName: "use12Hours", isSignal: true, isRequired: false, transformFunction: null }, hourStep: { classPropertyName: "hourStep", publicName: "hourStep", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStep: { classPropertyName: "secondStep", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, ngImport: i0, template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n <x-time-picker-frame\r\n [type]=\"type()\"\r\n [value]=\"value()\"\r\n [use12Hours]=\"use12Hours()!\"\r\n [hourStep]=\"hourStep()!\"\r\n [minuteStep]=\"minuteStep()!\"\r\n [secondStep]=\"secondStep()!\"\r\n [disabledTime]=\"disabledTime()\"\r\n (nodeEmit)=\"nodeClick.emit($event)\"\r\n ></x-time-picker-frame>\r\n @if (preset()) {\r\n <div class=\"x-time-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @if (!!item.func) {\r\n <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n } @else if (!item.func && item.id === 'now') {\r\n <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:flex;flex-direction:column;height:100%;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100)}.x-time-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-time-picker-portal-preset>x-button{flex:1}\n"], dependencies: [{ kind: "component", type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTimePickerPortalComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTimePickerPortalComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{ selector: `${XTimePickerPortalPrefix}`, standalone: true, imports: [XTimePickerFrameComponent, XButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n <x-time-picker-frame\r\n [type]=\"type()\"\r\n [value]=\"value()\"\r\n [use12Hours]=\"use12Hours()!\"\r\n [hourStep]=\"hourStep()!\"\r\n [minuteStep]=\"minuteStep()!\"\r\n [secondStep]=\"secondStep()!\"\r\n [disabledTime]=\"disabledTime()\"\r\n (nodeEmit)=\"nodeClick.emit($event)\"\r\n ></x-time-picker-frame>\r\n @if (preset()) {\r\n <div class=\"x-time-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @if (!!item.func) {\r\n <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n } @else if (!item.func && item.id === 'now') {\r\n <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:flex;flex-direction:column;height:100%;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100)}.x-time-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-time-picker-portal-preset>x-button{flex:1}\n"] }]
57
57
  }], propDecorators: { getPlacement: [{