@taiga-ui/kit 2.37.1 → 2.40.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 (348) hide show
  1. package/abstract/input-slider.d.ts +9 -5
  2. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +8 -10
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  15. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +2 -2
  17. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-input-files.umd.js +8 -0
  29. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  31. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-input-number.umd.js +28 -18
  33. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  35. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +5 -1
  37. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +2 -2
  39. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-input-phone.umd.js +5 -8
  41. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  43. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-input-range.umd.js +12 -2
  45. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-slider.umd.js +153 -125
  49. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  51. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-tag.umd.js +18 -9
  53. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  55. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
  65. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  67. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  69. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  71. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-slider.umd.js +25 -4
  73. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  75. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-tag.umd.js +26 -6
  79. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  81. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  83. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  85. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
  87. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  89. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +25 -1
  91. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +2 -2
  93. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-tokens.umd.js +1 -0
  99. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  105. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  106. package/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  107. package/components/calendar-range/calendar-range.component.d.ts +2 -2
  108. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  109. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +1 -1
  110. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +2 -2
  111. package/components/filter/filter.component.d.ts +1 -1
  112. package/components/input-date/input-date.component.d.ts +1 -1
  113. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  114. package/components/input-file/input-file.component.d.ts +6 -6
  115. package/components/input-files/input-files.component.d.ts +3 -2
  116. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  117. package/components/input-number/input-number.component.d.ts +6 -3
  118. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  119. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  120. package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
  121. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  122. package/components/input-range/input-range.component.d.ts +2 -1
  123. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  124. package/components/input-slider/input-slider.component.d.ts +39 -22
  125. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  126. package/components/input-tag/input-tag.component.d.ts +10 -3
  127. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  128. package/components/input-time/input-time.component.d.ts +2 -2
  129. package/components/multi-select/multi-select-options.d.ts +1 -1
  130. package/components/multi-select/multi-select.component.d.ts +3 -3
  131. package/components/progress/progress-segmented/progress-segmented.component.d.ts +1 -1
  132. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  133. package/components/radio-list/radio-list.component.d.ts +1 -1
  134. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  135. package/components/slider/slider-key-steps.directive.d.ts +3 -1
  136. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  137. package/components/tabs/tabs/tabs.component.d.ts +1 -1
  138. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +1 -1
  139. package/components/tag/index.d.ts +1 -0
  140. package/components/tag/tag-options.d.ts +12 -0
  141. package/components/tag/tag.component.d.ts +3 -1
  142. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  143. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  144. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  145. package/esm2015/abstract/input-slider.js +9 -7
  146. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  147. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +1 -1
  148. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  149. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  150. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +1 -1
  151. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +1 -1
  152. package/esm2015/components/filter/filter.component.js +1 -1
  153. package/esm2015/components/input-date/input-date.component.js +1 -1
  154. package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
  155. package/esm2015/components/input-file/input-file.component.js +1 -1
  156. package/esm2015/components/input-files/input-files.component.js +5 -1
  157. package/esm2015/components/input-number/input-number.component.js +29 -20
  158. package/esm2015/components/input-number/input-number.module.js +5 -1
  159. package/esm2015/components/input-phone/input-phone.component.js +7 -10
  160. package/esm2015/components/input-phone-international/input-phone-international.component.js +7 -3
  161. package/esm2015/components/input-range/input-range.component.js +10 -4
  162. package/esm2015/components/input-slider/input-slider.component.js +155 -108
  163. package/esm2015/components/input-slider/input-slider.module.js +6 -12
  164. package/esm2015/components/input-tag/input-tag.component.js +21 -12
  165. package/esm2015/components/input-time/input-time.component.js +1 -1
  166. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  167. package/esm2015/components/multi-select/multi-select-options.js +1 -1
  168. package/esm2015/components/multi-select/multi-select.component.js +1 -1
  169. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +1 -1
  170. package/esm2015/components/radio/radio.component.js +2 -2
  171. package/esm2015/components/radio-list/radio-list.component.js +1 -1
  172. package/esm2015/components/select/select.component.js +2 -2
  173. package/esm2015/components/slider/slider-key-steps.directive.js +14 -1
  174. package/esm2015/components/slider/slider.component.js +5 -5
  175. package/esm2015/components/tabs/tabs/tabs.component.js +1 -1
  176. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +1 -1
  177. package/esm2015/components/tag/index.js +2 -1
  178. package/esm2015/components/tag/tag-options.js +15 -0
  179. package/esm2015/components/tag/tag.component.js +11 -7
  180. package/esm2015/components/text-area/text-area.component.js +3 -3
  181. package/esm2015/components/toggle/toggle.component.js +3 -3
  182. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
  183. package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -1
  184. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  185. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
  186. package/esm2015/tokens/tag-status.js +2 -1
  187. package/esm2015/types/key-steps.js +1 -1
  188. package/esm2015/utils/mask/create-time-mask.js +1 -1
  189. package/esm2015/utils/miscellaneous/create-default-day-range-periods.js +1 -1
  190. package/esm2015/utils/miscellaneous/create-time-periods.js +1 -1
  191. package/esm5/abstract/input-slider.js +9 -11
  192. package/esm5/components/accordion/accordion-item/accordion-item.component.js +1 -1
  193. package/esm5/components/breadcrumbs/breadcrumbs.component.js +1 -1
  194. package/esm5/components/calendar-range/calendar-range.component.js +1 -1
  195. package/esm5/components/checkbox/checkbox.component.js +3 -3
  196. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +1 -1
  197. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +1 -1
  198. package/esm5/components/filter/filter.component.js +1 -1
  199. package/esm5/components/input-date/input-date.component.js +1 -1
  200. package/esm5/components/input-date-range/input-date-range.component.js +1 -1
  201. package/esm5/components/input-file/input-file.component.js +1 -1
  202. package/esm5/components/input-files/input-files.component.js +9 -1
  203. package/esm5/components/input-number/input-number.component.js +26 -17
  204. package/esm5/components/input-number/input-number.module.js +5 -1
  205. package/esm5/components/input-phone/input-phone.component.js +7 -10
  206. package/esm5/components/input-phone-international/input-phone-international.component.js +7 -3
  207. package/esm5/components/input-range/input-range.component.js +14 -4
  208. package/esm5/components/input-slider/input-slider.component.js +153 -117
  209. package/esm5/components/input-slider/input-slider.module.js +6 -12
  210. package/esm5/components/input-tag/input-tag.component.js +21 -12
  211. package/esm5/components/input-time/input-time.component.js +1 -1
  212. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  213. package/esm5/components/multi-select/multi-select-options.js +1 -1
  214. package/esm5/components/multi-select/multi-select.component.js +1 -1
  215. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +1 -1
  216. package/esm5/components/radio/radio.component.js +2 -2
  217. package/esm5/components/radio-list/radio-list.component.js +1 -1
  218. package/esm5/components/select/select.component.js +2 -2
  219. package/esm5/components/slider/slider-key-steps.directive.js +22 -1
  220. package/esm5/components/slider/slider.component.js +5 -5
  221. package/esm5/components/tabs/tabs/tabs.component.js +1 -1
  222. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +1 -1
  223. package/esm5/components/tag/index.js +2 -1
  224. package/esm5/components/tag/tag-options.js +16 -0
  225. package/esm5/components/tag/tag.component.js +11 -7
  226. package/esm5/components/text-area/text-area.component.js +3 -3
  227. package/esm5/components/toggle/toggle.component.js +3 -3
  228. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
  229. package/esm5/pipes/field-error/field-error-content-pipe.js +1 -1
  230. package/esm5/pipes/field-error/field-error-pipe.js +1 -1
  231. package/esm5/pipes/filter-by-input/filter-by-input.base.js +1 -1
  232. package/esm5/tokens/tag-status.js +2 -1
  233. package/esm5/types/key-steps.js +1 -1
  234. package/esm5/utils/mask/create-time-mask.js +1 -1
  235. package/esm5/utils/miscellaneous/create-default-day-range-periods.js +1 -1
  236. package/esm5/utils/miscellaneous/create-time-periods.js +1 -1
  237. package/fesm2015/taiga-ui-kit-abstract.js +8 -6
  238. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  239. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  240. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  241. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  242. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  243. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  244. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  245. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  246. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  247. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  248. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  249. package/fesm2015/taiga-ui-kit-components-input-files.js +4 -0
  250. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  251. package/fesm2015/taiga-ui-kit-components-input-number.js +32 -20
  252. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  253. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +6 -2
  254. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  255. package/fesm2015/taiga-ui-kit-components-input-phone.js +6 -9
  256. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  257. package/fesm2015/taiga-ui-kit-components-input-range.js +8 -2
  258. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  259. package/fesm2015/taiga-ui-kit-components-input-slider.js +156 -116
  260. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  261. package/fesm2015/taiga-ui-kit-components-input-tag.js +21 -12
  262. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  263. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  264. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  265. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  266. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  267. package/fesm2015/taiga-ui-kit-components-radio.js +1 -1
  268. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  269. package/fesm2015/taiga-ui-kit-components-select.js +1 -1
  270. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  271. package/fesm2015/taiga-ui-kit-components-slider.js +17 -4
  272. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  273. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  274. package/fesm2015/taiga-ui-kit-components-tag.js +25 -8
  275. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  276. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  277. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  278. package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
  279. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  280. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
  281. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  282. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  283. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  284. package/fesm2015/taiga-ui-kit-tokens.js +1 -0
  285. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  286. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  287. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  288. package/fesm5/taiga-ui-kit-abstract.js +8 -10
  289. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  290. package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
  291. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  292. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  293. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  294. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  295. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  296. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  297. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  298. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  299. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  300. package/fesm5/taiga-ui-kit-components-input-files.js +8 -0
  301. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  302. package/fesm5/taiga-ui-kit-components-input-number.js +29 -17
  303. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  304. package/fesm5/taiga-ui-kit-components-input-phone-international.js +6 -2
  305. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  306. package/fesm5/taiga-ui-kit-components-input-phone.js +6 -9
  307. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  308. package/fesm5/taiga-ui-kit-components-input-range.js +12 -2
  309. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  310. package/fesm5/taiga-ui-kit-components-input-slider.js +154 -125
  311. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  312. package/fesm5/taiga-ui-kit-components-input-tag.js +21 -12
  313. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  314. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  315. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  316. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  317. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  318. package/fesm5/taiga-ui-kit-components-radio.js +1 -1
  319. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  320. package/fesm5/taiga-ui-kit-components-select.js +1 -1
  321. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  322. package/fesm5/taiga-ui-kit-components-slider.js +25 -4
  323. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  324. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  325. package/fesm5/taiga-ui-kit-components-tag.js +26 -9
  326. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  327. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  328. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  329. package/fesm5/taiga-ui-kit-components-toggle.js +2 -2
  330. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  331. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
  332. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  333. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  334. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  335. package/fesm5/taiga-ui-kit-tokens.js +1 -0
  336. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  337. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  338. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  339. package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +3 -0
  340. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  341. package/package.json +4 -4
  342. package/pipes/field-error/field-error-content-pipe.d.ts +1 -1
  343. package/pipes/field-error/field-error-pipe.d.ts +1 -1
  344. package/pipes/filter-by-input/filter-by-input.base.d.ts +1 -1
  345. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  346. package/types/key-steps.d.ts +1 -1
  347. package/utils/miscellaneous/create-default-day-range-periods.d.ts +1 -1
  348. package/utils/miscellaneous/create-time-periods.d.ts +1 -1
@@ -2,22 +2,23 @@ import { __decorate, __extends, __param, __read, __spread } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Optional, Output, QueryList, Self, TemplateRef, ViewChild, ViewChildren, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { AbstractTuiMultipleControl, ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, EMPTY_QUERY, getActualTarget, isNativeFocusedIn, preventDefault, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiActiveZoneDirective, TuiBooleanHandler, TuiContextWithImplicit, tuiDefaultProp, TuiFocusableElementAccessor, TuiScrollService, typedFromEvent, } from '@taiga-ui/cdk';
5
- import { HINT_CONTROLLER_PROVIDER, TEXTFIELD_CONTROLLER_PROVIDER, TUI_DATA_LIST_HOST, TUI_HINT_WATCHED_CONTROLLER, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiDataListDirective, TuiDataListHost, TuiHintControllerDirective, TuiHorizontalDirection, TuiHostedDropdownComponent, TuiModeDirective, TuiScrollbarComponent, TuiSizeL, TuiSizeS, TuiTextfieldController, } from '@taiga-ui/core';
5
+ import { HINT_CONTROLLER_PROVIDER, MODE_PROVIDER, TEXTFIELD_CONTROLLER_PROVIDER, TUI_DATA_LIST_HOST, TUI_HINT_WATCHED_CONTROLLER, TUI_MODE, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiBrightness, TuiDataListDirective, TuiDataListHost, TuiHintControllerDirective, TuiHorizontalDirection, TuiHostedDropdownComponent, TuiModeDirective, TuiScrollbarComponent, TuiSizeL, TuiSizeS, TuiTextfieldController, } from '@taiga-ui/core';
6
6
  import { ALLOWED_SPACE_REGEXP } from '@taiga-ui/kit/components/tag';
7
7
  import { FIXED_DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/kit/providers';
8
8
  import { TUI_TAG_STATUS } from '@taiga-ui/kit/tokens';
9
- import { merge, Subject } from 'rxjs';
9
+ import { merge, Observable, Subject } from 'rxjs';
10
10
  import { filter, map, mapTo, switchMap, takeUntil } from 'rxjs/operators';
11
11
  import { TUI_INPUT_TAG_OPTIONS } from './input-tag-options';
12
12
  var EVENT_Y_TO_X_COEFFICIENT = 3;
13
13
  var TuiInputTagComponent = /** @class */ (function (_super) {
14
14
  __extends(TuiInputTagComponent, _super);
15
- function TuiInputTagComponent(control, changeDetectorRef, tuiScrollService, elementRef, appearance, modeDirective, tagStatus, hintController, controller, options, parentHostedDropdown) {
15
+ function TuiInputTagComponent(control, changeDetectorRef, tuiScrollService, elementRef, appearance, modeDirective, mode$, tagStatus, hintController, controller, options, parentHostedDropdown) {
16
16
  var _this = _super.call(this, control, changeDetectorRef) || this;
17
17
  _this.tuiScrollService = tuiScrollService;
18
18
  _this.elementRef = elementRef;
19
19
  _this.appearance = appearance;
20
20
  _this.modeDirective = modeDirective;
21
+ _this.mode$ = mode$;
21
22
  _this.tagStatus = tagStatus;
22
23
  _this.hintController = hintController;
23
24
  _this.controller = controller;
@@ -39,6 +40,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
39
40
  _this.uniqueTags = _this.options.uniqueTags;
40
41
  _this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
41
42
  _this.searchChange = new EventEmitter();
43
+ _this.status$ = _this.mode$.pipe(map(function (mode) { return (mode ? 'default' : _this.tagStatus); }));
42
44
  _this.open = false;
43
45
  return _this;
44
46
  }
@@ -169,6 +171,10 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
169
171
  configurable: true
170
172
  });
171
173
  Object.defineProperty(TuiInputTagComponent.prototype, "status", {
174
+ /**
175
+ * @deprecated: use `status$ | async` instead
176
+ * TODO: remove in v3.0
177
+ */
172
178
  get: function () {
173
179
  return this.modeDirective && this.modeDirective.mode ? 'default' : this.tagStatus;
174
180
  },
@@ -379,6 +385,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
379
385
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
380
386
  { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] },
381
387
  { type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
388
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
382
389
  { type: undefined, decorators: [{ type: Inject, args: [TUI_TAG_STATUS,] }] },
383
390
  { type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] },
384
391
  { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
@@ -473,7 +480,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
473
480
  Component({
474
481
  selector: 'tui-input-tag',
475
482
  changeDetection: ChangeDetectionStrategy.OnPush,
476
- template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div *ngIf=\"iconAlignLeft\" class=\"t-icons t-icons_left\">\n <tui-svg class=\"t-icon\" [src]=\"icon\"></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n <tui-scrollbar\n *ngIf=\"!expandable; else items\"\n class=\"t-scrollbar\"\n [hidden]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"items\"></ng-container>\n </tui-scrollbar>\n <ng-template #items>\n <div #tagsContainer class=\"t-tags\">\n <ng-container *ngIf=\"labelOutside; else text\">\n <tui-tag\n *ngFor=\"let item of value; index as index\"\n #tag\n automation-id=\"tui-input-tag__tag\"\n class=\"t-tag\"\n [status]=\"status\"\n [leftContent]=\"getLeftContent(item)\"\n [allowSpaces]=\"allowSpaces\"\n [tuiFocusable]=\"false\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [removable]=\"!readOnly\"\n [separator]=\"separator\"\n [maxLength]=\"controller.maxLength\"\n [size]=\"controller.size\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft(index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight(index)\"\n ></tui-tag>\n </ng-container>\n <ng-template #text>\n <span\n *ngFor=\"let item of value\"\n class=\"t-text\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [innerText]=\"item\"\n ></span>\n </ng-template>\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n type=\"text\"\n automation-id=\"tui-input-tag__native\"\n class=\"t-native\"\n [placeholder]=\"controller.exampleText\"\n [class.t-native_hidden]=\"inputHidden\"\n [attr.maxLength]=\"controller.maxLength\"\n [id]=\"id\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || inputHidden\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"search\"\n (ngModelChange)=\"onInput($event)\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n />\n </div>\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"hasRightIcons\" class=\"t-icons t-icons_right\">\n <tui-svg\n *ngIf=\"hasCleaner\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-cleaner\"\n (click.stop)=\"onCleanerClick()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-tag__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [content]=\"hintController.content\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <tui-svg\n *ngIf=\"iconAlignRight\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </div>\n </div>\n <ng-template #errorIcon>\n <tui-svg src=\"tuiIconAttention\" class=\"t-error-icon\"></tui-svg>\n </ng-template>\n </tui-wrapper>\n</tui-hosted-dropdown>\n",
483
+ template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div *ngIf=\"iconAlignLeft\" class=\"t-icons t-icons_left\">\n <tui-svg class=\"t-icon\" [src]=\"icon\"></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n <tui-scrollbar\n *ngIf=\"!expandable; else items\"\n class=\"t-scrollbar\"\n [hidden]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"items\"></ng-container>\n </tui-scrollbar>\n <ng-template #items>\n <div #tagsContainer class=\"t-tags\">\n <ng-container *ngIf=\"labelOutside; else text\">\n <tui-tag\n *ngFor=\"let item of value; index as index\"\n #tag\n automation-id=\"tui-input-tag__tag\"\n class=\"t-tag\"\n [status]=\"status$ | async\"\n [leftContent]=\"getLeftContent(item)\"\n [allowSpaces]=\"allowSpaces\"\n [tuiFocusable]=\"false\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [removable]=\"!readOnly\"\n [separator]=\"separator\"\n [maxLength]=\"controller.maxLength\"\n [size]=\"controller.size\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft(index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight(index)\"\n ></tui-tag>\n </ng-container>\n <ng-template #text>\n <span\n *ngFor=\"let item of value\"\n class=\"t-text\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [innerText]=\"item\"\n ></span>\n </ng-template>\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n type=\"text\"\n automation-id=\"tui-input-tag__native\"\n class=\"t-native\"\n [placeholder]=\"controller.exampleText\"\n [class.t-native_hidden]=\"inputHidden\"\n [attr.maxLength]=\"controller.maxLength\"\n [id]=\"id\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || inputHidden\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"search\"\n (ngModelChange)=\"onInput($event)\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n />\n </div>\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"hasRightIcons\" class=\"t-icons t-icons_right\">\n <tui-svg\n *ngIf=\"hasCleaner\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-cleaner\"\n (click.stop)=\"onCleanerClick()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-tag__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [content]=\"hintController.content\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <tui-svg\n *ngIf=\"iconAlignRight\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </div>\n </div>\n <ng-template #errorIcon>\n <tui-svg src=\"tuiIconAttention\" class=\"t-error-icon\"></tui-svg>\n </ng-template>\n </tui-wrapper>\n</tui-hosted-dropdown>\n",
477
484
  providers: [
478
485
  {
479
486
  provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
@@ -486,8 +493,9 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
486
493
  FIXED_DROPDOWN_CONTROLLER_PROVIDER,
487
494
  TEXTFIELD_CONTROLLER_PROVIDER,
488
495
  HINT_CONTROLLER_PROVIDER,
496
+ MODE_PROVIDER,
489
497
  ],
490
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .t-content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{transition-property:transform,color,letter-spacing}}.t-cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-cleaner:hover{color:var(--tui-text-02)}:host._disabled .t-cleaner,:host._readonly .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-icon{display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03)}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}.t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .t-icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{cursor:text}:host._expandable{height:auto;max-height:none}:host._disabled{pointer-events:none}:host._readonly{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-scrollbar{margin:0 -.25rem;padding:0 .25rem}.t-tags{display:flex;align-items:center;box-sizing:border-box}:host._expandable .t-tags{flex-wrap:wrap;white-space:normal}:host._readonly .t-tags{pointer-events:none}:host[data-size='s'] .t-tags{min-height:var(--tui-height-s);padding:.25rem .25rem .25rem 0}:host[data-size='m'] .t-tags{min-height:var(--tui-height-m);padding:.5rem .25rem .5rem 0}:host[data-size='l'] .t-tags{min-height:var(--tui-height-l);padding:.625rem .25rem .625rem 0}:host[data-size='m']:not(._label-outside) .t-tags{padding:1.1875rem 1rem 0 0}:host[data-size='l']:not(._label-outside) .t-tags{padding:1.6875rem 1rem .5625rem 0}.t-tags :host[data-size]{-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host[data-size]:not(._label-outside) .t-tags{-webkit-padding-end:1rem;padding-inline-end:1rem}.t-content{align-items:flex-start}.t-icons{display:flex;align-items:center;padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.t-icons_left{padding:0;margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._expandable .t-icons_right{margin:0 0 0 -.625rem;-webkit-margin-start:-.625rem;margin-inline-start:-.625rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-icons{height:var(--tui-height-s)}:host[data-size='m'] .t-icons{height:var(--tui-height-m)}:host[data-size='l'] .t-icons{height:var(--tui-height-l)}.t-absolute-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}:host[data-size='m'] .t-absolute-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-absolute-wrapper{height:var(--tui-height-l)}.t-wrapper{position:relative;padding:0}.t-tag{margin:.125rem .5rem .125rem -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;max-width:100%;flex-shrink:0}.t-text:after{content:',\\00a0'}.t-text_disabled{color:var(--tui-text-03)}.t-text_error{color:var(--tui-negative)}:host:not(._expandable) .t-text{white-space:nowrap}:host:not(._focused) .t-text:last-of-type:after{content:''}.t-input-wrapper{position:relative;flex:1;max-width:100%}.t-input-wrapper_collapsed{flex:0;margin:0 0 0 -.5rem;-webkit-margin-start:-.5rem;margin-inline-start:-.5rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-input-wrapper{min-height:1.5rem}:host[data-size='m'] .t-input-wrapper{min-height:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-size='l'] .t-input-wrapper{min-height:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .t-input-wrapper{min-height:1.25rem}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-width:.125rem}:host:not(._expandable) .t-ghost{min-width:2rem}.t-native{border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_hidden{opacity:0;text-indent:-10em}.t-native::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-native::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-native::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-native::placeholder{color:var(--tui-text-03-night)}:host._focused .t-native:not(:read-only)::-ms-input-placeholder{opacity:1}:host._focused .t-native:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-native:not(:read-only)::placeholder{opacity:1}.t-error-icon{display:block;color:var(--tui-error-fill);width:1rem;height:1rem}"]
498
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .t-content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{transition-property:transform,color,letter-spacing}}.t-cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-cleaner:hover{color:var(--tui-text-02)}:host._disabled .t-cleaner,:host._readonly .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-icon{display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03)}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}.t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .t-icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{cursor:text}:host._expandable{height:auto;max-height:none}:host._disabled{pointer-events:none}:host._readonly{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-scrollbar{margin:0 -.25rem;padding:0 .25rem}.t-tags{display:flex;align-items:center;box-sizing:border-box}:host._expandable .t-tags{flex-wrap:wrap;white-space:normal}:host._readonly .t-tags{pointer-events:none}:host[data-size='s'] .t-tags{min-height:var(--tui-height-s);padding:.25rem .25rem .25rem 0}:host[data-size='m'] .t-tags{min-height:var(--tui-height-m);padding:.5rem .25rem .5rem 0}:host[data-size='l'] .t-tags{min-height:var(--tui-height-l);padding:.625rem .25rem .625rem 0}:host[data-size='m']:not(._label-outside) .t-tags{padding:1.1875rem 1rem 0 0}:host[data-size='l']:not(._label-outside) .t-tags{padding:1.6875rem 1rem .5625rem 0}.t-tags :host[data-size]{-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host[data-size]:not(._label-outside) .t-tags{-webkit-padding-end:1rem;padding-inline-end:1rem}.t-content{align-items:flex-start}.t-icons{display:flex;align-items:center;padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.t-icons_left{padding:0;margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._expandable .t-icons_right{margin:0 0 0 -.625rem;-webkit-margin-start:-.625rem;margin-inline-start:-.625rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-icons{height:var(--tui-height-s)}:host[data-size='m'] .t-icons{height:var(--tui-height-m)}:host[data-size='l'] .t-icons{height:var(--tui-height-l)}.t-absolute-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}:host[data-size='m'] .t-absolute-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-absolute-wrapper{height:var(--tui-height-l)}.t-wrapper{position:relative;padding:0}.t-tag{margin:.125rem .5rem .125rem -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;max-width:100%;flex-shrink:0}.t-text:after{content:',\\00a0'}.t-text_disabled{color:var(--tui-text-03)}.t-text_error{color:var(--tui-negative)}:host:not(._expandable) .t-text{white-space:nowrap}:host:not(._focused) .t-text:last-of-type:after{content:''}.t-input-wrapper{position:relative;flex:1;max-width:100%}.t-input-wrapper_collapsed{flex:0;margin:0 0 0 -.5rem;-webkit-margin-start:-.5rem;margin-inline-start:-.5rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-input-wrapper{min-height:1.5rem}:host[data-size='m'] .t-input-wrapper{min-height:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-size='l'] .t-input-wrapper{min-height:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .t-input-wrapper{min-height:1.25rem}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-width:.125rem}:host:not(._expandable) .t-ghost{min-width:2rem}.t-native{border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_hidden{opacity:0;text-indent:-10em}.t-native::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-native::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-native::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-native::placeholder{color:var(--tui-text-03-night)}:host._focused .t-native:not(:read-only)::-ms-input-placeholder{opacity:1}:host._focused .t-native:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-native:not(:read-only)::placeholder{opacity:1}.t-error-icon{display:block;color:var(--tui-error-fill);width:1rem;height:1rem}"]
491
499
  }),
492
500
  __param(0, Optional()),
493
501
  __param(0, Self()),
@@ -498,14 +506,15 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
498
506
  __param(4, Inject(TUI_TEXTFIELD_APPEARANCE)),
499
507
  __param(5, Optional()),
500
508
  __param(5, Inject(TuiModeDirective)),
501
- __param(6, Inject(TUI_TAG_STATUS)),
502
- __param(7, Inject(TUI_HINT_WATCHED_CONTROLLER)),
503
- __param(8, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
504
- __param(9, Inject(TUI_INPUT_TAG_OPTIONS)),
505
- __param(10, Optional()),
506
- __param(10, Inject(TuiHostedDropdownComponent))
509
+ __param(6, Inject(TUI_MODE)),
510
+ __param(7, Inject(TUI_TAG_STATUS)),
511
+ __param(8, Inject(TUI_HINT_WATCHED_CONTROLLER)),
512
+ __param(9, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
513
+ __param(10, Inject(TUI_INPUT_TAG_OPTIONS)),
514
+ __param(11, Optional()),
515
+ __param(11, Inject(TuiHostedDropdownComponent))
507
516
  ], TuiInputTagComponent);
508
517
  return TuiInputTagComponent;
509
518
  }(AbstractTuiMultipleControl));
510
519
  export { TuiInputTagComponent };
511
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHdCQUF3QixFQUN4Qiw2QkFBNkIsRUFDN0Isa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIsZ0NBQWdDLEVBQ2hDLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFN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TSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3RCLFdBQUEsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7UUFFbkMsV0FBQSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUV4QyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBRTdCLFlBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixZQUFBLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO09Bckg5QixvQkFBb0IsQ0EwYmhDO0lBQUQsMkJBQUM7Q0FBQSxBQTFiRCxDQUNZLDBCQUEwQixHQXlickM7U0ExYlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIEFMV0FZU19UUlVFX0hBTkRMRVIsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgZ2V0QWN0dWFsVGFyZ2V0LFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHByZXZlbnREZWZhdWx0LFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpU2Nyb2xsU2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpSG9yaXpvbnRhbERpcmVjdGlvbixcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxuICAgIFR1aVNjcm9sbGJhckNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtBTExPV0VEX1NQQUNFX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RBR19TVEFUVVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpU3RhdHVzVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9UQUdfT1BUSU9OUywgVHVpSW5wdXRUYWdPcHRpb25zfSBmcm9tICcuL2lucHV0LXRhZy1vcHRpb25zJztcblxuY29uc3QgRVZFTlRfWV9UT19YX0NPRUZGSUNJRU5UID0gMztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtdGFnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGFnLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRhZy5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0VGFnQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxzdHJpbmc+XG57XG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFnc0NvbnRhaW5lcicpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzQ29udGFpbmVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkcmVuKCd0YWcnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKCdjbGVhbmVyJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xlYW5lclN2Zz86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbEJhcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb1N0YXJ0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb0VuZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLy8gVE9ETzogUmVtb3ZlIGluIDMuMFxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd1NwYWNlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VwYXJhdG9yOiBzdHJpbmcgfCBSZWdFeHAgPSB0aGlzLm9wdGlvbnMuc2VwYXJhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb24gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSAncmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0YWdWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSBBTFdBWVNfVFJVRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRhYmxlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlucHV0SGlkZGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5pcXVlVGFncyA9IHRoaXMub3B0aW9ucy51bmlxdWVUYWdzO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZyB8IFR1aVN0cmluZ2lmaWFibGVJdGVtPGFueT4+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoJ3BzZXVkb0ZvY3VzZWQnKVxuICAgIHNldCBwc2V1ZG9Gb2N1c2VkU2V0dGVyKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wc2V1ZG9Gb2N1c2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKCdlcnJvckljb24nKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8e30+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXRpb24oc2Nyb2xsZXIpO1xuICAgIH1cblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVHVpU2Nyb2xsU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSB0dWlTY3JvbGxTZXJ2aWNlOiBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFKSByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlRGlyZWN0aXZlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEFHX1NUQVRVUykgcHJpdmF0ZSByZWFkb25seSB0YWdTdGF0dXM6IFR1aVN0YXR1c1QsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX1RBR19PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGFnT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnRIb3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgISF0aGlzLmhvc3RlZERyb3Bkb3duPy5mb2N1c2VkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sYWJlbC1vdXRzaWRlJylcbiAgICBnZXQgbGFiZWxPdXRzaWRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c2l6ZSwgbGFiZWxPdXRzaWRlfSA9IHRoaXMuY29udHJvbGxlcjtcblxuICAgICAgICByZXR1cm4gc2l6ZSA9PT0gJ3MnIHx8IGxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5jbGVhbmVyICYmIHRoaXMuaGFzVmFsdWUgJiYgdGhpcy5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzTmF0aXZlVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VhcmNoO1xuICAgIH1cblxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZS5sZW5ndGggfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5sYWJlbE91dHNpZGUgfHxcbiAgICAgICAgICAgICghdGhpcy5oYXNWYWx1ZSAmJiAoIXRoaXMuaGFzRXhhbXBsZVRleHQgfHwgdGhpcy5pbnB1dEhpZGRlbikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubGFiZWxPdXRzaWRlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNFeGFtcGxlVGV4dCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5jb250cm9sbGVyLmV4YW1wbGVUZXh0ICYmXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludENvbnRyb2xsZXIuY29udGVudCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAnbGVmdCc7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmljb24gJiYgdGhpcy5pY29uQWxpZ24gPT09ICdyaWdodCc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1JpZ2h0SWNvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NsZWFuZXIgfHwgdGhpcy5oYXNUb29sdGlwIHx8IHRoaXMuaWNvbkFsaWduUmlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBUdWlTdGF0dXNUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZSAmJiB0aGlzLm1vZGVEaXJlY3RpdmUubW9kZSA/ICdkZWZhdWx0JyA6IHRoaXMudGFnU3RhdHVzO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgZ2V0TGVmdENvbnRlbnQodGFnOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRhZ1ZhbGlkYXRvcih0YWcpICYmIHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgID8gdGhpcy5lcnJvckljb25UZW1wbGF0ZVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBvbkNsZWFuZXJDbGljaygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnBhcmVudEhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKHRydWUpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuXG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0ID0gZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICBhY3R1YWxUYXJnZXQgPT09IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICAgICAgIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSB8fFxuICAgICAgICAgICAgKHRoaXMuY2xlYW5lclN2ZyAmJiB0aGlzLmNsZWFuZXJTdmcubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB8fFxuICAgICAgICAgICAgKHRoaXMudGFnc0NvbnRhaW5lciAmJlxuICAgICAgICAgICAgICAgIGFjdHVhbFRhcmdldCAhPT0gdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ3NDb250YWluZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhhY3R1YWxUYXJnZXQpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duQmFja3NwYWNlKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbE91dHNpZGUgJiYgIXRoaXMuaGFzTmF0aXZlVmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlTGFzdEVuYWJsZWRJdGVtKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uRmllbGRLZXlEb3duQXJyb3dMZWZ0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duQXJyb3dMZWZ0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbE91dHNpZGUgfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZSB8fCAhdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy50YWdzLmxhc3QubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25FbnRlcigpIHtcbiAgICAgICAgdGhpcy5hZGRUYWcoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VuZCQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uVGFnS2V5RG93bkFycm93TGVmdChjdXJyZW50SW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd1JpZ2h0KGN1cnJlbnRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdFZGl0ZWQodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAubWFwKCh0YWcsIHRhZ0luZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICB0YWdJbmRleCAhPT0gaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhpcy5zZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKHRhZyA9PiB0YWcudHJpbSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnJlZHVjZTxzdHJpbmdbXT4oXG4gICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW06IHN0cmluZyB8IHN0cmluZ1tdKSA9PiByZXN1bHQuY29uY2F0KGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLmNvbmNhdChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRW5kJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5hbGxvd1NwYWNlc1xuICAgICAgICAgICAgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKSB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0KCk7XG5cbiAgICAgICAgc3VwZXIudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICBpdGVtID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy51bmlxdWVUYWdzIHx8ICghIWl0ZW0gJiYgIXNlZW4uaGFzKGl0ZW0pICYmIHNlZW4uYWRkKGl0ZW0pKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnJldmVyc2UoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXg6IG51bWJlciwgZmxhZzogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHRhZyA9IHRoaXMudGFncy5maW5kKChfaXRlbSwgaW5kZXgpID0+IGluZGV4ID09PSBjdXJyZW50SW5kZXggKyBmbGFnKTtcblxuICAgICAgICBpZiAoIXRhZyB8fCAhdGhpcy5zY3JvbGxCYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGFnLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZsYWcgKiB0aGlzLnNjcm9sbEJhci5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC1cbiAgICAgICAgICAgICAgICBmbGFnICogdGFnLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtXG4gICAgICAgICAgICAgICAgdGFnLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggPFxuICAgICAgICAgICAgMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsQmFyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPVxuICAgICAgICAgICAgICAgIGZsYWcgKiB0YWcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNjcm9sbGVyU3Vic2NyaXRpb24oc2Nyb2xsZXI6IFR1aVNjcm9sbGJhckNvbXBvbmVudCB8IG51bGwpIHtcbiAgICAgICAgaWYgKCFzY3JvbGxlciB8fCAhc2Nyb2xsZXIuYnJvd3NlclNjcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gc2Nyb2xsZXIuYnJvd3NlclNjcm9sbFJlZjtcblxuICAgICAgICBjb25zdCB3aGVlbCQgPSB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnd2hlZWwnLCB7cGFzc2l2ZTogZmFsc2V9KS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LmRlbHRhWCA9PT0gMCAmJiB0aGlzLnNob3VsZFNjcm9sbChuYXRpdmVFbGVtZW50KSksXG4gICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgbWFwKCh7ZGVsdGFZfSkgPT5cbiAgICAgICAgICAgICAgICBNYXRoLm1heChuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyBkZWx0YVkgKiBFVkVOVF9ZX1RPX1hfQ09FRkZJQ0lFTlQsIDApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc3RhcnQkID0gdGhpcy5zY3JvbGxUb1N0YXJ0JC5waXBlKG1hcFRvKDApKTtcbiAgICAgICAgY29uc3QgZW5kJCA9IHRoaXMuc2Nyb2xsVG9FbmQkLnBpcGUobWFwKCgpID0+IG5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGgpKTtcblxuICAgICAgICBtZXJnZSh3aGVlbCQsIHN0YXJ0JCwgZW5kJClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChsZWZ0ID0+IHRoaXMudHVpU2Nyb2xsU2VydmljZS5zY3JvbGwkKG5hdGl2ZUVsZW1lbnQsIDAsIGxlZnQpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWFyY2godmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2ggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG91bGRTY3JvbGwoe3Njcm9sbFdpZHRoLCBvZmZzZXRXaWR0aH06IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBzY3JvbGxXaWR0aCA+IG9mZnNldFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVGFnKCkge1xuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gdGhpcy5zZWFyY2gudHJpbSgpO1xuXG4gICAgICAgIGlmICghaW5wdXRWYWx1ZSB8fCB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIoaW5wdXRWYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLmNvbmNhdChpbnB1dFZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWxldGVMYXN0RW5hYmxlZEl0ZW0oKSB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gdGhpcy52YWx1ZS5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcih0aGlzLnZhbHVlW2luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy52YWx1ZS5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMudmFsdWUuc2xpY2UoaW5kZXggKyAxLCB0aGlzLnZhbHVlLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsIHRydWUsIHByZXZlbnRTY3JvbGwpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
520
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FB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QSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDeEIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUNoQyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUV4QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUVoQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUN0QixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBRW5DLFdBQUEsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFeEMsWUFBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUU3QixZQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsWUFBQSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtPQTNIOUIsb0JBQW9CLENBb2NoQztJQUFELDJCQUFDO0NBQUEsQUFwY0QsQ0FDWSwwQkFBMEIsR0FtY3JDO1NBcGNZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIGdldEFjdHVhbFRhcmdldCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBwcmV2ZW50RGVmYXVsdCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIaW50Q29udHJvbGxlckRpcmVjdGl2ZSxcbiAgICBUdWlIb3Jpem9udGFsRGlyZWN0aW9uLFxuICAgIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG4gICAgVHVpU2Nyb2xsYmFyQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU3RyaW5naWZpYWJsZUl0ZW19IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge0FMTE9XRURfU1BBQ0VfUkVHRVhQfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFnJztcbmltcG9ydCB7RklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfVEFHX1NUQVRVU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlTdGF0dXNUfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgbWFwVG8sIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX1RBR19PUFRJT05TLCBUdWlJbnB1dFRhZ09wdGlvbnN9IGZyb20gJy4vaW5wdXQtdGFnLW9wdGlvbnMnO1xuXG5jb25zdCBFVkVOVF9ZX1RPX1hfQ09FRkZJQ0lFTlQgPSAzO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC10YWcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10YWcudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGFnLnN0eWxlLmxlc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFRhZ0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIEZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRUYWdDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sPHN0cmluZz5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PHN0cmluZz5cbntcbiAgICBAVmlld0NoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdGVkRHJvcGRvd24/OiBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoJ2ZvY3VzYWJsZUVsZW1lbnQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNhYmxlRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCd0YWdzQ29udGFpbmVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhZ3NDb250YWluZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhZycsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhZ3M6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NsZWFuZXInLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGVhbmVyU3ZnPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFR1aVNjcm9sbGJhckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsQmFyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFRvU3RhcnQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFRvRW5kJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvLyBUT0RPOiBSZW1vdmUgaW4gMy4wXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFsbG93U3BhY2VzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXBhcmF0b3I6IHN0cmluZyB8IFJlZ0V4cCA9IHRoaXMub3B0aW9ucy5zZXBhcmF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWNvbiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25BbGlnbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9ICdyaWdodCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRhZ1ZhbGlkYXRvcjogVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nPiA9IEFMV0FZU19UUlVFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGFibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhwYW5kYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaW5wdXRIaWRkZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB1bmlxdWVUYWdzID0gdGhpcy5vcHRpb25zLnVuaXF1ZVRhZ3M7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nIHwgVHVpU3RyaW5naWZpYWJsZUl0ZW08YW55Pj4gPVxuICAgICAgICBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgncHNldWRvRm9jdXNlZCcpXG4gICAgc2V0IHBzZXVkb0ZvY3VzZWRTZXR0ZXIodmFsdWU6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgIGlmICghdmFsdWUgJiYgIXRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxUb1N0YXJ0JC5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBzZXVkb0ZvY3VzZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUZW1wbGF0ZVJlZjxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2Vycm9ySWNvbicpXG4gICAgcmVhZG9ubHkgZXJyb3JJY29uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7fT47XG5cbiAgICBAVmlld0NoaWxkKFR1aVNjcm9sbGJhckNvbXBvbmVudClcbiAgICBzZXQgc2Nyb2xsZXJTZXR0ZXIoc2Nyb2xsZXI6IFR1aVNjcm9sbGJhckNvbXBvbmVudCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5pbml0U2Nyb2xsZXJTdWJzY3JpdGlvbihzY3JvbGxlcik7XG4gICAgfVxuXG4gICAgc3RhdHVzJDogT2JzZXJ2YWJsZTxUdWlTdGF0dXNUPiA9IHRoaXMubW9kZSQucGlwZShcbiAgICAgICAgbWFwKG1vZGUgPT4gKG1vZGUgPyAnZGVmYXVsdCcgOiB0aGlzLnRhZ1N0YXR1cykpLFxuICAgICk7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVNjcm9sbFNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgdHVpU2Nyb2xsU2VydmljZTogVHVpU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSkgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9UQUdfU1RBVFVTKSBwcml2YXRlIHJlYWRvbmx5IHRhZ1N0YXR1czogVHVpU3RhdHVzVCxcbiAgICAgICAgQEluamVjdChUVUlfSElOVF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGhpbnRDb250cm9sbGVyOiBUdWlIaW50Q29udHJvbGxlckRpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfVEFHX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRUYWdPcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudEhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAhIXRoaXMuaG9zdGVkRHJvcGRvd24/LmZvY3VzZWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xhYmVsLW91dHNpZGUnKVxuICAgIGdldCBsYWJlbE91dHNpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtzaXplLCBsYWJlbE91dHNpZGV9ID0gdGhpcy5jb250cm9sbGVyO1xuXG4gICAgICAgIHJldHVybiBzaXplID09PSAncycgfHwgbGFiZWxPdXRzaWRlO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmNsZWFuZXIgJiYgdGhpcy5oYXNWYWx1ZSAmJiB0aGlzLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBoYXNOYXRpdmVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zZWFyY2g7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlLmxlbmd0aCB8fCB0aGlzLmhhc05hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmxhYmVsT3V0c2lkZSB8fFxuICAgICAgICAgICAgKCF0aGlzLmhhc1ZhbHVlICYmICghdGhpcy5oYXNFeGFtcGxlVGV4dCB8fCB0aGlzLmlucHV0SGlkZGVuKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJSYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5sYWJlbE91dHNpZGUgJiZcbiAgICAgICAgICAgICgodGhpcy5jb21wdXRlZEZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHkpIHx8IHRoaXMuaGFzVmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0V4YW1wbGVUZXh0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmNvbnRyb2xsZXIuZXhhbXBsZVRleHQgJiZcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmXG4gICAgICAgICAgICAhdGhpcy5oYXNWYWx1ZSAmJlxuICAgICAgICAgICAgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oaW50Q29udHJvbGxlci5jb250ZW50ICYmICF0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBpY29uQWxpZ25MZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmljb24gJiYgdGhpcy5pY29uQWxpZ24gPT09ICdsZWZ0JztcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaWNvbiAmJiB0aGlzLmljb25BbGlnbiA9PT0gJ3JpZ2h0JztcbiAgICB9XG5cbiAgICBnZXQgaGFzUmlnaHRJY29ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2xlYW5lciB8fCB0aGlzLmhhc1Rvb2x0aXAgfHwgdGhpcy5pY29uQWxpZ25SaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZDogdXNlIGBzdGF0dXMkIHwgYXN5bmNgIGluc3RlYWRcbiAgICAgKiBUT0RPOiByZW1vdmUgaW4gdjMuMFxuICAgICAqL1xuICAgIGdldCBzdGF0dXMoKTogVHVpU3RhdHVzVCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVEaXJlY3RpdmUgJiYgdGhpcy5tb2RlRGlyZWN0aXZlLm1vZGUgPyAnZGVmYXVsdCcgOiB0aGlzLnRhZ1N0YXR1cztcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgJiYgISF0aGlzLmRhdGFsaXN0O1xuICAgIH1cblxuICAgIGdldExlZnRDb250ZW50KHRhZzogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiAhdGhpcy50YWdWYWxpZGF0b3IodGFnKSAmJiB0aGlzLmVycm9ySWNvblRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgb25DbGVhbmVyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy5wYXJlbnRIb3N0ZWREcm9wZG93bj8udXBkYXRlT3Blbih0cnVlKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkZFRhZygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29tcHV0ZWRGb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvU3RhcnQkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFRhcmdldCA9IGdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgYWN0dWFsVGFyZ2V0ID09PSB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudCB8fFxuICAgICAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgICAgICEoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCkgfHxcbiAgICAgICAgICAgICh0aGlzLmNsZWFuZXJTdmcgJiYgdGhpcy5jbGVhbmVyU3ZnLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkgfHxcbiAgICAgICAgICAgICh0aGlzLnRhZ3NDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICBhY3R1YWxUYXJnZXQgIT09IHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0dWFsVGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkJhY2tzcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlICYmICF0aGlzLmhhc05hdGl2ZVZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlIHx8IHRoaXMuaGFzTmF0aXZlVmFsdWUgfHwgIXRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMudGFncy5sYXN0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duRW50ZXIoKSB7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbmQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd0xlZnQoY3VycmVudEluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMub25TY3JvbGxLZXlEb3duKGN1cnJlbnRJbmRleCwgLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdLZXlEb3duQXJyb3dSaWdodChjdXJyZW50SW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFnRWRpdGVkKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB0aGlzLnZhbHVlXG4gICAgICAgICAgICAgICAgLm1hcCgodGFnLCB0YWdJbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGFnSW5kZXggIT09IGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KHRoaXMuc2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCh0YWcgPT4gdGFnLnRyaW0oKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2U8c3RyaW5nW10+KFxuICAgICAgICAgICAgICAgICAgICAocmVzdWx0LCBpdGVtOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gcmVzdWx0LmNvbmNhdChpdGVtKSxcbiAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24oaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZS5jb25jYXQoaXRlbSkpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VuZCQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uSW5wdXQodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhcnJheSA9IHRoaXMuYWxsb3dTcGFjZXNcbiAgICAgICAgICAgID8gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IpXG4gICAgICAgICAgICA6IHZhbHVlLnNwbGl0KEFMTE9XRURfU1BBQ0VfUkVHRVhQKTtcbiAgICAgICAgY29uc3QgdGFncyA9IGFycmF5XG4gICAgICAgICAgICAubWFwKGl0ZW0gPT4gaXRlbS50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtLCBpbmRleCwge2xlbmd0aH0pID0+IGl0ZW0ubGVuZ3RoID4gMCAmJiBpbmRleCAhPT0gbGVuZ3RoIC0gMSk7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZCA9IHRhZ3MuZmlsdGVyKHRhZyA9PiAhdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRhZykpO1xuXG4gICAgICAgIGlmIChhcnJheS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChhcnJheVthcnJheS5sZW5ndGggLSAxXS50cmltKCkpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbLi4udGhpcy52YWx1ZSwgLi4udmFsaWRhdGVkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wZW4gPSB0aGlzLmhhc05hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZENoYW5nZShob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCkge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQoKTtcblxuICAgICAgICBzdXBlci51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0gPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLnVuaXF1ZVRhZ3MgfHwgKCEhaXRlbSAmJiAhc2Vlbi5oYXMoaXRlbSkgJiYgc2Vlbi5hZGQoaXRlbSkpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TY3JvbGxLZXlEb3duKGN1cnJlbnRJbmRleDogbnVtYmVyLCBmbGFnOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdGFnID0gdGhpcy50YWdzLmZpbmQoKF9pdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGN1cnJlbnRJbmRleCArIGZsYWcpO1xuXG4gICAgICAgIGlmICghdGFnIHx8ICF0aGlzLnNjcm9sbEJhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0YWcubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZmxhZyAqIHRoaXMuc2Nyb2xsQmFyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgICAgIGZsYWcgKiB0YWcubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC1cbiAgICAgICAgICAgICAgICB0YWcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA8XG4gICAgICAgICAgICAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICs9XG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2Nyb2xsZXJTdWJzY3JpdGlvbihzY3JvbGxlcjogVHVpU2Nyb2xsYmFyQ29tcG9uZW50IHwgbnVsbCkge1xuICAgICAgICBpZiAoIXNjcm9sbGVyIHx8ICFzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmO1xuXG4gICAgICAgIGNvbnN0IHdoZWVsJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd3aGVlbCcsIHtwYXNzaXZlOiBmYWxzZX0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQuZGVsdGFYID09PSAwICYmIHRoaXMuc2hvdWxkU2Nyb2xsKG5hdGl2ZUVsZW1lbnQpKSxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICBtYXAoKHtkZWx0YVl9KSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGRlbHRhWSAqIEVWRU5UX1lfVE9fWF9DT0VGRklDSUVOVCwgMCksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdGFydCQgPSB0aGlzLnNjcm9sbFRvU3RhcnQkLnBpcGUobWFwVG8oMCkpO1xuICAgICAgICBjb25zdCBlbmQkID0gdGhpcy5zY3JvbGxUb0VuZCQucGlwZShtYXAoKCkgPT4gbmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCkpO1xuXG4gICAgICAgIG1lcmdlKHdoZWVsJCwgc3RhcnQkLCBlbmQkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGxlZnQgPT4gdGhpcy50dWlTY3JvbGxTZXJ2aWNlLnNjcm9sbCQobmF0aXZlRWxlbWVudCwgMCwgbGVmdCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZFNjcm9sbCh7c2Nyb2xsV2lkdGgsIG9mZnNldFdpZHRofTogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNjcm9sbFdpZHRoID4gb2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUYWcoKSB7XG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLnNlYXJjaC50cmltKCk7XG5cbiAgICAgICAgaWYgKCFpbnB1dFZhbHVlIHx8IHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcihpbnB1dFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGlucHV0VmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLnZhbHVlLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRoaXMudmFsdWVbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy52YWx1ZS5zbGljZShpbmRleCArIDEsIHRoaXMudmFsdWUubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -300,4 +300,4 @@ var TuiInputTimeComponent = /** @class */ (function (_super) {
300
300
  return TuiInputTimeComponent;
301
301
  }(AbstractTuiNullableControl));
302
302
  export { TuiInputTimeComponent };
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS8iLCJzb3VyY2VzIjpbImlucHV0LXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixrQkFBa0IsRUFFbEIsY0FBYyxFQUVkLE9BQU8sRUFDUCxPQUFPLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDhCQUE4QixFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLGlCQUFpQixHQUNwQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxzQkFBc0IsRUFBc0IsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRixXQUFXO0FBY1g7SUFDWSx5Q0FBbUM7SUFnQzNDLCtCQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLFVBQW1ELEVBRW5ELE9BQTRCO1FBVGpELFlBV0ksa0JB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O0lBSWxFO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3lEQUNGO0lBSWY7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7dURBQ3FDO0lBSXREO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzBEQUM4QztJQXlFL0Q7UUFEQyxPQUFPOzJEQUdQO0lBR0Q7UUFEQyxZQUFZLENBQUMsT0FBTyxDQUFDO3dEQUdyQjtJQXNGRDtRQURDLE9BQU87OERBT1A7SUFHRDtRQURDLE9BQU87dURBT1A7SUFsTlEscUJBQXFCO1FBYmpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsdW5EQUF5QztZQUV6QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7aUJBQ3ZEO2dCQUNELGtDQUFrQzthQUNyQzs7U0FDSixDQUFDO1FBbUNPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV0QixXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO09BekMxQixxQkFBcUIsQ0F1UmpDO0lBQUQsNEJBQUM7Q0FBQSxBQXZSRCxDQUNZLDBCQUEwQixHQXNSckM7U0F2UlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfU1RSSUNUX01BVENIRVIsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpVGltZSxcbiAgICBUdWlUaW1lTGlrZSxcbiAgICBUdWlUaW1lTW9kZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCwgVHVpVGV4dE1hc2tPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RJTUVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZFRpbWVQaXBlLFxuICAgIHR1aUNyZWF0ZVRpbWVNYXNrLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL21hc2snO1xuaW1wb3J0IHtUZXh0TWFza0NvbmZpZ30gZnJvbSAnYW5ndWxhcjItdGV4dC1tYXNrJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9USU1FX09QVElPTlMsIFR1aUlucHV0VGltZU9wdGlvbnN9IGZyb20gJy4vaW5wdXQtdGltZS1vcHRpb25zJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXRpbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10aW1lLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRpbWUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFRpbWVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0VGltZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpVGltZT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aVRpbWU+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8VHVpVGltZT4gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtU2l6ZTogVHVpSW5wdXRUaW1lT3B0aW9uc1snaXRlbVNpemUnXSA9IHRoaXMub3B0aW9ucy5pdGVtU2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpY3QgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb2RlOiBUdWlJbnB1dFRpbWVPcHRpb25zWydtb2RlJ10gPSB0aGlzLm9wdGlvbnMubW9kZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4OiBUdWlJbnB1dFRpbWVPcHRpb25zWydwb3N0Zml4J10gPSB0aGlzLm9wdGlvbnMucG9zdGZpeDtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RJTUVfVEVYVFMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGltZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8VHVpVGltZU1vZGUsIHN0cmluZz4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9USU1FX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRUaW1lT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgZmlsdGVyZWQoKTogUmVhZG9ubHlBcnJheTxUdWlUaW1lPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcih0aGlzLml0ZW1zLCB0aGlzLm1vZGUsIHRoaXMuY29tcHV0ZWRTZWFyY2gpO1xuICAgIH1cblxuICAgIGdldCB0ZXh0TWFza09wdGlvbnMoKTogVGV4dE1hc2tDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy5tb2RlLFxuICAgICAgICApIGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS50b1N0cmluZyh0aGlzLm1vZGUpIDogdGhpcy5uYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRTZWFyY2goKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRWYWx1ZS5sZW5ndGggIT09IHRoaXMubW9kZS5sZW5ndGggPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaW5uZXJQc2V1ZG9Gb2N1c2VkKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMucHNldWRvRm9jdXNlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wZW4gfHwgdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGljb24oKTogVHVpSW5wdXRUaW1lT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0RmlsbGVyJChtb2RlOiBUdWlUaW1lTW9kZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpbWVUZXh0cyQucGlwZShtYXAodGV4dHMgPT4gdGV4dHNbbW9kZV0pKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gISF0aGlzLml0ZW1zLmxlbmd0aDtcblxuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF0Y2ggPSB0aGlzLmdldE1hdGNoKHZhbHVlKTtcblxuICAgICAgICBpZiAobWF0Y2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShtYXRjaCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IHRoaXMubW9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5zdHJpY3QgPyB0aGlzLmZpbmROZWFyZXN0VGltZUZyb21JdGVtcyh0aW1lKSA6IHRpbWUpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBmb2N1c2VkIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID09PSAnJyB8fFxuICAgICAgICAgICAgdGhpcy5tb2RlID09PSAnSEg6TU0nXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyc2VkVGltZSA9IFR1aVRpbWUuZnJvbVN0cmluZyh0aGlzLm5hdGl2ZVZhbHVlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHBhcnNlZFRpbWUpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoJy4nKSB8fCB0aGlzLm5hdGl2ZVZhbHVlLmVuZHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5uYXRpdmVWYWx1ZS5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NBcnJvdyhldmVudCwgMSk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NBcnJvdyhldmVudCwgLTEpO1xuICAgIH1cblxuICAgIG9uTWVudUNsaWNrKGl0ZW06IFR1aVRpbWUpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbSk7XG4gICAgfVxuXG4gICAgb25PcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUdWlUaW1lIHwgbnVsbCkge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2sobW9kZTogVHVpVGltZU1vZGUpOiBUdWlUZXh0TWFza09wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFzazogdHVpQ3JlYXRlVGltZU1hc2sobW9kZSwgdGhpcy5vcHRpb25zLm1heFZhbHVlcyksXG4gICAgICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkVGltZVBpcGUobW9kZSwgdGhpcy5vcHRpb25zLm1heFZhbHVlcyksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlcihcbiAgICAgICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8VHVpVGltZT4sXG4gICAgICAgIG1vZGU6IFR1aVRpbWVNb2RlLFxuICAgICAgICBzZWFyY2g6IHN0cmluZyxcbiAgICApOiBSZWFkb25seUFycmF5PFR1aVRpbWU+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0udG9TdHJpbmcobW9kZSkuaW5jbHVkZXMoc2VhcmNoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kTmVhcmVzdFRpbWVGcm9tSXRlbXModmFsdWU6IFR1aVRpbWUpOiBUdWlUaW1lIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+XG4gICAgICAgICAgICBNYXRoLmFicyhjdXJyZW50LnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSAtIHZhbHVlLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSkgPFxuICAgICAgICAgICAgTWF0aC5hYnMocHJldmlvdXMudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpIC0gdmFsdWUudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpKVxuICAgICAgICAgICAgICAgID8gY3VycmVudFxuICAgICAgICAgICAgICAgIDogcHJldmlvdXMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXRjaCh2YWx1ZTogc3RyaW5nKTogVHVpVGltZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PiBUVUlfU1RSSUNUX01BVENIRVIoaXRlbSwgdmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NBcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCwgc2hpZnQ6IC0xIHwgMSkge1xuICAgICAgICBjb25zdCB7dGFyZ2V0fSA9IGV2ZW50O1xuXG4gICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5IHx8ICEodGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGFyZ2V0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG5cbiAgICAgICAgdGhpcy5zaGlmdFRpbWUodGhpcy5jYWxjdWxhdGVTaGlmdChzZWxlY3Rpb25TdGFydCwgc2hpZnQpKTtcblxuICAgICAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVNoaWZ0KHNlbGVjdGlvblN0YXJ0OiBudW1iZXIsIHNoaWZ0OiBudW1iZXIpOiBUdWlUaW1lTGlrZSB7XG4gICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA8PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4ge2hvdXJzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gNSkge1xuICAgICAgICAgICAgcmV0dXJuIHttaW51dGVzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gOCkge1xuICAgICAgICAgICAgcmV0dXJuIHtzZWNvbmRzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge21zOiBzaGlmdH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdFRpbWUoc2hpZnQ6IFR1aVRpbWVMaWtlKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmNyZWFzZWRUaW1lID0gdGhpcy52YWx1ZS5zaGlmdChzaGlmdCk7XG5cbiAgICAgICAgLy8gTWFudWFsIHVwZGF0ZSBzbyB3ZSBjYW4gc2V0IGNhcmV0IHBvc2l0aW9uIHByb3Blcmx5XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBpbmNyZWFzZWRUaW1lLnRvU3RyaW5nKHRoaXMubW9kZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaW5jcmVhc2VkVGltZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS8iLCJzb3VyY2VzIjpbImlucHV0LXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixrQkFBa0IsRUFFbEIsY0FBYyxFQUVkLE9BQU8sRUFDUCxPQUFPLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDhCQUE4QixFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLGlCQUFpQixHQUNwQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxzQkFBc0IsRUFBc0IsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRixXQUFXO0FBY1g7SUFDWSx5Q0FBbUM7SUFnQzNDLCtCQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLFVBQW1ELEVBRW5ELE9BQTRCO1FBVGpELFlBV0ksa0JB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SUFJbEU7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7eURBQ0Y7SUFJZjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTt1REFDcUM7SUFJdEQ7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7MERBQzhDO0lBeUUvRDtRQURDLE9BQU87MkRBR1A7SUFHRDtRQURDLFlBQVksQ0FBQyxPQUFPLENBQUM7d0RBR3JCO0lBc0ZEO1FBREMsT0FBTzs4REFPUDtJQUdEO1FBREMsT0FBTzt1REFPUDtJQWxOUSxxQkFBcUI7UUFiakMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQix1bkRBQXlDO1lBRXpDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsMkJBQTJCO29CQUNwQyxXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx1QkFBcUIsRUFBckIsQ0FBcUIsQ0FBQztpQkFDdkQ7Z0JBQ0Qsa0NBQWtDO2FBQ3JDOztTQUNKLENBQUM7UUFtQ08sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBRXRCLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7T0F6QzFCLHFCQUFxQixDQXVSakM7SUFBRCw0QkFBQztDQUFBLEFBdlJELENBQ1ksMEJBQTBCLEdBc1JyQztTQXZSWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFRVSV9TVFJJQ1RfTUFUQ0hFUixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlUaW1lLFxuICAgIFR1aVRpbWVMaWtlLFxuICAgIFR1aVRpbWVNb2RlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LCBUdWlUZXh0TWFza09wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7RklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfVElNRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkVGltZVBpcGUsXG4gICAgdHVpQ3JlYXRlVGltZU1hc2ssXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWFzayc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX1RJTUVfT1BUSU9OUywgVHVpSW5wdXRUaW1lT3B0aW9uc30gZnJvbSAnLi9pbnB1dC10aW1lLW9wdGlvbnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtdGltZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRpbWUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGltZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGltZUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIEZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRUaW1lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlUaW1lPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpVGltZT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogcmVhZG9ubHkgVHVpVGltZVtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbVNpemU6IFR1aUlucHV0VGltZU9wdGlvbnNbJ2l0ZW1TaXplJ10gPSB0aGlzLm9wdGlvbnMuaXRlbVNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RyaWN0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9kZTogVHVpSW5wdXRUaW1lT3B0aW9uc1snbW9kZSddID0gdGhpcy5vcHRpb25zLm1vZGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeDogVHVpSW5wdXRUaW1lT3B0aW9uc1sncG9zdGZpeCddID0gdGhpcy5vcHRpb25zLnBvc3RmaXg7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9USU1FX1RFWFRTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpbWVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aVRpbWVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfVElNRV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGltZU9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGZpbHRlcmVkKCk6IHJlYWRvbmx5IFR1aVRpbWVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcih0aGlzLml0ZW1zLCB0aGlzLm1vZGUsIHRoaXMuY29tcHV0ZWRTZWFyY2gpO1xuICAgIH1cblxuICAgIGdldCB0ZXh0TWFza09wdGlvbnMoKTogVGV4dE1hc2tDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy5tb2RlLFxuICAgICAgICApIGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS50b1N0cmluZyh0aGlzLm1vZGUpIDogdGhpcy5uYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRTZWFyY2goKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRWYWx1ZS5sZW5ndGggIT09IHRoaXMubW9kZS5sZW5ndGggPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaW5uZXJQc2V1ZG9Gb2N1c2VkKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMucHNldWRvRm9jdXNlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wZW4gfHwgdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGljb24oKTogVHVpSW5wdXRUaW1lT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0RmlsbGVyJChtb2RlOiBUdWlUaW1lTW9kZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpbWVUZXh0cyQucGlwZShtYXAodGV4dHMgPT4gdGV4dHNbbW9kZV0pKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gISF0aGlzLml0ZW1zLmxlbmd0aDtcblxuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF0Y2ggPSB0aGlzLmdldE1hdGNoKHZhbHVlKTtcblxuICAgICAgICBpZiAobWF0Y2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShtYXRjaCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IHRoaXMubW9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5zdHJpY3QgPyB0aGlzLmZpbmROZWFyZXN0VGltZUZyb21JdGVtcyh0aW1lKSA6IHRpbWUpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBmb2N1c2VkIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID09PSAnJyB8fFxuICAgICAgICAgICAgdGhpcy5tb2RlID09PSAnSEg6TU0nXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyc2VkVGltZSA9IFR1aVRpbWUuZnJvbVN0cmluZyh0aGlzLm5hdGl2ZVZhbHVlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHBhcnNlZFRpbWUpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoJy4nKSB8fCB0aGlzLm5hdGl2ZVZhbHVlLmVuZHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5uYXRpdmVWYWx1ZS5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NBcnJvdyhldmVudCwgMSk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NBcnJvdyhldmVudCwgLTEpO1xuICAgIH1cblxuICAgIG9uTWVudUNsaWNrKGl0ZW06IFR1aVRpbWUpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbSk7XG4gICAgfVxuXG4gICAgb25PcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUdWlUaW1lIHwgbnVsbCkge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2sobW9kZTogVHVpVGltZU1vZGUpOiBUdWlUZXh0TWFza09wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFzazogdHVpQ3JlYXRlVGltZU1hc2sobW9kZSwgdGhpcy5vcHRpb25zLm1heFZhbHVlcyksXG4gICAgICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkVGltZVBpcGUobW9kZSwgdGhpcy5vcHRpb25zLm1heFZhbHVlcyksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlcihcbiAgICAgICAgaXRlbXM6IHJlYWRvbmx5IFR1aVRpbWVbXSxcbiAgICAgICAgbW9kZTogVHVpVGltZU1vZGUsXG4gICAgICAgIHNlYXJjaDogc3RyaW5nLFxuICAgICk6IHJlYWRvbmx5IFR1aVRpbWVbXSB7XG4gICAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnRvU3RyaW5nKG1vZGUpLmluY2x1ZGVzKHNlYXJjaCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZE5lYXJlc3RUaW1lRnJvbUl0ZW1zKHZhbHVlOiBUdWlUaW1lKTogVHVpVGltZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PlxuICAgICAgICAgICAgTWF0aC5hYnMoY3VycmVudC50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCkgLSB2YWx1ZS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCkpIDxcbiAgICAgICAgICAgIE1hdGguYWJzKHByZXZpb3VzLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSAtIHZhbHVlLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSlcbiAgICAgICAgICAgICAgICA/IGN1cnJlbnRcbiAgICAgICAgICAgICAgICA6IHByZXZpb3VzLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF0Y2godmFsdWU6IHN0cmluZyk6IFR1aVRpbWUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGl0ZW0gPT4gVFVJX1NUUklDVF9NQVRDSEVSKGl0ZW0sIHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzQXJyb3coZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHNoaWZ0OiAtMSB8IDEpIHtcbiAgICAgICAgY29uc3Qge3RhcmdldH0gPSBldmVudDtcblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSB8fCAhKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRhcmdldC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuXG4gICAgICAgIHRoaXMuc2hpZnRUaW1lKHRoaXMuY2FsY3VsYXRlU2hpZnQoc2VsZWN0aW9uU3RhcnQsIHNoaWZ0KSk7XG5cbiAgICAgICAgdGFyZ2V0LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25TdGFydCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVTaGlmdChzZWxlY3Rpb25TdGFydDogbnVtYmVyLCBzaGlmdDogbnVtYmVyKTogVHVpVGltZUxpa2Uge1xuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gMikge1xuICAgICAgICAgICAgcmV0dXJuIHtob3Vyczogc2hpZnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGVjdGlvblN0YXJ0IDw9IDUpIHtcbiAgICAgICAgICAgIHJldHVybiB7bWludXRlczogc2hpZnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGVjdGlvblN0YXJ0IDw9IDgpIHtcbiAgICAgICAgICAgIHJldHVybiB7c2Vjb25kczogc2hpZnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHttczogc2hpZnR9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hpZnRUaW1lKHNoaWZ0OiBUdWlUaW1lTGlrZSkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5jcmVhc2VkVGltZSA9IHRoaXMudmFsdWUuc2hpZnQoc2hpZnQpO1xuXG4gICAgICAgIC8vIE1hbnVhbCB1cGRhdGUgc28gd2UgY2FuIHNldCBjYXJldCBwb3NpdGlvbiBwcm9wZXJseVxuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gaW5jcmVhc2VkVGltZS50b1N0cmluZyh0aGlzLm1vZGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGluY3JlYXNlZFRpbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsIHRydWUsIHByZXZlbnRTY3JvbGwpO1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -169,4 +169,4 @@ var TuiMultiSelectGroupComponent = /** @class */ (function () {
169
169
  return TuiMultiSelectGroupComponent;
170
170
  }());
171
171
  export { TuiMultiSelectGroupComponent };
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsMkJBQTJCLEdBQzlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUVsQixrQkFBa0IsR0FHckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWNuQztJQVFJLHNDQUNpRCxJQUF3QixFQUNqQyxPQUFrQjtRQURULFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFSekMsWUFBTyxHQUFxQyxXQUFXLENBQUM7UUFJekUsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUtSLENBQUM7SUFFSixzQkFBSSw4Q0FBSTthQUFSO1lBQ0ksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUNsRSxDQUFD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RDtRQURDLE9BQU87OERBcUJQO0lBeUJEO1FBREMsT0FBTzs4REFLUDtJQUdEO1FBREMsT0FBTztxRUFLUDtJQUdEO1FBREMsT0FBTzs4REFHUDtJQS9GUSw0QkFBNEI7UUFaeEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9DQUFvQztZQUM5QyxzaEJBQWlEO1lBRWpELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLGFBQWEsRUFBRTtnQkFDWDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsSUFBSTtpQkFDakI7YUFDSjs7U0FDSixDQUFDO1FBVU8sV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMxQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtPQVZiLDRCQUE0QixDQWdHeEM7SUFBRCxtQ0FBQztDQUFBLEFBaEdELElBZ0dDO1NBaEdZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIGdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0LFxuICAgIGlzUHJlc2VudCxcbiAgICBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUsXG4gICAgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJZGVudGl0eU1hdGNoZXIsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXBsYXllZFZhbHVlQ2hhbmdlc0Zyb20sXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aU9wdGlvbkNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplWFMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1vcHQtZ3JvdXBbdHVpTXVsdGlTZWxlY3RHcm91cF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3QtZ3JvdXAudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LWdyb3VwLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9PUFRJT05fQ09OVEVOVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBudWxsLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU11bHRpU2VsZWN0R3JvdXBDb21wb25lbnQ8VD4ge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpT3B0aW9uQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsYWJlbCA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEFfTElTVF9IT1NUKSBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aURhdGFMaXN0SG9zdDxUPixcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICkge31cblxuICAgIGdldCBzaXplKCk6IFR1aVNpemVYUyB8IFR1aVNpemVMIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLm9wdGlvbnMuZmlyc3QgJiYgdGhpcy5vcHRpb25zLmZpcnN0LnNpemUpIHx8ICdtJztcbiAgICB9XG5cbiAgICBnZXQgY2hlY2tib3hTaXplKCk6IFR1aVNpemVMIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maXJzdCAmJiBzaXplQmlnZ2VyKHRoaXMub3B0aW9ucy5maXJzdC5zaXplKSA/ICdsJyA6ICdtJztcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBlbXB0eSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5vcHRpb25zKS5waXBlKG1hcCgoe2xlbmd0aH0pID0+ICFsZW5ndGgpKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBkaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5vcHRpb25zKS5waXBlKFxuICAgICAgICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLmV2ZXJ5KCh7ZGlzYWJsZWR9KSA9PiBkaXNhYmxlZCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IHZhbHVlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMuaXRlbXMkLCB0aGlzLnZhbHVlQ2hhbmdlcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtpdGVtcywgY3VycmVudF0pID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gY3VycmVudC5zb21lKHNlbGVjdGVkID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hdGNoZXIoc2VsZWN0ZWQsIGl0ZW1zW2ldKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoKCFzZWxlY3RlZCAmJiByZXN1bHQpIHx8IChzZWxlY3RlZCAmJiAhcmVzdWx0ICYmIGkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGVjdGVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKGNoZWNrZWQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgIGlmICghdGhpcy5jb250cm9sLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZTogUmVhZG9ubHlBcnJheTxUPiA9IHRoaXMuY29udHJvbC52YWx1ZSB8fCBbXTtcbiAgICAgICAgY29uc3Qge3ZhbHVlc30gPSB0aGlzO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IGNvbnRyb2xWYWx1ZS5maWx0ZXIoY3VycmVudCA9PlxuICAgICAgICAgICAgdmFsdWVzLmV2ZXJ5KGl0ZW0gPT4gIXRoaXMubWF0Y2hlcihjdXJyZW50LCBpdGVtKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCA/IGZpbHRlcmVkIDogWy4uLmZpbHRlcmVkLCAuLi52YWx1ZXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2YWx1ZXMoKTogUmVhZG9ubHlBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcihnZXRPcmlnaW5hbEFycmF5RnJvbVF1ZXJ5TGlzdCh0aGlzLm9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBtYXRjaGVyKCk6IFR1aUlkZW50aXR5TWF0Y2hlcjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuaWRlbnRpdHlNYXRjaGVyIHx8IFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVI7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldCBpdGVtcyQoKTogT2JzZXJ2YWJsZTxSZWFkb25seUFycmF5PFQ+PiB7XG4gICAgICAgIHJldHVybiBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5vcHRpb25zKS5waXBlKFxuICAgICAgICAgICAgbWFwKG9wdGlvbnMgPT4gb3B0aW9ucy5tYXAoKHt2YWx1ZX0pID0+IHZhbHVlKS5maWx0ZXIoaXNQcmVzZW50KSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldCB2YWx1ZUNoYW5nZXMkKCk6IE9ic2VydmFibGU8UmVhZG9ubHlBcnJheTxUPj4ge1xuICAgICAgICByZXR1cm4gdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tPFJlYWRvbmx5QXJyYXk8VD4+KHRoaXMuY29udHJvbCkucGlwZShcbiAgICAgICAgICAgIG1hcCh2YWx1ZSA9PiB2YWx1ZSB8fCBbXSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlcihpdGVtczogUmVhZG9ubHlBcnJheTxUdWlPcHRpb25Db21wb25lbnQ8VD4+KTogUmVhZG9ubHlBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiBpdGVtcy5tYXAoKHt2YWx1ZX0pID0+IHZhbHVlKS5maWx0ZXIoaXNQcmVzZW50KTtcbiAgICB9XG59XG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsMkJBQTJCLEdBQzlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUVsQixrQkFBa0IsR0FHckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWNuQztJQVFJLHNDQUNpRCxJQUF3QixFQUNqQyxPQUFrQjtRQURULFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFSekMsWUFBTyxHQUFxQyxXQUFXLENBQUM7UUFJekUsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUtSLENBQUM7SUFFSixzQkFBSSw4Q0FBSTthQUFSO1lBQ0ksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUNsRSxDQUFD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O1FBREMsT0FBTzs4REFxQlA7SUF5QkQ7UUFEQyxPQUFPOzhEQUtQO0lBR0Q7UUFEQyxPQUFPO3FFQUtQO0lBR0Q7UUFEQyxPQUFPOzhEQUdQO0lBL0ZRLDRCQUE0QjtRQVp4QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsb0NBQW9DO1lBQzlDLHNoQkFBaUQ7WUFFakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsYUFBYSxFQUFFO2dCQUNYO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjthQUNKOztTQUNKLENBQUM7UUFVTyxXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQzFCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO09BVmIsNEJBQTRCLENBZ0d4QztJQUFELG1DQUFDO0NBQUEsQUFoR0QsSUFnR0M7U0FoR1ksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgZ2V0T3JpZ2luYWxBcnJheUZyb21RdWVyeUxpc3QsXG4gICAgaXNQcmVzZW50LFxuICAgIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUlkZW50aXR5TWF0Y2hlcixcbiAgICB0dWlQdXJlLFxuICAgIHR1aVJlcGxheWVkVmFsdWVDaGFuZ2VzRnJvbSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHNpemVCaWdnZXIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9PUFRJT05fQ09OVEVOVCxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpT3B0aW9uQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVYUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLW9wdC1ncm91cFt0dWlNdWx0aVNlbGVjdEdyb3VwXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1ncm91cC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3QtZ3JvdXAuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHZpZXdQcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX09QVElPTl9DT05URU5ULFxuICAgICAgICAgICAgdXNlVmFsdWU6IG51bGwsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RHcm91cENvbXBvbmVudDxUPiB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlPcHRpb25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBRdWVyeUxpc3Q8VHVpT3B0aW9uQ29tcG9uZW50PFQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxhYmVsID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfREFUQV9MSVNUX0hPU1QpIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogVHVpRGF0YUxpc3RIb3N0PFQ+LFxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbCkgcHJpdmF0ZSByZWFkb25seSBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgKSB7fVxuXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZVhTIHwgVHVpU2l6ZUwge1xuICAgICAgICByZXR1cm4gKHRoaXMub3B0aW9ucy5maXJzdCAmJiB0aGlzLm9wdGlvbnMuZmlyc3Quc2l6ZSkgfHwgJ20nO1xuICAgIH1cblxuICAgIGdldCBjaGVja2JveFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpcnN0ICYmIHNpemVCaWdnZXIodGhpcy5vcHRpb25zLmZpcnN0LnNpemUpID8gJ2wnIDogJ20nO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGVtcHR5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLm9wdGlvbnMpLnBpcGUobWFwKCh7bGVuZ3RofSkgPT4gIWxlbmd0aCkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGRpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLm9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoaXRlbXMgPT4gaXRlbXMuZXZlcnkoKHtkaXNhYmxlZH0pID0+IGRpc2FibGVkKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgdmFsdWUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QodGhpcy5pdGVtcyQsIHRoaXMudmFsdWVDaGFuZ2VzJCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2l0ZW1zLCBjdXJyZW50XSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBjdXJyZW50LnNvbWUoc2VsZWN0ZWQgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWF0Y2hlcihzZWxlY3RlZCwgaXRlbXNbaV0pLFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgoIXNlbGVjdGVkICYmIHJlc3VsdCkgfHwgKHNlbGVjdGVkICYmICFyZXN1bHQgJiYgaSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uQ2xpY2soY2hlY2tlZDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuY29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlOiByZWFkb25seSBUW10gPSB0aGlzLmNvbnRyb2wudmFsdWUgfHwgW107XG4gICAgICAgIGNvbnN0IHt2YWx1ZXN9ID0gdGhpcztcbiAgICAgICAgY29uc3QgZmlsdGVyZWQgPSBjb250cm9sVmFsdWUuZmlsdGVyKGN1cnJlbnQgPT5cbiAgICAgICAgICAgIHZhbHVlcy5ldmVyeShpdGVtID0+ICF0aGlzLm1hdGNoZXIoY3VycmVudCwgaXRlbSkpLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sLnNldFZhbHVlKGNoZWNrZWQgPyBmaWx0ZXJlZCA6IFsuLi5maWx0ZXJlZCwgLi4udmFsdWVzXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdmFsdWVzKCk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcihnZXRPcmlnaW5hbEFycmF5RnJvbVF1ZXJ5TGlzdCh0aGlzLm9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBtYXRjaGVyKCk6IFR1aUlkZW50aXR5TWF0Y2hlcjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuaWRlbnRpdHlNYXRjaGVyIHx8IFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVI7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldCBpdGVtcyQoKTogT2JzZXJ2YWJsZTxyZWFkb25seSBUW10+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLm9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICBtYXAob3B0aW9ucyA9PiBvcHRpb25zLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpLmZpbHRlcihpc1ByZXNlbnQpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IHZhbHVlQ2hhbmdlcyQoKTogT2JzZXJ2YWJsZTxyZWFkb25seSBUW10+IHtcbiAgICAgICAgcmV0dXJuIHR1aVJlcGxheWVkVmFsdWVDaGFuZ2VzRnJvbTxyZWFkb25seSBUW10+KHRoaXMuY29udHJvbCkucGlwZShcbiAgICAgICAgICAgIG1hcCh2YWx1ZSA9PiB2YWx1ZSB8fCBbXSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlcihpdGVtczogUmVhZG9ubHlBcnJheTxUdWlPcHRpb25Db21wb25lbnQ8VD4+KTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpLmZpbHRlcihpc1ByZXNlbnQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -11,4 +11,4 @@ export var tuiMultiSelectOptionsProvider = function (options) { return ({
11
11
  provide: TUI_MULTI_SELECT_OPTIONS,
12
12
  useValue: __assign(__assign({}, TUI_MULTI_SELECT_DEFAULT_OPTIONS), options),
13
13
  }); };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LyIsInNvdXJjZXMiOlsibXVsdGktc2VsZWN0LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBUzVELE1BQU0sQ0FBQyxJQUFNLGdDQUFnQyxHQUFtQztJQUM1RSxVQUFVLEVBQUUsSUFBSTtJQUNoQixZQUFZLEVBQUUsRUFBRTtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBRXhELCtDQUErQyxFQUFFO0lBQy9DLE9BQU8sRUFBRSxjQUFNLE9BQUEsZ0NBQWdDLEVBQWhDLENBQWdDO0NBQ2xELENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxJQUFNLDZCQUE2QixHQUVyQixVQUFJLE9BQTBDLElBQUssT0FBQSxDQUFDO0lBQ3JFLE9BQU8sRUFBRSx3QkFBd0I7SUFDakMsUUFBUSx3QkFBTSxnQ0FBZ0MsR0FBSyxPQUFPLENBQUM7Q0FDOUQsQ0FBQyxFQUhzRSxDQUd0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPiB7XG4gICAgcmVhZG9ubHkgZXhwYW5kYWJsZTogYm9vbGVhbjtcbiAgICByZWFkb25seSB2YWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxSZWFkb25seUFycmF5PFQ+Pj47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfTVVMVElfU0VMRUNUX0RFRkFVTFRfT1BUSU9OUzogVHVpTXVsdGlTZWxlY3RPcHRpb25zPHVua25vd24+ID0ge1xuICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgdmFsdWVDb250ZW50OiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfTVVMVElfU0VMRUNUX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgVHVpTXVsdGlTZWxlY3RPcHRpb25zPHVua25vd24+XG4+KCdEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIG11bHRpIHNlbGVjdCBjb21wb25lbnQnLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gVFVJX01VTFRJX1NFTEVDVF9ERUZBVUxUX09QVElPTlMsXG59KTtcblxuZXhwb3J0IGNvbnN0IHR1aU11bHRpU2VsZWN0T3B0aW9uc1Byb3ZpZGVyOiA8VD4oXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD4+LFxuKSA9PiBWYWx1ZVByb3ZpZGVyID0gPFQ+KG9wdGlvbnM6IFBhcnRpYWw8VHVpTXVsdGlTZWxlY3RPcHRpb25zPFQ+PikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfTVVMVElfU0VMRUNUX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfTVVMVElfU0VMRUNUX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9uc30sXG59KTtcbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LyIsInNvdXJjZXMiOlsibXVsdGktc2VsZWN0LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBUzVELE1BQU0sQ0FBQyxJQUFNLGdDQUFnQyxHQUFtQztJQUM1RSxVQUFVLEVBQUUsSUFBSTtJQUNoQixZQUFZLEVBQUUsRUFBRTtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBRXhELCtDQUErQyxFQUFFO0lBQy9DLE9BQU8sRUFBRSxjQUFNLE9BQUEsZ0NBQWdDLEVBQWhDLENBQWdDO0NBQ2xELENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxJQUFNLDZCQUE2QixHQUVyQixVQUFJLE9BQTBDLElBQUssT0FBQSxDQUFDO0lBQ3JFLE9BQU8sRUFBRSx3QkFBd0I7SUFDakMsUUFBUSx3QkFBTSxnQ0FBZ0MsR0FBSyxPQUFPLENBQUM7Q0FDOUQsQ0FBQyxFQUhzRSxDQUd0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPiB7XG4gICAgcmVhZG9ubHkgZXhwYW5kYWJsZTogYm9vbGVhbjtcbiAgICByZWFkb25seSB2YWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxyZWFkb25seSBUW10+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9NVUxUSV9TRUxFQ1RfREVGQVVMVF9PUFRJT05TOiBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8dW5rbm93bj4gPSB7XG4gICAgZXhwYW5kYWJsZTogdHJ1ZSxcbiAgICB2YWx1ZUNvbnRlbnQ6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8dW5rbm93bj5cbj4oJ0RlZmF1bHQgcGFyYW1ldGVycyBmb3IgbXVsdGkgc2VsZWN0IGNvbXBvbmVudCcsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBUVUlfTVVMVElfU0VMRUNUX0RFRkFVTFRfT1BUSU9OUyxcbn0pO1xuXG5leHBvcnQgY29uc3QgdHVpTXVsdGlTZWxlY3RPcHRpb25zUHJvdmlkZXI6IDxUPihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPj4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSA8VD4ob3B0aW9uczogUGFydGlhbDxUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD4+KSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OUyxcbiAgICB1c2VWYWx1ZTogey4uLlRVSV9NVUxUSV9TRUxFQ1RfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19