@tetacom/ng-components 1.1.42 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/.eslintrc.json +16 -10
  2. package/README.md +3 -20
  3. package/component/accordion/accordion/accordion.component.d.ts +1 -1
  4. package/component/accordion/accordion-content.directive.d.ts +1 -1
  5. package/component/accordion/accordion-head/accordion-head.component.d.ts +1 -1
  6. package/component/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  7. package/component/accordion/public-api.d.ts +0 -1
  8. package/component/autocomplete/autocomplete/autocomplete.component.d.ts +1 -1
  9. package/component/autocomplete/public-api.d.ts +0 -1
  10. package/component/avatar/avatar/avatar.component.d.ts +1 -1
  11. package/component/avatar/public-api.d.ts +0 -1
  12. package/component/button/button/button.component.d.ts +1 -1
  13. package/component/button/public-api.d.ts +0 -1
  14. package/component/chart-3d/chart3d/chart3d.component.d.ts +1 -1
  15. package/component/chart-3d/public-api.d.ts +0 -1
  16. package/component/checkbox/checkbox/checkbox.component.d.ts +1 -1
  17. package/component/checkbox/public-api.d.ts +0 -1
  18. package/component/date-picker/base-picker.d.ts +1 -1
  19. package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +1 -1
  20. package/component/date-picker/date-picker/date-picker.component.d.ts +1 -1
  21. package/component/date-picker/date-range/date-range.component.d.ts +1 -1
  22. package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +3 -3
  23. package/component/date-picker/day-picker/day-item/day-item.component.d.ts +1 -1
  24. package/component/date-picker/day-picker/day-picker.component.d.ts +2 -2
  25. package/component/date-picker/month-picker/month-picker.component.d.ts +1 -1
  26. package/component/date-picker/public-api.d.ts +0 -1
  27. package/component/date-picker/year-picker/scroll-to-selected-year.directive.d.ts +1 -1
  28. package/component/date-picker/year-picker/year-picker.component.d.ts +1 -1
  29. package/component/delimiter/delimiter/delimiter.component.d.ts +1 -1
  30. package/component/delimiter/public-api.d.ts +0 -1
  31. package/component/divider/divider/divider.component.d.ts +1 -1
  32. package/component/divider/public-api.d.ts +0 -1
  33. package/component/dropdown/dropdown/dropdown.component.d.ts +1 -1
  34. package/component/dropdown/dropdown-content.directive.d.ts +1 -1
  35. package/component/dropdown/dropdown-head.directive.d.ts +1 -1
  36. package/component/dropdown/dropdown.directive.d.ts +1 -1
  37. package/component/dropdown/public-api.d.ts +0 -1
  38. package/component/dynamic-component/popup-content/popup-content.component.d.ts +1 -1
  39. package/component/dynamic-component/public-api.d.ts +0 -1
  40. package/component/expand-card/expand-card/expand-card.component.d.ts +1 -1
  41. package/component/expand-card/expand-item/expand-item.component.d.ts +1 -1
  42. package/component/expand-card/public-api.d.ts +0 -1
  43. package/component/expand-panel/expand-panel/expand-panel.component.d.ts +1 -1
  44. package/component/expand-panel/expand-panel-content.directive.d.ts +1 -1
  45. package/component/expand-panel/expand-panel-head.directive.d.ts +1 -1
  46. package/component/expand-panel/public-api.d.ts +0 -1
  47. package/component/file-upload/file-item/file-item.component.d.ts +1 -1
  48. package/component/file-upload/file-upload-area/file-upload-area.component.d.ts +1 -1
  49. package/component/file-upload/public-api.d.ts +0 -1
  50. package/component/filter/boolean-filter/boolean-filter.component.d.ts +1 -1
  51. package/component/filter/date-filter/date-filter.component.d.ts +1 -1
  52. package/component/filter/filter-host/filter-host.component.d.ts +1 -1
  53. package/component/filter/list-filter/list-filter.component.d.ts +1 -1
  54. package/component/filter/numeric-filter/numeric-filter.component.d.ts +1 -1
  55. package/component/filter/public-api.d.ts +0 -1
  56. package/component/filter/string-filter/string-filter.component.d.ts +1 -1
  57. package/component/icon/icon/icon.component.d.ts +1 -1
  58. package/component/icon/icon-file/icon-file.component.d.ts +1 -1
  59. package/component/icon/icon-sprite.directive.d.ts +1 -1
  60. package/component/icon/public-api.d.ts +0 -2
  61. package/component/input/color-input/color-input.component.d.ts +1 -1
  62. package/component/input/form-group-title/form-group-title.component.d.ts +1 -1
  63. package/component/input/input/input.component.d.ts +1 -1
  64. package/component/input/public-api.d.ts +1 -1
  65. package/component/input/text-field/text-field.component.d.ts +1 -1
  66. package/component/message/message/message.component.d.ts +1 -1
  67. package/component/message/message-host/message-host.component.d.ts +1 -1
  68. package/component/message/public-api.d.ts +0 -1
  69. package/component/modal/dialog/dialog.component.d.ts +1 -1
  70. package/component/modal/modal-container/modal-container.component.d.ts +1 -1
  71. package/component/modal/modal.module.d.ts +5 -8
  72. package/component/pager/pager/pager.component.d.ts +1 -1
  73. package/component/pager/public-api.d.ts +0 -1
  74. package/component/panel/panel/panel.component.d.ts +1 -1
  75. package/component/panel/public-api.d.ts +0 -1
  76. package/component/progress-bar/progress-bar/progress-bar.component.d.ts +1 -1
  77. package/component/progress-bar/public-api.d.ts +0 -1
  78. package/component/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +1 -1
  79. package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +1 -1
  80. package/component/property-grid/property-grid/property-grid-item-description.directive.d.ts +1 -1
  81. package/component/property-grid/property-grid/property-grid.component.d.ts +1 -1
  82. package/component/property-grid/property-grid.module.d.ts +8 -16
  83. package/component/public-api.d.ts +0 -1
  84. package/component/radio/public-api.d.ts +0 -1
  85. package/component/radio/radio/radio.component.d.ts +3 -4
  86. package/component/radio/radio-button/radio-button.component.d.ts +1 -1
  87. package/component/resize-panel/public-api.d.ts +0 -1
  88. package/component/resize-panel/resize-panel/resize-panel.component.d.ts +1 -1
  89. package/component/select/public-api.d.ts +0 -1
  90. package/component/select/select/select.component.d.ts +1 -1
  91. package/component/select/select-option.directive.d.ts +1 -1
  92. package/component/select/select-value.directive.d.ts +1 -1
  93. package/component/sidebar/public-api.d.ts +0 -1
  94. package/component/sidebar/sidebar/sidebar.component.d.ts +1 -1
  95. package/component/switch/public-api.d.ts +0 -1
  96. package/component/switch/switch/switch.component.d.ts +1 -1
  97. package/component/switch/switch-button/switch-button.component.d.ts +1 -1
  98. package/component/table/cell/cell.component.d.ts +1 -1
  99. package/component/table/cell-host/cell-host.component.d.ts +1 -1
  100. package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -1
  101. package/component/table/default/date-cell/date-cell.component.d.ts +1 -1
  102. package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -1
  103. package/component/table/default/default-head-cell/default-head-cell.component.d.ts +1 -1
  104. package/component/table/default/list-cell/list-cell.component.d.ts +1 -1
  105. package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -1
  106. package/component/table/default/string-cell/string-cell.component.d.ts +1 -1
  107. package/component/table/head-cell/head-cell.component.d.ts +1 -1
  108. package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +1 -1
  109. package/component/table/head-cell-host/head-cell-host.component.d.ts +1 -1
  110. package/component/table/public-api.d.ts +0 -1
  111. package/component/table/selection-cell/selection-cell.component.d.ts +1 -1
  112. package/component/table/selection-head-cell/selection-head-cell.component.d.ts +1 -1
  113. package/component/table/table/table.component.d.ts +1 -1
  114. package/component/table/table-body/table-body.component.d.ts +1 -1
  115. package/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.d.ts +1 -1
  116. package/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.d.ts +1 -1
  117. package/component/table/table-head/table-head.component.d.ts +1 -1
  118. package/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.d.ts +2 -2
  119. package/component/table/table-head-group/table-head-group.component.d.ts +1 -1
  120. package/component/tabs/public-api.d.ts +0 -1
  121. package/component/tabs/tab/tab.component.d.ts +1 -1
  122. package/component/tabs/tab-content.directive.d.ts +1 -1
  123. package/component/tabs/tab-title.directive.d.ts +1 -1
  124. package/component/tabs/tabs/tabs.component.d.ts +1 -1
  125. package/component/theme-switch/public-api.d.ts +0 -1
  126. package/component/theme-switch/theme-switch/theme-switch.component.d.ts +1 -1
  127. package/component/toggle/public-api.d.ts +0 -1
  128. package/component/toggle/toggle/toggle.component.d.ts +1 -1
  129. package/component/toolbar/public-api.d.ts +0 -1
  130. package/component/toolbar/toolbar/toolbar.component.d.ts +1 -1
  131. package/component/tree/public-api.d.ts +0 -1
  132. package/component/tree/tree/tree.component.d.ts +1 -1
  133. package/component/tree/tree-item/tree-item.component.d.ts +1 -1
  134. package/component/tree/tree-item-toggle/tree-item-toggle.component.d.ts +1 -1
  135. package/directive/auto-position/auto-position.directive.d.ts +1 -1
  136. package/directive/auto-position/public-api.d.ts +0 -1
  137. package/directive/click-outside/click-outside.directive.d.ts +1 -1
  138. package/directive/click-outside/public-api.d.ts +0 -1
  139. package/directive/context-menu/context-menu.directive.d.ts +1 -1
  140. package/directive/context-menu/public-api.d.ts +0 -1
  141. package/directive/disable-control/disable-control.directive.d.ts +1 -1
  142. package/directive/disable-control/public-api.d.ts +0 -1
  143. package/directive/drag-drop/drag-container.directive.d.ts +1 -1
  144. package/directive/drag-drop/drag-placeholder.directive.d.ts +1 -1
  145. package/directive/drag-drop/drag-preview.directive.d.ts +1 -1
  146. package/directive/drag-drop/drag.directive.d.ts +1 -1
  147. package/directive/drag-drop/public-api.d.ts +0 -1
  148. package/directive/drag-sort/drag-sort-container.directive.d.ts +1 -1
  149. package/directive/drag-sort/drag-sort-item.directive.d.ts +1 -1
  150. package/directive/drag-sort/public-api.d.ts +0 -1
  151. package/directive/highlight/highlight.directive.d.ts +1 -1
  152. package/directive/highlight/public-api.d.ts +0 -1
  153. package/directive/hint/hint.directive.d.ts +1 -1
  154. package/directive/hint/public-api.d.ts +0 -1
  155. package/directive/let/let.directive.d.ts +1 -1
  156. package/directive/let/public-api.d.ts +0 -1
  157. package/directive/loader/loader.directive.d.ts +1 -1
  158. package/directive/loader/public-api.d.ts +0 -1
  159. package/directive/no-autofill/no-autofill.directive.d.ts +1 -1
  160. package/directive/no-autofill/public-api.d.ts +0 -1
  161. package/directive/only-number/only-number.directive.d.ts +1 -1
  162. package/directive/only-number/public-api.d.ts +0 -1
  163. package/directive/resize-drag/public-api.d.ts +0 -1
  164. package/directive/resize-drag/resize-drag.directive.d.ts +1 -1
  165. package/directive/scroll-into-view/public-api.d.ts +0 -1
  166. package/directive/scroll-into-view/scroll-into-view.directive.d.ts +1 -1
  167. package/directive/scrollable/public-api.d.ts +0 -1
  168. package/directive/scrollable/scrollable/scrollable.component.d.ts +1 -1
  169. package/directive/scrollable/scrollable.directive.d.ts +1 -1
  170. package/directive/teta-template/public-api.d.ts +0 -1
  171. package/directive/teta-template/teta-template.directive.d.ts +1 -1
  172. package/directive/tooltip/public-api.d.ts +0 -1
  173. package/directive/tooltip/tooltip.directive.d.ts +1 -1
  174. package/docs/datePickerDocs.mdx +14 -59
  175. package/docs/dateRangeDocs.mdx +172 -0
  176. package/esm2022/common/contract/dynamic-data.mjs +1 -1
  177. package/esm2022/common/contract/teta-content-ref.mjs +1 -4
  178. package/esm2022/common/service/click.service.mjs +6 -9
  179. package/esm2022/common/service/dynamic-component.service.mjs +6 -10
  180. package/esm2022/common/service/overlay-container.service.mjs +7 -9
  181. package/esm2022/common/util/array-util.mjs +1 -1
  182. package/esm2022/common/util/dom-util.mjs +1 -1
  183. package/esm2022/common/util/position-util.mjs +1 -1
  184. package/esm2022/component/accordion/accordion/accordion.component.mjs +8 -6
  185. package/esm2022/component/accordion/accordion-content.directive.mjs +8 -8
  186. package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +13 -13
  187. package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +14 -17
  188. package/esm2022/component/accordion/public-api.mjs +1 -2
  189. package/esm2022/component/autocomplete/autocomplete/autocomplete.component.mjs +6 -6
  190. package/esm2022/component/autocomplete/public-api.mjs +1 -2
  191. package/esm2022/component/avatar/avatar/avatar.component.mjs +28 -32
  192. package/esm2022/component/avatar/public-api.mjs +1 -2
  193. package/esm2022/component/button/button/button.component.mjs +10 -12
  194. package/esm2022/component/button/public-api.mjs +1 -2
  195. package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +11 -20
  196. package/esm2022/component/chart-3d/model/chart-3d-options.mjs +1 -3
  197. package/esm2022/component/chart-3d/model/series-3d.mjs +1 -3
  198. package/esm2022/component/chart-3d/public-api.mjs +1 -2
  199. package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +16 -33
  200. package/esm2022/component/checkbox/public-api.mjs +1 -2
  201. package/esm2022/component/date-picker/base-calendar.mjs +23 -24
  202. package/esm2022/component/date-picker/base-picker.mjs +11 -16
  203. package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +23 -23
  204. package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +47 -46
  205. package/esm2022/component/date-picker/date-range/date-range.component.mjs +44 -39
  206. package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +25 -27
  207. package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +6 -6
  208. package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +12 -19
  209. package/esm2022/component/date-picker/model/date-period.mjs +1 -3
  210. package/esm2022/component/date-picker/model/day-model.mjs +1 -7
  211. package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +13 -16
  212. package/esm2022/component/date-picker/public-api.mjs +1 -2
  213. package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +9 -9
  214. package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +9 -14
  215. package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +13 -13
  216. package/esm2022/component/delimiter/public-api.mjs +1 -2
  217. package/esm2022/component/divider/divider/divider.component.mjs +8 -10
  218. package/esm2022/component/divider/public-api.mjs +1 -2
  219. package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +8 -13
  220. package/esm2022/component/dropdown/dropdown-base.mjs +26 -35
  221. package/esm2022/component/dropdown/dropdown-content.directive.mjs +8 -9
  222. package/esm2022/component/dropdown/dropdown-head.directive.mjs +9 -9
  223. package/esm2022/component/dropdown/dropdown.directive.mjs +9 -13
  224. package/esm2022/component/dropdown/public-api.mjs +1 -2
  225. package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +10 -10
  226. package/esm2022/component/dynamic-component/public-api.mjs +1 -2
  227. package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +14 -15
  228. package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +11 -10
  229. package/esm2022/component/expand-card/public-api.mjs +1 -2
  230. package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +20 -18
  231. package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +7 -7
  232. package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +7 -7
  233. package/esm2022/component/expand-panel/public-api.mjs +1 -2
  234. package/esm2022/component/file-upload/file-item/file-item.component.mjs +6 -6
  235. package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +24 -19
  236. package/esm2022/component/file-upload/public-api.mjs +1 -2
  237. package/esm2022/component/filter/base/filter-base.mjs +1 -4
  238. package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +22 -20
  239. package/esm2022/component/filter/contarct/date-filter-value.mjs +1 -9
  240. package/esm2022/component/filter/contarct/date-filter.mjs +1 -1
  241. package/esm2022/component/filter/contarct/filter-item.mjs +13 -57
  242. package/esm2022/component/filter/contarct/filter-state.mjs +7 -7
  243. package/esm2022/component/filter/contarct/list-filter.mjs +1 -2
  244. package/esm2022/component/filter/contarct/numeric-filter-value.mjs +1 -13
  245. package/esm2022/component/filter/contarct/numeric-filter.mjs +1 -2
  246. package/esm2022/component/filter/contarct/sort-param.mjs +1 -13
  247. package/esm2022/component/filter/contarct/string-filter.mjs +1 -2
  248. package/esm2022/component/filter/date-filter/date-filter.component.mjs +22 -20
  249. package/esm2022/component/filter/filter-host/filter-host.component.mjs +11 -16
  250. package/esm2022/component/filter/list-filter/list-filter.component.mjs +25 -23
  251. package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +22 -20
  252. package/esm2022/component/filter/public-api.mjs +1 -2
  253. package/esm2022/component/filter/string-filter/string-filter.component.mjs +19 -18
  254. package/esm2022/component/icon/icon/icon.component.mjs +9 -9
  255. package/esm2022/component/icon/icon-file/icon-file.component.mjs +6 -8
  256. package/esm2022/component/icon/icon-sprite.directive.mjs +9 -9
  257. package/esm2022/component/icon/icon.service.mjs +10 -15
  258. package/esm2022/component/icon/public-api.mjs +1 -3
  259. package/esm2022/component/input/color-input/color-input.component.mjs +11 -13
  260. package/esm2022/component/input/form-group-title/form-group-title.component.mjs +9 -8
  261. package/esm2022/component/input/input/input.component.mjs +12 -13
  262. package/esm2022/component/input/public-api.mjs +2 -2
  263. package/esm2022/component/input/text-field/text-field.component.mjs +25 -25
  264. package/esm2022/component/message/message/message.component.mjs +15 -14
  265. package/esm2022/component/message/message-host/message-host.component.mjs +22 -25
  266. package/esm2022/component/message/message.service.mjs +7 -9
  267. package/esm2022/component/message/model/message.mjs +4 -10
  268. package/esm2022/component/message/public-api.mjs +1 -2
  269. package/esm2022/component/modal/dialog/dialog.component.mjs +18 -18
  270. package/esm2022/component/modal/dialog.service.mjs +6 -6
  271. package/esm2022/component/modal/modal-container/modal-container.component.mjs +11 -13
  272. package/esm2022/component/modal/modal.module.mjs +8 -18
  273. package/esm2022/component/modal/modal.service.mjs +16 -19
  274. package/esm2022/component/modal/model/current-modal.mjs +1 -2
  275. package/esm2022/component/modal/model/modal-instance.mjs +7 -10
  276. package/esm2022/component/pager/model/pager-state.mjs +9 -29
  277. package/esm2022/component/pager/pager/pager.component.mjs +6 -6
  278. package/esm2022/component/pager/public-api.mjs +1 -2
  279. package/esm2022/component/panel/panel/panel.component.mjs +12 -11
  280. package/esm2022/component/panel/public-api.mjs +1 -2
  281. package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +37 -45
  282. package/esm2022/component/progress-bar/public-api.mjs +1 -2
  283. package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +13 -21
  284. package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +31 -29
  285. package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +8 -9
  286. package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +19 -23
  287. package/esm2022/component/property-grid/property-grid.module.mjs +16 -46
  288. package/esm2022/component/public-api.mjs +1 -3
  289. package/esm2022/component/radio/public-api.mjs +1 -2
  290. package/esm2022/component/radio/radio/radio.component.mjs +17 -23
  291. package/esm2022/component/radio/radio-button/radio-button.component.mjs +10 -16
  292. package/esm2022/component/resize-panel/public-api.mjs +1 -2
  293. package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +24 -29
  294. package/esm2022/component/select/public-api.mjs +1 -2
  295. package/esm2022/component/select/select/select.component.mjs +49 -53
  296. package/esm2022/component/select/select-option.directive.mjs +8 -8
  297. package/esm2022/component/select/select-value.directive.mjs +8 -8
  298. package/esm2022/component/sidebar/public-api.mjs +1 -2
  299. package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +14 -16
  300. package/esm2022/component/switch/public-api.mjs +1 -2
  301. package/esm2022/component/switch/switch/switch.component.mjs +10 -13
  302. package/esm2022/component/switch/switch-button/switch-button.component.mjs +9 -13
  303. package/esm2022/component/switch/switch.service.mjs +6 -7
  304. package/esm2022/component/table/base/cell-component-base.mjs +14 -18
  305. package/esm2022/component/table/base/head-cell-component-base.mjs +5 -4
  306. package/esm2022/component/table/cell/cell.component.mjs +11 -11
  307. package/esm2022/component/table/cell-host/cell-host.component.mjs +10 -14
  308. package/esm2022/component/table/contract/column-reorder-event.mjs +1 -3
  309. package/esm2022/component/table/contract/column-resize-event.mjs +1 -3
  310. package/esm2022/component/table/contract/sort-event.mjs +1 -3
  311. package/esm2022/component/table/contract/table-column-store.mjs +1 -6
  312. package/esm2022/component/table/contract/table-column.mjs +13 -83
  313. package/esm2022/component/table/contract/table-row.mjs +1 -3
  314. package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +15 -13
  315. package/esm2022/component/table/default/date-cell/date-cell.component.mjs +17 -13
  316. package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +17 -13
  317. package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +9 -13
  318. package/esm2022/component/table/default/list-cell/list-cell.component.mjs +16 -14
  319. package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +17 -14
  320. package/esm2022/component/table/default/string-cell/string-cell.component.mjs +16 -14
  321. package/esm2022/component/table/head-cell/head-cell.component.mjs +38 -41
  322. package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +29 -27
  323. package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +8 -13
  324. package/esm2022/component/table/public-api.mjs +1 -2
  325. package/esm2022/component/table/selection-cell/selection-cell.component.mjs +13 -14
  326. package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +12 -12
  327. package/esm2022/component/table/service/table.service.mjs +35 -58
  328. package/esm2022/component/table/table/table.component.mjs +53 -67
  329. package/esm2022/component/table/table-body/table-body.component.mjs +47 -51
  330. package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +15 -23
  331. package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +12 -19
  332. package/esm2022/component/table/table-head/table-head.component.mjs +15 -23
  333. package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +54 -51
  334. package/esm2022/component/table/table-head-group/table-head-group.component.mjs +11 -16
  335. package/esm2022/component/table/util/state-util.mjs +2 -2
  336. package/esm2022/component/table/util/table-util.mjs +1 -1
  337. package/esm2022/component/tabs/public-api.mjs +1 -2
  338. package/esm2022/component/tabs/tab/tab.component.mjs +15 -19
  339. package/esm2022/component/tabs/tab-content.directive.mjs +8 -8
  340. package/esm2022/component/tabs/tab-title.directive.mjs +8 -8
  341. package/esm2022/component/tabs/tabs/tabs.component.mjs +19 -23
  342. package/esm2022/component/theme-switch/public-api.mjs +1 -2
  343. package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +11 -12
  344. package/esm2022/component/theme-switch/theme-switch.service.mjs +5 -7
  345. package/esm2022/component/toggle/public-api.mjs +1 -2
  346. package/esm2022/component/toggle/toggle/toggle.component.mjs +12 -21
  347. package/esm2022/component/toolbar/public-api.mjs +1 -2
  348. package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +5 -7
  349. package/esm2022/component/tree/public-api.mjs +1 -2
  350. package/esm2022/component/tree/tree/tree.component.mjs +31 -38
  351. package/esm2022/component/tree/tree-item/tree-item.component.mjs +17 -21
  352. package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +10 -13
  353. package/esm2022/component/tree/tree.service.mjs +8 -10
  354. package/esm2022/directive/auto-position/auto-position.directive.mjs +12 -13
  355. package/esm2022/directive/auto-position/public-api.mjs +1 -2
  356. package/esm2022/directive/click-outside/click-outside.directive.mjs +19 -20
  357. package/esm2022/directive/click-outside/public-api.mjs +1 -2
  358. package/esm2022/directive/context-menu/context-menu.directive.mjs +20 -29
  359. package/esm2022/directive/context-menu/public-api.mjs +1 -2
  360. package/esm2022/directive/disable-control/disable-control.directive.mjs +7 -6
  361. package/esm2022/directive/disable-control/public-api.mjs +1 -2
  362. package/esm2022/directive/drag-drop/drag-container.directive.mjs +14 -21
  363. package/esm2022/directive/drag-drop/drag-drop.service.mjs +10 -20
  364. package/esm2022/directive/drag-drop/drag-placeholder.directive.mjs +7 -6
  365. package/esm2022/directive/drag-drop/drag-preview.directive.mjs +8 -8
  366. package/esm2022/directive/drag-drop/drag.directive.mjs +14 -20
  367. package/esm2022/directive/drag-drop/model/drag-container-instance.mjs +1 -4
  368. package/esm2022/directive/drag-drop/model/drag-instance.mjs +1 -3
  369. package/esm2022/directive/drag-drop/public-api.mjs +1 -2
  370. package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +9 -7
  371. package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +12 -16
  372. package/esm2022/directive/drag-sort/public-api.mjs +1 -2
  373. package/esm2022/directive/dynamic-content-base.directive.mjs +13 -22
  374. package/esm2022/directive/highlight/highlight.directive.mjs +8 -8
  375. package/esm2022/directive/highlight/public-api.mjs +1 -2
  376. package/esm2022/directive/hint/hint.directive.mjs +14 -24
  377. package/esm2022/directive/hint/public-api.mjs +1 -2
  378. package/esm2022/directive/let/let.directive.mjs +8 -9
  379. package/esm2022/directive/let/public-api.mjs +1 -2
  380. package/esm2022/directive/loader/loader.directive.mjs +12 -18
  381. package/esm2022/directive/loader/public-api.mjs +1 -2
  382. package/esm2022/directive/no-autofill/no-autofill.directive.mjs +7 -8
  383. package/esm2022/directive/no-autofill/public-api.mjs +1 -2
  384. package/esm2022/directive/only-number/only-number.directive.mjs +19 -19
  385. package/esm2022/directive/only-number/public-api.mjs +1 -2
  386. package/esm2022/directive/resize-drag/public-api.mjs +1 -2
  387. package/esm2022/directive/resize-drag/resize-drag.directive.mjs +18 -19
  388. package/esm2022/directive/scroll-into-view/public-api.mjs +1 -2
  389. package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +11 -13
  390. package/esm2022/directive/scrollable/public-api.mjs +1 -2
  391. package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +20 -24
  392. package/esm2022/directive/scrollable/scrollable.directive.mjs +8 -5
  393. package/esm2022/directive/teta-template/public-api.mjs +1 -2
  394. package/esm2022/directive/teta-template/teta-template.directive.mjs +8 -9
  395. package/esm2022/directive/tooltip/public-api.mjs +1 -2
  396. package/esm2022/directive/tooltip/tooltip.directive.mjs +16 -21
  397. package/esm2022/index.mjs +22 -0
  398. package/esm2022/locale/teta-config.service.mjs +8 -8
  399. package/esm2022/observable/animation-frame.mjs +1 -1
  400. package/esm2022/observable/public-api.mjs +1 -2
  401. package/esm2022/pipe/date-pipe/public-api.mjs +1 -2
  402. package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +22 -14
  403. package/esm2022/pipe/number-pipe/number.pipe.mjs +6 -5
  404. package/esm2022/pipe/number-pipe/public-api.mjs +1 -2
  405. package/esm2022/pipe/util/number-helper.mjs +1 -1
  406. package/esm2022/tetacom-ng-components.mjs +2 -2
  407. package/esm2022/util/bool-or-func.mjs +1 -1
  408. package/esm2022/util/date-util.mjs +1 -1
  409. package/esm2022/util/forms-util.mjs +3 -3
  410. package/fesm2022/tetacom-ng-components.mjs +6035 -8436
  411. package/fesm2022/tetacom-ng-components.mjs.map +1 -1
  412. package/index.d.ts +17 -3
  413. package/observable/public-api.d.ts +0 -1
  414. package/package.json +5 -24
  415. package/pipe/date-pipe/public-api.d.ts +0 -1
  416. package/pipe/date-pipe/teta-date.pipe.d.ts +3 -3
  417. package/pipe/number-pipe/number.pipe.d.ts +1 -1
  418. package/pipe/number-pipe/public-api.d.ts +0 -1
  419. package/style/accordion.scss +3 -1
  420. package/style/checkbox.scss +1 -1
  421. package/style/icon.scss +1 -1
  422. package/style/message.scss +1 -1
  423. package/style/navigation.scss +3 -3
  424. package/style/switch.scss +1 -3
  425. package/style/toggle.scss +1 -1
  426. package/style/toolbar.scss +1 -1
  427. package/.browserslistrc +0 -16
  428. package/component/accordion/accordion.module.d.ts +0 -12
  429. package/component/autocomplete/autocomplete.module.d.ts +0 -8
  430. package/component/avatar/avatar.module.d.ts +0 -9
  431. package/component/button/button.module.d.ts +0 -8
  432. package/component/chart-3d/chart-3d.module.d.ts +0 -8
  433. package/component/checkbox/checkbox.module.d.ts +0 -9
  434. package/component/date-picker/date-picker.module.d.ts +0 -24
  435. package/component/delimiter/delimiter.module.d.ts +0 -8
  436. package/component/divider/divider.module.d.ts +0 -8
  437. package/component/dropdown/dropdown.module.d.ts +0 -11
  438. package/component/dynamic-component/dynamic-component.module.d.ts +0 -8
  439. package/component/expand-card/expand-card.module.d.ts +0 -13
  440. package/component/expand-panel/expand-panel.module.d.ts +0 -14
  441. package/component/file-upload/file-upload.module.d.ts +0 -12
  442. package/component/filter/filter.module.d.ts +0 -21
  443. package/component/icon/icon-file/icon-file.module.d.ts +0 -9
  444. package/component/icon/icon.module.d.ts +0 -10
  445. package/component/input/input.module.d.ts +0 -16
  446. package/component/message/message.module.d.ts +0 -11
  447. package/component/pager/pager.module.d.ts +0 -9
  448. package/component/panel/panel.module.d.ts +0 -8
  449. package/component/progress-bar/progress-bar.module.d.ts +0 -8
  450. package/component/radio/radio.module.d.ts +0 -10
  451. package/component/resize-panel/resize-panel.module.d.ts +0 -10
  452. package/component/select/select.module.d.ts +0 -18
  453. package/component/sidebar/sidebar.module.d.ts +0 -10
  454. package/component/switch/switch.module.d.ts +0 -9
  455. package/component/table/table.module.d.ts +0 -47
  456. package/component/tabs/tabs.module.d.ts +0 -11
  457. package/component/theme-switch/theme-switch.module.d.ts +0 -10
  458. package/component/three/custom-series/custom-series.component.d.ts +0 -20
  459. package/component/three/public-api.d.ts +0 -11
  460. package/component/three/three-chart/area-3d/area-3d.component.d.ts +0 -14
  461. package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +0 -37
  462. package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +0 -15
  463. package/component/three/three-chart/block-3d/block-3d.component.d.ts +0 -28
  464. package/component/three/three-chart/canvas/canvas.component.d.ts +0 -11
  465. package/component/three/three-chart/directive/canvas-3d-host.d.ts +0 -19
  466. package/component/three/three-chart/directive/public-api.d.ts +0 -2
  467. package/component/three/three-chart/directive/series-3d-host.d.ts +0 -16
  468. package/component/three/three-chart/line-3d/line-3d.component.d.ts +0 -19
  469. package/component/three/three-chart/model/axes-3d-min-max.d.ts +0 -5
  470. package/component/three/three-chart/model/axis-3d-point.d.ts +0 -4
  471. package/component/three/three-chart/model/base-3d-series.d.ts +0 -11
  472. package/component/three/three-chart/model/base-3d-three-point.d.ts +0 -8
  473. package/component/three/three-chart/model/block-3d-series.d.ts +0 -6
  474. package/component/three/three-chart/model/block3d-point.d.ts +0 -5
  475. package/component/three/three-chart/model/enum/public-api.d.ts +0 -1
  476. package/component/three/three-chart/model/enum/series-3d-type.d.ts +0 -4
  477. package/component/three/three-chart/model/i-3d-chart-config.d.ts +0 -14
  478. package/component/three/three-chart/model/line-3d-point.d.ts +0 -5
  479. package/component/three/three-chart/model/line-3d-series.d.ts +0 -6
  480. package/component/three/three-chart/model/public-api.d.ts +0 -10
  481. package/component/three/three-chart/scene/scene.component.d.ts +0 -20
  482. package/component/three/three-chart/service/chart-3d.service.d.ts +0 -21
  483. package/component/three/three-chart/three-chart.component.d.ts +0 -19
  484. package/component/toggle/toggle.module.d.ts +0 -9
  485. package/component/toolbar/toolbar.module.d.ts +0 -8
  486. package/component/tree/tree.module.d.ts +0 -14
  487. package/directive/auto-position/auto-position.module.d.ts +0 -8
  488. package/directive/click-outside/click-outside.module.d.ts +0 -8
  489. package/directive/context-menu/context-menu.module.d.ts +0 -9
  490. package/directive/disable-control/disable-control.module.d.ts +0 -8
  491. package/directive/drag-drop/drag-drop.module.d.ts +0 -11
  492. package/directive/drag-sort/drag-sort.module.d.ts +0 -9
  493. package/directive/highlight/highlight.module.d.ts +0 -8
  494. package/directive/hint/hint.module.d.ts +0 -9
  495. package/directive/let/let.module.d.ts +0 -8
  496. package/directive/loader/loader.module.d.ts +0 -8
  497. package/directive/no-autofill/no-autofill.module.d.ts +0 -8
  498. package/directive/only-number/only-number.module.d.ts +0 -8
  499. package/directive/resize-drag/resize-drag.module.d.ts +0 -8
  500. package/directive/scroll-into-view/scroll-into-view.module.d.ts +0 -8
  501. package/directive/scrollable/scrollable.module.d.ts +0 -10
  502. package/directive/teta-template/teta-template.module.d.ts +0 -8
  503. package/directive/tooltip/tooltip.module.d.ts +0 -10
  504. package/docs/chartDocs.mdx +0 -153
  505. package/docs/threeDocs.mdx +0 -65
  506. package/esm2022/component/accordion/accordion.module.mjs +0 -27
  507. package/esm2022/component/autocomplete/autocomplete.module.mjs +0 -24
  508. package/esm2022/component/avatar/avatar.module.mjs +0 -28
  509. package/esm2022/component/button/button.module.mjs +0 -22
  510. package/esm2022/component/chart-3d/chart-3d.module.mjs +0 -18
  511. package/esm2022/component/checkbox/checkbox.module.mjs +0 -26
  512. package/esm2022/component/date-picker/date-picker.module.mjs +0 -91
  513. package/esm2022/component/delimiter/delimiter.module.mjs +0 -20
  514. package/esm2022/component/divider/divider.module.mjs +0 -20
  515. package/esm2022/component/dropdown/dropdown.module.mjs +0 -39
  516. package/esm2022/component/dynamic-component/dynamic-component.module.mjs +0 -20
  517. package/esm2022/component/expand-card/expand-card.module.mjs +0 -45
  518. package/esm2022/component/expand-panel/expand-panel.module.mjs +0 -50
  519. package/esm2022/component/file-upload/file-upload.module.mjs +0 -22
  520. package/esm2022/component/filter/filter.module.mjs +0 -81
  521. package/esm2022/component/icon/icon-file/icon-file.module.mjs +0 -28
  522. package/esm2022/component/icon/icon.module.mjs +0 -33
  523. package/esm2022/component/input/input.module.mjs +0 -26
  524. package/esm2022/component/message/message.module.mjs +0 -29
  525. package/esm2022/component/pager/pager.module.mjs +0 -24
  526. package/esm2022/component/panel/panel.module.mjs +0 -20
  527. package/esm2022/component/progress-bar/progress-bar.module.mjs +0 -20
  528. package/esm2022/component/radio/radio.module.mjs +0 -20
  529. package/esm2022/component/resize-panel/resize-panel.module.mjs +0 -20
  530. package/esm2022/component/select/select.module.mjs +0 -54
  531. package/esm2022/component/sidebar/sidebar.module.mjs +0 -28
  532. package/esm2022/component/switch/switch.module.mjs +0 -21
  533. package/esm2022/component/table/table.module.mjs +0 -185
  534. package/esm2022/component/tabs/tabs.module.mjs +0 -39
  535. package/esm2022/component/theme-switch/theme-switch.module.mjs +0 -28
  536. package/esm2022/component/three/custom-series/custom-series.component.mjs +0 -34
  537. package/esm2022/component/three/public-api.mjs +0 -12
  538. package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +0 -53
  539. package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +0 -60
  540. package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +0 -29
  541. package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +0 -77
  542. package/esm2022/component/three/three-chart/canvas/canvas.component.mjs +0 -24
  543. package/esm2022/component/three/three-chart/directive/canvas-3d-host.mjs +0 -49
  544. package/esm2022/component/three/three-chart/directive/public-api.mjs +0 -3
  545. package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +0 -48
  546. package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +0 -42
  547. package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +0 -2
  548. package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +0 -2
  549. package/esm2022/component/three/three-chart/model/base-3d-series.mjs +0 -2
  550. package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +0 -2
  551. package/esm2022/component/three/three-chart/model/block-3d-series.mjs +0 -2
  552. package/esm2022/component/three/three-chart/model/block3d-point.mjs +0 -2
  553. package/esm2022/component/three/three-chart/model/enum/public-api.mjs +0 -2
  554. package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +0 -6
  555. package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +0 -2
  556. package/esm2022/component/three/three-chart/model/line-3d-point.mjs +0 -2
  557. package/esm2022/component/three/three-chart/model/line-3d-series.mjs +0 -2
  558. package/esm2022/component/three/three-chart/model/public-api.mjs +0 -11
  559. package/esm2022/component/three/three-chart/scene/scene.component.mjs +0 -47
  560. package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +0 -86
  561. package/esm2022/component/three/three-chart/three-chart.component.mjs +0 -46
  562. package/esm2022/component/toggle/toggle.module.mjs +0 -19
  563. package/esm2022/component/toolbar/toolbar.module.mjs +0 -20
  564. package/esm2022/component/tree/tree.module.mjs +0 -24
  565. package/esm2022/directive/auto-position/auto-position.module.mjs +0 -24
  566. package/esm2022/directive/click-outside/click-outside.module.mjs +0 -20
  567. package/esm2022/directive/context-menu/context-menu.module.mjs +0 -24
  568. package/esm2022/directive/disable-control/disable-control.module.mjs +0 -22
  569. package/esm2022/directive/drag-drop/drag-drop.module.mjs +0 -39
  570. package/esm2022/directive/drag-sort/drag-sort.module.mjs +0 -19
  571. package/esm2022/directive/highlight/highlight.module.mjs +0 -20
  572. package/esm2022/directive/hint/hint.module.mjs +0 -24
  573. package/esm2022/directive/let/let.module.mjs +0 -23
  574. package/esm2022/directive/loader/loader.module.mjs +0 -20
  575. package/esm2022/directive/no-autofill/no-autofill.module.mjs +0 -18
  576. package/esm2022/directive/only-number/only-number.module.mjs +0 -18
  577. package/esm2022/directive/resize-drag/resize-drag.module.mjs +0 -18
  578. package/esm2022/directive/scroll-into-view/scroll-into-view.module.mjs +0 -23
  579. package/esm2022/directive/scrollable/scrollable.module.mjs +0 -33
  580. package/esm2022/directive/teta-template/teta-template.module.mjs +0 -24
  581. package/esm2022/directive/tooltip/tooltip.module.mjs +0 -20
  582. package/esm2022/observable/zoneObservable.mjs +0 -15
  583. package/esm2022/pipe/date-pipe/teta-date-pipe.module.mjs +0 -18
  584. package/esm2022/pipe/number-pipe/number-pipe.module.mjs +0 -22
  585. package/esm2022/public-api.mjs +0 -25
  586. package/observable/zoneObservable.d.ts +0 -5
  587. package/pipe/date-pipe/teta-date-pipe.module.d.ts +0 -8
  588. package/pipe/number-pipe/number-pipe.module.d.ts +0 -8
  589. package/public-api.d.ts +0 -22
@@ -1,22 +1,15 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input } from '@angular/core';
2
+ import { TableService } from '../../service/table.service';
3
+ import { TetaConfigService } from '../../../../locale/teta-config.service';
4
+ import { TableColumn } from '../../contract/table-column';
2
5
  import { StateUtil } from '../../util/state-util';
6
+ import { FilterState } from '../../../filter/contarct/filter-state';
3
7
  import { SortEvent } from '../../contract/sort-event';
8
+ import { AsyncPipe } from '@angular/common';
4
9
  import * as i0 from "@angular/core";
5
10
  import * as i1 from "../../service/table.service";
6
11
  import * as i2 from "../../../../locale/teta-config.service";
7
- import * as i3 from "@angular/common";
8
12
  export class MainDropdownTabComponent {
9
- _svc;
10
- _config;
11
- _elementRef;
12
- _cdr;
13
- columns;
14
- column;
15
- state;
16
- data;
17
- close;
18
- headCellElementRef;
19
- locale;
20
13
  constructor(_svc, _config, _elementRef, _cdr) {
21
14
  this._svc = _svc;
22
15
  this._config = _config;
@@ -75,13 +68,13 @@ export class MainDropdownTabComponent {
75
68
  }
76
69
  ngOnInit() {
77
70
  }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MainDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
79
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: MainDropdownTabComponent, selector: "teta-main-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close", headCellElementRef: "headCellElementRef" }, ngImport: i0, template: "<div class=\"list column_auto\" *ngIf=\"locale | async as loc\">\n <ng-container *ngIf=\"!parent\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeColumn()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAllColumns()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MainDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: MainDropdownTabComponent, isStandalone: true, selector: "teta-main-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close", headCellElementRef: "headCellElementRef" }, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"list column_auto\">\n @if (!parent) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n }\n @if (column.sortable) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n @if (hasSortedColumns()) {\n @if (sortParam) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n }\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n }\n }\n @if (hasFilteredColumns()) {\n @if (filtered) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n }\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n }\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeColumn()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAllColumns()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
73
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MainDropdownTabComponent, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MainDropdownTabComponent, decorators: [{
82
75
  type: Component,
83
- args: [{ selector: 'teta-main-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"list column_auto\" *ngIf=\"locale | async as loc\">\n <ng-container *ngIf=\"!parent\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeColumn()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAllColumns()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
84
- }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
76
+ args: [{ selector: 'teta-main-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [AsyncPipe], template: "@if (locale | async; as loc) {\n <div class=\"list column_auto\">\n @if (!parent) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n }\n @if (column.sortable) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n @if (hasSortedColumns()) {\n @if (sortParam) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n }\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n }\n }\n @if (hasFilteredColumns()) {\n @if (filtered) {\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n }\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n }\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeColumn()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAllColumns()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
77
+ }], ctorParameters: () => [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { columns: [{
85
78
  type: Input
86
79
  }], column: [{
87
80
  type: Input
@@ -94,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
94
87
  }], headCellElementRef: [{
95
88
  type: Input
96
89
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1kcm9wZG93bi10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS1oZWFkL21haW4tZHJvcGRvd24tdGFiL21haW4tZHJvcGRvd24tdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvdGFibGUtaGVhZC9tYWluLWRyb3Bkb3duLXRhYi9tYWluLWRyb3Bkb3duLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFPL0csT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFTcEQsTUFBTSxPQUFPLHdCQUF3QjtJQVVmO0lBQ0E7SUFDQTtJQUNBO0lBWlgsT0FBTyxDQUFjO0lBQ3JCLE1BQU0sQ0FBYztJQUNwQixLQUFLLENBQWM7SUFDbkIsSUFBSSxDQUFNO0lBQ1YsS0FBSyxDQUFhO0lBQ2xCLGtCQUFrQixDQUFhO0lBRXhDLE1BQU0sQ0FBK0I7SUFFckMsWUFBb0IsSUFBcUIsRUFDckIsT0FBMEIsRUFDMUIsV0FBdUIsRUFDdkIsSUFBdUI7UUFIdkIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBaUI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7dUdBbEZVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHdNQ2xCckMsMnpEQXFEQTs7MkZEbkNhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07NExBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUZXRhTG9jYWxpc2F0aW9ufSBmcm9tICcuLi8uLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHtTb3J0UGFyYW19IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9jb250YXJjdC9zb3J0LXBhcmFtJztcbmltcG9ydCB7U3RhdGVVdGlsfSBmcm9tICcuLi8uLi91dGlsL3N0YXRlLXV0aWwnO1xuaW1wb3J0IHtGaWx0ZXJTdGF0ZX0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1zdGF0ZSc7XG5pbXBvcnQge1NvcnRFdmVudH0gZnJvbSAnLi4vLi4vY29udHJhY3Qvc29ydC1ldmVudCc7XG5pbXBvcnQge0lUcmVlRGF0YX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktdHJlZS1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1tYWluLWRyb3Bkb3duLXRhYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLWRyb3Bkb3duLXRhYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21haW4tZHJvcGRvd24tdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1haW5Ecm9wZG93blRhYkNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IElUcmVlRGF0YVtdO1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzdGF0ZTogRmlsdGVyU3RhdGU7XG4gIEBJbnB1dCgpIGRhdGE6IFRbXTtcbiAgQElucHV0KCkgY2xvc2U6ICgpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIGhlYWRDZWxsRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBsb2NhbGU6IE9ic2VydmFibGU8VGV0YUxvY2FsaXNhdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3ZjOiBUYWJsZVNlcnZpY2U8VD4sXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NvbmZpZzogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmxvY2FsZSA9IHRoaXMuX2NvbmZpZy5sb2NhbGU7XG4gIH1cblxuICBnZXQgc29ydFBhcmFtKCk6IFNvcnRQYXJhbSB7XG4gICAgcmV0dXJuIFN0YXRlVXRpbC5nZXRTb3J0U3RhdGUodGhpcy5zdGF0ZSwgdGhpcy5jb2x1bW4pO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkKCkge1xuICAgIHJldHVybiBTdGF0ZVV0aWwuaXNDb2x1bW5GaWx0ZXJlZCh0aGlzLnN0YXRlLCB0aGlzLmNvbHVtbik7XG4gIH1cblxuICBnZXQgcGFyZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9zdmMuZ2V0Q29sdW1uUGFyZW50KHRoaXMuY29sdW1uKTtcbiAgfVxuXG4gIHBpbkNvbHVtbigpIHtcbiAgICB0aGlzLl9zdmMucGluQ29sdW1uKHRoaXMuY29sdW1uKTtcbiAgfVxuXG4gIHNvcnRBc2MoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9zdmMuc29ydEFzYyhuZXcgU29ydEV2ZW50KHRoaXMuY29sdW1uLCBldmVudC5zaGlmdEtleSkpO1xuICB9XG5cbiAgc29ydERlc2MoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9zdmMuc29ydERlc2MobmV3IFNvcnRFdmVudCh0aGlzLmNvbHVtbiwgZXZlbnQuc2hpZnRLZXkpKTtcbiAgfVxuXG4gIGNsZWFyU29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdmMuY2xlYXJTb3J0KHRoaXMuY29sdW1uKTtcbiAgfVxuXG4gIGNsZWFyQWxsU29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdmMuY2xlYXJBbGxTb3J0KCk7XG4gIH1cblxuICBoYXNGaWx0ZXJlZENvbHVtbnMoKSB7XG4gICAgcmV0dXJuIFN0YXRlVXRpbC5oYXNGaWx0ZXJlZENvbHVtbnModGhpcy5zdGF0ZSk7XG4gIH1cblxuICBoYXNTb3J0ZWRDb2x1bW5zKCkge1xuICAgIHJldHVybiBTdGF0ZVV0aWwuaGFzU29ydGVkQ29sdW1ucyh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIHJlc3RvcmVEZWZhdWx0Q29sdW1ucygpIHtcbiAgICB0aGlzLl9zdmMucmVzdG9yZURlZmF1bHRDb2x1bW5zKCk7XG4gIH1cblxuICBjbGVhckZpbHRlcigpIHtcbiAgICB0aGlzLl9zdmMuY2xlYXJGaWx0ZXIodGhpcy5jb2x1bW4pO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjbGVhckFsbEZpbHRlcnMoKSB7XG4gICAgdGhpcy5fc3ZjLmNsZWFyQWxsRmlsdGVycygpO1xuICAgIHRoaXMuY2xvc2UoKVxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGF1dG9zaXplQ29sdW1uKCkge1xuICAgIHRoaXMuX3N2Yy5hdXRvc2l6ZUNvbHVtbih0aGlzLmNvbHVtbiwgdGhpcy5oZWFkQ2VsbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBhdXRvc2l6ZUFsbENvbHVtbnMoKSB7XG4gICAgdGhpcy5fc3ZjLmF1dG9zaXplQWxsQ29sdW1ucyh0aGlzLmhlYWRDZWxsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGlzdCBjb2x1bW5fYXV0b1wiICpuZ0lmPVwibG9jYWxlIHwgYXN5bmMgYXMgbG9jXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcGFyZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWl0ZW1faW50ZXJhY3RpdmVcIlxuICAgICAgICAgKGNsaWNrKT1cInBpbkNvbHVtbigpXCI+XG4gICAgICB7e2NvbHVtbi5sb2NrZWQgPyBsb2MudW5waW4gOiBsb2MucGlufX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1kaXZpZGVyXCI+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWl0ZW1faW50ZXJhY3RpdmVcIlxuICAgICAgICAgKGNsaWNrKT1cInNvcnRBc2MoJGV2ZW50KVwiPlxuICAgICAge3tsb2Muc29ydEFzY319XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWl0ZW1faW50ZXJhY3RpdmVcIlxuICAgICAgICAgKGNsaWNrKT1cInNvcnREZXNjKCRldmVudClcIj5cbiAgICAgIHt7bG9jLnNvcnREZXNjfX1cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU29ydGVkQ29sdW1ucygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZVwiXG4gICAgICAgICAgICpuZ0lmPVwic29ydFBhcmFtXCJcbiAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU29ydCgpXCI+XG4gICAgICAgIHt7bG9jLmNsZWFyU29ydH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlXCJcbiAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsU29ydCgpXCI+XG4gICAgICAgIHt7bG9jLmNsZWFyQWxsU29ydH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWRpdmlkZXJcIj48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNGaWx0ZXJlZENvbHVtbnMoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlXCJcbiAgICAgICAgICpuZ0lmPVwiZmlsdGVyZWRcIlxuICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmlsdGVyKClcIj5cbiAgICAgIHt7bG9jLmNsZWFyRmlsdGVyfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZVwiXG4gICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGxGaWx0ZXJzKClcIj5cbiAgICAgIHt7bG9jLmNsZWFyQWxsRmlsdGVyc319XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpc3QtZGl2aWRlclwiPjwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWl0ZW1faW50ZXJhY3RpdmVcIiAoY2xpY2spPVwiYXV0b3NpemVDb2x1bW4oKVwiPlxuICAgIHt7bG9jLmF1dG9zaXplQ29sdW1ufX1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlXCIgKGNsaWNrKT1cImF1dG9zaXplQWxsQ29sdW1ucygpXCI+XG4gICAge3tsb2MuYXV0b3NpemVBbGx9fVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImxpc3QtZGl2aWRlclwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZVwiIChjbGljayk9XCJyZXN0b3JlRGVmYXVsdENvbHVtbnMoKVwiPlxuICAgIHt7bG9jLnJlc2V0Q29sdW1uc1NpemV9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1kcm9wZG93bi10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS1oZWFkL21haW4tZHJvcGRvd24tdGFiL21haW4tZHJvcGRvd24tdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvdGFibGUtaGVhZC9tYWluLWRyb3Bkb3duLXRhYi9tYWluLWRyb3Bkb3duLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUl4RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFVNUMsTUFBTSxPQUFPLHdCQUF3QjtJQVVuQyxZQUFvQixJQUFxQixFQUNyQixPQUEwQixFQUMxQixXQUF1QixFQUN2QixJQUF1QjtRQUh2QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN6QyxJQUFJLENBQUMsTUFB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O3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdGFibGUuc2VydmljZSc7XG5pbXBvcnQge1RldGFDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9sb2NhbGUvdGV0YS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSAnLi4vLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7U29ydFBhcmFtfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvY29udGFyY3Qvc29ydC1wYXJhbSc7XG5pbXBvcnQge1N0YXRlVXRpbH0gZnJvbSAnLi4vLi4vdXRpbC9zdGF0ZS11dGlsJztcbmltcG9ydCB7RmlsdGVyU3RhdGV9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuaW1wb3J0IHtTb3J0RXZlbnR9IGZyb20gJy4uLy4uL2NvbnRyYWN0L3NvcnQtZXZlbnQnO1xuaW1wb3J0IHtJVHJlZURhdGF9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXRyZWUtZGF0YSc7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RldGEtbWFpbi1kcm9wZG93bi10YWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYWluLWRyb3Bkb3duLXRhYi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFpbi1kcm9wZG93bi10YWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIE1haW5Ecm9wZG93blRhYkNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IElUcmVlRGF0YVtdO1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzdGF0ZTogRmlsdGVyU3RhdGU7XG4gIEBJbnB1dCgpIGRhdGE6IFRbXTtcbiAgQElucHV0KCkgY2xvc2U6ICgpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIGhlYWRDZWxsRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBsb2NhbGU6IE9ic2VydmFibGU8VGV0YUxvY2FsaXNhdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3ZjOiBUYWJsZVNlcnZpY2U8VD4sXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NvbmZpZzogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmxvY2FsZSA9IHRoaXMuX2NvbmZpZy5sb2NhbGU7XG4gIH1cblxuICBnZXQgc29ydFBhcmFtKCk6IFNvcnRQYXJhbSB7XG4gICAgcmV0dXJuIFN0YXRlVXRpbC5nZXRTb3J0U3RhdGUodGhpcy5zdGF0ZSwgdGhpcy5jb2x1bW4pO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkKCkge1xuICAgIHJldHVybiBTdGF0ZVV0aWwuaXNDb2x1bW5GaWx0ZXJlZCh0aGlzLnN0YXRlLCB0aGlzLmNvbHVtbik7XG4gIH1cblxuICBnZXQgcGFyZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9zdmMuZ2V0Q29sdW1uUGFyZW50KHRoaXMuY29sdW1uKTtcbiAgfVxuXG4gIHBpbkNvbHVtbigpIHtcbiAgICB0aGlzLl9zdmMucGluQ29sdW1uKHRoaXMuY29sdW1uKTtcbiAgfVxuXG4gIHNvcnRBc2MoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9zdmMuc29ydEFzYyhuZXcgU29ydEV2ZW50KHRoaXMuY29sdW1uLCBldmVudC5zaGlmdEtleSkpO1xuICB9XG5cbiAgc29ydERlc2MoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9zdmMuc29ydERlc2MobmV3IFNvcnRFdmVudCh0aGlzLmNvbHVtbiwgZXZlbnQuc2hpZnRLZXkpKTtcbiAgfVxuXG4gIGNsZWFyU29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdmMuY2xlYXJTb3J0KHRoaXMuY29sdW1uKTtcbiAgfVxuXG4gIGNsZWFyQWxsU29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdmMuY2xlYXJBbGxTb3J0KCk7XG4gIH1cblxuICBoYXNGaWx0ZXJlZENvbHVtbnMoKSB7XG4gICAgcmV0dXJuIFN0YXRlVXRpbC5oYXNGaWx0ZXJlZENvbHVtbnModGhpcy5zdGF0ZSk7XG4gIH1cblxuICBoYXNTb3J0ZWRDb2x1bW5zKCkge1xuICAgIHJldHVybiBTdGF0ZVV0aWwuaGFzU29ydGVkQ29sdW1ucyh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIHJlc3RvcmVEZWZhdWx0Q29sdW1ucygpIHtcbiAgICB0aGlzLl9zdmMucmVzdG9yZURlZmF1bHRDb2x1bW5zKCk7XG4gIH1cblxuICBjbGVhckZpbHRlcigpIHtcbiAgICB0aGlzLl9zdmMuY2xlYXJGaWx0ZXIodGhpcy5jb2x1bW4pO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjbGVhckFsbEZpbHRlcnMoKSB7XG4gICAgdGhpcy5fc3ZjLmNsZWFyQWxsRmlsdGVycygpO1xuICAgIHRoaXMuY2xvc2UoKVxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGF1dG9zaXplQ29sdW1uKCkge1xuICAgIHRoaXMuX3N2Yy5hdXRvc2l6ZUNvbHVtbih0aGlzLmNvbHVtbiwgdGhpcy5oZWFkQ2VsbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBhdXRvc2l6ZUFsbENvbHVtbnMoKSB7XG4gICAgdGhpcy5fc3ZjLmF1dG9zaXplQWxsQ29sdW1ucyh0aGlzLmhlYWRDZWxsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG59XG4iLCJAaWYgKGxvY2FsZSB8IGFzeW5jOyBhcyBsb2MpIHtcbiAgPGRpdiBjbGFzcz1cImxpc3QgY29sdW1uX2F1dG9cIj5cbiAgICBAaWYgKCFwYXJlbnQpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlXCJcbiAgICAgICAgKGNsaWNrKT1cInBpbkNvbHVtbigpXCI+XG4gICAgICAgIHt7Y29sdW1uLmxvY2tlZCA/IGxvYy51bnBpbiA6IGxvYy5waW59fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdC1kaXZpZGVyXCI+PC9kaXY+XG4gICAgfVxuICAgIEBpZiAoY29sdW1uLnNvcnRhYmxlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZVwiXG4gICAgICAgIChjbGljayk9XCJzb3J0QXNjKCRldmVudClcIj5cbiAgICAgICAge3tsb2Muc29ydEFzY319XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlXCJcbiAgICAgICAgKGNsaWNrKT1cInNvcnREZXNjKCRldmVudClcIj5cbiAgICAgICAge3tsb2Muc29ydERlc2N9fVxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGhhc1NvcnRlZENvbHVtbnMoKSkge1xuICAgICAgICBAaWYgKHNvcnRQYXJhbSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNvcnQoKVwiPlxuICAgICAgICAgICAge3tsb2MuY2xlYXJTb3J0fX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsU29ydCgpXCI+XG4gICAgICAgICAge3tsb2MuY2xlYXJBbGxTb3J0fX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChoYXNGaWx0ZXJlZENvbHVtbnMoKSkge1xuICAgICAgQGlmIChmaWx0ZXJlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmlsdGVyKClcIj5cbiAgICAgICAgICB7e2xvYy5jbGVhckZpbHRlcn19XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWl0ZW1faW50ZXJhY3RpdmVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGxGaWx0ZXJzKClcIj5cbiAgICAgICAge3tsb2MuY2xlYXJBbGxGaWx0ZXJzfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZGl2aWRlclwiPjwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZVwiIChjbGljayk9XCJhdXRvc2l6ZUNvbHVtbigpXCI+XG4gICAgICB7e2xvYy5hdXRvc2l6ZUNvbHVtbn19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWl0ZW1faW50ZXJhY3RpdmVcIiAoY2xpY2spPVwiYXV0b3NpemVBbGxDb2x1bW5zKClcIj5cbiAgICAgIHt7bG9jLmF1dG9zaXplQWxsfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1kaXZpZGVyXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWl0ZW1faW50ZXJhY3RpdmVcIiAoY2xpY2spPVwicmVzdG9yZURlZmF1bHRDb2x1bW5zKClcIj5cbiAgICAgIHt7bG9jLnJlc2V0Q29sdW1uc1NpemV9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -1,26 +1,14 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, } from '@angular/core';
2
2
  import { combineLatest } from 'rxjs';
3
3
  import { takeWhile } from 'rxjs/operators';
4
4
  import { ArrayUtil } from '../../../common/util/array-util';
5
5
  import { SelectType } from '../enum/select-type.enum';
6
+ import { TableService } from '../service/table.service';
7
+ import { TableHeadGroupComponent } from '../table-head-group/table-head-group.component';
8
+ import { SelectionHeadCellComponent } from '../selection-head-cell/selection-head-cell.component';
6
9
  import * as i0 from "@angular/core";
7
10
  import * as i1 from "../service/table.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "../table-head-group/table-head-group.component";
10
- import * as i4 from "../selection-head-cell/selection-head-cell.component";
11
11
  export class TableHeadComponent {
12
- _svc;
13
- _cdr;
14
- selectType;
15
- showHeadCellMenu;
16
- tableHeadClass = true;
17
- state;
18
- selectTypeEnum = SelectType;
19
- lockedFlex;
20
- lockedWidth;
21
- _alive = true;
22
- _columns = [];
23
- _hiddenColumns = [];
24
12
  set columns(columns) {
25
13
  this._columns = columns;
26
14
  this._cdr.markForCheck();
@@ -34,10 +22,14 @@ export class TableHeadComponent {
34
22
  get unlocked() {
35
23
  return this._columns.filter(_ => _.locked === false && this._hiddenColumns.indexOf(_.name) < 0);
36
24
  }
37
- data;
38
25
  constructor(_svc, _cdr) {
39
26
  this._svc = _svc;
40
27
  this._cdr = _cdr;
28
+ this.tableHeadClass = true;
29
+ this.selectTypeEnum = SelectType;
30
+ this._alive = true;
31
+ this._columns = [];
32
+ this._hiddenColumns = [];
41
33
  }
42
34
  track(index, item) {
43
35
  return item.name;
@@ -67,13 +59,13 @@ export class TableHeadComponent {
67
59
  ngOnDestroy() {
68
60
  this._alive = false;
69
61
  }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeadComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableHeadComponent, selector: "teta-table-head", inputs: { selectType: "selectType", showHeadCellMenu: "showHeadCellMenu" }, host: { properties: { "class.table-head": "this.tableHeadClass" } }, ngImport: i0, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of locked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</div>\n<ng-container *ngIf=\"unlocked?.length\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox && locked?.length < 1\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of unlocked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }, { kind: "component", type: i4.SelectionHeadCellComponent, selector: "teta-selection-head-cell" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TableHeadComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TableHeadComponent, isStandalone: true, selector: "teta-table-head", inputs: { selectType: "selectType", showHeadCellMenu: "showHeadCellMenu" }, host: { properties: { "class.table-head": "this.tableHeadClass" } }, ngImport: i0, template: "@if (locked?.length) {\n <div class=\"table-head_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n @if (selectType === selectTypeEnum.checkBox) {\n <teta-selection-head-cell\n style=\"width: 28px;\"></teta-selection-head-cell>\n }\n @for (column of locked; track track($index, column)) {\n <teta-table-head-group\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n }\n </div>\n}\n@if (unlocked?.length) {\n @if (selectType === selectTypeEnum.checkBox && locked?.length < 1) {\n <teta-selection-head-cell\n style=\"width: 28px;\"></teta-selection-head-cell>\n }\n @for (column of unlocked; track track($index, column)) {\n <teta-table-head-group\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: SelectionHeadCellComponent, selector: "teta-selection-head-cell" }, { kind: "component", type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
64
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeadComponent, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TableHeadComponent, decorators: [{
74
66
  type: Component,
75
- args: [{ selector: 'teta-table-head', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of locked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</div>\n<ng-container *ngIf=\"unlocked?.length\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox && locked?.length < 1\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of unlocked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</ng-container>\n" }]
76
- }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectType: [{
67
+ args: [{ selector: 'teta-table-head', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [SelectionHeadCellComponent, TableHeadGroupComponent], template: "@if (locked?.length) {\n <div class=\"table-head_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n @if (selectType === selectTypeEnum.checkBox) {\n <teta-selection-head-cell\n style=\"width: 28px;\"></teta-selection-head-cell>\n }\n @for (column of locked; track track($index, column)) {\n <teta-table-head-group\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n }\n </div>\n}\n@if (unlocked?.length) {\n @if (selectType === selectTypeEnum.checkBox && locked?.length < 1) {\n <teta-selection-head-cell\n style=\"width: 28px;\"></teta-selection-head-cell>\n }\n @for (column of unlocked; track track($index, column)) {\n <teta-table-head-group\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n }\n}\n" }]
68
+ }], ctorParameters: () => [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }], propDecorators: { selectType: [{
77
69
  type: Input
78
70
  }], showHeadCellMenu: [{
79
71
  type: Input
@@ -81,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
81
73
  type: HostBinding,
82
74
  args: ['class.table-head']
83
75
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlLWhlYWQvdGFibGUtaGVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlLWhlYWQvdGFibGUtaGVhZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQVN0RCxNQUFNLE9BQU8sa0JBQWtCO0lBc0NuQjtJQUNBO0lBdENELFVBQVUsQ0FBYTtJQUN2QixnQkFBZ0IsQ0FBVTtJQUNlLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFFeEUsS0FBSyxDQUFjO0lBQ25CLGNBQWMsR0FBRyxVQUFVLENBQUM7SUFDNUIsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBUztJQUVaLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDZCxRQUFRLEdBQWtCLEVBQUUsQ0FBQztJQUM3QixjQUFjLEdBQWEsRUFBRSxDQUFDO0lBRXRDLElBQUksT0FBTyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDekIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQ3pCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQU07SUFFVixZQUNVLElBQXFCLEVBQ3JCLElBQXVCO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQzlCLENBQUM7SUFFSixLQUFLLENBQUMsS0FBYSxFQUFFLElBQWlCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsQ0FBQyxNQUFpQyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FDL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQ3pELENBQUM7WUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxJQUFZLEVBQUUsSUFBaUIsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQ3JELENBQUMsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUM5QixDQUFDLElBQVksRUFBRSxJQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFDdEQsVUFBVSxDQUNYLENBQUM7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO3VHQWpGVSxrQkFBa0I7MkZBQWxCLGtCQUFrQix3TUN4Qi9CLDQvQkEwQkE7OzJGREZhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTttSUFHdEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQzRDLGNBQWM7c0JBQS9ELFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcnJheVV0aWwgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC9hcnJheS11dGlsJztcbmltcG9ydCB7IEZpbHRlclN0YXRlIH0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1zdGF0ZSc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBTZWxlY3RUeXBlIH0gZnJvbSAnLi4vZW51bS9zZWxlY3QtdHlwZS5lbnVtJztcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvdGFibGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtdGFibGUtaGVhZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1oZWFkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtaGVhZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWFkQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzZWxlY3RUeXBlOiBTZWxlY3RUeXBlO1xuICBASW5wdXQoKSBzaG93SGVhZENlbGxNZW51OiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRhYmxlLWhlYWQnKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlSGVhZENsYXNzID0gdHJ1ZTtcblxuICBzdGF0ZTogRmlsdGVyU3RhdGU7XG4gIHNlbGVjdFR5cGVFbnVtID0gU2VsZWN0VHlwZTtcbiAgbG9ja2VkRmxleDogbnVtYmVyO1xuICBsb2NrZWRXaWR0aDogbnVtYmVyO1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xuICBwcml2YXRlIF9oaWRkZW5Db2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHNldCBjb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pIHtcbiAgICB0aGlzLl9jb2x1bW5zID0gY29sdW1ucztcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXQgY29sdW1ucygpOiBUYWJsZUNvbHVtbltdIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1ucztcbiAgfVxuXG4gIGdldCBsb2NrZWQoKTogVGFibGVDb2x1bW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnMuZmlsdGVyKFxuICAgICAgXyA9PiBfLmxvY2tlZCA9PT0gdHJ1ZSAmJiB0aGlzLl9oaWRkZW5Db2x1bW5zLmluZGV4T2YoXy5uYW1lKSA8IDBcbiAgICApO1xuICB9XG5cbiAgZ2V0IHVubG9ja2VkKCk6IFRhYmxlQ29sdW1uW10ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5zLmZpbHRlcihcbiAgICAgIF8gPT4gXy5sb2NrZWQgPT09IGZhbHNlICYmIHRoaXMuX2hpZGRlbkNvbHVtbnMuaW5kZXhPZihfLm5hbWUpIDwgMFxuICAgICk7XG4gIH1cblxuICBkYXRhOiBUW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3ZjOiBUYWJsZVNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgdHJhY2soaW5kZXg6IG51bWJlciwgaXRlbTogVGFibGVDb2x1bW4pOiBhbnkge1xuICAgIHJldHVybiBpdGVtLm5hbWU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zdmMuY29sdW1ucywgdGhpcy5fc3ZjLmhpZGRlbkNvbHVtbnNdKVxuICAgICAgLnBpcGUodGFrZVdoaWxlKF8gPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzOiBbVGFibGVDb2x1bW5bXSwgc3RyaW5nW11dKSA9PiB7XG4gICAgICAgIGNvbnN0IFtjb2x1bW5zLCBoaWRkZW5Db2x1bW5zXSA9IHZhbHVlcztcbiAgICAgICAgdGhpcy5faGlkZGVuQ29sdW1ucyA9IGhpZGRlbkNvbHVtbnM7XG4gICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XG4gICAgICAgIGNvbnN0IGxvY2tlZCA9IEFycmF5VXRpbC5mbGF0dGVuKGNvbHVtbnMsICdjb2x1bW5zJywgdHJ1ZSkuZmlsdGVyKFxuICAgICAgICAgIF8gPT4gdGhpcy5faGlkZGVuQ29sdW1ucy5pbmRleE9mKF8ubmFtZSkgPCAwICYmIF8ubG9ja2VkXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHN0YXJ0V2lkdGggPSB0aGlzLnNlbGVjdFR5cGUgPT09IFNlbGVjdFR5cGUuY2hlY2tCb3ggPyAyOCA6IDA7XG4gICAgICAgIHRoaXMubG9ja2VkRmxleCA9IGxvY2tlZC5yZWR1Y2UoXG4gICAgICAgICAgKHByZXY6IG51bWJlciwgY3VycjogVGFibGVDb2x1bW4pID0+IHByZXYgKyBjdXJyLmZsZXgsXG4gICAgICAgICAgMFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvY2tlZFdpZHRoID0gbG9ja2VkLnJlZHVjZShcbiAgICAgICAgICAocHJldjogbnVtYmVyLCBjdXJyOiBUYWJsZUNvbHVtbikgPT4gcHJldiArIGN1cnIud2lkdGgsXG4gICAgICAgICAgc3RhcnRXaWR0aFxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5zdGF0ZS5waXBlKHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSkuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgdGhpcy5zdGF0ZSA9IF87XG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9zdmMuZGlzcGxheURhdGEucGlwZSh0YWtlV2hpbGUoXyA9PiB0aGlzLl9hbGl2ZSkpLnN1YnNjcmliZShfID0+IHtcbiAgICAgIHRoaXMuZGF0YSA9IF8ubWFwKF8gPT4gXy5kYXRhKTtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkX2xvY2tlZFwiXG4gICAgICpuZ0lmPVwibG9ja2VkPy5sZW5ndGhcIlxuICAgICBbc3R5bGUuZmxleC1ncm93XT1cImxvY2tlZEZsZXhcIlxuICAgICBbc3R5bGUuZmxleC1iYXNpcy5weF09XCJsb2NrZWRXaWR0aFwiXG4gICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwibG9ja2VkV2lkdGhcIj5cbiAgPHRldGEtc2VsZWN0aW9uLWhlYWQtY2VsbFxuICAgICpuZ0lmPVwic2VsZWN0VHlwZSA9PT0gc2VsZWN0VHlwZUVudW0uY2hlY2tCb3hcIlxuICAgIHN0eWxlPVwid2lkdGg6IDI4cHg7XCI+PC90ZXRhLXNlbGVjdGlvbi1oZWFkLWNlbGw+XG4gIDx0ZXRhLXRhYmxlLWhlYWQtZ3JvdXBcbiAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGxvY2tlZDsgdHJhY2tCeTogdHJhY2tcIlxuICAgIGNsYXNzPVwidGFibGUtaGVhZF9fZ3JvdXBcIlxuICAgIFtkYXRhXT1cImRhdGFcIlxuICAgIFtzaG93SGVhZENlbGxNZW51XT1cInNob3dIZWFkQ2VsbE1lbnVcIlxuICAgIFtjb2x1bW5dPVwiY29sdW1uXCI+PC90ZXRhLXRhYmxlLWhlYWQtZ3JvdXA+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ1bmxvY2tlZD8ubGVuZ3RoXCI+XG4gIDx0ZXRhLXNlbGVjdGlvbi1oZWFkLWNlbGxcbiAgICAqbmdJZj1cInNlbGVjdFR5cGUgPT09IHNlbGVjdFR5cGVFbnVtLmNoZWNrQm94ICYmIGxvY2tlZD8ubGVuZ3RoIDwgMVwiXG4gICAgc3R5bGU9XCJ3aWR0aDogMjhweDtcIj48L3RldGEtc2VsZWN0aW9uLWhlYWQtY2VsbD5cbiAgPHRldGEtdGFibGUtaGVhZC1ncm91cFxuICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgdW5sb2NrZWQ7IHRyYWNrQnk6IHRyYWNrXCJcbiAgICBjbGFzcz1cInRhYmxlLWhlYWRfX2dyb3VwXCJcbiAgICBbZGF0YV09XCJkYXRhXCJcbiAgICBbc2hvd0hlYWRDZWxsTWVudV09XCJzaG93SGVhZENlbGxNZW51XCJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiPjwvdGV0YS10YWJsZS1oZWFkLWdyb3VwPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlLWhlYWQvdGFibGUtaGVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlLWhlYWQvdGFibGUtaGVhZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7O0FBVWxHLE1BQU0sT0FBTyxrQkFBa0I7SUFjN0IsSUFBSSxPQUFPLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN6QixDQUFDLENBQUMsRUFBRSxD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VyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEUsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7OEdBakZVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDROQzVCL0IsMGhDQStCQSwwRERMYywwQkFBMEIscUVBQUUsdUJBQXVCOzsyRkFFcEQsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLDBCQUEwQixFQUFFLHVCQUF1QixDQUFDO2lIQUd2RCxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDNEMsY0FBYztzQkFBL0QsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFycmF5VXRpbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsL2FycmF5LXV0aWwnO1xuaW1wb3J0IHsgRmlsdGVyU3RhdGUgfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7IFNlbGVjdFR5cGUgfSBmcm9tICcuLi9lbnVtL3NlbGVjdC10eXBlLmVudW0nO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlSGVhZEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtaGVhZC1ncm91cC90YWJsZS1oZWFkLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uL3NlbGVjdGlvbi1oZWFkLWNlbGwvc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RldGEtdGFibGUtaGVhZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlLWhlYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudCwgVGFibGVIZWFkR3JvdXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUhlYWRDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNlbGVjdFR5cGU6IFNlbGVjdFR5cGU7XG4gIEBJbnB1dCgpIHNob3dIZWFkQ2VsbE1lbnU6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGFibGUtaGVhZCcpIHByaXZhdGUgcmVhZG9ubHkgdGFibGVIZWFkQ2xhc3MgPSB0cnVlO1xuXG4gIHN0YXRlOiBGaWx0ZXJTdGF0ZTtcbiAgc2VsZWN0VHlwZUVudW0gPSBTZWxlY3RUeXBlO1xuICBsb2NrZWRGbGV4OiBudW1iZXI7XG4gIGxvY2tlZFdpZHRoOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcml2YXRlIF9jb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIHByaXZhdGUgX2hpZGRlbkNvbHVtbnM6IHN0cmluZ1tdID0gW107XG5cbiAgc2V0IGNvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSkge1xuICAgIHRoaXMuX2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjb2x1bW5zKCk6IFRhYmxlQ29sdW1uW10ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5zO1xuICB9XG5cbiAgZ2V0IGxvY2tlZCgpOiBUYWJsZUNvbHVtbltdIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1ucy5maWx0ZXIoXG4gICAgICBfID0+IF8ubG9ja2VkID09PSB0cnVlICYmIHRoaXMuX2hpZGRlbkNvbHVtbnMuaW5kZXhPZihfLm5hbWUpIDwgMFxuICAgICk7XG4gIH1cblxuICBnZXQgdW5sb2NrZWQoKTogVGFibGVDb2x1bW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnMuZmlsdGVyKFxuICAgICAgXyA9PiBfLmxvY2tlZCA9PT0gZmFsc2UgJiYgdGhpcy5faGlkZGVuQ29sdW1ucy5pbmRleE9mKF8ubmFtZSkgPCAwXG4gICAgKTtcbiAgfVxuXG4gIGRhdGE6IFRbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICB0cmFjayhpbmRleDogbnVtYmVyLCBpdGVtOiBUYWJsZUNvbHVtbik6IGFueSB7XG4gICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3N2Yy5jb2x1bW5zLCB0aGlzLl9zdmMuaGlkZGVuQ29sdW1uc10pXG4gICAgICAucGlwZSh0YWtlV2hpbGUoXyA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXM6IFtUYWJsZUNvbHVtbltdLCBzdHJpbmdbXV0pID0+IHtcbiAgICAgICAgY29uc3QgW2NvbHVtbnMsIGhpZGRlbkNvbHVtbnNdID0gdmFsdWVzO1xuICAgICAgICB0aGlzLl9oaWRkZW5Db2x1bW5zID0gaGlkZGVuQ29sdW1ucztcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgY29uc3QgbG9ja2VkID0gQXJyYXlVdGlsLmZsYXR0ZW4oY29sdW1ucywgJ2NvbHVtbnMnLCB0cnVlKS5maWx0ZXIoXG4gICAgICAgICAgXyA9PiB0aGlzLl9oaWRkZW5Db2x1bW5zLmluZGV4T2YoXy5uYW1lKSA8IDAgJiYgXy5sb2NrZWRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc3RhcnRXaWR0aCA9IHRoaXMuc2VsZWN0VHlwZSA9PT0gU2VsZWN0VHlwZS5jaGVja0JveCA/IDI4IDogMDtcbiAgICAgICAgdGhpcy5sb2NrZWRGbGV4ID0gbG9ja2VkLnJlZHVjZShcbiAgICAgICAgICAocHJldjogbnVtYmVyLCBjdXJyOiBUYWJsZUNvbHVtbikgPT4gcHJldiArIGN1cnIuZmxleCxcbiAgICAgICAgICAwXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9ja2VkV2lkdGggPSBsb2NrZWQucmVkdWNlKFxuICAgICAgICAgIChwcmV2OiBudW1iZXIsIGN1cnI6IFRhYmxlQ29sdW1uKSA9PiBwcmV2ICsgY3Vyci53aWR0aCxcbiAgICAgICAgICBzdGFydFdpZHRoXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLnN0YXRlLnBpcGUodGFrZVdoaWxlKF8gPT4gdGhpcy5fYWxpdmUpKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICB0aGlzLnN0YXRlID0gXztcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5kaXNwbGF5RGF0YS5waXBlKHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSkuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgdGhpcy5kYXRhID0gXy5tYXAoXyA9PiBfLmRhdGEpO1xuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiQGlmIChsb2NrZWQ/Lmxlbmd0aCkge1xuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZF9sb2NrZWRcIlxuICAgIFtzdHlsZS5mbGV4LWdyb3ddPVwibG9ja2VkRmxleFwiXG4gICAgW3N0eWxlLmZsZXgtYmFzaXMucHhdPVwibG9ja2VkV2lkdGhcIlxuICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwibG9ja2VkV2lkdGhcIj5cbiAgICBAaWYgKHNlbGVjdFR5cGUgPT09IHNlbGVjdFR5cGVFbnVtLmNoZWNrQm94KSB7XG4gICAgICA8dGV0YS1zZWxlY3Rpb24taGVhZC1jZWxsXG4gICAgICBzdHlsZT1cIndpZHRoOiAyOHB4O1wiPjwvdGV0YS1zZWxlY3Rpb24taGVhZC1jZWxsPlxuICAgIH1cbiAgICBAZm9yIChjb2x1bW4gb2YgbG9ja2VkOyB0cmFjayB0cmFjaygkaW5kZXgsIGNvbHVtbikpIHtcbiAgICAgIDx0ZXRhLXRhYmxlLWhlYWQtZ3JvdXBcbiAgICAgICAgY2xhc3M9XCJ0YWJsZS1oZWFkX19ncm91cFwiXG4gICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICBbc2hvd0hlYWRDZWxsTWVudV09XCJzaG93SGVhZENlbGxNZW51XCJcbiAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCI+PC90ZXRhLXRhYmxlLWhlYWQtZ3JvdXA+XG4gICAgfVxuICA8L2Rpdj5cbn1cbkBpZiAodW5sb2NrZWQ/Lmxlbmd0aCkge1xuICBAaWYgKHNlbGVjdFR5cGUgPT09IHNlbGVjdFR5cGVFbnVtLmNoZWNrQm94ICYmIGxvY2tlZD8ubGVuZ3RoIDwgMSkge1xuICAgIDx0ZXRhLXNlbGVjdGlvbi1oZWFkLWNlbGxcbiAgICBzdHlsZT1cIndpZHRoOiAyOHB4O1wiPjwvdGV0YS1zZWxlY3Rpb24taGVhZC1jZWxsPlxuICB9XG4gIEBmb3IgKGNvbHVtbiBvZiB1bmxvY2tlZDsgdHJhY2sgdHJhY2soJGluZGV4LCBjb2x1bW4pKSB7XG4gICAgPHRldGEtdGFibGUtaGVhZC1ncm91cFxuICAgICAgY2xhc3M9XCJ0YWJsZS1oZWFkX19ncm91cFwiXG4gICAgICBbZGF0YV09XCJkYXRhXCJcbiAgICAgIFtzaG93SGVhZENlbGxNZW51XT1cInNob3dIZWFkQ2VsbE1lbnVcIlxuICAgIFtjb2x1bW5dPVwiY29sdW1uXCI+PC90ZXRhLXRhYmxlLWhlYWQtZ3JvdXA+XG4gIH1cbn1cbiJdfQ==
@@ -1,30 +1,24 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, } from '@angular/core';
2
2
  import { map, takeWhile } from 'rxjs/operators';
3
3
  import { ArrayUtil } from '../../../../common/util/array-util';
4
+ import { TetaConfigService } from '../../../../locale/teta-config.service';
5
+ import { FilterState } from '../../../filter/contarct/filter-state';
6
+ import { TableColumn } from '../../contract/table-column';
7
+ import { TableService } from '../../service/table.service';
8
+ import { AsyncPipe } from '@angular/common';
9
+ import { ButtonComponent } from '../../../button/button/button.component';
10
+ import { ToolbarComponent } from '../../../toolbar/toolbar/toolbar.component';
11
+ import { TreeItemToggleComponent } from '../../../tree/tree-item-toggle/tree-item-toggle.component';
12
+ import { TetaTemplateDirective } from '../../../../directive/teta-template/teta-template.directive';
13
+ import { TreeComponent } from '../../../tree/tree/tree.component';
14
+ import { ScrollableComponent } from '../../../../directive/scrollable/scrollable/scrollable.component';
15
+ import { FormsModule } from '@angular/forms';
16
+ import { CheckboxComponent } from '../../../checkbox/checkbox/checkbox.component';
4
17
  import * as i0 from "@angular/core";
5
18
  import * as i1 from "../../service/table.service";
6
19
  import * as i2 from "../../../../locale/teta-config.service";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/forms";
9
- import * as i5 from "../../../checkbox/checkbox/checkbox.component";
10
- import * as i6 from "../../../button/button/button.component";
11
- import * as i7 from "../../../tree/tree/tree.component";
12
- import * as i8 from "../../../../directive/teta-template/teta-template.directive";
13
- import * as i9 from "../../../tree/tree-item-toggle/tree-item-toggle.component";
14
- import * as i10 from "../../../toolbar/toolbar/toolbar.component";
15
- import * as i11 from "../../../../directive/scrollable/scrollable/scrollable.component";
20
+ import * as i3 from "@angular/forms";
16
21
  export class VisibilityDropdownTabComponent {
17
- _svc;
18
- _config;
19
- _elementRef;
20
- _cdr;
21
- columns;
22
- column;
23
- state;
24
- data;
25
- close;
26
- locale;
27
- hiddenColumns;
28
22
  get openItems() {
29
23
  if (this._openItems == null) {
30
24
  this._openItems = this.columns.map(_ => _);
@@ -37,13 +31,34 @@ export class VisibilityDropdownTabComponent {
37
31
  get childMode() {
38
32
  return this.columns.find((_) => _.columns?.length > 0);
39
33
  }
40
- _openItems;
41
- _alive = true;
42
34
  constructor(_svc, _config, _elementRef, _cdr) {
43
35
  this._svc = _svc;
44
36
  this._config = _config;
45
37
  this._elementRef = _elementRef;
46
38
  this._cdr = _cdr;
39
+ this._alive = true;
40
+ this.compareItems = (item) => item.name;
41
+ this.setChildrenVisibility = (column, visible, hiddenColumns) => {
42
+ if (visible) {
43
+ this.showColumn(column, hiddenColumns);
44
+ }
45
+ else {
46
+ this.hideColumn(column, hiddenColumns);
47
+ }
48
+ if (column.columns) {
49
+ column.columns.forEach(x => {
50
+ this.setChildrenVisibility(x, visible, hiddenColumns);
51
+ });
52
+ }
53
+ };
54
+ this.setParentsVisibility = (column, visible, hiddenColumns) => {
55
+ if (!visible) {
56
+ this.hideParents(column, hiddenColumns);
57
+ }
58
+ else {
59
+ this.showParents(column, hiddenColumns);
60
+ }
61
+ };
47
62
  this.locale = this._config.locale;
48
63
  this._svc.hiddenColumns
49
64
  .pipe(takeWhile(_ => this._alive), map(_ => [..._]))
@@ -76,32 +91,10 @@ export class VisibilityDropdownTabComponent {
76
91
  setColumnsVisibility() {
77
92
  this._svc.setHiddenColumns(this.hiddenColumns);
78
93
  }
79
- compareItems = (item) => item.name;
80
94
  setColumnVisibility(item, visible) {
81
95
  this.setChildrenVisibility(item, visible, this.hiddenColumns);
82
96
  this.setParentsVisibility(item, visible, this.hiddenColumns);
83
97
  }
84
- setChildrenVisibility = (column, visible, hiddenColumns) => {
85
- if (visible) {
86
- this.showColumn(column, hiddenColumns);
87
- }
88
- else {
89
- this.hideColumn(column, hiddenColumns);
90
- }
91
- if (column.columns) {
92
- column.columns.forEach(x => {
93
- this.setChildrenVisibility(x, visible, hiddenColumns);
94
- });
95
- }
96
- };
97
- setParentsVisibility = (column, visible, hiddenColumns) => {
98
- if (!visible) {
99
- this.hideParents(column, hiddenColumns);
100
- }
101
- else {
102
- this.showParents(column, hiddenColumns);
103
- }
104
- };
105
98
  showParents(column, hiddenColumns) {
106
99
  const parent = this.findParentColumn(column, this.columns);
107
100
  if (parent && this.columnIsHidden(parent)) {
@@ -131,13 +124,23 @@ export class VisibilityDropdownTabComponent {
131
124
  ngOnDestroy() {
132
125
  this._alive = false;
133
126
  }
134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: VisibilityDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
135
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: VisibilityDropdownTabComponent, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i7.TreeComponent, selector: "teta-tree", inputs: ["data", "padding", "childNodeName", "virtual", "height", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { kind: "directive", type: i8.TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }, { kind: "component", type: i9.TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }, { kind: "component", type: i10.ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: i11.ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: VisibilityDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: VisibilityDropdownTabComponent, isStandalone: true, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n @if (item.columns?.length > 0) {\n <teta-tree-item-toggle [item]=\"item\"></teta-tree-item-toggle>\n }\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n}\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: TreeComponent, selector: "teta-tree", inputs: ["data", "padding", "childNodeName", "virtual", "height", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { kind: "directive", type: TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }, { kind: "component", type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }, { kind: "component", type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
136
129
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: VisibilityDropdownTabComponent, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: VisibilityDropdownTabComponent, decorators: [{
138
131
  type: Component,
139
- args: [{ selector: 'teta-visibility-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"] }]
140
- }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
132
+ args: [{ selector: 'teta-visibility-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
133
+ CheckboxComponent,
134
+ FormsModule,
135
+ ScrollableComponent,
136
+ TreeComponent,
137
+ TetaTemplateDirective,
138
+ TreeItemToggleComponent,
139
+ ToolbarComponent,
140
+ ButtonComponent,
141
+ AsyncPipe,
142
+ ], template: "@if (locale | async; as loc) {\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n @if (item.columns?.length > 0) {\n <teta-tree-item-toggle [item]=\"item\"></teta-tree-item-toggle>\n }\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n}\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"] }]
143
+ }], ctorParameters: () => [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { columns: [{
141
144
  type: Input
142
145
  }], column: [{
143
146
  type: Input
@@ -148,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
148
151
  }], close: [{
149
152
  type: Input
150
153
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS1kcm9wZG93bi10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS1oZWFkL3Zpc2liaWxpdHktZHJvcGRvd24tdGFiL3Zpc2liaWxpdHktZHJvcGRvd24tdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvdGFibGUtaGVhZC92aXNpYmlsaXR5LWRyb3Bkb3duLXRhYi92aXNpYmlsaXR5LWRyb3Bkb3duLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFhL0QsTUFBTSxPQUFPLDhCQUE4QjtJQTZCL0I7SUFDQTtJQUNBO0lBQ0E7SUEvQkQsT0FBTyxDQUFjO0lBQ3JCLE1BQU0sQ0FBYztJQUNwQixLQUFLLENBQWM7SUFDbkIsSUFBSSxDQUFNO0lBQ1YsS0FBSyxDQUFhO0lBRTNCLE1BQU0sQ0FBK0I7SUFDckMsYUFBYSxDQUFXO0lBRXhCLElBQUksU0FBUztRQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxTQUFzQjtRQUNsQyxJQUFJLENBQUMs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TUFBTTs0TEFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJVHJlZURhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS10cmVlLWRhdGEnO1xuaW1wb3J0IHsgQXJyYXlVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWwvYXJyYXktdXRpbCc7XG5pbXBvcnQgeyBUZXRhQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRldGFMb2NhbGlzYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHsgRmlsdGVyU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvdGFibGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtdmlzaWJpbGl0eS1kcm9wZG93bi10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlzaWJpbGl0eS1kcm9wZG93bi10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aXNpYmlsaXR5LWRyb3Bkb3duLXRhYi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVmlzaWJpbGl0eURyb3Bkb3duVGFiQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgY29sdW1uczogSVRyZWVEYXRhW107XG4gIEBJbnB1dCgpIGNvbHVtbjogVGFibGVDb2x1bW47XG4gIEBJbnB1dCgpIHN0YXRlOiBGaWx0ZXJTdGF0ZTtcbiAgQElucHV0KCkgZGF0YTogVFtdO1xuICBASW5wdXQoKSBjbG9zZTogKCkgPT4gdm9pZDtcblxuICBsb2NhbGU6IE9ic2VydmFibGU8VGV0YUxvY2FsaXNhdGlvbj47XG4gIGhpZGRlbkNvbHVtbnM6IHN0cmluZ1tdO1xuXG4gIGdldCBvcGVuSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuX29wZW5JdGVtcyA9PSBudWxsKSB7XG4gICAgICB0aGlzLl9vcGVuSXRlbXMgPSB0aGlzLmNvbHVtbnMubWFwKF8gPT4gXyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9vcGVuSXRlbXM7XG4gIH1cblxuICBzZXQgb3Blbkl0ZW1zKG9wZW5JdGVtczogSVRyZWVEYXRhW10pIHtcbiAgICB0aGlzLl9vcGVuSXRlbXMgPSBvcGVuSXRlbXM7XG4gIH1cblxuICBnZXQgY2hpbGRNb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmluZCgoXzogYW55KSA9PiBfLmNvbHVtbnM/Lmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3Blbkl0ZW1zOiBJVHJlZURhdGFbXTtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3N2YzogVGFibGVTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgX2NvbmZpZzogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMubG9jYWxlID0gdGhpcy5fY29uZmlnLmxvY2FsZTtcbiAgICB0aGlzLl9zdmMuaGlkZGVuQ29sdW1uc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgbWFwKF8gPT4gWy4uLl9dKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5oaWRkZW5Db2x1bW5zID0gXztcbiAgICAgIH0pO1xuICB9XG5cbiAgY29sdW1uSXNIaWRkZW4oY29sdW1uOiBUYWJsZUNvbHVtbikge1xuICAgIHJldHVybiB0aGlzLmhpZGRlbkNvbHVtbnMuaW5kZXhPZihjb2x1bW4ubmFtZSkgPj0gMDtcbiAgfVxuXG4gIGFsbENvbHVtbnNWaXNpYmxlKCkge1xuICAgIGlmICh0aGlzLmhpZGRlbkNvbHVtbnM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgY29sdW1ucyA9IEFycmF5VXRpbC5mbGF0dGVuKHRoaXMuY29sdW1ucywgJ2NvbHVtbnMnKTtcbiAgICBjb25zdCBub3RIaWRkZW4gPSBjb2x1bW5zLmZpbmQoXyA9PiB0aGlzLmhpZGRlbkNvbHVtbnMuaW5kZXhPZihfLm5hbWUpIDwgMCk7XG4gICAgaWYgKCFub3RIaWRkZW4pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXRBbGxDb2x1bW5zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmhpZGRlbkNvbHVtbnMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oaWRkZW5Db2x1bW5zID0gQXJyYXlVdGlsLmZsYXR0ZW4odGhpcy5jb2x1bW5zLCAnY29sdW1ucycpLm1hcChcbiAgICAgICAgXyA9PiBfLm5hbWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc2V0Q29sdW1uc1Zpc2liaWxpdHkoKSB7XG4gICAgdGhpcy5fc3ZjLnNldEhpZGRlbkNvbHVtbnModGhpcy5oaWRkZW5Db2x1bW5zKTtcbiAgfVxuXG4gIGNvbXBhcmVJdGVtcyA9IChpdGVtOiBUYWJsZUNvbHVtbikgPT4gaXRlbS5uYW1lO1xuXG4gIHNldENvbHVtblZpc2liaWxpdHkoaXRlbTogVGFibGVDb2x1bW4sIHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldENoaWxkcmVuVmlzaWJpbGl0eShpdGVtLCB2aXNpYmxlLCB0aGlzLmhpZGRlbkNvbHVtbnMpO1xuICAgIHRoaXMuc2V0UGFyZW50c1Zpc2liaWxpdHkoaXRlbSwgdmlzaWJsZSwgdGhpcy5oaWRkZW5Db2x1bW5zKTtcbiAgfVxuXG4gIHNldENoaWxkcmVuVmlzaWJpbGl0eSA9IChcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uLFxuICAgIHZpc2libGU6IGJvb2xlYW4sXG4gICAgaGlkZGVuQ29sdW1uczogc3RyaW5nW11cbiAgKSA9PiB7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIHRoaXMuc2hvd0NvbHVtbihjb2x1bW4sIGhpZGRlbkNvbHVtbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhpZGVDb2x1bW4oY29sdW1uLCBoaWRkZW5Db2x1bW5zKTtcbiAgICB9XG4gICAgaWYgKGNvbHVtbi5jb2x1bW5zKSB7XG4gICAgICBjb2x1bW4uY29sdW1ucy5mb3JFYWNoKHggPT4ge1xuICAgICAgICB0aGlzLnNldENoaWxkcmVuVmlzaWJpbGl0eSh4LCB2aXNpYmxlLCBoaWRkZW5Db2x1bW5zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBzZXRQYXJlbnRzVmlzaWJpbGl0eSA9IChcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uLFxuICAgIHZpc2libGU6IGJvb2xlYW4sXG4gICAgaGlkZGVuQ29sdW1uczogc3RyaW5nW11cbiAgKSA9PiB7XG4gICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICB0aGlzLmhpZGVQYXJlbnRzKGNvbHVtbiwgaGlkZGVuQ29sdW1ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd1BhcmVudHMoY29sdW1uLCBoaWRkZW5Db2x1bW5zKTtcbiAgICB9XG4gIH07XG5cbiAgc2hvd1BhcmVudHMoY29sdW1uOiBUYWJsZUNvbHVtbiwgaGlkZGVuQ29sdW1uczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmZpbmRQYXJlbnRDb2x1bW4oY29sdW1uLCB0aGlzLmNvbHVtbnMgYXMgVGFibGVDb2x1bW5bXSk7XG4gICAgaWYgKHBhcmVudCAmJiB0aGlzLmNvbHVtbklzSGlkZGVuKHBhcmVudCkpIHtcbiAgICAgIHRoaXMuc2hvd0NvbHVtbihwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgICAgdGhpcy5zaG93UGFyZW50cyhwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGVQYXJlbnRzKGNvbHVtbjogVGFibGVDb2x1bW4sIGhpZGRlbkNvbHVtbnM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5maW5kUGFyZW50Q29sdW1uKGNvbHVtbiwgdGhpcy5jb2x1bW5zIGFzIFRhYmxlQ29sdW1uW10pO1xuICAgIGlmIChcbiAgICAgIHBhcmVudCAmJlxuICAgICAgIXRoaXMuY29sdW1uSXNIaWRkZW4ocGFyZW50KSAmJlxuICAgICAgcGFyZW50LmNvbHVtbnMgJiZcbiAgICAgIHBhcmVudC5jb2x1bW5zLmV2ZXJ5KF8gPT4gdGhpcy5jb2x1bW5Jc0hpZGRlbihfKSlcbiAgICApIHtcbiAgICAgIHRoaXMuaGlkZUNvbHVtbihwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgICAgdGhpcy5oaWRlUGFyZW50cyhwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGVDb2x1bW4oY29sdW1uOiBUYWJsZUNvbHVtbiwgaGlkZGVuQ29sdW1uczogc3RyaW5nW10pIHtcbiAgICBoaWRkZW5Db2x1bW5zLnB1c2goY29sdW1uLm5hbWUpO1xuICB9XG5cbiAgc2hvd0NvbHVtbihjb2x1bW46IFRhYmxlQ29sdW1uLCBoaWRkZW5Db2x1bW5zOiBzdHJpbmdbXSkge1xuICAgIGhpZGRlbkNvbHVtbnMuc3BsaWNlKGhpZGRlbkNvbHVtbnMuaW5kZXhPZihjb2x1bW4ubmFtZSksIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUGFyZW50Q29sdW1uKFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW4sXG4gICAgY29sdW1uczogVGFibGVDb2x1bW5bXVxuICApOiBUYWJsZUNvbHVtbiB8IG51bGwge1xuICAgIHJldHVybiBBcnJheVV0aWwuZmluZFJlY3Vyc2l2ZShcbiAgICAgIGNvbHVtbnMsXG4gICAgICBpdGVyYWJsZU5vZGUgPT4gaXRlcmFibGVOb2RlLmNvbHVtbnM/LmluZGV4T2YoY29sdW1uKSA+PSAwLFxuICAgICAgJ2NvbHVtbnMnXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2NhbGUgfCBhc3luYyBhcyBsb2NcIj5cbiAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSBwYWRkaW5nLWxlZnQtNiBwYWRkaW5nLXRvcC0yXCIgW2NsYXNzLnBhZGRpbmctbGVmdC05XT1cImNoaWxkTW9kZVwiPlxuICAgIDx0ZXRhLWNoZWNrYm94IFtiaW5hcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgW2FsbG93TnVsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDb2x1bW5zVmlzaWJsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRBbGxDb2x1bW5zKCRldmVudClcIj5cbiAgICAgIHt7bG9jLmFsbH19XG4gICAgPC90ZXRhLWNoZWNrYm94PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImxpc3QtZGl2aWRlclwiPjwvZGl2PlxuICA8dGV0YS1zY3JvbGxhYmxlIGNsYXNzPVwicGFkZGluZy12LTIgY29sdW1uIGNvbHVtbl9hdXRvXCI+XG4gICAgPHRldGEtdHJlZSBbZGF0YV09XCJjb2x1bW5zXCJcbiAgICAgICAgICAgICAgIFtvcGVuSXRlbXNdPVwib3Blbkl0ZW1zXCJcbiAgICAgICAgICAgICAgIChvcGVuSXRlbXNDaGFuZ2UpPVwib3Blbkl0ZW1zID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgIFtjaGlsZE5vZGVOYW1lXT1cIidjb2x1bW5zJ1wiXG4gICAgICAgICAgICAgICBbY29tcGFyZUl0ZW1zXT1cImNvbXBhcmVJdGVtc1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIHRldGFUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRyZWVfX2l0ZW1cIiBzdHlsZT1cImFsaWduLWl0ZW1zOiB1bnNldFwiPlxuICAgICAgICAgIDx0ZXRhLXRyZWUtaXRlbS10b2dnbGUgW2l0ZW1dPVwiaXRlbVwiICpuZ0lmPVwiaXRlbS5jb2x1bW5zPy5sZW5ndGggPiAwXCI+PC90ZXRhLXRyZWUtaXRlbS10b2dnbGU+XG4gICAgICAgICAgPHRldGEtY2hlY2tib3hcbiAgICAgICAgICAgIHN0eWxlPVwiZmxleC1ncm93OiAxO1wiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCIhY29sdW1uSXNIaWRkZW4oaXRlbSlcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q29sdW1uVmlzaWJpbGl0eShpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7e2l0ZW0uY2FwdGlvbn19XG4gICAgICAgICAgPC90ZXRhLWNoZWNrYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90ZXRhLXRyZWU+XG4gIDwvdGV0YS1zY3JvbGxhYmxlPlxuICA8dGV0YS10b29sYmFyIGNsYXNzPVwianVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICB0ZXRhLWJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFsbENvbHVtbnNWaXNpYmxlKCkgPT09IGZhbHNlXCJcbiAgICAgICAgICAgIFtwYWxldHRlXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0Q29sdW1uc1Zpc2liaWxpdHkoKVwiPlxuICAgICAge3tsb2MuYXBwbHl9fVxuICAgIDwvYnV0dG9uPlxuICA8L3RldGEtdG9vbGJhcj5cbjwvbmctY29udGFpbmVyPlxuIl19
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS1kcm9wZG93bi10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS1oZWFkL3Zpc2liaWxpdHktZHJvcGRvd24tdGFiL3Zpc2liaWxpdHktZHJvcGRvd24tdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvdGFibGUtaGVhZC92aXNpYmlsaXR5LWRyb3Bkb3duLXRhYi92aXNpYmlsaXR5LWRyb3Bkb3duLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFN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c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSVRyZWVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktdHJlZS1kYXRhJztcbmltcG9ydCB7IEFycmF5VXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlsL2FycmF5LXV0aWwnO1xuaW1wb3J0IHsgVGV0YUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9sb2NhbGUvdGV0YS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBUZXRhTG9jYWxpc2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7IEZpbHRlclN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1zdGF0ZSc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdG9vbGJhci90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVJdGVtVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdHJlZS90cmVlLWl0ZW0tdG9nZ2xlL3RyZWUtaXRlbS10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRldGFUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZS90ZXRhLXRlbXBsYXRlL3RldGEtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi90cmVlL3RyZWUvdHJlZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2Nyb2xsYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZS9zY3JvbGxhYmxlL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NoZWNrYm94L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGV0YS12aXNpYmlsaXR5LWRyb3Bkb3duLXRhYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Zpc2liaWxpdHktZHJvcGRvd24tdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi92aXNpYmlsaXR5LWRyb3Bkb3duLXRhYi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFNjcm9sbGFibGVDb21wb25lbnQsXG4gICAgICAgIFRyZWVDb21wb25lbnQsXG4gICAgICAgIFRldGFUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgVHJlZUl0ZW1Ub2dnbGVDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc2liaWxpdHlEcm9wZG93blRhYkNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IElUcmVlRGF0YVtdO1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzdGF0ZTogRmlsdGVyU3RhdGU7XG4gIEBJbnB1dCgpIGRhdGE6IFRbXTtcbiAgQElucHV0KCkgY2xvc2U6ICgpID0+IHZvaWQ7XG5cbiAgbG9jYWxlOiBPYnNlcnZhYmxlPFRldGFMb2NhbGlzYXRpb24+O1xuICBoaWRkZW5Db2x1bW5zOiBzdHJpbmdbXTtcblxuICBnZXQgb3Blbkl0ZW1zKCkge1xuICAgIGlmICh0aGlzLl9vcGVuSXRlbXMgPT0gbnVsbCkge1xuICAgICAgdGhpcy5fb3Blbkl0ZW1zID0gdGhpcy5jb2x1bW5zLm1hcChfID0+IF8pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fb3Blbkl0ZW1zO1xuICB9XG5cbiAgc2V0IG9wZW5JdGVtcyhvcGVuSXRlbXM6IElUcmVlRGF0YVtdKSB7XG4gICAgdGhpcy5fb3Blbkl0ZW1zID0gb3Blbkl0ZW1zO1xuICB9XG5cbiAgZ2V0IGNoaWxkTW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmZpbmQoKF86IGFueSkgPT4gXy5jb2x1bW5zPy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX29wZW5JdGVtczogSVRyZWVEYXRhW107XG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcml2YXRlIF9jb25maWc6IFRldGFDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLmxvY2FsZSA9IHRoaXMuX2NvbmZpZy5sb2NhbGU7XG4gICAgdGhpcy5fc3ZjLmhpZGRlbkNvbHVtbnNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoXyA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIG1hcChfID0+IFsuLi5fXSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMuaGlkZGVuQ29sdW1ucyA9IF87XG4gICAgICB9KTtcbiAgfVxuXG4gIGNvbHVtbklzSGlkZGVuKGNvbHVtbjogVGFibGVDb2x1bW4pIHtcbiAgICByZXR1cm4gdGhpcy5oaWRkZW5Db2x1bW5zLmluZGV4T2YoY29sdW1uLm5hbWUpID49IDA7XG4gIH1cblxuICBhbGxDb2x1bW5zVmlzaWJsZSgpIHtcbiAgICBpZiAodGhpcy5oaWRkZW5Db2x1bW5zPy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGNvbHVtbnMgPSBBcnJheVV0aWwuZmxhdHRlbih0aGlzLmNvbHVtbnMsICdjb2x1bW5zJyk7XG4gICAgY29uc3Qgbm90SGlkZGVuID0gY29sdW1ucy5maW5kKF8gPT4gdGhpcy5oaWRkZW5Db2x1bW5zLmluZGV4T2YoXy5uYW1lKSA8IDApO1xuICAgIGlmICghbm90SGlkZGVuKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc2V0QWxsQ29sdW1ucyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5oaWRkZW5Db2x1bW5zID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGlkZGVuQ29sdW1ucyA9IEFycmF5VXRpbC5mbGF0dGVuKHRoaXMuY29sdW1ucywgJ2NvbHVtbnMnKS5tYXAoXG4gICAgICAgIF8gPT4gXy5uYW1lXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNldENvbHVtbnNWaXNpYmlsaXR5KCkge1xuICAgIHRoaXMuX3N2Yy5zZXRIaWRkZW5Db2x1bW5zKHRoaXMuaGlkZGVuQ29sdW1ucyk7XG4gIH1cblxuICBjb21wYXJlSXRlbXMgPSAoaXRlbTogYW55KSA9PiBpdGVtLm5hbWUgO1xuXG4gIHNldENvbHVtblZpc2liaWxpdHkoaXRlbTogVGFibGVDb2x1bW4sIHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldENoaWxkcmVuVmlzaWJpbGl0eShpdGVtLCB2aXNpYmxlLCB0aGlzLmhpZGRlbkNvbHVtbnMpO1xuICAgIHRoaXMuc2V0UGFyZW50c1Zpc2liaWxpdHkoaXRlbSwgdmlzaWJsZSwgdGhpcy5oaWRkZW5Db2x1bW5zKTtcbiAgfVxuXG4gIHNldENoaWxkcmVuVmlzaWJpbGl0eSA9IChcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uLFxuICAgIHZpc2libGU6IGJvb2xlYW4sXG4gICAgaGlkZGVuQ29sdW1uczogc3RyaW5nW11cbiAgKSA9PiB7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIHRoaXMuc2hvd0NvbHVtbihjb2x1bW4sIGhpZGRlbkNvbHVtbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhpZGVDb2x1bW4oY29sdW1uLCBoaWRkZW5Db2x1bW5zKTtcbiAgICB9XG4gICAgaWYgKGNvbHVtbi5jb2x1bW5zKSB7XG4gICAgICBjb2x1bW4uY29sdW1ucy5mb3JFYWNoKHggPT4ge1xuICAgICAgICB0aGlzLnNldENoaWxkcmVuVmlzaWJpbGl0eSh4LCB2aXNpYmxlLCBoaWRkZW5Db2x1bW5zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBzZXRQYXJlbnRzVmlzaWJpbGl0eSA9IChcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uLFxuICAgIHZpc2libGU6IGJvb2xlYW4sXG4gICAgaGlkZGVuQ29sdW1uczogc3RyaW5nW11cbiAgKSA9PiB7XG4gICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICB0aGlzLmhpZGVQYXJlbnRzKGNvbHVtbiwgaGlkZGVuQ29sdW1ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd1BhcmVudHMoY29sdW1uLCBoaWRkZW5Db2x1bW5zKTtcbiAgICB9XG4gIH07XG5cbiAgc2hvd1BhcmVudHMoY29sdW1uOiBUYWJsZUNvbHVtbiwgaGlkZGVuQ29sdW1uczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmZpbmRQYXJlbnRDb2x1bW4oY29sdW1uLCB0aGlzLmNvbHVtbnMgYXMgVGFibGVDb2x1bW5bXSk7XG4gICAgaWYgKHBhcmVudCAmJiB0aGlzLmNvbHVtbklzSGlkZGVuKHBhcmVudCkpIHtcbiAgICAgIHRoaXMuc2hvd0NvbHVtbihwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgICAgdGhpcy5zaG93UGFyZW50cyhwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGVQYXJlbnRzKGNvbHVtbjogVGFibGVDb2x1bW4sIGhpZGRlbkNvbHVtbnM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5maW5kUGFyZW50Q29sdW1uKGNvbHVtbiwgdGhpcy5jb2x1bW5zIGFzIFRhYmxlQ29sdW1uW10pO1xuICAgIGlmIChcbiAgICAgIHBhcmVudCAmJlxuICAgICAgIXRoaXMuY29sdW1uSXNIaWRkZW4ocGFyZW50KSAmJlxuICAgICAgcGFyZW50LmNvbHVtbnMgJiZcbiAgICAgIHBhcmVudC5jb2x1bW5zLmV2ZXJ5KF8gPT4gdGhpcy5jb2x1bW5Jc0hpZGRlbihfKSlcbiAgICApIHtcbiAgICAgIHRoaXMuaGlkZUNvbHVtbihwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgICAgdGhpcy5oaWRlUGFyZW50cyhwYXJlbnQsIGhpZGRlbkNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGVDb2x1bW4oY29sdW1uOiBUYWJsZUNvbHVtbiwgaGlkZGVuQ29sdW1uczogc3RyaW5nW10pIHtcbiAgICBoaWRkZW5Db2x1bW5zLnB1c2goY29sdW1uLm5hbWUpO1xuICB9XG5cbiAgc2hvd0NvbHVtbihjb2x1bW46IFRhYmxlQ29sdW1uLCBoaWRkZW5Db2x1bW5zOiBzdHJpbmdbXSkge1xuICAgIGhpZGRlbkNvbHVtbnMuc3BsaWNlKGhpZGRlbkNvbHVtbnMuaW5kZXhPZihjb2x1bW4ubmFtZSksIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUGFyZW50Q29sdW1uKFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW4sXG4gICAgY29sdW1uczogVGFibGVDb2x1bW5bXVxuICApOiBUYWJsZUNvbHVtbiB8IG51bGwge1xuICAgIHJldHVybiBBcnJheVV0aWwuZmluZFJlY3Vyc2l2ZShcbiAgICAgIGNvbHVtbnMsXG4gICAgICBpdGVyYWJsZU5vZGUgPT4gaXRlcmFibGVOb2RlLmNvbHVtbnM/LmluZGV4T2YoY29sdW1uKSA+PSAwLFxuICAgICAgJ2NvbHVtbnMnXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIkBpZiAobG9jYWxlIHwgYXN5bmM7IGFzIGxvYykge1xuICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIHBhZGRpbmctbGVmdC02IHBhZGRpbmctdG9wLTJcIiBbY2xhc3MucGFkZGluZy1sZWZ0LTldPVwiY2hpbGRNb2RlXCI+XG4gICAgPHRldGEtY2hlY2tib3ggW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgIFthbGxvd051bGxdPVwidHJ1ZVwiXG4gICAgICBbbmdNb2RlbF09XCJhbGxDb2x1bW5zVmlzaWJsZSgpXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldEFsbENvbHVtbnMoJGV2ZW50KVwiPlxuICAgICAge3tsb2MuYWxsfX1cbiAgICA8L3RldGEtY2hlY2tib3g+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibGlzdC1kaXZpZGVyXCI+PC9kaXY+XG4gIDx0ZXRhLXNjcm9sbGFibGUgY2xhc3M9XCJwYWRkaW5nLXYtMiBjb2x1bW4gY29sdW1uX2F1dG9cIj5cbiAgICA8dGV0YS10cmVlIFtkYXRhXT1cImNvbHVtbnNcIlxuICAgICAgW29wZW5JdGVtc109XCJvcGVuSXRlbXNcIlxuICAgICAgKG9wZW5JdGVtc0NoYW5nZSk9XCJvcGVuSXRlbXMgPSAkZXZlbnRcIlxuICAgICAgW2NoaWxkTm9kZU5hbWVdPVwiJ2NvbHVtbnMnXCJcbiAgICAgIFtjb21wYXJlSXRlbXNdPVwiY29tcGFyZUl0ZW1zXCI+XG4gICAgICA8bmctdGVtcGxhdGUgdGV0YVRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJlZV9faXRlbVwiIHN0eWxlPVwiYWxpZ24taXRlbXM6IHVuc2V0XCI+XG4gICAgICAgICAgQGlmIChpdGVtLmNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIDx0ZXRhLXRyZWUtaXRlbS10b2dnbGUgW2l0ZW1dPVwiaXRlbVwiPjwvdGV0YS10cmVlLWl0ZW0tdG9nZ2xlPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8dGV0YS1jaGVja2JveFxuICAgICAgICAgICAgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIiFjb2x1bW5Jc0hpZGRlbihpdGVtKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRDb2x1bW5WaXNpYmlsaXR5KGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICBbYmluYXJ5XT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAge3tpdGVtLmNhcHRpb259fVxuICAgICAgICAgIDwvdGV0YS1jaGVja2JveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdGV0YS10cmVlPlxuICA8L3RldGEtc2Nyb2xsYWJsZT5cbiAgPHRldGEtdG9vbGJhciBjbGFzcz1cImp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgdGV0YS1idXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCJhbGxDb2x1bW5zVmlzaWJsZSgpID09PSBmYWxzZVwiXG4gICAgICBbcGFsZXR0ZV09XCIncHJpbWFyeSdcIlxuICAgICAgKGNsaWNrKT1cInNldENvbHVtbnNWaXNpYmlsaXR5KClcIj5cbiAgICAgIHt7bG9jLmFwcGx5fX1cbiAgICA8L2J1dHRvbj5cbiAgPC90ZXRhLXRvb2xiYXI+XG59XG4iXX0=