@taiga-ui/kit 3.8.0 → 3.10.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 (281) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  6. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-badge.umd.js +2 -4
  8. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  14. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -2
  16. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-carousel.umd.js +2 -5
  18. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +1 -1
  20. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -2
  26. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +23 -12
  28. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  30. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  32. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  34. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-count.umd.js +3 -3
  36. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +4 -5
  38. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -2
  40. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date.umd.js +4 -5
  42. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  44. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-inline.umd.js +1 -1
  46. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -2
  48. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-month.umd.js +2 -2
  50. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-number.umd.js +4 -4
  52. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  54. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
  56. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-phone.umd.js +4 -4
  58. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  62. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
  64. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
  66. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-year.umd.js +2 -2
  68. package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input.umd.js +2 -2
  70. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-island.umd.js +1 -1
  72. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  74. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  76. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +10 -6
  78. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-multi-select.umd.js +13 -17
  80. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  82. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +17 -4
  84. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-progress.umd.js +1 -1
  86. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-push.umd.js +14 -3
  88. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
  90. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-radio-group.umd.js +1 -1
  92. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
  94. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-radio-list.umd.js +1 -1
  96. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
  98. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  100. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-rating.umd.js +1 -1
  102. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-select-option.umd.js +8 -2
  104. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-select.umd.js +252 -28
  106. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-slider.umd.js +1 -1
  108. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  110. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-tabs.umd.js +2 -2
  112. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  114. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  116. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  118. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
  120. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-constants.umd.js +1 -1
  122. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +1 -1
  124. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-directives-highlight.umd.js +1 -1
  126. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  128. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-directives-project-class.umd.js +1 -1
  130. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  132. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +1 -1
  134. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +1 -1
  136. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-tokens.umd.js +4 -0
  138. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-utils-format.umd.js +1 -1
  140. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-utils-mask.umd.js +1 -1
  142. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-utils-math.umd.js +1 -1
  144. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +1 -1
  146. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  147. package/components/avatar/avatar-options.d.ts +2 -2
  148. package/components/avatar/avatar.component.d.ts +1 -1
  149. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +3 -2
  150. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +3 -2
  151. package/components/data-list-wrapper/data-list-wrapper.d.ts +2 -1
  152. package/components/input-date/input-date.component.d.ts +2 -2
  153. package/components/input-date-range/input-date-range.component.d.ts +3 -3
  154. package/components/marker-icon/marker-icon.component.d.ts +2 -2
  155. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +4 -2
  156. package/components/multi-select/multi-select.module.d.ts +1 -1
  157. package/components/pdf-viewer/index.d.ts +1 -0
  158. package/components/pdf-viewer/pdf-viewer.tokens.d.ts +10 -0
  159. package/components/push/index.d.ts +1 -0
  160. package/components/push/push.options.d.ts +0 -1
  161. package/components/push/push.tokens.d.ts +5 -0
  162. package/components/select/index.d.ts +3 -0
  163. package/components/select/native-select/native-select-group.component.d.ts +8 -0
  164. package/components/select/native-select/native-select.component.d.ts +7 -0
  165. package/components/select/native-select/native-select.d.ts +14 -0
  166. package/components/select/select.component.d.ts +7 -4
  167. package/components/select/select.module.d.ts +10 -7
  168. package/components/select-option/select-option.component.d.ts +4 -3
  169. package/esm2015/components/avatar/avatar-options.js +1 -1
  170. package/esm2015/components/avatar/avatar.component.js +1 -1
  171. package/esm2015/components/badge/badge.component.js +2 -4
  172. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  173. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  174. package/esm2015/components/carousel/carousel.component.js +2 -5
  175. package/esm2015/components/combo-box/combo-box.component.js +2 -2
  176. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +12 -7
  177. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +12 -7
  178. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +5 -4
  179. package/esm2015/components/input/input.component.js +2 -2
  180. package/esm2015/components/input-count/input-count.component.js +3 -3
  181. package/esm2015/components/input-date/input-date.component.js +4 -5
  182. package/esm2015/components/input-date-range/input-date-range.component.js +7 -8
  183. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  184. package/esm2015/components/input-month/input-month.component.js +1 -1
  185. package/esm2015/components/input-month-range/input-month-range.component.js +1 -1
  186. package/esm2015/components/input-number/input-number.component.js +4 -4
  187. package/esm2015/components/input-phone/input-phone.component.js +4 -4
  188. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  189. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  190. package/esm2015/components/input-time/input-time.component.js +2 -2
  191. package/esm2015/components/input-year/input-year.component.js +1 -1
  192. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  193. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +11 -10
  194. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  195. package/esm2015/components/multi-select/multi-select.module.js +5 -5
  196. package/esm2015/components/multi-select-option/multi-select-option.component.js +6 -3
  197. package/esm2015/components/pdf-viewer/index.js +2 -1
  198. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  199. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +4 -4
  200. package/esm2015/components/pdf-viewer/pdf-viewer.tokens.js +12 -0
  201. package/esm2015/components/push/index.js +2 -1
  202. package/esm2015/components/push/push.component.js +2 -2
  203. package/esm2015/components/push/push.options.js +2 -10
  204. package/esm2015/components/push/push.service.js +4 -4
  205. package/esm2015/components/push/push.tokens.js +20 -0
  206. package/esm2015/components/select/index.js +4 -1
  207. package/esm2015/components/select/native-select/native-select-group.component.js +69 -0
  208. package/esm2015/components/select/native-select/native-select.component.js +66 -0
  209. package/esm2015/components/select/native-select/native-select.js +38 -0
  210. package/esm2015/components/select/select.component.js +19 -5
  211. package/esm2015/components/select/select.module.js +33 -6
  212. package/esm2015/components/select-option/select-option.component.js +11 -5
  213. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +1 -1
  214. package/esm2015/components/tag/tag.component.js +1 -1
  215. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -2
  216. package/esm2015/tokens/i18n.js +4 -1
  217. package/esm2015/utils/format/string-hash-to-hsl.js +2 -2
  218. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  219. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  220. package/fesm2015/taiga-ui-kit-components-badge.js +1 -3
  221. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  222. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  223. package/fesm2015/taiga-ui-kit-components-calendar-range.js +1 -1
  224. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  225. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -4
  226. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  227. package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
  228. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  229. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +24 -13
  230. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  231. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
  232. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  233. package/fesm2015/taiga-ui-kit-components-input-date-range.js +6 -7
  234. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  235. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  236. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  237. package/fesm2015/taiga-ui-kit-components-input-date.js +3 -4
  238. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  239. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  240. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  241. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  242. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  243. package/fesm2015/taiga-ui-kit-components-input-number.js +3 -3
  244. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  245. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  246. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  247. package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
  248. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  249. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  250. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  251. package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
  252. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  253. package/fesm2015/taiga-ui-kit-components-input-year.js +1 -1
  254. package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
  255. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  256. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  257. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  258. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  259. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -3
  260. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  261. package/fesm2015/taiga-ui-kit-components-multi-select.js +14 -14
  262. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  263. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +15 -5
  264. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  265. package/fesm2015/taiga-ui-kit-components-push.js +13 -4
  266. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  267. package/fesm2015/taiga-ui-kit-components-select-option.js +10 -4
  268. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  269. package/fesm2015/taiga-ui-kit-components-select.js +210 -17
  270. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  271. package/fesm2015/taiga-ui-kit-components-tabs.js +1 -1
  272. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  273. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  274. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  275. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  276. package/fesm2015/taiga-ui-kit-tokens.js +4 -1
  277. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  278. package/fesm2015/taiga-ui-kit-utils-format.js +1 -1
  279. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  280. package/package.json +4 -4
  281. package/tokens/i18n.d.ts +4 -0
@@ -4,12 +4,13 @@ import { EMPTY_QUERY, tuiDefaultProp, tuiIsNativeFocused, tuiIsPresent, } from '
4
4
  import { TuiOptionComponent, } from '@taiga-ui/core';
5
5
  import * as i0 from "@angular/core";
6
6
  export class AbstractTuiDataListWrapper {
7
- constructor(itemsHandlers) {
7
+ constructor(itemsHandlers, defaultSize) {
8
8
  this.itemsHandlers = itemsHandlers;
9
+ this.defaultSize = defaultSize;
9
10
  this.optionsQuery = EMPTY_QUERY;
10
11
  this.disabledItemHandler = this.itemsHandlers.disabledItemHandler;
11
12
  this.emptyContent = ``;
12
- this.size = `m`;
13
+ this.size = this.defaultSize;
13
14
  this.itemContent = ({ $implicit }) => this.itemsHandlers.stringify($implicit);
14
15
  }
15
16
  getContext($implicit, { nativeElement }) {
@@ -38,7 +39,7 @@ __decorate([
38
39
  ], AbstractTuiDataListWrapper.prototype, "itemContent", void 0);
39
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AbstractTuiDataListWrapper, decorators: [{
40
41
  type: Directive
41
- }], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { optionsQuery: [{
42
+ }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; }, propDecorators: { optionsQuery: [{
42
43
  type: ViewChildren,
43
44
  args: [forwardRef(() => TuiOptionComponent)]
44
45
  }], disabledItemHandler: [{
@@ -50,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
50
51
  }], itemContent: [{
51
52
  type: Input
52
53
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhLWxpc3Qtd3JhcHBlci9kYXRhLWxpc3Qtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxrQkFBa0IsR0FJckIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLeEIsTUFBTSxPQUFnQiwwQkFBMEI7SUFpQjVDLFlBQXlDLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQWZ4RCxpQkFBWSxHQUFxQyxXQUFXLENBQUM7UUFJaEYsd0JBQW1CLEdBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztRQUkzQyxpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFJdkMsU0FBSSxHQUF5QixHQUFHLENBQUM7UUFNakMsZ0JBQVcsR0FBbUQsQ0FBQyxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUUsQ0FDMUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFMa0MsQ0FBQztJQU8vRSxVQUFVLENBQ04sU0FBWSxFQUNaLEVBQUMsYUFBYSxFQUEwQjtRQUV4QyxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsRUFBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxVQUFVLENBQUMsa0JBQTJCLEtBQUs7UUFDdkMsT0FBTyxJQUFJLENBQUMsWUFBWTthQUNuQixNQUFNLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDcEQsR0FBRyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQ3ZCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QixDQUFDOzt3SEFwQ2lCLDBCQUEwQjs0R0FBMUIsMEJBQTBCLDhOQUNiLGtCQUFrQjtBQUtqRDtJQURDLGNBQWMsRUFBRTt1RUFFMEI7QUFJM0M7SUFEQyxjQUFjLEVBQUU7Z0VBQ3NCO0FBSXZDO0lBREMsY0FBYyxFQUFFO3dEQUNnQjtBQU1qQztJQURDLGNBQWMsRUFBRTsrREFFMkI7NEZBdEIxQiwwQkFBMEI7a0JBRC9DLFNBQVM7NkZBR2EsWUFBWTtzQkFEOUIsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBS2xELG1CQUFtQjtzQkFGbEIsS0FBSztnQkFPTixZQUFZO3NCQUZYLEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQVFOLFdBQVc7c0JBRlYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzUHJlc2VudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aU9wdGlvbkNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplWFMsXG4gICAgVHVpVmFsdWVDb250ZW50Q29udGV4dCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpRGF0YUxpc3RXcmFwcGVyPFQ+IHtcbiAgICBAVmlld0NoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpT3B0aW9uQ29tcG9uZW50KSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uc1F1ZXJ5OiBRdWVyeUxpc3Q8VHVpT3B0aW9uQ29tcG9uZW50PFQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ2Rpc2FibGVkSXRlbUhhbmRsZXInXSA9XG4gICAgICAgIHRoaXMuaXRlbXNIYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVtcHR5Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVYUyB8IFR1aVNpemVMID0gYG1gO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+KSB7fVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1Db250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aVZhbHVlQ29udGVudENvbnRleHQ8VD4+ID0gKHskaW1wbGljaXR9KSA9PlxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5KCRpbXBsaWNpdCk7XG5cbiAgICBnZXRDb250ZXh0KFxuICAgICAgICAkaW1wbGljaXQ6IFQsXG4gICAgICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKTogVHVpVmFsdWVDb250ZW50Q29udGV4dDxUPiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0LCBhY3RpdmU6IHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVFbGVtZW50KX07XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9ucyhpbmNsdWRlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNRdWVyeVxuICAgICAgICAgICAgLmZpbHRlcigoe2Rpc2FibGVkfSkgPT4gaW5jbHVkZURpc2FibGVkIHx8ICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5tYXAoKHt2YWx1ZX0pID0+IHZhbHVlKVxuICAgICAgICAgICAgLmZpbHRlcih0dWlJc1ByZXNlbnQpO1xuICAgIH1cbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhLWxpc3Qtd3JhcHBlci9kYXRhLWxpc3Qtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxrQkFBa0IsR0FJckIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLeEIsTUFBTSxPQUFnQiwwQkFBMEI7SUFpQjVDLFlBQ3VCLGFBQWtDLEVBQ2xDLFdBQWlDO1FBRGpDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7UUFqQnJDLGlCQUFZLEdBQXFDLFdBQVcsQ0FBQztRQUloRix3QkFBbUIsR0FDZixJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1FBSTNDLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUl2QyxTQUFJLEdBQXlCLElBQUksQ0FBQyxXQUFXLENBQUM7UUFTOUMsZ0JBQVcsR0FBbUQsQ0FBQyxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUUsQ0FDMUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFMekMsQ0FBQztJQU9KLFVBQVUsQ0FDTixTQUFZLEVBQ1osRUFBQyxhQUFhLEVBQTBCO1FBRXhDLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxrQkFBMkIsS0FBSztRQUN2QyxPQUFPLElBQUksQ0FBQyxZQUFZO2FBQ25CLE1BQU0sQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUNwRCxHQUFHLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7YUFDdkIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLENBQUM7O3dIQXZDaUIsMEJBQTBCOzRHQUExQiwwQkFBMEIsOE5BQ2Isa0JBQWtCO0FBS2pEO0lBREMsY0FBYyxFQUFFO3VFQUUwQjtBQUkzQztJQURDLGNBQWMsRUFBRTtnRUFDc0I7QUFJdkM7SUFEQyxjQUFjLEVBQUU7d0RBQzZCO0FBUzlDO0lBREMsY0FBYyxFQUFFOytEQUUyQjs0RkF6QjFCLDBCQUEwQjtrQkFEL0MsU0FBUztrSEFHYSxZQUFZO3NCQUQ5QixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFLbEQsbUJBQW1CO3NCQUZsQixLQUFLO2dCQU9OLFlBQVk7c0JBRlgsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBV04sV0FBVztzQkFGVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNQcmVzZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpT3B0aW9uQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVYUyxcbiAgICBUdWlWYWx1ZUNvbnRlbnRDb250ZXh0LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUdWlEYXRhTGlzdFdyYXBwZXI8VD4ge1xuICAgIEBWaWV3Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlPcHRpb25Db21wb25lbnQpKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zUXVlcnk6IFF1ZXJ5TGlzdDxUdWlPcHRpb25Db21wb25lbnQ8VD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnZGlzYWJsZWRJdGVtSGFuZGxlciddID1cbiAgICAgICAgdGhpcy5pdGVtc0hhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZW1wdHlDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhTIHwgVHVpU2l6ZUwgPSB0aGlzLmRlZmF1bHRTaXplO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXNIYW5kbGVyczogVHVpSXRlbXNIYW5kbGVyczxUPixcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRTaXplOiBUdWlTaXplWFMgfCBUdWlTaXplTCxcbiAgICApIHt9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpVmFsdWVDb250ZW50Q29udGV4dDxUPj4gPSAoeyRpbXBsaWNpdH0pID0+XG4gICAgICAgIHRoaXMuaXRlbXNIYW5kbGVycy5zdHJpbmdpZnkoJGltcGxpY2l0KTtcblxuICAgIGdldENvbnRleHQoXG4gICAgICAgICRpbXBsaWNpdDogVCxcbiAgICAgICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApOiBUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+IHtcbiAgICAgICAgcmV0dXJuIHskaW1wbGljaXQsIGFjdGl2ZTogdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUVsZW1lbnQpfTtcbiAgICB9XG5cbiAgICBnZXRPcHRpb25zKGluY2x1ZGVEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1F1ZXJ5XG4gICAgICAgICAgICAuZmlsdGVyKCh7ZGlzYWJsZWR9KSA9PiBpbmNsdWRlRGlzYWJsZWQgfHwgIWRpc2FibGVkKVxuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpXG4gICAgICAgICAgICAuZmlsdGVyKHR1aUlzUHJlc2VudCk7XG4gICAgfVxufVxuIl19
@@ -58,7 +58,7 @@ TuiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
58
58
  tuiAsFocusableItemAccessor(TuiInputComponent),
59
59
  tuiAsDataListHost(TuiInputComponent),
60
60
  tuiAsControl(TuiInputComponent),
61
- ], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "hostedDropdown", first: true, predicate: TuiHostedDropdownComponent, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
+ ], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "hostedDropdown", first: true, predicate: TuiHostedDropdownComponent, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputComponent, decorators: [{
63
63
  type: Component,
64
64
  args: [{
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
94
94
  type: ContentChild,
95
95
  args: [TuiDataListDirective, { read: TemplateRef }]
96
96
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQvaW5wdXQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsWUFBWSxFQUNaLDBCQUEwQixFQUcxQixrQkFBa0IsR0FDckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixvQkFBb0IsRUFFcEIsMEJBQTBCLEVBQzFCLDhCQUE4QixHQUNqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxrQ0FBa0MsRUFDbEMsMkJBQTJCLEdBQzlCLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBZ0JqQyxNQUFNLE9BQU8saUJBQ1QsU0FBUSxrQkFBMEI7SUFnQmxDLFlBSUksT0FBeUIsRUFDRSxpQkFBb0M7UUFFL0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBYjdCLGFBQVEsR0FFYixFQUFFLENBQUM7UUFFUCxTQUFJLEdBQUcsS0FBSyxDQUFDO0lBVWIsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDM0MsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFB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RGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aUFzRGF0YUxpc3RIb3N0LFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVkFMVUVfQUNDRVNTT1JfUFJPVklERVIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXRgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9pbnB1dC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRVSV9WQUxVRV9BQ0NFU1NPUl9QUk9WSURFUixcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlJbnB1dENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dENvbXBvbmVudCksXG4gICAgXSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8c3RyaW5nPlxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+XG4gICAgPiA9IGBgO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCAhdGhpcy50ZXh0ZmllbGRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICghIXRoaXMuaG9zdGVkRHJvcGRvd24gJiYgdGhpcy5ob3N0ZWREcm9wZG93bi5mb2N1c2VkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKGl0ZW06IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXROYXRpdmVWYWx1ZShTdHJpbmcoaXRlbSkpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShTdHJpbmcoaXRlbSkpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGx9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiY2FuT3BlblwiXG4gICAgW2NvbnRlbnRdPVwiZGF0YWxpc3QgfHwgJydcIlxuICAgIFsob3BlbildPVwib3BlblwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0X190ZXh0ZmllbGRcIlxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cbjwvdHVpLWhvc3RlZC1kcm9wZG93bj5cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQvaW5wdXQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsWUFBWSxFQUNaLDBCQUEwQixFQUcxQixrQkFBa0IsR0FDckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixvQkFBb0IsRUFFcEIsMEJBQTBCLEVBQzFCLDhCQUE4QixHQUNqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxrQ0FBa0MsRUFDbEMsMkJBQTJCLEdBQzlCLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBZ0JqQyxNQUFNLE9BQU8saUJBQ1QsU0FBUSxrQkFBMEI7SUFnQmxDLFlBSUksT0FBeUIsRUFDRSxpQkFBb0M7UUFFL0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBYjdCLGFBQVEsR0FFYixFQUFFLENBQUM7UUFFUCxTQUFJLEdBQUcsS0FBSyxDQUFDO0lBVWIsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDM0MsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFB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RGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aUFzRGF0YUxpc3RIb3N0LFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVkFMVUVfQUNDRVNTT1JfUFJPVklERVIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXRgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9pbnB1dC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRVSV9WQUxVRV9BQ0NFU1NPUl9QUk9WSURFUixcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlJbnB1dENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dENvbXBvbmVudCksXG4gICAgXSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8c3RyaW5nPlxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+XG4gICAgPiA9IGBgO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCAhdGhpcy50ZXh0ZmllbGRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICghIXRoaXMuaG9zdGVkRHJvcGRvd24gJiYgdGhpcy5ob3N0ZWREcm9wZG93bi5mb2N1c2VkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKGl0ZW06IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXROYXRpdmVWYWx1ZShTdHJpbmcoaXRlbSkpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShTdHJpbmcoaXRlbSkpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGx9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiY2FuT3BlblwiXG4gICAgW2NvbnRlbnRdPVwiZGF0YWxpc3QgfHwgJydcIlxuICAgIFsob3BlbildPVwib3BlblwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0X190ZXh0ZmllbGRcIlxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cbjwvdHVpLWhvc3RlZC1kcm9wZG93bj5cbiJdfQ==
@@ -84,7 +84,7 @@ export class TuiInputCountComponent extends AbstractTuiControl {
84
84
  }
85
85
  onValueChange() {
86
86
  const capped = this.capValue(this.nativeNumberValue);
87
- if (capped === null || isNaN(capped)) {
87
+ if (capped === null || Number.isNaN(capped)) {
88
88
  return;
89
89
  }
90
90
  const newValue = this.formatNumber(capped);
@@ -145,7 +145,7 @@ export class TuiInputCountComponent extends AbstractTuiControl {
145
145
  }
146
146
  capValue(value) {
147
147
  const capped = Math.min(value, this.max);
148
- return isNaN(capped) || capped < this.min ? null : capped;
148
+ return Number.isNaN(capped) || capped < this.min ? null : capped;
149
149
  }
150
150
  onBlur() {
151
151
  const value = Math.max(this.nativeNumberValue || 0, this.min);
@@ -248,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
248
248
  type: HostBinding,
249
249
  args: [`attr.data-size`]
250
250
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixlQUFlLEVBRWYsOEJBQThCLEdBTWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJMUQsT0FBTyxFQUFDLHVCQUF1QixFQUF1QixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBWXBGLE1BQU0sT0FBTyxzQkFDVCxTQUFRLGtCQUEwQjtJQThCbEMsWUFJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUU5QyxVQUFrQixFQUVsQixhQUF3QyxFQUVoRCxXQUF5QyxFQUNWLFFBQWlCLEVBRWhELE9BQTZCLEVBRXJCLFlBQXFDO1FBRXRE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QkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBMEJOLE9BQU8sTUFZSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLHFCQUFxQjtnQkFvQjlCLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIHR1aUNsYW1wLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIHR1aUNyZWF0ZU51bWJlck1hc2ssXG4gICAgdHVpRm9ybWF0TnVtYmVyLFxuICAgIFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX1BMVVNfTUlOVVNfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0NPVU5UX09QVElPTlMsIFR1aUlucHV0Q291bnRPcHRpb25zfSBmcm9tICcuL2lucHV0LWNvdW50LW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1jb3VudGAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2lucHV0LWNvdW50LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LWNvdW50LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRDb3VudENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dENvdW50Q29tcG9uZW50KSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENvdW50Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbWl0aXZlVGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0ZXAgPSB0aGlzLm9wdGlvbnMuc3RlcDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGlkZUJ1dHRvbnMgPSB0aGlzLm9wdGlvbnMuaGlkZUJ1dHRvbnM7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlZml4ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9IHRoaXMub3B0aW9ucy5wb3N0Zml4O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9QTFVTX01JTlVTX1RFWFRTKVxuICAgICAgICByZWFkb25seSBtaW51c1RleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9DT1VOVF9PUFRJT05TKVxuICAgICAgICByZWFkb25seSBvcHRpb25zOiBUdWlJbnB1dENvdW50T3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBudW1iZXJGb3JtYXQ6IFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRNYXNrKGFsbG93TmVnYXRpdmU6IGJvb2xlYW4pOiBUdWlUZXh0TWFza09wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFzazogdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZSxcbiAgICAgICAgICAgICAgICBkZWNpbWFsU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2hpZGUtYnV0dG9uc2ApXG4gICAgZ2V0IGJ1dHRvbnNIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpZGVCdXR0b25zIHx8IHRoaXMuYXBwZWFyYW5jZSA9PT0gYHRhYmxlYDtcbiAgICB9XG5cbiAgICBnZXQgaWNvblVwKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29ucy51cDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkRvd24oKTogUG9seW1vcnBoZXVzQ29udGVudDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb25zLmRvd247XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtc2l6ZWApXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBleGFtcGxlVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkID8gdGhpcy5uYXRpdmVWYWx1ZSA6IHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBtaW51c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgfHwgKHR1aUlzUHJlc2VudCh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlIDw9IHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgcGx1c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgfHwgKHR1aUlzUHJlc2VudCh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlID49IHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBvbkJ1dHRvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoZGlzYWJsZWQgfHwgIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMub25CbHVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBWYWx1ZSh0aGlzLm5hdGl2ZU51bWJlclZhbHVlKTtcblxuICAgICAgICBpZiAoY2FwcGVkID09PSBudWxsIHx8IGlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKTtcblxuICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBkZWNyZWFzZVZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSAodGhpcy52YWx1ZSB8fCAwKSAtIHRoaXMuc3RlcDtcblxuICAgICAgICB0aGlzLnNhZmVVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgaW5jcmVhc2VWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHRoaXMudmFsdWUgfHwgMCkgKyB0aGlzLnN0ZXA7XG5cbiAgICAgICAgdGhpcy5zYWZlVXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBgQXJyb3dVcGA6XG4gICAgICAgICAgICBjYXNlIGBVcGA6XG4gICAgICAgICAgICAgICAgdGhpcy5pbmNyZWFzZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYEFycm93RG93bmA6XG4gICAgICAgICAgICBjYXNlIGBEb3duYDpcbiAgICAgICAgICAgICAgICB0aGlzLmRlY3JlYXNlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc3BsaXQodGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IpLmpvaW4oYGApLFxuICAgICAgICAgICAgMTAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6IGBgO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FmZVVwZGF0ZVZhbHVlKG5ld1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0dWlDbGFtcChuZXdWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhcFZhbHVlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gTWF0aC5taW4odmFsdWUsIHRoaXMubWF4KTtcblxuICAgICAgICByZXR1cm4gaXNOYU4oY2FwcGVkKSB8fCBjYXBwZWQgPCB0aGlzLm1pbiA/IG51bGwgOiBjYXBwZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5tYXgodGhpcy5uYXRpdmVOdW1iZXJWYWx1ZSB8fCAwLCB0aGlzLm1pbik7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIodmFsdWUpO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC52YWx1ZSA9IGZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0dWlGb3JtYXROdW1iZXIodmFsdWUsIHRoaXMubnVtYmVyRm9ybWF0KTtcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICB0dWlWYWx1ZUFjY2Vzc29yXG4gICAgY2xhc3M9XCJ0LXRleHRmaWVsZFwiXG4gICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgIFtwc2V1ZG9BY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICBbcHJlZml4XT1cInByZWZpeFwiXG4gICAgW3Bvc3RmaXhdPVwicG9zdGZpeFwiXG4gICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW3RleHRNYXNrXT1cImdldE1hc2sobWluIDwgMClcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW3ZhbHVlXT1cImNvbXB1dGVkVmFsdWVcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKClcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAoZm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50XG4gICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgPjwvbmctY29udGVudD5cbjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG48bmctY29udGFpbmVyICpuZ0lmPVwiIWJ1dHRvbnNIaWRkZW5cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWludXNUZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiPlxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInQtYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWNvdW50X19wbHVzLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b24gdC1idXR0b25fcGx1c1wiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblVwXCJcbiAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJvcHRpb25zLmFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0c1swXVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInBsdXNCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkJ1dHRvbk1vdXNlRG93bigkZXZlbnQsIHBsdXNCdXR0b25EaXNhYmxlZClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbmNyZWFzZVZhbHVlKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWNvdW50X19taW51cy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uIHQtYnV0dG9uX21pbnVzXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRG93blwiXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwib3B0aW9ucy5hcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibWludXNCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzWzFdXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uQnV0dG9uTW91c2VEb3duKCRldmVudCwgbWludXNCdXR0b25EaXNhYmxlZClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWNyZWFzZVZhbHVlKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixlQUFlLEVBRWYsOEJBQThCLEdBTWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJMUQsT0FBTyxFQUFDLHVCQUF1QixFQUF1QixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBWXBGLE1BQU0sT0FBTyxzQkFDVCxTQUFRLGtCQUEwQjtJQThCbEMsWUFJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUU5QyxVQUFrQixFQUVsQixhQUF3QyxFQUVoRCxXQUF5QyxFQUNWLFFBQWlCLEVBRWhELE9BQTZCLEVBRXJCLFlBQXFDO1FBRXRE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TU4sTUFBTTtzQkFGTCxLQUFLO2dCQU1OLE9BQU87c0JBRk4sS0FBSztnQkEwQk4sT0FBTyxNQVlILGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMscUJBQXFCO2dCQW9COUIsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpQ2xhbXAsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlJc1ByZXNlbnQsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgdHVpQ3JlYXRlTnVtYmVyTWFzayxcbiAgICB0dWlGb3JtYXROdW1iZXIsXG4gICAgVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfUExVU19NSU5VU19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfQ09VTlRfT1BUSU9OUywgVHVpSW5wdXRDb3VudE9wdGlvbnN9IGZyb20gJy4vaW5wdXQtY291bnQtb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LWNvdW50YCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtY291bnQuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dENvdW50Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q291bnRDb21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q291bnRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8bnVtYmVyPiwgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVUZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcCA9IHRoaXMub3B0aW9ucy5zdGVwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoaWRlQnV0dG9ucyA9IHRoaXMub3B0aW9ucy5oaWRlQnV0dG9ucztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVmaXggPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4ID0gdGhpcy5vcHRpb25zLnBvc3RmaXg7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1BMVVNfTUlOVVNfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IG1pbnVzVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NPVU5UX09QVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0Q291bnRPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldE1hc2soYWxsb3dOZWdhdGl2ZTogYm9vbGVhbik6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYXNrOiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIGRlY2ltYWxTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGlkZS1idXR0b25zYClcbiAgICBnZXQgYnV0dG9uc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZUJ1dHRvbnMgfHwgdGhpcy5hcHBlYXJhbmNlID09PSBgdGFibGVgO1xuICAgIH1cblxuICAgIGdldCBpY29uVXAoKTogUG9seW1vcnBoZXVzQ29udGVudDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb25zLnVwO1xuICAgIH1cblxuICAgIGdldCBpY29uRG93bigpOiBQb2x5bW9ycGhldXNDb250ZW50PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbnMuZG93bjtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGV4YW1wbGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy5taW4pO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWQgPyB0aGlzLm5hdGl2ZVZhbHVlIDogdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IG1pbnVzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSB8fCAodHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUgPD0gdGhpcy5taW4pO1xuICAgIH1cblxuICAgIGdldCBwbHVzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSB8fCAodHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUgPj0gdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIG9uQnV0dG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChkaXNhYmxlZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5vbkJsdXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB0aGlzLmNhcFZhbHVlKHRoaXMubmF0aXZlTnVtYmVyVmFsdWUpO1xuXG4gICAgICAgIGlmIChjYXBwZWQgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKTtcblxuICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBkZWNyZWFzZVZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSAodGhpcy52YWx1ZSB8fCAwKSAtIHRoaXMuc3RlcDtcblxuICAgICAgICB0aGlzLnNhZmVVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgaW5jcmVhc2VWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHRoaXMudmFsdWUgfHwgMCkgKyB0aGlzLnN0ZXA7XG5cbiAgICAgICAgdGhpcy5zYWZlVXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBgQXJyb3dVcGA6XG4gICAgICAgICAgICBjYXNlIGBVcGA6XG4gICAgICAgICAgICAgICAgdGhpcy5pbmNyZWFzZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYEFycm93RG93bmA6XG4gICAgICAgICAgICBjYXNlIGBEb3duYDpcbiAgICAgICAgICAgICAgICB0aGlzLmRlY3JlYXNlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc3BsaXQodGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IpLmpvaW4oYGApLFxuICAgICAgICAgICAgMTAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6IGBgO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FmZVVwZGF0ZVZhbHVlKG5ld1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0dWlDbGFtcChuZXdWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhcFZhbHVlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gTWF0aC5taW4odmFsdWUsIHRoaXMubWF4KTtcblxuICAgICAgICByZXR1cm4gTnVtYmVyLmlzTmFOKGNhcHBlZCkgfHwgY2FwcGVkIDwgdGhpcy5taW4gPyBudWxsIDogY2FwcGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgubWF4KHRoaXMubmF0aXZlTnVtYmVyVmFsdWUgfHwgMCwgdGhpcy5taW4pO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gZm9ybWF0dGVkVmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCkge1xuICAgICAgICAgICAgdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQudmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHVpRm9ybWF0TnVtYmVyKHZhbHVlLCB0aGlzLm51bWJlckZvcm1hdCk7XG4gICAgfVxufVxuIiwiPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgW3ByZWZpeF09XCJwcmVmaXhcIlxuICAgIFtwb3N0Zml4XT1cInBvc3RmaXhcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt0ZXh0TWFza109XCJnZXRNYXNrKG1pbiA8IDApXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudFxuICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgID48L25nLWNvbnRlbnQ+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFidXR0b25zSGlkZGVuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1pbnVzVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0LWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fcGx1cy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uIHQtYnV0dG9uX3BsdXNcIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25VcFwiXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwib3B0aW9ucy5hcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwbHVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25CdXR0b25Nb3VzZURvd24oJGV2ZW50LCBwbHVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fbWludXMtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9taW51c1wiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkRvd25cIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cIm9wdGlvbnMuYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1pbnVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkJ1dHRvbk1vdXNlRG93bigkZXZlbnQsIG1pbnVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -99,9 +99,8 @@ export class TuiInputDateComponent extends AbstractTuiNullableControl {
99
99
  getComputedFiller(filler) {
100
100
  return this.activeItem ? `` : filler;
101
101
  }
102
- onMobileClick() {
103
- if (!this.mobileCalendar) {
104
- this.open = !this.open;
102
+ onIconClick() {
103
+ if (!this.computedMobile || !this.mobileCalendar) {
105
104
  return;
106
105
  }
107
106
  this.dialogService
@@ -161,7 +160,7 @@ TuiInputDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
161
160
  tuiAsFocusableItemAccessor(TuiInputDateComponent),
162
161
  tuiAsControl(TuiInputDateComponent),
163
162
  tuiDateStreamWithTransformer(TUI_DATE_VALUE_TRANSFORMER),
164
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [open]=\"open && canOpen\"\n [content]=\"dropdown\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"filler$ | async as filler\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"computedMobile ? mobileIconContent : iconContent\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [filler]=\"getComputedFiller(filler || '')\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [focusable]=\"computedFocusable\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"computedMask\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #mobileIconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onMobileClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date__calendar\"\n [min]=\"min\"\n [max]=\"max\"\n [markerHandler]=\"markerHandler\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n <div\n *ngIf=\"items.length === 1\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-button\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"onDayClick(items[0].day)\"\n >\n {{ items[0] }}\n </button>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-button{display:flex;height:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-base-03)}.t-button button{flex:1;text-align:center}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiCalendarComponent, selector: "tui-calendar", inputs: ["month", "value", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i3.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i3.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i2.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
+ ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [open]=\"open && canOpen\"\n [content]=\"dropdown\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"filler$ | async as filler\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [filler]=\"getComputedFiller(filler || '')\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [focusable]=\"computedFocusable\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"computedMask\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date__calendar\"\n [min]=\"min\"\n [max]=\"max\"\n [markerHandler]=\"markerHandler\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n <div\n *ngIf=\"items.length === 1\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-button\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"onDayClick(items[0].day)\"\n >\n {{ items[0] }}\n </button>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-button{display:flex;height:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-base-03)}.t-button button{flex:1;text-align:center}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiCalendarComponent, selector: "tui-calendar", inputs: ["month", "value", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i3.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i3.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i2.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
164
  __decorate([
166
165
  tuiDefaultProp()
167
166
  ], TuiInputDateComponent.prototype, "min", void 0);
@@ -256,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
256
255
  type: HostListener,
257
256
  args: [`click`]
258
257
  }] } });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFFSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBRWIsWUFBWSxFQUNaLDBCQUEwQixFQUsxQixNQUFNLEVBQ04sY0FBYyxFQUVkLFFBQVEsRUFDUixlQUFlLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUVoQiw4QkFBOEIsR0FNakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUNILGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQiw0QkFBNEIsR0FFL0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLGlCQUFpQixHQUNwQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWE5QyxNQUFNLE9BQU8scUJBQ1QsU0FBUSwwQkFBa0M7SUFnRDFDLFlBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFDNUIsUUFBa0IsRUFDYixRQUFpQixFQUNkLGFBQStCLEVBR3pELGNBQW1DLEVBRW5DLGFBQXdDLEVBQ3ZCLFVBQXVCLEVBQ3BCLGFBQXFCLEVBRWpELFVBQW1ELEVBRzFDLGdCQUFrRSxFQUVuRSxPQUE0QjtRQUU3QyxLQUFLLENBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFsQmpCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2Qsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBR3pELG1CQUFjLEdBQWQsY0FBYyxDQUFxQjtRQUVuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQUNwQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUVqRCxlQUFVLEdBQVYsVUFBVSxDQUF5QztRQUcxQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtEO1FBRW5FLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBaEV6QyxVQUFLLEdBQW9CLElBQUksQ0FBQztRQUVyQixvQkFBZSxHQUF1QjtZQUNuRCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzVELElBQUksRUFBRSw4QkFBOEIsQ0FBQyxJQUFJLENBQUM7WUFDMUMsS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBSUYsUUFBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBSXZCLFFBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUl2Qix3QkFBbUIsR0FBOEIsb0JBQW9CLENBQUM7UUFJdEUsa0JBQWEsR0FBcUIsMEJBQTBCLENBQUM7UUFJN0QsVUFBSyxHQUEyQixFQUFFLENBQUM7UUFJbkMsMkJBQXNCLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWpELFNBQUksR0FBRyxLQUFLLENBQUM7UUFJSixZQUFPLEdBQXVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN2RCxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDWixtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FDdEUsQ0FDSixDQUFDO0lBMkJGLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixNQUFNLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFOUMsSUFBSSxVQUFVLEVBQUU7WUFDWixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM3QjtRQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDckYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNuQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzlCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQztRQUVyQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBR0QsT0FBTztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXZCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxhQUFhO2FBQ2IsSUFBSSxDQUFTLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekUsSUFBSSxFQUFFLFlBQVk7WUFDbEIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsSUFBSSxFQUFFO2dCQUNGLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjthQUNoRDtTQUNKLENBQUM7YUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FDWixLQUFLLENBQUMsTUFBTSxLQUFLLGtCQUFrQjtZQUMvQixDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3RELENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWU7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFhO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVEsZ0JBQWdCO1FBQ3JCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFUSxVQUFVLENBQUMsS0FBb0I7UUFDcEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFa0Isd0JBQXdCLENBQ3ZDLFFBQXVCLEVBQ3ZCLFFBQXVCO1FBRXZCLE9BQU8sZUFBZSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7bUhBL05RLHFCQUFxQixrQkFvRGxCLFNBQVMseUNBRVQsaUJBQWlCLGFBQ2pCLFFBQVEsYUFDUixhQUFhLGFBQ2IsZ0JBQWdCLGFBRWhCLG1CQUFtQiw2QkFFbkIsa0JBQWtCLGFBRWxCLGVBQWUsYUFDZixrQkFBa0IsYUFDbEIsY0FBYyxhQUdkLDBCQUEwQiw2QkFFMUIsc0JBQXNCO3VHQXRFekIscUJBQXFCLDBRQU5uQjtRQUNQLDBCQUEwQixDQUFDLHFCQUFxQixDQUFDO1FBQ2pELFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztRQUNuQyw0QkFBNEIsQ0FBQywwQkFBMEIsQ0FBQztLQUMzRCxxRUFNVSw4QkFBOEIsdUVDaEY3QyxnckZBa0ZBO0FEV0k7SUFEQyxjQUFjLEVBQUU7a0RBQ007QUFJdkI7SUFEQyxjQUFjLEVBQUU7a0RBQ007QUFJdkI7SUFEQyxjQUFjLEVBQUU7a0VBQ3FEO0FBSXRFO0lBREMsY0FBYyxFQUFFOzREQUM0QztBQUk3RDtJQURDLGNBQWMsRUFBRTtvREFDa0I7QUFJbkM7SUFEQyxjQUFjLEVBQUU7cUVBQ2dDOzRGQXJDeEMscUJBQXFCO2tCQVhqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw0QkFBNEI7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLDBCQUEwQix1QkFBdUI7d0JBQ2pELFlBQVksdUJBQXVCO3dCQUNuQyw0QkFBNEIsQ0FBQywwQkFBMEIsQ0FBQztxQkFDM0Q7aUJBQ0o7OzBCQW1EUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixRQUFROzswQkFDUixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFFekIsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLGNBQWM7OzBCQUVyQixRQUFROzswQkFDUixNQUFNOzJCQUFDLDBCQUEwQjs7MEJBRWpDLE1BQU07MkJBQUMsc0JBQXNCOzRDQWpFakIsU0FBUztzQkFEekIsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBYXpDLEdBQUc7c0JBRkYsS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBTU4sbUJBQW1CO3NCQUZsQixLQUFLO2dCQU1OLGFBQWE7c0JBRlosS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sc0JBQXNCO3NCQUZyQixLQUFLO2dCQTBHTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yLFxuICAgIERBVEVfRklMTEVSX0xFTkdUSCxcbiAgICBUVUlfREFURV9GT1JNQVQsXG4gICAgVFVJX0RBVEVfU0VQQVJBVE9SLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcixcbiAgICBUdWlEYXRlTW9kZSxcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlEaWFsb2dTZXJ2aWNlLFxuICAgIFR1aU1hcmtlckhhbmRsZXIsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlOYW1lZERheX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfTUFTS30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9URVhUUyxcbiAgICBUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUixcbiAgICBUVUlfSU5QVVRfREFURV9PUFRJT05TLFxuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVIsXG4gICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcixcbiAgICBUdWlJbnB1dERhdGVPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSxcbiAgICB0dWlDcmVhdGVEYXRlTWFzayxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtZGF0ZWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2lucHV0LWRhdGUudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtZGF0ZS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0RGF0ZUNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVDb21wb25lbnQpLFxuICAgICAgICB0dWlEYXRlU3RyZWFtV2l0aFRyYW5zZm9ybWVyKFRVSV9EQVRFX1ZBTFVFX1RSQU5TRk9STUVSKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aURheT5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgbW9udGg6IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRNYXNrT3B0aW9uczogVHVpVGV4dE1hc2tPcHRpb25zID0ge1xuICAgICAgICBtYXNrOiB0dWlDcmVhdGVEYXRlTWFzayh0aGlzLmRhdGVGb3JtYXQsIHRoaXMuZGF0ZVNlcGFyYXRvciksXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSh0aGlzKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gdGhpcy5vcHRpb25zLm1pbjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXJrZXJIYW5kbGVyOiBUdWlNYXJrZXJIYW5kbGVyID0gVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IHJlYWRvbmx5IFR1aU5hbWVkRGF5W10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWZhdWx0QWN0aXZlWWVhck1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSB0eXBlITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IGZpbGxlciQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZGF0ZVRleHRzJC5waXBlKFxuICAgICAgICBtYXAoZGF0ZVRleHRzID0+XG4gICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXRdLCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFR1aURpYWxvZ1NlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogVHVpRGlhbG9nU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfTU9CSUxFX0NBTEVOREFSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZUNhbGVuZGFyOiBUeXBlPG9iamVjdD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCkgcmVhZG9ubHkgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfU0VQQVJBVE9SKSByZWFkb25seSBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUilcbiAgICAgICAgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcjogVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXI8VHVpRGF5IHwgbnVsbD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9EQVRFX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXREYXRlT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYsIHZhbHVlVHJhbnNmb3JtZXIpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSAmJiAhIXRoaXMubW9iaWxlQ2FsZW5kYXI7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBUdWlJbnB1dERhdGVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBuYXRpdmVWYWx1ZSwgYWN0aXZlSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChhY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGFjdGl2ZUl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlID8gdmFsdWUudG9TdHJpbmcodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpIDogbmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQWN0aXZlWWVhck1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNbMF0gJiYgdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmRheVNhbWUodGhpcy5pdGVtc1swXS5kYXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1swXS5kaXNwbGF5RGF5O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGggfHwgdGhpcy52YWx1ZSB8fCB0aGlzLmRlZmF1bHRBY3RpdmVZZWFyTW9udGg7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiBgYDtcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICF0aGlzLmNvbXB1dGVkTW9iaWxlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1hc2soKTogVHVpVGV4dE1hc2tPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlSXRlbSA/IEVNUFRZX01BU0sgOiB0aGlzLnRleHRNYXNrT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlSXRlbSgpOiBUdWlOYW1lZERheSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKHZhbHVlICYmIHRoaXMuaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uZGF5LmRheVNhbWUodmFsdWUpKSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGNsaWNrYClcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDb21wdXRlZEZpbGxlcihmaWxsZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUl0ZW0gPyBgYCA6IGZpbGxlcjtcbiAgICB9XG5cbiAgICBvbk1vYmlsZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubW9iaWxlQ2FsZW5kYXIpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW48VHVpRGF5PihuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KHRoaXMubW9iaWxlQ2FsZW5kYXIsIHRoaXMuaW5qZWN0b3IpLCB7XG4gICAgICAgICAgICAgICAgc2l6ZTogYGZ1bGxzY3JlZW5gLFxuICAgICAgICAgICAgICAgIGNsb3NlYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBzaW5nbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5taW4sXG4gICAgICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgsXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB2YWx1ZS5sZW5ndGggIT09IERBVEVfRklMTEVSX0xFTkdUSFxuICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgIDogVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmRhdGVGb3JtYXQpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uRGF5Q2xpY2sodmFsdWU6IFR1aURheSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25Nb250aENoYW5nZShtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpRGF5IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogYGA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihcbiAgICAgICAgb2xkVmFsdWU6IFR1aURheSB8IG51bGwsXG4gICAgICAgIG5ld1ZhbHVlOiBUdWlEYXkgfCBudWxsLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpTnVsbGFibGVTYW1lKG9sZFZhbHVlLCBuZXdWYWx1ZSwgKGEsIGIpID0+IGEuZGF5U2FtZShiKSk7XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJjYW5PcGVuXCJcbiAgICBbb3Blbl09XCJvcGVuICYmIGNhbk9wZW5cIlxuICAgIFtjb250ZW50XT1cImRyb3Bkb3duXCJcbiAgICAob3BlbkNoYW5nZSk9XCJvbk9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgICp0dWlMZXQ9XCJmaWxsZXIkIHwgYXN5bmMgYXMgZmlsbGVyXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlLXJhbmdlX190ZXh0ZmllbGRcIlxuICAgICAgICB0dWlWYWx1ZUFjY2Vzc29yXG4gICAgICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJjb21wdXRlZE1vYmlsZSA/IG1vYmlsZUljb25Db250ZW50IDogaWNvbkNvbnRlbnRcIlxuICAgICAgICBbcHNldWRvRm9jdXNdPVwicHNldWRvRm9jdXNcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbZmlsbGVyXT1cImdldENvbXB1dGVkRmlsbGVyKGZpbGxlciB8fCAnJylcIlxuICAgICAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbZm9jdXNhYmxlXT1cImNvbXB1dGVkRm9jdXNhYmxlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbdGV4dE1hc2tdPVwiY29tcHV0ZWRNYXNrXCJcbiAgICAgICAgW3ZhbHVlXT1cImNvbXB1dGVkVmFsdWVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbW9iaWxlSWNvbkNvbnRlbnQ+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY2FsZW5kYXJJY29uIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlLXJhbmdlX19pY29uXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWljb25dPVwiIWNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9iaWxlQ2xpY2soKVwiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRlbnQ+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY2FsZW5kYXJJY29uIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl09XCIhY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAjZHJvcGRvd249XCJwb2x5bW9ycGhldXNcIlxuICAgICAgICBbcG9seW1vcnBoZXVzXT1cInR5cGVcIlxuICAgID5cbiAgICAgICAgPHR1aS1jYWxlbmRhclxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlX19jYWxlbmRhclwiXG4gICAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgICBbbWFya2VySGFuZGxlcl09XCJtYXJrZXJIYW5kbGVyXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImRpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgICAgICAgICAgW21vbnRoXT1cImNvbXB1dGVkQWN0aXZlWWVhck1vbnRoXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoZGF5Q2xpY2spPVwib25EYXlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChtb250aENoYW5nZSk9XCJvbk1vbnRoQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC90dWktY2FsZW5kYXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbXMubGVuZ3RoID09PSAxXCJcbiAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRheUNsaWNrKGl0ZW1zWzBdLmRheSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1zWzBdIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvdHVpLWhvc3RlZC1kcm9wZG93bj5cbiJdfQ==
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFFSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBRWIsWUFBWSxFQUNaLDBCQUEwQixFQUsxQixNQUFNLEVBQ04sY0FBYyxFQUVkLFFBQVEsRUFDUixlQUFlLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUVoQiw4QkFBOEIsR0FNakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUNILGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQiw0QkFBNEIsR0FFL0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLGlCQUFpQixHQUNwQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9B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QixDQUFDO3FCQUMzRDtpQkFDSjs7MEJBbURRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUV6QixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsY0FBYzs7MEJBRXJCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOzswQkFFakMsTUFBTTsyQkFBQyxzQkFBc0I7NENBakVqQixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFhekMsR0FBRztzQkFGRixLQUFLO2dCQU1OLEdBQUc7c0JBRkYsS0FBSztnQkFNTixtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBTU4sYUFBYTtzQkFGWixLQUFLO2dCQU1OLEtBQUs7c0JBRkosS0FBSztnQkFNTixzQkFBc0I7c0JBRnJCLEtBQUs7Z0JBMEdOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIFRVSV9EQVRFX0ZPUk1BVCxcbiAgICBUVUlfREFURV9TRVBBUkFUT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIFR1aURhdGVNb2RlLFxuICAgIFR1aURheSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpTnVsbGFibGVTYW1lLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVIsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aURpYWxvZ1NlcnZpY2UsXG4gICAgVHVpTWFya2VySGFuZGxlcixcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG4gICAgVHVpV2l0aE9wdGlvbmFsTWluTWF4LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aU5hbWVkRGF5fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtFTVBUWV9NQVNLfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRFX1RFWFRTLFxuICAgIFRVSV9EQVRFX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlMsXG4gICAgVFVJX01PQklMRV9DQUxFTkRBUixcbiAgICB0dWlEYXRlU3RyZWFtV2l0aFRyYW5zZm9ybWVyLFxuICAgIFR1aUlucHV0RGF0ZU9wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZERhdGVQaXBlLFxuICAgIHR1aUNyZWF0ZURhdGVNYXNrLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL21hc2snO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1kYXRlYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtZGF0ZS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC1kYXRlLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXREYXRlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0RGF0ZUNvbXBvbmVudCksXG4gICAgICAgIHR1aURhdGVTdHJlYW1XaXRoVHJhbnNmb3JtZXIoVFVJX0RBVEVfVkFMVUVfVFJBTlNGT1JNRVIpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpRGF5PlxuICAgIGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PFR1aURheT4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSBtb250aDogVHVpTW9udGggfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dE1hc2tPcHRpb25zOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IHR1aUNyZWF0ZURhdGVNYXNrKHRoaXMuZGF0ZUZvcm1hdCwgdGhpcy5kYXRlU2VwYXJhdG9yKSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZERhdGVQaXBlKHRoaXMpLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgPSBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogcmVhZG9ubHkgVHVpTmFtZWREYXlbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRlZmF1bHRBY3RpdmVZZWFyTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IHR5cGUhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+O1xuXG4gICAgcmVhZG9ubHkgZmlsbGVyJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5kYXRlVGV4dHMkLnBpcGUoXG4gICAgICAgIG1hcChkYXRlVGV4dHMgPT5cbiAgICAgICAgICAgIGNoYW5nZURhdGVTZXBhcmF0b3IoZGF0ZVRleHRzW3RoaXMuZGF0ZUZvcm1hdF0sIHRoaXMuZGF0ZVNlcGFyYXRvciksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVHVpRGlhbG9nU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBUdWlEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9NT0JJTEVfQ0FMRU5EQVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlQ2FsZW5kYXI6IFR5cGU8UmVjb3JkPHN0cmluZywgYW55Pj4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCkgcmVhZG9ubHkgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfU0VQQVJBVE9SKSByZWFkb25seSBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUilcbiAgICAgICAgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcjogVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXI8VHVpRGF5IHwgbnVsbD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9EQVRFX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXREYXRlT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYsIHZhbHVlVHJhbnNmb3JtZXIpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSAmJiAhIXRoaXMubW9iaWxlQ2FsZW5kYXI7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBUdWlJbnB1dERhdGVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBuYXRpdmVWYWx1ZSwgYWN0aXZlSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChhY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGFjdGl2ZUl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlID8gdmFsdWUudG9TdHJpbmcodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpIDogbmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQWN0aXZlWWVhck1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNbMF0gJiYgdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmRheVNhbWUodGhpcy5pdGVtc1swXS5kYXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1swXS5kaXNwbGF5RGF5O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGggfHwgdGhpcy52YWx1ZSB8fCB0aGlzLmRlZmF1bHRBY3RpdmVZZWFyTW9udGg7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiBgYDtcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICF0aGlzLmNvbXB1dGVkTW9iaWxlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1hc2soKTogVHVpVGV4dE1hc2tPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlSXRlbSA/IEVNUFRZX01BU0sgOiB0aGlzLnRleHRNYXNrT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlSXRlbSgpOiBUdWlOYW1lZERheSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKHZhbHVlICYmIHRoaXMuaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uZGF5LmRheVNhbWUodmFsdWUpKSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGNsaWNrYClcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDb21wdXRlZEZpbGxlcihmaWxsZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUl0ZW0gPyBgYCA6IGZpbGxlcjtcbiAgICB9XG5cbiAgICBvbkljb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkTW9iaWxlIHx8ICF0aGlzLm1vYmlsZUNhbGVuZGFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuPFR1aURheT4obmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudCh0aGlzLm1vYmlsZUNhbGVuZGFyLCB0aGlzLmluamVjdG9yKSwge1xuICAgICAgICAgICAgICAgIHNpemU6IGBmdWxsc2NyZWVuYCxcbiAgICAgICAgICAgICAgICBjbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgc2luZ2xlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluLFxuICAgICAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4LFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoICE9PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IFR1aURheS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKHZhbHVlOiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTW9udGhDaGFuZ2UobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9udGggPSBtb250aDtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZSA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6IGBgO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IoXG4gICAgICAgIG9sZFZhbHVlOiBUdWlEYXkgfCBudWxsLFxuICAgICAgICBuZXdWYWx1ZTogVHVpRGF5IHwgbnVsbCxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aU51bGxhYmxlU2FtZShvbGRWYWx1ZSwgbmV3VmFsdWUsIChhLCBiKSA9PiBhLmRheVNhbWUoYikpO1xuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiY2FuT3BlblwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBjYW5PcGVuXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAqdHVpTGV0PVwiZmlsbGVyJCB8IGFzeW5jIGFzIGZpbGxlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9fdGV4dGZpZWxkXCJcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiY2FsZW5kYXJJY29uICYmIGljb25Db250ZW50XCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICAgICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW2ZpbGxlcl09XCJnZXRDb21wdXRlZEZpbGxlcihmaWxsZXIgfHwgJycpXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW3RleHRNYXNrXT1cImNvbXB1dGVkTWFza1wiXG4gICAgICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2ljb25Db250ZW50PlxuICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNhbGVuZGFySWNvbiBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9faWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uXT1cIiFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkljb25DbGljaygpXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNkcm9wZG93bj1cInBvbHltb3JwaGV1c1wiXG4gICAgICAgIFtwb2x5bW9ycGhldXNdPVwidHlwZVwiXG4gICAgPlxuICAgICAgICA8dHVpLWNhbGVuZGFyXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWRhdGVfX2NhbGVuZGFyXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgICAgIFttYXJrZXJIYW5kbGVyXT1cIm1hcmtlckhhbmRsZXJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICBbbW9udGhdPVwiY29tcHV0ZWRBY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgKG1vbnRoQ2hhbmdlKT1cIm9uTW9udGhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3R1aS1jYWxlbmRhcj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPT09IDFcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGF5Q2xpY2soaXRlbXNbMF0uZGF5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbXNbMF0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19