ngx-tethys 18.1.0-next.0 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/anchor/anchor-link.component.d.ts +2 -4
  5. package/anchor/anchor.component.d.ts +1 -4
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  7. package/autocomplete/autocomplete.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  9. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  10. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  11. package/avatar/avatar.component.d.ts +1 -3
  12. package/avatar/avatar.pipe.d.ts +0 -2
  13. package/back-top/back-top.component.d.ts +2 -4
  14. package/badge/badge.component.d.ts +5 -14
  15. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  16. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  17. package/button/button.component.d.ts +1 -2
  18. package/calendar/calendar-header.component.d.ts +1 -2
  19. package/calendar/calendar.component.d.ts +1 -2
  20. package/carousel/carousel-item.directive.d.ts +1 -2
  21. package/carousel/carousel.component.d.ts +1 -4
  22. package/carousel/carousel.service.d.ts +1 -2
  23. package/cascader/cascader.component.d.ts +4 -4
  24. package/checkbox/checkbox.component.d.ts +0 -2
  25. package/collapse/collapse-item.component.d.ts +2 -4
  26. package/color-picker/color-picker-panel.component.d.ts +2 -3
  27. package/color-picker/color-picker.component.d.ts +2 -4
  28. package/color-picker/coordinates.directive.d.ts +1 -2
  29. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  30. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  31. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  32. package/copy/copy.directive.d.ts +0 -2
  33. package/core/click-positioner.d.ts +0 -2
  34. package/core/scroll.d.ts +1 -2
  35. package/core/update-host-class.service.d.ts +1 -2
  36. package/date-picker/abstract-picker.component.d.ts +1 -1
  37. package/date-picker/abstract-picker.directive.d.ts +2 -3
  38. package/date-picker/base-picker.component.d.ts +2 -3
  39. package/date-picker/date-picker.component.d.ts +2 -2
  40. package/date-picker/date-picker.directive.d.ts +1 -3
  41. package/date-picker/date-picker.service.d.ts +2 -2
  42. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  43. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  44. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  45. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  46. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  47. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  48. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  49. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  50. package/date-picker/lib/popups/date-popup.component.d.ts +1 -3
  51. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -4
  52. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  53. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  54. package/date-picker/month-picker.component.d.ts +2 -2
  55. package/date-picker/picker.component.d.ts +1 -3
  56. package/date-picker/picker.pipes.d.ts +0 -3
  57. package/date-picker/quarter-picker.component.d.ts +2 -2
  58. package/date-picker/range-picker.component.d.ts +2 -2
  59. package/date-picker/range-picker.directive.d.ts +2 -3
  60. package/date-picker/week-picker.component.d.ts +2 -2
  61. package/date-picker/year-picker.component.d.ts +2 -2
  62. package/date-range/date-range.component.d.ts +1 -3
  63. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  64. package/dialog/body/dialog-body.component.d.ts +0 -2
  65. package/dialog/confirm/confirm.component.d.ts +2 -3
  66. package/dialog/dialog-container.component.d.ts +4 -5
  67. package/dialog/dialog.service.d.ts +4 -4
  68. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  69. package/dialog/header/dialog-header.component.d.ts +2 -6
  70. package/dot/dot.component.d.ts +1 -2
  71. package/drag-drop/drag-content.directive.d.ts +2 -3
  72. package/drag-drop/drag-handle.directive.d.ts +2 -3
  73. package/drag-drop/drag.directive.d.ts +4 -5
  74. package/drag-drop/drop-container.directive.d.ts +6 -3
  75. package/dropdown/dropdown-active.directive.d.ts +3 -4
  76. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  77. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  78. package/dropdown/dropdown.directive.d.ts +3 -5
  79. package/empty/empty.component.d.ts +6 -6
  80. package/esm2022/action/action.component.mjs +18 -18
  81. package/esm2022/affix/affix.component.mjs +11 -14
  82. package/esm2022/anchor/anchor-link.component.mjs +9 -10
  83. package/esm2022/anchor/anchor.component.mjs +11 -16
  84. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +22 -22
  85. package/esm2022/autocomplete/autocomplete.component.mjs +7 -7
  86. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  87. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  88. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  89. package/esm2022/avatar/avatar.component.mjs +24 -25
  90. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  91. package/esm2022/back-top/back-top.component.mjs +11 -15
  92. package/esm2022/badge/badge.component.mjs +6 -6
  93. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  94. package/esm2022/breadcrumb/breadcrumb.component.mjs +12 -12
  95. package/esm2022/button/button.component.mjs +12 -12
  96. package/esm2022/calendar/calendar-header.component.mjs +12 -12
  97. package/esm2022/calendar/calendar.component.mjs +12 -12
  98. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  99. package/esm2022/carousel/carousel.component.mjs +10 -12
  100. package/esm2022/carousel/carousel.service.mjs +7 -9
  101. package/esm2022/cascader/cascader.component.mjs +11 -16
  102. package/esm2022/checkbox/checkbox.component.mjs +7 -9
  103. package/esm2022/collapse/collapse-item.component.mjs +18 -21
  104. package/esm2022/color-picker/color-picker-panel.component.mjs +11 -12
  105. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  106. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  107. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  108. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  109. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  110. package/esm2022/copy/copy.directive.mjs +8 -12
  111. package/esm2022/core/click-positioner.mjs +6 -7
  112. package/esm2022/core/scroll.mjs +7 -9
  113. package/esm2022/core/store/store.mjs +1 -1
  114. package/esm2022/core/update-host-class.service.mjs +6 -6
  115. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  116. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  117. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  118. package/esm2022/date-picker/date-picker.component.mjs +6 -6
  119. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  120. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  121. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  122. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  123. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -9
  124. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -9
  125. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +12 -12
  126. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +5 -8
  127. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -9
  128. package/esm2022/date-picker/lib/month/month-table.component.mjs +6 -7
  129. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +12 -13
  130. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +12 -13
  131. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +6 -7
  132. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -9
  133. package/esm2022/date-picker/month-picker.component.mjs +6 -7
  134. package/esm2022/date-picker/picker.component.mjs +21 -22
  135. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  136. package/esm2022/date-picker/quarter-picker.component.mjs +6 -7
  137. package/esm2022/date-picker/range-picker.component.mjs +6 -7
  138. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  139. package/esm2022/date-picker/week-picker.component.mjs +6 -7
  140. package/esm2022/date-picker/year-picker.component.mjs +6 -7
  141. package/esm2022/date-range/date-range.component.mjs +14 -15
  142. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +8 -9
  143. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  144. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  145. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  146. package/esm2022/dialog/dialog.service.mjs +10 -17
  147. package/esm2022/dialog/footer/dialog-footer.component.mjs +7 -11
  148. package/esm2022/dialog/header/dialog-header.component.mjs +14 -19
  149. package/esm2022/dot/dot.component.mjs +7 -7
  150. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  151. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  152. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  153. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  154. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  155. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  156. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  157. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  158. package/esm2022/empty/empty.component.mjs +14 -17
  159. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  160. package/esm2022/form/form-group-error/form-group-error.component.mjs +9 -12
  161. package/esm2022/form/form-group-label.directive.mjs +9 -10
  162. package/esm2022/form/form-group.component.mjs +15 -19
  163. package/esm2022/form/form-submit.directive.mjs +6 -7
  164. package/esm2022/form/form-validator-loader.mjs +1 -1
  165. package/esm2022/form/form-validator.service.mjs +12 -13
  166. package/esm2022/form/form.directive.mjs +11 -16
  167. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +10 -16
  168. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  169. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  170. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  171. package/esm2022/grid/thy-col.directive.mjs +9 -14
  172. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  173. package/esm2022/grid/thy-grid.component.mjs +7 -8
  174. package/esm2022/guider/guider.directive.mjs +8 -9
  175. package/esm2022/guider/guider.service.mjs +12 -19
  176. package/esm2022/icon/icon-registry.mjs +11 -16
  177. package/esm2022/icon/icon.component.mjs +8 -9
  178. package/esm2022/image/image-group.component.mjs +7 -7
  179. package/esm2022/image/image.directive.mjs +11 -12
  180. package/esm2022/image/image.service.mjs +8 -14
  181. package/esm2022/image/preview/image-preview.component.mjs +34 -38
  182. package/esm2022/input/input-count.component.mjs +7 -10
  183. package/esm2022/input/input-group.component.mjs +12 -13
  184. package/esm2022/input/input-search.component.mjs +7 -7
  185. package/esm2022/input/input.component.mjs +14 -14
  186. package/esm2022/input/input.directive.mjs +12 -17
  187. package/esm2022/input-number/input-number.component.mjs +6 -6
  188. package/esm2022/layout/sidebar.component.mjs +45 -51
  189. package/esm2022/list/selection/selection-list.mjs +25 -25
  190. package/esm2022/loading/loading.component.mjs +8 -8
  191. package/esm2022/mention/mention.directive.mjs +9 -14
  192. package/esm2022/mention/suggestions/suggestions.component.mjs +8 -9
  193. package/esm2022/menu/group/menu-group.component.mjs +34 -35
  194. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  195. package/esm2022/menu/item/menu-item.component.mjs +6 -6
  196. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  197. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  198. package/esm2022/message/message-container.component.mjs +9 -11
  199. package/esm2022/message/message-queue.service.mjs +6 -8
  200. package/esm2022/message/message.component.mjs +7 -7
  201. package/esm2022/message/message.service.mjs +10 -11
  202. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  203. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  204. package/esm2022/nav/nav-item.directive.mjs +8 -11
  205. package/esm2022/nav/nav.component.mjs +32 -33
  206. package/esm2022/nav/nav.pipe.mjs +6 -7
  207. package/esm2022/notify/notify-container.component.mjs +8 -11
  208. package/esm2022/notify/notify-queue.service.mjs +6 -8
  209. package/esm2022/notify/notify.component.mjs +7 -7
  210. package/esm2022/notify/notify.service.mjs +11 -12
  211. package/esm2022/pagination/pagination.component.mjs +38 -43
  212. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  213. package/esm2022/popover/header/popover-header.component.mjs +12 -14
  214. package/esm2022/popover/popover-container.component.mjs +11 -13
  215. package/esm2022/popover/popover.directive.mjs +13 -12
  216. package/esm2022/popover/popover.service.mjs +14 -26
  217. package/esm2022/progress/progress-strip.component.mjs +10 -13
  218. package/esm2022/property/property-item.component.mjs +10 -13
  219. package/esm2022/property-operation/property-operation.component.mjs +24 -25
  220. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  221. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  222. package/esm2022/radio/radio.component.mjs +8 -14
  223. package/esm2022/rate/rate.component.mjs +6 -6
  224. package/esm2022/resizable/resizable.directive.mjs +10 -12
  225. package/esm2022/resizable/resizable.service.mjs +7 -9
  226. package/esm2022/resizable/resize-handle.component.mjs +7 -8
  227. package/esm2022/segment/segment-item.component.mjs +12 -15
  228. package/esm2022/segment/segment.component.mjs +26 -26
  229. package/esm2022/select/custom-select/custom-select.component.mjs +14 -28
  230. package/esm2022/select/native-select/native-select.component.mjs +6 -6
  231. package/esm2022/shared/base-form-check.component.mjs +7 -8
  232. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  233. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  234. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  235. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  236. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  237. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  238. package/esm2022/shared/directives/thy-show.mjs +11 -11
  239. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  240. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  241. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  242. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  243. package/esm2022/shared/option/list-option/list-option.component.mjs +12 -19
  244. package/esm2022/shared/option/option.component.mjs +9 -19
  245. package/esm2022/shared/select/select-control/select-control.component.mjs +23 -23
  246. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  247. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  248. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  249. package/esm2022/slide/slide-container.component.mjs +12 -16
  250. package/esm2022/slide/slide-header/slide-header.component.mjs +10 -11
  251. package/esm2022/slide/slide-ref.service.mjs +1 -1
  252. package/esm2022/slide/slide.service.mjs +8 -12
  253. package/esm2022/slider/slider.component.mjs +8 -8
  254. package/esm2022/space/space.component.mjs +13 -13
  255. package/esm2022/statistic/statistic.component.mjs +20 -20
  256. package/esm2022/stepper/step.component.mjs +6 -11
  257. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  258. package/esm2022/strength/strength.component.mjs +11 -12
  259. package/esm2022/switch/switch.component.mjs +6 -6
  260. package/esm2022/table/table-column.component.mjs +58 -63
  261. package/esm2022/table/table-skeleton.component.mjs +32 -32
  262. package/esm2022/table/table.component.mjs +16 -24
  263. package/esm2022/tabs/tabs.component.mjs +19 -19
  264. package/esm2022/tag/tag.component.mjs +22 -22
  265. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +10 -9
  266. package/esm2022/time-picker/time-picker-panel.component.mjs +27 -27
  267. package/esm2022/time-picker/time-picker.component.mjs +29 -29
  268. package/esm2022/timeline/timeline-item.component.mjs +12 -13
  269. package/esm2022/timeline/timeline.component.mjs +7 -8
  270. package/esm2022/tooltip/tooltip.component.mjs +14 -14
  271. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  272. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  273. package/esm2022/transfer/transfer-list.component.mjs +6 -6
  274. package/esm2022/tree/tree-node.component.mjs +13 -17
  275. package/esm2022/tree/tree.component.mjs +86 -90
  276. package/esm2022/tree-select/tree-select.component.mjs +22 -27
  277. package/esm2022/typography/bg-color.directive.mjs +9 -9
  278. package/esm2022/typography/text-color.directive.mjs +9 -9
  279. package/esm2022/upload/file-drop.directive.mjs +1 -1
  280. package/esm2022/upload/file-select-base.mjs +5 -6
  281. package/esm2022/upload/file-select.component.mjs +4 -3
  282. package/esm2022/upload/upload.service.mjs +6 -7
  283. package/esm2022/version.mjs +2 -2
  284. package/esm2022/watermark/watermark.directive.mjs +12 -12
  285. package/fesm2022/ngx-tethys-action.mjs +17 -17
  286. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  288. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-anchor.mjs +19 -22
  290. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-arrow-switcher.mjs +21 -21
  292. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-autocomplete.mjs +59 -71
  294. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-avatar.mjs +27 -27
  296. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-back-top.mjs +12 -15
  298. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys-badge.mjs +5 -5
  300. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  301. package/fesm2022/ngx-tethys-breadcrumb.mjs +16 -16
  302. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  303. package/fesm2022/ngx-tethys-button.mjs +11 -11
  304. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  305. package/fesm2022/ngx-tethys-calendar.mjs +21 -21
  306. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  307. package/fesm2022/ngx-tethys-carousel.mjs +20 -21
  308. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  309. package/fesm2022/ngx-tethys-cascader.mjs +11 -15
  310. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  311. package/fesm2022/ngx-tethys-checkbox.mjs +6 -7
  312. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  313. package/fesm2022/ngx-tethys-collapse.mjs +17 -19
  314. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  315. package/fesm2022/ngx-tethys-color-picker.mjs +44 -42
  316. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  317. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  318. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  319. package/fesm2022/ngx-tethys-core.mjs +14 -16
  320. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-date-picker.mjs +192 -216
  322. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-date-range.mjs +20 -20
  324. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-dialog.mjs +56 -72
  326. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  328. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  330. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-dropdown.mjs +39 -37
  332. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-empty.mjs +15 -15
  334. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  336. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-form.mjs +67 -82
  338. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  340. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  342. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-guider.mjs +17 -23
  344. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  346. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-image.mjs +57 -62
  348. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  350. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-input.mjs +46 -53
  352. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-layout.mjs +45 -50
  354. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-list.mjs +24 -24
  356. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  358. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-mention.mjs +16 -21
  360. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-menu.mjs +51 -52
  362. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-message.mjs +33 -35
  364. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-nav.mjs +55 -64
  366. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-notify.mjs +26 -29
  368. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-pagination.mjs +44 -49
  370. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-popover.mjs +48 -54
  372. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-progress.mjs +9 -12
  374. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-property-operation.mjs +24 -24
  376. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-property.mjs +11 -11
  378. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-radio.mjs +29 -35
  380. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-rate.mjs +5 -5
  382. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-resizable.mjs +22 -25
  384. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-segment.mjs +35 -38
  386. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-select.mjs +20 -34
  388. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-shared.mjs +128 -143
  390. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-skeleton.mjs +11 -25
  392. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-slide.mjs +30 -34
  394. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  396. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-space.mjs +13 -13
  398. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-statistic.mjs +19 -19
  400. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-stepper.mjs +13 -18
  402. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  404. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-switch.mjs +5 -5
  406. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-table.mjs +103 -115
  408. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-tabs.mjs +19 -19
  410. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  412. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-time-picker.mjs +61 -58
  414. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-timeline.mjs +16 -16
  416. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-tooltip.mjs +32 -33
  418. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-transfer.mjs +5 -5
  420. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-tree-select.mjs +23 -28
  422. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-tree.mjs +96 -102
  424. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  426. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  428. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  430. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys.mjs +1 -1
  432. package/fesm2022/ngx-tethys.mjs.map +1 -1
  433. package/flexible-text/flexible-text.component.d.ts +1 -3
  434. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  435. package/form/form-group-label.directive.d.ts +0 -2
  436. package/form/form-group.component.d.ts +1 -4
  437. package/form/form-submit.directive.d.ts +0 -2
  438. package/form/form-validator.service.d.ts +0 -2
  439. package/form/form.directive.d.ts +4 -4
  440. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  441. package/form/validator/unique-validator.directive.d.ts +1 -4
  442. package/fullscreen/fullscreen.component.d.ts +0 -2
  443. package/fullscreen/fullscreen.service.d.ts +0 -2
  444. package/grid/thy-col.directive.d.ts +1 -2
  445. package/grid/thy-grid-item.component.d.ts +2 -4
  446. package/grid/thy-grid.component.d.ts +1 -3
  447. package/guider/guider.directive.d.ts +1 -3
  448. package/guider/guider.service.d.ts +0 -7
  449. package/icon/icon-registry.d.ts +1 -3
  450. package/icon/icon.component.d.ts +1 -3
  451. package/image/image-group.component.d.ts +1 -2
  452. package/image/image.directive.d.ts +1 -3
  453. package/image/image.service.d.ts +2 -2
  454. package/image/preview/image-preview.component.d.ts +1 -4
  455. package/input/input-count.component.d.ts +3 -4
  456. package/input/input-group.component.d.ts +1 -3
  457. package/input/input-search.component.d.ts +2 -2
  458. package/input/input.component.d.ts +1 -2
  459. package/input/input.directive.d.ts +2 -3
  460. package/input-number/input-number.component.d.ts +2 -2
  461. package/layout/sidebar.component.d.ts +44 -13
  462. package/list/selection/selection-list.d.ts +1 -2
  463. package/loading/loading.component.d.ts +0 -2
  464. package/loading/styles/loading.scss +3 -1
  465. package/mention/mention.directive.d.ts +4 -5
  466. package/mention/suggestions/suggestions.component.d.ts +2 -3
  467. package/menu/group/menu-group.component.d.ts +12 -26
  468. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  469. package/menu/item/menu-item.component.d.ts +1 -2
  470. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  471. package/message/abstract/abstract-message.component.d.ts +2 -2
  472. package/message/message-container.component.d.ts +1 -3
  473. package/message/message-queue.service.d.ts +1 -2
  474. package/message/message.component.d.ts +1 -3
  475. package/message/message.service.d.ts +3 -5
  476. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  477. package/nav/nav-ink-bar.directive.d.ts +2 -4
  478. package/nav/nav-item.directive.d.ts +3 -4
  479. package/nav/nav.component.d.ts +1 -3
  480. package/nav/nav.pipe.d.ts +0 -2
  481. package/notify/notify-container.component.d.ts +1 -3
  482. package/notify/notify-queue.service.d.ts +1 -2
  483. package/notify/notify.component.d.ts +2 -3
  484. package/notify/notify.service.d.ts +1 -4
  485. package/package.json +1 -1
  486. package/pagination/pagination.component.d.ts +7 -19
  487. package/pagination/pagination.pipe.d.ts +0 -2
  488. package/popover/header/popover-header.component.d.ts +0 -3
  489. package/popover/popover-container.component.d.ts +3 -4
  490. package/popover/popover.directive.d.ts +2 -5
  491. package/popover/popover.service.d.ts +4 -6
  492. package/progress/progress-strip.component.d.ts +0 -1
  493. package/property/property-item.component.d.ts +6 -6
  494. package/property-operation/property-operation.component.d.ts +1 -3
  495. package/radio/button/radio-button.component.d.ts +2 -5
  496. package/radio/group/radio-group.component.d.ts +1 -2
  497. package/radio/radio.component.d.ts +2 -3
  498. package/rate/rate.component.d.ts +2 -2
  499. package/resizable/resizable.directive.d.ts +2 -4
  500. package/resizable/resizable.service.d.ts +2 -2
  501. package/resizable/resize-handle.component.d.ts +1 -3
  502. package/schematics/version.d.ts +1 -1
  503. package/schematics/version.js +1 -1
  504. package/segment/segment-item.component.d.ts +4 -5
  505. package/segment/segment.component.d.ts +1 -2
  506. package/select/custom-select/custom-select.component.d.ts +5 -5
  507. package/select/native-select/native-select.component.d.ts +1 -1
  508. package/shared/base-form-check.component.d.ts +1 -1
  509. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  510. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  511. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  512. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  513. package/shared/directives/thy-enter.directive.d.ts +1 -2
  514. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  515. package/shared/directives/thy-show.d.ts +1 -2
  516. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  517. package/shared/directives/view-outlet.directive.d.ts +1 -2
  518. package/shared/ng-transclude.directive.d.ts +1 -1
  519. package/shared/option/group/option-group.component.d.ts +1 -2
  520. package/shared/option/list-option/list-option.component.d.ts +5 -10
  521. package/shared/option/option.component.d.ts +5 -5
  522. package/shared/select/select-control/select-control.component.d.ts +1 -2
  523. package/skeleton/skeleton-circle.component.d.ts +1 -4
  524. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  525. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  526. package/slide/slide-container.component.d.ts +3 -4
  527. package/slide/slide-header/slide-header.component.d.ts +0 -2
  528. package/slide/slide.service.d.ts +3 -3
  529. package/slider/slider.component.d.ts +2 -2
  530. package/space/space.component.d.ts +1 -2
  531. package/statistic/statistic.component.d.ts +1 -2
  532. package/stepper/step.component.d.ts +1 -2
  533. package/stepper/stepper-button.directive.d.ts +0 -3
  534. package/strength/strength.component.d.ts +0 -1
  535. package/switch/switch.component.d.ts +1 -1
  536. package/table/table-column.component.d.ts +32 -8
  537. package/table/table-skeleton.component.d.ts +3 -12
  538. package/table/table.component.d.ts +3 -5
  539. package/tabs/tabs.component.d.ts +1 -2
  540. package/tag/tag.component.d.ts +7 -3
  541. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  542. package/time-picker/time-picker-panel.component.d.ts +1 -2
  543. package/time-picker/time-picker.component.d.ts +1 -2
  544. package/timeline/timeline-item.component.d.ts +1 -3
  545. package/timeline/timeline.component.d.ts +1 -3
  546. package/tooltip/tooltip.component.d.ts +1 -2
  547. package/tooltip/tooltip.directive.d.ts +6 -9
  548. package/tooltip/tooltip.service.d.ts +2 -4
  549. package/transfer/transfer-list.component.d.ts +1 -2
  550. package/tree/tree-node.component.d.ts +5 -21
  551. package/tree/tree.component.d.ts +1 -2
  552. package/tree-select/tree-select.component.d.ts +5 -6
  553. package/typography/bg-color.directive.d.ts +0 -2
  554. package/typography/text-color.directive.d.ts +1 -2
  555. package/upload/file-select-base.d.ts +2 -3
  556. package/upload/file-select.component.d.ts +1 -0
  557. package/upload/upload.service.d.ts +0 -2
  558. package/watermark/watermark.directive.d.ts +1 -2
@@ -1,4 +1,4 @@
1
- import { Directive, EventEmitter, HostListener, Inject, Input, Output } from '@angular/core';
1
+ import { Directive, EventEmitter, HostListener, Input, Output, inject } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import { coerceElement } from '@angular/cdk/coercion';
4
4
  import { ThyNotifyService } from 'ngx-tethys/notify';
@@ -6,15 +6,14 @@ import { ThyTooltipDirective } from 'ngx-tethys/tooltip';
6
6
  import { coerceBooleanProperty } from 'ngx-tethys/util';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "ngx-tethys/tooltip";
9
- import * as i2 from "ngx-tethys/notify";
10
9
  /**
11
10
  * @name thyCopy
12
11
  */
13
12
  export class ThyCopyDirective {
14
- constructor(document, tooltipDirective, notifyService) {
15
- this.document = document;
16
- this.tooltipDirective = tooltipDirective;
17
- this.notifyService = notifyService;
13
+ constructor() {
14
+ this.document = inject(DOCUMENT);
15
+ this.tooltipDirective = inject(ThyTooltipDirective);
16
+ this.notifyService = inject(ThyNotifyService);
18
17
  /**
19
18
  * 默认为点击标签,可传复制目标标签
20
19
  */
@@ -70,7 +69,7 @@ export class ThyCopyDirective {
70
69
  ngOnDestroy() {
71
70
  this.tooltipDirective.hide();
72
71
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCopyDirective, deps: [{ token: DOCUMENT }, { token: i1.ThyTooltipDirective }, { token: i2.ThyNotifyService }], target: i0.ɵɵFactoryTarget.Directive }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCopyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
74
73
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyCopyDirective, isStandalone: true, selector: "[thyCopy]", inputs: { thyCopySuccessText: "thyCopySuccessText", thyCopyTips: "thyCopyTips", thyCopyTipsOffset: "thyCopyTipsOffset", thyCopyContent: "thyCopyContent", thyShowNotify: ["thyShowNotify", "thyShowNotify", coerceBooleanProperty] }, outputs: { thyCopy: "thyCopy" }, host: { listeners: { "click": "onClick($event)" } }, hostDirectives: [{ directive: i1.ThyTooltipDirective }], ngImport: i0 }); }
75
74
  }
76
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCopyDirective, decorators: [{
@@ -80,10 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
80
79
  hostDirectives: [ThyTooltipDirective],
81
80
  standalone: true
82
81
  }]
83
- }], ctorParameters: () => [{ type: undefined, decorators: [{
84
- type: Inject,
85
- args: [DOCUMENT]
86
- }] }, { type: i1.ThyTooltipDirective }, { type: i2.ThyNotifyService }], propDecorators: { thyCopy: [{
82
+ }], propDecorators: { thyCopy: [{
87
83
  type: Output
88
84
  }], thyCopySuccessText: [{
89
85
  type: Input
@@ -100,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
100
96
  type: HostListener,
101
97
  args: ['click', ['$event']]
102
98
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29weS9jb3B5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFPeEQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWdCO0lBK0J6QixZQUM4QixRQUFhLEVBQ2hDLGdCQUFxQyxFQUNwQyxhQUErQjtRQUZiLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFqQzNDOztXQUVHO1FBQ08sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRXJEOztXQUVHO1FBQ00sdUJBQWtCLEdBQUcsTUFBTSxDQUFDO1FBRXJDOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFZOUI7O1dBRUc7UUFDMEMsa0JBQWEsR0FBRyxJQUFJLENBQUM7SUFNL0QsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM3RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNqRSxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQVk7UUFDM0IsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN2RixPQUFPLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQztJQUdNLE9BQU8sQ0FBQyxLQUFZO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQztZQUNELFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDeEQsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO2dCQUFTLENBQUM7WUFDUCxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBM0VRLGdCQUFnQixrQkFnQ2IsUUFBUTtrR0FoQ1gsZ0JBQWdCLHlQQTZCTCxxQkFBcUI7OzJGQTdCaEMsZ0JBQWdCO2tCQUw1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixjQUFjLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFpQ1EsTUFBTTsyQkFBQyxRQUFROzBHQTVCVixPQUFPO3NCQUFoQixNQUFNO2dCQUtFLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUt1QyxhQUFhO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQXVCcEMsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgVGh5Tm90aWZ5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeVRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlDb3B5RXZlbnQge1xuICAgIGlzU3VjY2VzczogYm9vbGVhbjtcbiAgICBldmVudDogRXZlbnQ7XG59XG5cbi8qKlxuICogQG5hbWUgdGh5Q29weVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlDb3B5XScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUaHlUb29sdGlwRGlyZWN0aXZlXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNvcHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICog6buY6K6k5Li654K55Ye75qCH562+77yM5Y+v5Lyg5aSN5Yi255uu5qCH5qCH562+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeUNvcHkgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeUNvcHlFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOWkjeWItuaIkOWKn+aXtueahOaWh+ahiFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvcHlTdWNjZXNzVGV4dCA9ICflpI3liLbmiJDlip8nO1xuXG4gICAgLyoqXG4gICAgICog5o+Q56S65paH5qGIXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29weVRpcHMgPSAn54K55Ye75aSN5Yi2JztcblxuICAgIC8qKlxuICAgICAqIOWBj+enu+mHj1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvcHlUaXBzT2Zmc2V0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDlvZPkuLogc3RyaW5nIOaXtu+8jOWkjeWItueahOaYr+S8oOWFpeeahOWGheWuue+8m+W9k+S4uiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQg5pe277yM5aSN5Yi255qE5pivIGRvbSDoioLngrnnmoQgdmFsdWUg5oiW6ICFIHRleHRDb250ZW50XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29weUNvbnRlbnQ6IHN0cmluZyB8IEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuumAmuefpVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVNob3dOb3RpZnkgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgcHVibGljIHRvb2x0aXBEaXJlY3RpdmU6IFRoeVRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgIHByaXZhdGUgbm90aWZ5U2VydmljZTogVGh5Tm90aWZ5U2VydmljZVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuY29udGVudCA9IHRoaXMudGh5Q29weVRpcHMgPyB0aGlzLnRoeUNvcHlUaXBzIDogJ+eCueWHu+WkjeWItic7XG4gICAgICAgIHRoaXMudG9vbHRpcERpcmVjdGl2ZS50b29sdGlwT2Zmc2V0ID0gdGhpcy50aHlDb3B5VGlwc09mZnNldDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRlbnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aHlDb3B5Q29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeUNvcHlDb250ZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy50aHlDb3B5Q29udGVudCA/IGNvZXJjZUVsZW1lbnQodGhpcy50aHlDb3B5Q29udGVudCkgOiBldmVudC50YXJnZXQ7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnZhbHVlIHx8IHRhcmdldC50ZXh0Q29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7XG4gICAgICAgIHRleHRhcmVhLnZhbHVlID0gdGhpcy5nZXRDb250ZW50KGV2ZW50KTtcbiAgICAgICAgdGV4dGFyZWEuc2VsZWN0KCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScsIGZhbHNlLCBudWxsKTtcbiAgICAgICAgICAgIHRoaXMudGh5Q29weS5lbWl0KHsgaXNTdWNjZXNzOiB0cnVlLCBldmVudCB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVNob3dOb3RpZnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uuc3VjY2Vzcyh0aGlzLnRoeUNvcHlTdWNjZXNzVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy50aHlDb3B5LmVtaXQoeyBpc1N1Y2Nlc3M6IGZhbHNlLCBldmVudCB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVNob3dOb3RpZnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeVNlcnZpY2UuZXJyb3IoJ+WkjeWItuWksei0pScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGV4dGFyZWEucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwRGlyZWN0aXZlLmhpZGUoKTtcbiAgICB9XG59XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29weS9jb3B5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQU94RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFakQ7O1dBRUc7UUFDTyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFckQ7O1dBRUc7UUFDTSx1QkFBa0IsR0FBRyxNQUFNLENBQUM7UUFFckM7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQVk5Qjs7V0FFRztRQUMwQyxrQkFBYSxHQUFHLElBQUksQ0FBQztLQXlDckU7SUF2Q0csUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzdFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2pFLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBWTtRQUMzQixJQUFJLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3ZGLE9BQU8sTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQzlDLENBQUM7SUFDTCxDQUFDO0lBR00sT0FBTyxDQUFDLEtBQVk7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDO1lBQ0QsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN4RCxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMvQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUNMLENBQUM7Z0JBQVMsQ0FBQztZQUNQLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0F6RVEsZ0JBQWdCO2tHQUFoQixnQkFBZ0IseVBBaUNMLHFCQUFxQjs7MkZBakNoQyxnQkFBZ0I7a0JBTDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGNBQWMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBU2EsT0FBTztzQkFBaEIsTUFBTTtnQkFLRSxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLdUMsYUFBYTtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFpQnBDLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFRoeU5vdGlmeVNlcnZpY2UgfSBmcm9tICduZ3gtdGV0aHlzL25vdGlmeSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q29weUV2ZW50IHtcbiAgICBpc1N1Y2Nlc3M6IGJvb2xlYW47XG4gICAgZXZlbnQ6IEV2ZW50O1xufVxuXG4vKipcbiAqIEBuYW1lIHRoeUNvcHlcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5Q29weV0nLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVGh5VG9vbHRpcERpcmVjdGl2ZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDb3B5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHRvb2x0aXBEaXJlY3RpdmUgPSBpbmplY3QoVGh5VG9vbHRpcERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlID0gaW5qZWN0KFRoeU5vdGlmeVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog6buY6K6k5Li654K55Ye75qCH562+77yM5Y+v5Lyg5aSN5Yi255uu5qCH5qCH562+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeUNvcHkgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeUNvcHlFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOWkjeWItuaIkOWKn+aXtueahOaWh+ahiFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvcHlTdWNjZXNzVGV4dCA9ICflpI3liLbmiJDlip8nO1xuXG4gICAgLyoqXG4gICAgICog5o+Q56S65paH5qGIXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29weVRpcHMgPSAn54K55Ye75aSN5Yi2JztcblxuICAgIC8qKlxuICAgICAqIOWBj+enu+mHj1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvcHlUaXBzT2Zmc2V0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDlvZPkuLogc3RyaW5nIOaXtu+8jOWkjeWItueahOaYr+S8oOWFpeeahOWGheWuue+8m+W9k+S4uiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQg5pe277yM5aSN5Yi255qE5pivIGRvbSDoioLngrnnmoQgdmFsdWUg5oiW6ICFIHRleHRDb250ZW50XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29weUNvbnRlbnQ6IHN0cmluZyB8IEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuumAmuefpVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVNob3dOb3RpZnkgPSB0cnVlO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudG9vbHRpcERpcmVjdGl2ZS5jb250ZW50ID0gdGhpcy50aHlDb3B5VGlwcyA/IHRoaXMudGh5Q29weVRpcHMgOiAn54K55Ye75aSN5Yi2JztcbiAgICAgICAgdGhpcy50b29sdGlwRGlyZWN0aXZlLnRvb2x0aXBPZmZzZXQgPSB0aGlzLnRoeUNvcHlUaXBzT2Zmc2V0O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGVudChldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRoeUNvcHlDb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5Q29weUNvbnRlbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRoeUNvcHlDb250ZW50ID8gY29lcmNlRWxlbWVudCh0aGlzLnRoeUNvcHlDb250ZW50KSA6IGV2ZW50LnRhcmdldDtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQudmFsdWUgfHwgdGFyZ2V0LnRleHRDb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTtcbiAgICAgICAgdGV4dGFyZWEudmFsdWUgPSB0aGlzLmdldENvbnRlbnQoZXZlbnQpO1xuICAgICAgICB0ZXh0YXJlYS5zZWxlY3QoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5JywgZmFsc2UsIG51bGwpO1xuICAgICAgICAgICAgdGhpcy50aHlDb3B5LmVtaXQoeyBpc1N1Y2Nlc3M6IHRydWUsIGV2ZW50IH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5U2hvd05vdGlmeSkge1xuICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5U2VydmljZS5zdWNjZXNzKHRoaXMudGh5Q29weVN1Y2Nlc3NUZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLnRoeUNvcHkuZW1pdCh7IGlzU3VjY2VzczogZmFsc2UsIGV2ZW50IH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5U2hvd05vdGlmeSkge1xuICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5U2VydmljZS5lcnJvcign5aSN5Yi25aSx6LSlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0ZXh0YXJlYS5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +1,9 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Injectable, inject } from '@angular/core';
2
2
  import { ThyClickDispatcher } from './event-dispatchers/index';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "./event-dispatchers/index";
5
4
  export class ThyClickPositioner {
6
- constructor(clickDispatcher) {
7
- this.clickDispatcher = clickDispatcher;
5
+ constructor() {
6
+ this.clickDispatcher = inject(ThyClickDispatcher);
8
7
  this.lastPosition = null;
9
8
  this.initialized = false;
10
9
  }
@@ -25,7 +24,7 @@ export class ThyClickPositioner {
25
24
  this.lastPosition = { x: event.clientX, y: event.clientY };
26
25
  });
27
26
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyClickPositioner, deps: [{ token: i1.ThyClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyClickPositioner, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
28
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyClickPositioner, providedIn: 'root' }); }
30
29
  }
31
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyClickPositioner, decorators: [{
@@ -33,5 +32,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
33
32
  args: [{
34
33
  providedIn: 'root'
35
34
  }]
36
- }], ctorParameters: () => [{ type: i1.ThyClickDispatcher }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stcG9zaXRpb25lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL2NsaWNrLXBvc2l0aW9uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVUvRCxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQW9CLGVBQW1DO1FBQW5DLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUovQyxpQkFBWSxHQUFxQixJQUFJLENBQUM7UUFFdEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFOEIsQ0FBQztJQUUzRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQTJDO1FBQzlELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO1lBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F6QlEsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGZixNQUFNOzsyRkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUNsaWNrRGlzcGF0Y2hlciB9IGZyb20gJy4vZXZlbnQtZGlzcGF0Y2hlcnMvaW5kZXgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUNsaWNrUG9zaXRpb24ge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2xpY2tQb3NpdGlvbmVyIHtcbiAgICBwcml2YXRlIGxhc3RQb3NpdGlvbjogVGh5Q2xpY2tQb3NpdGlvbiA9IG51bGw7XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWNrRGlzcGF0Y2hlcjogVGh5Q2xpY2tEaXNwYXRjaGVyKSB7fVxuXG4gICAgZ2V0IGxhc3RDbGlja1Bvc2l0aW9uKCk6IFRoeUNsaWNrUG9zaXRpb24gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFBvc2l0aW9uO1xuICAgIH1cblxuICAgIHJ1blRhc2tVc2VMYXN0UG9zaXRpb24odGFzazogKHBvc2l0aW9uPzogVGh5Q2xpY2tQb3NpdGlvbikgPT4gdm9pZCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRhc2sodGhpcy5sYXN0Q2xpY2tQb3NpdGlvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMuY2xpY2tEaXNwYXRjaGVyLmNsaWNrZWQoMCkuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sYXN0UG9zaXRpb24gPSB7IHg6IGV2ZW50LmNsaWVudFgsIHk6IGV2ZW50LmNsaWVudFkgfTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stcG9zaXRpb25lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL2NsaWNrLXBvc2l0aW9uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBVS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdDLGlCQUFZLEdBQXFCLElBQUksQ0FBQztRQUV0QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztLQXFCL0I7SUFuQkcsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxJQUEyQztRQUM5RCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBekJRLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs7MkZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlDbGlja0Rpc3BhdGNoZXIgfSBmcm9tICcuL2V2ZW50LWRpc3BhdGNoZXJzL2luZGV4JztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlDbGlja1Bvc2l0aW9uIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNsaWNrUG9zaXRpb25lciB7XG4gICAgcHJpdmF0ZSBjbGlja0Rpc3BhdGNoZXIgPSBpbmplY3QoVGh5Q2xpY2tEaXNwYXRjaGVyKTtcblxuICAgIHByaXZhdGUgbGFzdFBvc2l0aW9uOiBUaHlDbGlja1Bvc2l0aW9uID0gbnVsbDtcblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGdldCBsYXN0Q2xpY2tQb3NpdGlvbigpOiBUaHlDbGlja1Bvc2l0aW9uIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RQb3NpdGlvbjtcbiAgICB9XG5cbiAgICBydW5UYXNrVXNlTGFzdFBvc2l0aW9uKHRhc2s6IChwb3NpdGlvbj86IFRoeUNsaWNrUG9zaXRpb24pID0+IHZvaWQpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0YXNrKHRoaXMubGFzdENsaWNrUG9zaXRpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNsaWNrRGlzcGF0Y2hlci5jbGlja2VkKDApLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGFzdFBvc2l0aW9uID0geyB4OiBldmVudC5jbGllbnRYLCB5OiBldmVudC5jbGllbnRZIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable, NgZone } from '@angular/core';
2
+ import { Injectable, NgZone, inject } from '@angular/core';
3
3
  import { reqAnimFrame } from './request-animation';
4
4
  import * as i0 from "@angular/core";
5
5
  function easeInOutCubic(t, b, c, d) {
@@ -13,8 +13,9 @@ function easeInOutCubic(t, b, c, d) {
13
13
  }
14
14
  }
15
15
  export class ThyScrollService {
16
- constructor(document, ngZone) {
17
- this.ngZone = ngZone;
16
+ constructor() {
17
+ this.ngZone = inject(NgZone);
18
+ const document = inject(DOCUMENT);
18
19
  this.document = document;
19
20
  }
20
21
  /** Set the position of the scroll bar of `element`. */
@@ -70,7 +71,7 @@ export class ThyScrollService {
70
71
  // `document.scrollTop` doesn't require Angular to run `ApplicationRef.tick()`.
71
72
  this.ngZone.runOutsideAngular(() => reqAnimFrame(frameFunc));
72
73
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyScrollService, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
74
75
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyScrollService, providedIn: 'root' }); }
75
76
  }
76
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyScrollService, decorators: [{
@@ -78,8 +79,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
78
79
  args: [{
79
80
  providedIn: 'root'
80
81
  }]
81
- }], ctorParameters: () => [{ type: undefined, decorators: [{
82
- type: Inject,
83
- args: [DOCUMENT]
84
- }] }, { type: i0.NgZone }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUluRCxTQUFTLGNBQWMsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQzlELE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ1QsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztBQUNMLENBQUM7QUFLRCxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLFlBQ3NCLFFBQWEsRUFDdkIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxZQUFZLENBQUMsT0FBeUIsRUFBRSxXQUFtQixDQUFDO1FBQ3hELElBQUksT0FBTyxLQUFLLE1BQU0sRUFB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bnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlcUFuaW1GcmFtZSB9IGZyb20gJy4vcmVxdWVzdC1hbmltYXRpb24nO1xuXG5leHBvcnQgdHlwZSBFYXN5aW5nRm4gPSAodDogbnVtYmVyLCBiOiBudW1iZXIsIGM6IG51bWJlciwgZDogbnVtYmVyKSA9PiBudW1iZXI7XG5cbmZ1bmN0aW9uIGVhc2VJbk91dEN1YmljKHQ6IG51bWJlciwgYjogbnVtYmVyLCBjOiBudW1iZXIsIGQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgY2MgPSBjIC0gYjtcbiAgICBsZXQgdHQgPSB0IC8gKGQgLyAyKTtcbiAgICBpZiAodHQgPCAxKSB7XG4gICAgICAgIHJldHVybiAoY2MgLyAyKSAqIHR0ICogdHQgKiB0dCArIGI7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChjYyAvIDIpICogKCh0dCAtPSAyKSAqIHR0ICogdHQgKyAyKSArIGI7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRoeVNjcm9sbFNlcnZpY2Uge1xuICAgIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzY3JvbGwgYmFyIG9mIGBlbGVtZW50YC4gKi9cbiAgICBzZXRTY3JvbGxUb3AoZWxlbWVudDogRWxlbWVudCB8IFdpbmRvdywgdG9wVmFsdWU6IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHdpbmRvdykge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IHRvcFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID0gdG9wVmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAoZWxlbWVudCBhcyBFbGVtZW50KS5zY3JvbGxUb3AgPSB0b3BWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzY29sbCBiYXIgb2YgYGVsZW1lbnRgLiAqL1xuICAgIGdldFNjcm9sbChlbGVtZW50PzogRWxlbWVudCB8IFdpbmRvdywgdG9wOiBib29sZWFuID0gdHJ1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVsZW1lbnQgPyBlbGVtZW50IDogd2luZG93O1xuICAgICAgICBjb25zdCBwcm9wID0gdG9wID8gJ3BhZ2VZT2Zmc2V0JyA6ICdwYWdlWE9mZnNldCc7XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IHRvcCA/ICdzY3JvbGxUb3AnIDogJ3Njcm9sbExlZnQnO1xuICAgICAgICBjb25zdCBpc1dpbmRvdyA9IHRhcmdldCA9PT0gd2luZG93O1xuICAgICAgICBsZXQgcmV0ID0gaXNXaW5kb3cgPyB0YXJnZXRbcHJvcF0gOiB0YXJnZXRbbWV0aG9kXTtcbiAgICAgICAgaWYgKGlzV2luZG93ICYmIHR5cGVvZiByZXQgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFttZXRob2RdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIGBlbGVtZW50YCB0byBzb21lIHBvc2l0aW9uIHdpdGggYW5pbWF0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRhaW5lciBjb250YWluZXIsIGB3aW5kb3dgIGJ5IGRlZmF1bHRcbiAgICAgKiBAcGFyYW0gdG9wVmFsdWUgU2Nyb2xsIHRvIGB0b3BgLCAwIGJ5IGRlZmF1bHRcbiAgICAgKiBAcGFyYW0gZWFzaW5nIFRyYW5zaXRpb24gY3VydmUsIGBlYXNlSW5PdXRDdWJpY2AgYnkgZGVmYXVsdFxuICAgICAqIEBwYXJhbSBjYWxsYmFjayBjYWxsYmFjayBpbnZva2VkIHdoZW4gdHJhbnNpdGlvbiBpcyBkb25lXG4gICAgICovXG4gICAgc2Nyb2xsVG8oY29udGFpbmVyOiBFbGVtZW50IHwgV2luZG93LCB0b3BWYWx1ZTogbnVtYmVyID0gMCwgZWFzaW5nPzogRWFzeWluZ0ZuLCBjYWxsYmFjaz86ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gY29udGFpbmVyID8gY29udGFpbmVyIDogd2luZG93O1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmdldFNjcm9sbCh0YXJnZXQpO1xuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBmcmFtZUZ1bmMgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgY29uc3QgdGltZSA9IHRpbWVzdGFtcCAtIHN0YXJ0VGltZTtcbiAgICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRhcmdldCwgKGVhc2luZyB8fCBlYXNlSW5PdXRDdWJpYykodGltZSwgc2Nyb2xsVG9wLCB0b3BWYWx1ZSwgNDUwKSk7XG4gICAgICAgICAgICBpZiAodGltZSA8IDQ1MCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHJlcUFuaW1GcmFtZShmcmFtZUZ1bmMpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBgZnJhbWVGdW5jYCBpcyBjYWxsZWQgd2l0aGluIHRoZSBgPHJvb3Q+YCB6b25lLCBidXQgd2UgaGF2ZSB0byByZS1lbnRlclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgQW5ndWxhciB6b25lIHdoZW4gY2FsbGluZyBjdXN0b20gY2FsbGJhY2sgdG8gYmUgYmFja3dhcmRzLWNvbXBhdGlibGUuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiBjYWxsYmFjaygpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIC8vIFRoZSBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCB0cmlnZ2VycyBjaGFuZ2UgZGV0ZWN0aW9uLCBidXQgc2V0dGluZ1xuICAgICAgICAvLyBgZG9jdW1lbnQuc2Nyb2xsVG9wYCBkb2Vzbid0IHJlcXVpcmUgQW5ndWxhciB0byBydW4gYEFwcGxpY2F0aW9uUmVmLnRpY2soKWAuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHJlcUFuaW1GcmFtZShmcmFtZUZ1bmMpKTtcbiAgICB9XG59XG4iXX0=
82
+ }], ctorParameters: () => [] });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUluRCxTQUFTLGNBQWMsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQzlELE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ1QsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztBQUNMLENBQUM7QUFLRCxNQUFNLE9BQU8sZ0JBQWdCO0lBS3pCO1FBSlEsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUs1QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxZQUFZLENBQUMsT0FBeUIsRUFBRSxX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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlcUFuaW1GcmFtZSB9IGZyb20gJy4vcmVxdWVzdC1hbmltYXRpb24nO1xuXG5leHBvcnQgdHlwZSBFYXN5aW5nRm4gPSAodDogbnVtYmVyLCBiOiBudW1iZXIsIGM6IG51bWJlciwgZDogbnVtYmVyKSA9PiBudW1iZXI7XG5cbmZ1bmN0aW9uIGVhc2VJbk91dEN1YmljKHQ6IG51bWJlciwgYjogbnVtYmVyLCBjOiBudW1iZXIsIGQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgY2MgPSBjIC0gYjtcbiAgICBsZXQgdHQgPSB0IC8gKGQgLyAyKTtcbiAgICBpZiAodHQgPCAxKSB7XG4gICAgICAgIHJldHVybiAoY2MgLyAyKSAqIHR0ICogdHQgKiB0dCArIGI7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChjYyAvIDIpICogKCh0dCAtPSAyKSAqIHR0ICogdHQgKyAyKSArIGI7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRoeVNjcm9sbFNlcnZpY2Uge1xuICAgIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAgICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzY3JvbGwgYmFyIG9mIGBlbGVtZW50YC4gKi9cbiAgICBzZXRTY3JvbGxUb3AoZWxlbWVudDogRWxlbWVudCB8IFdpbmRvdywgdG9wVmFsdWU6IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHdpbmRvdykge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IHRvcFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID0gdG9wVmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAoZWxlbWVudCBhcyBFbGVtZW50KS5zY3JvbGxUb3AgPSB0b3BWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzY29sbCBiYXIgb2YgYGVsZW1lbnRgLiAqL1xuICAgIGdldFNjcm9sbChlbGVtZW50PzogRWxlbWVudCB8IFdpbmRvdywgdG9wOiBib29sZWFuID0gdHJ1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVsZW1lbnQgPyBlbGVtZW50IDogd2luZG93O1xuICAgICAgICBjb25zdCBwcm9wID0gdG9wID8gJ3BhZ2VZT2Zmc2V0JyA6ICdwYWdlWE9mZnNldCc7XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IHRvcCA/ICdzY3JvbGxUb3AnIDogJ3Njcm9sbExlZnQnO1xuICAgICAgICBjb25zdCBpc1dpbmRvdyA9IHRhcmdldCA9PT0gd2luZG93O1xuICAgICAgICBsZXQgcmV0ID0gaXNXaW5kb3cgPyB0YXJnZXRbcHJvcF0gOiB0YXJnZXRbbWV0aG9kXTtcbiAgICAgICAgaWYgKGlzV2luZG93ICYmIHR5cGVvZiByZXQgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFttZXRob2RdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIGBlbGVtZW50YCB0byBzb21lIHBvc2l0aW9uIHdpdGggYW5pbWF0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRhaW5lciBjb250YWluZXIsIGB3aW5kb3dgIGJ5IGRlZmF1bHRcbiAgICAgKiBAcGFyYW0gdG9wVmFsdWUgU2Nyb2xsIHRvIGB0b3BgLCAwIGJ5IGRlZmF1bHRcbiAgICAgKiBAcGFyYW0gZWFzaW5nIFRyYW5zaXRpb24gY3VydmUsIGBlYXNlSW5PdXRDdWJpY2AgYnkgZGVmYXVsdFxuICAgICAqIEBwYXJhbSBjYWxsYmFjayBjYWxsYmFjayBpbnZva2VkIHdoZW4gdHJhbnNpdGlvbiBpcyBkb25lXG4gICAgICovXG4gICAgc2Nyb2xsVG8oY29udGFpbmVyOiBFbGVtZW50IHwgV2luZG93LCB0b3BWYWx1ZTogbnVtYmVyID0gMCwgZWFzaW5nPzogRWFzeWluZ0ZuLCBjYWxsYmFjaz86ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gY29udGFpbmVyID8gY29udGFpbmVyIDogd2luZG93O1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmdldFNjcm9sbCh0YXJnZXQpO1xuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBmcmFtZUZ1bmMgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgY29uc3QgdGltZSA9IHRpbWVzdGFtcCAtIHN0YXJ0VGltZTtcbiAgICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRhcmdldCwgKGVhc2luZyB8fCBlYXNlSW5PdXRDdWJpYykodGltZSwgc2Nyb2xsVG9wLCB0b3BWYWx1ZSwgNDUwKSk7XG4gICAgICAgICAgICBpZiAodGltZSA8IDQ1MCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHJlcUFuaW1GcmFtZShmcmFtZUZ1bmMpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBgZnJhbWVGdW5jYCBpcyBjYWxsZWQgd2l0aGluIHRoZSBgPHJvb3Q+YCB6b25lLCBidXQgd2UgaGF2ZSB0byByZS1lbnRlclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgQW5ndWxhciB6b25lIHdoZW4gY2FsbGluZyBjdXN0b20gY2FsbGJhY2sgdG8gYmUgYmFja3dhcmRzLWNvbXBhdGlibGUuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiBjYWxsYmFjaygpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIC8vIFRoZSBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCB0cmlnZ2VycyBjaGFuZ2UgZGV0ZWN0aW9uLCBidXQgc2V0dGluZ1xuICAgICAgICAvLyBgZG9jdW1lbnQuc2Nyb2xsVG9wYCBkb2Vzbid0IHJlcXVpcmUgQW5ndWxhciB0byBydW4gYEFwcGxpY2F0aW9uUmVmLnRpY2soKWAuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHJlcUFuaW1GcmFtZShmcmFtZUZ1bmMpKTtcbiAgICB9XG59XG4iXX0=
@@ -122,4 +122,4 @@ __decorate([
122
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MiniStore, decorators: [{
123
123
  type: Directive
124
124
  }], ctorParameters: () => [{ type: undefined }], propDecorators: { clearState: [] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zdG9yZS9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBMEIsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLFNBQVMsQ0FBQzs7QUFHbEQsTUFBTSxPQUFPLFNBQVM7SUFTbEIsWUFBWSxZQUFpQjtRQUp0QixxQkFBZ0IsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUtsQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUksWUFBWSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBWSxFQUFFLE9BQWE7UUFDdkMsZUFBZSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0s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Q0osSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDTixHQUFHLElBQUksQ0FBQyxRQUFRO2dCQUNoQixHQUFJLEVBQVE7YUFDZixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUdELFVBQVU7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLEtBQUksQ0FBQztJQUVoQjs7O09BR0c7SUFDSCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN4QyxDQUFDO0lBRU8sYUFBYTtRQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzhHQTdIUSxTQUFTO2tHQUFULFNBQVM7O0FBNEdsQjtJQURDLFVBQVUsRUFBRTs7OzsyQ0FHWjsyRkE5R1EsU0FBUztrQkFEckIsU0FBUzsyRUE2R04sVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhlbHBlcnMgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBPYnNlcnZhYmxlLCBPYnNlcnZlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBpc0Rldk1vZGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNaW5pQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgTWluaUFjdGlvblN0YXRlIH0gZnJvbSAnLi9hY3Rpb24tc3RhdGUnO1xuaW1wb3J0IHsgTUVUQV9LRVksIFN0b3JlTWV0YUluZm8gfSBmcm9tICcuL3R5cGVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTWluaVN0b3JlPFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9ic2VydmVyPFQ+LCBPbkRlc3Ryb3kge1xuICAgIGluaXRpYWxTdGF0ZUNhY2hlOiBhbnk7XG5cbiAgICBwdWJsaWMgc3RhdGUkOiBCZWhhdmlvclN1YmplY3Q8VD47XG5cbiAgICBwdWJsaWMgcmVkdXhUb29sRW5hYmxlZCA9IGlzRGV2TW9kZSgpO1xuXG4gICAgcHJpdmF0ZSBfZGVmYXVsdFN0b3JlSW5zdGFuY2VJZDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFN0b3JlSW5zdGFuY2VJZCA9IHRoaXMuX2dldENsYXNzTmFtZSgpO1xuICAgICAgICB0aGlzLnN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VD4oaW5pdGlhbFN0YXRlKTtcbiAgICAgICAgdGhpcy5pbml0aWFsU3RhdGVDYWNoZSA9IHsgLi4uaW5pdGlhbFN0YXRlIH07XG4gICAgfVxuXG4gICAgZ2V0IHNuYXBzaG90KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGlzcGF0Y2godHlwZTogc3RyaW5nLCBwYXlsb2FkPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgTWluaUFjdGlvblN0YXRlLmNoYW5nZUFjdGlvbihgJHt0aGlzLl9kZWZhdWx0U3RvcmVJbnN0YW5jZUlkfS0ke3R5cGV9YCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2Rpc3BhdGNoKHtcbiAgICAgICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgICAgICBwYXlsb2FkOiBwYXlsb2FkXG4gICAgICAgIH0pO1xuICAgICAgICByZXN1bHQuc3Vic2NyaWJlKCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2goYWN0aW9uOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBtZXRhID0gdGhpc1tNRVRBX0tFWV0gYXMgU3RvcmVNZXRhSW5mbztcbiAgICAgICAgaWYgKCh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmICFtZXRhKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7TUVUQV9LRVl9IGlzIG5vdCBmb3VuZCwgY3VycmVudCBzdG9yZSBoYXMgbm90IGFjdGlvbmApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGlvbk1ldGEgPSBtZXRhLmFjdGlvbnNbYWN0aW9uLnR5cGVdO1xuICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkgJiYgIWFjdGlvbk1ldGEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHthY3Rpb24udHlwZX0gaXMgbm90IGZvdW5kYCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbGV0IHJlc3VsdDogYW55ID0gdGhpc1thY3Rpb25NZXRhLmZuXSh0aGlzLnNuYXBzaG90LCBhY3Rpb24ucGF5bG9hZCk7XG4gICAgICAgIGxldCByZXN1bHQ6IGFueSA9IGFjdGlvbk1ldGEub3JpZ2luYWxGbi5jYWxsKHRoaXMsIHRoaXMuc25hcHNob3QsIGFjdGlvbi5wYXlsb2FkKTtcblxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZnJvbShyZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKG1hcChyID0+IHIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoe30pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdC5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICAgIH1cblxuICAgIHNlbGVjdDxUUmVzdWx0PihzZWxlY3RvcjogKHN0YXRlOiBUKSA9PiBUUmVzdWx0KTogT2JzZXJ2YWJsZTxUUmVzdWx0PiB8IE9ic2VydmFibGU8VFJlc3VsdD47XG4gICAgc2VsZWN0KHNlbGVjdG9yOiBzdHJpbmcgfCBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBuZXh0KHN0YXRlOiBUKSB7XG4gICAgICAgIHRoaXMuc3RhdGUkLm5leHQoc3RhdGUpO1xuICAgIH1cblxuICAgIGVycm9yKGVycm9yOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zdGF0ZSQuZXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIGNvbXBsZXRlKCkge1xuICAgICAgICB0aGlzLnN0YXRlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHN1YnNjcmliZShuZXh0PzogKHZhbHVlOiBUKSA9PiB2b2lkLCBlcnJvcj86IChlcnJvcjogYW55KSA9PiB2b2lkLCBjb21wbGV0ZT86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSQuc3Vic2NyaWJlKG5leHQsIGVycm9yLCBjb21wbGV0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0IHN0b3JlIG5ldyBzdGF0ZVxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnNldFN0YXRlKG5ld1N0YXRlKTtcbiAgICAgKiB0aGlzLnNldFN0YXRlKHsgdXNlcnM6IHByb2R1Y2UodGhpcy5zbmFwc2hvdC51c2VycykuYWRkKHVzZXIpIH0pO1xuICAgICAqIHRoaXMuc2V0U3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgICogICAgcmV0dXJuIHtcbiAgICAgKiAgICAgICAgdXNlcnM6IHByb2R1Y2Uoc3RhdGUudXNlcnMpLmFkZCh1c2VyKVxuICAgICAqICAgIH1cbiAgICAgKiB9KTtcbiAgICAgKiBAcGFyYW0gZm5cbiAgICAgKi9cbiAgICBzZXRTdGF0ZShmbjogUGFydGlhbDxUPiB8ICgobmV3U3RhdGU6IFQpID0+IFBhcnRpYWw8VD4pKTogdm9pZCB7XG4gICAgICAgIGlmIChoZWxwZXJzLmlzRnVuY3Rpb24oZm4pKSB7XG4gICAgICAgICAgICB0aGlzLm5leHQoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuc25hcHNob3QsXG4gICAgICAgICAgICAgICAgLi4uKGZuIGFzIGFueSkodGhpcy5zbmFwc2hvdClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZXh0KHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnNuYXBzaG90LFxuICAgICAgICAgICAgICAgIC4uLihmbiBhcyBUKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTdGF0ZSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3Q7XG4gICAgfVxuXG4gICAgQE1pbmlBY3Rpb24oKVxuICAgIGNsZWFyU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUodGhpcy5pbml0aWFsU3RhdGVDYWNoZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gICAgLyoqXG4gICAgICogWW91IGNhbiBvdmVycmlkZSB0aGlzIG1ldGhvZCBpZiB5b3Ugd2FudCB0byBnaXZlIHlvdXIgY29udGFpbmVyIGluc3RhbmNlIGEgY3VzdG9tIGlkLlxuICAgICAqIFRoZSByZXR1cm5lZCBpZCBtdXN0IGJlIHVuaXF1ZSBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAgICovXG4gICAgZ2V0U3RvcmVJbnN0YW5jZUlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0U3RvcmVJbnN0YW5jZUlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldENsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIHx8IC9mdW5jdGlvbiAoLispXFwoLy5leGVjKHRoaXMuY29uc3RydWN0b3IgKyAnJylbMV07XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zdG9yZS9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBMEIsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBaUIsTUFBTSxTQUFTLENBQUM7O0FBR2xELE1BQU0sT0FBTyxTQUFTO0lBU2xCLFlBQVksWUFBaUI7UUFKdEIscUJBQWdCLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFLbEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFJLFlBQVksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQVksRUFBRSxPQUFhO1FBQ3ZDLGVBQWUsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxNQUFN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QUNKLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ04sR0FBRyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsR0FBSSxFQUFRO2FBQ2YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxLQUFJLENBQUM7SUFFaEI7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2QsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDeEMsQ0FBQztJQUVPLGFBQWE7UUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0E3SFEsU0FBUztrR0FBVCxTQUFTOztBQTRHbEI7SUFEQyxVQUFVLEVBQUU7Ozs7MkNBR1o7MkZBOUdRLFNBQVM7a0JBRHJCLFNBQVM7MkVBNkdOLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbSwgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgaXNEZXZNb2RlLCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNaW5pQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgTWluaUFjdGlvblN0YXRlIH0gZnJvbSAnLi9hY3Rpb24tc3RhdGUnO1xuaW1wb3J0IHsgTUVUQV9LRVksIFN0b3JlTWV0YUluZm8gfSBmcm9tICcuL3R5cGVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTWluaVN0b3JlPFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9ic2VydmVyPFQ+LCBPbkRlc3Ryb3kge1xuICAgIGluaXRpYWxTdGF0ZUNhY2hlOiBhbnk7XG5cbiAgICBwdWJsaWMgc3RhdGUkOiBCZWhhdmlvclN1YmplY3Q8VD47XG5cbiAgICBwdWJsaWMgcmVkdXhUb29sRW5hYmxlZCA9IGlzRGV2TW9kZSgpO1xuXG4gICAgcHJpdmF0ZSBfZGVmYXVsdFN0b3JlSW5zdGFuY2VJZDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFN0b3JlSW5zdGFuY2VJZCA9IHRoaXMuX2dldENsYXNzTmFtZSgpO1xuICAgICAgICB0aGlzLnN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VD4oaW5pdGlhbFN0YXRlKTtcbiAgICAgICAgdGhpcy5pbml0aWFsU3RhdGVDYWNoZSA9IHsgLi4uaW5pdGlhbFN0YXRlIH07XG4gICAgfVxuXG4gICAgZ2V0IHNuYXBzaG90KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGlzcGF0Y2godHlwZTogc3RyaW5nLCBwYXlsb2FkPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgTWluaUFjdGlvblN0YXRlLmNoYW5nZUFjdGlvbihgJHt0aGlzLl9kZWZhdWx0U3RvcmVJbnN0YW5jZUlkfS0ke3R5cGV9YCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2Rpc3BhdGNoKHtcbiAgICAgICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgICAgICBwYXlsb2FkOiBwYXlsb2FkXG4gICAgICAgIH0pO1xuICAgICAgICByZXN1bHQuc3Vic2NyaWJlKCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2goYWN0aW9uOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBtZXRhID0gdGhpc1tNRVRBX0tFWV0gYXMgU3RvcmVNZXRhSW5mbztcbiAgICAgICAgaWYgKCh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmICFtZXRhKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7TUVUQV9LRVl9IGlzIG5vdCBmb3VuZCwgY3VycmVudCBzdG9yZSBoYXMgbm90IGFjdGlvbmApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGlvbk1ldGEgPSBtZXRhLmFjdGlvbnNbYWN0aW9uLnR5cGVdO1xuICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkgJiYgIWFjdGlvbk1ldGEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHthY3Rpb24udHlwZX0gaXMgbm90IGZvdW5kYCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbGV0IHJlc3VsdDogYW55ID0gdGhpc1thY3Rpb25NZXRhLmZuXSh0aGlzLnNuYXBzaG90LCBhY3Rpb24ucGF5bG9hZCk7XG4gICAgICAgIGxldCByZXN1bHQ6IGFueSA9IGFjdGlvbk1ldGEub3JpZ2luYWxGbi5jYWxsKHRoaXMsIHRoaXMuc25hcHNob3QsIGFjdGlvbi5wYXlsb2FkKTtcblxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZnJvbShyZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKG1hcChyID0+IHIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoe30pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdC5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICAgIH1cblxuICAgIHNlbGVjdDxUUmVzdWx0PihzZWxlY3RvcjogKHN0YXRlOiBUKSA9PiBUUmVzdWx0KTogT2JzZXJ2YWJsZTxUUmVzdWx0PiB8IE9ic2VydmFibGU8VFJlc3VsdD47XG4gICAgc2VsZWN0KHNlbGVjdG9yOiBzdHJpbmcgfCBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBuZXh0KHN0YXRlOiBUKSB7XG4gICAgICAgIHRoaXMuc3RhdGUkLm5leHQoc3RhdGUpO1xuICAgIH1cblxuICAgIGVycm9yKGVycm9yOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zdGF0ZSQuZXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIGNvbXBsZXRlKCkge1xuICAgICAgICB0aGlzLnN0YXRlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHN1YnNjcmliZShuZXh0PzogKHZhbHVlOiBUKSA9PiB2b2lkLCBlcnJvcj86IChlcnJvcjogYW55KSA9PiB2b2lkLCBjb21wbGV0ZT86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSQuc3Vic2NyaWJlKG5leHQsIGVycm9yLCBjb21wbGV0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0IHN0b3JlIG5ldyBzdGF0ZVxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnNldFN0YXRlKG5ld1N0YXRlKTtcbiAgICAgKiB0aGlzLnNldFN0YXRlKHsgdXNlcnM6IHByb2R1Y2UodGhpcy5zbmFwc2hvdC51c2VycykuYWRkKHVzZXIpIH0pO1xuICAgICAqIHRoaXMuc2V0U3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgICogICAgcmV0dXJuIHtcbiAgICAgKiAgICAgICAgdXNlcnM6IHByb2R1Y2Uoc3RhdGUudXNlcnMpLmFkZCh1c2VyKVxuICAgICAqICAgIH1cbiAgICAgKiB9KTtcbiAgICAgKiBAcGFyYW0gZm5cbiAgICAgKi9cbiAgICBzZXRTdGF0ZShmbjogUGFydGlhbDxUPiB8ICgobmV3U3RhdGU6IFQpID0+IFBhcnRpYWw8VD4pKTogdm9pZCB7XG4gICAgICAgIGlmIChoZWxwZXJzLmlzRnVuY3Rpb24oZm4pKSB7XG4gICAgICAgICAgICB0aGlzLm5leHQoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuc25hcHNob3QsXG4gICAgICAgICAgICAgICAgLi4uKGZuIGFzIGFueSkodGhpcy5zbmFwc2hvdClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZXh0KHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnNuYXBzaG90LFxuICAgICAgICAgICAgICAgIC4uLihmbiBhcyBUKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTdGF0ZSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3Q7XG4gICAgfVxuXG4gICAgQE1pbmlBY3Rpb24oKVxuICAgIGNsZWFyU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUodGhpcy5pbml0aWFsU3RhdGVDYWNoZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gICAgLyoqXG4gICAgICogWW91IGNhbiBvdmVycmlkZSB0aGlzIG1ldGhvZCBpZiB5b3Ugd2FudCB0byBnaXZlIHlvdXIgY29udGFpbmVyIGluc3RhbmNlIGEgY3VzdG9tIGlkLlxuICAgICAqIFRoZSByZXR1cm5lZCBpZCBtdXN0IGJlIHVuaXF1ZSBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAgICovXG4gICAgZ2V0U3RvcmVJbnN0YW5jZUlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0U3RvcmVJbnN0YW5jZUlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldENsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIHx8IC9mdW5jdGlvbiAoLispXFwoLy5leGVjKHRoaXMuY29uc3RydWN0b3IgKyAnJylbMV07XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { Injectable, Renderer2, ElementRef } from '@angular/core';
1
+ import { Injectable, Renderer2, ElementRef, inject } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class UpdateHostClassService {
4
- constructor(renderer) {
5
- this.renderer = renderer;
4
+ constructor() {
5
+ this.renderer = inject(Renderer2);
6
6
  this._classNames = [];
7
7
  }
8
8
  initializeElement(element) {
@@ -51,10 +51,10 @@ export class UpdateHostClassService {
51
51
  this.renderer.removeClass(this._hostElement, className);
52
52
  return this;
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: UpdateHostClassService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: UpdateHostClassService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
55
55
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: UpdateHostClassService }); }
56
56
  }
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: UpdateHostClassService, decorators: [{
58
58
  type: Injectable
59
- }], ctorParameters: () => [{ type: i0.Renderer2 }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWhvc3QtY2xhc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3VwZGF0ZS1ob3N0LWNsYXNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUlsRSxNQUFNLE9BQU8sc0JBQXNCO0lBSy9CLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKL0IsZ0JBQVcsR0FBYSxFQUFFLENBQUM7SUFJTyxDQUFDO0lBRTNDLGlCQUFpQixDQUFDLE9BQThDO1FBQzVELElBQUksT0FBTyxZQUFZLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQW9CO1FBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7UUFDaEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQixJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdCLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBNkI7UUFDMUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLEtBQUssTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWlCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQjtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBdkRRLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGRhdGVIb3N0Q2xhc3NTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9jbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gICAgaW5pdGlhbGl6ZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX2hvc3RFbGVtZW50ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faG9zdEVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHVwZGF0ZUNsYXNzKGNsYXNzTmFtZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGlmICh0aGlzLl9jbGFzc05hbWVzKSB7XG4gICAgICAgICAgICB0aGlzLl9jbGFzc05hbWVzLmZvckVhY2goY2xhc3NOYW1lID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2xhc3NOYW1lcy5pbmRleE9mKGNsYXNzTmFtZSkgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjbGFzc05hbWVzLmZvckVhY2goY2xhc3NOYW1lID0+IHtcbiAgICAgICAgICAgIGlmIChjbGFzc05hbWUpIHtcbiAgICAgICAgICAgICAgICBuZXdDbGFzc2VzLnB1c2goY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fY2xhc3NOYW1lcy5pbmRleE9mKGNsYXNzTmFtZSkgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9jbGFzc05hbWVzID0gbmV3Q2xhc3NlcztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2xhc3NCeU1hcChjbGFzc01hcDogRGljdGlvbmFyeTxib29sZWFuPikge1xuICAgICAgICBjb25zdCBuZXdDbGFzc2VzID0gW107XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGNsYXNzTWFwKSB7XG4gICAgICAgICAgICBpZiAoY2xhc3NNYXAuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBjbGFzc01hcFtrZXldKSB7XG4gICAgICAgICAgICAgICAgbmV3Q2xhc3Nlcy5wdXNoKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVDbGFzcyhuZXdDbGFzc2VzKTtcbiAgICB9XG5cbiAgICBhZGRDbGFzcyhjbGFzc05hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2hvc3RFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICByZW1vdmVDbGFzcyhjbGFzc05hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuX2hvc3RFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG4iXX0=
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWhvc3QtY2xhc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3VwZGF0ZS1ob3N0LWNsYXNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJMUUsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVZLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsZ0JBQVcsR0FBYSxFQUFFLENBQUM7S0FxRHRDO0lBakRHLGlCQUFpQixDQUFDLE9BQThDO1FBQzVELElBQUksT0FBTyxZQUFZLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQW9CO1FBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7UUFDaEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQixJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdCLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBNkI7UUFDMUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLEtBQUssTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWlCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQjtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBdkRRLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUhvc3RDbGFzc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIHByaXZhdGUgX2NsYXNzTmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBwcml2YXRlIF9ob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBpbml0aWFsaXplRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgRWxlbWVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5faG9zdEVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9ob3N0RWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2xhc3MoY2xhc3NOYW1lczogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKHRoaXMuX2NsYXNzTmFtZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2NsYXNzTmFtZXMuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc05hbWVzLmluZGV4T2YoY2xhc3NOYW1lKSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld0NsYXNzZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNsYXNzTmFtZXMuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgICAgICAgICAgIG5ld0NsYXNzZXMucHVzaChjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jbGFzc05hbWVzLmluZGV4T2YoY2xhc3NOYW1lKSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2NsYXNzTmFtZXMgPSBuZXdDbGFzc2VzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB1cGRhdGVDbGFzc0J5TWFwKGNsYXNzTWFwOiBEaWN0aW9uYXJ5PGJvb2xlYW4+KSB7XG4gICAgICAgIGNvbnN0IG5ld0NsYXNzZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gY2xhc3NNYXApIHtcbiAgICAgICAgICAgIGlmIChjbGFzc01hcC5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIGNsYXNzTWFwW2tleV0pIHtcbiAgICAgICAgICAgICAgICBuZXdDbGFzc2VzLnB1c2goa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzKG5ld0NsYXNzZXMpO1xuICAgIH1cblxuICAgIGFkZENsYXNzKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5faG9zdEVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHJlbW92ZUNsYXNzKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5faG9zdEVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cbiJdfQ==
@@ -55,9 +55,9 @@ export class AbstractPickerComponent extends TabIndexDisabledControlValueAccesso
55
55
  initValue() {
56
56
  this.thyValue = this.isRange ? [] : null;
57
57
  }
58
- constructor(cdr) {
58
+ constructor() {
59
59
  super();
60
- this.cdr = cdr;
60
+ this.cdr = inject(ChangeDetectorRef);
61
61
  this._panelMode = 'date';
62
62
  this.datePickerConfigService = inject(ThyDatePickerConfigService);
63
63
  /**
@@ -251,12 +251,12 @@ export class AbstractPickerComponent extends TabIndexDisabledControlValueAccesso
251
251
  setValueByPrecision(value) {
252
252
  return setValueByTimestampPrecision(value, this.isRange, this.thyTimestampPrecision);
253
253
  }
254
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AbstractPickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
254
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AbstractPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
255
255
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: AbstractPickerComponent, inputs: { thyMode: "thyMode", thyAllowClear: ["thyAllowClear", "thyAllowClear", coerceBooleanProperty], thyAutoFocus: ["thyAutoFocus", "thyAutoFocus", coerceBooleanProperty], thyOpen: ["thyOpen", "thyOpen", coerceBooleanProperty], thyDisabledDate: "thyDisabledDate", thyMinDate: "thyMinDate", thyMaxDate: "thyMaxDate", thyPlaceHolder: "thyPlaceHolder", thyReadonly: ["thyReadonly", "thyReadonly", coerceBooleanProperty], thyOriginClassName: "thyOriginClassName", thyPanelClassName: "thyPanelClassName", thySize: "thySize", thyTimestampPrecision: "thyTimestampPrecision", thyFormat: "thyFormat", thyAutoStartAndEnd: ["thyAutoStartAndEnd", "thyAutoStartAndEnd", coerceBooleanProperty], thyDefaultPickerValue: "thyDefaultPickerValue", thySuffixIcon: "thySuffixIcon", thyShowShortcut: ["thyShowShortcut", "thyShowShortcut", coerceBooleanProperty], thyShortcutPosition: "thyShortcutPosition", thyShortcutPresets: "thyShortcutPresets", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, outputs: { thyDateChange: "thyDateChange", thyOpenChange: "thyOpenChange" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ThyPicker, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
256
256
  }
257
257
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AbstractPickerComponent, decorators: [{
258
258
  type: Directive
259
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { thyMode: [{
259
+ }], ctorParameters: () => [], propDecorators: { thyMode: [{
260
260
  type: Input
261
261
  }], thyAllowClear: [{
262
262
  type: Input,
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
313
313
  type: Input,
314
314
  args: [{ transform: coerceBooleanProperty }]
315
315
  }] } });
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9hYnN0cmFjdC1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVk1RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHbkU7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLHVCQUNsQixTQUFRLHlDQUF5QztJQVNqRDs7O09BR0c7SUFDSCxJQUFhLE9BQU8sQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBNkZEOzs7T0FHRztJQUNILElBQWEsbUJBQW1CLENBQUMsUUFBNkI7UUFDMUQsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gs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QUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtsQyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQU1HLE9BQU87c0JBQWYsS0FBSztnQkFNRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFPdUMsa0JBQWtCO3NCQUE5RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQU1sQyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSztnQkFNdUMsZUFBZTtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNOUIsbUJBQW1CO3NCQUEvQixLQUFLO2dCQVVPLGtCQUFrQjtzQkFBOUIsS0FBSztnQkFPYSxhQUFhO3NCQUEvQixNQUFNO2dCQUVZLGFBQWE7c0JBQS9CLE1BQU07Z0JBRXdDLE1BQU07c0JBQXBELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFPbEMsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFiSW5kZXhEaXNhYmxlZENvbnRyb2xWYWx1ZUFjY2Vzc29yTWl4aW4gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENvbXBhdGlibGVWYWx1ZSwgUmFuZ2VBZHZhbmNlZFZhbHVlIH0gZnJvbSAnLi9pbm5lci10eXBlcyc7XG5pbXBvcnQgeyBUaHlQaWNrZXIgfSBmcm9tICcuL3BpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgbWFrZVZhbHVlLCBzZXRWYWx1ZUJ5VGltZXN0YW1wUHJlY2lzaW9uLCB0cmFuc2Zvcm1EYXRlVmFsdWUgfSBmcm9tICcuL3BpY2tlci51dGlsJztcbmltcG9ydCB7XG4gICAgQ29tcGF0aWJsZURhdGUsXG4gICAgRGF0ZUVudHJ5LFxuICAgIERpc2FibGVkRGF0ZUZuLFxuICAgIFRoeURhdGVSYW5nZUVudHJ5LFxuICAgIFRoeVBhbmVsTW9kZSxcbiAgICBUaHlTaG9ydGN1dFBvc2l0aW9uLFxuICAgIENvbXBhdGlibGVQcmVzZXRzLFxuICAgIFRoeURhdGVHcmFudWxhcml0eSxcbiAgICBUaHlEYXRlQ2hhbmdlRXZlbnRcbn0gZnJvbSAnLi9zdGFuZGFyZC10eXBlcyc7XG5pbXBvcnQgeyBUaHlEYXRlUGlja2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4vZGF0ZS1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQaWNrZXJDb21wb25lbnRcbiAgICBleHRlbmRzIFRhYkluZGV4RGlzYWJsZWRDb250cm9sVmFsdWVBY2Nlc3Nvck1peGluXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIHRoeVZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBudWxsO1xuXG4gICAgX3BhbmVsTW9kZTogVGh5UGFuZWxNb2RlID0gJ2RhdGUnO1xuXG4gICAgcHJpdmF0ZSBkYXRlUGlja2VyQ29uZmlnU2VydmljZSA9IGluamVjdChUaHlEYXRlUGlja2VyQ29uZmlnU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDmqKHlvI9cbiAgICAgKiBAdHlwZSBkZWNhZGUgfCB5ZWFyIHwgbW9udGggfCBkYXRlIHwgd2VlayB8IGZsZXhpYmxlXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeU1vZGUodmFsdWU6IFRoeVBhbmVsTW9kZSkge1xuICAgICAgICB0aGlzLl9wYW5lbE1vZGUgPSB2YWx1ZSA/PyAnZGF0ZSc7XG4gICAgfVxuXG4gICAgZ2V0IHRoeU1vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYW5lbE1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65riF6Zmk5oyJ6ZKuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5QWxsb3dDbGVhciA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKboh6rliqjojrflj5bnhKbngrlcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5T3BlbjogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHRoeURpc2FibGVkRGF0ZTogRGlzYWJsZWREYXRlRm47XG5cbiAgICAvKipcbiAgICAgKiDmnIDlsI/lgLxcbiAgICAgKiBAdHlwZSBEYXRlIHwgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TWluRGF0ZTogRGF0ZSB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOacgOWkp+WAvFxuICAgICAqIEB0eXBlIERhdGUgfCBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNYXhEYXRlOiBEYXRlIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6L6T5YWl5qGG5o+Q56S65paH5a2XXG4gICAgICogQHR5cGUgc3RyaW5nIHwgc3RyaW5nW11cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQbGFjZUhvbGRlcjogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblj6ror7tcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVJlYWRvbmx5OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6YCJ5oup5ZmoIGNsYXNzTmFtZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU9yaWdpbkNsYXNzTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65bGCIGNsYXNzTmFtZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBhbmVsQ2xhc3NOYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDovpPlhaXmoYbnmoTlpKflsI9cbiAgICAgKiBAdHlwZSB4cyB8IHNtIHwgbWQgfCBsZyB8IGRlZmF1bHRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTaXplOiAnbGcnIHwgJ21kJyB8ICdzbScgfCAneHMnIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5pe26Ze05oiz57K+5bqmXG4gICAgICogQGRlZmF1bHQgc2Vjb25kcyAxMOS9jVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpbWVzdGFtcFByZWNpc2lvbjogJ3NlY29uZHMnIHwgJ21pbGxpc2Vjb25kcycgPSB0aGlzLmRhdGVQaWNrZXJDb25maWdTZXJ2aWNlLmNvbmZpZz8udGltZXN0YW1wUHJlY2lzaW9uIHx8ICdzZWNvbmRzJztcblxuICAgIC8qKlxuICAgICAqIOWxleekuueahOaXpeacn+agvOW8j1xuICAgICAqIEBkZWZhdWx0IHl5eXktTU0tZGRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlGb3JtYXQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBvbmx5IGZvciByYW5nZSBwaWNrZXIsIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSB0YWtlIHRoZSBiZWdpbm5pbmcgYW5kIGVuZGluZyB1bml4VGltZSBvZiB0aGUgZGF5XG4gICAgICogQGRlc2NyaXB0aW9uLnpoLWNuIOaYr+WQpuWPluWAvOW8gOWni+aXpeacn+eahDAwOjAw5Lul5Y+K5oiq5q2i5pel5pyf55qEMjQ6MDBcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUF1dG9TdGFydEFuZEVuZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog6Z2i5p2/6buY6K6k5pel5pyfXG4gICAgICogQHR5cGUgQ29tcGF0aWJsZURhdGUgfCBudW1iZXIgfCBudWxsXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGVmYXVsdFBpY2tlclZhbHVlOiBDb21wYXRpYmxlRGF0ZSB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ55qE5ZCO57yA5Zu+5qCHXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U3VmZml4SWNvbiA9ICdjYWxlbmRhcic7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblsZXnpLrlv6vmjbfpgInpobnpnaLmnb9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVNob3dTaG9ydGN1dDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW/q+aNt+mAiemhuemdouadv+eahOaYvuekuuS9jee9rlxuICAgICAqIEB0eXBlIGxlZnQgfCBib3R0b21cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5U2hvcnRjdXRQb3NpdGlvbihwb3NpdGlvbjogVGh5U2hvcnRjdXRQb3NpdGlvbikge1xuICAgICAgICBpZiAoISFwb3NpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zaG9ydGN1dFBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlv6vmjbfpgInpoblcbiAgICAgKiBAdHlwZSBUaHlTaG9ydGN1dFByZXNldFtdXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVNob3J0Y3V0UHJlc2V0cyhwcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cykge1xuICAgICAgICB0aGlzLnNob3J0Y3V0UHJlc2V0cyA9IHByZXNldHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pel5pyf5Y+Y5YyW55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeURhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeURhdGVDaGFuZ2VFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQFZpZXdDaGlsZChUaHlQaWNrZXIsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBwaWNrZXI6IFRoeVBpY2tlcjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgdGh5RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBzaG9ydGN1dFBvc2l0aW9uOiBUaHlTaG9ydGN1dFBvc2l0aW9uID0gJ2xlZnQnO1xuXG4gICAgc2hvcnRjdXRQcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cztcblxuICAgIGlzUmFuZ2U6IGJvb2xlYW47XG5cbiAgICB3aXRoVGltZTogYm9vbGVhbjtcblxuICAgIGZsZXhpYmxlOiBib29sZWFuO1xuXG4gICAgZmxleGlibGVEYXRlR3JhbnVsYXJpdHk6IFRoeURhdGVHcmFudWxhcml0eTtcblxuICAgIHByb3RlY3RlZCBkZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcm90ZWN0ZWQgaXNDdXN0b21QbGFjZUhvbGRlciA9IGZhbHNlO1xuICAgIHByaXZhdGUgb25seUVtaXREYXRlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIG9yaWdpbldpdGhUaW1lOiBib29sZWFuO1xuXG4gICAgZ2V0IHJlYWxPcGVuU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlci5yZWFsT3BlblN0YXRlO1xuICAgIH1cblxuICAgIGdldCBpc1Nob3dEYXRlUG9wdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlci5pc1Nob3dEYXRlUG9wdXA7XG4gICAgfVxuXG4gICAgaW5pdFZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeVZhbHVlID0gdGhpcy5pc1JhbmdlID8gW10gOiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFBsYWNlSG9sZGVyKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuaXNGbGV4aWJsZSgpO1xuICAgIH1cblxuICAgIGlzRmxleGlibGUoKSB7XG4gICAgICAgIHRoaXMuZmxleGlibGUgPSB0aGlzLnRoeU1vZGUgPT09ICdmbGV4aWJsZSc7XG4gICAgfVxuXG4gICAgb25EYXRlVmFsdWVDaGFuZ2UoZXZlbnQ6IFRoeURhdGVDaGFuZ2VFdmVudCkge1xuICAgICAgICB0aGlzLnRoeURhdGVDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50aHlQbGFjZUhvbGRlciAmJiBjaGFuZ2VzLnRoeVBsYWNlSG9sZGVyLmZpcnN0Q2hhbmdlICYmIHR5cGVvZiB0aGlzLnRoeVBsYWNlSG9sZGVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5pc0N1c3RvbVBsYWNlSG9sZGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBjbG9zZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGlja2VyLmhpZGVPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgZ2V0QXV0b1N0YXJ0QW5kRW5kVmFsdWUoYmVnaW46IFRpbnlEYXRlLCBlbmQ6IFRpbnlEYXRlKSB7XG4gICAgICAgIGxldCB2YWx1ZTogeyBiZWdpbjogbnVtYmVyOyBlbmQ6IG51bWJlciB9O1xuICAgICAgICBzd2l0Y2ggKHRoaXMudGh5TW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogYmVnaW4uc3RhcnRPZldlZWsoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZldlZWsoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLnN0YXJ0T2ZNb250aCgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLmVuZE9mTW9udGgoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogYmVnaW4uc3RhcnRPZlllYXIoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZlllYXIoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZShvcmlnaW5hbFZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBSYW5nZUFkdmFuY2VkVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRGb3JtYXRSdWxlKCk7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUsIHdpdGhUaW1lLCBmbGV4aWJsZURhdGVHcmFudWxhcml0eSB9ID0gdHJhbnNmb3JtRGF0ZVZhbHVlKG9yaWdpbmFsVmFsdWUpO1xuICAgICAgICB0aGlzLmZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5ID0gZmxleGlibGVEYXRlR3JhbnVsYXJpdHk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCB2QXNSYW5nZTogYW55ID0gdGhpcy50aHlWYWx1ZTtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IHsgYmVnaW46IG51bGwsIGVuZDogbnVsbCB9IGFzIFRoeURhdGVSYW5nZUVudHJ5O1xuICAgICAgICAgICAgaWYgKHZBc1JhbmdlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtiZWdpbiwgZW5kXSA9IHZBc1JhbmdlIGFzIFRpbnlEYXRlW107XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGh5QXV0b1N0YXJ0QW5kRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5nZXRBdXRvU3RhcnRBbmRFbmRWYWx1ZShiZWdpbiwgZW5kKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IFtiZWdpblVuaXhUaW1lLCBlbmRVbml4VGltZV0gPSB0aGlzLnNldFZhbHVlQnlQcmVjaXNpb24odmFsdWUpIGFzIG51bWJlcltdO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKFxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oeyBiZWdpbjogYmVnaW5Vbml4VGltZSwgZW5kOiBlbmRVbml4VGltZSB9LCB0aGlzLmZsZXhpYmxlID8geyBncmFudWxhcml0eTogZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgfSA6IHt9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0geyBkYXRlOiBudWxsLCB3aXRoX3RpbWU6IHRoaXMud2l0aFRpbWUgPyAxIDogMCB9IGFzIERhdGVFbnRyeTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuZGF0ZSA9ICh0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlKS5nZXRVbml4VGltZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMub25seUVtaXREYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHRoaXMuc2V0VmFsdWVCeVByZWNpc2lvbih2YWx1ZS5kYXRlKSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlRm4oT2JqZWN0LmFzc2lnbih2YWx1ZSwgeyBkYXRlOiB0aGlzLnNldFZhbHVlQnlQcmVjaXNpb24odmFsdWUuZGF0ZSkgYXMgbnVtYmVyIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldEZvcm1hdFJ1bGUoKSB7XG4gICAgICAgIGlmICghdGhpcy50aHlGb3JtYXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLndpdGhUaW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlGb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbSc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vbmx5RW1pdERhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlGb3JtYXQgPSAneXl5eS1NTS1kZCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aHlPcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VGbjogKHZhbDogQ29tcGF0aWJsZURhdGUgfCBEYXRlRW50cnkgfCBUaHlEYXRlUmFuZ2VFbnRyeSB8IG51bWJlciB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB2b2lkIDA7XG5cbiAgICB3cml0ZVZhbHVlKG9yaWdpbmFsVmFsdWU6IENvbXBhdGlibGVEYXRlIHwgVGh5RGF0ZVJhbmdlRW50cnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgd2l0aFRpbWUsIGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5IH0gPSB0cmFuc2Zvcm1EYXRlVmFsdWUob3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgIHRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgPSBmbGV4aWJsZURhdGVHcmFudWxhcml0eTtcbiAgICAgICAgaWYgKHRoaXMuZmxleGlibGUgJiYgdmFsdWUgJiYgKHZhbHVlIGFzIERhdGVbXSkubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5ID0gJ2RheSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRUaW1lUGlja2VyU3RhdGUod2l0aFRpbWUpO1xuICAgICAgICB0aGlzLm9ubHlFbWl0RGF0ZSA9IHR5cGVvZiB3aXRoVGltZSA9PT0gJ3VuZGVmaW5lZCc7XG4gICAgICAgIHRoaXMub3JpZ2luV2l0aFRpbWUgPSB3aXRoVGltZTtcbiAgICAgICAgdGhpcy5zZXRGb3JtYXRSdWxlKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHNldFRpbWVQaWNrZXJTdGF0ZSh3aXRoVGltZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gd2l0aFRpbWU7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeURpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdFBsYWNlSG9sZGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNDdXN0b21QbGFjZUhvbGRlcikge1xuICAgICAgICAgICAgdGhpcy50aHlQbGFjZUhvbGRlciA9IHRoaXMuaXNSYW5nZSA/IFsn5byA5aeL5pel5pyfJywgJ+e7k+adn+aXpeacnyddIDogJ+ivt+mAieaLqeaXpeacnyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBDb21wYXRpYmxlRGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeVZhbHVlID0gbWFrZVZhbHVlKHZhbHVlLCB0aGlzLmlzUmFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWVCeVByZWNpc2lvbih2YWx1ZTogQ29tcGF0aWJsZURhdGUgfCBudW1iZXIgfCBEYXRlIHwgRGF0ZUVudHJ5IHwgVGh5RGF0ZVJhbmdlRW50cnkgfCBTYWZlQW55KTogbnVtYmVyIHwgbnVtYmVyW10ge1xuICAgICAgICByZXR1cm4gc2V0VmFsdWVCeVRpbWVzdGFtcFByZWNpc2lvbih2YWx1ZSwgdGhpcy5pc1JhbmdlLCB0aGlzLnRoeVRpbWVzdGFtcFByZWNpc2lvbik7XG4gICAgfVxufVxuIl19
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9hYnN0cmFjdC1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVk1RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHbkU7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLHVCQUNsQixTQUFRLHlDQUF5QztJQVdqRDs7O09BR0c7SUFDSCxJQUFhLE9BQU8sQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBNkZEOzs7T0FHRztJQUNILElBQWEsbUJBQW1CLENBQUMsUUFBNkI7UUFDMUQsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxrQkFBa0IsQ0FBQyxPQUEwQjtRQUN0RCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0lBV0Q7OztPQUdHO0lBQ0gsSUFDSSxXQUFXLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFxQkQsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUF0TFosUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBSWhDLGVBQVUsR0FBaUIsTUFBTSxDQUFDO1FBRTFCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBY3JFOztXQUVHO1FBQzBDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRWxFOzs7V0FHRztRQUMwQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQXdDbEU7OztXQUdHO1FBQ00sWUFBTyxHQUEwQyxTQUFTLENBQUM7UUFFcEU7OztXQUdHO1FBQ00sMEJBQXFCLEdBQStCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLElBQUksU0FBUyxDQUFDO1FBUWxJOzs7O1dBSUc7UUFDMEMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRXhFOzs7V0FHRztRQUNNLDBCQUFxQixHQUFtQyxJQUFJLENBQUM7UUFFdEU7O1dBRUc7UUFDTSxrQkFBYSxHQUFHLFVBQVUsQ0FBQztRQTBCcEM7O1dBRUc7UUFDZ0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUV2RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFnQi9ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIscUJBQWdCLEdBQXdCLE1BQU0sQ0FBQztRQVlyQyxlQUFVLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDMUMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBMEk3QixlQUFVLEdBQWtGLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBekh6RyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUF5QjtRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDN0csSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFlLEVBQUUsR0FBYTtRQUNsRCxJQUFJLEtBQXFDLENBQUM7UUFDMUMsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsS0FBSyxNQUFNO2dCQUNQLEtBQUssR0FBRztvQkFDSixLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRTtvQkFDdkMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUU7aUJBQ3BDLENBQUM7Z0JBQ0YsTUFBTTtZQUNWLEtBQUssTUFBTTtnQkFDUCxLQUFLLEdBQUc7b0JBQ0osS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUU7b0JBQ3hDLEdBQUcsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFO2lCQUNyQyxDQUFDO2dCQUNGLE1BQU07WUFDVixLQUFLLE9BQU87Z0JBQ1IsS0FBSyxHQUFHO29CQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxFQUFFO29CQUN6QyxHQUFHLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRTtpQkFDdEMsQ0FBQztnQkFDRixNQUFNO1lBQ1YsS0FBSyxNQUFNO2dCQUNQLEtBQUssR0FBRztvQkFDSixLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRTtvQkFDeEMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLEVBQUU7aUJBQ3JDLENBQUM7Z0JBQ0YsTUFBTTtZQUNWO2dCQUNJLEtBQUssR0FBRztvQkFDSixLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRTtvQkFDdkMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUU7aUJBQ3BDLENBQUM7Z0JBQ0YsTUFBTTtRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsYUFBYSxDQUFDLGFBQW1EO1FBQzdELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsTUFBTSxRQUFRLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNwQyxJQUFJLEtBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBdUIsQ0FBQztZQUM1RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxRQUFzQixDQUFDO2dCQUM1QyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO29CQUMxQixLQUFLLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckQsQ0FBQztxQkFBTSxDQUFDO29CQUNKLEtBQUssR0FBRzt3QkFDSixLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRTt3QkFDMUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUU7cUJBQ3pCLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7WUFDRCxNQUFNLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQWEsQ0FBQztZQUNqRixJQUFJLENBQUMsVUFBVSxDQUNYLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDM0gsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxLQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBZSxDQUFDO1lBQzVFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixLQUFLLENBQUMsSUFBSSxHQUFJLElBQUksQ0FBQyxRQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNELENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBVyxDQUFDLENBQUM7WUFDcEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztZQUN4QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBYTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBSUQsVUFBVSxDQUFDLGFBQWlEO1FBQ3hELE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLElBQUssS0FBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7WUFDekMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sUUFBUSxLQUFLLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBaUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBcUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBK0U7UUFDdkcsT0FBTyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6RixDQUFDOzhHQTdWaUIsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa0ZBMkJyQixxQkFBcUIsa0RBTXJCLHFCQUFxQixtQ0FFckIscUJBQXFCLHlLQTBCckIscUJBQXFCLGtQQW1DckIscUJBQXFCLDJJQWlCckIscUJBQXFCLHFJQWlDckIscUJBQXFCLGtKQU45QixTQUFTOzsyRkE1SUYsdUJBQXVCO2tCQUQ1QyxTQUFTO3dEQWlCTyxPQUFPO3NCQUFuQixLQUFLO2dCQVd1QyxhQUFhO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQU1FLFlBQVk7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBRUUsT0FBTztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFFbEMsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsY0FBYztzQkFBdEIsS0FBSztnQkFNdUMsV0FBVztzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFLbEMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxPQUFPO3NCQUFmLEtBQUs7Z0JBTUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT3VDLGtCQUFrQjtzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNbEMscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTXVDLGVBQWU7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTTlCLG1CQUFtQjtzQkFBL0IsS0FBSztnQkFVTyxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBT2EsYUFBYTtzQkFBL0IsTUFBTTtnQkFFWSxhQUFhO3NCQUEvQixNQUFNO2dCQUV3QyxNQUFNO3NCQUFwRCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBT2xDLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYkluZGV4RGlzYWJsZWRDb250cm9sVmFsdWVBY2Nlc3Nvck1peGluIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgVGlueURhdGUgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb21wYXRpYmxlVmFsdWUsIFJhbmdlQWR2YW5jZWRWYWx1ZSB9IGZyb20gJy4vaW5uZXItdHlwZXMnO1xuaW1wb3J0IHsgVGh5UGlja2VyIH0gZnJvbSAnLi9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IG1ha2VWYWx1ZSwgc2V0VmFsdWVCeVRpbWVzdGFtcFByZWNpc2lvbiwgdHJhbnNmb3JtRGF0ZVZhbHVlIH0gZnJvbSAnLi9waWNrZXIudXRpbCc7XG5pbXBvcnQge1xuICAgIENvbXBhdGlibGVEYXRlLFxuICAgIERhdGVFbnRyeSxcbiAgICBEaXNhYmxlZERhdGVGbixcbiAgICBUaHlEYXRlUmFuZ2VFbnRyeSxcbiAgICBUaHlQYW5lbE1vZGUsXG4gICAgVGh5U2hvcnRjdXRQb3NpdGlvbixcbiAgICBDb21wYXRpYmxlUHJlc2V0cyxcbiAgICBUaHlEYXRlR3JhbnVsYXJpdHksXG4gICAgVGh5RGF0ZUNoYW5nZUV2ZW50XG59IGZyb20gJy4vc3RhbmRhcmQtdHlwZXMnO1xuaW1wb3J0IHsgVGh5RGF0ZVBpY2tlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2RhdGUtcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UGlja2VyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBUYWJJbmRleERpc2FibGVkQ29udHJvbFZhbHVlQWNjZXNzb3JNaXhpblxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgICBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgdGh5VmFsdWU6IENvbXBhdGlibGVWYWx1ZSB8IG51bGw7XG5cbiAgICBfcGFuZWxNb2RlOiBUaHlQYW5lbE1vZGUgPSAnZGF0ZSc7XG5cbiAgICBwcml2YXRlIGRhdGVQaWNrZXJDb25maWdTZXJ2aWNlID0gaW5qZWN0KFRoeURhdGVQaWNrZXJDb25maWdTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIOaooeW8j1xuICAgICAqIEB0eXBlIGRlY2FkZSB8IHllYXIgfCBtb250aCB8IGRhdGUgfCB3ZWVrIHwgZmxleGlibGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5TW9kZSh2YWx1ZTogVGh5UGFuZWxNb2RlKSB7XG4gICAgICAgIHRoaXMuX3BhbmVsTW9kZSA9IHZhbHVlID8/ICdkYXRlJztcbiAgICB9XG5cbiAgICBnZXQgdGh5TW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhbmVsTW9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrmuIXpmaTmjInpkq5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBbGxvd0NsZWFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOiOt+WPlueEpueCuVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5QXV0b0ZvY3VzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlPcGVuOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgdGh5RGlzYWJsZWREYXRlOiBEaXNhYmxlZERhdGVGbjtcblxuICAgIC8qKlxuICAgICAqIOacgOWwj+WAvFxuICAgICAqIEB0eXBlIERhdGUgfCBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNaW5EYXRlOiBEYXRlIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog5pyA5aSn5YC8XG4gICAgICogQHR5cGUgRGF0ZSB8IG51bWJlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1heERhdGU6IERhdGUgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDovpPlhaXmoYbmj5DnpLrmloflrZdcbiAgICAgKiBAdHlwZSBzdHJpbmcgfCBzdHJpbmdbXVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlSG9sZGVyOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWPquivu1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5UmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDpgInmi6nlmaggY2xhc3NOYW1lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5T3JpZ2luQ2xhc3NOYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rlsYIgY2xhc3NOYW1lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGFuZWxDbGFzc05hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOi+k+WFpeahhueahOWkp+Wwj1xuICAgICAqIEB0eXBlIHhzIHwgc20gfCBtZCB8IGxnIHwgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNpemU6ICdsZycgfCAnbWQnIHwgJ3NtJyB8ICd4cycgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7ml7bpl7TmiLPnsr7luqZcbiAgICAgKiBAZGVmYXVsdCBzZWNvbmRzIDEw5L2NXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VGltZXN0YW1wUHJlY2lzaW9uOiAnc2Vjb25kcycgfCAnbWlsbGlzZWNvbmRzJyA9IHRoaXMuZGF0ZVBpY2tlckNvbmZpZ1NlcnZpY2UuY29uZmlnPy50aW1lc3RhbXBQcmVjaXNpb24gfHwgJ3NlY29uZHMnO1xuXG4gICAgLyoqXG4gICAgICog5bGV56S655qE5pel5pyf5qC85byPXG4gICAgICogQGRlZmF1bHQgeXl5eS1NTS1kZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUZvcm1hdDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIG9ubHkgZm9yIHJhbmdlIHBpY2tlciwgV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHRha2UgdGhlIGJlZ2lubmluZyBhbmQgZW5kaW5nIHVuaXhUaW1lIG9mIHRoZSBkYXlcbiAgICAgKiBAZGVzY3JpcHRpb24uemgtY24g5piv5ZCm5Y+W5YC85byA5aeL5pel5pyf55qEMDA6MDDku6Xlj4rmiKrmraLml6XmnJ/nmoQyNDowMFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5QXV0b1N0YXJ0QW5kRW5kID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDpnaLmnb/pu5jorqTml6XmnJ9cbiAgICAgKiBAdHlwZSBDb21wYXRpYmxlRGF0ZSB8IG51bWJlciB8IG51bGxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEZWZhdWx0UGlja2VyVmFsdWU6IENvbXBhdGlibGVEYXRlIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnnmoTlkI7nvIDlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTdWZmaXhJY29uID0gJ2NhbGVuZGFyJztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuW/q+aNt+mAiemhuemdouadv1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5U2hvd1Nob3J0Y3V0OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5b+r5o236YCJ6aG56Z2i5p2/55qE5pi+56S65L2N572uXG4gICAgICogQHR5cGUgbGVmdCB8IGJvdHRvbVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlTaG9ydGN1dFBvc2l0aW9uKHBvc2l0aW9uOiBUaHlTaG9ydGN1dFBvc2l0aW9uKSB7XG4gICAgICAgIGlmICghIXBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnNob3J0Y3V0UG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieW/q+aNt+mAiemhuVxuICAgICAqIEB0eXBlIFRoeVNob3J0Y3V0UHJlc2V0W11cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5U2hvcnRjdXRQcmVzZXRzKHByZXNldHM6IENvbXBhdGlibGVQcmVzZXRzKSB7XG4gICAgICAgIHRoaXMuc2hvcnRjdXRQcmVzZXRzID0gcHJlc2V0cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDml6XmnJ/lj5jljJbnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5RGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5RGF0ZUNoYW5nZUV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAVmlld0NoaWxkKFRoeVBpY2tlciwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHBpY2tlcjogVGh5UGlja2VyO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55SoXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCB0aHlEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIHNob3J0Y3V0UG9zaXRpb246IFRoeVNob3J0Y3V0UG9zaXRpb24gPSAnbGVmdCc7XG5cbiAgICBzaG9ydGN1dFByZXNldHM6IENvbXBhdGlibGVQcmVzZXRzO1xuXG4gICAgaXNSYW5nZTogYm9vbGVhbjtcblxuICAgIHdpdGhUaW1lOiBib29sZWFuO1xuXG4gICAgZmxleGlibGU6IGJvb2xlYW47XG5cbiAgICBmbGV4aWJsZURhdGVHcmFudWxhcml0eTogVGh5RGF0ZUdyYW51bGFyaXR5O1xuXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3llZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuICAgIHByb3RlY3RlZCBpc0N1c3RvbVBsYWNlSG9sZGVyID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBvbmx5RW1pdERhdGUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgb3JpZ2luV2l0aFRpbWU6IGJvb2xlYW47XG5cbiAgICBnZXQgcmVhbE9wZW5TdGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyLnJlYWxPcGVuU3RhdGU7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2hvd0RhdGVQb3B1cCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyLmlzU2hvd0RhdGVQb3B1cDtcbiAgICB9XG5cbiAgICBpbml0VmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5VmFsdWUgPSB0aGlzLmlzUmFuZ2UgPyBbXSA6IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFBsYWNlSG9sZGVyKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuaXNGbGV4aWJsZSgpO1xuICAgIH1cblxuICAgIGlzRmxleGlibGUoKSB7XG4gICAgICAgIHRoaXMuZmxleGlibGUgPSB0aGlzLnRoeU1vZGUgPT09ICdmbGV4aWJsZSc7XG4gICAgfVxuXG4gICAgb25EYXRlVmFsdWVDaGFuZ2UoZXZlbnQ6IFRoeURhdGVDaGFuZ2VFdmVudCkge1xuICAgICAgICB0aGlzLnRoeURhdGVDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50aHlQbGFjZUhvbGRlciAmJiBjaGFuZ2VzLnRoeVBsYWNlSG9sZGVyLmZpcnN0Q2hhbmdlICYmIHR5cGVvZiB0aGlzLnRoeVBsYWNlSG9sZGVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5pc0N1c3RvbVBsYWNlSG9sZGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBjbG9zZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGlja2VyLmhpZGVPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgZ2V0QXV0b1N0YXJ0QW5kRW5kVmFsdWUoYmVnaW46IFRpbnlEYXRlLCBlbmQ6IFRpbnlEYXRlKSB7XG4gICAgICAgIGxldCB2YWx1ZTogeyBiZWdpbjogbnVtYmVyOyBlbmQ6IG51bWJlciB9O1xuICAgICAgICBzd2l0Y2ggKHRoaXMudGh5TW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogYmVnaW4uc3RhcnRPZldlZWsoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZldlZWsoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLnN0YXJ0T2ZNb250aCgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLmVuZE9mTW9udGgoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogYmVnaW4uc3RhcnRPZlllYXIoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZlllYXIoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZShvcmlnaW5hbFZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBSYW5nZUFkdmFuY2VkVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRGb3JtYXRSdWxlKCk7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUsIHdpdGhUaW1lLCBmbGV4aWJsZURhdGVHcmFudWxhcml0eSB9ID0gdHJhbnNmb3JtRGF0ZVZhbHVlKG9yaWdpbmFsVmFsdWUpO1xuICAgICAgICB0aGlzLmZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5ID0gZmxleGlibGVEYXRlR3JhbnVsYXJpdHk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCB2QXNSYW5nZTogYW55ID0gdGhpcy50aHlWYWx1ZTtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IHsgYmVnaW46IG51bGwsIGVuZDogbnVsbCB9IGFzIFRoeURhdGVSYW5nZUVudHJ5O1xuICAgICAgICAgICAgaWYgKHZBc1JhbmdlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtiZWdpbiwgZW5kXSA9IHZBc1JhbmdlIGFzIFRpbnlEYXRlW107XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGh5QXV0b1N0YXJ0QW5kRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5nZXRBdXRvU3RhcnRBbmRFbmRWYWx1ZShiZWdpbiwgZW5kKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IFtiZWdpblVuaXhUaW1lLCBlbmRVbml4VGltZV0gPSB0aGlzLnNldFZhbHVlQnlQcmVjaXNpb24odmFsdWUpIGFzIG51bWJlcltdO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKFxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oeyBiZWdpbjogYmVnaW5Vbml4VGltZSwgZW5kOiBlbmRVbml4VGltZSB9LCB0aGlzLmZsZXhpYmxlID8geyBncmFudWxhcml0eTogZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgfSA6IHt9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0geyBkYXRlOiBudWxsLCB3aXRoX3RpbWU6IHRoaXMud2l0aFRpbWUgPyAxIDogMCB9IGFzIERhdGVFbnRyeTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuZGF0ZSA9ICh0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlKS5nZXRVbml4VGltZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMub25seUVtaXREYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHRoaXMuc2V0VmFsdWVCeVByZWNpc2lvbih2YWx1ZS5kYXRlKSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlRm4oT2JqZWN0LmFzc2lnbih2YWx1ZSwgeyBkYXRlOiB0aGlzLnNldFZhbHVlQnlQcmVjaXNpb24odmFsdWUuZGF0ZSkgYXMgbnVtYmVyIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldEZvcm1hdFJ1bGUoKSB7XG4gICAgICAgIGlmICghdGhpcy50aHlGb3JtYXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLndpdGhUaW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlGb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbSc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vbmx5RW1pdERhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlGb3JtYXQgPSAneXl5eS1NTS1kZCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aHlPcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VGbjogKHZhbDogQ29tcGF0aWJsZURhdGUgfCBEYXRlRW50cnkgfCBUaHlEYXRlUmFuZ2VFbnRyeSB8IG51bWJlciB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB2b2lkIDA7XG5cbiAgICB3cml0ZVZhbHVlKG9yaWdpbmFsVmFsdWU6IENvbXBhdGlibGVEYXRlIHwgVGh5RGF0ZVJhbmdlRW50cnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgd2l0aFRpbWUsIGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5IH0gPSB0cmFuc2Zvcm1EYXRlVmFsdWUob3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgIHRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgPSBmbGV4aWJsZURhdGVHcmFudWxhcml0eTtcbiAgICAgICAgaWYgKHRoaXMuZmxleGlibGUgJiYgdmFsdWUgJiYgKHZhbHVlIGFzIERhdGVbXSkubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5ID0gJ2RheSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRUaW1lUGlja2VyU3RhdGUod2l0aFRpbWUpO1xuICAgICAgICB0aGlzLm9ubHlFbWl0RGF0ZSA9IHR5cGVvZiB3aXRoVGltZSA9PT0gJ3VuZGVmaW5lZCc7XG4gICAgICAgIHRoaXMub3JpZ2luV2l0aFRpbWUgPSB3aXRoVGltZTtcbiAgICAgICAgdGhpcy5zZXRGb3JtYXRSdWxlKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHNldFRpbWVQaWNrZXJTdGF0ZSh3aXRoVGltZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gd2l0aFRpbWU7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeURpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdFBsYWNlSG9sZGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNDdXN0b21QbGFjZUhvbGRlcikge1xuICAgICAgICAgICAgdGhpcy50aHlQbGFjZUhvbGRlciA9IHRoaXMuaXNSYW5nZSA/IFsn5byA5aeL5pel5pyfJywgJ+e7k+adn+aXpeacnyddIDogJ+ivt+mAieaLqeaXpeacnyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBDb21wYXRpYmxlRGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeVZhbHVlID0gbWFrZVZhbHVlKHZhbHVlLCB0aGlzLmlzUmFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWVCeVByZWNpc2lvbih2YWx1ZTogQ29tcGF0aWJsZURhdGUgfCBudW1iZXIgfCBEYXRlIHwgRGF0ZUVudHJ5IHwgVGh5RGF0ZVJhbmdlRW50cnkgfCBTYWZlQW55KTogbnVtYmVyIHwgbnVtYmVyW10ge1xuICAgICAgICByZXR1cm4gc2V0VmFsdWVCeVRpbWVzdGFtcFByZWNpc2lvbih2YWx1ZSwgdGhpcy5pc1JhbmdlLCB0aGlzLnRoeVRpbWVzdGFtcFByZWNpc2lvbik7XG4gICAgfVxufVxuIl19