@ng-nest/ui 16.0.10 → 16.0.11

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 (490) hide show
  1. package/esm2022/affix/affix.component.mjs +4 -4
  2. package/esm2022/affix/affix.module.mjs +5 -5
  3. package/esm2022/affix/affix.property.mjs +4 -4
  4. package/esm2022/alert/alert.component.mjs +4 -4
  5. package/esm2022/alert/alert.module.mjs +5 -5
  6. package/esm2022/alert/alert.property.mjs +4 -4
  7. package/esm2022/anchor/anchor-inner.component.mjs +4 -4
  8. package/esm2022/anchor/anchor.component.mjs +4 -4
  9. package/esm2022/anchor/anchor.module.mjs +5 -5
  10. package/esm2022/anchor/anchor.property.mjs +7 -7
  11. package/esm2022/api/api.component.mjs +4 -4
  12. package/esm2022/api/api.module.mjs +5 -5
  13. package/esm2022/auto-complete/auto-complete-portal.component.mjs +5 -5
  14. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  15. package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
  16. package/esm2022/auto-complete/auto-complete.property.mjs +4 -4
  17. package/esm2022/avatar/avatar-group.component.mjs +4 -4
  18. package/esm2022/avatar/avatar.component.mjs +4 -4
  19. package/esm2022/avatar/avatar.module.mjs +5 -5
  20. package/esm2022/avatar/avatar.property.mjs +7 -7
  21. package/esm2022/back-top/back-top.component.mjs +4 -4
  22. package/esm2022/back-top/back-top.module.mjs +5 -5
  23. package/esm2022/back-top/back-top.property.mjs +4 -4
  24. package/esm2022/badge/badge.component.mjs +4 -4
  25. package/esm2022/badge/badge.module.mjs +5 -5
  26. package/esm2022/badge/badge.property.mjs +4 -4
  27. package/esm2022/base-form/base-form.component.mjs +4 -4
  28. package/esm2022/base-form/base-form.module.mjs +5 -5
  29. package/esm2022/base-form/base-form.property.mjs +4 -4
  30. package/esm2022/border/border.component.mjs +4 -4
  31. package/esm2022/border/border.module.mjs +5 -5
  32. package/esm2022/button/button.component.mjs +4 -4
  33. package/esm2022/button/button.module.mjs +5 -5
  34. package/esm2022/button/button.property.mjs +7 -7
  35. package/esm2022/button/buttons.component.mjs +4 -4
  36. package/esm2022/calendar/calendar.component.mjs +4 -4
  37. package/esm2022/calendar/calendar.module.mjs +5 -5
  38. package/esm2022/calendar/calendar.property.mjs +4 -4
  39. package/esm2022/card/card.component.mjs +4 -4
  40. package/esm2022/card/card.module.mjs +5 -5
  41. package/esm2022/card/card.property.mjs +4 -4
  42. package/esm2022/carousel/carousel-panel.component.mjs +4 -4
  43. package/esm2022/carousel/carousel.component.mjs +4 -4
  44. package/esm2022/carousel/carousel.module.mjs +5 -5
  45. package/esm2022/carousel/carousel.property.mjs +7 -7
  46. package/esm2022/cascade/cascade-portal.component.mjs +4 -4
  47. package/esm2022/cascade/cascade.component.mjs +4 -4
  48. package/esm2022/cascade/cascade.module.mjs +5 -5
  49. package/esm2022/cascade/cascade.property.mjs +4 -4
  50. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  51. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  52. package/esm2022/checkbox/checkbox.property.mjs +4 -4
  53. package/esm2022/collapse/collapse-panel.component.mjs +4 -4
  54. package/esm2022/collapse/collapse.component.mjs +4 -4
  55. package/esm2022/collapse/collapse.module.mjs +5 -5
  56. package/esm2022/collapse/collapse.property.mjs +7 -7
  57. package/esm2022/color/color.component.mjs +4 -4
  58. package/esm2022/color/color.module.mjs +5 -5
  59. package/esm2022/color/color.property.mjs +4 -4
  60. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  61. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  62. package/esm2022/color-picker/color-picker.module.mjs +5 -5
  63. package/esm2022/color-picker/color-picker.property.mjs +4 -4
  64. package/esm2022/comment/comment-reply.component.mjs +4 -4
  65. package/esm2022/comment/comment.component.mjs +4 -4
  66. package/esm2022/comment/comment.module.mjs +5 -5
  67. package/esm2022/comment/comment.property.mjs +7 -7
  68. package/esm2022/container/aside.component.mjs +4 -4
  69. package/esm2022/container/container.component.mjs +4 -4
  70. package/esm2022/container/container.module.mjs +5 -5
  71. package/esm2022/container/container.property.mjs +13 -13
  72. package/esm2022/container/footer.component.mjs +4 -4
  73. package/esm2022/container/header.component.mjs +4 -4
  74. package/esm2022/container/main.component.mjs +4 -4
  75. package/esm2022/core/config/config.service.mjs +4 -4
  76. package/esm2022/core/services/http.service.mjs +4 -4
  77. package/esm2022/core/services/preloading-strategy.service.mjs +4 -4
  78. package/esm2022/core/services/storage.service.mjs +4 -4
  79. package/esm2022/core/theme/theme.service.mjs +4 -4
  80. package/esm2022/crumb/crumb.component.mjs +4 -4
  81. package/esm2022/crumb/crumb.module.mjs +5 -5
  82. package/esm2022/crumb/crumb.property.mjs +4 -4
  83. package/esm2022/date-picker/date-picker-portal.component.mjs +4 -4
  84. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  85. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  86. package/esm2022/date-picker/date-picker.property.mjs +19 -19
  87. package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
  88. package/esm2022/date-picker/date-range-portal.component.mjs +4 -4
  89. package/esm2022/date-picker/date-range.component.mjs +4 -4
  90. package/esm2022/date-picker/picker-date.component.mjs +4 -4
  91. package/esm2022/date-picker/picker-month.component.mjs +4 -4
  92. package/esm2022/date-picker/picker-quarter.component.mjs +4 -4
  93. package/esm2022/date-picker/picker-year.component.mjs +4 -4
  94. package/esm2022/description/description-item.component.mjs +4 -4
  95. package/esm2022/description/description.component.mjs +4 -4
  96. package/esm2022/description/description.module.mjs +5 -5
  97. package/esm2022/description/description.property.mjs +7 -7
  98. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  99. package/esm2022/dialog/dialog-portal.component.mjs +4 -4
  100. package/esm2022/dialog/dialog-portal.directives.mjs +19 -19
  101. package/esm2022/dialog/dialog.component.mjs +4 -4
  102. package/esm2022/dialog/dialog.module.mjs +5 -5
  103. package/esm2022/dialog/dialog.property.mjs +7 -7
  104. package/esm2022/dialog/dialog.service.mjs +4 -4
  105. package/esm2022/doc/doc.component.mjs +5 -5
  106. package/esm2022/doc/doc.module.mjs +5 -5
  107. package/esm2022/drag/drag.directive.mjs +4 -4
  108. package/esm2022/drag/drag.module.mjs +5 -5
  109. package/esm2022/drag/drag.property.mjs +4 -4
  110. package/esm2022/drawer/drawer-container.component.mjs +4 -4
  111. package/esm2022/drawer/drawer-portal.component.mjs +4 -4
  112. package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
  113. package/esm2022/drawer/drawer.component.mjs +4 -4
  114. package/esm2022/drawer/drawer.module.mjs +5 -5
  115. package/esm2022/drawer/drawer.property.mjs +7 -7
  116. package/esm2022/drawer/drawer.service.mjs +4 -4
  117. package/esm2022/dropdown/dropdown-portal.component.mjs +4 -4
  118. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  119. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  120. package/esm2022/dropdown/dropdown.property.mjs +4 -4
  121. package/esm2022/empty/empty.component.mjs +4 -4
  122. package/esm2022/empty/empty.module.mjs +5 -5
  123. package/esm2022/empty/empty.property.mjs +4 -4
  124. package/esm2022/examples/examples.component.mjs +4 -4
  125. package/esm2022/examples/examples.module.mjs +5 -5
  126. package/esm2022/find/find.component.mjs +4 -4
  127. package/esm2022/find/find.module.mjs +5 -5
  128. package/esm2022/find/find.property.mjs +4 -4
  129. package/esm2022/form/control.component.mjs +4 -4
  130. package/esm2022/form/form.component.mjs +4 -4
  131. package/esm2022/form/form.module.mjs +5 -5
  132. package/esm2022/form/form.property.mjs +7 -7
  133. package/esm2022/highlight/highlight.component.mjs +4 -4
  134. package/esm2022/highlight/highlight.module.mjs +5 -5
  135. package/esm2022/highlight/highlight.property.mjs +4 -4
  136. package/esm2022/i18n/i18n.directive.mjs +4 -4
  137. package/esm2022/i18n/i18n.module.mjs +5 -5
  138. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  139. package/esm2022/i18n/i18n.service.mjs +4 -4
  140. package/esm2022/icon/icon.component.mjs +4 -4
  141. package/esm2022/icon/icon.module.mjs +5 -5
  142. package/esm2022/icon/icon.property.mjs +4 -4
  143. package/esm2022/icon/icon.service.mjs +4 -4
  144. package/esm2022/image/image-group.component.mjs +4 -4
  145. package/esm2022/image/image-preview.component.mjs +4 -4
  146. package/esm2022/image/image.component.mjs +4 -4
  147. package/esm2022/image/image.module.mjs +5 -5
  148. package/esm2022/image/image.property.mjs +7 -7
  149. package/esm2022/inner/inner.component.mjs +4 -4
  150. package/esm2022/inner/inner.module.mjs +5 -5
  151. package/esm2022/inner/inner.property.mjs +4 -4
  152. package/esm2022/input/input-group.component.mjs +4 -4
  153. package/esm2022/input/input.component.mjs +4 -4
  154. package/esm2022/input/input.module.mjs +5 -5
  155. package/esm2022/input/input.property.mjs +7 -7
  156. package/esm2022/input-number/input-number.component.mjs +4 -4
  157. package/esm2022/input-number/input-number.module.mjs +5 -5
  158. package/esm2022/input-number/input-number.property.mjs +4 -4
  159. package/esm2022/keyword/keyword.directive.mjs +4 -4
  160. package/esm2022/keyword/keyword.module.mjs +5 -5
  161. package/esm2022/keyword/keyword.property.mjs +4 -4
  162. package/esm2022/layout/col.component.mjs +4 -4
  163. package/esm2022/layout/layout.module.mjs +5 -5
  164. package/esm2022/layout/layout.property.mjs +7 -7
  165. package/esm2022/layout/row.component.mjs +4 -4
  166. package/esm2022/link/link.component.mjs +4 -4
  167. package/esm2022/link/link.module.mjs +5 -5
  168. package/esm2022/link/link.property.mjs +4 -4
  169. package/esm2022/list/list-drop-group.directive.mjs +4 -4
  170. package/esm2022/list/list-option.component.mjs +4 -4
  171. package/esm2022/list/list.component.mjs +4 -4
  172. package/esm2022/list/list.module.mjs +5 -5
  173. package/esm2022/list/list.property.mjs +7 -7
  174. package/esm2022/loading/loading.component.mjs +4 -4
  175. package/esm2022/loading/loading.module.mjs +5 -5
  176. package/esm2022/loading/loading.property.mjs +4 -4
  177. package/esm2022/menu/menu-node.component.mjs +4 -4
  178. package/esm2022/menu/menu.component.mjs +4 -4
  179. package/esm2022/menu/menu.module.mjs +5 -5
  180. package/esm2022/menu/menu.property.mjs +7 -7
  181. package/esm2022/message/message.component.mjs +4 -4
  182. package/esm2022/message/message.module.mjs +5 -5
  183. package/esm2022/message/message.service.mjs +4 -4
  184. package/esm2022/message-box/message-box.component.mjs +4 -4
  185. package/esm2022/message-box/message-box.module.mjs +5 -5
  186. package/esm2022/message-box/message-box.service.mjs +4 -4
  187. package/esm2022/notification/notification.component.mjs +4 -4
  188. package/esm2022/notification/notification.module.mjs +5 -5
  189. package/esm2022/notification/notification.service.mjs +4 -4
  190. package/esm2022/outlet/outlet.directive.mjs +4 -4
  191. package/esm2022/outlet/outlet.module.mjs +5 -5
  192. package/esm2022/page-header/page-header.component.mjs +4 -4
  193. package/esm2022/page-header/page-header.module.mjs +5 -5
  194. package/esm2022/page-header/page-header.property.mjs +4 -4
  195. package/esm2022/pagination/pagination.component.mjs +4 -4
  196. package/esm2022/pagination/pagination.module.mjs +5 -5
  197. package/esm2022/pagination/pagination.property.mjs +4 -4
  198. package/esm2022/pattern/pattern.component.mjs +4 -4
  199. package/esm2022/pattern/pattern.module.mjs +5 -5
  200. package/esm2022/popconfirm/popconfirm.component.mjs +4 -4
  201. package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
  202. package/esm2022/popconfirm/popconfirm.property.mjs +4 -4
  203. package/esm2022/popover/popover-portal.component.mjs +4 -4
  204. package/esm2022/popover/popover.directive.mjs +4 -4
  205. package/esm2022/popover/popover.module.mjs +5 -5
  206. package/esm2022/popover/popover.property.mjs +4 -4
  207. package/esm2022/portal/portal.module.mjs +5 -5
  208. package/esm2022/portal/portal.service.mjs +4 -4
  209. package/esm2022/progress/progress.component.mjs +4 -4
  210. package/esm2022/progress/progress.module.mjs +5 -5
  211. package/esm2022/progress/progress.property.mjs +4 -4
  212. package/esm2022/radio/radio.component.mjs +4 -4
  213. package/esm2022/radio/radio.module.mjs +5 -5
  214. package/esm2022/radio/radio.property.mjs +4 -4
  215. package/esm2022/rate/rate.component.mjs +4 -4
  216. package/esm2022/rate/rate.module.mjs +5 -5
  217. package/esm2022/rate/rate.property.mjs +4 -4
  218. package/esm2022/resizable/resizable.directive.mjs +4 -4
  219. package/esm2022/resizable/resizable.module.mjs +5 -5
  220. package/esm2022/resizable/resizable.property.mjs +4 -4
  221. package/esm2022/result/result.component.mjs +4 -4
  222. package/esm2022/result/result.module.mjs +5 -5
  223. package/esm2022/result/result.property.mjs +4 -4
  224. package/esm2022/ripple/ripple.directive.mjs +4 -4
  225. package/esm2022/ripple/ripple.module.mjs +5 -5
  226. package/esm2022/ripple/ripple.property.mjs +4 -4
  227. package/esm2022/select/select-portal.component.mjs +5 -5
  228. package/esm2022/select/select.component.mjs +5 -5
  229. package/esm2022/select/select.module.mjs +5 -5
  230. package/esm2022/select/select.property.mjs +4 -4
  231. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  232. package/esm2022/skeleton/skeleton.module.mjs +5 -5
  233. package/esm2022/skeleton/skeleton.property.mjs +4 -4
  234. package/esm2022/slider/slider.component.mjs +4 -4
  235. package/esm2022/slider/slider.module.mjs +5 -5
  236. package/esm2022/slider/slider.property.mjs +4 -4
  237. package/esm2022/slider-select/slider-select.component.mjs +8 -8
  238. package/esm2022/slider-select/slider-select.module.mjs +5 -5
  239. package/esm2022/slider-select/slider-select.property.mjs +6 -4
  240. package/esm2022/statistic/countdown.component.mjs +4 -4
  241. package/esm2022/statistic/statistic.component.mjs +4 -4
  242. package/esm2022/statistic/statistic.module.mjs +5 -5
  243. package/esm2022/statistic/statistic.property.mjs +7 -7
  244. package/esm2022/steps/steps.component.mjs +4 -4
  245. package/esm2022/steps/steps.module.mjs +5 -5
  246. package/esm2022/steps/steps.property.mjs +4 -4
  247. package/esm2022/switch/switch.component.mjs +4 -4
  248. package/esm2022/switch/switch.module.mjs +5 -5
  249. package/esm2022/switch/switch.property.mjs +4 -4
  250. package/esm2022/table/table-body.component.mjs +4 -4
  251. package/esm2022/table/table-foot.component.mjs +4 -4
  252. package/esm2022/table/table-head.component.mjs +4 -4
  253. package/esm2022/table/table.component.mjs +4 -4
  254. package/esm2022/table/table.module.mjs +5 -5
  255. package/esm2022/table/table.property.mjs +13 -13
  256. package/esm2022/tabs/tab-content.component.mjs +4 -4
  257. package/esm2022/tabs/tab-link.directive.mjs +7 -7
  258. package/esm2022/tabs/tab.component.mjs +4 -4
  259. package/esm2022/tabs/tabs.component.mjs +4 -4
  260. package/esm2022/tabs/tabs.module.mjs +5 -5
  261. package/esm2022/tabs/tabs.property.mjs +7 -7
  262. package/esm2022/tag/tag.component.mjs +4 -4
  263. package/esm2022/tag/tag.module.mjs +5 -5
  264. package/esm2022/tag/tag.property.mjs +4 -4
  265. package/esm2022/text-retract/text-retract.component.mjs +4 -4
  266. package/esm2022/text-retract/text-retract.module.mjs +5 -5
  267. package/esm2022/text-retract/text-retract.property.mjs +4 -4
  268. package/esm2022/textarea/textarea.component.mjs +4 -4
  269. package/esm2022/textarea/textarea.module.mjs +5 -5
  270. package/esm2022/textarea/textarea.property.mjs +4 -4
  271. package/esm2022/theme/theme.component.mjs +4 -4
  272. package/esm2022/theme/theme.module.mjs +5 -5
  273. package/esm2022/theme/theme.property.mjs +4 -4
  274. package/esm2022/time-ago/time-ago.module.mjs +5 -5
  275. package/esm2022/time-ago/time-ago.pipe.mjs +4 -4
  276. package/esm2022/time-picker/time-picker-frame.component.mjs +4 -4
  277. package/esm2022/time-picker/time-picker-portal.component.mjs +4 -4
  278. package/esm2022/time-picker/time-picker.component.mjs +4 -4
  279. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  280. package/esm2022/time-picker/time-picker.property.mjs +4 -4
  281. package/esm2022/time-range/time-range.module.mjs +5 -5
  282. package/esm2022/time-range/time-range.pipe.mjs +4 -4
  283. package/esm2022/timeline/timeline.component.mjs +5 -5
  284. package/esm2022/timeline/timeline.module.mjs +5 -5
  285. package/esm2022/timeline/timeline.property.mjs +4 -4
  286. package/esm2022/tooltip/tooltip-portal.component.mjs +6 -5
  287. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  288. package/esm2022/tooltip/tooltip.module.mjs +7 -6
  289. package/esm2022/tooltip/tooltip.property.mjs +4 -4
  290. package/esm2022/transfer/transfer.component.mjs +4 -4
  291. package/esm2022/transfer/transfer.module.mjs +5 -5
  292. package/esm2022/transfer/transfer.property.mjs +4 -4
  293. package/esm2022/tree/tree-node.component.mjs +4 -4
  294. package/esm2022/tree/tree.component.mjs +4 -4
  295. package/esm2022/tree/tree.module.mjs +5 -5
  296. package/esm2022/tree/tree.property.mjs +7 -7
  297. package/esm2022/tree/tree.service.mjs +4 -4
  298. package/esm2022/tree-file/tree-file.component.mjs +4 -4
  299. package/esm2022/tree-file/tree-file.module.mjs +5 -5
  300. package/esm2022/tree-file/tree-file.property.mjs +4 -4
  301. package/esm2022/tree-select/tree-select-portal.component.mjs +5 -5
  302. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  303. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  304. package/esm2022/tree-select/tree-select.property.mjs +4 -4
  305. package/esm2022/typography/typography.component.mjs +4 -4
  306. package/esm2022/typography/typography.module.mjs +5 -5
  307. package/esm2022/typography/typography.property.mjs +4 -4
  308. package/esm2022/upload/upload-portal.component.mjs +4 -4
  309. package/esm2022/upload/upload.component.mjs +4 -4
  310. package/esm2022/upload/upload.module.mjs +5 -5
  311. package/esm2022/upload/upload.property.mjs +4 -4
  312. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  313. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  314. package/fesm2022/ng-nest-ui-alert.mjs +10 -10
  315. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  316. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  317. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  318. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  319. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  320. package/fesm2022/ng-nest-ui-auto-complete.mjs +15 -15
  321. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  322. package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
  323. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  324. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  325. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  326. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  327. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  328. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  329. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  330. package/fesm2022/ng-nest-ui-border.mjs +7 -7
  331. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  332. package/fesm2022/ng-nest-ui-button.mjs +16 -16
  333. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  334. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  335. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  336. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  337. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  338. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  339. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  340. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  341. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  342. package/fesm2022/ng-nest-ui-checkbox.mjs +10 -10
  343. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  344. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  345. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  346. package/fesm2022/ng-nest-ui-color-picker.mjs +13 -13
  347. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  348. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  349. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  350. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  351. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  352. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  353. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  354. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  355. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  356. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  357. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  358. package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
  359. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  360. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  361. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  362. package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
  363. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  364. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  365. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  366. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  367. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  368. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  369. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  370. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  371. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  372. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  373. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  374. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  375. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  376. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  377. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  378. package/fesm2022/ng-nest-ui-form.mjs +16 -16
  379. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  380. package/fesm2022/ng-nest-ui-highlight.mjs +10 -10
  381. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  382. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  383. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  384. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  385. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  386. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  387. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  388. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  389. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  390. package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
  391. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  392. package/fesm2022/ng-nest-ui-input.mjs +16 -16
  393. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  394. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  395. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  396. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  397. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  398. package/fesm2022/ng-nest-ui-link.mjs +10 -10
  399. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  400. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  401. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  402. package/fesm2022/ng-nest-ui-loading.mjs +10 -10
  403. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  404. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  405. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  406. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  407. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  408. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  409. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  410. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  411. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  412. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  413. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  414. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  415. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  416. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  417. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  418. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  419. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  420. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  421. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  422. package/fesm2022/ng-nest-ui-popover.mjs +13 -13
  423. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  424. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  425. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  426. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  427. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  428. package/fesm2022/ng-nest-ui-radio.mjs +10 -10
  429. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  430. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  431. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  432. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  433. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  434. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  435. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  436. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  437. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  438. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  439. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  440. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  441. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  442. package/fesm2022/ng-nest-ui-slider-select.mjs +16 -14
  443. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  444. package/fesm2022/ng-nest-ui-slider.mjs +10 -10
  445. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  446. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  447. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  448. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  449. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  450. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  451. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  452. package/fesm2022/ng-nest-ui-table.mjs +28 -28
  453. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  454. package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
  455. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  456. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  457. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  458. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  459. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  460. package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
  461. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  462. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  463. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  464. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  465. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  466. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  467. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  468. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  469. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  470. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  471. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  472. package/fesm2022/ng-nest-ui-tooltip.mjs +19 -17
  473. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  474. package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
  475. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  476. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  477. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  478. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  479. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  480. package/fesm2022/ng-nest-ui-tree.mjs +19 -19
  481. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  482. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  483. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  484. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  485. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  486. package/package.json +42 -42
  487. package/slider-select/slider-select.property.d.ts +6 -1
  488. package/tooltip/tooltip-portal.component.d.ts +2 -2
  489. package/tooltip/tooltip.module.d.ts +2 -1
  490. package/tooltip/tooltip.property.d.ts +2 -2
@@ -342,11 +342,11 @@ class XTableComponent extends XTableProperty {
342
342
  }
343
343
  }
344
344
  }
345
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
346
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XTableComponent, selector: "x-table", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "caption", first: true, predicate: ["caption"], descendants: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }, { propertyName: "stickyTopRightEle", first: true, predicate: ["stickyTopRightEle"], descendants: true }, { propertyName: "stickyBottomRightEle", first: true, predicate: ["stickyBottomRightEle"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-wrap-border-hidden]=\"hiddenWrapBorder\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-left-max]=\"scrollLeftMax\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-has-scroll-right]=\"scrollYWidth\"\r\n [class.x-table-has-scroll-bottom]=\"scrollXWidth\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <caption #caption class=\"x-table-header\" *ngIf=\"header\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"header\">{{ header }}</ng-container>\r\n </caption>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'top' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'top'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'bottom' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'bottom'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-foot *ngIf=\"footer\" [table]=\"this\" [footer]=\"footer\" [rowHeight]=\"rowHeight\"></x-table-foot>\r\n <div\r\n *ngIf=\"hasStickyTopRight()\"\r\n #stickyTopRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.top.px]=\"getStickyTopScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyTopRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.top.px]=\"getStickyTopScrollTop + getStickyTopRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight()\"\r\n #stickyBottomRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop + getStickyBottomRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n (sizeChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenPaginationBorder!\"\r\n [showSize]=\"showSize\"\r\n [showJump]=\"showJump\"\r\n [jumpWidth]=\"jumpWidth\"\r\n [showInputSize]=\"showInputSize\"\r\n [inputSizeWidth]=\"inputSizeWidth\"\r\n [sizeData]=\"sizeData\"\r\n [sizeWidth]=\"sizeWidth\"\r\n [pageLinkSize]=\"pageLinkSize\"\r\n [disabled]=\"disabled\"\r\n [totalTpl]=\"totalTpl\"\r\n [simple]=\"simple\"\r\n [simpleIndexWidth]=\"simpleIndexWidth\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;position:relative}.x-table:not(.x-table-wrap-border-hidden){border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:5}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>thead>tr.cdk-drop-list-dragging>th.cdk-drag-placeholder{background-color:var(--x-background-a200);opacity:.9}.x-table>thead.x-table-head-bottom>tr>th{border-bottom:none}.x-table>thead.x-table-head-bottom>tr.x-table-search>th{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:5}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr>td.x-table-dragging{background-color:var(--x-background-a200);opacity:.9}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left .x-table-sticky-left-last{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-header{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);text-align:left;display:flex;align-items:center}.x-table-footer{display:flex;align-items:center}.x-table-sticky-right-scroll{position:absolute;right:0;min-height:42px;background-color:var(--x-background);z-index:1}.x-table-has-scroll-right .x-table-footer{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-has-scroll-bottom:not(.x-table-scroll-left-max) .x-table-sticky-right-first{box-shadow:var(--x-box-shadow-light-width-minus) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-bottom{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-top{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big .x-table-header,.x-table-row-size-big .x-table-footer{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large .x-table-header,.x-table-row-size-large .x-table-footer{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-medium .x-table-header,.x-table-row-size-medium .x-table-footer{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small .x-table-header,.x-table-row-size-small .x-table-footer{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}.x-table-row-size-mini .x-table-header,.x-table-row-size-mini .x-table-footer{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}body>.x-table-th{display:block}body>.x-table-th-big{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}body>.x-table-th-large{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}body>.x-table-th-medium{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}body>.x-table-th-small{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}body>.x-table-th-mini{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}body>.x-table-th.cdk-drag-preview{display:flex;align-items:center;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-style:dashed;border-radius:var(--x-border-radius);background-color:var(--x-background);opacity:.8;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}body>.x-table-th.cdk-drag-preview>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}body>.x-table-th.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XPaginationComponent, selector: "x-pagination" }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "component", type: i6.XTableHeadComponent, selector: "x-table-head", inputs: ["table"] }, { kind: "component", type: i7.XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }, { kind: "component", type: i8.XTableFootComponent, selector: "x-table-foot", inputs: ["table"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
345
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
346
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XTableComponent, selector: "x-table", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "caption", first: true, predicate: ["caption"], descendants: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }, { propertyName: "stickyTopRightEle", first: true, predicate: ["stickyTopRightEle"], descendants: true }, { propertyName: "stickyBottomRightEle", first: true, predicate: ["stickyBottomRightEle"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-wrap-border-hidden]=\"hiddenWrapBorder\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-left-max]=\"scrollLeftMax\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-has-scroll-right]=\"scrollYWidth\"\r\n [class.x-table-has-scroll-bottom]=\"scrollXWidth\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <caption #caption class=\"x-table-header\" *ngIf=\"header\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"header\">{{ header }}</ng-container>\r\n </caption>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'top' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'top'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'bottom' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'bottom'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-foot *ngIf=\"footer\" [table]=\"this\" [footer]=\"footer\" [rowHeight]=\"rowHeight\"></x-table-foot>\r\n <div\r\n *ngIf=\"hasStickyTopRight()\"\r\n #stickyTopRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.top.px]=\"getStickyTopScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyTopRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.top.px]=\"getStickyTopScrollTop + getStickyTopRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight()\"\r\n #stickyBottomRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop + getStickyBottomRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n (sizeChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenPaginationBorder!\"\r\n [showSize]=\"showSize\"\r\n [showJump]=\"showJump\"\r\n [jumpWidth]=\"jumpWidth\"\r\n [showInputSize]=\"showInputSize\"\r\n [inputSizeWidth]=\"inputSizeWidth\"\r\n [sizeData]=\"sizeData\"\r\n [sizeWidth]=\"sizeWidth\"\r\n [pageLinkSize]=\"pageLinkSize\"\r\n [disabled]=\"disabled\"\r\n [totalTpl]=\"totalTpl\"\r\n [simple]=\"simple\"\r\n [simpleIndexWidth]=\"simpleIndexWidth\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;position:relative}.x-table:not(.x-table-wrap-border-hidden){border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:5}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>thead>tr.cdk-drop-list-dragging>th.cdk-drag-placeholder{background-color:var(--x-background-a200);opacity:.9}.x-table>thead.x-table-head-bottom>tr>th{border-bottom:none}.x-table>thead.x-table-head-bottom>tr.x-table-search>th{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:5}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr>td.x-table-dragging{background-color:var(--x-background-a200);opacity:.9}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left .x-table-sticky-left-last{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-header{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);text-align:left;display:flex;align-items:center}.x-table-footer{display:flex;align-items:center}.x-table-sticky-right-scroll{position:absolute;right:0;min-height:42px;background-color:var(--x-background);z-index:1}.x-table-has-scroll-right .x-table-footer{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-has-scroll-bottom:not(.x-table-scroll-left-max) .x-table-sticky-right-first{box-shadow:var(--x-box-shadow-light-width-minus) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-bottom{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-top{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big .x-table-header,.x-table-row-size-big .x-table-footer{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large .x-table-header,.x-table-row-size-large .x-table-footer{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-medium .x-table-header,.x-table-row-size-medium .x-table-footer{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small .x-table-header,.x-table-row-size-small .x-table-footer{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}.x-table-row-size-mini .x-table-header,.x-table-row-size-mini .x-table-footer{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}body>.x-table-th{display:block}body>.x-table-th-big{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}body>.x-table-th-large{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}body>.x-table-th-medium{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}body>.x-table-th-small{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}body>.x-table-th-mini{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}body>.x-table-th.cdk-drag-preview{display:flex;align-items:center;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-style:dashed;border-radius:var(--x-border-radius);background-color:var(--x-background);opacity:.8;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}body>.x-table-th.cdk-drag-preview>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}body>.x-table-th.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XPaginationComponent, selector: "x-pagination" }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "component", type: i6.XTableHeadComponent, selector: "x-table-head", inputs: ["table"] }, { kind: "component", type: i7.XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }, { kind: "component", type: i8.XTableFootComponent, selector: "x-table-foot", inputs: ["table"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
347
347
  }
348
348
  export { XTableComponent };
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTableComponent, decorators: [{
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTableComponent, decorators: [{
350
350
  type: Component,
351
351
  args: [{ selector: `${XTablePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-wrap-border-hidden]=\"hiddenWrapBorder\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-left-max]=\"scrollLeftMax\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-has-scroll-right]=\"scrollYWidth\"\r\n [class.x-table-has-scroll-bottom]=\"scrollXWidth\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <caption #caption class=\"x-table-header\" *ngIf=\"header\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"header\">{{ header }}</ng-container>\r\n </caption>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'top' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'top'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'bottom' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'bottom'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-foot *ngIf=\"footer\" [table]=\"this\" [footer]=\"footer\" [rowHeight]=\"rowHeight\"></x-table-foot>\r\n <div\r\n *ngIf=\"hasStickyTopRight()\"\r\n #stickyTopRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.top.px]=\"getStickyTopScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyTopRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.top.px]=\"getStickyTopScrollTop + getStickyTopRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight()\"\r\n #stickyBottomRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop + getStickyBottomRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n (sizeChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenPaginationBorder!\"\r\n [showSize]=\"showSize\"\r\n [showJump]=\"showJump\"\r\n [jumpWidth]=\"jumpWidth\"\r\n [showInputSize]=\"showInputSize\"\r\n [inputSizeWidth]=\"inputSizeWidth\"\r\n [sizeData]=\"sizeData\"\r\n [sizeWidth]=\"sizeWidth\"\r\n [pageLinkSize]=\"pageLinkSize\"\r\n [disabled]=\"disabled\"\r\n [totalTpl]=\"totalTpl\"\r\n [simple]=\"simple\"\r\n [simpleIndexWidth]=\"simpleIndexWidth\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;position:relative}.x-table:not(.x-table-wrap-border-hidden){border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:5}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>thead>tr.cdk-drop-list-dragging>th.cdk-drag-placeholder{background-color:var(--x-background-a200);opacity:.9}.x-table>thead.x-table-head-bottom>tr>th{border-bottom:none}.x-table>thead.x-table-head-bottom>tr.x-table-search>th{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:5}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr>td.x-table-dragging{background-color:var(--x-background-a200);opacity:.9}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left .x-table-sticky-left-last{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-header{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);text-align:left;display:flex;align-items:center}.x-table-footer{display:flex;align-items:center}.x-table-sticky-right-scroll{position:absolute;right:0;min-height:42px;background-color:var(--x-background);z-index:1}.x-table-has-scroll-right .x-table-footer{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-has-scroll-bottom:not(.x-table-scroll-left-max) .x-table-sticky-right-first{box-shadow:var(--x-box-shadow-light-width-minus) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-bottom{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-top{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big .x-table-header,.x-table-row-size-big .x-table-footer{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large .x-table-header,.x-table-row-size-large .x-table-footer{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-medium .x-table-header,.x-table-row-size-medium .x-table-footer{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small .x-table-header,.x-table-row-size-small .x-table-footer{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}.x-table-row-size-mini .x-table-header,.x-table-row-size-mini .x-table-footer{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}body>.x-table-th{display:block}body>.x-table-th-big{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}body>.x-table-th-large{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}body>.x-table-th-medium{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}body>.x-table-th-small{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}body>.x-table-th-mini{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}body>.x-table-th.cdk-drag-preview{display:flex;align-items:center;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-style:dashed;border-radius:var(--x-border-radius);background-color:var(--x-background);opacity:.8;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}body>.x-table-th.cdk-drag-preview>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}body>.x-table-th.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
352
352
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { table: [{
@@ -365,4 +365,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
365
365
  type: ViewChild,
366
366
  args: ['stickyBottomRightEle']
367
367
  }] } });
368
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBNkQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBK0MsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFFL0IsTUFPYSxlQUFnQixTQUFRLGNBQWM7SUFDakQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7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bUJBQW1CO2dCQUNLLG9CQUFvQjtzQkFBdEQsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZVByZWZpeCwgWFRhYmxlUHJvcGVydHksIFhUYWJsZUNvbHVtbiwgWFRhYmxlUm93LCBYVGFibGVDZWxsLCBYVGFibGVDZWxsQ29uZmlnUnVsZSB9IGZyb20gJy4vdGFibGUucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNDaGFuZ2UsIFhJc0VtcHR5LCBYUmVzdWx0TGlzdCwgWE51bWJlciwgWFNvcnQsIFhDb25maWdTZXJ2aWNlLCBYSXNVbmRlZmluZWQgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUYWJsZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVDb21wb25lbnQgZXh0ZW5kcyBYVGFibGVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBnZXQgZ2V0U2Nyb2xsTGVmdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNjcm9sbExlZnQgPiAwO1xyXG4gIH1cclxuICBnZXQgZ2V0U2Nyb2xsVG9wKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsVG9wID4gMDtcclxuICB9XHJcbiAgZ2V0IGdldFJvd0hlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICB9XHJcbiAgZ2V0IGdldFN0aWNreVRvcFNjcm9sbFRvcCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRjYXB0aW9uID8gdGhpcy50Y2FwdGlvbi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCA6IDA7XHJcbiAgfVxyXG4gIGdldCBnZXRTdGlja3lCb3R0b21TY3JvbGxUb3AoKSB7XHJcbiAgICBsZXQgdG9wID0gMDtcclxuICAgIGlmICh0aGlzLmZvb3RlciAmJiB0aGlzLnRmb290KSB7XHJcbiAgICAgIHRvcCArPSB0aGlzLnRmb290Py5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCArIDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG9wO1xyXG4gIH1cclxuICBnZXQgZ2V0U3RpY2t5VG9wUmlnaHRFbGVIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5zdGlja3lUb3BSaWdodEVsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGlja3lUb3BSaWdodEVsZS5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgZ2V0U3RpY2t5Qm90dG9tUmlnaHRFbGVIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5zdGlja3lCb3R0b21SaWdodEVsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGlja3lCb3R0b21SaWdodEVsZS5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICB0Y2FwdGlvbiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIHRoZWFkczogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5bXSA9IFtdO1xyXG4gIHRmb290ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgdGhlYWRzQ2hhbmdlOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xyXG4gIGJvZHlDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIHNjcm9sbENvbnRlbnRFbGUhOiBIVE1MRWxlbWVudDtcclxuICBoYXNTY3JvbGxZID0gZmFsc2U7XHJcbiAgc2Nyb2xsWVdpZHRoID0gMDtcclxuICBoYXNTY3JvbGxYID0gZmFsc2U7XHJcbiAgc2Nyb2xsWEhlaWdodCA9IDA7XHJcbiAgc2Nyb2xsWFdpZHRoITogbnVtYmVyIHwgbnVsbDtcclxuICBzY3JvbGxMZWZ0ID0gMDtcclxuICBzY3JvbGxMZWZ0TWF4ID0gZmFsc2U7XHJcbiAgc2Nyb2xsVG9wID0gMDtcclxuICByb3dDaGVja2VkITogWFRhYmxlQ29sdW1uO1xyXG4gIGhlYWRDaGVja2JveExpc3QhOiBYVGFibGVDb2x1bW5bXTtcclxuICByb3dFeHBhbmQhOiBYVGFibGVDb2x1bW47XHJcbiAgaGVhZEV4cGFuZExpc3QhOiBYVGFibGVDb2x1bW5bXTtcclxuICBkYXRhSXNGdW5jID0gZmFsc2U7XHJcbiAgZ2V0dGluZyA9IGZhbHNlO1xyXG4gIHRhYmxlRGF0YTogWFRhYmxlUm93W10gPSBbXTtcclxuICB0cmVlVGFibGVEYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIGNoZWNrZWRWYWx1ZXM6IHsgW3Byb3A6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG4gIGluZGV0ZXJtaW5hdGUgPSAnJCRpbmRldGVybWluYXRlJztcclxuICBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnY2FwdGlvbicpIGNhcHRpb24hOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdwYWdpbmF0aW9uJykgcGFnaW5hdGlvbiE6IFhQYWdpbmF0aW9uQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3N0aWNreVRvcFJpZ2h0RWxlJykgc3RpY2t5VG9wUmlnaHRFbGUhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzdGlja3lCb3R0b21SaWdodEVsZScpIHN0aWNreUJvdHRvbVJpZ2h0RWxlITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0Um93Q2hlY2tlZCgpO1xyXG4gICAgdGhpcy5zZXRSb3dFeHBhbmQoKTtcclxuICAgIHRoaXMuc2V0UGFnaW5hdGlvblBvc2l0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGNoZWNrZWRSb3csIGNvbHVtbnMsIGFjdGl2YXRlZFJvdywgbWFudWFsLCBzaG93UGFnaW5hdGlvbiwgZXhwYW5kZWRBbGwsIGNlbGxDb25maWcgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZXhwYW5kZWRBbGwpICYmIHRoaXMuc2V0RXhwYW5kZWRBbGwoKTtcclxuICAgIFhJc0NoYW5nZShkYXRhLCBjaGVja2VkUm93KSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIGlmIChYSXNDaGFuZ2UoY29sdW1ucykpIHtcclxuICAgICAgdGhpcy5zZXRSb3dDaGVja2VkKCk7XHJcbiAgICAgIHRoaXMuc2V0Um93RXhwYW5kKCk7XHJcbiAgICB9XHJcbiAgICBYSXNDaGFuZ2UoY29sdW1ucywgYWN0aXZhdGVkUm93LCBzaG93UGFnaW5hdGlvbikgJiYgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgWElzQ2hhbmdlKG1hbnVhbCkgJiYgdGhpcy5zZXRNYW51YWwoKTtcclxuICAgIFhJc0NoYW5nZShjZWxsQ29uZmlnKSAmJiB0aGlzLnNldE1lcmdlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudGNhcHRpb24gPSB0aGlzLmNhcHRpb247XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgJHtYVGFibGVQcmVmaXh9LXJvdy1zaXplLSR7dGhpcy5yb3dTaXplfWBdOiAhWElzRW1wdHkodGhpcy5yb3dTaXplKVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBhZ2luYXRpb25Qb3NpdGlvbigpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGB4LXRhYmxlLSR7dGhpcy5wYWdpbmF0aW9uUG9zaXRpb259YCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3koY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGhpcy5nZXRTdGlja3lSaWdodChjb2x1bW4pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5TGVmdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLmxlZnQpID49IDA7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3lMZWZ0TGFzdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGxldCBsZWZ0cyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoKHgpID0+IE51bWJlcih4LmxlZnQpID49IDApO1xyXG4gICAgaWYgKGxlZnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGxlZnRzW2xlZnRzLmxlbmd0aCAtIDFdLmlkID09PSBjb2x1bW4uaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3lSaWdodChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLnJpZ2h0KSA+PSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGxldCByaWdodHMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKCh4KSA9PiBOdW1iZXIoeC5yaWdodCkgPj0gMCk7XHJcbiAgICBpZiAocmlnaHRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIHJpZ2h0c1swXS5pZCA9PT0gY29sdW1uLmlkO1xyXG4gIH1cclxuXHJcbiAgaGFzU3RpY2t5VG9wUmlnaHQoKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnNob3dIZWFkZXIgJiZcclxuICAgICAgKHRoaXMuaGVhZGVyUG9zaXRpb24gPT09ICd0b3AnIHx8IHRoaXMuaGVhZGVyUG9zaXRpb24gPT09ICd0b3AtYm90dG9tJykgJiZcclxuICAgICAgdGhpcy5jb2x1bW5zLnNvbWUoKHgpID0+IE51bWJlcih4LnJpZ2h0KSA+PSAwKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGhhc1N0aWNreVRvcFJpZ2h0U2VhcmNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVhZFNlYXJjaFRwbCA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGhhc1N0aWNreUJvdHRvbVJpZ2h0KCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5zaG93SGVhZGVyICYmXHJcbiAgICAgICh0aGlzLmhlYWRlclBvc2l0aW9uID09PSAnYm90dG9tJyB8fCB0aGlzLmhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpICYmXHJcbiAgICAgIHRoaXMuY29sdW1ucy5zb21lKCh4KSA9PiBOdW1iZXIoeC5yaWdodCkgPj0gMClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKE51bWJlcih0aGlzLmluZGV4KSAtIDEpICogTnVtYmVyKHRoaXMuc2l6ZSkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLmRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldEhlYWRDaGVja2JveExpc3QodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRFeHBhbmQodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRIZWFkRXhwYW5kTGlzdCgpO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgdGhpcy5kYXRhSXNGdW5jID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhQnlGdW5jKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hbnVhbCkgcmV0dXJuO1xyXG4gICAgdGhpcy5nZXR0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICAodGhpcy5kYXRhIGFzIEZ1bmN0aW9uKSh0aGlzLmluZGV4LCB0aGlzLnNpemUsIHRoaXMucXVlcnkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4OiBYUmVzdWx0TGlzdDxYVGFibGVSb3c+KSA9PiB7XHJcbiAgICAgICAgbGV0IFtkYXRhLCB0b3RhbF0gPSBbeC5saXN0IGFzIFhUYWJsZVJvd1tdLCB4LnRvdGFsIGFzIFhOdW1iZXJdO1xyXG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxCb2R5KSB7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LnNjcm9sbFRvSW5kZXgoMCk7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnNldENoZWNrZWQoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkQ2hlY2tib3hMaXN0KGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0RXhwYW5kKGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZEV4cGFuZExpc3QoKTtcclxuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XHJcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0TWFudWFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YUlzRnVuYykgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgfVxyXG5cclxuICBzZXRSb3dDaGVja2VkKCkge1xyXG4gICAgdGhpcy5yb3dDaGVja2VkID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkgYXMgWFRhYmxlQ29sdW1uO1xyXG4gICAgdGhpcy5oZWFkQ2hlY2tib3hMaXN0ID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoeCkgPT4geC50eXBlID09PSAnY2hlY2tib3gnICYmIHguaGVhZENoZWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Um93RXhwYW5kKCkge1xyXG4gICAgdGhpcy5yb3dFeHBhbmQgPSB0aGlzLmNvbHVtbnMuZmluZCgoeCkgPT4geC5yb3dFeHBhbmQpIGFzIFhUYWJsZUNvbHVtbjtcclxuICB9XHJcblxyXG4gIGlzRXhwYW5kQ29sdW1uKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBsZXQgZXhwYW5kQ29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbHVtbi5pZCAmJiB4LnR5cGUgPT09ICdleHBhbmQnKTtcclxuICAgIGlmIChleHBhbmRDb2x1bW4pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRNZXJnZSgpIHtcclxuICAgIGlmICghdGhpcy5jZWxsQ29uZmlnKSByZXR1cm47XHJcbiAgICBjb25zdCBzZXRSdWxlID0gKHJ1bGU/OiBYVGFibGVDZWxsQ29uZmlnUnVsZSkgPT4ge1xyXG4gICAgICBpZiAoIXJ1bGUpIHJldHVybjtcclxuICAgICAgbGV0IGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSAnJyxcclxuICAgICAgICBjZWxscyA9IFtdO1xyXG4gICAgICBpZiAoIXJ1bGUuZ3JpZFRlbXBsYXRlQ29sdW1ucykge1xyXG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBgJHt0aGlzLmNvbHVtbnNcclxuICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHgud2lkdGgpIHJldHVybiB4LndpZHRoO1xyXG4gICAgICAgICAgICBpZiAoeC5mbGV4KSByZXR1cm4gYCR7eC5mbGV4fWZyYDtcclxuICAgICAgICAgICAgcmV0dXJuICcxZnInO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5qb2luKCcgJyl9YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXJ1bGUuY2VsbHMpIHJldHVybjtcclxuICAgICAgY2VsbHMgPSBydWxlLmNlbGxzLm1hcCgoeSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbCA9IHRoaXMuY29sdW1ucy5maW5kKCh6KSA9PiB6LmlkID09PSB5LmlkKTtcclxuICAgICAgICBpZiAoY29sKSB7XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5jb2wsIC4uLnkgfSBhcyBYVGFibGVDZWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB7IGdyaWRUZW1wbGF0ZUNvbHVtbnMsIGNlbGxzIH07XHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRoZWFkID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGhlYWQpO1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRib2R5ID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGJvZHkpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuZGF0YUlzRnVuYyAmJiB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XHJcbiAgICB0aGlzLnJlc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFNjcm9sbCh4ID0gdHJ1ZSwgeSA9IHRydWUpIHtcclxuICAgIGlmICh0aGlzLmhhc1Njcm9sbFggJiYgeCkgdGhpcy52aXJ0dWFsQm9keT8uc2Nyb2xsVG8oeyBsZWZ0OiAwIH0pO1xyXG4gICAgaWYgKHRoaXMuaGFzU2Nyb2xsWSAmJiB5KSB0aGlzLnZpcnR1YWxCb2R5Py5zY3JvbGxUbyh7IHRvcDogMCB9KTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrZWQoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGxldCByZXN1bHQ6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgICBpZiAoWElzRW1wdHkoZGF0YSkgfHwgIXRoaXMuY2hlY2tlZFJvdykgcmV0dXJuO1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY2hlY2tlZFJvdykge1xyXG4gICAgICBjb25zdCBhcnIgPSB0aGlzLmNoZWNrZWRSb3dba2V5XTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiBkYXRhIGFzIGFueVtdKSB7XHJcbiAgICAgICAgaXRlbVtrZXldID0gYXJyLmluY2x1ZGVzKGl0ZW0uaWQpO1xyXG4gICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIGl0ZW1dO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIGRhdGEgPSBbLi4ucmVzdWx0XTtcclxuICB9XHJcblxyXG4gIHNldEhlYWRDaGVja2JveExpc3QoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGlmIChYSXNFbXB0eShkYXRhKSB8fCAhdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSByZXR1cm47XHJcbiAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSB7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kKGRhdGE6IFhUYWJsZVJvd1tdKSB7XHJcbiAgICBjb25zdCBnZXRDaGlsZHJlbiA9IChub2RlOiBYVGFibGVSb3csIGxldmVsOiBudW1iZXIpID0+IHtcclxuICAgICAgbm9kZS5sZXZlbCA9IGxldmVsO1xyXG4gICAgICBub2RlLmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKSB8fCBsZXZlbCA8PSBOdW1iZXIodGhpcy5leHBhbmRlZExldmVsKSB8fCB0aGlzLmV4cGFuZGVkLmluY2x1ZGVzKG5vZGUuaWQpO1xyXG4gICAgICBpZiAoWElzVW5kZWZpbmVkKG5vZGUuY2hpbGRyZW4pKSBub2RlLmNoaWxkcmVuID0gZGF0YS5maWx0ZXIoKHkpID0+IHkucGlkID09PSBub2RlLmlkKTtcclxuICAgICAgaWYgKFhJc1VuZGVmaW5lZChub2RlLmxlYWYpKSBub2RlLmxlYWYgPSAobm9kZS5jaGlsZHJlbj8ubGVuZ3RoIGFzIG51bWJlcikgPiAwO1xyXG4gICAgICBpZiAobm9kZS5sZWFmKSBub2RlLmNoaWxkcmVuPy5tYXAoKHkpID0+IGdldENoaWxkcmVuKHksIGxldmVsICsgMSkpO1xyXG4gICAgICByZXR1cm4gbm9kZTtcclxuICAgIH07XHJcbiAgICB0aGlzLnRyZWVUYWJsZURhdGEgPSBkYXRhXHJcbiAgICAgIC5maWx0ZXIoKHgpID0+IFhJc0VtcHR5KHgucGlkKSlcclxuICAgICAgLm1hcCgoeCwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAoWElzVW5kZWZpbmVkKHguaWQpKSB4LmlkID0gaW5kZXggKyAxO1xyXG4gICAgICAgIHJldHVybiBnZXRDaGlsZHJlbih4LCAwKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRFeHBhbmRlZEFsbCgpIHtcclxuICAgIGlmICghdGhpcy50cmVlVGFibGUgfHwgdGhpcy50cmVlVGFibGVEYXRhPy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKG5vZGVzOiBYVGFibGVSb3dbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkobm9kZXMpKSByZXR1cm47XHJcbiAgICAgIG5vZGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICB4LmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUYWJsZVJvd1tdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgc2V0Q2hpbGRyZW4odGhpcy50cmVlVGFibGVEYXRhKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0SGVhZEV4cGFuZExpc3QoKSB7fVxyXG5cclxuICBjaGVja1NvcnQoc29ydDogWFNvcnRbXSkge1xyXG4gICAgaWYgKCF0aGlzLmRhdGFJc0Z1bmMpIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5xdWVyeSA9PT0gJ3VuZGVmaW5lZCcpIHRoaXMucXVlcnkgPSB7fTtcclxuICAgIHRoaXMucXVlcnkuc29ydCA9IHNvcnQ7XHJcbiAgICB0aGlzLnF1ZXJ5Q2hhbmdlLmVtaXQodGhpcy5xdWVyeSk7XHJcbiAgICB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICB9XHJcblxyXG4gIGhlYWRDaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4sIGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGlmICgheC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHhbY29sdW1uLmlkXSA9IGNoZWNrZWQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDaGVja2VkVmFsdWVzKGNvbHVtbik7XHJcbiAgICB0aGlzLmhlYWRDaGVja2JveENoYW5nZS5lbWl0KHsgcm93czogdGhpcy50YWJsZURhdGEsIGNoZWNrYm94OiB0aGlzLmNoZWNrZWRWYWx1ZXMgfSk7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGJvZHlDaGVja2VkKF9jaGVja2VkOiBib29sZWFuLCBjb2x1bW46IFhUYWJsZUNvbHVtbiwgcm93OiBYVGFibGVSb3cpIHtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgdGhpcy5ib2R5Q2hlY2tib3hDaGFuZ2UuZW1pdChyb3cpO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGVja2VkVmFsdWVzKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBjb25zdCBub3REaXNhYmxlZCA9IHRoaXMudGFibGVEYXRhLmZpbHRlcigoeCkgPT4gIXguZGlzYWJsZWQpO1xyXG4gICAgY29uc3QgY291bnQgPSBub3REaXNhYmxlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBjaGVja2VkTGVuID0gbm90RGlzYWJsZWQuZmlsdGVyKCh4KSA9PiB4W2NvbHVtbi5pZF0pLmxlbmd0aDtcclxuICAgIHRoaXMuY2hlY2tlZFZhbHVlc1tjb2x1bW4uaWRdID0gY291bnQgPT09IGNoZWNrZWRMZW4gJiYgY291bnQgIT09IDA7XHJcbiAgICB0aGlzLmNoZWNrZWRWYWx1ZXNbY29sdW1uLmlkICsgdGhpcy5pbmRldGVybWluYXRlXSA9IGNoZWNrZWRMZW4gPiAwICYmIGNoZWNrZWRMZW4gPCBjb3VudDtcclxuICB9XHJcblxyXG4gIGRldGVjdENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmJvZHlDaGFuZ2UgJiYgdGhpcy5ib2R5Q2hhbmdlKCk7XHJcbiAgICB0aGlzLnRoZWFkc0NoYW5nZXMoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRoZWFkc0NoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy50aGVhZHNDaGFuZ2UgJiYgdGhpcy50aGVhZHNDaGFuZ2UubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMudGhlYWRzQ2hhbmdlKSB7XHJcbiAgICAgICAgaXRlbSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjx0YWJsZVxyXG4gICN0YWJsZVxyXG4gIGNsYXNzPVwieC10YWJsZVwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFt4LWxvYWRpbmddPVwibG9hZGluZyAmJiBnZXR0aW5nXCJcclxuICBbY2xhc3MueC10YWJsZS13cmFwLWJvcmRlci1oaWRkZW5dPVwiaGlkZGVuV3JhcEJvcmRlclwiXHJcbiAgW2NsYXNzLngtdGFibGUtc2Nyb2xsLWxlZnRdPVwiZ2V0U2Nyb2xsTGVmdFwiXHJcbiAgW2NsYXNzLngtdGFibGUtc2Nyb2xsLWxlZnQtbWF4XT1cInNjcm9sbExlZnRNYXhcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXNjcm9sbC10b3BdPVwiZ2V0U2Nyb2xsVG9wXCJcclxuICBbY2xhc3MueC10YWJsZS1oYXMtc2Nyb2xsLXJpZ2h0XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgW2NsYXNzLngtdGFibGUtaGFzLXNjcm9sbC1ib3R0b21dPVwic2Nyb2xsWFdpZHRoXCJcclxuICBbY2xhc3MueC10YWJsZS1ib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgW2NsYXNzLngtdGFibGUtdGQtYWRhcHRpb24taGVpZ2h0XT1cInJvd0hlaWdodCA9PSAwXCJcclxuICBbY2xhc3MueC10YWJsZS1jZWxsLWNvbmZpZ109XCJjZWxsQ29uZmlnXCJcclxuPlxyXG4gIDxjYXB0aW9uICNjYXB0aW9uIGNsYXNzPVwieC10YWJsZS1oZWFkZXJcIiAqbmdJZj1cImhlYWRlclwiIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiaGVhZGVyXCI+e3sgaGVhZGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgPC9jYXB0aW9uPlxyXG4gIDx4LXRhYmxlLWhlYWRcclxuICAgICpuZ0lmPVwic2hvd0hlYWRlciAmJiAoaGVhZGVyUG9zaXRpb24gPT09ICd0b3AnIHx8IGhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpXCJcclxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2NvbHVtblRwbF09XCJoZWFkQ29sdW1uVHBsXCJcclxuICAgIFtzY3JvbGxZV2lkdGhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzY3JvbGxYV2lkdGhdPVwic2Nyb2xsWFdpZHRoXCJcclxuICAgIFtjZWxsQ29uZmlnXT1cImNlbGxDb25maWc/LnRoZWFkXCJcclxuICAgIFtwb3NpdGlvbl09XCIndG9wJ1wiXHJcbiAgICBbdGFibGVdPVwidGhpc1wiXHJcbiAgPjwveC10YWJsZS1oZWFkPlxyXG4gIDx4LXRhYmxlLWJvZHlcclxuICAgIFtkYXRhXT1cInRyZWVUYWJsZSA/IHRyZWVUYWJsZURhdGEgOiB0YWJsZURhdGFcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2JvZHlIZWlnaHRdPVwiYm9keUhlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImJvZHlDb2x1bW5UcGxcIlxyXG4gICAgW2FsbG93U2VsZWN0Um93XT1cImFsbG93U2VsZWN0Um93XCJcclxuICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInZpcnR1YWxTY3JvbGxcIlxyXG4gICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICBbYWRhcHRpb25IZWlnaHRdPVwiYWRhcHRpb25IZWlnaHRcIlxyXG4gICAgW2RvY1BlcmNlbnRdPVwiZG9jUGVyY2VudFwiXHJcbiAgICBbc2Nyb2xsXT1cInNjcm9sbFwiXHJcbiAgICBbcm93Q2xhc3NdPVwicm93Q2xhc3NcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGJvZHlcIlxyXG4gICAgW2V4cGFuZGVkQWxsXT1cImV4cGFuZGVkQWxsXCJcclxuICAgIFtleHBhbmRUcGxdPVwiZXhwYW5kVHBsXCJcclxuICAgIFsoYWN0aXZhdGVkUm93KV09XCJhY3RpdmF0ZWRSb3dcIlxyXG4gICAgKGFjdGl2YXRlZFJvd0NoYW5nZSk9XCJhY3RpdmF0ZWRSb3dDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgIFt0YWJsZV09XCJ0aGlzXCJcclxuICA+PC94LXRhYmxlLWJvZHk+XHJcbiAgPHgtdGFibGUtaGVhZFxyXG4gICAgKm5nSWY9XCJzaG93SGVhZGVyICYmIChoZWFkZXJQb3NpdGlvbiA9PT0gJ2JvdHRvbScgfHwgaGVhZGVyUG9zaXRpb24gPT09ICd0b3AtYm90dG9tJylcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImhlYWRDb2x1bW5UcGxcIlxyXG4gICAgW3Njcm9sbFlXaWR0aF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3Njcm9sbFhXaWR0aF09XCJzY3JvbGxYV2lkdGhcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGhlYWRcIlxyXG4gICAgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcclxuICAgIFt0YWJsZV09XCJ0aGlzXCJcclxuICA+PC94LXRhYmxlLWhlYWQ+XHJcbiAgPHgtdGFibGUtZm9vdCAqbmdJZj1cImZvb3RlclwiIFt0YWJsZV09XCJ0aGlzXCIgW2Zvb3Rlcl09XCJmb290ZXJcIiBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiPjwveC10YWJsZS1mb290PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5VG9wUmlnaHQoKVwiXHJcbiAgICAjc3RpY2t5VG9wUmlnaHRFbGVcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLWJvcmRlci1ib3R0b21dPVwiaGVhZFNlYXJjaFRwbFwiXHJcbiAgICBbc3R5bGUudG9wLnB4XT1cImdldFN0aWNreVRvcFNjcm9sbFRvcFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgPjwvZGl2PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5VG9wUmlnaHQoKSAmJiBoZWFkU2VhcmNoVHBsXCJcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtzdHlsZS50b3AucHhdPVwiZ2V0U3RpY2t5VG9wU2Nyb2xsVG9wICsgZ2V0U3RpY2t5VG9wUmlnaHRFbGVIZWlnaHRcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gID48L2Rpdj5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImhhc1N0aWNreUJvdHRvbVJpZ2h0KClcIlxyXG4gICAgI3N0aWNreUJvdHRvbVJpZ2h0RWxlXHJcbiAgICBjbGFzcz1cIngtdGFibGUtc3RpY2t5LXJpZ2h0LXNjcm9sbFwiXHJcbiAgICBbc3R5bGUuYm90dG9tLnB4XT1cImdldFN0aWNreUJvdHRvbVNjcm9sbFRvcFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgPjwvZGl2PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5Qm90dG9tUmlnaHQoKSAmJiBoZWFkU2VhcmNoVHBsXCJcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLWJvcmRlci1ib3R0b21dPVwiaGVhZFNlYXJjaFRwbFwiXHJcbiAgICBbc3R5bGUuYm90dG9tLnB4XT1cImdldFN0aWNreUJvdHRvbVNjcm9sbFRvcCArIGdldFN0aWNreUJvdHRvbVJpZ2h0RWxlSGVpZ2h0XCJcclxuICAgIFtzdHlsZS53aWR0aC5weF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICA+PC9kaXY+XHJcbjwvdGFibGU+XHJcbjx4LXBhZ2luYXRpb25cclxuICAjcGFnaW5hdGlvblxyXG4gICpuZ0lmPVwic2hvd1BhZ2luYXRpb24gJiYgc2l6ZVwiXHJcbiAgWyhpbmRleCldPVwiaW5kZXhcIlxyXG4gIFsoc2l6ZSldPVwic2l6ZVwiXHJcbiAgWyhxdWVyeSldPVwicXVlcnlcIlxyXG4gIFt0b3RhbF09XCJ0b3RhbFwiXHJcbiAgKGluZGV4Q2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcclxuICAoc2l6ZUNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXHJcbiAgW3Nob3dFbGxpcHNpc109XCJzaG93RWxsaXBzaXNcIlxyXG4gIFtzaG93VG90YWxdPVwic2hvd1RvdGFsXCJcclxuICBbc3BhY2VdPVwic3BhY2VcIlxyXG4gIFtoaWRkZW5Cb3JkZXJdPVwiaGlkZGVuUGFnaW5hdGlvbkJvcmRlciFcIlxyXG4gIFtzaG93U2l6ZV09XCJzaG93U2l6ZVwiXHJcbiAgW3Nob3dKdW1wXT1cInNob3dKdW1wXCJcclxuICBbanVtcFdpZHRoXT1cImp1bXBXaWR0aFwiXHJcbiAgW3Nob3dJbnB1dFNpemVdPVwic2hvd0lucHV0U2l6ZVwiXHJcbiAgW2lucHV0U2l6ZVdpZHRoXT1cImlucHV0U2l6ZVdpZHRoXCJcclxuICBbc2l6ZURhdGFdPVwic2l6ZURhdGFcIlxyXG4gIFtzaXplV2lkdGhdPVwic2l6ZVdpZHRoXCJcclxuICBbcGFnZUxpbmtTaXplXT1cInBhZ2VMaW5rU2l6ZVwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbdG90YWxUcGxdPVwidG90YWxUcGxcIlxyXG4gIFtzaW1wbGVdPVwic2ltcGxlXCJcclxuICBbc2ltcGxlSW5kZXhXaWR0aF09XCJzaW1wbGVJbmRleFdpZHRoXCJcclxuPlxyXG48L3gtcGFnaW5hdGlvbj5cclxuIl19
368
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBNkQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBK0MsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFFL0IsTUFPYSxlQUFnQixTQUFRLGNBQWM7SUFDakQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7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bUJBQW1CO2dCQUNLLG9CQUFvQjtzQkFBdEQsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZVByZWZpeCwgWFRhYmxlUHJvcGVydHksIFhUYWJsZUNvbHVtbiwgWFRhYmxlUm93LCBYVGFibGVDZWxsLCBYVGFibGVDZWxsQ29uZmlnUnVsZSB9IGZyb20gJy4vdGFibGUucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNDaGFuZ2UsIFhJc0VtcHR5LCBYUmVzdWx0TGlzdCwgWE51bWJlciwgWFNvcnQsIFhDb25maWdTZXJ2aWNlLCBYSXNVbmRlZmluZWQgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUYWJsZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVDb21wb25lbnQgZXh0ZW5kcyBYVGFibGVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBnZXQgZ2V0U2Nyb2xsTGVmdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNjcm9sbExlZnQgPiAwO1xyXG4gIH1cclxuICBnZXQgZ2V0U2Nyb2xsVG9wKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsVG9wID4gMDtcclxuICB9XHJcbiAgZ2V0IGdldFJvd0hlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICB9XHJcbiAgZ2V0IGdldFN0aWNreVRvcFNjcm9sbFRvcCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRjYXB0aW9uID8gdGhpcy50Y2FwdGlvbi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCA6IDA7XHJcbiAgfVxyXG4gIGdldCBnZXRTdGlja3lCb3R0b21TY3JvbGxUb3AoKSB7XHJcbiAgICBsZXQgdG9wID0gMDtcclxuICAgIGlmICh0aGlzLmZvb3RlciAmJiB0aGlzLnRmb290KSB7XHJcbiAgICAgIHRvcCArPSB0aGlzLnRmb290Py5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCArIDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG9wO1xyXG4gIH1cclxuICBnZXQgZ2V0U3RpY2t5VG9wUmlnaHRFbGVIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5zdGlja3lUb3BSaWdodEVsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGlja3lUb3BSaWdodEVsZS5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgZ2V0U3RpY2t5Qm90dG9tUmlnaHRFbGVIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5zdGlja3lCb3R0b21SaWdodEVsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGlja3lCb3R0b21SaWdodEVsZS5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICB0Y2FwdGlvbiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIHRoZWFkczogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5bXSA9IFtdO1xyXG4gIHRmb290ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgdGhlYWRzQ2hhbmdlOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xyXG4gIGJvZHlDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIHNjcm9sbENvbnRlbnRFbGUhOiBIVE1MRWxlbWVudDtcclxuICBoYXNTY3JvbGxZID0gZmFsc2U7XHJcbiAgc2Nyb2xsWVdpZHRoID0gMDtcclxuICBoYXNTY3JvbGxYID0gZmFsc2U7XHJcbiAgc2Nyb2xsWEhlaWdodCA9IDA7XHJcbiAgc2Nyb2xsWFdpZHRoITogbnVtYmVyIHwgbnVsbDtcclxuICBzY3JvbGxMZWZ0ID0gMDtcclxuICBzY3JvbGxMZWZ0TWF4ID0gZmFsc2U7XHJcbiAgc2Nyb2xsVG9wID0gMDtcclxuICByb3dDaGVja2VkITogWFRhYmxlQ29sdW1uO1xyXG4gIGhlYWRDaGVja2JveExpc3QhOiBYVGFibGVDb2x1bW5bXTtcclxuICByb3dFeHBhbmQhOiBYVGFibGVDb2x1bW47XHJcbiAgaGVhZEV4cGFuZExpc3QhOiBYVGFibGVDb2x1bW5bXTtcclxuICBkYXRhSXNGdW5jID0gZmFsc2U7XHJcbiAgZ2V0dGluZyA9IGZhbHNlO1xyXG4gIHRhYmxlRGF0YTogWFRhYmxlUm93W10gPSBbXTtcclxuICB0cmVlVGFibGVEYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIGNoZWNrZWRWYWx1ZXM6IHsgW3Byb3A6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG4gIGluZGV0ZXJtaW5hdGUgPSAnJCRpbmRldGVybWluYXRlJztcclxuICBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnY2FwdGlvbicpIGNhcHRpb24hOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdwYWdpbmF0aW9uJykgcGFnaW5hdGlvbiE6IFhQYWdpbmF0aW9uQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3N0aWNreVRvcFJpZ2h0RWxlJykgc3RpY2t5VG9wUmlnaHRFbGUhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzdGlja3lCb3R0b21SaWdodEVsZScpIHN0aWNreUJvdHRvbVJpZ2h0RWxlITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0Um93Q2hlY2tlZCgpO1xyXG4gICAgdGhpcy5zZXRSb3dFeHBhbmQoKTtcclxuICAgIHRoaXMuc2V0UGFnaW5hdGlvblBvc2l0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGNoZWNrZWRSb3csIGNvbHVtbnMsIGFjdGl2YXRlZFJvdywgbWFudWFsLCBzaG93UGFnaW5hdGlvbiwgZXhwYW5kZWRBbGwsIGNlbGxDb25maWcgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZXhwYW5kZWRBbGwpICYmIHRoaXMuc2V0RXhwYW5kZWRBbGwoKTtcclxuICAgIFhJc0NoYW5nZShkYXRhLCBjaGVja2VkUm93KSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIGlmIChYSXNDaGFuZ2UoY29sdW1ucykpIHtcclxuICAgICAgdGhpcy5zZXRSb3dDaGVja2VkKCk7XHJcbiAgICAgIHRoaXMuc2V0Um93RXhwYW5kKCk7XHJcbiAgICB9XHJcbiAgICBYSXNDaGFuZ2UoY29sdW1ucywgYWN0aXZhdGVkUm93LCBzaG93UGFnaW5hdGlvbikgJiYgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgWElzQ2hhbmdlKG1hbnVhbCkgJiYgdGhpcy5zZXRNYW51YWwoKTtcclxuICAgIFhJc0NoYW5nZShjZWxsQ29uZmlnKSAmJiB0aGlzLnNldE1lcmdlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudGNhcHRpb24gPSB0aGlzLmNhcHRpb247XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgJHtYVGFibGVQcmVmaXh9LXJvdy1zaXplLSR7dGhpcy5yb3dTaXplfWBdOiAhWElzRW1wdHkodGhpcy5yb3dTaXplKVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBhZ2luYXRpb25Qb3NpdGlvbigpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGB4LXRhYmxlLSR7dGhpcy5wYWdpbmF0aW9uUG9zaXRpb259YCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3koY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGhpcy5nZXRTdGlja3lSaWdodChjb2x1bW4pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5TGVmdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLmxlZnQpID49IDA7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3lMZWZ0TGFzdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGxldCBsZWZ0cyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoKHgpID0+IE51bWJlcih4LmxlZnQpID49IDApO1xyXG4gICAgaWYgKGxlZnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGxlZnRzW2xlZnRzLmxlbmd0aCAtIDFdLmlkID09PSBjb2x1bW4uaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3lSaWdodChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLnJpZ2h0KSA+PSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGxldCByaWdodHMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKCh4KSA9PiBOdW1iZXIoeC5yaWdodCkgPj0gMCk7XHJcbiAgICBpZiAocmlnaHRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIHJpZ2h0c1swXS5pZCA9PT0gY29sdW1uLmlkO1xyXG4gIH1cclxuXHJcbiAgaGFzU3RpY2t5VG9wUmlnaHQoKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnNob3dIZWFkZXIgJiZcclxuICAgICAgKHRoaXMuaGVhZGVyUG9zaXRpb24gPT09ICd0b3AnIHx8IHRoaXMuaGVhZGVyUG9zaXRpb24gPT09ICd0b3AtYm90dG9tJykgJiZcclxuICAgICAgdGhpcy5jb2x1bW5zLnNvbWUoKHgpID0+IE51bWJlcih4LnJpZ2h0KSA+PSAwKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGhhc1N0aWNreVRvcFJpZ2h0U2VhcmNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVhZFNlYXJjaFRwbCA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGhhc1N0aWNreUJvdHRvbVJpZ2h0KCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5zaG93SGVhZGVyICYmXHJcbiAgICAgICh0aGlzLmhlYWRlclBvc2l0aW9uID09PSAnYm90dG9tJyB8fCB0aGlzLmhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpICYmXHJcbiAgICAgIHRoaXMuY29sdW1ucy5zb21lKCh4KSA9PiBOdW1iZXIoeC5yaWdodCkgPj0gMClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKE51bWJlcih0aGlzLmluZGV4KSAtIDEpICogTnVtYmVyKHRoaXMuc2l6ZSkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLmRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldEhlYWRDaGVja2JveExpc3QodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRFeHBhbmQodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRIZWFkRXhwYW5kTGlzdCgpO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgdGhpcy5kYXRhSXNGdW5jID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhQnlGdW5jKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hbnVhbCkgcmV0dXJuO1xyXG4gICAgdGhpcy5nZXR0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICAodGhpcy5kYXRhIGFzIEZ1bmN0aW9uKSh0aGlzLmluZGV4LCB0aGlzLnNpemUsIHRoaXMucXVlcnkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4OiBYUmVzdWx0TGlzdDxYVGFibGVSb3c+KSA9PiB7XHJcbiAgICAgICAgbGV0IFtkYXRhLCB0b3RhbF0gPSBbeC5saXN0IGFzIFhUYWJsZVJvd1tdLCB4LnRvdGFsIGFzIFhOdW1iZXJdO1xyXG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxCb2R5KSB7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LnNjcm9sbFRvSW5kZXgoMCk7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnNldENoZWNrZWQoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkQ2hlY2tib3hMaXN0KGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0RXhwYW5kKGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZEV4cGFuZExpc3QoKTtcclxuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XHJcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0TWFudWFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YUlzRnVuYykgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgfVxyXG5cclxuICBzZXRSb3dDaGVja2VkKCkge1xyXG4gICAgdGhpcy5yb3dDaGVja2VkID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkgYXMgWFRhYmxlQ29sdW1uO1xyXG4gICAgdGhpcy5oZWFkQ2hlY2tib3hMaXN0ID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoeCkgPT4geC50eXBlID09PSAnY2hlY2tib3gnICYmIHguaGVhZENoZWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Um93RXhwYW5kKCkge1xyXG4gICAgdGhpcy5yb3dFeHBhbmQgPSB0aGlzLmNvbHVtbnMuZmluZCgoeCkgPT4geC5yb3dFeHBhbmQpIGFzIFhUYWJsZUNvbHVtbjtcclxuICB9XHJcblxyXG4gIGlzRXhwYW5kQ29sdW1uKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBsZXQgZXhwYW5kQ29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbHVtbi5pZCAmJiB4LnR5cGUgPT09ICdleHBhbmQnKTtcclxuICAgIGlmIChleHBhbmRDb2x1bW4pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRNZXJnZSgpIHtcclxuICAgIGlmICghdGhpcy5jZWxsQ29uZmlnKSByZXR1cm47XHJcbiAgICBjb25zdCBzZXRSdWxlID0gKHJ1bGU/OiBYVGFibGVDZWxsQ29uZmlnUnVsZSkgPT4ge1xyXG4gICAgICBpZiAoIXJ1bGUpIHJldHVybjtcclxuICAgICAgbGV0IGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSAnJyxcclxuICAgICAgICBjZWxscyA9IFtdO1xyXG4gICAgICBpZiAoIXJ1bGUuZ3JpZFRlbXBsYXRlQ29sdW1ucykge1xyXG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBgJHt0aGlzLmNvbHVtbnNcclxuICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHgud2lkdGgpIHJldHVybiB4LndpZHRoO1xyXG4gICAgICAgICAgICBpZiAoeC5mbGV4KSByZXR1cm4gYCR7eC5mbGV4fWZyYDtcclxuICAgICAgICAgICAgcmV0dXJuICcxZnInO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5qb2luKCcgJyl9YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXJ1bGUuY2VsbHMpIHJldHVybjtcclxuICAgICAgY2VsbHMgPSBydWxlLmNlbGxzLm1hcCgoeSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbCA9IHRoaXMuY29sdW1ucy5maW5kKCh6KSA9PiB6LmlkID09PSB5LmlkKTtcclxuICAgICAgICBpZiAoY29sKSB7XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5jb2wsIC4uLnkgfSBhcyBYVGFibGVDZWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB7IGdyaWRUZW1wbGF0ZUNvbHVtbnMsIGNlbGxzIH07XHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRoZWFkID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGhlYWQpO1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRib2R5ID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGJvZHkpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuZGF0YUlzRnVuYyAmJiB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XHJcbiAgICB0aGlzLnJlc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFNjcm9sbCh4ID0gdHJ1ZSwgeSA9IHRydWUpIHtcclxuICAgIGlmICh0aGlzLmhhc1Njcm9sbFggJiYgeCkgdGhpcy52aXJ0dWFsQm9keT8uc2Nyb2xsVG8oeyBsZWZ0OiAwIH0pO1xyXG4gICAgaWYgKHRoaXMuaGFzU2Nyb2xsWSAmJiB5KSB0aGlzLnZpcnR1YWxCb2R5Py5zY3JvbGxUbyh7IHRvcDogMCB9KTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrZWQoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGxldCByZXN1bHQ6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgICBpZiAoWElzRW1wdHkoZGF0YSkgfHwgIXRoaXMuY2hlY2tlZFJvdykgcmV0dXJuO1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY2hlY2tlZFJvdykge1xyXG4gICAgICBjb25zdCBhcnIgPSB0aGlzLmNoZWNrZWRSb3dba2V5XTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiBkYXRhIGFzIGFueVtdKSB7XHJcbiAgICAgICAgaXRlbVtrZXldID0gYXJyLmluY2x1ZGVzKGl0ZW0uaWQpO1xyXG4gICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIGl0ZW1dO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIGRhdGEgPSBbLi4ucmVzdWx0XTtcclxuICB9XHJcblxyXG4gIHNldEhlYWRDaGVja2JveExpc3QoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGlmIChYSXNFbXB0eShkYXRhKSB8fCAhdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSByZXR1cm47XHJcbiAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSB7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kKGRhdGE6IFhUYWJsZVJvd1tdKSB7XHJcbiAgICBjb25zdCBnZXRDaGlsZHJlbiA9IChub2RlOiBYVGFibGVSb3csIGxldmVsOiBudW1iZXIpID0+IHtcclxuICAgICAgbm9kZS5sZXZlbCA9IGxldmVsO1xyXG4gICAgICBub2RlLmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKSB8fCBsZXZlbCA8PSBOdW1iZXIodGhpcy5leHBhbmRlZExldmVsKSB8fCB0aGlzLmV4cGFuZGVkLmluY2x1ZGVzKG5vZGUuaWQpO1xyXG4gICAgICBpZiAoWElzVW5kZWZpbmVkKG5vZGUuY2hpbGRyZW4pKSBub2RlLmNoaWxkcmVuID0gZGF0YS5maWx0ZXIoKHkpID0+IHkucGlkID09PSBub2RlLmlkKTtcclxuICAgICAgaWYgKFhJc1VuZGVmaW5lZChub2RlLmxlYWYpKSBub2RlLmxlYWYgPSAobm9kZS5jaGlsZHJlbj8ubGVuZ3RoIGFzIG51bWJlcikgPiAwO1xyXG4gICAgICBpZiAobm9kZS5sZWFmKSBub2RlLmNoaWxkcmVuPy5tYXAoKHkpID0+IGdldENoaWxkcmVuKHksIGxldmVsICsgMSkpO1xyXG4gICAgICByZXR1cm4gbm9kZTtcclxuICAgIH07XHJcbiAgICB0aGlzLnRyZWVUYWJsZURhdGEgPSBkYXRhXHJcbiAgICAgIC5maWx0ZXIoKHgpID0+IFhJc0VtcHR5KHgucGlkKSlcclxuICAgICAgLm1hcCgoeCwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAoWElzVW5kZWZpbmVkKHguaWQpKSB4LmlkID0gaW5kZXggKyAxO1xyXG4gICAgICAgIHJldHVybiBnZXRDaGlsZHJlbih4LCAwKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRFeHBhbmRlZEFsbCgpIHtcclxuICAgIGlmICghdGhpcy50cmVlVGFibGUgfHwgdGhpcy50cmVlVGFibGVEYXRhPy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKG5vZGVzOiBYVGFibGVSb3dbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkobm9kZXMpKSByZXR1cm47XHJcbiAgICAgIG5vZGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICB4LmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUYWJsZVJvd1tdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgc2V0Q2hpbGRyZW4odGhpcy50cmVlVGFibGVEYXRhKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0SGVhZEV4cGFuZExpc3QoKSB7fVxyXG5cclxuICBjaGVja1NvcnQoc29ydDogWFNvcnRbXSkge1xyXG4gICAgaWYgKCF0aGlzLmRhdGFJc0Z1bmMpIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5xdWVyeSA9PT0gJ3VuZGVmaW5lZCcpIHRoaXMucXVlcnkgPSB7fTtcclxuICAgIHRoaXMucXVlcnkuc29ydCA9IHNvcnQ7XHJcbiAgICB0aGlzLnF1ZXJ5Q2hhbmdlLmVtaXQodGhpcy5xdWVyeSk7XHJcbiAgICB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICB9XHJcblxyXG4gIGhlYWRDaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4sIGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGlmICgheC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHhbY29sdW1uLmlkXSA9IGNoZWNrZWQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDaGVja2VkVmFsdWVzKGNvbHVtbik7XHJcbiAgICB0aGlzLmhlYWRDaGVja2JveENoYW5nZS5lbWl0KHsgcm93czogdGhpcy50YWJsZURhdGEsIGNoZWNrYm94OiB0aGlzLmNoZWNrZWRWYWx1ZXMgfSk7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGJvZHlDaGVja2VkKF9jaGVja2VkOiBib29sZWFuLCBjb2x1bW46IFhUYWJsZUNvbHVtbiwgcm93OiBYVGFibGVSb3cpIHtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgdGhpcy5ib2R5Q2hlY2tib3hDaGFuZ2UuZW1pdChyb3cpO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGVja2VkVmFsdWVzKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBjb25zdCBub3REaXNhYmxlZCA9IHRoaXMudGFibGVEYXRhLmZpbHRlcigoeCkgPT4gIXguZGlzYWJsZWQpO1xyXG4gICAgY29uc3QgY291bnQgPSBub3REaXNhYmxlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBjaGVja2VkTGVuID0gbm90RGlzYWJsZWQuZmlsdGVyKCh4KSA9PiB4W2NvbHVtbi5pZF0pLmxlbmd0aDtcclxuICAgIHRoaXMuY2hlY2tlZFZhbHVlc1tjb2x1bW4uaWRdID0gY291bnQgPT09IGNoZWNrZWRMZW4gJiYgY291bnQgIT09IDA7XHJcbiAgICB0aGlzLmNoZWNrZWRWYWx1ZXNbY29sdW1uLmlkICsgdGhpcy5pbmRldGVybWluYXRlXSA9IGNoZWNrZWRMZW4gPiAwICYmIGNoZWNrZWRMZW4gPCBjb3VudDtcclxuICB9XHJcblxyXG4gIGRldGVjdENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmJvZHlDaGFuZ2UgJiYgdGhpcy5ib2R5Q2hhbmdlKCk7XHJcbiAgICB0aGlzLnRoZWFkc0NoYW5nZXMoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRoZWFkc0NoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy50aGVhZHNDaGFuZ2UgJiYgdGhpcy50aGVhZHNDaGFuZ2UubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMudGhlYWRzQ2hhbmdlKSB7XHJcbiAgICAgICAgaXRlbSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjx0YWJsZVxyXG4gICN0YWJsZVxyXG4gIGNsYXNzPVwieC10YWJsZVwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFt4LWxvYWRpbmddPVwibG9hZGluZyAmJiBnZXR0aW5nXCJcclxuICBbY2xhc3MueC10YWJsZS13cmFwLWJvcmRlci1oaWRkZW5dPVwiaGlkZGVuV3JhcEJvcmRlclwiXHJcbiAgW2NsYXNzLngtdGFibGUtc2Nyb2xsLWxlZnRdPVwiZ2V0U2Nyb2xsTGVmdFwiXHJcbiAgW2NsYXNzLngtdGFibGUtc2Nyb2xsLWxlZnQtbWF4XT1cInNjcm9sbExlZnRNYXhcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXNjcm9sbC10b3BdPVwiZ2V0U2Nyb2xsVG9wXCJcclxuICBbY2xhc3MueC10YWJsZS1oYXMtc2Nyb2xsLXJpZ2h0XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgW2NsYXNzLngtdGFibGUtaGFzLXNjcm9sbC1ib3R0b21dPVwic2Nyb2xsWFdpZHRoXCJcclxuICBbY2xhc3MueC10YWJsZS1ib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgW2NsYXNzLngtdGFibGUtdGQtYWRhcHRpb24taGVpZ2h0XT1cInJvd0hlaWdodCA9PSAwXCJcclxuICBbY2xhc3MueC10YWJsZS1jZWxsLWNvbmZpZ109XCJjZWxsQ29uZmlnXCJcclxuPlxyXG4gIDxjYXB0aW9uICNjYXB0aW9uIGNsYXNzPVwieC10YWJsZS1oZWFkZXJcIiAqbmdJZj1cImhlYWRlclwiIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiaGVhZGVyXCI+e3sgaGVhZGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgPC9jYXB0aW9uPlxyXG4gIDx4LXRhYmxlLWhlYWRcclxuICAgICpuZ0lmPVwic2hvd0hlYWRlciAmJiAoaGVhZGVyUG9zaXRpb24gPT09ICd0b3AnIHx8IGhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpXCJcclxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2NvbHVtblRwbF09XCJoZWFkQ29sdW1uVHBsXCJcclxuICAgIFtzY3JvbGxZV2lkdGhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzY3JvbGxYV2lkdGhdPVwic2Nyb2xsWFdpZHRoXCJcclxuICAgIFtjZWxsQ29uZmlnXT1cImNlbGxDb25maWc/LnRoZWFkXCJcclxuICAgIFtwb3NpdGlvbl09XCIndG9wJ1wiXHJcbiAgICBbdGFibGVdPVwidGhpc1wiXHJcbiAgPjwveC10YWJsZS1oZWFkPlxyXG4gIDx4LXRhYmxlLWJvZHlcclxuICAgIFtkYXRhXT1cInRyZWVUYWJsZSA/IHRyZWVUYWJsZURhdGEgOiB0YWJsZURhdGFcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2JvZHlIZWlnaHRdPVwiYm9keUhlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImJvZHlDb2x1bW5UcGxcIlxyXG4gICAgW2FsbG93U2VsZWN0Um93XT1cImFsbG93U2VsZWN0Um93XCJcclxuICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInZpcnR1YWxTY3JvbGxcIlxyXG4gICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICBbYWRhcHRpb25IZWlnaHRdPVwiYWRhcHRpb25IZWlnaHRcIlxyXG4gICAgW2RvY1BlcmNlbnRdPVwiZG9jUGVyY2VudFwiXHJcbiAgICBbc2Nyb2xsXT1cInNjcm9sbFwiXHJcbiAgICBbcm93Q2xhc3NdPVwicm93Q2xhc3NcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGJvZHlcIlxyXG4gICAgW2V4cGFuZGVkQWxsXT1cImV4cGFuZGVkQWxsXCJcclxuICAgIFtleHBhbmRUcGxdPVwiZXhwYW5kVHBsXCJcclxuICAgIFsoYWN0aXZhdGVkUm93KV09XCJhY3RpdmF0ZWRSb3dcIlxyXG4gICAgKGFjdGl2YXRlZFJvd0NoYW5nZSk9XCJhY3RpdmF0ZWRSb3dDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgIFt0YWJsZV09XCJ0aGlzXCJcclxuICA+PC94LXRhYmxlLWJvZHk+XHJcbiAgPHgtdGFibGUtaGVhZFxyXG4gICAgKm5nSWY9XCJzaG93SGVhZGVyICYmIChoZWFkZXJQb3NpdGlvbiA9PT0gJ2JvdHRvbScgfHwgaGVhZGVyUG9zaXRpb24gPT09ICd0b3AtYm90dG9tJylcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImhlYWRDb2x1bW5UcGxcIlxyXG4gICAgW3Njcm9sbFlXaWR0aF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3Njcm9sbFhXaWR0aF09XCJzY3JvbGxYV2lkdGhcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGhlYWRcIlxyXG4gICAgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcclxuICAgIFt0YWJsZV09XCJ0aGlzXCJcclxuICA+PC94LXRhYmxlLWhlYWQ+XHJcbiAgPHgtdGFibGUtZm9vdCAqbmdJZj1cImZvb3RlclwiIFt0YWJsZV09XCJ0aGlzXCIgW2Zvb3Rlcl09XCJmb290ZXJcIiBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiPjwveC10YWJsZS1mb290PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5VG9wUmlnaHQoKVwiXHJcbiAgICAjc3RpY2t5VG9wUmlnaHRFbGVcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLWJvcmRlci1ib3R0b21dPVwiaGVhZFNlYXJjaFRwbFwiXHJcbiAgICBbc3R5bGUudG9wLnB4XT1cImdldFN0aWNreVRvcFNjcm9sbFRvcFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgPjwvZGl2PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5VG9wUmlnaHQoKSAmJiBoZWFkU2VhcmNoVHBsXCJcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtzdHlsZS50b3AucHhdPVwiZ2V0U3RpY2t5VG9wU2Nyb2xsVG9wICsgZ2V0U3RpY2t5VG9wUmlnaHRFbGVIZWlnaHRcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gID48L2Rpdj5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImhhc1N0aWNreUJvdHRvbVJpZ2h0KClcIlxyXG4gICAgI3N0aWNreUJvdHRvbVJpZ2h0RWxlXHJcbiAgICBjbGFzcz1cIngtdGFibGUtc3RpY2t5LXJpZ2h0LXNjcm9sbFwiXHJcbiAgICBbc3R5bGUuYm90dG9tLnB4XT1cImdldFN0aWNreUJvdHRvbVNjcm9sbFRvcFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgPjwvZGl2PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5Qm90dG9tUmlnaHQoKSAmJiBoZWFkU2VhcmNoVHBsXCJcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLWJvcmRlci1ib3R0b21dPVwiaGVhZFNlYXJjaFRwbFwiXHJcbiAgICBbc3R5bGUuYm90dG9tLnB4XT1cImdldFN0aWNreUJvdHRvbVNjcm9sbFRvcCArIGdldFN0aWNreUJvdHRvbVJpZ2h0RWxlSGVpZ2h0XCJcclxuICAgIFtzdHlsZS53aWR0aC5weF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICA+PC9kaXY+XHJcbjwvdGFibGU+XHJcbjx4LXBhZ2luYXRpb25cclxuICAjcGFnaW5hdGlvblxyXG4gICpuZ0lmPVwic2hvd1BhZ2luYXRpb24gJiYgc2l6ZVwiXHJcbiAgWyhpbmRleCldPVwiaW5kZXhcIlxyXG4gIFsoc2l6ZSldPVwic2l6ZVwiXHJcbiAgWyhxdWVyeSldPVwicXVlcnlcIlxyXG4gIFt0b3RhbF09XCJ0b3RhbFwiXHJcbiAgKGluZGV4Q2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcclxuICAoc2l6ZUNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXHJcbiAgW3Nob3dFbGxpcHNpc109XCJzaG93RWxsaXBzaXNcIlxyXG4gIFtzaG93VG90YWxdPVwic2hvd1RvdGFsXCJcclxuICBbc3BhY2VdPVwic3BhY2VcIlxyXG4gIFtoaWRkZW5Cb3JkZXJdPVwiaGlkZGVuUGFnaW5hdGlvbkJvcmRlciFcIlxyXG4gIFtzaG93U2l6ZV09XCJzaG93U2l6ZVwiXHJcbiAgW3Nob3dKdW1wXT1cInNob3dKdW1wXCJcclxuICBbanVtcFdpZHRoXT1cImp1bXBXaWR0aFwiXHJcbiAgW3Nob3dJbnB1dFNpemVdPVwic2hvd0lucHV0U2l6ZVwiXHJcbiAgW2lucHV0U2l6ZVdpZHRoXT1cImlucHV0U2l6ZVdpZHRoXCJcclxuICBbc2l6ZURhdGFdPVwic2l6ZURhdGFcIlxyXG4gIFtzaXplV2lkdGhdPVwic2l6ZVdpZHRoXCJcclxuICBbcGFnZUxpbmtTaXplXT1cInBhZ2VMaW5rU2l6ZVwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbdG90YWxUcGxdPVwidG90YWxUcGxcIlxyXG4gIFtzaW1wbGVdPVwic2ltcGxlXCJcclxuICBbc2ltcGxlSW5kZXhXaWR0aF09XCJzaW1wbGVJbmRleFdpZHRoXCJcclxuPlxyXG48L3gtcGFnaW5hdGlvbj5cclxuIl19
@@ -18,8 +18,8 @@ import { DragDropModule } from '@angular/cdk/drag-drop';
18
18
  import { XDragModule } from '@ng-nest/ui/drag';
19
19
  import * as i0 from "@angular/core";
20
20
  class XTableModule {
21
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: XTableModule, declarations: [XTableComponent,
21
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XTableModule, declarations: [XTableComponent,
23
23
  XTableProperty,
24
24
  XTableHeadComponent,
25
25
  XTableHeadProperty,
@@ -38,7 +38,7 @@ class XTableModule {
38
38
  XEmptyModule,
39
39
  XLoadingModule,
40
40
  XDragModule], exports: [XTableComponent] }); }
41
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTableModule, imports: [CommonModule,
41
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTableModule, imports: [CommonModule,
42
42
  FormsModule,
43
43
  XPaginationModule,
44
44
  XOutletModule,
@@ -52,7 +52,7 @@ class XTableModule {
52
52
  XDragModule] }); }
53
53
  }
54
54
  export { XTableModule };
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTableModule, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTableModule, decorators: [{
56
56
  type: NgModule,
57
57
  args: [{
58
58
  declarations: [
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
82
82
  ]
83
83
  }]
84
84
  }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUUvQyxNQTJCYSxZQUFZO2lJQUFaLFlBQVk7a0lBQVosWUFBWSxpQkF6QnJCLGVBQWU7WUFDZixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixrQkFBa0IsYUFJbEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGVBQWU7WUFDZixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixjQUFjO1lBQ2QsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXLGFBYkgsZUFBZTtrSUFnQmQsWUFBWSxZQWRyQixZQUFZO1lBQ1osV0FBVztZQUNYLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGNBQWM7WUFDZCxZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7O1NBR0YsWUFBWTsyRkFBWixZQUFZO2tCQTNCeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxXQUFXO3FCQUNaO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhJY29uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBYRW1wdHlNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9lbXB0eSc7XHJcbmltcG9ydCB7IFhDaGVja2JveE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9sb2FkaW5nJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgWFRhYmxlUHJvcGVydHksXHJcbiAgWFRhYmxlSGVhZFByb3BlcnR5LFxyXG4gIFhUYWJsZUJvZHlQcm9wZXJ0eSxcclxuICBYVGFibGVGb290UHJvcGVydHlcclxufSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYVGFibGVIZWFkQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1oZWFkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhUYWJsZUJvZHlDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWJvZHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFRhYmxlRm9vdENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtZm9vdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWERyYWdNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9kcmFnJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBYVGFibGVDb21wb25lbnQsXHJcbiAgICBYVGFibGVQcm9wZXJ0eSxcclxuICAgIFhUYWJsZUhlYWRDb21wb25lbnQsXHJcbiAgICBYVGFibGVIZWFkUHJvcGVydHksXHJcbiAgICBYVGFibGVCb2R5Q29tcG9uZW50LFxyXG4gICAgWFRhYmxlQm9keVByb3BlcnR5LFxyXG4gICAgWFRhYmxlRm9vdENvbXBvbmVudCxcclxuICAgIFhUYWJsZUZvb3RQcm9wZXJ0eVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1hUYWJsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBYUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIFhPdXRsZXRNb2R1bGUsXHJcbiAgICBYQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFhCdXR0b25Nb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFhFbXB0eU1vZHVsZSxcclxuICAgIFhMb2FkaW5nTW9kdWxlLFxyXG4gICAgWERyYWdNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVNb2R1bGUge31cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUUvQyxNQTJCYSxZQUFZO2tJQUFaLFlBQVk7bUlBQVosWUFBWSxpQkF6QnJCLGVBQWU7WUFDZixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixrQkFBa0IsYUFJbEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGVBQWU7WUFDZixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixjQUFjO1lBQ2QsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXLGFBYkgsZUFBZTttSUFnQmQsWUFBWSxZQWRyQixZQUFZO1lBQ1osV0FBVztZQUNYLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGNBQWM7WUFDZCxZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7O1NBR0YsWUFBWTs0RkFBWixZQUFZO2tCQTNCeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxXQUFXO3FCQUNaO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhJY29uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBYRW1wdHlNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9lbXB0eSc7XHJcbmltcG9ydCB7IFhDaGVja2JveE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9sb2FkaW5nJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgWFRhYmxlUHJvcGVydHksXHJcbiAgWFRhYmxlSGVhZFByb3BlcnR5LFxyXG4gIFhUYWJsZUJvZHlQcm9wZXJ0eSxcclxuICBYVGFibGVGb290UHJvcGVydHlcclxufSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYVGFibGVIZWFkQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1oZWFkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhUYWJsZUJvZHlDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWJvZHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFRhYmxlRm9vdENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtZm9vdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWERyYWdNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9kcmFnJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBYVGFibGVDb21wb25lbnQsXHJcbiAgICBYVGFibGVQcm9wZXJ0eSxcclxuICAgIFhUYWJsZUhlYWRDb21wb25lbnQsXHJcbiAgICBYVGFibGVIZWFkUHJvcGVydHksXHJcbiAgICBYVGFibGVCb2R5Q29tcG9uZW50LFxyXG4gICAgWFRhYmxlQm9keVByb3BlcnR5LFxyXG4gICAgWFRhYmxlRm9vdENvbXBvbmVudCxcclxuICAgIFhUYWJsZUZvb3RQcm9wZXJ0eVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1hUYWJsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBYUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIFhPdXRsZXRNb2R1bGUsXHJcbiAgICBYQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFhCdXR0b25Nb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFhFbXB0eU1vZHVsZSxcclxuICAgIFhMb2FkaW5nTW9kdWxlLFxyXG4gICAgWERyYWdNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVNb2R1bGUge31cclxuIl19