ngx-tethys 18.0.0-next.0 → 18.0.0-next.2

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 (404) hide show
  1. package/CHANGELOG.md +161 -1
  2. package/action/action.component.d.ts +3 -3
  3. package/alert/alert.component.d.ts +1 -1
  4. package/anchor/anchor.component.d.ts +3 -1
  5. package/autocomplete/autocomplete.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.trigger.directive.d.ts +1 -1
  7. package/avatar/avatar.component.d.ts +4 -4
  8. package/badge/badge.component.d.ts +3 -3
  9. package/breadcrumb/breadcrumb.component.d.ts +30 -2
  10. package/breadcrumb/module.d.ts +3 -1
  11. package/breadcrumb/styles/breadcrumb.scss +8 -0
  12. package/button/button-icon.component.d.ts +2 -2
  13. package/button/button.component.d.ts +2 -2
  14. package/button/styles/button.scss +5 -5
  15. package/card/card.component.d.ts +3 -3
  16. package/card/content.component.d.ts +1 -1
  17. package/carousel/carousel.component.d.ts +4 -4
  18. package/cascader/cascader-li.component.d.ts +5 -5
  19. package/cascader/cascader-search-option.component.d.ts +3 -3
  20. package/cascader/cascader.component.d.ts +8 -8
  21. package/checkbox/checkbox.component.d.ts +1 -1
  22. package/collapse/collapse-item.component.d.ts +2 -2
  23. package/collapse/collapse.component.d.ts +1 -1
  24. package/color-picker/color-picker-panel.component.d.ts +1 -1
  25. package/color-picker/color-picker.component.d.ts +3 -3
  26. package/copy/copy.directive.d.ts +1 -1
  27. package/core/behaviors/decorators.d.ts +1 -1
  28. package/core/overlay/abstract-overlay.config.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +15 -8
  30. package/date-picker/abstract-picker.directive.d.ts +3 -3
  31. package/date-picker/base-picker.component.d.ts +2 -2
  32. package/date-picker/date-picker.config.d.ts +1 -0
  33. package/date-picker/date-picker.service.d.ts +1 -0
  34. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
  35. package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
  36. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  37. package/date-picker/picker.component.d.ts +1 -1
  38. package/date-picker/picker.util.d.ts +2 -0
  39. package/date-range/date-range.component.d.ts +8 -2
  40. package/dialog/body/dialog-body.component.d.ts +1 -1
  41. package/dialog/footer/dialog-footer.component.d.ts +1 -1
  42. package/dialog/header/dialog-header.component.d.ts +1 -1
  43. package/divider/divider.component.d.ts +2 -2
  44. package/drag-drop/drag-handle.directive.d.ts +1 -1
  45. package/drag-drop/drag.directive.d.ts +1 -1
  46. package/drag-drop/drop-container.directive.d.ts +1 -1
  47. package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
  48. package/dropdown/dropdown-menu.component.d.ts +1 -1
  49. package/dropdown/dropdown.directive.d.ts +1 -1
  50. package/empty/empty.component.d.ts +1 -1
  51. package/esm2022/action/action.component.mjs +7 -6
  52. package/esm2022/alert/alert.component.mjs +5 -5
  53. package/esm2022/anchor/anchor.component.mjs +5 -5
  54. package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
  55. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
  56. package/esm2022/avatar/avatar.component.mjs +8 -8
  57. package/esm2022/badge/badge.component.mjs +7 -6
  58. package/esm2022/breadcrumb/breadcrumb.component.mjs +73 -32
  59. package/esm2022/breadcrumb/module.mjs +6 -4
  60. package/esm2022/button/button-icon.component.mjs +6 -5
  61. package/esm2022/button/button.component.mjs +6 -6
  62. package/esm2022/card/card.component.mjs +7 -6
  63. package/esm2022/card/content.component.mjs +5 -4
  64. package/esm2022/carousel/carousel.component.mjs +8 -7
  65. package/esm2022/cascader/cascader-li.component.mjs +9 -8
  66. package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
  67. package/esm2022/cascader/cascader.component.mjs +19 -12
  68. package/esm2022/checkbox/checkbox.component.mjs +5 -4
  69. package/esm2022/collapse/collapse-item.component.mjs +6 -6
  70. package/esm2022/collapse/collapse.component.mjs +5 -4
  71. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
  72. package/esm2022/color-picker/color-picker.component.mjs +7 -6
  73. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +1 -1
  74. package/esm2022/copy/copy.directive.mjs +5 -4
  75. package/esm2022/core/behaviors/decorators.mjs +2 -2
  76. package/esm2022/core/overlay/abstract-overlay.config.mjs +7 -1
  77. package/esm2022/date-picker/abstract-picker.component.mjs +28 -17
  78. package/esm2022/date-picker/abstract-picker.directive.mjs +8 -7
  79. package/esm2022/date-picker/base-picker.component.mjs +5 -5
  80. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  81. package/esm2022/date-picker/date-picker.config.mjs +2 -1
  82. package/esm2022/date-picker/date-picker.service.mjs +4 -1
  83. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  84. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  85. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  86. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  87. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +7 -4
  88. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
  89. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  90. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  91. package/esm2022/date-picker/picker.component.mjs +5 -5
  92. package/esm2022/date-picker/picker.util.mjs +14 -2
  93. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  94. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  95. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  96. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  97. package/esm2022/date-range/date-range.component.mjs +6 -5
  98. package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
  99. package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
  100. package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
  101. package/esm2022/divider/divider.component.mjs +6 -5
  102. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
  103. package/esm2022/drag-drop/drag.directive.mjs +5 -4
  104. package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
  105. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
  106. package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
  107. package/esm2022/dropdown/dropdown.directive.mjs +5 -5
  108. package/esm2022/empty/empty.component.mjs +5 -4
  109. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
  110. package/esm2022/form/form-group-label.directive.mjs +5 -4
  111. package/esm2022/form/form-group.component.mjs +7 -6
  112. package/esm2022/icon/icon.component.mjs +6 -5
  113. package/esm2022/image/image.class.mjs +1 -1
  114. package/esm2022/image/image.directive.mjs +6 -5
  115. package/esm2022/image/index.mjs +6 -5
  116. package/esm2022/image/preview/image-preview.component.mjs +21 -13
  117. package/esm2022/input/input-search.component.mjs +5 -4
  118. package/esm2022/input/input.component.mjs +6 -5
  119. package/esm2022/input-number/input-number.component.mjs +14 -7
  120. package/esm2022/layout/header.component.mjs +7 -6
  121. package/esm2022/layout/sidebar-header.component.mjs +5 -4
  122. package/esm2022/layout/sidebar.component.mjs +12 -11
  123. package/esm2022/list/list.component.mjs +5 -4
  124. package/esm2022/list/selection/selection-list.mjs +7 -7
  125. package/esm2022/loading/loading.component.mjs +6 -5
  126. package/esm2022/mention/mention.directive.mjs +3 -3
  127. package/esm2022/menu/group/menu-group.component.mjs +10 -9
  128. package/esm2022/menu/item/action/menu-item-action.component.mjs +17 -7
  129. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
  130. package/esm2022/menu/menu.component.mjs +5 -4
  131. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
  132. package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
  133. package/esm2022/nav/nav-item.directive.mjs +7 -6
  134. package/esm2022/nav/nav.component.mjs +18 -7
  135. package/esm2022/pagination/pagination.class.mjs +1 -1
  136. package/esm2022/pagination/pagination.component.mjs +22 -10
  137. package/esm2022/pagination/pagination.config.mjs +3 -2
  138. package/esm2022/popover/popover.directive.mjs +6 -5
  139. package/esm2022/popover/popover.service.mjs +2 -1
  140. package/esm2022/property/property-item.component.mjs +6 -5
  141. package/esm2022/property-operation/property-operation.component.mjs +9 -9
  142. package/esm2022/radio/group/radio-group.component.mjs +5 -4
  143. package/esm2022/rate/rate-item.component.mjs +5 -4
  144. package/esm2022/rate/rate.component.mjs +7 -7
  145. package/esm2022/resizable/resizable.directive.mjs +7 -6
  146. package/esm2022/resizable/resize-handle.component.mjs +5 -4
  147. package/esm2022/resizable/resize-handles.component.mjs +5 -4
  148. package/esm2022/segment/segment-item.component.mjs +5 -5
  149. package/esm2022/segment/segment.component.mjs +5 -4
  150. package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
  151. package/esm2022/select/native-select/native-select.component.mjs +5 -5
  152. package/esm2022/shared/base-form-check.component.mjs +6 -5
  153. package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
  154. package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
  155. package/esm2022/shared/directives/thy-show.mjs +5 -4
  156. package/esm2022/shared/option/group/option-group.component.mjs +5 -4
  157. package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
  158. package/esm2022/shared/option/option.component.mjs +5 -5
  159. package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
  160. package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
  161. package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
  162. package/esm2022/skeleton/skeleton.component.mjs +5 -4
  163. package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
  164. package/esm2022/skeleton/stylized/list.component.mjs +5 -4
  165. package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
  166. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
  167. package/esm2022/slider/slider.component.mjs +6 -6
  168. package/esm2022/space/space.component.mjs +5 -4
  169. package/esm2022/stepper/step-header.component.mjs +6 -5
  170. package/esm2022/stepper/stepper.component.mjs +5 -4
  171. package/esm2022/switch/switch.component.mjs +6 -5
  172. package/esm2022/table/table-column.component.mjs +9 -9
  173. package/esm2022/table/table-skeleton.component.mjs +8 -7
  174. package/esm2022/table/table.component.mjs +19 -17
  175. package/esm2022/tabs/tab.component.mjs +5 -4
  176. package/esm2022/tabs/tabs.component.mjs +6 -6
  177. package/esm2022/tag/tag.component.mjs +5 -5
  178. package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
  179. package/esm2022/time-picker/time-picker.component.mjs +9 -9
  180. package/esm2022/timeline/timeline.component.mjs +5 -4
  181. package/esm2022/tooltip/tooltip.directive.mjs +6 -6
  182. package/esm2022/tree/tree-node.component.mjs +9 -8
  183. package/esm2022/tree/tree.component.mjs +32 -11
  184. package/esm2022/tree/tree.service.mjs +3 -3
  185. package/esm2022/tree-select/tree-select.component.mjs +20 -18
  186. package/esm2022/upload/file-select.component.mjs +24 -27
  187. package/esm2022/version.mjs +2 -2
  188. package/esm2022/vote/vote.component.mjs +7 -6
  189. package/esm2022/watermark/watermark.directive.mjs +5 -4
  190. package/fesm2022/ngx-tethys-action.mjs +6 -5
  191. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-alert.mjs +4 -4
  193. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-anchor.mjs +4 -4
  195. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
  197. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-avatar.mjs +7 -7
  199. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-badge.mjs +6 -5
  201. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-breadcrumb.mjs +117 -77
  203. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-button.mjs +8 -8
  205. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-card.mjs +8 -7
  207. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-carousel.mjs +7 -6
  209. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-cascader.mjs +28 -21
  211. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
  213. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-collapse.mjs +7 -7
  215. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-color-picker.mjs +9 -8
  217. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-copy.mjs +4 -3
  219. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-core.mjs +7 -1
  221. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-date-picker.mjs +86 -57
  223. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-date-range.mjs +5 -4
  225. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-dialog.mjs +8 -7
  227. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-divider.mjs +5 -4
  229. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
  231. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
  233. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-empty.mjs +4 -3
  235. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-form.mjs +10 -10
  237. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-icon.mjs +5 -5
  239. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-image.mjs +24 -16
  241. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-input-number.mjs +13 -6
  243. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-input.mjs +7 -6
  245. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-layout.mjs +17 -16
  247. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-list.mjs +8 -8
  249. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-loading.mjs +5 -4
  251. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-mention.mjs +2 -2
  253. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-menu.mjs +26 -16
  255. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-nav.mjs +26 -16
  257. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-pagination.mjs +23 -10
  259. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-popover.mjs +6 -5
  261. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
  263. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-property.mjs +5 -4
  265. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-radio.mjs +7 -6
  267. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-rate.mjs +8 -8
  269. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-resizable.mjs +10 -10
  271. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  273. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-select.mjs +15 -15
  275. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys-shared.mjs +25 -25
  277. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  278. package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
  279. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  280. package/fesm2022/ngx-tethys-slide.mjs +4 -4
  281. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  282. package/fesm2022/ngx-tethys-slider.mjs +5 -5
  283. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  284. package/fesm2022/ngx-tethys-space.mjs +4 -3
  285. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  286. package/fesm2022/ngx-tethys-stepper.mjs +7 -6
  287. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  288. package/fesm2022/ngx-tethys-switch.mjs +5 -4
  289. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  290. package/fesm2022/ngx-tethys-table.mjs +29 -27
  291. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  292. package/fesm2022/ngx-tethys-tabs.mjs +7 -7
  293. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  294. package/fesm2022/ngx-tethys-tag.mjs +4 -4
  295. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  296. package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
  297. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  298. package/fesm2022/ngx-tethys-timeline.mjs +4 -3
  299. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  300. package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
  301. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  302. package/fesm2022/ngx-tethys-tree-select.mjs +14 -11
  303. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  304. package/fesm2022/ngx-tethys-tree.mjs +39 -18
  305. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  306. package/fesm2022/ngx-tethys-upload.mjs +23 -27
  307. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  308. package/fesm2022/ngx-tethys-vote.mjs +6 -5
  309. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  310. package/fesm2022/ngx-tethys-watermark.mjs +4 -3
  311. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  312. package/fesm2022/ngx-tethys.mjs +1 -1
  313. package/fesm2022/ngx-tethys.mjs.map +1 -1
  314. package/form/form-group-error/form-group-error.component.d.ts +1 -1
  315. package/form/form-group-label.directive.d.ts +1 -1
  316. package/form/form-group.component.d.ts +3 -3
  317. package/icon/icon.component.d.ts +2 -2
  318. package/image/image.class.d.ts +1 -1
  319. package/image/image.directive.d.ts +2 -2
  320. package/image/index.d.ts +5 -4
  321. package/image/preview/image-preview.component.d.ts +5 -5
  322. package/input/input-search.component.d.ts +1 -1
  323. package/input/input.component.d.ts +2 -2
  324. package/input/styles/input-group.scss +3 -0
  325. package/input-number/input-number.component.d.ts +10 -3
  326. package/layout/header.component.d.ts +3 -3
  327. package/layout/sidebar-header.component.d.ts +1 -1
  328. package/layout/sidebar.component.d.ts +7 -7
  329. package/list/list.component.d.ts +1 -1
  330. package/list/selection/selection-list.d.ts +3 -3
  331. package/loading/loading.component.d.ts +2 -2
  332. package/menu/group/menu-group.component.d.ts +6 -6
  333. package/menu/item/action/menu-item-action.component.d.ts +8 -3
  334. package/menu/item/name/menu-item-name.component.d.ts +1 -1
  335. package/menu/menu.component.d.ts +1 -1
  336. package/menu/styles/menu.scss +8 -0
  337. package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
  338. package/nav/nav-ink-bar.directive.d.ts +2 -2
  339. package/nav/nav-item.directive.d.ts +3 -3
  340. package/nav/nav.component.d.ts +7 -5
  341. package/package.json +2 -2
  342. package/pagination/pagination.class.d.ts +4 -0
  343. package/pagination/pagination.component.d.ts +11 -6
  344. package/popover/popover.directive.d.ts +2 -2
  345. package/property/property-item.component.d.ts +4 -1
  346. package/property/styles/properties.scss +2 -0
  347. package/property-operation/property-operation.component.d.ts +5 -5
  348. package/radio/group/radio-group.component.d.ts +1 -1
  349. package/rate/rate-item.component.d.ts +1 -1
  350. package/rate/rate.component.d.ts +3 -3
  351. package/resizable/resizable.directive.d.ts +3 -3
  352. package/resizable/resize-handle.component.d.ts +1 -1
  353. package/resizable/resize-handles.component.d.ts +1 -1
  354. package/schematics/ng-update/update-18/complete.js +0 -10
  355. package/schematics/ng-update/update-18/index.spec.js +0 -73
  356. package/schematics/ng-update/update-18/update-data.js +4 -860
  357. package/schematics/version.d.ts +1 -1
  358. package/schematics/version.js +1 -1
  359. package/segment/segment-item.component.d.ts +1 -1
  360. package/segment/segment.component.d.ts +5 -1
  361. package/select/custom-select/custom-select.component.d.ts +10 -10
  362. package/select/native-select/native-select.component.d.ts +1 -1
  363. package/shared/base-form-check.component.d.ts +2 -2
  364. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  365. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  366. package/shared/directives/thy-show.d.ts +1 -1
  367. package/shared/option/group/option-group.component.d.ts +1 -1
  368. package/shared/option/list-option/list-option.component.d.ts +1 -1
  369. package/shared/option/option.component.d.ts +1 -1
  370. package/shared/option/styles/select-dropdown.scss +1 -0
  371. package/shared/select/select-control/select-control.component.d.ts +6 -6
  372. package/skeleton/skeleton-circle.component.d.ts +1 -1
  373. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  374. package/skeleton/skeleton.component.d.ts +1 -1
  375. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  376. package/skeleton/stylized/list.component.d.ts +1 -1
  377. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  378. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  379. package/slider/slider.component.d.ts +2 -2
  380. package/slider/slider.scss +12 -20
  381. package/space/space.component.d.ts +1 -1
  382. package/stepper/step-header.component.d.ts +2 -2
  383. package/stepper/stepper.component.d.ts +1 -1
  384. package/styles/modules/tables.scss +20 -0
  385. package/styles/variables.scss +2 -2
  386. package/switch/switch.component.d.ts +2 -2
  387. package/table/styles/skeleton.scss +5 -0
  388. package/table/table-column.component.d.ts +5 -5
  389. package/table/table-skeleton.component.d.ts +2 -2
  390. package/table/table.component.d.ts +13 -11
  391. package/tabs/tab.component.d.ts +1 -1
  392. package/tabs/tabs.component.d.ts +2 -2
  393. package/tag/tag.component.d.ts +1 -1
  394. package/time-picker/time-picker-panel.component.d.ts +2 -2
  395. package/time-picker/time-picker.component.d.ts +5 -5
  396. package/timeline/timeline.component.d.ts +1 -1
  397. package/tooltip/tooltip.directive.d.ts +10 -2
  398. package/tree/tree-node.component.d.ts +20 -5
  399. package/tree/tree.component.d.ts +17 -7
  400. package/tree/tree.service.d.ts +1 -1
  401. package/tree-select/tree-select.component.d.ts +7 -7
  402. package/upload/file-select.component.d.ts +7 -8
  403. package/vote/vote.component.d.ts +3 -3
  404. package/watermark/watermark.directive.d.ts +1 -1
@@ -1,4 +1,5 @@
1
- import { Component, Input, ChangeDetectionStrategy, booleanAttribute } from '@angular/core';
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
4
5
  * 卡片组件
@@ -14,7 +15,7 @@ export class ThyCard {
14
15
  this.thyHasLeftRightPadding = true;
15
16
  }
16
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCard, isStandalone: true, selector: "thy-card", inputs: { thyHasLeftRightPadding: ["thyHasLeftRightPadding", "thyHasLeftRightPadding", booleanAttribute], thyDivided: ["thyDivided", "thyDivided", booleanAttribute], thyBordered: ["thyBordered", "thyBordered", booleanAttribute], thySize: "thySize" }, host: { properties: { "class.thy-card--divided": "!!thyDivided", "class.thy-card--bordered": "!!thyBordered", "class.thy-card--clear-left-right-padding": "!thyHasLeftRightPadding", "class.thy-card-sm": "thySize === \"sm\"", "class.thy-card-lg": "thySize === \"lg\"" }, classAttribute: "thy-card" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCard, isStandalone: true, selector: "thy-card", inputs: { thyHasLeftRightPadding: ["thyHasLeftRightPadding", "thyHasLeftRightPadding", coerceBooleanProperty], thyDivided: ["thyDivided", "thyDivided", coerceBooleanProperty], thyBordered: ["thyBordered", "thyBordered", coerceBooleanProperty], thySize: "thySize" }, host: { properties: { "class.thy-card--divided": "!!thyDivided", "class.thy-card--bordered": "!!thyBordered", "class.thy-card--clear-left-right-padding": "!thyHasLeftRightPadding", "class.thy-card-sm": "thySize === \"sm\"", "class.thy-card-lg": "thySize === \"lg\"" }, classAttribute: "thy-card" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
19
  }
19
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCard, decorators: [{
20
21
  type: Component,
@@ -34,14 +35,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
34
35
  }]
35
36
  }], propDecorators: { thyHasLeftRightPadding: [{
36
37
  type: Input,
37
- args: [{ transform: booleanAttribute }]
38
+ args: [{ transform: coerceBooleanProperty }]
38
39
  }], thyDivided: [{
39
40
  type: Input,
40
- args: [{ transform: booleanAttribute }]
41
+ args: [{ transform: coerceBooleanProperty }]
41
42
  }], thyBordered: [{
42
43
  type: Input,
43
- args: [{ transform: booleanAttribute }]
44
+ args: [{ transform: coerceBooleanProperty }]
44
45
  }], thySize: [{
45
46
  type: Input
46
47
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUY7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxPQUFPO0lBZHBCO1FBZUk7OztXQUdHO1FBRUgsMkJBQXNCLEdBQXFCLElBQUksQ0FBQztLQXVCbkQ7OEdBN0JZLE9BQU87a0dBQVAsT0FBTyxtSUFLSSxnQkFBZ0IsNENBT2hCLGdCQUFnQiwrQ0FPaEIsZ0JBQWdCLDRWQS9CMUIsNkJBQTZCOzsyRkFZOUIsT0FBTztrQkFkbkIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsVUFBVTt3QkFDakIsMkJBQTJCLEVBQUUsY0FBYzt3QkFDM0MsNEJBQTRCLEVBQUUsZUFBZTt3QkFDN0MsNENBQTRDLEVBQUUseUJBQXlCO3dCQUN2RSxxQkFBcUIsRUFBRSxrQkFBa0I7d0JBQ3pDLHFCQUFxQixFQUFFLGtCQUFrQjtxQkFDNUM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU9HLHNCQUFzQjtzQkFEckIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRdEMsVUFBVTtzQkFEVCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVF0QyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBU3RDLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog5Y2h54mH57uE5Lu2XG4gKiBAbmFtZSB0aHktY2FyZFxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhcmQnLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWNhcmQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLS1kaXZpZGVkXSc6ICchIXRoeURpdmlkZWQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLS1ib3JkZXJlZF0nOiAnISF0aHlCb3JkZXJlZCcsXG4gICAgICAgICdbY2xhc3MudGh5LWNhcmQtLWNsZWFyLWxlZnQtcmlnaHQtcGFkZGluZ10nOiAnIXRoeUhhc0xlZnRSaWdodFBhZGRpbmcnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLXNtXSc6ICd0aHlTaXplID09PSBcInNtXCInLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLWxnXSc6ICd0aHlTaXplID09PSBcImxnXCInXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcmQge1xuICAgIC8qKlxuICAgICAqIOW3puWPs+aYr+WQpuacieWGhei+uei3ne+8jOW3suW6n+W8g++8jOWmgumcgOmFjee9rumXtOi3neS9v+eUqCBzcGFjaW5nIOW3peWFt+agt+W8j+imhueblum7mOiupOmXtOi3nVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgdGh5SGFzTGVmdFJpZ2h0UGFkZGluZzogYm9vbGVhbiB8IHN0cmluZyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmK/liIblibLmqKHlvI/vvIzliIblibLmqKHlvI/lpLTpg6jlkozlhoXlrrnljLrkuYvpl7TmnInkuIDmnaHliIblibLnur9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHRoeURpdmlkZWQ6IGJvb2xlYW4gfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmnInovrnmoYbvvIzovrnmoYbpopzoibLkuLojZWVlXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICB0aHlCb3JkZXJlZDogYm9vbGVhbiB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWkp+Wwj1xuICAgICAqIEB0eXBlIHNtIHwgbWQgfCBsZ1xuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0aHlTaXplOiAnbWQnIHwgJ3NtJyB8ICdsZyc7XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFeEQ7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxPQUFPO0lBZHBCO1FBZUk7OztXQUdHO1FBRUgsMkJBQXNCLEdBQXFCLElBQUksQ0FBQztLQXVCbkQ7OEdBN0JZLE9BQU87a0dBQVAsT0FBTyxtSUFLSSxxQkFBcUIsNENBT3JCLHFCQUFxQiwrQ0FPckIscUJBQXFCLDRWQS9CL0IsNkJBQTZCOzsyRkFZOUIsT0FBTztrQkFkbkIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsVUFBVTt3QkFDakIsMkJBQTJCLEVBQUUsY0FBYzt3QkFDM0MsNEJBQTRCLEVBQUUsZUFBZTt3QkFDN0MsNENBQTRDLEVBQUUseUJBQXlCO3dCQUN2RSxxQkFBcUIsRUFBRSxrQkFBa0I7d0JBQ3pDLHFCQUFxQixFQUFFLGtCQUFrQjtxQkFDNUM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU9HLHNCQUFzQjtzQkFEckIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFRM0MsVUFBVTtzQkFEVCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVEzQyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUzNDLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG4vKipcbiAqIOWNoeeJh+e7hOS7tlxuICogQG5hbWUgdGh5LWNhcmRcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYXJkJyxcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJkJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC0tZGl2aWRlZF0nOiAnISF0aHlEaXZpZGVkJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC0tYm9yZGVyZWRdJzogJyEhdGh5Qm9yZGVyZWQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLS1jbGVhci1sZWZ0LXJpZ2h0LXBhZGRpbmddJzogJyF0aHlIYXNMZWZ0UmlnaHRQYWRkaW5nJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC1zbV0nOiAndGh5U2l6ZSA9PT0gXCJzbVwiJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC1sZ10nOiAndGh5U2l6ZSA9PT0gXCJsZ1wiJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDYXJkIHtcbiAgICAvKipcbiAgICAgKiDlt6blj7PmmK/lkKbmnInlhoXovrnot53vvIzlt7Llup/lvIPvvIzlpoLpnIDphY3nva7pl7Tot53kvb/nlKggc3BhY2luZyDlt6XlhbfmoLflvI/opobnm5bpu5jorqTpl7Tot51cbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5SGFzTGVmdFJpZ2h0UGFkZGluZzogYm9vbGVhbiB8IHN0cmluZyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmK/liIblibLmqKHlvI/vvIzliIblibLmqKHlvI/lpLTpg6jlkozlhoXlrrnljLrkuYvpl7TmnInkuIDmnaHliIblibLnur9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5RGl2aWRlZDogYm9vbGVhbiB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaciei+ueahhu+8jOi+ueahhuminOiJsuS4uiNlZWVcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5Qm9yZGVyZWQ6IGJvb2xlYW4gfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI9cbiAgICAgKiBAdHlwZSBzbSB8IG1kIHwgbGdcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGh5U2l6ZTogJ21kJyB8ICdzbScgfCAnbGcnO1xufVxuIl19
@@ -1,4 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input, booleanAttribute } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
4
5
  * 卡片内容组件
@@ -27,7 +28,7 @@ export class ThyCardContent {
27
28
  }
28
29
  ngOnInit() { }
29
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCardContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCardContent, isStandalone: true, selector: "thy-card-content", inputs: { thyScroll: ["thyScroll", "thyScroll", booleanAttribute], thySize: "thySize" }, host: { properties: { "class.thy-card-content--scroll": "this.scrollClassName", "class.thy-card-content--sm": "this._thySizeSm" }, classAttribute: "thy-card-content" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCardContent, isStandalone: true, selector: "thy-card-content", inputs: { thyScroll: ["thyScroll", "thyScroll", coerceBooleanProperty], thySize: "thySize" }, host: { properties: { "class.thy-card-content--scroll": "this.scrollClassName", "class.thy-card-content--sm": "this._thySizeSm" }, classAttribute: "thy-card-content" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
32
  }
32
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCardContent, decorators: [{
33
34
  type: Component,
@@ -46,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
46
47
  args: ['class.thy-card-content--scroll']
47
48
  }], thyScroll: [{
48
49
  type: Input,
49
- args: [{ transform: booleanAttribute }]
50
+ args: [{ transform: coerceBooleanProperty }]
50
51
  }], _thySizeSm: [{
51
52
  type: HostBinding,
52
53
  args: ['class.thy-card-content--sm']
@@ -54,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
54
55
  type: Input,
55
56
  args: ['thySize']
56
57
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpIOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sY0FBYztJQVYzQjtRQVdtRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQVc1QixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBYWpFO0lBdEJHOzs7T0FHRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUlEOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUSxLQUFJLENBQUM7OEdBeEJKLGNBQWM7a0dBQWQsY0FBYyxvR0FPSCxnQkFBZ0IsME5BZDFCLDZCQUE2Qjs7MkZBTzlCLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsa0JBQWtCO3FCQUM1QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBRWtELGVBQWU7c0JBQTdELFdBQVc7dUJBQUMsZ0NBQWdDO2dCQU96QyxTQUFTO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0ssVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBUXJDLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiDljaHniYflhoXlrrnnu4Tku7ZcbiAqIEBuYW1lIHRoeS1jYXJkLWNvbnRlbnRcbiAqIEBvcmRlciAzMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYXJkLWNvbnRlbnQnLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWNhcmQtY29udGVudCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FyZENvbnRlbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhcmQtY29udGVudC0tc2Nyb2xsJykgc2Nyb2xsQ2xhc3NOYW1lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlhoXlrrnljLrvvIzmu5rliqhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlTY3JvbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zY3JvbGxDbGFzc05hbWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYXJkLWNvbnRlbnQtLXNtJykgX3RoeVNpemVTbSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yMQ29udGVudCDlpKflsI/vvIxzbSDml7YgcGFkZGluZy10b3Ag6Ze06Led5Y+Y5bCPXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U2l6ZScpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl90aHlTaXplU20gPSB2YWx1ZSA9PT0gJ3NtJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXhEOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sY0FBYztJQVYzQjtRQVdtRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQVc1QixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBYWpFO0lBdEJHOzs7T0FHRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUlEOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUSxLQUFJLENBQUM7OEdBeEJKLGNBQWM7a0dBQWQsY0FBYyxvR0FPSCxxQkFBcUIsME5BZC9CLDZCQUE2Qjs7MkZBTzlCLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsa0JBQWtCO3FCQUM1QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBRWtELGVBQWU7c0JBQTdELFdBQVc7dUJBQUMsZ0NBQWdDO2dCQU96QyxTQUFTO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS0EsVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBUXJDLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbi8qKlxuICog5Y2h54mH5YaF5a6557uE5Lu2XG4gKiBAbmFtZSB0aHktY2FyZC1jb250ZW50XG4gKiBAb3JkZXIgMzBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktY2FyZC1jb250ZW50JyxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJkLWNvbnRlbnQnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcmRDb250ZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYXJkLWNvbnRlbnQtLXNjcm9sbCcpIHNjcm9sbENsYXNzTmFtZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5YaF5a655Yy677yM5rua5YqoXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlTY3JvbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zY3JvbGxDbGFzc05hbWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYXJkLWNvbnRlbnQtLXNtJykgX3RoeVNpemVTbSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yMQ29udGVudCDlpKflsI/vvIxzbSDml7YgcGFkZGluZy10b3Ag6Ze06Led5Y+Y5bCPXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U2l6ZScpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl90aHlTaXplU20gPSB2YWx1ZSA9PT0gJ3NtJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, Renderer2, ViewChild, TemplateRef, ViewEncapsulation, NgZone, booleanAttribute, numberAttribute } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, Renderer2, ViewChild, TemplateRef, ViewEncapsulation, NgZone, numberAttribute } from '@angular/core';
2
2
  import { Platform } from '@angular/cdk/platform';
3
3
  import { ThyCarouselItemDirective } from './carousel-item.directive';
4
4
  import { ThyCarouselSlideEngine, ThyCarouselNoopEngine, ThyCarouselFadeEngine } from './engine';
@@ -8,6 +8,7 @@ import { ThyCarouselService } from './carousel.service';
8
8
  import { ThyIcon } from 'ngx-tethys/icon';
9
9
  import { ThyDot } from 'ngx-tethys/dot';
10
10
  import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
11
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "./carousel.service";
13
14
  import * as i2 from "@angular/cdk/platform";
@@ -243,7 +244,7 @@ export class ThyCarousel {
243
244
  this._destroy$.complete();
244
245
  }
245
246
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCarousel, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ThyCarouselService }, { token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
246
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay: ["thyAutoPlay", "thyAutoPlay", booleanAttribute], thyAutoPlayInterval: ["thyAutoPlayInterval", "thyAutoPlayInterval", numberAttribute], thyEffect: "thyEffect", thyIndicators: ["thyIndicators", "thyIndicators", booleanAttribute], thyIndicatorRender: "thyIndicatorRender", thyControls: ["thyControls", "thyControls", booleanAttribute], thyControlPrev: "thyControlPrev", thyControlNext: "thyControlNext", thyTouchable: ["thyTouchable", "thyTouchable", booleanAttribute], thyTrigger: "thyTrigger", thyPause: "thyPause" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyControls && carouselItems.length > 1\">\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"thyIndicators\">\n <div class=\"thy-carousel-indicators\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot thyColor=\"#fff\" [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
247
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay: ["thyAutoPlay", "thyAutoPlay", coerceBooleanProperty], thyAutoPlayInterval: ["thyAutoPlayInterval", "thyAutoPlayInterval", numberAttribute], thyEffect: "thyEffect", thyIndicators: ["thyIndicators", "thyIndicators", coerceBooleanProperty], thyIndicatorRender: "thyIndicatorRender", thyControls: ["thyControls", "thyControls", coerceBooleanProperty], thyControlPrev: "thyControlPrev", thyControlNext: "thyControlNext", thyTouchable: ["thyTouchable", "thyTouchable", coerceBooleanProperty], thyTrigger: "thyTrigger", thyPause: "thyPause" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyControls && carouselItems.length > 1\">\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"thyIndicators\">\n <div class=\"thy-carousel-indicators\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot thyColor=\"#fff\" [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
247
248
  }
248
249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCarousel, decorators: [{
249
250
  type: Component,
@@ -258,7 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
258
259
  args: ['carouselWrapper', { static: true }]
259
260
  }], thyAutoPlay: [{
260
261
  type: Input,
261
- args: [{ transform: booleanAttribute }]
262
+ args: [{ transform: coerceBooleanProperty }]
262
263
  }], thyAutoPlayInterval: [{
263
264
  type: Input,
264
265
  args: [{ transform: numberAttribute }]
@@ -266,19 +267,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
266
267
  type: Input
267
268
  }], thyIndicators: [{
268
269
  type: Input,
269
- args: [{ transform: booleanAttribute }]
270
+ args: [{ transform: coerceBooleanProperty }]
270
271
  }], thyIndicatorRender: [{
271
272
  type: Input
272
273
  }], thyControls: [{
273
274
  type: Input,
274
- args: [{ transform: booleanAttribute }]
275
+ args: [{ transform: coerceBooleanProperty }]
275
276
  }], thyControlPrev: [{
276
277
  type: Input
277
278
  }], thyControlNext: [{
278
279
  type: Input
279
280
  }], thyTouchable: [{
280
281
  type: Input,
281
- args: [{ transform: booleanAttribute }]
282
+ args: [{ transform: coerceBooleanProperty }]
282
283
  }], thyTrigger: [{
283
284
  type: Input
284
285
  }], thyPause: [{
@@ -288,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
288
289
  }], thyAfterChange: [{
289
290
  type: Output
290
291
  }] } });
291
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBSWpCLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFTckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRWhFOzs7R0FHRztBQWFILE1BQU0sT0FBTyxXQUFXO0lBdUdwQixZQUNj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QUFXO2tCQVp2QixTQUFTOytCQUNJLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixLQUFLLEVBQUUsY0FBYztxQkFDeEIsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7MkxBTWQsYUFBYTtzQkFBdkQsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBS08sZUFBZTtzQkFBOUQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS04sV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLQyxtQkFBbUI7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQU01QixTQUFTO3NCQUFqQixLQUFLO2dCQUtrQyxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS2tDLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLa0MsWUFBWTtzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNN0IsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUthLGVBQWU7c0JBQWpDLE1BQU07Z0JBS1ksY0FBYztzQkFBaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9jYXJvdXNlbC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIFRoeUNhcm91c2VsRW5naW5lLFxuICAgIFRoeURpc3RhbmNlVmVjdG9yLFxuICAgIFRoeUNhcm91c2VsU3dpdGNoRGF0YSxcbiAgICBUaHlDYXJvdXNlbEVmZmVjdCxcbiAgICBUaHlDYXJvdXNlbFRyaWdnZXIsXG4gICAgVGh5Q2Fyb3VzZWxQYXVzZVxufSBmcm9tICcuL3R5cGluZ3MnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTbGlkZUVuZ2luZSwgVGh5Q2Fyb3VzZWxOb29wRW5naW5lLCBUaHlDYXJvdXNlbEZhZGVFbmdpbmUgfSBmcm9tICcuL2VuZ2luZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTZXJ2aWNlIH0gZnJvbSAnLi9jYXJvdXNlbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5RG90IH0gZnJvbSAnbmd4LXRldGh5cy9kb3QnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOi1sOmprOeBr+e7hOS7tlxuICogQG5hbWUgdGh5LWNhcm91c2VsXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJvdXNlbCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5nRm9yLCBUaHlEb3QsIFRoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSkgY2Fyb3VzZWxJdGVtcyE6IFF1ZXJ5TGlzdDxUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbFdyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYXJvdXNlbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Ieq5Yqo5YiH5o2i77yM6buY6K6kIGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUF1dG9QbGF5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjliIfmjaLml7bpl7Tpl7TpmpQo5q+r56eSKVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeUF1dG9QbGF5SW50ZXJ2YWw6IG51bWJlciA9IDMwMDA7XG5cbiAgICAvKipcbiAgICAgKiDliIfmjaLliqjnlLvmoLflvI9cbiAgICAgKiBAdHlwZSBzbGlkZSB8IGZhZGUgfCBub29wXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RWZmZWN0OiBUaHlDYXJvdXNlbEVmZmVjdCA9ICdzbGlkZSc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrliIfmjaLmjIfnpLrlmahcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5SW5kaWNhdG9ycyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmjIfnpLrlmaggSXRlbSDnmoTmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJbmRpY2F0b3JSZW5kZXI/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYm9vbGVhbiB9PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuW3puWPs+WIh+aNolxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlDb250cm9scyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDkuIrkuIDkuKrmjqfliLblmajmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb250cm9sUHJldj86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDkuIvkuIDkuKrmjqfliLblmajmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb250cm9sTmV4dD86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmlK/mjIHmiYvlir/mu5HliqhcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5VG91Y2hhYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaMh+ekuueCueWIh+aNoueahOinpuWPkeadoeS7tlxuICAgICAqIEB0eXBlIGNsaWNrIHwgaG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUcmlnZ2VyOiBUaHlDYXJvdXNlbFRyaWdnZXIgPSAnY2xpY2snO1xuXG4gICAgLyoqXG4gICAgICog6byg5qCH56e75Yqo5Yiw5oyH56S65Zmo5pe25piv5ZCm5pqC5YGc5pKt5pS+XG4gICAgICogQHR5cGUgZmFsc2UgfCBob3ZlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBhdXNlOiBUaHlDYXJvdXNlbFBhdXNlID0gJ2hvdmVyJztcblxuICAgIC8qKlxuICAgICAqIOinpuWPkeWIh+aNouW4p+S5i+WJje+8jOi/lOWbniBge2Zyb206IG51bWJlciwgdG86IG51bWJlcn1gXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUJlZm9yZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5Q2Fyb3VzZWxTd2l0Y2hEYXRhPigpO1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5bin5LmL5ZCO55qE5Zue6LCD77yM6L+U5Zue5b2T5YmN5bin57Si5byVXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUFmdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwcml2YXRlIGlzRHJhZ2dpbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHBvaW50ZXJWZWN0b3I6IFRoeURpc3RhbmNlVmVjdG9yID0geyB4OiAwLCB5OiAwIH07XG5cbiAgICBwcml2YXRlIGVuZ2luZTogVGh5Q2Fyb3VzZWxFbmdpbmU7XG5cbiAgICBwcml2YXRlIF90cmlnZ2VyJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHdyYXBwZXJEb21SZWN0OiBET01SZWN0O1xuXG4gICAgYWN0aXZlSW5kZXggPSAwO1xuXG4gICAgd3JhcHBlckVsOiBIVE1MRWxlbWVudDtcblxuICAgIHRyYW5zaXRpb25UaW1lcjogYW55ID0gbnVsbDtcblxuICAgIHBsYXlUaW1lOiBudW1iZXIgPSA0MDA7XG5cbiAgICBpc1BhdXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXJvdXNlbFNlcnZpY2U6IFRoeUNhcm91c2VsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybTogUGxhdGZvcm1cbiAgICApIHt9XG5cbiAgICBwcml2YXRlIG1vdmVUbyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNhcm91c2VsSXRlbXMgJiYgdGhpcy5jYXJvdXNlbEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgICAgICBjb25zdCBsZW4gPSB0aGlzLmNhcm91c2VsSXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMuYWN0aXZlSW5kZXg7XG4gICAgICAgICAgICBjb25zdCB0byA9IChpbmRleCArIGxlbikgJSBsZW47XG4gICAgICAgICAgICB0aGlzLnRoeUJlZm9yZUNoYW5nZS5lbWl0KHsgZnJvbSwgdG8gfSk7XG4gICAgICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuZ2luZT8uc3dpdGNoKGluZGV4LCB0aGlzLmFjdGl2ZUluZGV4KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdG87XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeUFmdGVyQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzd2l0Y2hFbmdpbmUoKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50aHlFZmZlY3QpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbFNsaWRlRW5naW5lKHRoaXMsIHRoaXMuY2RyLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBsYXRmb3JtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsRmFkZUVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsTm9vcEVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hcmtDb250ZW50QWN0aXZlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmNhcm91c2VsSXRlbXMuZm9yRWFjaCgoY2Fyb3VzZWxDb250ZW50OiBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY2Fyb3VzZWxDb250ZW50LmlzQWN0aXZlID0gaW5kZXggPT09IGk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuZ2luZSkge1xuICAgICAgICAgICAgdGhpcy5lbmdpbmUuaW5pdGlhbGl6ZUNhcm91c2VsQ29udGVudHModGhpcy5jYXJvdXNlbEl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMudGh5QXV0b1BsYXkgJiYgIXRoaXMuaXNQYXVzZSkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICB9LCB0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zaXRpb25UaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHJhbnNpdGlvblRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJhZyhldmVudDogVG91Y2hFdmVudCB8IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcgJiYgIXRoaXMuaXNUcmFuc2l0aW9uaW5nICYmIHRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICBjb25zdCBtb3VzZURvd25UaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBsZXQgbW91c2VVcFRpbWU6IG51bWJlcjtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJEb21SZWN0ID0gdGhpcy53cmFwcGVyRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsU2VydmljZS5yZWdpc3RlckRyYWcoZXZlbnQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICBwb2ludGVyVmVjdG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsICdncmFiYmluZycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJWZWN0b3IgPSBwb2ludGVyVmVjdG9yO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZT8uZHJhZ2dpbmcodGhpcy5wb2ludGVyVmVjdG9yLCB0aGlzLndyYXBwZXJEb21SZWN0KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VVcFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhvbGREb3duVGltZSA9IG1vdXNlVXBUaW1lIC0gbW91c2VEb3duVGltZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhc3QgZW5vdWdoIHRvIHN3aXRjaCB0byB0aGUgbmV4dCBmcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBwb2ludGVyVmVjdG9yIGlzIG1vcmUgdGhhbiBvbmUgdGhpcmQgc3dpdGNoIHRvIHRoZSBuZXh0IGZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5hYnModGhpcy5wb2ludGVyVmVjdG9yLngpID4gdGhpcy53cmFwcGVyRG9tUmVjdC53aWR0aCAvIDMgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyh0aGlzLnBvaW50ZXJWZWN0b3IueCkgLyBob2xkRG93blRpbWUgPj0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5wb2ludGVyVmVjdG9yLnggPiAwID8gdGhpcy5hY3RpdmVJbmRleCAtIDEgOiB0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2dyYWInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlUcmlnZ2VyID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVUbyhpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbmRpY2F0b3JIYW5kbGVUcmlnZ2VyKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQYXVzZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeVRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlTGVhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeVBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGF1c2UgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgIH1cblxuICAgIHByZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCAtIDEpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJFbCA9IHRoaXMuY2Fyb3VzZWxXcmFwcGVyIS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmNvcnJlY3Rpb25PZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyB0aHlFZmZlY3QsIHRoeVRvdWNoYWJsZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUVmZmVjdCAmJiAhdGh5RWZmZWN0LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoeVRvdWNoYWJsZSAmJiAhdGh5VG91Y2hhYmxlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsIHRoeVRvdWNoYWJsZS5jdXJyZW50VmFsdWUgPyAnZ3JhYicgOiAnZGVmYXVsdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnRoeUF1dG9QbGF5IHx8ICF0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUodGhpcy5wbGF5VGltZSkpLnN1YnNjcmliZShpbmRleCA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKGluZGV4KSkge1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwgdGh5LWNhcm91c2VsLWluaXRpYWxpemVkIHRoeS1jYXJvdXNlbC1wb2ludC1ldmVudHNcIj5cbiAgPGRpdiAjY2Fyb3VzZWxXcmFwcGVyIGNsYXNzPVwidGh5LWNhcm91c2VsLXdyYXBwZXJcIiAobW91c2Vkb3duKT1cIm9uRHJhZygkZXZlbnQpXCIgKHRvdWNoc3RhcnQpPVwib25EcmFnKCRldmVudClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGh5Q29udHJvbHMgJiYgY2Fyb3VzZWxJdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLXByZS13cmFwcGVyXCIgKGNsaWNrKT1cInByZSgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGh5Q29udHJvbFByZXYgfHwgZGVmYXVsdENvbnRyb2xQcmV2XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLW5leHQtd3JhcHBlclwiIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aHlDb250cm9sTmV4dCB8fCBkZWZhdWx0Q29udHJvbE5leHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlJbmRpY2F0b3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBjYXJvdXNlbEl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtaW5kaWNhdG9yXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5kaWNhdG9ySGFuZGxlVHJpZ2dlcihpKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImluZGljYXRvckhhbmRsZUxlYXZlKClcIlxuICAgICAgICAoY2xpY2spPVwiaW5kaWNhdG9ySGFuZGxlQ2xpY2soaSlcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlJbmRpY2F0b3JSZW5kZXIgfHwgZGVmYXVsdEluZGljYXRvclJlbmRlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpID09PSBhY3RpdmVJbmRleCB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEluZGljYXRvclJlbmRlciBsZXQtYWN0aXZlPlxuICA8dGh5LWRvdCB0aHlDb2xvcj1cIiNmZmZcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVwiPjwvdGh5LWRvdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbnRyb2xQcmV2PlxuICA8ZGl2IGNsYXNzPVwidGh5LWNhcm91c2VsLWNvbnRyb2wgdGh5LWNhcm91c2VsLWNvbnRyb2wtcHJlXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtbGVmdC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb250cm9sTmV4dD5cbiAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sIHRoeS1jYXJvdXNlbC1jb250cm9sLW5leHRcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBSWpCLE1BQU0sRUFFTixlQUFlLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFeEQ7OztHQUdH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LG1IQUFFLE1BQU0sZ0lBQUUsT0FBTzs7MkZBRS9DLFdBQVc7a0JBWnZCLFNBQVM7K0JBQ0ksY0FBYyxtQkFFUCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCO3dCQUNGLEtBQUssRUFBRSxjQUFjO3FCQUN4QixjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQzsyTEFNZCxhQUFhO3NCQUF2RCxlQUFlO3VCQUFDLHdCQUF3QjtnQkFLTyxlQUFlO3NCQUE5RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLRCxXQUFXO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtKLG1CQUFtQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBTTVCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS3VDLGFBQWE7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS2xDLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLdUMsV0FBVztzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFLbEMsY0FBYztzQkFBdEIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUt1QyxZQUFZO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQU1sQyxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS2EsZUFBZTtzQkFBakMsTUFBTTtnQkFLWSxjQUFjO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9jYXJvdXNlbC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIFRoeUNhcm91c2VsRW5naW5lLFxuICAgIFRoeURpc3RhbmNlVmVjdG9yLFxuICAgIFRoeUNhcm91c2VsU3dpdGNoRGF0YSxcbiAgICBUaHlDYXJvdXNlbEVmZmVjdCxcbiAgICBUaHlDYXJvdXNlbFRyaWdnZXIsXG4gICAgVGh5Q2Fyb3VzZWxQYXVzZVxufSBmcm9tICcuL3R5cGluZ3MnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTbGlkZUVuZ2luZSwgVGh5Q2Fyb3VzZWxOb29wRW5naW5lLCBUaHlDYXJvdXNlbEZhZGVFbmdpbmUgfSBmcm9tICcuL2VuZ2luZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTZXJ2aWNlIH0gZnJvbSAnLi9jYXJvdXNlbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5RG90IH0gZnJvbSAnbmd4LXRldGh5cy9kb3QnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiDotbDpqaznga/nu4Tku7ZcbiAqIEBuYW1lIHRoeS1jYXJvdXNlbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktY2Fyb3VzZWwnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0ZvciwgVGh5RG90LCBUaHlJY29uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDYXJvdXNlbCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUpIGNhcm91c2VsSXRlbXMhOiBRdWVyeUxpc3Q8VGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnY2Fyb3VzZWxXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgY2Fyb3VzZWxXcmFwcGVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOWIh+aNou+8jOm7mOiupCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUF1dG9QbGF5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjliIfmjaLml7bpl7Tpl7TpmpQo5q+r56eSKVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeUF1dG9QbGF5SW50ZXJ2YWw6IG51bWJlciA9IDMwMDA7XG5cbiAgICAvKipcbiAgICAgKiDliIfmjaLliqjnlLvmoLflvI9cbiAgICAgKiBAdHlwZSBzbGlkZSB8IGZhZGUgfCBub29wXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RWZmZWN0OiBUaHlDYXJvdXNlbEVmZmVjdCA9ICdzbGlkZSc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrliIfmjaLmjIfnpLrlmahcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlJbmRpY2F0b3JzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaMh+ekuuWZqCBJdGVtIOeahOa4suafk+aooeadv1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUluZGljYXRvclJlbmRlcj86IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBib29sZWFuIH0+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65bem5Y+z5YiH5o2iXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q29udHJvbHMgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5LiK5LiA5Liq5o6n5Yi25Zmo5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udHJvbFByZXY/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog5LiL5LiA5Liq5o6n5Yi25Zmo5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udHJvbE5leHQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pSv5oyB5omL5Yq/5ruR5YqoXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5VG91Y2hhYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaMh+ekuueCueWIh+aNoueahOinpuWPkeadoeS7tlxuICAgICAqIEB0eXBlIGNsaWNrIHwgaG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUcmlnZ2VyOiBUaHlDYXJvdXNlbFRyaWdnZXIgPSAnY2xpY2snO1xuXG4gICAgLyoqXG4gICAgICog6byg5qCH56e75Yqo5Yiw5oyH56S65Zmo5pe25piv5ZCm5pqC5YGc5pKt5pS+XG4gICAgICogQHR5cGUgZmFsc2UgfCBob3ZlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBhdXNlOiBUaHlDYXJvdXNlbFBhdXNlID0gJ2hvdmVyJztcblxuICAgIC8qKlxuICAgICAqIOinpuWPkeWIh+aNouW4p+S5i+WJje+8jOi/lOWbniBge2Zyb206IG51bWJlciwgdG86IG51bWJlcn1gXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUJlZm9yZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5Q2Fyb3VzZWxTd2l0Y2hEYXRhPigpO1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5bin5LmL5ZCO55qE5Zue6LCD77yM6L+U5Zue5b2T5YmN5bin57Si5byVXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUFmdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwcml2YXRlIGlzRHJhZ2dpbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHBvaW50ZXJWZWN0b3I6IFRoeURpc3RhbmNlVmVjdG9yID0geyB4OiAwLCB5OiAwIH07XG5cbiAgICBwcml2YXRlIGVuZ2luZTogVGh5Q2Fyb3VzZWxFbmdpbmU7XG5cbiAgICBwcml2YXRlIF90cmlnZ2VyJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHdyYXBwZXJEb21SZWN0OiBET01SZWN0O1xuXG4gICAgYWN0aXZlSW5kZXggPSAwO1xuXG4gICAgd3JhcHBlckVsOiBIVE1MRWxlbWVudDtcblxuICAgIHRyYW5zaXRpb25UaW1lcjogYW55ID0gbnVsbDtcblxuICAgIHBsYXlUaW1lOiBudW1iZXIgPSA0MDA7XG5cbiAgICBpc1BhdXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXJvdXNlbFNlcnZpY2U6IFRoeUNhcm91c2VsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybTogUGxhdGZvcm1cbiAgICApIHt9XG5cbiAgICBwcml2YXRlIG1vdmVUbyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNhcm91c2VsSXRlbXMgJiYgdGhpcy5jYXJvdXNlbEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgICAgICBjb25zdCBsZW4gPSB0aGlzLmNhcm91c2VsSXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMuYWN0aXZlSW5kZXg7XG4gICAgICAgICAgICBjb25zdCB0byA9IChpbmRleCArIGxlbikgJSBsZW47XG4gICAgICAgICAgICB0aGlzLnRoeUJlZm9yZUNoYW5nZS5lbWl0KHsgZnJvbSwgdG8gfSk7XG4gICAgICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuZ2luZT8uc3dpdGNoKGluZGV4LCB0aGlzLmFjdGl2ZUluZGV4KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdG87XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeUFmdGVyQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzd2l0Y2hFbmdpbmUoKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50aHlFZmZlY3QpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbFNsaWRlRW5naW5lKHRoaXMsIHRoaXMuY2RyLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBsYXRmb3JtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsRmFkZUVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsTm9vcEVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hcmtDb250ZW50QWN0aXZlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmNhcm91c2VsSXRlbXMuZm9yRWFjaCgoY2Fyb3VzZWxDb250ZW50OiBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY2Fyb3VzZWxDb250ZW50LmlzQWN0aXZlID0gaW5kZXggPT09IGk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuZ2luZSkge1xuICAgICAgICAgICAgdGhpcy5lbmdpbmUuaW5pdGlhbGl6ZUNhcm91c2VsQ29udGVudHModGhpcy5jYXJvdXNlbEl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMudGh5QXV0b1BsYXkgJiYgIXRoaXMuaXNQYXVzZSkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICB9LCB0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zaXRpb25UaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHJhbnNpdGlvblRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJhZyhldmVudDogVG91Y2hFdmVudCB8IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcgJiYgIXRoaXMuaXNUcmFuc2l0aW9uaW5nICYmIHRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICBjb25zdCBtb3VzZURvd25UaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBsZXQgbW91c2VVcFRpbWU6IG51bWJlcjtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJEb21SZWN0ID0gdGhpcy53cmFwcGVyRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsU2VydmljZS5yZWdpc3RlckRyYWcoZXZlbnQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICBwb2ludGVyVmVjdG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsICdncmFiYmluZycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJWZWN0b3IgPSBwb2ludGVyVmVjdG9yO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZT8uZHJhZ2dpbmcodGhpcy5wb2ludGVyVmVjdG9yLCB0aGlzLndyYXBwZXJEb21SZWN0KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VVcFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhvbGREb3duVGltZSA9IG1vdXNlVXBUaW1lIC0gbW91c2VEb3duVGltZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhc3QgZW5vdWdoIHRvIHN3aXRjaCB0byB0aGUgbmV4dCBmcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBwb2ludGVyVmVjdG9yIGlzIG1vcmUgdGhhbiBvbmUgdGhpcmQgc3dpdGNoIHRvIHRoZSBuZXh0IGZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5hYnModGhpcy5wb2ludGVyVmVjdG9yLngpID4gdGhpcy53cmFwcGVyRG9tUmVjdC53aWR0aCAvIDMgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyh0aGlzLnBvaW50ZXJWZWN0b3IueCkgLyBob2xkRG93blRpbWUgPj0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5wb2ludGVyVmVjdG9yLnggPiAwID8gdGhpcy5hY3RpdmVJbmRleCAtIDEgOiB0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2dyYWInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlUcmlnZ2VyID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVUbyhpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbmRpY2F0b3JIYW5kbGVUcmlnZ2VyKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQYXVzZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeVRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlTGVhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeVBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGF1c2UgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgIH1cblxuICAgIHByZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCAtIDEpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJFbCA9IHRoaXMuY2Fyb3VzZWxXcmFwcGVyIS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmNvcnJlY3Rpb25PZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyB0aHlFZmZlY3QsIHRoeVRvdWNoYWJsZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUVmZmVjdCAmJiAhdGh5RWZmZWN0LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoeVRvdWNoYWJsZSAmJiAhdGh5VG91Y2hhYmxlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsIHRoeVRvdWNoYWJsZS5jdXJyZW50VmFsdWUgPyAnZ3JhYicgOiAnZGVmYXVsdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnRoeUF1dG9QbGF5IHx8ICF0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUodGhpcy5wbGF5VGltZSkpLnN1YnNjcmliZShpbmRleCA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKGluZGV4KSkge1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwgdGh5LWNhcm91c2VsLWluaXRpYWxpemVkIHRoeS1jYXJvdXNlbC1wb2ludC1ldmVudHNcIj5cbiAgPGRpdiAjY2Fyb3VzZWxXcmFwcGVyIGNsYXNzPVwidGh5LWNhcm91c2VsLXdyYXBwZXJcIiAobW91c2Vkb3duKT1cIm9uRHJhZygkZXZlbnQpXCIgKHRvdWNoc3RhcnQpPVwib25EcmFnKCRldmVudClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGh5Q29udHJvbHMgJiYgY2Fyb3VzZWxJdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLXByZS13cmFwcGVyXCIgKGNsaWNrKT1cInByZSgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGh5Q29udHJvbFByZXYgfHwgZGVmYXVsdENvbnRyb2xQcmV2XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLW5leHQtd3JhcHBlclwiIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aHlDb250cm9sTmV4dCB8fCBkZWZhdWx0Q29udHJvbE5leHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlJbmRpY2F0b3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBjYXJvdXNlbEl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtaW5kaWNhdG9yXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5kaWNhdG9ySGFuZGxlVHJpZ2dlcihpKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImluZGljYXRvckhhbmRsZUxlYXZlKClcIlxuICAgICAgICAoY2xpY2spPVwiaW5kaWNhdG9ySGFuZGxlQ2xpY2soaSlcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlJbmRpY2F0b3JSZW5kZXIgfHwgZGVmYXVsdEluZGljYXRvclJlbmRlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpID09PSBhY3RpdmVJbmRleCB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEluZGljYXRvclJlbmRlciBsZXQtYWN0aXZlPlxuICA8dGh5LWRvdCB0aHlDb2xvcj1cIiNmZmZcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVwiPjwvdGh5LWRvdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbnRyb2xQcmV2PlxuICA8ZGl2IGNsYXNzPVwidGh5LWNhcm91c2VsLWNvbnRyb2wgdGh5LWNhcm91c2VsLWNvbnRyb2wtcHJlXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtbGVmdC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb250cm9sTmV4dD5cbiAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sIHRoeS1jYXJvdXNlbC1jb250cm9sLW5leHRcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -3,8 +3,9 @@ import { ThyFlexibleText } from 'ngx-tethys/flexible-text';
3
3
  import { ThyRadio } from 'ngx-tethys/radio';
4
4
  import { ThyStopPropagationDirective } from 'ngx-tethys/shared';
5
5
  import { NgIf, NgTemplateOutlet } from '@angular/common';
6
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewEncapsulation, booleanAttribute } from '@angular/core';
6
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
7
7
  import { FormsModule } from '@angular/forms';
8
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/forms";
10
11
  /**
@@ -33,7 +34,7 @@ export class ThyCascaderOptionComponent {
33
34
  this.toggleSelectChange.emit(value);
34
35
  }
35
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCascaderOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCascaderOptionComponent, isStandalone: true, selector: "[thy-cascader-option]", inputs: { option: "option", multiple: ["multiple", "multiple", booleanAttribute], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", booleanAttribute], optionRender: "optionRender", active: ["active", "active", booleanAttribute], halfSelected: ["halfSelected", "halfSelected", booleanAttribute], selected: ["selected", "selected", booleanAttribute], labelProperty: "labelProperty" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { properties: { "class": "this.class", "class.thy-cascader-menu-item": "this.item", "class.thy-cascader-menu-item-active": "this.active", "class.thy-cascader-menu-item-disabled": "this.disabled", "class.thy-cascader-menu-item-expand": "this.expand" } }, ngImport: i0, template: "<div thyStopPropagation *ngIf=\"!option.readonly\">\n <label *ngIf=\"multiple\" class=\"mr-2\" thyCheckbox [disabled]=\"option.disabled\" [name]=\"option.value || option._id\"\n [thyIndeterminate]=\"halfSelected\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n\n <label *ngIf=\"!multiple && !isOnlySelectLeaf\" class=\"mr-2\" thyRadio [disabled]=\"option.disabled\"\n [name]=\"option.value || option._id\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n</div>\n\n\n<ng-container *ngIf=\"!optionRender; else optionTemplate\">\n <span thyFlexibleText [thyTooltipContent]=\"option[labelProperty] || ''\"> {{ option[labelProperty] || '' }}</span>\n</ng-container>\n<ng-template #optionTemplate>\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option }\"></ng-template>\n</ng-template>\n\n<span *ngIf=\"!option.isLeaf || (option.children && option.children.length) || option.loading\"\n class=\"wtf wtf-angle-right thy-cascader-menu-item-expand-icon\">\n</span>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyRadio, selector: "[thy-radio],[thyRadio]", inputs: ["thyValue"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCascaderOptionComponent, isStandalone: true, selector: "[thy-cascader-option]", inputs: { option: "option", multiple: ["multiple", "multiple", coerceBooleanProperty], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", coerceBooleanProperty], optionRender: "optionRender", active: ["active", "active", coerceBooleanProperty], halfSelected: ["halfSelected", "halfSelected", coerceBooleanProperty], selected: ["selected", "selected", coerceBooleanProperty], labelProperty: "labelProperty" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { properties: { "class": "this.class", "class.thy-cascader-menu-item": "this.item", "class.thy-cascader-menu-item-active": "this.active", "class.thy-cascader-menu-item-disabled": "this.disabled", "class.thy-cascader-menu-item-expand": "this.expand" } }, ngImport: i0, template: "<div thyStopPropagation *ngIf=\"!option.readonly\">\n <label *ngIf=\"multiple\" class=\"mr-2\" thyCheckbox [disabled]=\"option.disabled\" [name]=\"option.value || option._id\"\n [thyIndeterminate]=\"halfSelected\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n\n <label *ngIf=\"!multiple && !isOnlySelectLeaf\" class=\"mr-2\" thyRadio [disabled]=\"option.disabled\"\n [name]=\"option.value || option._id\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n</div>\n\n\n<ng-container *ngIf=\"!optionRender; else optionTemplate\">\n <span thyFlexibleText [thyTooltipContent]=\"option[labelProperty] || ''\"> {{ option[labelProperty] || '' }}</span>\n</ng-container>\n<ng-template #optionTemplate>\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option }\"></ng-template>\n</ng-template>\n\n<span *ngIf=\"!option.isLeaf || (option.children && option.children.length) || option.loading\"\n class=\"wtf wtf-angle-right thy-cascader-menu-item-expand-icon\">\n</span>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyRadio, selector: "[thy-radio],[thyRadio]", inputs: ["thyValue"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
38
  }
38
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCascaderOptionComponent, decorators: [{
39
40
  type: Component,
@@ -42,10 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
42
43
  type: Input
43
44
  }], multiple: [{
44
45
  type: Input,
45
- args: [{ transform: booleanAttribute }]
46
+ args: [{ transform: coerceBooleanProperty }]
46
47
  }], isOnlySelectLeaf: [{
47
48
  type: Input,
48
- args: [{ transform: booleanAttribute }]
49
+ args: [{ transform: coerceBooleanProperty }]
49
50
  }], optionRender: [{
50
51
  type: Input
51
52
  }], class: [{
@@ -59,13 +60,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
59
60
  args: ['class.thy-cascader-menu-item-active']
60
61
  }, {
61
62
  type: Input,
62
- args: [{ transform: booleanAttribute }]
63
+ args: [{ transform: coerceBooleanProperty }]
63
64
  }], halfSelected: [{
64
65
  type: Input,
65
- args: [{ transform: booleanAttribute }]
66
+ args: [{ transform: coerceBooleanProperty }]
66
67
  }], selected: [{
67
68
  type: Input,
68
- args: [{ transform: booleanAttribute }]
69
+ args: [{ transform: coerceBooleanProperty }]
69
70
  }], disabled: [{
70
71
  type: HostBinding,
71
72
  args: ['class.thy-cascader-menu-item-disabled']
@@ -77,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
77
78
  }], toggleSelectChange: [{
78
79
  type: Output
79
80
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXItbGkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhc2NhZGVyL2Nhc2NhZGVyLWxpLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXNjYWRlci9jYXNjYWRlci1saS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSTdDOztHQUVHO0FBVUgsTUFBTSxPQUFPLDBCQUEwQjtJQTBCbkMsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQU1EO1FBcENBLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBS0YsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUVNLFNBQUksR0FBRyxJQUFJLENBQUM7UUFJekQsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBWWpCLGtCQUFhLEdBQVcsT0FBTyxDQUFDO1FBRS9CLHVCQUFrQixHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFELENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFTixZQUFZLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBOUNRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHdIQUdmLGdCQUFnQiw4REFHaEIsZ0JBQWdCLDhEQVdoQixnQkFBZ0Isa0RBR2hCLGdCQUFnQixzQ0FHaEIsZ0JBQWdCLHdYQ3pEeEMsdWlDQW1CQSw0Q0RhYyxJQUFJLDZGQUFFLGVBQWUsbU9BQUUsV0FBVyxvSEFBRSxRQUFRLHdGQUFFLFdBQVcsK1ZBQUUsMkJBQTJCLGlHQUFFLGdCQUFnQjs7MkZBRXpHLDBCQUEwQjtrQkFUdEMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFlBRTNCLHVCQUF1QixjQUVyQixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLGdCQUFnQixDQUFDO3dEQUcxRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxnQkFBZ0I7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsWUFBWTtzQkFEWCxLQUFLO2dCQUdnQixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBRXlCLElBQUk7c0JBQWhELFdBQVc7dUJBQUMsOEJBQThCO2dCQUkzQyxNQUFNO3NCQUZMLFdBQVc7dUJBQUMscUNBQXFDOztzQkFDakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsWUFBWTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxRQUFRO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSWxDLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBTWhELE1BQU07c0JBRFQsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBS3pDLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5Q2hlY2tib3ggfSBmcm9tICduZ3gtdGV0aHlzL2NoZWNrYm94JztcbmltcG9ydCB7IFRoeUZsZXhpYmxlVGV4dCB9IGZyb20gJ25neC10ZXRoeXMvZmxleGlibGUtdGV4dCc7XG5pbXBvcnQgeyBUaHlSYWRpbyB9IGZyb20gJ25neC10ZXRoeXMvcmFkaW8nO1xuaW1wb3J0IHsgVGh5U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRoeUNhc2NhZGVyT3B0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1t0aHktY2FzY2FkZXItb3B0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nhc2NhZGVyLWxpLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlGbGV4aWJsZVRleHQsIFRoeUNoZWNrYm94LCBUaHlSYWRpbywgRm9ybXNNb2R1bGUsIFRoeVN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FzY2FkZXJPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb247XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNPbmx5U2VsZWN0TGVhZiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIG9wdGlvblJlbmRlcjogVGVtcGxhdGVSZWY8U2FmZUFueT47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnZC1mbGV4JztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhc2NhZGVyLW1lbnUtaXRlbScpIGl0ZW0gPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktY2FzY2FkZXItbWVudS1pdGVtLWFjdGl2ZScpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBoYWxmU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYXNjYWRlci1tZW51LWl0ZW0tZGlzYWJsZWQnKVxuICAgIGdldCBkaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhc2NhZGVyLW1lbnUtaXRlbS1leHBhbmQnKVxuICAgIGdldCBleHBhbmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbiAmJiAhdGhpcy5vcHRpb24uaXNMZWFmO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxhYmVsUHJvcGVydHk6IHN0cmluZyA9ICdsYWJlbCc7XG5cbiAgICBAT3V0cHV0KCkgdG9nZ2xlU2VsZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBwdWJsaWMgdG9nZ2xlT3B0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0Q2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn1cbiIsIjxkaXYgdGh5U3RvcFByb3BhZ2F0aW9uICpuZ0lmPVwiIW9wdGlvbi5yZWFkb25seVwiPlxuICA8bGFiZWwgKm5nSWY9XCJtdWx0aXBsZVwiIGNsYXNzPVwibXItMlwiIHRoeUNoZWNrYm94IFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIiBbbmFtZV09XCJvcHRpb24udmFsdWUgfHwgb3B0aW9uLl9pZFwiXG4gICAgW3RoeUluZGV0ZXJtaW5hdGVdPVwiaGFsZlNlbGVjdGVkXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZU9wdGlvbigkZXZlbnQpXCI+PC9sYWJlbD5cblxuICA8bGFiZWwgKm5nSWY9XCIhbXVsdGlwbGUgJiYgIWlzT25seVNlbGVjdExlYWZcIiBjbGFzcz1cIm1yLTJcIiB0aHlSYWRpbyBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICBbbmFtZV09XCJvcHRpb24udmFsdWUgfHwgb3B0aW9uLl9pZFwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIiAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGVPcHRpb24oJGV2ZW50KVwiPjwvbGFiZWw+XG48L2Rpdj5cblxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvblJlbmRlcjsgZWxzZSBvcHRpb25UZW1wbGF0ZVwiPlxuICA8c3BhbiB0aHlGbGV4aWJsZVRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cIm9wdGlvbltsYWJlbFByb3BlcnR5XSB8fCAnJ1wiPiB7eyBvcHRpb25bbGFiZWxQcm9wZXJ0eV0gfHwgJycgfX08L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25SZW5kZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb24gfVwiPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48c3BhbiAqbmdJZj1cIiFvcHRpb24uaXNMZWFmIHx8IChvcHRpb24uY2hpbGRyZW4gJiYgb3B0aW9uLmNoaWxkcmVuLmxlbmd0aCkgfHwgb3B0aW9uLmxvYWRpbmdcIlxuICBjbGFzcz1cInd0ZiB3dGYtYW5nbGUtcmlnaHQgdGh5LWNhc2NhZGVyLW1lbnUtaXRlbS1leHBhbmQtaWNvblwiPlxuPC9zcGFuPlxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXItbGkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhc2NhZGVyL2Nhc2NhZGVyLWxpLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXNjYWRlci9jYXNjYWRlci1saS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFeEQ7O0dBRUc7QUFVSCxNQUFNLE9BQU8sMEJBQTBCO0lBMEJuQyxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDO0lBTUQ7UUFwQ0EsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFLRixVQUFLLEdBQUcsUUFBUSxDQUFDO1FBRU0sU0FBSSxHQUFHLElBQUksQ0FBQztRQUl6RCxXQUFNLEdBQVksS0FBSyxDQUFDO1FBR3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFZakIsa0JBQWEsR0FBVyxPQUFPLENBQUM7UUFFL0IsdUJBQWtCLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFMUQsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUVOLFlBQVksQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0E5Q1EsMEJBQTBCO2tHQUExQiwwQkFBMEIsd0hBR2YscUJBQXFCLDhEQUdyQixxQkFBcUIsOERBV3JCLHFCQUFxQixrREFHckIscUJBQXFCLHNDQUdyQixxQkFBcUIsd1hDekQ3Qyx1aUNBbUJBLDRDRGFjLElBQUksNkZBQUUsZUFBZSxtT0FBRSxXQUFXLG9IQUFFLFFBQVEsd0ZBQUUsV0FBVywrVkFBRSwyQkFBMkIsaUdBQUUsZ0JBQWdCOzsyRkFFekcsMEJBQTBCO2tCQVR0QyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksWUFFM0IsdUJBQXVCLGNBRXJCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLENBQUM7d0RBRzFHLE1BQU07c0JBQWQsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBSTNDLGdCQUFnQjtzQkFEZixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUkzQyxZQUFZO3NCQURYLEtBQUs7Z0JBR2dCLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTztnQkFFeUIsSUFBSTtzQkFBaEQsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBSTNDLE1BQU07c0JBRkwsV0FBVzt1QkFBQyxxQ0FBcUM7O3NCQUNqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUkzQyxZQUFZO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBSTNDLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFJdkMsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLHVDQUF1QztnQkFNaEQsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLHFDQUFxQztnQkFLekMsYUFBYTtzQkFBckIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlDaGVja2JveCB9IGZyb20gJ25neC10ZXRoeXMvY2hlY2tib3gnO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0IH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbmltcG9ydCB7IFRoeVJhZGlvIH0gZnJvbSAnbmd4LXRldGh5cy9yYWRpbyc7XG5pbXBvcnQgeyBUaHlTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRoeUNhc2NhZGVyT3B0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbdGh5LWNhc2NhZGVyLW9wdGlvbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXNjYWRlci1saS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5RmxleGlibGVUZXh0LCBUaHlDaGVja2JveCwgVGh5UmFkaW8sIEZvcm1zTW9kdWxlLCBUaHlTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhc2NhZGVyT3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBvcHRpb246IFRoeUNhc2NhZGVyT3B0aW9uO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBpc09ubHlTZWxlY3RMZWFmID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgb3B0aW9uUmVuZGVyOiBUZW1wbGF0ZVJlZjxTYWZlQW55PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICdkLWZsZXgnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktY2FzY2FkZXItbWVudS1pdGVtJykgaXRlbSA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYXNjYWRlci1tZW51LWl0ZW0tYWN0aXZlJylcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBoYWxmU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhc2NhZGVyLW1lbnUtaXRlbS1kaXNhYmxlZCcpXG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb24uZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktY2FzY2FkZXItbWVudS1pdGVtLWV4cGFuZCcpXG4gICAgZ2V0IGV4cGFuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uICYmICF0aGlzLm9wdGlvbi5pc0xlYWY7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbGFiZWxQcm9wZXJ0eTogc3RyaW5nID0gJ2xhYmVsJztcblxuICAgIEBPdXRwdXQoKSB0b2dnbGVTZWxlY3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIHB1YmxpYyB0b2dnbGVPcHRpb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy50b2dnbGVTZWxlY3RDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPGRpdiB0aHlTdG9wUHJvcGFnYXRpb24gKm5nSWY9XCIhb3B0aW9uLnJlYWRvbmx5XCI+XG4gIDxsYWJlbCAqbmdJZj1cIm11bHRpcGxlXCIgY2xhc3M9XCJtci0yXCIgdGh5Q2hlY2tib3ggW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiIFtuYW1lXT1cIm9wdGlvbi52YWx1ZSB8fCBvcHRpb24uX2lkXCJcbiAgICBbdGh5SW5kZXRlcm1pbmF0ZV09XCJoYWxmU2VsZWN0ZWRcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlT3B0aW9uKCRldmVudClcIj48L2xhYmVsPlxuXG4gIDxsYWJlbCAqbmdJZj1cIiFtdWx0aXBsZSAmJiAhaXNPbmx5U2VsZWN0TGVhZlwiIGNsYXNzPVwibXItMlwiIHRoeVJhZGlvIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIlxuICAgIFtuYW1lXT1cIm9wdGlvbi52YWx1ZSB8fCBvcHRpb24uX2lkXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZU9wdGlvbigkZXZlbnQpXCI+PC9sYWJlbD5cbjwvZGl2PlxuXG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uUmVuZGVyOyBlbHNlIG9wdGlvblRlbXBsYXRlXCI+XG4gIDxzcGFuIHRoeUZsZXhpYmxlVGV4dCBbdGh5VG9vbHRpcENvbnRlbnRdPVwib3B0aW9uW2xhYmVsUHJvcGVydHldIHx8ICcnXCI+IHt7IG9wdGlvbltsYWJlbFByb3BlcnR5XSB8fCAnJyB9fTwvc3Bhbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNvcHRpb25UZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblJlbmRlclwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbiB9XCI+PC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxzcGFuICpuZ0lmPVwiIW9wdGlvbi5pc0xlYWYgfHwgKG9wdGlvbi5jaGlsZHJlbiAmJiBvcHRpb24uY2hpbGRyZW4ubGVuZ3RoKSB8fCBvcHRpb24ubG9hZGluZ1wiXG4gIGNsYXNzPVwid3RmIHd0Zi1hbmdsZS1yaWdodCB0aHktY2FzY2FkZXItbWVudS1pdGVtLWV4cGFuZC1pY29uXCI+XG48L3NwYW4+XG4iXX0=
@@ -1,10 +1,11 @@
1
1
  import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewEncapsulation, booleanAttribute } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { ThyBreadcrumb, ThyBreadcrumbItem } from 'ngx-tethys/breadcrumb';
5
5
  import { ThyCheckbox } from 'ngx-tethys/checkbox';
6
6
  import { ThyFlexibleText } from 'ngx-tethys/flexible-text';
7
7
  import { ThyIcon } from 'ngx-tethys/icon';
8
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/forms";
10
11
  /**
@@ -36,7 +37,7 @@ export class ThyCascaderSearchOptionComponent {
36
37
  this.toggleSelectChange.emit(this.option);
37
38
  }
38
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCascaderSearchOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCascaderSearchOptionComponent, isStandalone: true, selector: "[thy-cascader-search-option]", inputs: { option: "option", multiple: ["multiple", "multiple", booleanAttribute], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", booleanAttribute], active: ["active", "active", booleanAttribute], optionRender: "optionRender" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { listeners: { "click": "toggleClick($event)" }, properties: { "class.multiple": "this.multiple", "class": "this.className", "class.active": "this.active" } }, ngImport: i0, template: "<label *ngIf=\"multiple\" class=\"mr-1\" thyCheckbox [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\" (click)=\"clickCheckbox($event)\" (ngModelChange)=\"toggleOption($event)\" [thyLabelText]=\"''\"></label>\n\n<thy-breadcrumb thySeparator=\"slash\">\n <ng-container *ngFor=\"let label of option.labelList; index as i\">\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\">\n <ng-container *ngIf=\"!optionRender; else optionTemplate\">\n <span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span>\n </ng-container>\n <ng-template #optionTemplate>\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option: option.thyRowValue[i] }\">\n </ng-template>\n </ng-template>\n </thy-breadcrumb-item>\n </ng-container>\n</thy-breadcrumb>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyBreadcrumb, selector: "thy-breadcrumb", inputs: ["thyIcon", "thySeparator"], exportAs: ["ThyBreadcrumb"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyCascaderSearchOptionComponent, isStandalone: true, selector: "[thy-cascader-search-option]", inputs: { option: "option", multiple: ["multiple", "multiple", coerceBooleanProperty], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", coerceBooleanProperty], active: ["active", "active", coerceBooleanProperty], optionRender: "optionRender" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { listeners: { "click": "toggleClick($event)" }, properties: { "class.multiple": "this.multiple", "class": "this.className", "class.active": "this.active" } }, ngImport: i0, template: "<label *ngIf=\"multiple\" class=\"mr-1\" thyCheckbox [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\" (click)=\"clickCheckbox($event)\" (ngModelChange)=\"toggleOption($event)\" [thyLabelText]=\"''\"></label>\n\n<thy-breadcrumb thySeparator=\"slash\">\n <ng-container *ngFor=\"let label of option.labelList; index as i\">\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\">\n <ng-container *ngIf=\"!optionRender; else optionTemplate\">\n <span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span>\n </ng-container>\n <ng-template #optionTemplate>\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option: option.thyRowValue[i] }\">\n </ng-template>\n </ng-template>\n </thy-breadcrumb-item>\n </ng-container>\n</thy-breadcrumb>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyBreadcrumb, selector: "thy-breadcrumb", inputs: ["thyIcon", "thySeparator", "thyItems", "thyMaxCount", "thyExpandable"], exportAs: ["ThyBreadcrumb"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
41
  }
41
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyCascaderSearchOptionComponent, decorators: [{
42
43
  type: Component,
@@ -48,10 +49,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
48
49
  args: ['class.multiple']
49
50
  }, {
50
51
  type: Input,
51
- args: [{ transform: booleanAttribute }]
52
+ args: [{ transform: coerceBooleanProperty }]
52
53
  }], isOnlySelectLeaf: [{
53
54
  type: Input,
54
- args: [{ transform: booleanAttribute }]
55
+ args: [{ transform: coerceBooleanProperty }]
55
56
  }], className: [{
56
57
  type: HostBinding,
57
58
  args: ['class']
@@ -60,7 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
60
61
  args: ['class.active']
61
62
  }, {
62
63
  type: Input,
63
- args: [{ transform: booleanAttribute }]
64
+ args: [{ transform: coerceBooleanProperty }]
64
65
  }], optionRender: [{
65
66
  type: Input
66
67
  }], toggleClick: [{
@@ -69,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
69
70
  }], toggleSelectChange: [{
70
71
  type: Output
71
72
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSTFDOztHQUVHO0FBVUgsTUFBTSxPQUFPLGdDQUFnQztJQW1CbEMsV0FBVyxDQUFDLE1BQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBSUQ7UUF2QkEsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDRixjQUFTLEdBQUcsNkVBQTZFLENBQUM7UUFJaEgsV0FBTSxHQUFZLEtBQUssQ0FBQztRQWFkLHVCQUFrQixHQUEwQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFFLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFTixhQUFhLENBQUMsS0FBWTtRQUM3QixtQkFBbUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0ExQ1EsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsK0hBSXJCLGdCQUFnQiw4REFHaEIsZ0JBQWdCLGdDQUtoQixnQkFBZ0Isd1JDOUN4QywyN0JBZ0JBLDRDRGdCYyxJQUFJLDZGQUFFLEtBQUssbUhBQUUsZUFBZSxtT0FBRSxXQUFXLG9IQUFFLGFBQWEsNkhBQUUsaUJBQWlCLG9IQUFXLFdBQVcsK1ZBQUUsZ0JBQWdCOzsyRkFFcEgsZ0NBQWdDO2tCQVQ1QyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksWUFFM0IsOEJBQThCLGNBRTVCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQzt3REFHckgsTUFBTTtzQkFBZCxLQUFLO2dCQUlOLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUM1QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxnQkFBZ0I7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFaEIsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQUlwQixNQUFNO3NCQUZMLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFlBQVk7c0JBRFgsS0FBSztnQkFJQyxXQUFXO3NCQURqQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRdkIsa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnbmd4LXRldGh5cy9icmVhZGNydW1iJztcbmltcG9ydCB7IFRoeUNoZWNrYm94IH0gZnJvbSAnbmd4LXRldGh5cy9jaGVja2JveCc7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlDYXNjYWRlclNlYXJjaE9wdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbdGh5LWNhc2NhZGVyLXNlYXJjaC1vcHRpb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFRoeUZsZXhpYmxlVGV4dCwgVGh5Q2hlY2tib3gsIFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtLCBUaHlJY29uLCBGb3Jtc01vZHVsZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIG9wdGlvbjogVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb247XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm11bHRpcGxlJylcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNPbmx5U2VsZWN0TGVhZiA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICd0aHktY2FzY2FkZXItc2VhcmNoLWxpc3QtaXRlbSBweC00IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXInO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBvcHRpb25SZW5kZXI6IFRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyB0b2dnbGVDbGljaygkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2dnbGVTZWxlY3RDaGFuZ2UuZW1pdCh0aGlzLm9wdGlvbik7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHRvZ2dsZVNlbGVjdENoYW5nZTogRXZlbnRFbWl0dGVyPFRoeUNhc2NhZGVyU2VhcmNoT3B0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIHB1YmxpYyBjbGlja0NoZWNrYm94KGV2ZW50OiBFdmVudCkge1xuICAgICAgICAvLyDlt7LpgInkuK3nmoTlnKjmkJzntKLmg4XlhrXkuIvkuI3og73lj5bmtojpgInmi6lcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlT3B0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0Q2hhbmdlLmVtaXQodGhpcy5vcHRpb24pO1xuICAgIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cIm11bHRpcGxlXCIgY2xhc3M9XCJtci0xXCIgdGh5Q2hlY2tib3ggW2Rpc2FibGVkXT1cIm9wdGlvbi50aHlSb3dWYWx1ZVtvcHRpb24udGh5Um93VmFsdWUubGVuZ3RoIC0gMV0uZGlzYWJsZWRcIlxuICBbbmdNb2RlbF09XCJhY3RpdmVcIiAoY2xpY2spPVwiY2xpY2tDaGVja2JveCgkZXZlbnQpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlT3B0aW9uKCRldmVudClcIiBbdGh5TGFiZWxUZXh0XT1cIicnXCI+PC9sYWJlbD5cblxuPHRoeS1icmVhZGNydW1iIHRoeVNlcGFyYXRvcj1cInNsYXNoXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIG9wdGlvbi5sYWJlbExpc3Q7IGluZGV4IGFzIGlcIj5cbiAgICA8dGh5LWJyZWFkY3J1bWItaXRlbSBbbmdDbGFzc109XCJ7ICd0ZXh0LW11dGVkJzogIShvcHRpb24udGh5Um93VmFsdWVbaV0uaXNMZWFmICYmIGlzT25seVNlbGVjdExlYWYpIH1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uUmVuZGVyOyBlbHNlIG9wdGlvblRlbXBsYXRlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLWxhYmVsLWl0ZW1cIiB0aHlGbGV4aWJsZVRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25SZW5kZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbi50aHlSb3dWYWx1ZVtpXSB9XCI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdGh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPC9uZy1jb250YWluZXI+XG48L3RoeS1icmVhZGNydW1iPlxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFeEQ7O0dBRUc7QUFVSCxNQUFNLE9BQU8sZ0NBQWdDO0lBbUJsQyxXQUFXLENBQUMsTUFBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFJRDtRQXZCQSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUNGLGNBQVMsR0FBRyw2RUFBNkUsQ0FBQztRQUloSCxXQUFNLEdBQVksS0FBSyxDQUFDO1FBYWQsdUJBQWtCLEdBQTBDLElBQUksWUFBWSxFQUFFLENBQUM7SUFFMUUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUVOLGFBQWEsQ0FBQyxLQUFZO1FBQzdCLG1CQUFtQjtRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNkLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQTFDUSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQywrSEFJckIscUJBQXFCLDhEQUdyQixxQkFBcUIsZ0NBS3JCLHFCQUFxQix3UkM5QzdDLDI3QkFnQkEsNENEZ0JjLElBQUksNkZBQUUsS0FBSyxtSEFBRSxlQUFlLG1PQUFFLFdBQVcsb0hBQUUsYUFBYSx5S0FBRSxpQkFBaUIsb0hBQVcsV0FBVywrVkFBRSxnQkFBZ0I7OzJGQUVwSCxnQ0FBZ0M7a0JBVDVDLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxZQUUzQiw4QkFBOEIsY0FFNUIsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDO3dEQUdySCxNQUFNO3NCQUFkLEtBQUs7Z0JBSU4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQzVCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBSTNDLGdCQUFnQjtzQkFEZixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUVyQixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBSXBCLE1BQU07c0JBRkwsV0FBVzt1QkFBQyxjQUFjOztzQkFDMUIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFJM0MsWUFBWTtzQkFEWCxLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVF2QixrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnbmd4LXRldGh5cy9icmVhZGNydW1iJztcbmltcG9ydCB7IFRoeUNoZWNrYm94IH0gZnJvbSAnbmd4LXRldGh5cy9jaGVja2JveCc7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlDYXNjYWRlclNlYXJjaE9wdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW3RoeS1jYXNjYWRlci1zZWFyY2gtb3B0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nhc2NhZGVyLXNlYXJjaC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBUaHlGbGV4aWJsZVRleHQsIFRoeUNoZWNrYm94LCBUaHlCcmVhZGNydW1iLCBUaHlCcmVhZGNydW1iSXRlbSwgVGh5SWNvbiwgRm9ybXNNb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhc2NhZGVyU2VhcmNoT3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBvcHRpb246IFRoeUNhc2NhZGVyU2VhcmNoT3B0aW9uO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tdWx0aXBsZScpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBpc09ubHlTZWxlY3RMZWFmID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ3RoeS1jYXNjYWRlci1zZWFyY2gtbGlzdC1pdGVtIHB4LTQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjdXJzb3ItcG9pbnRlcic7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgb3B0aW9uUmVuZGVyOiBUZW1wbGF0ZVJlZjxTYWZlQW55PjtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgdG9nZ2xlQ2xpY2soJGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0Q2hhbmdlLmVtaXQodGhpcy5vcHRpb24pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSB0b2dnbGVTZWxlY3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaHlDYXNjYWRlclNlYXJjaE9wdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBwdWJsaWMgY2xpY2tDaGVja2JveChldmVudDogRXZlbnQpIHtcbiAgICAgICAgLy8g5bey6YCJ5Lit55qE5Zyo5pCc57Si5oOF5Ya15LiL5LiN6IO95Y+W5raI6YCJ5oupXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZU9wdGlvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdENoYW5nZS5lbWl0KHRoaXMub3B0aW9uKTtcbiAgICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJtdWx0aXBsZVwiIGNsYXNzPVwibXItMVwiIHRoeUNoZWNrYm94IFtkaXNhYmxlZF09XCJvcHRpb24udGh5Um93VmFsdWVbb3B0aW9uLnRoeVJvd1ZhbHVlLmxlbmd0aCAtIDFdLmRpc2FibGVkXCJcbiAgW25nTW9kZWxdPVwiYWN0aXZlXCIgKGNsaWNrKT1cImNsaWNrQ2hlY2tib3goJGV2ZW50KVwiIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZU9wdGlvbigkZXZlbnQpXCIgW3RoeUxhYmVsVGV4dF09XCInJ1wiPjwvbGFiZWw+XG5cbjx0aHktYnJlYWRjcnVtYiB0aHlTZXBhcmF0b3I9XCJzbGFzaFwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBvcHRpb24ubGFiZWxMaXN0OyBpbmRleCBhcyBpXCI+XG4gICAgPHRoeS1icmVhZGNydW1iLWl0ZW0gW25nQ2xhc3NdPVwieyAndGV4dC1tdXRlZCc6ICEob3B0aW9uLnRoeVJvd1ZhbHVlW2ldLmlzTGVhZiAmJiBpc09ubHlTZWxlY3RMZWFmKSB9XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvblJlbmRlcjsgZWxzZSBvcHRpb25UZW1wbGF0ZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi1sYWJlbC1pdGVtXCIgdGh5RmxleGlibGVUZXh0IFt0aHlUb29sdGlwQ29udGVudF09XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI29wdGlvblRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uUmVuZGVyXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uOiBvcHRpb24udGh5Um93VmFsdWVbaV0gfVwiPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3RoeS1icmVhZGNydW1iLWl0ZW0+XG4gIDwvbmctY29udGFpbmVyPlxuPC90aHktYnJlYWRjcnVtYj5cbiJdfQ==