@ng-nest/ui 18.0.6 → 18.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/core/config/config.d.ts +6 -0
  2. package/esm2022/affix/affix.component.mjs +4 -4
  3. package/esm2022/affix/affix.module.mjs +4 -4
  4. package/esm2022/affix/affix.property.mjs +3 -3
  5. package/esm2022/alert/alert.component.mjs +5 -5
  6. package/esm2022/alert/alert.module.mjs +4 -4
  7. package/esm2022/alert/alert.property.mjs +3 -3
  8. package/esm2022/anchor/anchor-inner.component.mjs +3 -3
  9. package/esm2022/anchor/anchor.component.mjs +5 -5
  10. package/esm2022/anchor/anchor.module.mjs +4 -4
  11. package/esm2022/anchor/anchor.property.mjs +6 -6
  12. package/esm2022/api/api.component.mjs +4 -4
  13. package/esm2022/api/api.module.mjs +4 -4
  14. package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
  15. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  16. package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
  17. package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
  18. package/esm2022/avatar/avatar-group.component.mjs +3 -3
  19. package/esm2022/avatar/avatar.component.mjs +5 -5
  20. package/esm2022/avatar/avatar.module.mjs +4 -4
  21. package/esm2022/avatar/avatar.property.mjs +6 -6
  22. package/esm2022/back-top/back-top.component.mjs +5 -5
  23. package/esm2022/back-top/back-top.module.mjs +4 -4
  24. package/esm2022/back-top/back-top.property.mjs +3 -3
  25. package/esm2022/badge/badge.component.mjs +5 -5
  26. package/esm2022/badge/badge.module.mjs +4 -4
  27. package/esm2022/badge/badge.property.mjs +3 -3
  28. package/esm2022/base-form/base-form.module.mjs +4 -4
  29. package/esm2022/base-form/base-form.property.mjs +6 -6
  30. package/esm2022/button/button.component.mjs +5 -5
  31. package/esm2022/button/button.module.mjs +4 -4
  32. package/esm2022/button/button.property.mjs +6 -6
  33. package/esm2022/button/buttons.component.mjs +4 -4
  34. package/esm2022/calendar/calendar.component.mjs +5 -5
  35. package/esm2022/calendar/calendar.module.mjs +4 -4
  36. package/esm2022/calendar/calendar.property.mjs +3 -3
  37. package/esm2022/card/card.component.mjs +5 -5
  38. package/esm2022/card/card.module.mjs +4 -4
  39. package/esm2022/card/card.property.mjs +3 -3
  40. package/esm2022/carousel/carousel-panel.component.mjs +5 -5
  41. package/esm2022/carousel/carousel.component.mjs +5 -5
  42. package/esm2022/carousel/carousel.module.mjs +4 -4
  43. package/esm2022/carousel/carousel.property.mjs +6 -6
  44. package/esm2022/cascade/cascade-portal.component.mjs +3 -3
  45. package/esm2022/cascade/cascade.component.mjs +5 -5
  46. package/esm2022/cascade/cascade.module.mjs +4 -4
  47. package/esm2022/cascade/cascade.property.mjs +3 -3
  48. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  49. package/esm2022/checkbox/checkbox.module.mjs +4 -4
  50. package/esm2022/checkbox/checkbox.property.mjs +3 -3
  51. package/esm2022/collapse/collapse-panel.component.mjs +5 -5
  52. package/esm2022/collapse/collapse.component.mjs +4 -4
  53. package/esm2022/collapse/collapse.module.mjs +4 -4
  54. package/esm2022/collapse/collapse.property.mjs +6 -6
  55. package/esm2022/color/color.component.mjs +4 -4
  56. package/esm2022/color/color.module.mjs +4 -4
  57. package/esm2022/color/color.property.mjs +3 -3
  58. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  59. package/esm2022/color-picker/color-picker.component.mjs +5 -5
  60. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  61. package/esm2022/color-picker/color-picker.property.mjs +3 -3
  62. package/esm2022/comment/comment-reply.component.mjs +3 -3
  63. package/esm2022/comment/comment.component.mjs +5 -5
  64. package/esm2022/comment/comment.module.mjs +4 -4
  65. package/esm2022/comment/comment.property.mjs +6 -6
  66. package/esm2022/container/aside.component.mjs +4 -4
  67. package/esm2022/container/container.component.mjs +4 -4
  68. package/esm2022/container/container.module.mjs +4 -4
  69. package/esm2022/container/container.property.mjs +12 -12
  70. package/esm2022/container/footer.component.mjs +4 -4
  71. package/esm2022/container/header.component.mjs +4 -4
  72. package/esm2022/container/main.component.mjs +4 -4
  73. package/esm2022/core/config/config.mjs +1 -1
  74. package/esm2022/core/config/config.service.mjs +3 -3
  75. package/esm2022/core/services/http.service.mjs +3 -3
  76. package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
  77. package/esm2022/core/services/storage.service.mjs +3 -3
  78. package/esm2022/core/theme/theme.service.mjs +3 -3
  79. package/esm2022/crumb/crumb.component.mjs +5 -5
  80. package/esm2022/crumb/crumb.module.mjs +4 -4
  81. package/esm2022/crumb/crumb.property.mjs +3 -3
  82. package/esm2022/date-picker/date-picker-portal.component.mjs +3 -3
  83. package/esm2022/date-picker/date-picker.component.mjs +5 -5
  84. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  85. package/esm2022/date-picker/date-picker.property.mjs +18 -18
  86. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  87. package/esm2022/date-picker/date-range-portal.component.mjs +3 -3
  88. package/esm2022/date-picker/date-range.component.mjs +5 -5
  89. package/esm2022/date-picker/picker-date.component.mjs +3 -3
  90. package/esm2022/date-picker/picker-month.component.mjs +3 -3
  91. package/esm2022/date-picker/picker-quarter.component.mjs +3 -3
  92. package/esm2022/date-picker/picker-year.component.mjs +3 -3
  93. package/esm2022/description/description-item.component.mjs +3 -3
  94. package/esm2022/description/description.component.mjs +3 -3
  95. package/esm2022/description/description.module.mjs +4 -4
  96. package/esm2022/description/description.property.mjs +6 -6
  97. package/esm2022/dialog/dialog-container.component.mjs +5 -5
  98. package/esm2022/dialog/dialog-portal.component.mjs +5 -5
  99. package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
  100. package/esm2022/dialog/dialog.component.mjs +5 -5
  101. package/esm2022/dialog/dialog.module.mjs +4 -4
  102. package/esm2022/dialog/dialog.property.mjs +6 -6
  103. package/esm2022/dialog/dialog.service.mjs +3 -3
  104. package/esm2022/doc/doc.component.mjs +4 -4
  105. package/esm2022/doc/doc.module.mjs +4 -4
  106. package/esm2022/drag/drag.directive.mjs +3 -3
  107. package/esm2022/drag/drag.module.mjs +4 -4
  108. package/esm2022/drag/drag.property.mjs +3 -3
  109. package/esm2022/drawer/drawer-container.component.mjs +5 -5
  110. package/esm2022/drawer/drawer-portal.component.mjs +5 -5
  111. package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
  112. package/esm2022/drawer/drawer.component.mjs +5 -5
  113. package/esm2022/drawer/drawer.module.mjs +4 -4
  114. package/esm2022/drawer/drawer.property.mjs +6 -6
  115. package/esm2022/drawer/drawer.service.mjs +3 -3
  116. package/esm2022/dropdown/dropdown-portal.component.mjs +3 -3
  117. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  118. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  119. package/esm2022/dropdown/dropdown.property.mjs +3 -3
  120. package/esm2022/empty/empty.component.mjs +5 -5
  121. package/esm2022/empty/empty.module.mjs +4 -4
  122. package/esm2022/empty/empty.property.mjs +3 -3
  123. package/esm2022/examples/examples.component.mjs +4 -4
  124. package/esm2022/examples/examples.module.mjs +4 -4
  125. package/esm2022/find/find.component.mjs +5 -5
  126. package/esm2022/find/find.module.mjs +4 -4
  127. package/esm2022/find/find.property.mjs +3 -3
  128. package/esm2022/form/control.component.mjs +3 -3
  129. package/esm2022/form/form.component.mjs +5 -5
  130. package/esm2022/form/form.module.mjs +4 -4
  131. package/esm2022/form/form.property.mjs +6 -6
  132. package/esm2022/highlight/highlight.component.mjs +5 -5
  133. package/esm2022/highlight/highlight.module.mjs +4 -4
  134. package/esm2022/highlight/highlight.property.mjs +3 -3
  135. package/esm2022/highlight/highlight.service.mjs +3 -3
  136. package/esm2022/i18n/i18n.directive.mjs +3 -3
  137. package/esm2022/i18n/i18n.module.mjs +4 -4
  138. package/esm2022/i18n/i18n.pipe.mjs +3 -3
  139. package/esm2022/i18n/i18n.property.mjs +1 -1
  140. package/esm2022/i18n/i18n.service.mjs +3 -3
  141. package/esm2022/i18n/languages/ar_EG.mjs +8 -2
  142. package/esm2022/i18n/languages/bg_BG.mjs +8 -2
  143. package/esm2022/i18n/languages/ca_ES.mjs +8 -2
  144. package/esm2022/i18n/languages/cs_CZ.mjs +8 -2
  145. package/esm2022/i18n/languages/da_DK.mjs +8 -2
  146. package/esm2022/i18n/languages/de_DE.mjs +8 -2
  147. package/esm2022/i18n/languages/el_GR.mjs +8 -2
  148. package/esm2022/i18n/languages/en_GB.mjs +8 -2
  149. package/esm2022/i18n/languages/en_US.mjs +8 -2
  150. package/esm2022/i18n/languages/es_ES.mjs +8 -2
  151. package/esm2022/i18n/languages/et_EE.mjs +8 -2
  152. package/esm2022/i18n/languages/fa_IR.mjs +8 -2
  153. package/esm2022/i18n/languages/fi_FI.mjs +8 -2
  154. package/esm2022/i18n/languages/fr_BE.mjs +8 -2
  155. package/esm2022/i18n/languages/fr_FR.mjs +8 -2
  156. package/esm2022/i18n/languages/he_IL.mjs +8 -2
  157. package/esm2022/i18n/languages/hi_IN.mjs +8 -2
  158. package/esm2022/i18n/languages/hr_HR.mjs +8 -2
  159. package/esm2022/i18n/languages/hu_HU.mjs +8 -2
  160. package/esm2022/i18n/languages/hy_AM.mjs +8 -2
  161. package/esm2022/i18n/languages/id_ID.mjs +8 -2
  162. package/esm2022/i18n/languages/is_IS.mjs +8 -2
  163. package/esm2022/i18n/languages/it_IT.mjs +8 -2
  164. package/esm2022/i18n/languages/ja_JP.mjs +8 -2
  165. package/esm2022/i18n/languages/ka_GE.mjs +8 -2
  166. package/esm2022/i18n/languages/kn_IN.mjs +8 -2
  167. package/esm2022/i18n/languages/ko_KR.mjs +8 -2
  168. package/esm2022/i18n/languages/ku_IQ.mjs +8 -2
  169. package/esm2022/i18n/languages/lv_LV.mjs +8 -2
  170. package/esm2022/i18n/languages/mn_MN.mjs +8 -2
  171. package/esm2022/i18n/languages/ms_MY.mjs +8 -2
  172. package/esm2022/i18n/languages/nb_NO.mjs +8 -2
  173. package/esm2022/i18n/languages/ne_NP.mjs +8 -2
  174. package/esm2022/i18n/languages/nl_BE.mjs +8 -2
  175. package/esm2022/i18n/languages/nl_NL.mjs +8 -2
  176. package/esm2022/i18n/languages/pl_PL.mjs +8 -2
  177. package/esm2022/i18n/languages/pt_BR.mjs +8 -2
  178. package/esm2022/i18n/languages/pt_PT.mjs +8 -2
  179. package/esm2022/i18n/languages/ro_RO.mjs +8 -2
  180. package/esm2022/i18n/languages/ru_RU.mjs +8 -2
  181. package/esm2022/i18n/languages/sk_SK.mjs +8 -2
  182. package/esm2022/i18n/languages/sl_SI.mjs +8 -2
  183. package/esm2022/i18n/languages/sr_RS.mjs +8 -2
  184. package/esm2022/i18n/languages/sv_SE.mjs +8 -2
  185. package/esm2022/i18n/languages/ta_IN.mjs +8 -2
  186. package/esm2022/i18n/languages/th_TH.mjs +8 -2
  187. package/esm2022/i18n/languages/tr_TR.mjs +8 -2
  188. package/esm2022/i18n/languages/uk_UA.mjs +8 -2
  189. package/esm2022/i18n/languages/vi_VN.mjs +8 -2
  190. package/esm2022/i18n/languages/zh_CN.mjs +8 -2
  191. package/esm2022/i18n/languages/zh_TW.mjs +8 -2
  192. package/esm2022/icon/icon.component.mjs +4 -4
  193. package/esm2022/icon/icon.module.mjs +4 -4
  194. package/esm2022/icon/icon.property.mjs +3 -3
  195. package/esm2022/icon/icon.service.mjs +3 -3
  196. package/esm2022/image/image-group.component.mjs +3 -3
  197. package/esm2022/image/image-preview.component.mjs +5 -5
  198. package/esm2022/image/image.component.mjs +5 -5
  199. package/esm2022/image/image.module.mjs +4 -4
  200. package/esm2022/image/image.property.mjs +6 -6
  201. package/esm2022/inner/inner.component.mjs +4 -4
  202. package/esm2022/inner/inner.module.mjs +4 -4
  203. package/esm2022/inner/inner.property.mjs +3 -3
  204. package/esm2022/input/input-group.component.mjs +3 -3
  205. package/esm2022/input/input.component.mjs +5 -5
  206. package/esm2022/input/input.module.mjs +4 -4
  207. package/esm2022/input/input.property.mjs +6 -6
  208. package/esm2022/input-number/input-number.component.mjs +5 -5
  209. package/esm2022/input-number/input-number.module.mjs +4 -4
  210. package/esm2022/input-number/input-number.property.mjs +3 -3
  211. package/esm2022/keyword/keyword.directive.mjs +3 -3
  212. package/esm2022/keyword/keyword.module.mjs +4 -4
  213. package/esm2022/keyword/keyword.property.mjs +3 -3
  214. package/esm2022/layout/col.component.mjs +3 -3
  215. package/esm2022/layout/layout.module.mjs +4 -4
  216. package/esm2022/layout/layout.property.mjs +6 -6
  217. package/esm2022/layout/row.component.mjs +3 -3
  218. package/esm2022/link/link.component.mjs +5 -5
  219. package/esm2022/link/link.module.mjs +4 -4
  220. package/esm2022/link/link.property.mjs +3 -3
  221. package/esm2022/list/list-drop-group.directive.mjs +3 -3
  222. package/esm2022/list/list-option.component.mjs +3 -3
  223. package/esm2022/list/list.component.mjs +11 -11
  224. package/esm2022/list/list.module.mjs +4 -4
  225. package/esm2022/list/list.property.mjs +6 -6
  226. package/esm2022/loading/loading.component.mjs +5 -5
  227. package/esm2022/loading/loading.module.mjs +4 -4
  228. package/esm2022/loading/loading.property.mjs +3 -3
  229. package/esm2022/menu/menu-node.component.mjs +3 -3
  230. package/esm2022/menu/menu.component.mjs +3 -3
  231. package/esm2022/menu/menu.module.mjs +4 -4
  232. package/esm2022/menu/menu.property.mjs +6 -6
  233. package/esm2022/message/message.component.mjs +3 -3
  234. package/esm2022/message/message.module.mjs +4 -4
  235. package/esm2022/message/message.service.mjs +3 -3
  236. package/esm2022/message-box/message-box.component.mjs +3 -3
  237. package/esm2022/message-box/message-box.module.mjs +4 -4
  238. package/esm2022/message-box/message-box.service.mjs +3 -3
  239. package/esm2022/notification/notification.component.mjs +3 -3
  240. package/esm2022/notification/notification.module.mjs +4 -4
  241. package/esm2022/notification/notification.service.mjs +3 -3
  242. package/esm2022/outlet/outlet.directive.mjs +3 -3
  243. package/esm2022/outlet/outlet.module.mjs +4 -4
  244. package/esm2022/page-header/page-header.component.mjs +5 -5
  245. package/esm2022/page-header/page-header.module.mjs +4 -4
  246. package/esm2022/page-header/page-header.property.mjs +3 -3
  247. package/esm2022/pagination/pagination.component.mjs +91 -29
  248. package/esm2022/pagination/pagination.module.mjs +4 -4
  249. package/esm2022/pagination/pagination.property.mjs +23 -8
  250. package/esm2022/pattern/pattern.component.mjs +4 -4
  251. package/esm2022/pattern/pattern.module.mjs +4 -4
  252. package/esm2022/popconfirm/popconfirm.component.mjs +5 -5
  253. package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
  254. package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
  255. package/esm2022/popover/popover-portal.component.mjs +5 -5
  256. package/esm2022/popover/popover.directive.mjs +3 -3
  257. package/esm2022/popover/popover.module.mjs +4 -4
  258. package/esm2022/popover/popover.property.mjs +3 -3
  259. package/esm2022/portal/portal.module.mjs +4 -4
  260. package/esm2022/portal/portal.service.mjs +3 -3
  261. package/esm2022/progress/progress.component.mjs +5 -5
  262. package/esm2022/progress/progress.module.mjs +4 -4
  263. package/esm2022/progress/progress.property.mjs +3 -3
  264. package/esm2022/radio/radio.component.mjs +5 -5
  265. package/esm2022/radio/radio.module.mjs +4 -4
  266. package/esm2022/radio/radio.property.mjs +3 -3
  267. package/esm2022/rate/rate.component.mjs +5 -5
  268. package/esm2022/rate/rate.module.mjs +4 -4
  269. package/esm2022/rate/rate.property.mjs +3 -3
  270. package/esm2022/resizable/resizable.directive.mjs +3 -3
  271. package/esm2022/resizable/resizable.module.mjs +4 -4
  272. package/esm2022/resizable/resizable.property.mjs +3 -3
  273. package/esm2022/result/result.component.mjs +5 -5
  274. package/esm2022/result/result.module.mjs +4 -4
  275. package/esm2022/result/result.property.mjs +3 -3
  276. package/esm2022/ripple/ripple.directive.mjs +3 -3
  277. package/esm2022/ripple/ripple.module.mjs +4 -4
  278. package/esm2022/ripple/ripple.property.mjs +3 -3
  279. package/esm2022/select/select-portal.component.mjs +3 -3
  280. package/esm2022/select/select.component.mjs +5 -5
  281. package/esm2022/select/select.module.mjs +4 -4
  282. package/esm2022/select/select.property.mjs +3 -3
  283. package/esm2022/skeleton/skeleton.component.mjs +3 -3
  284. package/esm2022/skeleton/skeleton.module.mjs +4 -4
  285. package/esm2022/skeleton/skeleton.property.mjs +3 -3
  286. package/esm2022/slider/slider.component.mjs +5 -5
  287. package/esm2022/slider/slider.module.mjs +4 -4
  288. package/esm2022/slider/slider.property.mjs +3 -3
  289. package/esm2022/slider-select/slider-select.component.mjs +5 -5
  290. package/esm2022/slider-select/slider-select.module.mjs +4 -4
  291. package/esm2022/slider-select/slider-select.property.mjs +3 -3
  292. package/esm2022/statistic/countdown.component.mjs +3 -3
  293. package/esm2022/statistic/statistic.component.mjs +3 -3
  294. package/esm2022/statistic/statistic.module.mjs +4 -4
  295. package/esm2022/statistic/statistic.property.mjs +6 -6
  296. package/esm2022/steps/steps.component.mjs +5 -5
  297. package/esm2022/steps/steps.module.mjs +4 -4
  298. package/esm2022/steps/steps.property.mjs +3 -3
  299. package/esm2022/switch/switch.component.mjs +5 -5
  300. package/esm2022/switch/switch.module.mjs +4 -4
  301. package/esm2022/switch/switch.property.mjs +3 -3
  302. package/esm2022/table/table-body.component.mjs +3 -3
  303. package/esm2022/table/table-foot.component.mjs +3 -3
  304. package/esm2022/table/table-head.component.mjs +4 -4
  305. package/esm2022/table/table.component.mjs +5 -5
  306. package/esm2022/table/table.module.mjs +4 -4
  307. package/esm2022/table/table.property.mjs +28 -13
  308. package/esm2022/tabs/tab-content.component.mjs +3 -3
  309. package/esm2022/tabs/tab-link.directive.mjs +6 -6
  310. package/esm2022/tabs/tab.component.mjs +3 -3
  311. package/esm2022/tabs/tabs.component.mjs +5 -5
  312. package/esm2022/tabs/tabs.module.mjs +4 -4
  313. package/esm2022/tabs/tabs.property.mjs +6 -6
  314. package/esm2022/tag/tag.component.mjs +5 -5
  315. package/esm2022/tag/tag.module.mjs +4 -4
  316. package/esm2022/tag/tag.property.mjs +3 -3
  317. package/esm2022/text-retract/text-retract.component.mjs +5 -5
  318. package/esm2022/text-retract/text-retract.module.mjs +4 -4
  319. package/esm2022/text-retract/text-retract.property.mjs +3 -3
  320. package/esm2022/textarea/textarea.component.mjs +5 -5
  321. package/esm2022/textarea/textarea.module.mjs +4 -4
  322. package/esm2022/textarea/textarea.property.mjs +3 -3
  323. package/esm2022/theme/theme.component.mjs +5 -5
  324. package/esm2022/theme/theme.module.mjs +4 -4
  325. package/esm2022/theme/theme.property.mjs +3 -3
  326. package/esm2022/time-ago/time-ago.module.mjs +4 -4
  327. package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
  328. package/esm2022/time-picker/time-picker-frame.component.mjs +5 -5
  329. package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
  330. package/esm2022/time-picker/time-picker.component.mjs +5 -5
  331. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  332. package/esm2022/time-picker/time-picker.property.mjs +3 -3
  333. package/esm2022/time-range/time-range.module.mjs +4 -4
  334. package/esm2022/time-range/time-range.pipe.mjs +3 -3
  335. package/esm2022/timeline/timeline.component.mjs +5 -5
  336. package/esm2022/timeline/timeline.module.mjs +4 -4
  337. package/esm2022/timeline/timeline.property.mjs +3 -3
  338. package/esm2022/tooltip/tooltip-portal.component.mjs +5 -5
  339. package/esm2022/tooltip/tooltip.directive.mjs +3 -3
  340. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  341. package/esm2022/tooltip/tooltip.property.mjs +3 -3
  342. package/esm2022/transfer/transfer.component.mjs +5 -5
  343. package/esm2022/transfer/transfer.module.mjs +4 -4
  344. package/esm2022/transfer/transfer.property.mjs +3 -3
  345. package/esm2022/tree/tree-node.component.mjs +5 -5
  346. package/esm2022/tree/tree.component.mjs +4 -4
  347. package/esm2022/tree/tree.module.mjs +4 -4
  348. package/esm2022/tree/tree.property.mjs +6 -6
  349. package/esm2022/tree/tree.service.mjs +3 -3
  350. package/esm2022/tree-file/tree-file.component.mjs +5 -5
  351. package/esm2022/tree-file/tree-file.module.mjs +4 -4
  352. package/esm2022/tree-file/tree-file.property.mjs +3 -3
  353. package/esm2022/tree-select/tree-select-portal.component.mjs +3 -3
  354. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  355. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  356. package/esm2022/tree-select/tree-select.property.mjs +3 -3
  357. package/esm2022/typography/typography.component.mjs +4 -4
  358. package/esm2022/typography/typography.module.mjs +4 -4
  359. package/esm2022/typography/typography.property.mjs +3 -3
  360. package/esm2022/upload/upload-portal.component.mjs +5 -5
  361. package/esm2022/upload/upload.component.mjs +5 -5
  362. package/esm2022/upload/upload.module.mjs +4 -4
  363. package/esm2022/upload/upload.property.mjs +3 -3
  364. package/fesm2022/ng-nest-ui-affix.mjs +11 -11
  365. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  366. package/fesm2022/ng-nest-ui-alert.mjs +11 -11
  367. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  368. package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
  369. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  370. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  371. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  372. package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
  373. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  374. package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
  375. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  376. package/fesm2022/ng-nest-ui-back-top.mjs +11 -11
  377. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  378. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  379. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  380. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  381. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  382. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
  384. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  386. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-carousel.mjs +18 -18
  388. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-cascade.mjs +14 -14
  390. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  392. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
  394. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-color-picker.mjs +14 -14
  396. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  398. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-comment.mjs +17 -17
  400. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-container.mjs +36 -36
  402. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  404. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  406. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-date-picker.mjs +51 -51
  408. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  410. package/fesm2022/ng-nest-ui-dialog.mjs +44 -44
  411. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  412. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  413. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  414. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  415. package/fesm2022/ng-nest-ui-drawer.mjs +35 -35
  416. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-dropdown.mjs +14 -14
  418. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  420. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  422. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  424. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-form.mjs +17 -17
  426. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  428. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-i18n.mjs +370 -64
  430. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  432. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-image.mjs +21 -21
  434. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  436. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  438. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-input.mjs +17 -17
  440. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  442. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  443. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  444. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-list.mjs +26 -26
  446. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  448. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  450. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  451. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  452. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  453. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  454. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  455. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  456. package/fesm2022/ng-nest-ui-pagination.mjs +116 -39
  457. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  458. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  459. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  460. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  461. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  462. package/fesm2022/ng-nest-ui-popover.mjs +14 -14
  463. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  464. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  465. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  466. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  468. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  470. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  472. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  473. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  474. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  475. package/fesm2022/ng-nest-ui-select.mjs +14 -14
  476. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  478. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
  479. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  480. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  481. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  482. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  483. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  484. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  486. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-table.mjs +44 -29
  488. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  489. package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
  490. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  491. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  492. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  493. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  494. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  495. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  496. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  497. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  498. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  499. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  500. package/fesm2022/ng-nest-ui-time-picker.mjs +18 -18
  501. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  502. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  503. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  504. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  505. package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
  506. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  507. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  508. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  509. package/fesm2022/ng-nest-ui-tree-file.mjs +11 -11
  510. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  511. package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
  512. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  513. package/fesm2022/ng-nest-ui-tree.mjs +20 -20
  514. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  515. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  516. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  517. package/fesm2022/ng-nest-ui-upload.mjs +15 -15
  518. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  519. package/i18n/i18n.property.d.ts +6 -0
  520. package/i18n/languages/ar_EG.d.ts +6 -0
  521. package/i18n/languages/bg_BG.d.ts +6 -0
  522. package/i18n/languages/ca_ES.d.ts +6 -0
  523. package/i18n/languages/cs_CZ.d.ts +6 -0
  524. package/i18n/languages/da_DK.d.ts +6 -0
  525. package/i18n/languages/de_DE.d.ts +6 -0
  526. package/i18n/languages/el_GR.d.ts +6 -0
  527. package/i18n/languages/en_GB.d.ts +6 -0
  528. package/i18n/languages/en_US.d.ts +6 -0
  529. package/i18n/languages/es_ES.d.ts +6 -0
  530. package/i18n/languages/et_EE.d.ts +6 -0
  531. package/i18n/languages/fa_IR.d.ts +6 -0
  532. package/i18n/languages/fi_FI.d.ts +6 -0
  533. package/i18n/languages/fr_BE.d.ts +6 -0
  534. package/i18n/languages/fr_FR.d.ts +6 -0
  535. package/i18n/languages/he_IL.d.ts +6 -0
  536. package/i18n/languages/hi_IN.d.ts +6 -0
  537. package/i18n/languages/hr_HR.d.ts +6 -0
  538. package/i18n/languages/hu_HU.d.ts +6 -0
  539. package/i18n/languages/hy_AM.d.ts +6 -0
  540. package/i18n/languages/id_ID.d.ts +6 -0
  541. package/i18n/languages/is_IS.d.ts +6 -0
  542. package/i18n/languages/it_IT.d.ts +6 -0
  543. package/i18n/languages/ja_JP.d.ts +6 -0
  544. package/i18n/languages/ka_GE.d.ts +6 -0
  545. package/i18n/languages/kn_IN.d.ts +6 -0
  546. package/i18n/languages/ko_KR.d.ts +6 -0
  547. package/i18n/languages/ku_IQ.d.ts +6 -0
  548. package/i18n/languages/lv_LV.d.ts +6 -0
  549. package/i18n/languages/mn_MN.d.ts +6 -0
  550. package/i18n/languages/ms_MY.d.ts +6 -0
  551. package/i18n/languages/nb_NO.d.ts +6 -0
  552. package/i18n/languages/ne_NP.d.ts +6 -0
  553. package/i18n/languages/nl_BE.d.ts +6 -0
  554. package/i18n/languages/nl_NL.d.ts +6 -0
  555. package/i18n/languages/pl_PL.d.ts +6 -0
  556. package/i18n/languages/pt_BR.d.ts +6 -0
  557. package/i18n/languages/pt_PT.d.ts +6 -0
  558. package/i18n/languages/ro_RO.d.ts +6 -0
  559. package/i18n/languages/ru_RU.d.ts +6 -0
  560. package/i18n/languages/sk_SK.d.ts +6 -0
  561. package/i18n/languages/sl_SI.d.ts +6 -0
  562. package/i18n/languages/sr_RS.d.ts +6 -0
  563. package/i18n/languages/sv_SE.d.ts +6 -0
  564. package/i18n/languages/ta_IN.d.ts +6 -0
  565. package/i18n/languages/th_TH.d.ts +6 -0
  566. package/i18n/languages/tr_TR.d.ts +6 -0
  567. package/i18n/languages/uk_UA.d.ts +6 -0
  568. package/i18n/languages/vi_VN.d.ts +6 -0
  569. package/i18n/languages/zh_CN.d.ts +6 -0
  570. package/i18n/languages/zh_TW.d.ts +6 -0
  571. package/package.json +135 -135
  572. package/pagination/pagination.component.d.ts +24 -0
  573. package/pagination/pagination.property.d.ts +31 -5
  574. package/style/mixins/reset.scss +4 -2
  575. package/table/table.property.d.ts +17 -1
@@ -314,6 +314,11 @@ export class XTableProperty extends XPropertyFunction(X_TABLE_CONFIG_NAME) {
314
314
  * @en_US Display the number of input page breaks (cannot exist with the drop-down options of page breaks)
315
315
  */
316
316
  this.showInputSize = input(this.config?.showInputSize ?? false, { transform: XToBoolean });
317
+ /**
318
+ * @zh_CN 输入分页框的 tooltip 提示信息,默认根据输入确认改变的方式来显示
319
+ * @en_US Enter the tooltip prompt information for the pagination box, which will be displayed by default based on the confirmation of the input
320
+ */
321
+ this.inputSizeTooltipText = input(this.config?.inputSizeTooltipText ?? '');
317
322
  /**
318
323
  * @zh_CN 分页条数输入框的宽度
319
324
  * @en_US size with input
@@ -336,6 +341,11 @@ export class XTableProperty extends XPropertyFunction(X_TABLE_CONFIG_NAME) {
336
341
  * @en_US Show size
337
342
  */
338
343
  this.showJump = input(false, { transform: XToBoolean });
344
+ /**
345
+ * @zh_CN 跳转输入框的 tooltip 提示信息,默认根据输入确认改变的方式来显示
346
+ * @en_US The tooltip prompt information for jumping to the input box is displayed by default based on the confirmation of input changes
347
+ */
348
+ this.jumpTooltipText = input(this.config?.jumpTooltipText ?? '');
339
349
  /**
340
350
  * @zh_CN 跳转页的宽度
341
351
  * @en_US size with
@@ -358,6 +368,11 @@ export class XTableProperty extends XPropertyFunction(X_TABLE_CONFIG_NAME) {
358
368
  this.simpleIndexWidth = input(this.config?.simpleIndexWidth ?? '8.125rem', {
359
369
  transform: XToCssPixelValue
360
370
  });
371
+ /**
372
+ * @zh_CN 输入确认改变的方式,针对输入分页大小和输入跳转页
373
+ * @en_US The method for confirming changes in input is based on the input page size and input jump page
374
+ */
375
+ this.inputIndexSizeSureType = input(this.config?.inputIndexSizeSureType ?? 'enter');
361
376
  /**
362
377
  * @zh_CN 列头拖动开始事件,返回拖动的列
363
378
  * @en_US Column Header Drag End Event
@@ -389,10 +404,10 @@ export class XTableProperty extends XPropertyFunction(X_TABLE_CONFIG_NAME) {
389
404
  */
390
405
  this.columnDragWidthEnded = output();
391
406
  }
392
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
393
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XTableProperty, selector: "x-table-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, headerPosition: { classPropertyName: "headerPosition", publicName: "headerPosition", isSignal: true, isRequired: false, transformFunction: null }, activatedRow: { classPropertyName: "activatedRow", publicName: "activatedRow", isSignal: true, isRequired: false, transformFunction: null }, headColumnTpl: { classPropertyName: "headColumnTpl", publicName: "headColumnTpl", isSignal: true, isRequired: false, transformFunction: null }, headThTpl: { classPropertyName: "headThTpl", publicName: "headThTpl", isSignal: true, isRequired: false, transformFunction: null }, bodyColumnTpl: { classPropertyName: "bodyColumnTpl", publicName: "bodyColumnTpl", isSignal: true, isRequired: false, transformFunction: null }, bodyTdTpl: { classPropertyName: "bodyTdTpl", publicName: "bodyTdTpl", isSignal: true, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: true, isRequired: false, transformFunction: null }, headSearchTpl: { classPropertyName: "headSearchTpl", publicName: "headSearchTpl", isSignal: true, isRequired: false, transformFunction: null }, allowSelectRow: { classPropertyName: "allowSelectRow", publicName: "allowSelectRow", isSignal: true, isRequired: false, transformFunction: null }, allowCheckRow: { classPropertyName: "allowCheckRow", publicName: "allowCheckRow", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, bodyHeight: { classPropertyName: "bodyHeight", publicName: "bodyHeight", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, adaptionHeight: { classPropertyName: "adaptionHeight", publicName: "adaptionHeight", isSignal: true, isRequired: false, transformFunction: null }, docPercent: { classPropertyName: "docPercent", publicName: "docPercent", isSignal: true, isRequired: false, transformFunction: null }, checkedRow: { classPropertyName: "checkedRow", publicName: "checkedRow", isSignal: true, isRequired: false, transformFunction: null }, manual: { classPropertyName: "manual", publicName: "manual", isSignal: true, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, cellConfig: { classPropertyName: "cellConfig", publicName: "cellConfig", isSignal: true, isRequired: false, transformFunction: null }, rowSize: { classPropertyName: "rowSize", publicName: "rowSize", isSignal: true, isRequired: false, transformFunction: null }, paginationPosition: { classPropertyName: "paginationPosition", publicName: "paginationPosition", isSignal: true, isRequired: false, transformFunction: null }, hiddenWrapBorder: { classPropertyName: "hiddenWrapBorder", publicName: "hiddenWrapBorder", isSignal: true, isRequired: false, transformFunction: null }, hiddenPaginationBorder: { classPropertyName: "hiddenPaginationBorder", publicName: "hiddenPaginationBorder", isSignal: true, isRequired: false, transformFunction: null }, showPagination: { classPropertyName: "showPagination", publicName: "showPagination", isSignal: true, isRequired: false, transformFunction: null }, treeTable: { classPropertyName: "treeTable", publicName: "treeTable", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandedLevel: { classPropertyName: "expandedLevel", publicName: "expandedLevel", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, expandTpl: { classPropertyName: "expandTpl", publicName: "expandTpl", isSignal: true, isRequired: false, transformFunction: null }, showEmpty: { classPropertyName: "showEmpty", publicName: "showEmpty", isSignal: true, isRequired: false, transformFunction: null }, emptyImg: { classPropertyName: "emptyImg", publicName: "emptyImg", isSignal: true, isRequired: false, transformFunction: null }, emptyContent: { classPropertyName: "emptyContent", publicName: "emptyContent", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, showEllipsis: { classPropertyName: "showEllipsis", publicName: "showEllipsis", isSignal: true, isRequired: false, transformFunction: null }, showTotal: { classPropertyName: "showTotal", publicName: "showTotal", isSignal: true, isRequired: false, transformFunction: null }, space: { classPropertyName: "space", publicName: "space", isSignal: true, isRequired: false, transformFunction: null }, showBackground: { classPropertyName: "showBackground", publicName: "showBackground", isSignal: true, isRequired: false, transformFunction: null }, showSize: { classPropertyName: "showSize", publicName: "showSize", isSignal: true, isRequired: false, transformFunction: null }, sizeWidth: { classPropertyName: "sizeWidth", publicName: "sizeWidth", isSignal: true, isRequired: false, transformFunction: null }, showInputSize: { classPropertyName: "showInputSize", publicName: "showInputSize", isSignal: true, isRequired: false, transformFunction: null }, inputSizeWidth: { classPropertyName: "inputSizeWidth", publicName: "inputSizeWidth", isSignal: true, isRequired: false, transformFunction: null }, sizeData: { classPropertyName: "sizeData", publicName: "sizeData", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showJump: { classPropertyName: "showJump", publicName: "showJump", isSignal: true, isRequired: false, transformFunction: null }, jumpWidth: { classPropertyName: "jumpWidth", publicName: "jumpWidth", isSignal: true, isRequired: false, transformFunction: null }, totalTpl: { classPropertyName: "totalTpl", publicName: "totalTpl", isSignal: true, isRequired: false, transformFunction: null }, simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null }, simpleIndexWidth: { classPropertyName: "simpleIndexWidth", publicName: "simpleIndexWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedRow: "activatedRowChange", sortChange: "sortChange", headCheckboxChange: "headCheckboxChange", bodyCheckboxChange: "bodyCheckboxChange", manual: "manualChange", index: "indexChange", size: "sizeChange", total: "totalChange", query: "queryChange", columnDragStarted: "columnDragStarted", columnDragEnded: "columnDragEnded", columnDropListDropped: "columnDropListDropped", columnDragWidthStarted: "columnDragWidthStarted", columnDragWidthMoved: "columnDragWidthMoved", columnDragWidthEnded: "columnDragWidthEnded" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
407
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
408
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XTableProperty, selector: "x-table-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, headerPosition: { classPropertyName: "headerPosition", publicName: "headerPosition", isSignal: true, isRequired: false, transformFunction: null }, activatedRow: { classPropertyName: "activatedRow", publicName: "activatedRow", isSignal: true, isRequired: false, transformFunction: null }, headColumnTpl: { classPropertyName: "headColumnTpl", publicName: "headColumnTpl", isSignal: true, isRequired: false, transformFunction: null }, headThTpl: { classPropertyName: "headThTpl", publicName: "headThTpl", isSignal: true, isRequired: false, transformFunction: null }, bodyColumnTpl: { classPropertyName: "bodyColumnTpl", publicName: "bodyColumnTpl", isSignal: true, isRequired: false, transformFunction: null }, bodyTdTpl: { classPropertyName: "bodyTdTpl", publicName: "bodyTdTpl", isSignal: true, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: true, isRequired: false, transformFunction: null }, headSearchTpl: { classPropertyName: "headSearchTpl", publicName: "headSearchTpl", isSignal: true, isRequired: false, transformFunction: null }, allowSelectRow: { classPropertyName: "allowSelectRow", publicName: "allowSelectRow", isSignal: true, isRequired: false, transformFunction: null }, allowCheckRow: { classPropertyName: "allowCheckRow", publicName: "allowCheckRow", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, bodyHeight: { classPropertyName: "bodyHeight", publicName: "bodyHeight", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, adaptionHeight: { classPropertyName: "adaptionHeight", publicName: "adaptionHeight", isSignal: true, isRequired: false, transformFunction: null }, docPercent: { classPropertyName: "docPercent", publicName: "docPercent", isSignal: true, isRequired: false, transformFunction: null }, checkedRow: { classPropertyName: "checkedRow", publicName: "checkedRow", isSignal: true, isRequired: false, transformFunction: null }, manual: { classPropertyName: "manual", publicName: "manual", isSignal: true, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, cellConfig: { classPropertyName: "cellConfig", publicName: "cellConfig", isSignal: true, isRequired: false, transformFunction: null }, rowSize: { classPropertyName: "rowSize", publicName: "rowSize", isSignal: true, isRequired: false, transformFunction: null }, paginationPosition: { classPropertyName: "paginationPosition", publicName: "paginationPosition", isSignal: true, isRequired: false, transformFunction: null }, hiddenWrapBorder: { classPropertyName: "hiddenWrapBorder", publicName: "hiddenWrapBorder", isSignal: true, isRequired: false, transformFunction: null }, hiddenPaginationBorder: { classPropertyName: "hiddenPaginationBorder", publicName: "hiddenPaginationBorder", isSignal: true, isRequired: false, transformFunction: null }, showPagination: { classPropertyName: "showPagination", publicName: "showPagination", isSignal: true, isRequired: false, transformFunction: null }, treeTable: { classPropertyName: "treeTable", publicName: "treeTable", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandedLevel: { classPropertyName: "expandedLevel", publicName: "expandedLevel", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, expandTpl: { classPropertyName: "expandTpl", publicName: "expandTpl", isSignal: true, isRequired: false, transformFunction: null }, showEmpty: { classPropertyName: "showEmpty", publicName: "showEmpty", isSignal: true, isRequired: false, transformFunction: null }, emptyImg: { classPropertyName: "emptyImg", publicName: "emptyImg", isSignal: true, isRequired: false, transformFunction: null }, emptyContent: { classPropertyName: "emptyContent", publicName: "emptyContent", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, showEllipsis: { classPropertyName: "showEllipsis", publicName: "showEllipsis", isSignal: true, isRequired: false, transformFunction: null }, showTotal: { classPropertyName: "showTotal", publicName: "showTotal", isSignal: true, isRequired: false, transformFunction: null }, space: { classPropertyName: "space", publicName: "space", isSignal: true, isRequired: false, transformFunction: null }, showBackground: { classPropertyName: "showBackground", publicName: "showBackground", isSignal: true, isRequired: false, transformFunction: null }, showSize: { classPropertyName: "showSize", publicName: "showSize", isSignal: true, isRequired: false, transformFunction: null }, sizeWidth: { classPropertyName: "sizeWidth", publicName: "sizeWidth", isSignal: true, isRequired: false, transformFunction: null }, showInputSize: { classPropertyName: "showInputSize", publicName: "showInputSize", isSignal: true, isRequired: false, transformFunction: null }, inputSizeTooltipText: { classPropertyName: "inputSizeTooltipText", publicName: "inputSizeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, inputSizeWidth: { classPropertyName: "inputSizeWidth", publicName: "inputSizeWidth", isSignal: true, isRequired: false, transformFunction: null }, sizeData: { classPropertyName: "sizeData", publicName: "sizeData", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showJump: { classPropertyName: "showJump", publicName: "showJump", isSignal: true, isRequired: false, transformFunction: null }, jumpTooltipText: { classPropertyName: "jumpTooltipText", publicName: "jumpTooltipText", isSignal: true, isRequired: false, transformFunction: null }, jumpWidth: { classPropertyName: "jumpWidth", publicName: "jumpWidth", isSignal: true, isRequired: false, transformFunction: null }, totalTpl: { classPropertyName: "totalTpl", publicName: "totalTpl", isSignal: true, isRequired: false, transformFunction: null }, simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null }, simpleIndexWidth: { classPropertyName: "simpleIndexWidth", publicName: "simpleIndexWidth", isSignal: true, isRequired: false, transformFunction: null }, inputIndexSizeSureType: { classPropertyName: "inputIndexSizeSureType", publicName: "inputIndexSizeSureType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedRow: "activatedRowChange", sortChange: "sortChange", headCheckboxChange: "headCheckboxChange", bodyCheckboxChange: "bodyCheckboxChange", manual: "manualChange", index: "indexChange", size: "sizeChange", total: "totalChange", query: "queryChange", columnDragStarted: "columnDragStarted", columnDragEnded: "columnDragEnded", columnDropListDropped: "columnDropListDropped", columnDragWidthStarted: "columnDragWidthStarted", columnDragWidthMoved: "columnDragWidthMoved", columnDragWidthEnded: "columnDragWidthEnded" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
394
409
  }
395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableProperty, decorators: [{
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableProperty, decorators: [{
396
411
  type: Component,
397
412
  args: [{ selector: `${XTablePrefix}-property`, template: '' }]
398
413
  }] });
@@ -444,10 +459,10 @@ export class XTableHeadProperty extends XProperty {
444
459
  */
445
460
  this.position = input();
446
461
  }
447
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableHeadProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
448
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XTableHeadProperty, selector: "x-table-head-property", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null }, columnTpl: { classPropertyName: "columnTpl", publicName: "columnTpl", isSignal: true, isRequired: false, transformFunction: null }, scrollYWidth: { classPropertyName: "scrollYWidth", publicName: "scrollYWidth", isSignal: true, isRequired: false, transformFunction: null }, scrollXWidth: { classPropertyName: "scrollXWidth", publicName: "scrollXWidth", isSignal: true, isRequired: false, transformFunction: null }, cellConfig: { classPropertyName: "cellConfig", publicName: "cellConfig", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
462
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableHeadProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
463
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XTableHeadProperty, selector: "x-table-head-property", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null }, columnTpl: { classPropertyName: "columnTpl", publicName: "columnTpl", isSignal: true, isRequired: false, transformFunction: null }, scrollYWidth: { classPropertyName: "scrollYWidth", publicName: "scrollYWidth", isSignal: true, isRequired: false, transformFunction: null }, scrollXWidth: { classPropertyName: "scrollXWidth", publicName: "scrollXWidth", isSignal: true, isRequired: false, transformFunction: null }, cellConfig: { classPropertyName: "cellConfig", publicName: "cellConfig", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
449
464
  }
450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableHeadProperty, decorators: [{
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableHeadProperty, decorators: [{
451
466
  type: Component,
452
467
  args: [{ selector: `${XTableHeadPrefix}-property`, template: '' }]
453
468
  }] });
@@ -559,10 +574,10 @@ export class XTableBodyProperty extends XProperty {
559
574
  */
560
575
  this.expandTpl = input();
561
576
  }
562
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableBodyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
563
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XTableBodyProperty, selector: "x-table-body-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, columnTpl: { classPropertyName: "columnTpl", publicName: "columnTpl", isSignal: true, isRequired: false, transformFunction: null }, activatedRow: { classPropertyName: "activatedRow", publicName: "activatedRow", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null }, bodyHeight: { classPropertyName: "bodyHeight", publicName: "bodyHeight", isSignal: true, isRequired: false, transformFunction: null }, allowSelectRow: { classPropertyName: "allowSelectRow", publicName: "allowSelectRow", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, adaptionHeight: { classPropertyName: "adaptionHeight", publicName: "adaptionHeight", isSignal: true, isRequired: false, transformFunction: null }, docPercent: { classPropertyName: "docPercent", publicName: "docPercent", isSignal: true, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null }, cellConfig: { classPropertyName: "cellConfig", publicName: "cellConfig", isSignal: true, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandTpl: { classPropertyName: "expandTpl", publicName: "expandTpl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedRow: "activatedRowChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
577
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableBodyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
578
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XTableBodyProperty, selector: "x-table-body-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, columnTpl: { classPropertyName: "columnTpl", publicName: "columnTpl", isSignal: true, isRequired: false, transformFunction: null }, activatedRow: { classPropertyName: "activatedRow", publicName: "activatedRow", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null }, bodyHeight: { classPropertyName: "bodyHeight", publicName: "bodyHeight", isSignal: true, isRequired: false, transformFunction: null }, allowSelectRow: { classPropertyName: "allowSelectRow", publicName: "allowSelectRow", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, adaptionHeight: { classPropertyName: "adaptionHeight", publicName: "adaptionHeight", isSignal: true, isRequired: false, transformFunction: null }, docPercent: { classPropertyName: "docPercent", publicName: "docPercent", isSignal: true, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null }, cellConfig: { classPropertyName: "cellConfig", publicName: "cellConfig", isSignal: true, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandTpl: { classPropertyName: "expandTpl", publicName: "expandTpl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedRow: "activatedRowChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
564
579
  }
565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableBodyProperty, decorators: [{
580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableBodyProperty, decorators: [{
566
581
  type: Component,
567
582
  args: [{ selector: `${XTableBodyPrefix}-property`, template: '' }]
568
583
  }] });
@@ -589,11 +604,11 @@ export class XTableFootProperty extends XProperty {
589
604
  */
590
605
  this.rowHeight = input(null, { transform: XToNumber });
591
606
  }
592
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableFootProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
593
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XTableFootProperty, selector: "x-table-foot-property", inputs: { footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
607
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableFootProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
608
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XTableFootProperty, selector: "x-table-foot-property", inputs: { footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
594
609
  }
595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTableFootProperty, decorators: [{
610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableFootProperty, decorators: [{
596
611
  type: Component,
597
612
  args: [{ selector: `${XTableFootPrefix}-property`, template: '' }]
598
613
  }] });
599
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEVBQ2YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFlLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWdCN0Q7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDdEMsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUM7QUFFcEM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBZSxTQUFRLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDO0lBRDFFOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBRyxLQUFLLENBQXFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzdGOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzdDOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxLQUFLLENBQWtCLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQW9CLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHOzs7V0FHRztRQUNN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VyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhQcm9wZXJ0eSxcclxuICBYUHJvcGVydHlGdW5jdGlvbixcclxuICBYVG9Dc3NQaXhlbFZhbHVlLFxyXG4gIFhUb0Jvb2xlYW4sXHJcbiAgWFRvTnVtYmVyLFxyXG4gIFhUb0RhdGFDb252ZXJ0XHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIGlucHV0LCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uU2l6ZURhdGEgfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgWFNlbGVjdE5vZGUgfSBmcm9tICdAbmctbmVzdC91aS9zZWxlY3QnO1xyXG5pbXBvcnQgdHlwZSB7XHJcbiAgWE51bWJlcixcclxuICBYU29ydCxcclxuICBYQm9vbGVhbixcclxuICBYRGF0YSxcclxuICBYVGV4dEFsaWduLFxyXG4gIFhTaXplLFxyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhUZW1wbGF0ZSxcclxuICBYUXVlcnksXHJcbiAgWERhdGFBcnJheVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlXHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlUHJlZml4ID0gJ3gtdGFibGUnO1xyXG5jb25zdCBYX1RBQkxFX0NPTkZJR19OQU1FID0gJ3RhYmxlJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYVGFibGVQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eUZ1bmN0aW9uKFhfVEFCTEVfQ09ORklHX05BTUUpIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFJvdyBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGF0YSA9IGlucHV0PFhEYXRhPFhUYWJsZVJvdz4sIFhEYXRhPFhUYWJsZVJvdz4+KFtdLCB7IHRyYW5zZm9ybTogWFRvRGF0YUNvbnZlcnQgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY29sdW1ucyA9IGlucHV0PFhUYWJsZUNvbHVtbltdPihbXSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOWktOWSjOihjOmrmO+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBIZWFkZXIgYW5kIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICByZWFkb25seSByb3dIZWlnaHQgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KHRoaXMuY29uZmlnPy5yb3dIZWlnaHQgPz8gNDIsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWQr+eUqOWKoOi9vSBsb2FkaW5nXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZW5hYmxlIGxvYWRpbmdcclxuICAgKi9cclxuICByZWFkb25seSBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5sb2FkaW5nID8/IGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5bGV56S65YiX6L655qGGXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gc2hvdyBjb2x1bW4gYm9yZGVyc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvcmRlcmVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5ib3JkZXJlZCA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuuWIl+WktFxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNvbHVtbiBoZWFkZXJzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd0hlYWRlciA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2hvd0hlYWRlciA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pi+56S65L2N572uXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY29sdW1uIGhlYWRlcnNcclxuICAgKi9cclxuICByZWFkb25seSBoZWFkZXJQb3NpdGlvbiA9IGlucHV0PFhUYWJsZUhlYWRlclBvc2l0aW9uPih0aGlzLmNvbmZpZz8uaGVhZGVyUG9zaXRpb24gPz8gJ3RvcCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYWN0aXZhdGVkUm93ID0gbW9kZWw8WFRhYmxlUm93PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLToh6rlrprkuYnmqKHmnb/vvIzpgJrov4cga2V5LXZhbHVlIOeahOaWueW8j+aMh+Wumuavj+WIl+eahOaooeeJiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gaGVhZGVyIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGhlYWRDb2x1bW5UcGwgPSBpbnB1dDxYVGFibGVUZW1wbGF0ZT4oe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTljZXlhYPmoLzoh6rlrprkuYnmqKHmnb/vvIzkvJjlhYjnuqfkvY7kuo7liJflpLToh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSBoZWFkVGhUcGwgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WGheWuueiHquWumuS5ieaooeadv++8jOmAmui/hyBrZXktdmFsdWUg55qE5pa55byP5oyH5a6a5q+P5YiX55qE5qih54mIXHJcbiAgICogQGVuX1VTIENvbHVtbiBjb250ZW50IGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvZHlDb2x1bW5UcGwgPSBpbnB1dDxYVGFibGVUZW1wbGF0ZT4oe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLznmoToh6rlrprkuYnmqKHmnb/vvIzkvJjlhYjnuqfkvY7kuo7liJflhoXlrrnoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlIG9mIGNlbGxzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYm9keVRkVHBsID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJvd0NsYXNzID0gaW5wdXQ8KHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pCc57Si6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIExpbmUgaGVhZCBzZWFyY2ggY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGVhZFNlYXJjaFRwbCA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc29ydENoYW5nZSA9IG91dHB1dDxYU29ydFtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLQgY2hlY2tib3gg5LqL5Lu2XHJcbiAgICogQGVuX1VTIGhlYWQgY2hlY2tib3ggZXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSBoZWFkQ2hlY2tib3hDaGFuZ2UgPSBvdXRwdXQ8WFRhYmxlSGVhZENoZWNrYm94PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IGNoZWNrYm94IOS6i+S7tlxyXG4gICAqIEBlbl9VUyBoZWFkIGNoZWNrYm94IGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYm9keUNoZWNrYm94Q2hhbmdlID0gb3V0cHV0PFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5Lit5b2T5YmN6KGMXHJcbiAgICogQGVuX1VTIEFsbG93IHJvdyBjbGljayB0byBzZWxlY3RcclxuICAgKi9cclxuICByZWFkb25seSBhbGxvd1NlbGVjdFJvdyA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uYWxsb3dTZWxlY3RSb3cgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4rSBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBBbGxvdyBsaW5lcyB0byBjbGljayBjaGVja2JveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFsbG93Q2hlY2tSb3cgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmFsbG93Q2hlY2tSb3cgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdmlydHVhbFNjcm9sbCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8udmlydHVhbFNjcm9sbCA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICByZWFkb25seSBib2R5SGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkLCBYTnVtYmVyPih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaXRlbVNpemUgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KHRoaXMuY29uZmlnPy5pdGVtU2l6ZSA/PyA0MiwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICByZWFkb25seSBtaW5CdWZmZXJQeCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4oMTAwLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbWF4QnVmZmVyUHggPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KDIwMCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFkYXB0aW9uSGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkLCBYTnVtYmVyPih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZG9jUGVyY2VudCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4oMSwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5YiX5Yid5aeL6YCJ5Lit55qE5pWw5o2u77yM5YiX5Lit5r+A5rS7IGNoZWNrYm94XHJcbiAgICogQGVuX1VTIENoZWNrYm94IGNvbHVtbiBpbml0aWFsbHkgc2VsZWN0ZWQgZGF0YSwgY2hlY2tib3ggaXMgYWN0aXZhdGVkIGluIGNvbHVtblxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNoZWNrZWRSb3cgPSBpbnB1dDx7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55W10gfT4oe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpoLmnpwgZGF0YSDmmK/lh73mlbDnsbvlnovvvIzlj6/ku6XpgJrov4fmraTlj4LmlbDmjqfliLbor7fmsYLvvIzluLjnlKjkuo7lvLnmoYbkuK3nmoTooajmoLzvvIzlvLnlh7rlkI7lho3or7fmsYJcclxuICAgKiBAZW5fVVMgSWYgZGF0YSBpcyBhIGZ1bmN0aW9uIHR5cGUsIHlvdSBjYW4gdXNlIHRoaXMgcGFyYW1ldGVyIHRvIGNvbnRyb2wgdGhlIHJlcXVlc3QsIHdoaWNoIGlzIG9mdGVuIHVzZWQgaW4gdGhlIGZvcm0gaW4gdGhlIHBvcC11cCBib3gsIGFuZCB0aGVuIHJlcXVlc3QgaXQgYWZ0ZXIgaXQgcG9wcyB1cFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1hbnVhbCA9IG1vZGVsPGJvb2xlYW4+KHRydWUpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICByZWFkb25seSBzY3JvbGwgPSBpbnB1dDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWktFxyXG4gICAqIEBlbl9VUyBUYWJsZSBoZWFkZXJcclxuICAgKi9cclxuICByZWFkb25seSBoZWFkZXIgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICByZWFkb25seSBmb290ZXIgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNlbGxDb25maWcgPSBpbnB1dDxYVGFibGVDZWxsQ29uZmlnPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJvd1NpemUgPSBpbnB1dDxYU2l6ZT4odGhpcy5jb25maWc/LnJvd1NpemUgPz8gJ21lZGl1bScpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliIbpobXlmajkvY3nva5cclxuICAgKiBAZW5fVVMgUGFnaW5hdGlvbiBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBhZ2luYXRpb25Qb3NpdGlvbiA9IGlucHV0PFhQYWdpbmF0aW9uUG9zaXRpb24+KCdib3R0b20tbGVmdCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol4/ooajmoLzlpJbovrnmoYZcclxuICAgKiBAZW5fVVMgSGlkZGVuIHRhYmxlIHdyYXAgYm9yZGVyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGlkZGVuV3JhcEJvcmRlciA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uaGlkZGVuV3JhcEJvcmRlciA/PyBmYWxzZSwge1xyXG4gICAgdHJhbnNmb3JtOiBYVG9Cb29sZWFuXHJcbiAgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj+WIhumhteWZqOaMiemSrui+ueahhlxyXG4gICAqIEBlbl9VUyBIaWRkZW4gcGFnaW5hdGlvbiBidXR0b24gYm9yZGVyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGlkZGVuUGFnaW5hdGlvbkJvcmRlciA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uaGlkZGVuUGFnaW5hdGlvbkJvcmRlciA/PyBmYWxzZSwge1xyXG4gICAgdHJhbnNmb3JtOiBYVG9Cb29sZWFuXHJcbiAgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWIhumhteWZqFxyXG4gICAqIEBlbl9VUyBQYWdpbmF0aW9uIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd1BhZ2luYXRpb24gPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNob3dQYWdpbmF0aW9uID8/IHRydWUsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQm9vbGVhblxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLxcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHRyZWVUYWJsZSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8udHJlZVRhYmxlID8/IHRydWUsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQm9vbGVhblxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLzlsZXlvIDmiYDmnInoioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGV4cGFuZGVkQWxsID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5leHBhbmRlZEFsbCA/PyBmYWxzZSwge1xyXG4gICAgdHJhbnNmb3JtOiBYVG9Cb29sZWFuXHJcbiAgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOm7mOiupOWxleW8gOeahOWxgue6p++8jC0xIOS4jeWxleW8gFxyXG4gICAqIEBlbl9VUyBEZWZhdWx0IGV4cGFuZGVkIGxldmVsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZXhwYW5kZWRMZXZlbCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4odGhpcy5jb25maWc/LmV4cGFuZGVkTGV2ZWwgPz8gLTEsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvTnVtYmVyXHJcbiAgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBFeHBhbmRlZCBub2RlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZXhwYW5kZWQgPSBpbnB1dDxhbnlbXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZXlvIDlhoXlrrlcclxuICAgKiBAZW5fVVMgQ3VzdG9taXplZCBleHBhbnNpb24gY29udGVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGV4cGFuZFRwbCA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65pWw5o2u5Li656m655qE5o+Q56S6XHJcbiAgICogQGVuX1VTIERpc3BsYXkgYSBwcm9tcHQgd2l0aCBlbXB0eSBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd0VtcHR5ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5zaG93RW1wdHkgPz8gdHJ1ZSwge1xyXG4gICAgdHJhbnNmb3JtOiBYVG9Cb29sZWFuXHJcbiAgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaVsOaNruS4uuepuueahOaPkOekuuWbvueJh+WcsOWdgOaIluiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBQaWN0dXJlIGFkZHJlc3Mgb3IgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZW1wdHlJbWcgPSBpbnB1dDxYVGVtcGxhdGUgfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5lbXB0eUltZyA/PyB1bmRlZmluZWQpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlbDmja7kuLrnqbrnmoTmj5DnpLrlhoXlrrnmiJboh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29udGVudCBvciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSBlbXB0eUNvbnRlbnQgPSBpbnB1dDxYVGVtcGxhdGUgfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5lbXB0eUNvbnRlbnQgPz8gdW5kZWZpbmVkKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6aG156CBXHJcbiAgICogQGVuX1VTIEN1cnJlbnQgcGFnZSBudW1iZXJcclxuICAgKi9cclxuICByZWFkb25seSBpbmRleCA9IG1vZGVsPG51bWJlcj4odGhpcy5jb25maWc/LmluZGV4ID8/IDEpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmr4/pobXmmL7npLrmnaHmlbBcclxuICAgKiBAZW5fVVMgTnVtYmVyIG9mIGl0ZW1zIGRpc3BsYXllZCBwZXIgcGFnZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNpemUgPSBtb2RlbDxudW1iZXI+KHRoaXMuY29uZmlnPy5zaXplID8/IDEwKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5oC75pWwXHJcbiAgICogQGVuX1VTIFRvdGFsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdG90YWwgPSBtb2RlbDxudW1iZXI+KDApO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmn6Xor6LmnaHku7ZcclxuICAgKiBAZW5fVVMgUXVlcnkgY29uZGl0aW9uc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHF1ZXJ5ID0gbW9kZWw8WFF1ZXJ5Pih7fSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOacgOWkmuaYvuekuueahOWIhumhteaVsOmHj1xyXG4gICAqIEBlbl9VUyBUaGUgbGFyZ2VzdCBudW1iZXIgb2YgcGFnZXMgZGlzcGxheVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBhZ2VMaW5rU2l6ZSA9IGlucHV0PG51bWJlciwgWE51bWJlcj4odGhpcy5jb25maWc/LnBhZ2VMaW5rU2l6ZSA/PyA1LCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrpppblsL7pobXot7PovaxcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0aGUgZmlyc3QgYW5kIGxhc3QgcGFnZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dFbGxpcHNpcyA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2hvd0VsbGlwc2lzID8/IHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmgLvmnaHmlbBcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0aGUgdG90YWxcclxuICAgKi9cclxuICByZWFkb25seSBzaG93VG90YWwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNob3dUb3RhbCA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5oyJ6ZKu6Ze06LedXHJcbiAgICogQGVuX1VTIEJ1dHRvbiBzcGFjaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc3BhY2UgPSBpbnB1dDxzdHJpbmcsIFhOdW1iZXI+KHRoaXMuY29uZmlnPy5zcGFjZSA/PyAnMC4yNXJlbScsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmt7vliqDog4zmma/oibJcclxuICAgKiBAZW5fVVMgU2hvdyBiYWNrZ3JvdW5kXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd0JhY2tncm91bmQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNob3dCYWNrZ3JvdW5kID8/IGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65YiG6aG15p2h5pWwXHJcbiAgICogQGVuX1VTIFNob3cgc2l6ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dTaXplID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5zaG93U2l6ZSA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIhumhteadoeaVsOmAieaLqeahhueahOWuveW6plxyXG4gICAqIEBlbl9VUyBzaXplIHdpdGggc2VsZWN0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2l6ZVdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uc2l6ZVdpZHRoID8/ICc2Ljg3NXJlbScsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovpPlhaXliIbpobXmnaHmlbDvvIjkuI3og73ot5/kuIvmi4npgInpobnlkIzml7bkvb/nlKjvvIlcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0aGUgbnVtYmVyIG9mIGlucHV0IHBhZ2UgYnJlYWtzIChjYW5ub3QgZXhpc3Qgd2l0aCB0aGUgZHJvcC1kb3duIG9wdGlvbnMgb2YgcGFnZSBicmVha3MpXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd0lucHV0U2l6ZSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2hvd0lucHV0U2l6ZSA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIhumhteadoeaVsOi+k+WFpeahhueahOWuveW6plxyXG4gICAqIEBlbl9VUyBzaXplIHdpdGggaW5wdXRcclxuICAgKi9cclxuICByZWFkb25seSBpbnB1dFNpemVXaWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnNpemVXaWR0aCA/PyAnMy4xMjVyZW0nLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWVcclxuICB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG6aG16YCJ5oup55qE5pWw5o2u6aG5XHJcbiAgICogQGVuX1VTIFBhZ2luZyBjaG9vc2UgaXRlbXMgb2YgZGF0YVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNpemVEYXRhID0gaW5wdXQ8WERhdGFBcnJheTxYU2VsZWN0Tm9kZT4+KHRoaXMuY29uZmlnPy5zaXplRGF0YSA/PyBYUGFnaW5hdGlvblNpemVEYXRhKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So5pW05Liq5YiG6aG1XHJcbiAgICogQGVuX1VTIGRpc2FibGVkXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrot7PovazovpPlhaXmoYZcclxuICAgKiBAZW5fVVMgU2hvdyBzaXplXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd0p1bXAgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDot7PovazpobXnmoTlrr3luqZcclxuICAgKiBAZW5fVVMgc2l6ZSB3aXRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkganVtcFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uanVtcFdpZHRoID8/ICczLjEyNXJlbScsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmgLvmlbDoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgVG90YWwgdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSB0b3RhbFRwbCA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g566A5Y2V5YiG6aG1XHJcbiAgICogQGVuX1VTIFNpbXBsZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNpbXBsZSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2ltcGxlID8/IGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g566A5Y2V5YiG6aG16L6T5YWl5qGG5a695bqmXHJcbiAgICogQGVuX1VTIFNpbXBsZSBpbmRleCB3aXRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2ltcGxlSW5kZXhXaWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnNpbXBsZUluZGV4V2lkdGggPz8gJzguMTI1cmVtJywge1xyXG4gICAgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlXHJcbiAgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WktOaLluWKqOW8gOWni+S6i+S7tu+8jOi/lOWbnuaLluWKqOeahOWIl1xyXG4gICAqIEBlbl9VUyBDb2x1bW4gSGVhZGVyIERyYWcgRW5kIEV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY29sdW1uRHJhZ1N0YXJ0ZWQgPSBvdXRwdXQ8WFRhYmxlQ29sdW1uPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTmi5bliqjnu5PmnZ/kuovku7bvvIzov5Tlm57mi5bliqjnmoTliJdcclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBoZWFkZXIgaXMgZHJhZ2dpbmcsIGFuZCB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG9yZGVyIGlzIGNoYW5nZWRcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5EcmFnRW5kZWQgPSBvdXRwdXQ8WFRhYmxlQ29sdW1uPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPnlKjmiLfmiorkuIDkuKrmnaHnm67mipXmlL7ov5vor6Xlrrnlmajml7blsLHkvJrop6blj5HvvIzmi5bliqjmlL7lvIDnmoTkuovku7bvvIzov5Tlm57mi5bliqjmjpLluo/lkI7nmoTliJfmlbDmja5cclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBoZWFkZXIgaXMgZHJhZ2dpbmcsIGFuZCB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG9yZGVyIGlzIGNoYW5nZWRcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5Ecm9wTGlzdERyb3BwZWQgPSBvdXRwdXQ8WFRhYmxlQ29sdW1uW10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWni+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBzdGFydGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY29sdW1uRHJhZ1dpZHRoU3RhcnRlZCA9IG91dHB1dDxYVGFibGVEcmFnV2lkdGhFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5Zyo5ouW5Yqo5YiX5a695pe255qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIG1vdmVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY29sdW1uRHJhZ1dpZHRoTW92ZWQgPSBvdXRwdXQ8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOe7k+adn+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBlbmRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtbkRyYWdXaWR0aEVuZGVkID0gb3V0cHV0PFhUYWJsZURyYWdXaWR0aEV2ZW50PigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOihjOaVsOaNrlxyXG4gKiBAZW5fVVMgUm93IGRhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlUm93IGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRhYmxlUm93PiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gFxyXG4gICAqIEBlbl9VUyBVbmZvbGRcclxuICAgKi9cclxuICBleHBhbmRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WPguaVsFxyXG4gKiBAZW5fVVMgQ29sdW1uIHBhcmFtZXRlclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb2x1bW4gZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOexu+Wei1xyXG4gICAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gICAqL1xyXG4gIHR5cGU/OiBYQ29sdW1uVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIFdpZHRoXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5a695bqmXHJcbiAgICogQGVuX1VTIEZsZXggbGF5b3V0IHdpZHRoXHJcbiAgICovXHJcbiAgZmxleD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5p+l6K+i5a2X5q61XHJcbiAgICogQGVuX1VTIFF1ZXJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc2VhcmNoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP5a2X5q61XHJcbiAgICogQGVuX1VTIFNvcnQgZmllbGRcclxuICAgKi9cclxuICBzb3J0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75bem6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSBsZWZ0XHJcbiAgICovXHJcbiAgbGVmdD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75Y+z6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSByaWdodFxyXG4gICAqL1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmk43kvZzmjInpkq5cclxuICAgKiBAZW5fVVMgT3BlcmF0aW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gIGFjdGlvbj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGNoZWNrYm94IOaXtue7keWumuihjOeCueWHu+mAieS4reS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGNoZWNrYm94XHJcbiAgICovXHJcbiAgcm93Q2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGV4cGFuZCDml7bnu5HlrprooYzngrnlh7vlsZXlvIDkuovku7ZcclxuICAgKiBAZW5fVVMgQmluZCByb3cgY2xpY2sgc2VsZWN0aW9uIGV2ZW50IHdoZW4gdHlwZSBpcyBleHBhbmRcclxuICAgKi9cclxuICByb3dFeHBhbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgVGV4dCBhbGlnbm1lbnRcclxuICAgKi9cclxuICB0ZXh0QWxpZ24/OiBYVGV4dEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJflrr3vvIzpnIDopoHorr7nva7liJfnmoTliJ3lp4vlrr3luqYgd2lkdGhcclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uIHdpZHRoLCB5b3UgbmVlZCB0byBzZXQgdGhlIGluaXRpYWwgd2lkdGggb2YgdGhlIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuvVxyXG4gICAqIEBlbl9VUyBEcmFnZ2luZyB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdnaW5nV2lkdGg/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlp4vmi5bliqjliJflrr3nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gc3RhcnRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aFN0YXJ0ZWQ/OiAoZXZlbnQ6IFhUYWJsZURyYWdXaWR0aEV2ZW50KSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjmi5bliqjliJflrr3ml7bnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gbW92ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBkcmFnV2lkdGhNb3ZlZD86IChldmVudDogWFRhYmxlRHJhZ1dpZHRoRXZlbnQpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOe7k+adn+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBlbmRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aEVuZGVkPzogKGV2ZW50OiBYVGFibGVEcmFnV2lkdGhFdmVudCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5YiXXHJcbiAgICogQGVuX1VTIERyYWcgdGhlIGNvbHVtblxyXG4gICAqL1xyXG4gIGRyYWdDb2x1bW4/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjmi5bliqjliJdcclxuICAgKiBAZW5fVVMgRHJhZ2dpbmcgY29sdW1uXHJcbiAgICovXHJcbiAgZHJhZ2dpbmc/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpLTpg6jmmL7npLogY2hlY2tib3hcclxuICAgKiBAZW5fVVMgSGVhZCBzaG93cyBjaGVja2JveFxyXG4gICAqL1xyXG4gIGhlYWRDaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aS06YOo5pi+56S6IGV4cGFuZFxyXG4gICAqIEBlbl9VUyBIZWFkIHNob3dzIGV4cGFuZFxyXG4gICAqL1xyXG4gIGhlYWRFeHBhbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLTlrr3luqbmi5bliqjkuovku7ZcclxuICogQGVuX1VTIENvbHVtbiBoZWFkZXIgd2lkdGggZHJhZyBldmVudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVEcmFnV2lkdGhFdmVudCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOeahOWIl1xyXG4gICAqIEBlbl9VUyBEcmFnZ2VkIGNvbHVtblxyXG4gICAqL1xyXG4gIGNvbHVtbjogWFRhYmxlQ29sdW1uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfkvY3nva7vvIzmraPlnKjmi5bliqjnmoTml7blgJnmjIflgY/np7vkvY3nva5cclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBwb3NpdGlvbiByZWZlcnMgdG8gdGhlIG9mZnNldCBwb3NpdGlvbiB3aGVuIGRyYWdnaW5nXHJcbiAgICovXHJcbiAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLQgY2hlY2tib3gg5LqL5Lu25pWw5o2uXHJcbiAqIEBlbl9VUyBDb2x1bW4gaGVhZGVyIGNoZWNrYm94IGV2ZW50IGRhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlSGVhZENoZWNrYm94IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFJvdyBkYXRhXHJcbiAgICovXHJcbiAgcm93czogWFRhYmxlUm93W107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBkYXRhXHJcbiAgICovXHJcbiAgY2hlY2tib3g6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBib29sZWFuIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDZWxsQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENvbHVtbiBjZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIHRoZWFkPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBSb3cgY29uZmlnXHJcbiAgICovXHJcbiAgdGJvZHk/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzphY3nva7op4TliJlcclxuICogQGVuX1VTIENlbGwgY29uZmlnIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGxDb25maWdSdWxlIHtcclxuICAvKipcclxuICAgKiBAemhfQ04gZ3JpZCDluIPlsYDkuIvlrprkuYnliJflrr3luqZcclxuICAgKiBAZW5fVVMgRGVmaW5lIGNvbHVtbiB3aWR0aCB1bmRlciBncmlkIGxheW91dFxyXG4gICAqL1xyXG4gIGdyaWRUZW1wbGF0ZUNvbHVtbnM/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAgICovXHJcbiAgY2VsbHM/OiBYVGFibGVDZWxsW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC85ZCI5bm26YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGwge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkvb/nlKggZ3JpZCDluIPlsYDmnaXlkIjlubbljZXlhYPmoLxcclxuICAgKiBAZW5fVVMgVXNlIGdyaWQgbGF5b3V0IHRvIG1lcmdlIGNlbGxzXHJcbiAgICovXHJcbiAgZ3JpZEFyZWE/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjeensFxyXG4gICAqIEBlbl9VUyBOYW1lXHJcbiAgICovXHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWuveW6plxyXG4gICAqIEBlbl9VUyBXaWR0aFxyXG4gICAqL1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvueW6lOWIl+eahCBpZFxyXG4gICAqIEBlbl9VUyBUaGUgaWQgb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29sdW1uXHJcbiAgICovXHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+WuvVxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBkcmFnV2lkdGg/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJfnsbvlnotcclxuICogQGVuX1VTIENvbHVtbiB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYQ29sdW1uVHlwZSA9ICdsYWJlbCcgfCAnaW5kZXgnIHwgJ2NoZWNrYm94JyB8ICdleHBhbmQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLTmmL7npLrkvY3nva5cclxuICogQGVuX1VTIExpbmUgaGVhZCBkaXNwbGF5IHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVGFibGVIZWFkZXJQb3NpdGlvbiA9ICd0b3AnIHwgJ2JvdHRvbScgfCAndG9wLWJvdHRvbSc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIhumhteWZqOS9jee9rlxyXG4gKiBAZW5fVVMgUGFnaW5nIHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYUGFnaW5hdGlvblBvc2l0aW9uID1cclxuICB8ICd0b3AtbGVmdCdcclxuICB8ICd0b3AtY2VudGVyJ1xyXG4gIHwgJ3RvcC1yaWdodCdcclxuICB8ICdib3R0b20tbGVmdCdcclxuICB8ICdib3R0b20tY2VudGVyJ1xyXG4gIHwgJ2JvdHRvbS1yaWdodCc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaooeadv1xyXG4gKiBAZW5fVVMgVGVtcGxhdGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhUYWJsZVRlbXBsYXRlID0geyBbcHJvcGVydHk6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT4gfTtcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBIZWFkXHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlLWhlYWRcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVIZWFkUHJlZml4ID0gJ3gtdGFibGUtaGVhZCc7XHJcblxyXG4vKipcclxuICogVGFibGUgSGVhZCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYVGFibGVIZWFkUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlSGVhZFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6ZuG5ZCIXHJcbiAgICogQGVuX1VTIENvbHVtbiBzZXRcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5zID0gaW5wdXQ8WFRhYmxlQ29sdW1uW10+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlaWdodCBpbiBweFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJvd0hlaWdodCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4oNDIsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5UcGwgPSBpbnB1dDxYVGFibGVUZW1wbGF0ZT4oe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnq5blkJHmu5rliqjmnaHlrr3luqZcclxuICAgKiBAZW5fVVMgVmVydGljYWwgc2Nyb2xsIGJhciB3aWR0aFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNjcm9sbFlXaWR0aCA9IGlucHV0PG51bWJlciB8IG51bGwsIFhOdW1iZXI+KG51bGwsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaoquWQkea7muWKqOadoeWuveW6plxyXG4gICAqIEBlbl9VUyBIb3Jpem9udGFsIHNjcm9sbCBiYXIgd2lkdGhcclxuICAgKi9cclxuICByZWFkb25seSBzY3JvbGxYV2lkdGggPSBpbnB1dDxudW1iZXIgfCBudWxsLCBYTnVtYmVyPihudWxsLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBtZXJnZSBydWxlc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNlbGxDb25maWcgPSBpbnB1dDxYVGFibGVDZWxsQ29uZmlnUnVsZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S655qE5L2N572uXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICByZWFkb25seSBwb3NpdGlvbiA9IGlucHV0PHN0cmluZz4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEJvZHlcclxuICogQHNlbGVjdG9yIHgtdGFibGUtYm9keVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZUJvZHlQcmVmaXggPSAneC10YWJsZS1ib2R5JztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBCb2R5IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hUYWJsZUJvZHlQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVCb2R5UHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICByZWFkb25seSBkYXRhID0gaW5wdXQ8WFRhYmxlUm93W10+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6ZuG5ZCIXHJcbiAgICogQGVuX1VTIENvbHVtbiBzZXRcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5zID0gaW5wdXQ8WFRhYmxlQ29sdW1uW10+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtblRwbCA9IGlucHV0PFhUYWJsZVRlbXBsYXRlPih7fSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICByZWFkb25seSBhY3RpdmF0ZWRSb3cgPSBtb2RlbDxYVGFibGVSb3c+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6pu+8jOWNleS9jSBweOOAguiuvue9ruS4uiAwIOihqOekuuihjOmrmOiHqumAguW6lOWGheWuuemrmOW6puOAglxyXG4gICAqIEBlbl9VUyBIZWlnaHQgaW4gcHguIHNldCB0byAwIG1lYW5zIHRoYXQgdGhlIHJvdyBoZWlnaHQgaXMgYWRhcHRpdmUgdG8gdGhlIGNvbnRlbnQgaGVpZ2h0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcm93SGVpZ2h0ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPig0MiwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvZHlIZWlnaHQgPSBpbnB1dDxudW1iZXIgfCBudWxsLCBYTnVtYmVyPihudWxsLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhYHorrjooYzngrnlh7vpgInkuK1cclxuICAgKiBAZW5fVVMgQWxsb3cgcm93IGNsaWNrIHRvIHNlbGVjdFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFsbG93U2VsZWN0Um93ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpcnR1YWxTY3JvbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBpdGVtU2l6Ze+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBpdGVtU2l6Ze+8jGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGl0ZW1TaXplID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPig0MiwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICByZWFkb25seSBtaW5CdWZmZXJQeCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4oMTAwLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbWF4QnVmZmVyUHggPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KDIwMCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFkYXB0aW9uSGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgbnVsbCwgWE51bWJlcj4obnVsbCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIERvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGJ5IHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICByZWFkb25seSBkb2NQZXJjZW50ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPigxLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICByZWFkb25seSBzY3JvbGwgPSBpbnB1dDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9ruinhOWImVxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZyBydWxlc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNlbGxDb25maWcgPSBpbnB1dDxYVGFibGVDZWxsQ29uZmlnUnVsZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5p2h5Lu25qC35byPXHJcbiAgICogQGVuX1VTIFJvdyBjb25kaXRpb24gY2xhc3NcclxuICAgKi9cclxuICByZWFkb25seSByb3dDbGFzcyA9IGlucHV0PChyb3c6IFhUYWJsZVJvdywgaW5kZXg6IG51bWJlcikgPT4geyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH0+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOS4i+eahOWxgue6p1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgdW5kZXIgdGhlIHRyZWUgdGFibGVcclxuICAgKi9cclxuICByZWFkb25seSBsZXZlbCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4oMCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICByZWFkb25seSBleHBhbmRlZEFsbCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxleW8gOWGheWuuVxyXG4gICAqIEBlbl9VUyBDdXN0b21pemVkIGV4cGFuc2lvbiBjb250ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZXhwYW5kVHBsID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG59XHJcblxyXG4vKipcclxuICogVGFibGUgRm9vdFxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1mb290XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlRm9vdFByZWZpeCA9ICd4LXRhYmxlLWZvb3QnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEZvb3QgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WFRhYmxlRm9vdFByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUZvb3RQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICByZWFkb25seSBmb290ZXIgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOWktOWSjOihjOmrmO+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBIZWFkZXIgYW5kIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICByZWFkb25seSByb3dIZWlnaHQgPSBpbnB1dDxudW1iZXIgfCBudWxsLCBYTnVtYmVyPihudWxsLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG59XHJcbiJdfQ==
614
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEVBQ2YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFlLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBcUMsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFnQmhHOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQ3RDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBRXBDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztJQUQxRTs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFxQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM3Rjs7O1dBR0c7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFpQixFQUFFLENBQUMsQ0FBQztRQUM3Qzs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFrQixJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNwRzs7O1dBR0c7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN0Rzs7O1dBR0c7UUFD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TyxrQkFBbUIsU0FBUSxTQUFTO0lBRGpEOztRQUVFOzs7V0FHRztRQUNNLFdBQU0sR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUF5QixJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztLQUNwRjtpSUFYWSxrQkFBa0I7cUhBQWxCLGtCQUFrQiwrVkFEa0MsRUFBRTs7MkZBQ3RELGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLGdCQUFnQixXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFByb3BlcnR5LFxyXG4gIFhQcm9wZXJ0eUZ1bmN0aW9uLFxyXG4gIFhUb0Nzc1BpeGVsVmFsdWUsXHJcbiAgWFRvQm9vbGVhbixcclxuICBYVG9OdW1iZXIsXHJcbiAgWFRvRGF0YUNvbnZlcnRcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgaW5wdXQsIG1vZGVsLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25JbnB1dEluZGV4U2l6ZVN1cmVUeXBlLCBYUGFnaW5hdGlvblNpemVEYXRhIH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcbmltcG9ydCB7IFhTZWxlY3ROb2RlIH0gZnJvbSAnQG5nLW5lc3QvdWkvc2VsZWN0JztcclxuaW1wb3J0IHR5cGUge1xyXG4gIFhOdW1iZXIsXHJcbiAgWFNvcnQsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWFRleHRBbGlnbixcclxuICBYU2l6ZSxcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYVGVtcGxhdGUsXHJcbiAgWFF1ZXJ5LFxyXG4gIFhEYXRhQXJyYXlcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZVxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZVByZWZpeCA9ICd4LXRhYmxlJztcclxuY29uc3QgWF9UQUJMRV9DT05GSUdfTkFNRSA9ICd0YWJsZSc7XHJcblxyXG4vKipcclxuICogVGFibGUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WFRhYmxlUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHlGdW5jdGlvbihYX1RBQkxFX0NPTkZJR19OQU1FKSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRhdGEgPSBpbnB1dDxYRGF0YTxYVGFibGVSb3c+LCBYRGF0YTxYVGFibGVSb3c+PihbXSwgeyB0cmFuc2Zvcm06IFhUb0RhdGFDb252ZXJ0IH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtbnMgPSBpbnB1dDxYVGFibGVDb2x1bW5bXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajlpLTlkozooYzpq5jvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVhZGVyIGFuZCByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcm93SGVpZ2h0ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8ucm93SGVpZ2h0ID8/IDQyLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbG9hZGluZyA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8ubG9hZGluZyA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWxleekuuWIl+i+ueahhlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIHNob3cgY29sdW1uIGJvcmRlcnNcclxuICAgKi9cclxuICByZWFkb25seSBib3JkZXJlZCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uYm9yZGVyZWQgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKbmmL7npLrliJflpLRcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBkaXNwbGF5IHRoZSBjb2x1bW4gaGVhZGVyc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dIZWFkZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNob3dIZWFkZXIgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WktOaYvuekuuS9jee9rlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNvbHVtbiBoZWFkZXJzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGVhZGVyUG9zaXRpb24gPSBpbnB1dDxYVGFibGVIZWFkZXJQb3NpdGlvbj4odGhpcy5jb25maWc/LmhlYWRlclBvc2l0aW9uID8/ICd0b3AnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFjdGl2YXRlZFJvdyA9IG1vZGVsPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/77yM6YCa6L+HIGtleS12YWx1ZSDnmoTmlrnlvI/mjIflrprmr4/liJfnmoTmqKHniYhcclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSBoZWFkQ29sdW1uVHBsID0gaW5wdXQ8WFRhYmxlVGVtcGxhdGU+KHt9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05Y2V5YWD5qC86Ieq5a6a5LmJ5qih5p2/77yM5LyY5YWI57qn5L2O5LqO5YiX5aS06Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIENvbHVtbiBoZWFkZXIgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGVhZFRoVHBsID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflhoXlrrnoh6rlrprkuYnmqKHmnb/vvIzpgJrov4cga2V5LXZhbHVlIOeahOaWueW8j+aMh+Wumuavj+WIl+eahOaooeeJiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gY29udGVudCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSBib2R5Q29sdW1uVHBsID0gaW5wdXQ8WFRhYmxlVGVtcGxhdGU+KHt9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC855qE6Ieq5a6a5LmJ5qih5p2/77yM5LyY5YWI57qn5L2O5LqO5YiX5YaF5a656Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZSBvZiBjZWxsc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvZHlUZFRwbCA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5p2h5Lu25qC35byPXHJcbiAgICogQGVuX1VTIFJvdyBjb25kaXRpb24gY2xhc3NcclxuICAgKi9cclxuICByZWFkb25seSByb3dDbGFzcyA9IGlucHV0PChyb3c6IFhUYWJsZVJvdywgaW5kZXg6IG51bWJlcikgPT4geyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH0+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WktOaQnOe0ouiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBMaW5lIGhlYWQgc2VhcmNoIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGhlYWRTZWFyY2hUcGwgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOkuW6j+eCueWHu+eahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTb3J0IGNsaWNrIGV2ZW50c1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNvcnRDaGFuZ2UgPSBvdXRwdXQ8WFNvcnRbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS0IGNoZWNrYm94IOS6i+S7tlxyXG4gICAqIEBlbl9VUyBoZWFkIGNoZWNrYm94IGV2ZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGVhZENoZWNrYm94Q2hhbmdlID0gb3V0cHV0PFhUYWJsZUhlYWRDaGVja2JveD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSBjaGVja2JveCDkuovku7ZcclxuICAgKiBAZW5fVVMgaGVhZCBjaGVja2JveCBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvZHlDaGVja2JveENoYW5nZSA9IG91dHB1dDxYVGFibGVSb3c+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4reW9k+WJjeihjFxyXG4gICAqIEBlbl9VUyBBbGxvdyByb3cgY2xpY2sgdG8gc2VsZWN0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYWxsb3dTZWxlY3RSb3cgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmFsbG93U2VsZWN0Um93ID8/IHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhYHorrjooYzngrnlh7vpgInkuK0gY2hlY2tib3hcclxuICAgKiBAZW5fVVMgQWxsb3cgbGluZXMgdG8gY2xpY2sgY2hlY2tib3hcclxuICAgKi9cclxuICByZWFkb25seSBhbGxvd0NoZWNrUm93ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5hbGxvd0NoZWNrUm93ID8/IHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpcnR1YWxTY3JvbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnZpcnR1YWxTY3JvbGwgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYm9keUhlaWdodCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZCwgWE51bWJlcj4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBpdGVtU2l6Ze+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBpdGVtU2l6Ze+8jGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGl0ZW1TaXplID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uaXRlbVNpemUgPz8gNDIsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbWluQnVmZmVyUHggPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KDEwMCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFJlbmRlciB0aGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1heEJ1ZmZlclB4ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPigyMDAsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBBZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICByZWFkb25seSBhZGFwdGlvbkhlaWdodCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZCwgWE51bWJlcj4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgRG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgYnkgcG9wLXVwIHdpbmRvdyBwZXJjZW50YWdlIGhlaWdodFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRvY1BlcmNlbnQgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KDEsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOWIl+WIneWni+mAieS4reeahOaVsOaNru+8jOWIl+S4rea/gOa0uyBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBjb2x1bW4gaW5pdGlhbGx5IHNlbGVjdGVkIGRhdGEsIGNoZWNrYm94IGlzIGFjdGl2YXRlZCBpbiBjb2x1bW5cclxuICAgKi9cclxuICByZWFkb25seSBjaGVja2VkUm93ID0gaW5wdXQ8eyBbcHJvcGVydHk6IHN0cmluZ106IGFueVtdIH0+KHt9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aaC5p6cIGRhdGEg5piv5Ye95pWw57G75Z6L77yM5Y+v5Lul6YCa6L+H5q2k5Y+C5pWw5o6n5Yi26K+35rGC77yM5bi455So5LqO5by55qGG5Lit55qE6KGo5qC877yM5by55Ye65ZCO5YaN6K+35rGCXHJcbiAgICogQGVuX1VTIElmIGRhdGEgaXMgYSBmdW5jdGlvbiB0eXBlLCB5b3UgY2FuIHVzZSB0aGlzIHBhcmFtZXRlciB0byBjb250cm9sIHRoZSByZXF1ZXN0LCB3aGljaCBpcyBvZnRlbiB1c2VkIGluIHRoZSBmb3JtIGluIHRoZSBwb3AtdXAgYm94LCBhbmQgdGhlbiByZXF1ZXN0IGl0IGFmdGVyIGl0IHBvcHMgdXBcclxuICAgKi9cclxuICByZWFkb25seSBtYW51YWwgPSBtb2RlbDxib29sZWFuPih0cnVlKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5rua5Yqo5Yy65Z+f6auY5a69XHJcbiAgICogQGVuX1VTIEhlaWdodCBhbmQgd2lkdGggb2Ygcm9sbGluZyBhcmVhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2Nyb2xsID0gaW5wdXQ8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXlpLRcclxuICAgKiBAZW5fVVMgVGFibGUgaGVhZGVyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGVhZGVyID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXlsL5cclxuICAgKiBAZW5fVVMgVGFibGUgZm9vdGVyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZm9vdGVyID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBjb25maWdcclxuICAgKi9cclxuICByZWFkb25seSBjZWxsQ29uZmlnID0gaW5wdXQ8WFRhYmxlQ2VsbENvbmZpZz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICByZWFkb25seSByb3dTaXplID0gaW5wdXQ8WFNpemU+KHRoaXMuY29uZmlnPy5yb3dTaXplID8/ICdtZWRpdW0nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG6aG15Zmo5L2N572uXHJcbiAgICogQGVuX1VTIFBhZ2luYXRpb24gcG9zaXRpb25cclxuICAgKi9cclxuICByZWFkb25seSBwYWdpbmF0aW9uUG9zaXRpb24gPSBpbnB1dDxYUGFnaW5hdGlvblBvc2l0aW9uPignYm90dG9tLWxlZnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZqQ6JeP6KGo5qC85aSW6L655qGGXHJcbiAgICogQGVuX1VTIEhpZGRlbiB0YWJsZSB3cmFwIGJvcmRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGhpZGRlbldyYXBCb3JkZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmhpZGRlbldyYXBCb3JkZXIgPz8gZmFsc2UsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQm9vbGVhblxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol4/liIbpobXlmajmjInpkq7ovrnmoYZcclxuICAgKiBAZW5fVVMgSGlkZGVuIHBhZ2luYXRpb24gYnV0dG9uIGJvcmRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGhpZGRlblBhZ2luYXRpb25Cb3JkZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmhpZGRlblBhZ2luYXRpb25Cb3JkZXIgPz8gZmFsc2UsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQm9vbGVhblxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIbpobXlmahcclxuICAgKiBAZW5fVVMgUGFnaW5hdGlvbiBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dQYWdpbmF0aW9uID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5zaG93UGFnaW5hdGlvbiA/PyB0cnVlLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb0Jvb2xlYW5cclxuICB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC8XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICByZWFkb25seSB0cmVlVGFibGUgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnRyZWVUYWJsZSA/PyB0cnVlLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb0Jvb2xlYW5cclxuICB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICByZWFkb25seSBleHBhbmRlZEFsbCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uZXhwYW5kZWRBbGwgPz8gZmFsc2UsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQm9vbGVhblxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpu5jorqTlsZXlvIDnmoTlsYLnuqfvvIwtMSDkuI3lsZXlvIBcclxuICAgKiBAZW5fVVMgRGVmYXVsdCBleHBhbmRlZCBsZXZlbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGV4cGFuZGVkTGV2ZWwgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KHRoaXMuY29uZmlnPy5leHBhbmRlZExldmVsID8/IC0xLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb051bWJlclxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDnmoToioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kZWQgbm9kZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGV4cGFuZGVkID0gaW5wdXQ8YW55W10+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGV5byA5YaF5a65XHJcbiAgICogQGVuX1VTIEN1c3RvbWl6ZWQgZXhwYW5zaW9uIGNvbnRlbnRcclxuICAgKi9cclxuICByZWFkb25seSBleHBhbmRUcGwgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaVsOaNruS4uuepuueahOaPkOekulxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IGEgcHJvbXB0IHdpdGggZW1wdHkgZGF0YVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dFbXB0eSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2hvd0VtcHR5ID8/IHRydWUsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQm9vbGVhblxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlbDmja7kuLrnqbrnmoTmj5DnpLrlm77niYflnLDlnYDmiJboh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgUGljdHVyZSBhZGRyZXNzIG9yIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGVtcHR5SW1nID0gaW5wdXQ8WFRlbXBsYXRlIHwgdW5kZWZpbmVkPih0aGlzLmNvbmZpZz8uZW1wdHlJbWcgPz8gdW5kZWZpbmVkKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pWw5o2u5Li656m655qE5o+Q56S65YaF5a655oiW6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIENvbnRlbnQgb3IgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZW1wdHlDb250ZW50ID0gaW5wdXQ8WFRlbXBsYXRlIHwgdW5kZWZpbmVkPih0aGlzLmNvbmZpZz8uZW1wdHlDb250ZW50ID8/IHVuZGVmaW5lZCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemhteeggVxyXG4gICAqIEBlbl9VUyBDdXJyZW50IHBhZ2UgbnVtYmVyXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaW5kZXggPSBtb2RlbDxudW1iZXI+KHRoaXMuY29uZmlnPy5pbmRleCA/PyAxKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q+P6aG15pi+56S65p2h5pWwXHJcbiAgICogQGVuX1VTIE51bWJlciBvZiBpdGVtcyBkaXNwbGF5ZWQgcGVyIHBhZ2VcclxuICAgKi9cclxuICByZWFkb25seSBzaXplID0gbW9kZWw8bnVtYmVyPih0aGlzLmNvbmZpZz8uc2l6ZSA/PyAxMCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaAu+aVsFxyXG4gICAqIEBlbl9VUyBUb3RhbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHRvdGFsID0gbW9kZWw8bnVtYmVyPigwKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5p+l6K+i5p2h5Lu2XHJcbiAgICogQGVuX1VTIFF1ZXJ5IGNvbmRpdGlvbnNcclxuICAgKi9cclxuICByZWFkb25seSBxdWVyeSA9IG1vZGVsPFhRdWVyeT4oe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmnIDlpJrmmL7npLrnmoTliIbpobXmlbDph49cclxuICAgKiBAZW5fVVMgVGhlIGxhcmdlc3QgbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXlcclxuICAgKi9cclxuICByZWFkb25seSBwYWdlTGlua1NpemUgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KHRoaXMuY29uZmlnPy5wYWdlTGlua1NpemUgPz8gNSwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66aaW5bC+6aG16Lez6L2sXHJcbiAgICogQGVuX1VTIERpc3BsYXkgdGhlIGZpcnN0IGFuZCBsYXN0IHBhZ2VcclxuICAgKi9cclxuICByZWFkb25seSBzaG93RWxsaXBzaXMgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNob3dFbGxpcHNpcyA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65oC75p2h5pWwXHJcbiAgICogQGVuX1VTIERpc3BsYXkgdGhlIHRvdGFsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2hvd1RvdGFsID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5zaG93VG90YWwgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaMiemSrumXtOi3nVxyXG4gICAqIEBlbl9VUyBCdXR0b24gc3BhY2luZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNwYWNlID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uc3BhY2UgPz8gJzAuMjVyZW0nLCB7IHRyYW5zZm9ybTogWFRvQ3NzUGl4ZWxWYWx1ZSB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5re75Yqg6IOM5pmv6ImyXHJcbiAgICogQGVuX1VTIFNob3cgYmFja2dyb3VuZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dCYWNrZ3JvdW5kID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5zaG93QmFja2dyb3VuZCA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWIhumhteadoeaVsFxyXG4gICAqIEBlbl9VUyBTaG93IHNpemVcclxuICAgKi9cclxuICByZWFkb25seSBzaG93U2l6ZSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2hvd1NpemUgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliIbpobXmnaHmlbDpgInmi6nmoYbnmoTlrr3luqZcclxuICAgKiBAZW5fVVMgc2l6ZSB3aXRoIHNlbGVjdFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNpemVXaWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnNpemVXaWR0aCA/PyAnNi44NzVyZW0nLCB7IHRyYW5zZm9ybTogWFRvQ3NzUGl4ZWxWYWx1ZSB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L6T5YWl5YiG6aG15p2h5pWw77yI5LiN6IO96Lef5LiL5ouJ6YCJ6aG55ZCM5pe25L2/55So77yJXHJcbiAgICogQGVuX1VTIERpc3BsYXkgdGhlIG51bWJlciBvZiBpbnB1dCBwYWdlIGJyZWFrcyAoY2Fubm90IGV4aXN0IHdpdGggdGhlIGRyb3AtZG93biBvcHRpb25zIG9mIHBhZ2UgYnJlYWtzKVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNob3dJbnB1dFNpemUgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNob3dJbnB1dFNpemUgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXliIbpobXmoYbnmoQgdG9vbHRpcCDmj5DnpLrkv6Hmga/vvIzpu5jorqTmoLnmja7ovpPlhaXnoa7orqTmlLnlj5jnmoTmlrnlvI/mnaXmmL7npLpcclxuICAgKiBAZW5fVVMgRW50ZXIgdGhlIHRvb2x0aXAgcHJvbXB0IGluZm9ybWF0aW9uIGZvciB0aGUgcGFnaW5hdGlvbiBib3gsIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkIGJ5IGRlZmF1bHQgYmFzZWQgb24gdGhlIGNvbmZpcm1hdGlvbiBvZiB0aGUgaW5wdXRcclxuICAgKi9cclxuICByZWFkb25seSBpbnB1dFNpemVUb29sdGlwVGV4dCA9IGlucHV0PHN0cmluZz4odGhpcy5jb25maWc/LmlucHV0U2l6ZVRvb2x0aXBUZXh0ID8/ICcnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG6aG15p2h5pWw6L6T5YWl5qGG55qE5a695bqmXHJcbiAgICogQGVuX1VTIHNpemUgd2l0aCBpbnB1dFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGlucHV0U2l6ZVdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uc2l6ZVdpZHRoID8/ICczLjEyNXJlbScsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQ3NzUGl4ZWxWYWx1ZVxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliIbpobXpgInmi6nnmoTmlbDmja7poblcclxuICAgKiBAZW5fVVMgUGFnaW5nIGNob29zZSBpdGVtcyBvZiBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2l6ZURhdGEgPSBpbnB1dDxYRGF0YUFycmF5PFhTZWxlY3ROb2RlPj4odGhpcy5jb25maWc/LnNpemVEYXRhID8/IFhQYWdpbmF0aW9uU2l6ZURhdGEpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjmlbTkuKrliIbpobVcclxuICAgKiBAZW5fVVMgZGlzYWJsZWRcclxuICAgKi9cclxuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui3s+i9rOi+k+WFpeahhlxyXG4gICAqIEBlbl9VUyBTaG93IHNpemVcclxuICAgKi9cclxuICByZWFkb25seSBzaG93SnVtcCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi3s+i9rOi+k+WFpeahhueahCB0b29sdGlwIOaPkOekuuS/oeaBr++8jOm7mOiupOagueaNrui+k+WFpeehruiupOaUueWPmOeahOaWueW8j+adpeaYvuekulxyXG4gICAqIEBlbl9VUyBUaGUgdG9vbHRpcCBwcm9tcHQgaW5mb3JtYXRpb24gZm9yIGp1bXBpbmcgdG8gdGhlIGlucHV0IGJveCBpcyBkaXNwbGF5ZWQgYnkgZGVmYXVsdCBiYXNlZCBvbiB0aGUgY29uZmlybWF0aW9uIG9mIGlucHV0IGNoYW5nZXNcclxuICAgKi9cclxuICByZWFkb25seSBqdW1wVG9vbHRpcFRleHQgPSBpbnB1dDxzdHJpbmc+KHRoaXMuY29uZmlnPy5qdW1wVG9vbHRpcFRleHQgPz8gJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDot7PovazpobXnmoTlrr3luqZcclxuICAgKiBAZW5fVVMgc2l6ZSB3aXRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkganVtcFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uanVtcFdpZHRoID8/ICczLjEyNXJlbScsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmgLvmlbDoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgVG90YWwgdGVtcGxhdGVcclxuICAgKi9cclxuICByZWFkb25seSB0b3RhbFRwbCA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g566A5Y2V5YiG6aG1XHJcbiAgICogQGVuX1VTIFNpbXBsZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNpbXBsZSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2ltcGxlID8/IGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g566A5Y2V5YiG6aG16L6T5YWl5qGG5a695bqmXHJcbiAgICogQGVuX1VTIFNpbXBsZSBpbmRleCB3aXRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2ltcGxlSW5kZXhXaWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnNpbXBsZUluZGV4V2lkdGggPz8gJzguMTI1cmVtJywge1xyXG4gICAgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlXHJcbiAgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeehruiupOaUueWPmOeahOaWueW8j++8jOmSiOWvuei+k+WFpeWIhumhteWkp+Wwj+WSjOi+k+WFpei3s+i9rOmhtVxyXG4gICAqIEBlbl9VUyBUaGUgbWV0aG9kIGZvciBjb25maXJtaW5nIGNoYW5nZXMgaW4gaW5wdXQgaXMgYmFzZWQgb24gdGhlIGlucHV0IHBhZ2Ugc2l6ZSBhbmQgaW5wdXQganVtcCBwYWdlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaW5wdXRJbmRleFNpemVTdXJlVHlwZSA9IGlucHV0PFhQYWdpbmF0aW9uSW5wdXRJbmRleFNpemVTdXJlVHlwZT4oXHJcbiAgICB0aGlzLmNvbmZpZz8uaW5wdXRJbmRleFNpemVTdXJlVHlwZSA/PyAnZW50ZXInXHJcbiAgKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05ouW5Yqo5byA5aeL5LqL5Lu277yM6L+U5Zue5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIENvbHVtbiBIZWFkZXIgRHJhZyBFbmQgRXZlbnRcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5EcmFnU3RhcnRlZCA9IG91dHB1dDxYVGFibGVDb2x1bW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WktOaLluWKqOe7k+adn+S6i+S7tu+8jOi/lOWbnuaLluWKqOeahOWIl1xyXG4gICAqIEBlbl9VUyBUaGUgY29sdW1uIGhlYWRlciBpcyBkcmFnZ2luZywgYW5kIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgb3JkZXIgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtbkRyYWdFbmRlZCA9IG91dHB1dDxYVGFibGVDb2x1bW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+eUqOaIt+aKiuS4gOS4quadoeebruaKleaUvui/m+ivpeWuueWZqOaXtuWwseS8muinpuWPke+8jOaLluWKqOaUvuW8gOeahOS6i+S7tu+8jOi/lOWbnuaLluWKqOaOkuW6j+WQjueahOWIl+aVsOaNrlxyXG4gICAqIEBlbl9VUyBUaGUgY29sdW1uIGhlYWRlciBpcyBkcmFnZ2luZywgYW5kIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgb3JkZXIgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtbkRyb3BMaXN0RHJvcHBlZCA9IG91dHB1dDxYVGFibGVDb2x1bW5bXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5aeL5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIHN0YXJ0ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5EcmFnV2lkdGhTdGFydGVkID0gb3V0cHV0PFhUYWJsZURyYWdXaWR0aEV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjmi5bliqjliJflrr3ml7bnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gbW92ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICByZWFkb25seSBjb2x1bW5EcmFnV2lkdGhNb3ZlZCA9IG91dHB1dDxYVGFibGVEcmFnV2lkdGhFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g57uT5p2f5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIGVuZGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY29sdW1uRHJhZ1dpZHRoRW5kZWQgPSBvdXRwdXQ8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVSb3cgZXh0ZW5kcyBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eTxYVGFibGVSb3c+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byAXHJcbiAgICogQGVuX1VTIFVuZm9sZFxyXG4gICAqL1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiX5Y+C5pWwXHJcbiAqIEBlbl9VUyBDb2x1bW4gcGFyYW1ldGVyXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNvbHVtbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVzIG9mXHJcbiAgICovXHJcbiAgdHlwZT86IFhDb2x1bW5UeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICB3aWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDlrr3luqZcclxuICAgKiBAZW5fVVMgRmxleCBsYXlvdXQgd2lkdGhcclxuICAgKi9cclxuICBmbGV4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmn6Xor6LlrZfmrrVcclxuICAgKiBAZW5fVVMgUXVlcnkgZmllbGRcclxuICAgKi9cclxuICBzZWFyY2g/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/lrZfmrrVcclxuICAgKiBAZW5fVVMgU29ydCBmaWVsZFxyXG4gICAqL1xyXG4gIHNvcnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaTjeS9nOaMiemSrlxyXG4gICAqIEBlbl9VUyBPcGVyYXRpb24gYnV0dG9uXHJcbiAgICovXHJcbiAgYWN0aW9uPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogY2hlY2tib3gg5pe257uR5a6a6KGM54K55Ye76YCJ5Lit5LqL5Lu2XHJcbiAgICogQGVuX1VTIEJpbmQgcm93IGNsaWNrIHNlbGVjdGlvbiBldmVudCB3aGVuIHR5cGUgaXMgY2hlY2tib3hcclxuICAgKi9cclxuICByb3dDaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogZXhwYW5kIOaXtue7keWumuihjOeCueWHu+WxleW8gOS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGV4cGFuZFxyXG4gICAqL1xyXG4gIHJvd0V4cGFuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBUZXh0IGFsaWdubWVudFxyXG4gICAqL1xyXG4gIHRleHRBbGlnbj86IFhUZXh0QWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+Wuve+8jOmcgOimgeiuvue9ruWIl+eahOWIneWni+WuveW6piB3aWR0aFxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGgsIHlvdSBuZWVkIHRvIHNldCB0aGUgaW5pdGlhbCB3aWR0aCBvZiB0aGUgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5Zyo5ouW5Yqo5YiX5a69XHJcbiAgICogQGVuX1VTIERyYWdnaW5nIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ2dpbmdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWni+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBzdGFydGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoU3RhcnRlZD86IChldmVudDogWFRhYmxlRHJhZ1dpZHRoRXZlbnQpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuveaXtueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBtb3ZlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aE1vdmVkPzogKGV2ZW50OiBYVGFibGVEcmFnV2lkdGhFdmVudCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g57uT5p2f5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIGVuZGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoRW5kZWQ/OiAoZXZlbnQ6IFhUYWJsZURyYWdXaWR0aEV2ZW50KSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJdcclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uXHJcbiAgICovXHJcbiAgZHJhZ0NvbHVtbj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl1xyXG4gICAqIEBlbl9VUyBEcmFnZ2luZyBjb2x1bW5cclxuICAgKi9cclxuICBkcmFnZ2luZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWktOmDqOaYvuekuiBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBIZWFkIHNob3dzIGNoZWNrYm94XHJcbiAgICovXHJcbiAgaGVhZENoZWNrZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpLTpg6jmmL7npLogZXhwYW5kXHJcbiAgICogQGVuX1VTIEhlYWQgc2hvd3MgZXhwYW5kXHJcbiAgICovXHJcbiAgaGVhZEV4cGFuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktOWuveW6puaLluWKqOS6i+S7tlxyXG4gKiBAZW5fVVMgQ29sdW1uIGhlYWRlciB3aWR0aCBkcmFnIGV2ZW50XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZURyYWdXaWR0aEV2ZW50IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIERyYWdnZWQgY29sdW1uXHJcbiAgICovXHJcbiAgY29sdW1uOiBYVGFibGVDb2x1bW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+S9jee9ru+8jOato+WcqOaLluWKqOeahOaXtuWAmeaMh+WBj+enu+S9jee9rlxyXG4gICAqIEBlbl9VUyBUaGUgY29sdW1uIHBvc2l0aW9uIHJlZmVycyB0byB0aGUgb2Zmc2V0IHBvc2l0aW9uIHdoZW4gZHJhZ2dpbmdcclxuICAgKi9cclxuICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktCBjaGVja2JveCDkuovku7bmlbDmja5cclxuICogQGVuX1VTIENvbHVtbiBoZWFkZXIgY2hlY2tib3ggZXZlbnQgZGF0YVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVIZWFkQ2hlY2tib3gge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICByb3dzOiBYVGFibGVSb3dbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5pWw5o2uXHJcbiAgICogQGVuX1VTIENoZWNrYm94IGRhdGFcclxuICAgKi9cclxuICBjaGVja2JveDogeyBbcHJvcGVydHk6IHN0cmluZ106IGJvb2xlYW4gfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICogQGVuX1VTIENlbGwgY29uZmlnXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGxDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ29sdW1uIGNlbGwgY29uZmlnXHJcbiAgICovXHJcbiAgdGhlYWQ/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIFJvdyBjb25maWdcclxuICAgKi9cclxuICB0Ym9keT86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWNleWFg+agvOmFjee9ruinhOWImVxyXG4gKiBAZW5fVVMgQ2VsbCBjb25maWcgcnVsZXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlQ2VsbENvbmZpZ1J1bGUge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBncmlkIOW4g+WxgOS4i+WumuS5ieWIl+WuveW6plxyXG4gICAqIEBlbl9VUyBEZWZpbmUgY29sdW1uIHdpZHRoIHVuZGVyIGdyaWQgbGF5b3V0XHJcbiAgICovXHJcbiAgZ3JpZFRlbXBsYXRlQ29sdW1ucz86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgbWVyZ2UgcnVsZXNcclxuICAgKi9cclxuICBjZWxscz86IFhUYWJsZUNlbGxbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzlkIjlubbphY3nva5cclxuICogQGVuX1VTIENlbGwgbWVyZ2UgcnVsZXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlQ2VsbCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS9v+eUqCBncmlkIOW4g+WxgOadpeWQiOW5tuWNleWFg+agvFxyXG4gICAqIEBlbl9VUyBVc2UgZ3JpZCBsYXlvdXQgdG8gbWVyZ2UgY2VsbHNcclxuICAgKi9cclxuICBncmlkQXJlYT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5ZCN56ewXHJcbiAgICogQGVuX1VTIE5hbWVcclxuICAgKi9cclxuICBsYWJlbD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIFdpZHRoXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbuuWumuWIl++8jOi3neemu+W3pui+ueeahOi3neemu1xyXG4gICAqIEBlbl9VUyBGaXhlZCBjb2x1bW4sIGRpc3RhbmNlIGZyb20gbGVmdFxyXG4gICAqL1xyXG4gIGxlZnQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbuuWumuWIl++8jOi3neemu+WPs+i+ueeahOi3neemu1xyXG4gICAqIEBlbl9VUyBGaXhlZCBjb2x1bW4sIGRpc3RhbmNlIGZyb20gcmlnaHRcclxuICAgKi9cclxuICByaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a+55bqU5YiX55qEIGlkXHJcbiAgICogQGVuX1VTIFRoZSBpZCBvZiB0aGUgY29ycmVzcG9uZGluZyBjb2x1bW5cclxuICAgKi9cclxuICBpZD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5YiX5a69XHJcbiAgICogQGVuX1VTIERyYWcgdGhlIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+exu+Wei1xyXG4gKiBAZW5fVVMgQ29sdW1uIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhDb2x1bW5UeXBlID0gJ2xhYmVsJyB8ICdpbmRleCcgfCAnY2hlY2tib3gnIHwgJ2V4cGFuZCc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktOaYvuekuuS9jee9rlxyXG4gKiBAZW5fVVMgTGluZSBoZWFkIGRpc3BsYXkgcG9zaXRpb25cclxuICovXHJcbmV4cG9ydCB0eXBlIFhUYWJsZUhlYWRlclBvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJyB8ICd0b3AtYm90dG9tJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiG6aG15Zmo5L2N572uXHJcbiAqIEBlbl9VUyBQYWdpbmcgcG9zaXRpb25cclxuICovXHJcbmV4cG9ydCB0eXBlIFhQYWdpbmF0aW9uUG9zaXRpb24gPVxyXG4gIHwgJ3RvcC1sZWZ0J1xyXG4gIHwgJ3RvcC1jZW50ZXInXHJcbiAgfCAndG9wLXJpZ2h0J1xyXG4gIHwgJ2JvdHRvbS1sZWZ0J1xyXG4gIHwgJ2JvdHRvbS1jZW50ZXInXHJcbiAgfCAnYm90dG9tLXJpZ2h0JztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5qih5p2/XHJcbiAqIEBlbl9VUyBUZW1wbGF0ZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFRhYmxlVGVtcGxhdGUgPSB7IFtwcm9wZXJ0eTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PiB9O1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEhlYWRcclxuICogQHNlbGVjdG9yIHgtdGFibGUtaGVhZFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZUhlYWRQcmVmaXggPSAneC10YWJsZS1oZWFkJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBIZWFkIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hUYWJsZUhlYWRQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVIZWFkUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtbnMgPSBpbnB1dDxYVGFibGVDb2x1bW5bXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqbvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVpZ2h0IGluIHB4XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcm93SGVpZ2h0ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPig0MiwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtblRwbCA9IGlucHV0PFhUYWJsZVRlbXBsYXRlPih7fSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOerluWQkea7muWKqOadoeWuveW6plxyXG4gICAqIEBlbl9VUyBWZXJ0aWNhbCBzY3JvbGwgYmFyIHdpZHRoXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2Nyb2xsWVdpZHRoID0gaW5wdXQ8bnVtYmVyIHwgbnVsbCwgWE51bWJlcj4obnVsbCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qiq5ZCR5rua5Yqo5p2h5a695bqmXHJcbiAgICogQGVuX1VTIEhvcml6b250YWwgc2Nyb2xsIGJhciB3aWR0aFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNjcm9sbFhXaWR0aCA9IGlucHV0PG51bWJlciB8IG51bGwsIFhOdW1iZXI+KG51bGwsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2VsbENvbmZpZyA9IGlucHV0PFhUYWJsZUNlbGxDb25maWdSdWxlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTkvY3nva5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8c3RyaW5nPigpO1xyXG59XHJcblxyXG4vKipcclxuICogVGFibGUgQm9keVxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1ib2R5XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlQm9keVByZWZpeCA9ICd4LXRhYmxlLWJvZHknO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEJvZHkgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WFRhYmxlQm9keVByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUJvZHlQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRhdGEgPSBpbnB1dDxYVGFibGVSb3dbXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvbHVtbnMgPSBpbnB1dDxYVGFibGVDb2x1bW5bXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY29sdW1uVHBsID0gaW5wdXQ8WFRhYmxlVGVtcGxhdGU+KHt9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFjdGl2YXRlZFJvdyA9IG1vZGVsPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqm77yM5Y2V5L2NIHB444CC6K6+572u5Li6IDAg6KGo56S66KGM6auY6Ieq6YCC5bqU5YaF5a656auY5bqm44CCXHJcbiAgICogQGVuX1VTIEhlaWdodCBpbiBweC4gc2V0IHRvIDAgbWVhbnMgdGhhdCB0aGUgcm93IGhlaWdodCBpcyBhZGFwdGl2ZSB0byB0aGUgY29udGVudCBoZWlnaHRcclxuICAgKi9cclxuICByZWFkb25seSByb3dIZWlnaHQgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KDQyLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYm9keUhlaWdodCA9IGlucHV0PG51bWJlciB8IG51bGwsIFhOdW1iZXI+KG51bGwsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4rVxyXG4gICAqIEBlbl9VUyBBbGxvdyByb3cgY2xpY2sgdG8gc2VsZWN0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYWxsb3dTZWxlY3RSb3cgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdmlydHVhbFNjcm9sbCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaXRlbVNpemUgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KDQyLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1pbkJ1ZmZlclB4ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPigxMDAsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICByZWFkb25seSBtYXhCdWZmZXJQeCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4oMjAwLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rpgILlupTpq5jluqbvvIx0YWJsZSDpq5jluqbnrYnkuo7lsY/luZXpq5jluqblh4/mjonmraTlpITorr7nva7nmoTmlbDlgLxcclxuICAgKiBAZW5fVVMgQWRhcHRpdmUgaGVpZ2h0LCB0YWJsZSBoZWlnaHQgaXMgZXF1YWwgdG8gdGhlIHNjcmVlbiBoZWlnaHQgbWludXMgdGhlIHZhbHVlIHNldCBoZXJlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYWRhcHRpb25IZWlnaHQgPSBpbnB1dDxudW1iZXIgfCBudWxsLCBYTnVtYmVyPihudWxsLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgRG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgYnkgcG9wLXVwIHdpbmRvdyBwZXJjZW50YWdlIGhlaWdodFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRvY1BlcmNlbnQgPSBpbnB1dDxudW1iZXIsIFhOdW1iZXI+KDEsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa7muWKqOWMuuWfn+mrmOWuvVxyXG4gICAqIEBlbl9VUyBIZWlnaHQgYW5kIHdpZHRoIG9mIHJvbGxpbmcgYXJlYVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNjcm9sbCA9IGlucHV0PHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572u6KeE5YiZXHJcbiAgICogQGVuX1VTIENlbGwgY29uZmlnIHJ1bGVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2VsbENvbmZpZyA9IGlucHV0PFhUYWJsZUNlbGxDb25maWdSdWxlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJvd0NsYXNzID0gaW5wdXQ8KHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85LiL55qE5bGC57qnXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCB1bmRlciB0aGUgdHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGxldmVsID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPigwLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLzlsZXlvIDmiYDmnInoioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGV4cGFuZGVkQWxsID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGV5byA5YaF5a65XHJcbiAgICogQGVuX1VTIEN1c3RvbWl6ZWQgZXhwYW5zaW9uIGNvbnRlbnRcclxuICAgKi9cclxuICByZWFkb25seSBleHBhbmRUcGwgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBGb290XHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlLWZvb3RcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVGb290UHJlZml4ID0gJ3gtdGFibGUtZm9vdCc7XHJcblxyXG4vKipcclxuICogVGFibGUgRm9vdCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYVGFibGVGb290UHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlRm9vdFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG15bC+XHJcbiAgICogQGVuX1VTIFRhYmxlIGZvb3RlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGZvb3RlciA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHJvd0hlaWdodCA9IGlucHV0PG51bWJlciB8IG51bGwsIFhOdW1iZXI+KG51bGwsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbn1cclxuIl19
@@ -8,10 +8,10 @@ export class XTabContentComponent {
8
8
  this.active = input(false, { transform: XToBoolean });
9
9
  this._has = true;
10
10
  }
11
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XTabContentComponent, isStandalone: true, selector: "x-tab-content", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.x-tab-content": "this._has" } }, ngImport: i0, template: "@if (active()) {\r\n <ng-template *ngTemplateOutlet=\"content()!\"></ng-template>\r\n}\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTabContentComponent, isStandalone: true, selector: "x-tab-content", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.x-tab-content": "this._has" } }, ngImport: i0, template: "@if (active()) {\r\n <ng-template *ngTemplateOutlet=\"content()!\"></ng-template>\r\n}\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabContentComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabContentComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'x-tab-content', preserveWhitespaces: false, standalone: true, imports: [NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (active()) {\r\n <ng-template *ngTemplateOutlet=\"content()!\"></ng-template>\r\n}\r\n" }]
17
17
  }], propDecorators: { _has: [{
@@ -5,10 +5,10 @@ export class XTabLinkTemplateDirective {
5
5
  constructor(templateRef) {
6
6
  this.templateRef = templateRef;
7
7
  }
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabLinkTemplateDirective, deps: [{ token: i0.TemplateRef, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
9
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XTabLinkTemplateDirective, isStandalone: true, selector: "ng-template[xTabLink]", exportAs: ["xTabLinkTemplate"], ngImport: i0 }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabLinkTemplateDirective, deps: [{ token: i0.TemplateRef, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: XTabLinkTemplateDirective, isStandalone: true, selector: "ng-template[xTabLink]", exportAs: ["xTabLinkTemplate"], ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabLinkTemplateDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabLinkTemplateDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'ng-template[xTabLink]',
@@ -24,10 +24,10 @@ export class XTabLinkDirective {
24
24
  this.routerLink = routerLink;
25
25
  this.routerLinkWithHref = routerLinkWithHref;
26
26
  }
27
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabLinkDirective, deps: [{ token: i0.ElementRef }, { token: i1.RouterLink, optional: true, self: true }, { token: i1.RouterLink, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
28
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XTabLinkDirective, isStandalone: true, selector: "a[x-tab-link]", exportAs: ["xTabLink"], ngImport: i0 }); }
27
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabLinkDirective, deps: [{ token: i0.ElementRef }, { token: i1.RouterLink, optional: true, self: true }, { token: i1.RouterLink, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
28
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: XTabLinkDirective, isStandalone: true, selector: "a[x-tab-link]", exportAs: ["xTabLink"], ngImport: i0 }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabLinkDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabLinkDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: 'a[x-tab-link]',
@@ -9,10 +9,10 @@ export class XTabComponent extends XTabProperty {
9
9
  this.linkTemplateDirective = contentChild(XTabLinkTemplateDirective);
10
10
  this.linkDirective = contentChild(XTabLinkDirective);
11
11
  }
12
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.6", type: XTabComponent, isStandalone: true, selector: "x-tab", queries: [{ propertyName: "linkTemplateDirective", first: true, predicate: XTabLinkTemplateDirective, descendants: true, isSignal: true }, { propertyName: "linkDirective", first: true, predicate: XTabLinkDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTpl"], descendants: true, read: TemplateRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #tabLinkTpl>\r\n <ng-content select=\"[x-tab-link]\"></ng-content>\r\n</ng-template>\r\n<ng-template #contentTpl>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.2", type: XTabComponent, isStandalone: true, selector: "x-tab", queries: [{ propertyName: "linkTemplateDirective", first: true, predicate: XTabLinkTemplateDirective, descendants: true, isSignal: true }, { propertyName: "linkDirective", first: true, predicate: XTabLinkDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTpl"], descendants: true, read: TemplateRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #tabLinkTpl>\r\n <ng-content select=\"[x-tab-link]\"></ng-content>\r\n</ng-template>\r\n<ng-template #contentTpl>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XTabComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTabComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: `${XTabPrefix}`, standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #tabLinkTpl>\r\n <ng-content select=\"[x-tab-link]\"></ng-content>\r\n</ng-template>\r\n<ng-template #contentTpl>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n" }]
18
18
  }] });