@taiga-ui/core 2.28.0 → 2.32.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 (265) hide show
  1. package/README.md +4 -5
  2. package/abstract/abstract-hint-options.d.ts +7 -0
  3. package/abstract/abstract-hint.d.ts +5 -4
  4. package/abstract/index.d.ts +1 -0
  5. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  6. package/bundles/taiga-ui-core-abstract.umd.js +13 -4
  7. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-abstract.umd.min.js +1 -1
  9. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  11. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  12. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-hints-host.umd.js +1 -0
  16. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-link.umd.js +2 -2
  21. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-link.umd.min.js +2 -2
  23. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +30 -7
  27. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  29. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +1 -1
  33. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +2 -2
  34. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-svg.umd.js +0 -1
  36. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-tooltip.umd.js +23 -13
  39. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +2 -2
  41. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-core-constants.umd.js +2 -2
  43. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  44. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  45. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +17 -12
  47. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  48. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js +2 -2
  49. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-core-directives-hint.umd.js +20 -6
  51. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  52. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  53. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +15 -4
  55. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -1
  57. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +17 -6
  59. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  60. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  61. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-core-providers.umd.js +2 -1
  63. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-providers.umd.min.js +1 -1
  65. package/bundles/taiga-ui-core-providers.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-core-utils-dom.umd.js +1 -1
  67. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  69. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-utils-format.umd.js +37 -5
  71. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-utils-format.umd.min.js +1 -1
  73. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-core-utils-mask.umd.js +6 -2
  75. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  76. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  77. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  78. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  79. package/components/expand/expand.component.d.ts +1 -1
  80. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +3 -3
  81. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  82. package/components/primitive-calendar/primitive-calendar.component.d.ts +1 -1
  83. package/components/primitive-textfield/index.d.ts +1 -0
  84. package/components/primitive-textfield/primitive-textfield-options.d.ts +11 -0
  85. package/components/primitive-textfield/primitive-textfield.component.d.ts +7 -4
  86. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  87. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +1 -1
  88. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  89. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  90. package/components/tooltip/tooltip.component.d.ts +9 -6
  91. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  92. package/constants/version.d.ts +1 -1
  93. package/directives/hint/hint-options.d.ts +12 -0
  94. package/directives/hint/hint.directive.d.ts +5 -3
  95. package/directives/hint/index.d.ts +1 -0
  96. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  97. package/directives/hint-controller/hint-controller.directive.d.ts +7 -5
  98. package/directives/hint-controller/taiga-ui-core-directives-hint-controller.metadata.json +1 -1
  99. package/directives/manual-hint/index.d.ts +1 -0
  100. package/directives/manual-hint/manual-hint-options.d.ts +6 -0
  101. package/directives/manual-hint/manual-hint.directive.d.ts +3 -1
  102. package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
  103. package/directives/pointer-hint/index.d.ts +1 -0
  104. package/directives/pointer-hint/pointer-hint-options.d.ts +9 -0
  105. package/directives/pointer-hint/pointer-hint.directive.d.ts +5 -3
  106. package/directives/pointer-hint/taiga-ui-core-directives-pointer-hint.metadata.json +1 -1
  107. package/esm2015/abstract/abstract-hint-options.js +6 -0
  108. package/esm2015/abstract/abstract-hint.js +7 -5
  109. package/esm2015/abstract/index.js +2 -1
  110. package/esm2015/components/dialog/dialog.component.js +1 -1
  111. package/esm2015/components/expand/expand.component.js +1 -1
  112. package/esm2015/components/hints-host/hint-box/hint-box.component.js +2 -1
  113. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +1 -1
  114. package/esm2015/components/link/link.component.js +3 -3
  115. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +1 -1
  116. package/esm2015/components/primitive-textfield/index.js +2 -1
  117. package/esm2015/components/primitive-textfield/primitive-textfield-options.js +12 -0
  118. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +18 -8
  119. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +1 -1
  120. package/esm2015/components/scroll-controls/scroll-controls.component.js +1 -1
  121. package/esm2015/components/svg/svg.component.js +1 -2
  122. package/esm2015/components/tooltip/tooltip.component.js +16 -9
  123. package/esm2015/components/tooltip/tooltip.module.js +3 -2
  124. package/esm2015/constants/regexp.js +2 -2
  125. package/esm2015/constants/version.js +2 -2
  126. package/esm2015/directives/hint/hint-options.js +10 -0
  127. package/esm2015/directives/hint/hint.directive.js +11 -7
  128. package/esm2015/directives/hint/index.js +2 -1
  129. package/esm2015/directives/hint-controller/hint-controller.directive.js +16 -10
  130. package/esm2015/directives/hint-controller/hint-controller.token.js +4 -3
  131. package/esm2015/directives/manual-hint/index.js +2 -1
  132. package/esm2015/directives/manual-hint/manual-hint-options.js +8 -0
  133. package/esm2015/directives/manual-hint/manual-hint.directive.js +9 -5
  134. package/esm2015/directives/pointer-hint/index.js +2 -1
  135. package/esm2015/directives/pointer-hint/pointer-hint-options.js +8 -0
  136. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +11 -7
  137. package/esm2015/providers/mode.provider.js +3 -2
  138. package/esm2015/utils/dom/process-icon.js +2 -2
  139. package/esm2015/utils/format/format-number.js +5 -6
  140. package/esm2015/utils/format/get-fractional-part-padded.js +15 -0
  141. package/esm2015/utils/format/index.js +3 -1
  142. package/esm2015/utils/format/number-to-string-without-exp.js +18 -0
  143. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +6 -2
  144. package/esm2015/utils/mask/create-number-mask.js +2 -2
  145. package/esm5/abstract/abstract-hint-options.js +6 -0
  146. package/esm5/abstract/abstract-hint.js +7 -5
  147. package/esm5/abstract/index.js +2 -1
  148. package/esm5/components/dialog/dialog.component.js +1 -1
  149. package/esm5/components/expand/expand.component.js +1 -1
  150. package/esm5/components/hints-host/hint-box/hint-box.component.js +2 -1
  151. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +1 -1
  152. package/esm5/components/link/link.component.js +3 -3
  153. package/esm5/components/primitive-calendar/primitive-calendar.component.js +1 -1
  154. package/esm5/components/primitive-textfield/index.js +2 -1
  155. package/esm5/components/primitive-textfield/primitive-textfield-options.js +12 -0
  156. package/esm5/components/primitive-textfield/primitive-textfield.component.js +18 -8
  157. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +1 -1
  158. package/esm5/components/scroll-controls/scroll-controls.component.js +1 -1
  159. package/esm5/components/svg/svg.component.js +1 -2
  160. package/esm5/components/tooltip/tooltip.component.js +20 -9
  161. package/esm5/components/tooltip/tooltip.module.js +3 -2
  162. package/esm5/constants/regexp.js +2 -2
  163. package/esm5/constants/version.js +2 -2
  164. package/esm5/directives/hint/hint-options.js +11 -0
  165. package/esm5/directives/hint/hint.directive.js +11 -7
  166. package/esm5/directives/hint/index.js +2 -1
  167. package/esm5/directives/hint-controller/hint-controller.directive.js +16 -10
  168. package/esm5/directives/hint-controller/hint-controller.token.js +4 -3
  169. package/esm5/directives/manual-hint/index.js +2 -1
  170. package/esm5/directives/manual-hint/manual-hint-options.js +9 -0
  171. package/esm5/directives/manual-hint/manual-hint.directive.js +9 -5
  172. package/esm5/directives/pointer-hint/index.js +2 -1
  173. package/esm5/directives/pointer-hint/pointer-hint-options.js +9 -0
  174. package/esm5/directives/pointer-hint/pointer-hint.directive.js +11 -7
  175. package/esm5/providers/mode.provider.js +3 -2
  176. package/esm5/utils/dom/process-icon.js +2 -2
  177. package/esm5/utils/format/format-number.js +5 -6
  178. package/esm5/utils/format/get-fractional-part-padded.js +16 -0
  179. package/esm5/utils/format/index.js +3 -1
  180. package/esm5/utils/format/number-to-string-without-exp.js +19 -0
  181. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +6 -2
  182. package/esm5/utils/mask/create-number-mask.js +2 -2
  183. package/fesm2015/taiga-ui-core-abstract.js +13 -5
  184. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  185. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  186. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  187. package/fesm2015/taiga-ui-core-components-hints-host.js +1 -0
  188. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  189. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  190. package/fesm2015/taiga-ui-core-components-link.js +2 -2
  191. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  192. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  193. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +29 -9
  194. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  195. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  196. package/fesm2015/taiga-ui-core-components-scroll-controls.js +1 -1
  197. package/fesm2015/taiga-ui-core-components-svg.js +0 -1
  198. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  199. package/fesm2015/taiga-ui-core-components-tooltip.js +17 -9
  200. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  201. package/fesm2015/taiga-ui-core-constants.js +2 -2
  202. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  203. package/fesm2015/taiga-ui-core-directives-hint-controller.js +16 -10
  204. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  205. package/fesm2015/taiga-ui-core-directives-hint.js +20 -9
  206. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  207. package/fesm2015/taiga-ui-core-directives-manual-hint.js +16 -7
  208. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  209. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +18 -9
  210. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  211. package/fesm2015/taiga-ui-core-providers.js +2 -1
  212. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  213. package/fesm2015/taiga-ui-core-utils-dom.js +1 -1
  214. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  215. package/fesm2015/taiga-ui-core-utils-format.js +36 -6
  216. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  217. package/fesm2015/taiga-ui-core-utils-mask.js +6 -2
  218. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  219. package/fesm5/taiga-ui-core-abstract.js +13 -5
  220. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  221. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  222. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  223. package/fesm5/taiga-ui-core-components-hints-host.js +1 -0
  224. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  225. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  226. package/fesm5/taiga-ui-core-components-link.js +2 -2
  227. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  228. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  229. package/fesm5/taiga-ui-core-components-primitive-textfield.js +29 -9
  230. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  231. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  232. package/fesm5/taiga-ui-core-components-scroll-controls.js +1 -1
  233. package/fesm5/taiga-ui-core-components-svg.js +0 -1
  234. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  235. package/fesm5/taiga-ui-core-components-tooltip.js +21 -9
  236. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  237. package/fesm5/taiga-ui-core-constants.js +2 -2
  238. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  239. package/fesm5/taiga-ui-core-directives-hint-controller.js +16 -10
  240. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  241. package/fesm5/taiga-ui-core-directives-hint.js +21 -10
  242. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  243. package/fesm5/taiga-ui-core-directives-manual-hint.js +17 -8
  244. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  245. package/fesm5/taiga-ui-core-directives-pointer-hint.js +19 -10
  246. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  247. package/fesm5/taiga-ui-core-providers.js +2 -1
  248. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  249. package/fesm5/taiga-ui-core-utils-dom.js +1 -1
  250. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  251. package/fesm5/taiga-ui-core-utils-format.js +36 -6
  252. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  253. package/fesm5/taiga-ui-core-utils-mask.js +6 -2
  254. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  255. package/package.json +12 -12
  256. package/providers/taiga-ui-core-providers.metadata.json +1 -1
  257. package/styles/mixins/textfield.less +7 -0
  258. package/styles/taiga-ui-theme.less +1 -0
  259. package/styles/theme/dialog.less +13 -0
  260. package/styles/variables/media.less +2 -2
  261. package/utils/format/get-fractional-part-padded.d.ts +8 -0
  262. package/utils/format/index.d.ts +2 -0
  263. package/utils/format/number-to-string-without-exp.d.ts +7 -0
  264. package/utils/format/taiga-ui-core-utils-format.metadata.json +1 -1
  265. package/utils/mask/create-auto-corrected-money-pipe.d.ts +1 -1
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"HINT_HOVERED_CLASS":"_hint_hovered","TuiHintDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/core/abstract","name":"AbstractTuiHint","line":40,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":36,"character":1},"arguments":[{"selector":"[tuiHint]:not(ng-container)","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiObscuredService","line":38,"character":16},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiParentsScrollService","line":38,"character":36},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":38,"character":61}]}]}],"members":{"tuiHintId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"tuiHintShowDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":45,"character":5}}]}],"tuiHintHideDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":49,"character":5}}]}],"tuiHintHost":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":53,"character":5}}]}],"tuiHint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiRequiredSetter","line":58,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":73,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":73,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":74,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":74,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":76,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiObscuredService","line":78,"character":16}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":79,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":81,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":82,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":83,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":83,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":73,"character":54},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":74,"character":51,"context":{"typeName":"HTMLElement"},"module":"./hint.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":75,"character":45},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":77,"character":18},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiObscuredService","line":80,"character":19},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":81,"character":51},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":84,"character":20}]}],"getElementClientRect":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"showTooltip":[{"__symbolic":"method"}],"hideTooltip":[{"__symbolic":"method"}],"toggleClass":[{"__symbolic":"method"}]}},"TuiHintModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiHintDirective"}]}]}],"members":{}}},"origins":{"HINT_HOVERED_CLASS":"./hint.directive","TuiHintDirective":"./hint.directive","TuiHintModule":"./hint.module"},"importAs":"@taiga-ui/core/directives/hint"}
1
+ {"__symbolic":"module","version":4,"metadata":{"HINT_HOVERED_CLASS":"_hint_hovered","TuiHintDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/core/abstract","name":"AbstractTuiHint","line":42,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":38,"character":1},"arguments":[{"selector":"[tuiHint]:not(ng-container)","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiObscuredService","line":40,"character":16},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiParentsScrollService","line":40,"character":36},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":40,"character":61}]}]}],"members":{"tuiHintId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"tuiHintShowDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":47,"character":5}}]}],"tuiHintHideDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":51,"character":5}}]}],"tuiHintHost":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":55,"character":5}}]}],"tuiHint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiRequiredSetter","line":60,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":76,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":78,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiObscuredService","line":80,"character":16}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":81,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":83,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":83,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":84,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":85,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":85,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_HINT_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":75,"character":54},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":76,"character":51,"context":{"typeName":"HTMLElement"},"module":"./hint.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":77,"character":45},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":79,"character":18},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiObscuredService","line":82,"character":19},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":83,"character":51},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":86,"character":20},{"__symbolic":"reference","name":"TuiHintOptions"}]}],"getElementClientRect":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"showTooltip":[{"__symbolic":"method"}],"hideTooltip":[{"__symbolic":"method"}],"toggleClass":[{"__symbolic":"method"}]}},"TuiHintModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiHintDirective"}]}]}],"members":{}},"TuiHintOptions":{"__symbolic":"interface"},"TUI_TOOLTIP_ICON":"tuiIconTooltipLarge","TUI_HINT_DEFAULT_OPTIONS":{"tuiHintShowDelay":500,"tuiHintHideDelay":200,"tooltipIcon":{"__symbolic":"reference","name":"TUI_TOOLTIP_ICON"}},"TUI_HINT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":24,"character":36},"arguments":["Default parameters for hint directive",{"__symbolic":"error","message":"Lambda not supported","line":27,"character":17,"module":"./hint-options"}]}},"origins":{"HINT_HOVERED_CLASS":"./hint.directive","TuiHintDirective":"./hint.directive","TuiHintModule":"./hint.module","TuiHintOptions":"./hint-options","TUI_TOOLTIP_ICON":"./hint-options","TUI_HINT_DEFAULT_OPTIONS":"./hint-options","TUI_HINT_OPTIONS":"./hint-options"},"importAs":"@taiga-ui/core/directives/hint"}
@@ -1,10 +1,12 @@
1
1
  import { TuiController } from '@taiga-ui/cdk';
2
- import { TuiDirection, TuiHintModeT } from '@taiga-ui/core/types';
2
+ import { TuiHintOptions } from '@taiga-ui/core/directives/hint';
3
3
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
4
4
  export declare class TuiHintControllerDirective extends TuiController {
5
+ private readonly options;
5
6
  content: PolymorpheusContent | null;
6
- direction: TuiDirection;
7
- mode: TuiHintModeT | null;
8
- showDelay: number;
9
- hideDelay: number;
7
+ direction: TuiHintOptions['direction'];
8
+ mode: TuiHintOptions['mode'];
9
+ showDelay: TuiHintOptions['tuiHintShowDelay'];
10
+ hideDelay: TuiHintOptions['tuiHintHideDelay'];
11
+ constructor(options: TuiHintOptions);
10
12
  }
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiHintControllerDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiController","line":17,"character":48},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1},"arguments":[{"selector":"[tuiHintContent]","providers":[{"provide":{"__symbolic":"reference","name":"TUI_HINT_CONTROLLER"},"useExisting":{"__symbolic":"reference","name":"TuiHintControllerDirective"}}]}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5},"arguments":["tuiHintContent"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":20,"character":5}}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5},"arguments":["tuiHintDirection"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":24,"character":5}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["tuiHintMode"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":28,"character":5}}]}],"showDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5},"arguments":["tuiHintShowDelay"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":32,"character":5}}]}],"hideDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5},"arguments":["tuiHintHideDelay"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":36,"character":5}}]}]}},"TuiHintControllerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiHintControllerDirective"}],"exports":[{"__symbolic":"reference","name":"TuiHintControllerDirective"}]}]}],"members":{}},"TUI_HINT_WATCHED_CONTROLLER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":47},"arguments":["watched hint controller"]},"HINT_CONTROLLER_PROVIDER":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":10,"character":4},{"provide":{"__symbolic":"reference","name":"TUI_HINT_WATCHED_CONTROLLER"},"deps":[{"__symbolic":"reference","name":"TUI_HINT_CONTROLLER"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":13,"character":36},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":13,"character":55}],"useFactory":{"__symbolic":"reference","name":"watchedControllerFactory","module":"@taiga-ui/core/providers"}}],"TUI_HINT_CONTROLLER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":39},"arguments":["Controls configuration of hints",{"__symbolic":"error","message":"Lambda not supported","line":7,"character":17,"module":"./hint-controller.token"}]}},"origins":{"TuiHintControllerDirective":"./hint-controller.directive","TuiHintControllerModule":"./hint-controller.module","TUI_HINT_WATCHED_CONTROLLER":"./hint-controller.provider","HINT_CONTROLLER_FACTORY":"@taiga-ui/core/providers","HINT_CONTROLLER_PROVIDER":"./hint-controller.provider","TUI_HINT_CONTROLLER":"./hint-controller.token"},"importAs":"@taiga-ui/core/directives/hint-controller"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiHintControllerDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiController","line":17,"character":48},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1},"arguments":[{"selector":"[tuiHintContent]","providers":[{"provide":{"__symbolic":"reference","name":"TUI_HINT_CONTROLLER"},"useExisting":{"__symbolic":"reference","name":"TuiHintControllerDirective"}}]}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5},"arguments":["tuiHintContent"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":20,"character":5}}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5},"arguments":["tuiHintDirection"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":24,"character":5}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["tuiHintMode"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":28,"character":5}}]}],"showDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5},"arguments":["tuiHintShowDelay"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":32,"character":5}}]}],"hideDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5},"arguments":["tuiHintHideDelay"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":36,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":17},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/hint","name":"TUI_HINT_OPTIONS","line":39,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/hint","name":"TuiHintOptions","line":39,"character":68}]}]}},"TuiHintControllerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiHintControllerDirective"}],"exports":[{"__symbolic":"reference","name":"TuiHintControllerDirective"}]}]}],"members":{}},"TUI_HINT_WATCHED_CONTROLLER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":47},"arguments":["watched hint controller"]},"HINT_CONTROLLER_PROVIDER":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":10,"character":4},{"provide":{"__symbolic":"reference","name":"TUI_HINT_WATCHED_CONTROLLER"},"deps":[{"__symbolic":"reference","name":"TUI_HINT_CONTROLLER"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":13,"character":36},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":13,"character":55}],"useFactory":{"__symbolic":"reference","name":"watchedControllerFactory","module":"@taiga-ui/core/providers"}}],"TUI_HINT_CONTROLLER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":39},"arguments":["Controls configuration of hints",{"__symbolic":"error","message":"Lambda not supported","line":8,"character":17,"module":"./hint-controller.token"}]}},"origins":{"TuiHintControllerDirective":"./hint-controller.directive","TuiHintControllerModule":"./hint-controller.module","TUI_HINT_WATCHED_CONTROLLER":"./hint-controller.provider","HINT_CONTROLLER_FACTORY":"@taiga-ui/core/providers","HINT_CONTROLLER_PROVIDER":"./hint-controller.provider","TUI_HINT_CONTROLLER":"./hint-controller.token"},"importAs":"@taiga-ui/core/directives/hint-controller"}
@@ -1,2 +1,3 @@
1
1
  export * from './manual-hint.directive';
2
2
  export * from './manual-hint.module';
3
+ export * from './manual-hint-options';
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { TuiAbstractHintOptions } from '@taiga-ui/core/abstract';
3
+ export declare type TuiManualHintOptions = TuiAbstractHintOptions;
4
+ /** Default values for manual hint options */
5
+ export declare const TUI_MANUAL_HINT_DEFAULT_OPTIONS: TuiManualHintOptions;
6
+ export declare const TUI_MANUAL_HINT_OPTIONS: InjectionToken<TuiAbstractHintOptions>;
@@ -3,9 +3,11 @@ import { TuiActiveZoneDirective } from '@taiga-ui/cdk';
3
3
  import { AbstractTuiHint } from '@taiga-ui/core/abstract';
4
4
  import { TuiHintService } from '@taiga-ui/core/services';
5
5
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
6
+ import { TuiManualHintOptions } from './manual-hint-options';
6
7
  export declare class TuiManualHintDirective extends AbstractTuiHint {
8
+ protected readonly options: TuiManualHintOptions;
7
9
  content: PolymorpheusContent;
8
10
  set tuiManualHintShow(show: boolean);
9
- constructor(elementRef: ElementRef<HTMLElement>, hintService: TuiHintService, activeZone: TuiActiveZoneDirective | null);
11
+ constructor(elementRef: ElementRef<HTMLElement>, hintService: TuiHintService, activeZone: TuiActiveZoneDirective | null, options: TuiManualHintOptions);
10
12
  getElementClientRect(): ClientRect;
11
13
  }
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiManualHintDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/core/abstract","name":"AbstractTuiHint","line":9,"character":44},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[tuiManualHint]:not(ng-container)"}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5},"arguments":["tuiManualHint"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":11,"character":5}}]}],"tuiManualHintShow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiRequiredSetter","line":15,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":25,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":25,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":26,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":27,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":28,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":51,"context":{"typeName":"HTMLElement"},"module":"./manual-hint.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":26,"character":45},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":29,"character":20}]}],"getElementClientRect":[{"__symbolic":"method"}]}},"TuiManualHintModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiManualHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiManualHintDirective"}]}]}],"members":{}}},"origins":{"TuiManualHintDirective":"./manual-hint.directive","TuiManualHintModule":"./manual-hint.module"},"importAs":"@taiga-ui/core/directives/manual-hint"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiManualHintDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/core/abstract","name":"AbstractTuiHint","line":11,"character":44},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1},"arguments":[{"selector":"[tuiManualHint]:not(ng-container)"}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5},"arguments":["tuiManualHint"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":13,"character":5}}]}],"tuiManualHintShow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiRequiredSetter","line":17,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":27,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":28,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":29,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":30,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_MANUAL_HINT_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":27,"character":51,"context":{"typeName":"HTMLElement"},"module":"./manual-hint.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":28,"character":45},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneDirective","line":31,"character":20},{"__symbolic":"reference","name":"TuiManualHintOptions"}]}],"getElementClientRect":[{"__symbolic":"method"}]}},"TuiManualHintModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiManualHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiManualHintDirective"}]}]}],"members":{}},"TuiManualHintOptions":{"__symbolic":"interface"},"TUI_MANUAL_HINT_DEFAULT_OPTIONS":{},"TUI_MANUAL_HINT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":13,"character":43},"arguments":["Default parameters for manual hint directive",{"__symbolic":"error","message":"Lambda not supported","line":16,"character":17,"module":"./manual-hint-options"}]}},"origins":{"TuiManualHintDirective":"./manual-hint.directive","TuiManualHintModule":"./manual-hint.module","TuiManualHintOptions":"./manual-hint-options","TUI_MANUAL_HINT_DEFAULT_OPTIONS":"./manual-hint-options","TUI_MANUAL_HINT_OPTIONS":"./manual-hint-options"},"importAs":"@taiga-ui/core/directives/manual-hint"}
@@ -1,2 +1,3 @@
1
1
  export * from './pointer-hint.directive';
2
2
  export * from './pointer-hint.module';
3
+ export * from './pointer-hint-options';
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { TuiAbstractHintOptions } from '@taiga-ui/core/abstract';
3
+ export interface TuiPointerHintOptions extends TuiAbstractHintOptions {
4
+ readonly tuiHintShowDelay: number;
5
+ readonly tuiHintHideDelay: number;
6
+ }
7
+ /** Default values for pointer hint options */
8
+ export declare const TUI_POINTER_HINT_DEFAULT_OPTIONS: TuiPointerHintOptions;
9
+ export declare const TUI_POINTER_HINT_OPTIONS: InjectionToken<TuiPointerHintOptions>;
@@ -3,14 +3,16 @@ import { TuiDestroyService, TuiHoveredService } from '@taiga-ui/cdk';
3
3
  import { AbstractTuiHint } from '@taiga-ui/core/abstract';
4
4
  import { TuiHintService } from '@taiga-ui/core/services';
5
5
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
6
+ import { TuiPointerHintOptions } from './pointer-hint-options';
6
7
  export declare class TuiPointerHintDirective extends AbstractTuiHint {
7
8
  private readonly destroy$;
9
+ protected readonly options: TuiPointerHintOptions;
8
10
  private currentMouseRect;
9
- tuiHintShowDelay: number;
10
- tuiHintHideDelay: number;
11
+ tuiHintShowDelay: TuiPointerHintOptions['tuiHintShowDelay'];
12
+ tuiHintHideDelay: TuiPointerHintOptions['tuiHintHideDelay'];
11
13
  set tuiPointerHint(value: PolymorpheusContent | null);
12
14
  content: PolymorpheusContent;
13
- constructor(elementRef: ElementRef<HTMLElement>, hintService: TuiHintService, destroy$: TuiDestroyService, hoveredService: TuiHoveredService);
15
+ constructor(elementRef: ElementRef<HTMLElement>, hintService: TuiHintService, destroy$: TuiDestroyService, hoveredService: TuiHoveredService, options: TuiPointerHintOptions);
14
16
  getElementClientRect(): ClientRect;
15
17
  private initMouseMoveSubscription;
16
18
  private mousePositionToClientRect;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiPointerHintDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/core/abstract","name":"AbstractTuiHint","line":25,"character":45},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":21,"character":1},"arguments":[{"selector":"[tuiPointerHint]:not(ng-container)","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":23,"character":16}]}]}],"members":{"tuiHintShowDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":29,"character":5}}]}],"tuiHintHideDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":33,"character":5}}]}],"tuiPointerHint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiRequiredSetter","line":38,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":53,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":55,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":57,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":57,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":51,"context":{"typeName":"HTMLElement"},"module":"./pointer-hint.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":54,"character":45},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":56,"character":35},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":57,"character":51}]}],"getElementClientRect":[{"__symbolic":"method"}],"initMouseMoveSubscription":[{"__symbolic":"method"}],"mousePositionToClientRect":[{"__symbolic":"method"}]}},"TuiPointerHintModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiPointerHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiPointerHintDirective"}]}]}],"members":{}}},"origins":{"TuiPointerHintDirective":"./pointer-hint.directive","TuiPointerHintModule":"./pointer-hint.module"},"importAs":"@taiga-ui/core/directives/pointer-hint"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiPointerHintDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/core/abstract","name":"AbstractTuiHint","line":27,"character":45},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":23,"character":1},"arguments":[{"selector":"[tuiPointerHint]:not(ng-container)","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":25,"character":16}]}]}],"members":{"tuiHintShowDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":31,"character":5}}]}],"tuiHintHideDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":36,"character":5}}]}],"tuiPointerHint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiRequiredSetter","line":42,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":57,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":57,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":58,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":59,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":59,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":61,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":61,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":62,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_POINTER_HINT_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":57,"character":51,"context":{"typeName":"HTMLElement"},"module":"./pointer-hint.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiHintService","line":58,"character":45},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":60,"character":35},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredService","line":61,"character":51},{"__symbolic":"reference","name":"TuiPointerHintOptions"}]}],"getElementClientRect":[{"__symbolic":"method"}],"initMouseMoveSubscription":[{"__symbolic":"method"}],"mousePositionToClientRect":[{"__symbolic":"method"}]}},"TuiPointerHintModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiPointerHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiPointerHintDirective"}]}]}],"members":{}},"TuiPointerHintOptions":{"__symbolic":"interface"},"TUI_POINTER_HINT_DEFAULT_OPTIONS":{"tuiHintShowDelay":0,"tuiHintHideDelay":0},"TUI_POINTER_HINT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":18,"character":44},"arguments":["Default parameters for pointer hint directive",{"__symbolic":"error","message":"Lambda not supported","line":21,"character":17,"module":"./pointer-hint-options"}]}},"origins":{"TuiPointerHintDirective":"./pointer-hint.directive","TuiPointerHintModule":"./pointer-hint.module","TuiPointerHintOptions":"./pointer-hint-options","TUI_POINTER_HINT_DEFAULT_OPTIONS":"./pointer-hint-options","TUI_POINTER_HINT_OPTIONS":"./pointer-hint-options"},"importAs":"@taiga-ui/core/directives/pointer-hint"}
@@ -0,0 +1,6 @@
1
+ /** Default values for abstract hint options */
2
+ export const TUI_ABSTRACT_HINT_DEFAULT_OPTIONS = {
3
+ mode: null,
4
+ direction: 'bottom-left',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGludC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QvIiwic291cmNlcyI6WyJhYnN0cmFjdC1oaW50LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUEyQjtJQUNyRSxJQUFJLEVBQUUsSUFBSTtJQUNWLFNBQVMsRUFBRSxhQUFhO0NBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aURpcmVjdGlvbiwgVHVpSGludE1vZGVUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQWJzdHJhY3RIaW50T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgbW9kZTogVHVpSGludE1vZGVUIHwgbnVsbDtcbiAgICByZWFkb25seSBkaXJlY3Rpb246IFR1aURpcmVjdGlvbjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciBhYnN0cmFjdCBoaW50IG9wdGlvbnMgKi9cbmV4cG9ydCBjb25zdCBUVUlfQUJTVFJBQ1RfSElOVF9ERUZBVUxUX09QVElPTlM6IFR1aUFic3RyYWN0SGludE9wdGlvbnMgPSB7XG4gICAgbW9kZTogbnVsbCxcbiAgICBkaXJlY3Rpb246ICdib3R0b20tbGVmdCcsXG59O1xuIl19
@@ -3,12 +3,13 @@ import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';
3
3
  import { TuiActiveZoneDirective, tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { TuiHintService } from '@taiga-ui/core/services';
5
5
  let AbstractTuiHint = class AbstractTuiHint {
6
- constructor(elementRef, hintService, activeZone) {
6
+ constructor(elementRef, hintService, activeZone, options) {
7
7
  this.elementRef = elementRef;
8
8
  this.hintService = hintService;
9
9
  this.activeZone = activeZone;
10
- this.mode = null;
11
- this.direction = 'bottom-left';
10
+ this.options = options;
11
+ this.mode = this.options.mode;
12
+ this.direction = this.options.direction;
12
13
  this.content = '';
13
14
  }
14
15
  ngOnDestroy() {
@@ -24,7 +25,8 @@ let AbstractTuiHint = class AbstractTuiHint {
24
25
  AbstractTuiHint.ctorParameters = () => [
25
26
  { type: ElementRef },
26
27
  { type: TuiHintService },
27
- { type: TuiActiveZoneDirective }
28
+ { type: TuiActiveZoneDirective },
29
+ { type: undefined }
28
30
  ];
29
31
  __decorate([
30
32
  Input('tuiHintMode'),
@@ -38,4 +40,4 @@ AbstractTuiHint = __decorate([
38
40
  Directive()
39
41
  ], AbstractTuiHint);
40
42
  export { AbstractTuiHint };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGludC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsiYWJzdHJhY3QtaGludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUt2RCxJQUFzQixlQUFlLEdBQXJDLE1BQXNCLGVBQWU7SUFXakMsWUFDdUIsVUFBbUMsRUFDbkMsV0FBMkIsRUFDckMsVUFBeUM7UUFGL0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQStCO1FBWHRELFNBQUksR0FBd0IsSUFBSSxDQUFDO1FBSWpDLGNBQVMsR0FBaUIsYUFBYSxDQUFDO1FBRXhDLFlBQU8sR0FBd0IsRUFBRSxDQUFDO0lBTS9CLENBQUM7SUFJSixXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFUyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFUyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSixDQUFBOztZQWxCc0MsVUFBVTtZQUNULGNBQWM7WUFDekIsc0JBQXNCOztBQVgvQztJQUZDLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDcEIsY0FBYyxFQUFFOzZDQUNnQjtBQUlqQztJQUZDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztJQUN6QixjQUFjLEVBQUU7a0RBQ3VCO0FBUHRCLGVBQWU7SUFEcEMsU0FBUyxFQUFFO0dBQ1UsZUFBZSxDQThCcEM7U0E5QnFCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsIHR1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSGludFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUdWlIaW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoJ3R1aUhpbnRNb2RlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vZGU6IFR1aUhpbnRNb2RlVCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCd0dWlIaW50RGlyZWN0aW9uJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpcmVjdGlvbjogVHVpRGlyZWN0aW9uID0gJ2JvdHRvbS1sZWZ0JztcblxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBoaW50U2VydmljZTogVHVpSGludFNlcnZpY2UsXG4gICAgICAgIHJlYWRvbmx5IGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge31cblxuICAgIGFic3RyYWN0IGdldEVsZW1lbnRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Q7XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzaG93VG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy5oaW50U2VydmljZS5hZGQodGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhpZGVUb29sdGlwKCkge1xuICAgICAgICB0aGlzLmhpbnRTZXJ2aWNlLnJlbW92ZSh0aGlzKTtcbiAgICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGludC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsiYWJzdHJhY3QtaGludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQU12RCxJQUFzQixlQUFlLEdBQXJDLE1BQXNCLGVBQWU7SUFXakMsWUFDdUIsVUFBbUMsRUFDbkMsV0FBMkIsRUFDckMsVUFBeUMsRUFDL0IsT0FBK0I7UUFIL0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQStCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBWnRELFNBQUksR0FBbUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFJekQsY0FBUyxHQUF3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUV4RSxZQUFPLEdBQXdCLEVBQUUsQ0FBQztJQU8vQixDQUFDO0lBSUosV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRVMsV0FBVztRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRVMsV0FBVztRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0osQ0FBQTs7WUFuQnNDLFVBQVU7WUFDVCxjQUFjO1lBQ3pCLHNCQUFzQjs7O0FBWC9DO0lBRkMsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUNwQixjQUFjLEVBQUU7NkNBQ3dDO0FBSXpEO0lBRkMsS0FBSyxDQUFDLGtCQUFrQixDQUFDO0lBQ3pCLGNBQWMsRUFBRTtrREFDdUQ7QUFQdEQsZUFBZTtJQURwQyxTQUFTLEVBQUU7R0FDVSxlQUFlLENBK0JwQztTQS9CcUIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZURpcmVjdGl2ZSwgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlIaW50U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUFic3RyYWN0SGludE9wdGlvbnN9IGZyb20gJy4vYWJzdHJhY3QtaGludC1vcHRpb25zJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUdWlIaW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoJ3R1aUhpbnRNb2RlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vZGU6IFR1aUFic3RyYWN0SGludE9wdGlvbnNbJ21vZGUnXSA9IHRoaXMub3B0aW9ucy5tb2RlO1xuXG4gICAgQElucHV0KCd0dWlIaW50RGlyZWN0aW9uJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpcmVjdGlvbjogVHVpQWJzdHJhY3RIaW50T3B0aW9uc1snZGlyZWN0aW9uJ10gPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uO1xuXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnRTZXJ2aWNlOiBUdWlIaW50U2VydmljZSxcbiAgICAgICAgcmVhZG9ubHkgYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zOiBUdWlBYnN0cmFjdEhpbnRPcHRpb25zLFxuICAgICkge31cblxuICAgIGFic3RyYWN0IGdldEVsZW1lbnRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Q7XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzaG93VG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy5oaW50U2VydmljZS5hZGQodGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhpZGVUb29sdGlwKCkge1xuICAgICAgICB0aGlzLmhpbnRTZXJ2aWNlLnJlbW92ZSh0aGlzKTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
1
  export * from './abstract-dropdown';
2
2
  export * from './abstract-hint';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QtZHJvcGRvd24nO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1oaW50JztcbiJdfQ==
3
+ export * from './abstract-hint-options';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0LWhpbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1oaW50LW9wdGlvbnMnO1xuIl19
@@ -89,7 +89,7 @@ TuiDialogComponent = __decorate([
89
89
  changeDetection: ChangeDetectionStrategy.OnPush,
90
90
  providers: TUI_DIALOG_PROVIDERS,
91
91
  animations: [tuiSlideInTop, tuiFadeIn],
92
- styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100vh;border-radius:0;border:none;background:var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
92
+ styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-base-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
93
93
  }),
94
94
  __param(0, Inject(TUI_ANIMATIONS_DURATION)),
95
95
  __param(1, Inject(TUI_IS_MOBILE)),
@@ -127,4 +127,4 @@ TuiExpandComponent = __decorate([
127
127
  __param(0, Inject(ChangeDetectorRef))
128
128
  ], TuiExpandComponent);
129
129
  export { TuiExpandComponent };
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBcUMzQixZQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDNUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQTJCZCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLElBQUksY0FBYyxDQUFDLFFBQWlCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFR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Q0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBOztZQTVFc0UsaUJBQWlCLHVCQUEvRSxNQUFNLFNBQUMsaUJBQWlCOztBQXBDN0I7SUFEQyxTQUFTLENBQUMsU0FBUyxDQUFDOzBEQUMrQjtBQU1wRDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtpREFDSDtBQUlkO0lBRkMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUNqQixpQkFBaUIsRUFBRTt3REFpQm5CO0FBR0Q7SUFEQyxZQUFZLENBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUM7bURBQ25DO0FBSTFCO0lBRkMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO0lBQzlCLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztvREFDRjtBQU9oQztJQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztrREFHOUI7QUFHRDtJQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztpREFHN0I7QUFHRDtJQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnREF3QjlCO0FBT0Q7SUFEQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7eURBU3pDO0FBR0Q7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3REFPM0M7QUFuR1Esa0JBQWtCO0lBTjlCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLG9hQUFxQztRQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FFbEQsQ0FBQztJQXVDTyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBdENyQixrQkFBa0IsQ0FrSDlCO1NBbEhZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNDdXJyZW50VGFyZ2V0LCB0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRVhQQU5EX0xPQURFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuaW1wb3J0IHtUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2V4cGFuZC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmVudW0gU3RhdGUge1xuICAgIElkbGUsXG4gICAgTG9hZGluZyxcbiAgICBQcmVwYXJlZCxcbiAgICBBbmltYXRlZCxcbn1cblxuY29uc3QgTE9BREVSX0hFSUdIVCA9IDQ4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHBhbmQudGVtcGxhdGUuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIGNvbnRlbnRXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHN0YXRlID0gU3RhdGUuSWRsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCdleHBhbmRlZCcpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgZXhwYW5kZWRTZXR0ZXIoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5BbmltYXRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLnJldHJpZ2dlcih0aGlzLmFzeW5jICYmIGV4cGFuZGVkID8gU3RhdGUuTG9hZGluZyA6IFN0YXRlLkFuaW1hdGVkKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUV4cGFuZENvbnRlbnREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgY29udGVudD86IFRlbXBsYXRlUmVmPHt9PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vdmVyZmxvdycpXG4gICAgZ2V0IG92ZXJmbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sb2FkaW5nJylcbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5leHBhbmRlZCAmJiB0aGlzLmFzeW5jICYmIHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtleHBhbmRlZCwgc3RhdGUsIGNvbnRlbnRXcmFwcGVyfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgICAgICAgICgoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudFdyYXBwZXIgJiYgZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCwgTE9BREVSX0hFSUdIVCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkIHx8IHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gICAgb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNDdXJyZW50VGFyZ2V0KGV2ZW50KSAmJlxuICAgICAgICAgICAgZXZlbnQucHJvcGVydHlOYW1lID09PSAnb3BhY2l0eScgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJldHJpZ2dlciBDU1MgaGVpZ2h0IHRyYW5zaXRpb24gZnJvbSB0aGUgY29ycmVjdCBudW1iZXJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuUHJlcGFyZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBcUMzQixZQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDNUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQTJCZCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLElBQUksY0FBYyxDQUFDLFFBQWlCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFR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Q0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBOztZQTVFc0UsaUJBQWlCLHVCQUEvRSxNQUFNLFNBQUMsaUJBQWlCOztBQXBDN0I7SUFEQyxTQUFTLENBQUMsU0FBUyxDQUFDOzBEQUN3QztBQU03RDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtpREFDSDtBQUlkO0lBRkMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUNqQixpQkFBaUIsRUFBRTt3REFpQm5CO0FBR0Q7SUFEQyxZQUFZLENBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUM7bURBQ25DO0FBSTFCO0lBRkMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO0lBQzlCLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztvREFDRjtBQU9oQztJQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztrREFHOUI7QUFHRDtJQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztpREFHN0I7QUFHRDtJQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnREF3QjlCO0FBT0Q7SUFEQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7eURBU3pDO0FBR0Q7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3REFPM0M7QUFuR1Esa0JBQWtCO0lBTjlCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLG9hQUFxQztRQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FFbEQsQ0FBQztJQXVDTyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBdENyQixrQkFBa0IsQ0FrSDlCO1NBbEhZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNDdXJyZW50VGFyZ2V0LCB0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRVhQQU5EX0xPQURFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuaW1wb3J0IHtUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2V4cGFuZC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmVudW0gU3RhdGUge1xuICAgIElkbGUsXG4gICAgTG9hZGluZyxcbiAgICBQcmVwYXJlZCxcbiAgICBBbmltYXRlZCxcbn1cblxuY29uc3QgTE9BREVSX0hFSUdIVCA9IDQ4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHBhbmQudGVtcGxhdGUuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHN0YXRlID0gU3RhdGUuSWRsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCdleHBhbmRlZCcpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgZXhwYW5kZWRTZXR0ZXIoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5BbmltYXRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLnJldHJpZ2dlcih0aGlzLmFzeW5jICYmIGV4cGFuZGVkID8gU3RhdGUuTG9hZGluZyA6IFN0YXRlLkFuaW1hdGVkKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUV4cGFuZENvbnRlbnREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgY29udGVudD86IFRlbXBsYXRlUmVmPHt9PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vdmVyZmxvdycpXG4gICAgZ2V0IG92ZXJmbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sb2FkaW5nJylcbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5leHBhbmRlZCAmJiB0aGlzLmFzeW5jICYmIHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtleHBhbmRlZCwgc3RhdGUsIGNvbnRlbnRXcmFwcGVyfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgICAgICAgICgoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudFdyYXBwZXIgJiYgZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCwgTE9BREVSX0hFSUdIVCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkIHx8IHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gICAgb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNDdXJyZW50VGFyZ2V0KGV2ZW50KSAmJlxuICAgICAgICAgICAgZXZlbnQucHJvcGVydHlOYW1lID09PSAnb3BhY2l0eScgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJldHJpZ2dlciBDU1MgaGVpZ2h0IHRyYW5zaXRpb24gZnJvbSB0aGUgY29ycmVjdCBudW1iZXJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuUHJlcGFyZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -102,6 +102,7 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
102
102
  ARROWHEAD_OFFSET -
103
103
  portalRect.left;
104
104
  directions.splice(directions.indexOf(direction), 1);
105
+ // eslint-disable-next-line no-constant-condition
105
106
  while (true) {
106
107
  switch (direction) {
107
108
  case 'left':
@@ -222,4 +223,4 @@ TuiHintBoxComponent = __decorate([
222
223
  __param(6, Inject(TuiHintsHostComponent))
223
224
  ], TuiHintBoxComponent);
224
225
  export { TuiHintBoxComponent };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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QUFxQix1QkFEaEQsTUFBTSxTQUFDLHFCQUFxQjs7QUFaakM7SUFEQyxTQUFTLENBQUMsT0FBTyxDQUFDO2tEQUM4QjtBQUdqRDtJQURDLEtBQUssRUFBRTtpREFDZTtBQW1CdkI7SUFGQyxPQUFPO0lBQ1AsV0FBVyxDQUFDLG9CQUFvQixDQUFDO3dEQUdqQztBQUdEO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOytDQUc3QjtBQS9CUSxtQkFBbUI7SUFQL0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5Qiw0T0FBdUM7UUFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O0tBQ2pDLENBQUM7SUFTTyxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0dBZHpCLG1CQUFtQixDQXFNL0I7U0FyTVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7cHgsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb2ludGVyLWhpbnQnO1xuaW1wb3J0IHtUdWlNZWRpYX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NRURJQX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhpbnRzSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaGludHMtaG9zdC5jb21wb25lbnQnO1xuXG5jb25zdCBTUEFDRSA9IDg7XG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuY29uc3QgTEVGVF9QQURESU5HID0gMTY7XG5jb25zdCBUT1BfUEFERElORyA9IDEyO1xuY29uc3QgQVJST1dfU0laRSA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAxNjtcbmNvbnN0IEFSUk9XSEVBRF9PRkZTRVQgPSBBUlJPV19PRkZTRVQgKyAoQVJST1dfU0laRSAqIE1hdGguc3FydCgyKSkgLyAyO1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAnYm90dG9tLWxlZnQnLFxuICAgICd0b3AtcmlnaHQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tcmlnaHQnOiAndG9wLXJpZ2h0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICd0b3AtcmlnaHQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tcmlnaHQnOiAnYm90dG9tLWxlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIGFic3RyYWN0aW5nIFVJIGFuZCBtb3ZlIHRvIENESywgc3BsaXQgaGludCBhbmQgb3ZlcmZsb3dcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50LWJveFtoaW50XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpbnQtYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQtYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRCb3hDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ2Fycm93JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIGhpbnQhOiBBYnN0cmFjdFR1aUhpbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9NRURJQSkgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogVHVpTWVkaWEsXG4gICAgICAgIEBJbmplY3QoVHVpSGludHNIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRzSG9zdDogVHVpSGludHNIb3N0Q29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBhbmltYXRpb25GcmFtZSRcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl91bnRvdWNoYWJsZScpXG4gICAgZ2V0IGlzVW50b3VjaGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnQgaW5zdGFuY2VvZiBUdWlQb2ludGVySGludERpcmVjdGl2ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1tb2RlJylcbiAgICBnZXQgbW9kZSgpOiBUdWlIaW50TW9kZVQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludC5tb2RlO1xuICAgIH1cblxuICAgIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2luZG93UmVmLmlubmVyV2lkdGggPD0gdGhpcy5tZWRpYS5tb2JpbGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB3cmFwcGVyIHBvc2l0aW9uLlxuICAgICAqIFN0eWxlcyBhcmUgc2V0IGRpcmVjdGx5IHRvIGF2b2lkIHZpc3VhbCBzaGFrZSBvZiBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZSAhPT0gJ292ZXJmbG93Jykge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb29yZGluYXRlcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRPdmVyZmxvd1N0eWxlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgaXNIb3N0TG9uZyA9IGhvc3RSZWN0LndpZHRoID4gQVJST1dIRUFEX09GRlNFVCAqIDI7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbnM6IFR1aURpcmVjdGlvbltdID0gW1xuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgICdib3R0b20tbGVmdCcsXG4gICAgICAgICAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAgICAgICAgICd0b3AtbGVmdCcsXG4gICAgICAgICAgICAndG9wLXJpZ2h0JyxcbiAgICAgICAgXTtcblxuICAgICAgICBsZXQgdG9wID0gMDtcbiAgICAgICAgbGV0IGxlZnQgPSAwO1xuICAgICAgICBsZXQge2RpcmVjdGlvbn0gPSB0aGlzLmhpbnQ7XG5cbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFRvcCA9XG4gICAgICAgICAgICBob3N0UmVjdC50b3AgKyBob3N0UmVjdC5oZWlnaHQgLyAyIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCBob3Jpem9udGFsTGVmdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLSBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFJpZ2h0ID0gaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoICsgU1BBQ0UgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tID0gaG9zdFJlY3QuYm90dG9tICsgU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFJpZ2h0ID0gaXNIb3N0TG9uZ1xuICAgICAgICAgICAgPyBob3N0UmVjdC5sZWZ0IC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgLSBBUlJPV0hFQURfT0ZGU0VUIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbExlZnQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCArIGhvc3RSZWN0LndpZHRoIC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgLVxuICAgICAgICAgICAgICB0b29sdGlwUmVjdC53aWR0aCArXG4gICAgICAgICAgICAgIGhvc3RSZWN0LndpZHRoIC8gMiArXG4gICAgICAgICAgICAgIEFSUk9XSEVBRF9PRkZTRVQgLVxuICAgICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQ7XG5cbiAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpO1xuXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gaG9yaXpvbnRhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGhvcml6b250YWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9wLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxMZWZ0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxCb3R0b207XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbEZpdCA9XG4gICAgICAgICAgICAgICAgdG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIHRvcCArIHRvb2x0aXBSZWN0LmhlaWdodCArIFNQQUNFICsgcG9ydGFsUmVjdC50b3AgPFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhvcml6b250YWxGaXQgPVxuICAgICAgICAgICAgICAgIGxlZnQgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIGxlZnQgKyB0b29sdGlwUmVjdC53aWR0aCArIFNQQUNFICsgcG9ydGFsUmVjdC5sZWZ0IDwgcG9ydGFsUmVjdC53aWR0aDtcblxuICAgICAgICAgICAgaWYgKGRpcmVjdGlvbnMubGVuZ3RoID09PSAwIHx8ICh2ZXJ0aWNhbEZpdCAmJiBob3Jpem9udGFsRml0KSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB2ZXJ0aWNhbEZpdFxuICAgICAgICAgICAgICAgID8gcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsW2RpcmVjdGlvbl1cbiAgICAgICAgICAgICAgICA6IHJldmVyc2VEaXJlY3Rpb25zVmVydGljYWxbZGlyZWN0aW9uXTtcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpWzBdIHx8IGRpcmVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KHRvcCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBvcnRhbFJlY3QgPSB0aGlzLmhpbnRzSG9zdC5jbGllbnRSZWN0O1xuICAgICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0b29sdGlwO1xuICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wID0gaG9zdFJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcEZpdCA9XG4gICAgICAgICAgICB2ZXJ0aWNhbFRvcCArIHBvcnRhbFJlY3QudG9wID4gU1BBQ0UgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbUZpdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gPiAwICYmXG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gKyAyICogU1BBQ0UgKyB0b29sdGlwUmVjdC5oZWlnaHQgPCB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICh0aGlzLmhpbnQuZGlyZWN0aW9uLmluY2x1ZGVzKCd0b3AnKSAmJiB2ZXJ0aWNhbFRvcEZpdCkgfHwgIXZlcnRpY2FsQm90dG9tRml0XG4gICAgICAgICAgICAgICAgPyAndG9wJ1xuICAgICAgICAgICAgICAgIDogJ2JvdHRvbSc7XG4gICAgICAgIGNvbnN0IGF0dGVtcHRlZExlZnQgPVxuICAgICAgICAgICAgcG9ydGFsUmVjdC5sZWZ0ICsgaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIHRvb2x0aXBSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgYXR0ZW1wdGVkTGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgPiBwb3J0YWxSZWN0LnJpZ2h0XG4gICAgICAgICAgICAgICAgPyBwb3J0YWxSZWN0LnJpZ2h0IC0gU1BBQ0UgLSB0b29sdGlwUmVjdC53aWR0aFxuICAgICAgICAgICAgICAgIDogYXR0ZW1wdGVkTGVmdCxcbiAgICAgICAgICAgIFNQQUNFICogMixcbiAgICAgICAgKTtcblxuICAgICAgICBzdHlsZS5sZWZ0ID0gcHgobGVmdCk7XG4gICAgICAgIHN0eWxlLnRvcCA9IGRpcmVjdGlvbiA9PT0gJ3RvcCcgPyBweCh2ZXJ0aWNhbFRvcCkgOiBweCh2ZXJ0aWNhbEJvdHRvbSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXJyb3cpIHtcbiAgICAgICAgICAgIHRoaXMuYXJyb3cubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gcHgoXG4gICAgICAgICAgICAgICAgaG9zdFJlY3QubGVmdCA8PSBTUEFDRSAqIDIgJiYgaG9zdFJlY3Qud2lkdGggPiBBUlJPV19PRkZTRVQgKiAyXG4gICAgICAgICAgICAgICAgICAgID8gQVJST1dfT0ZGU0VUXG4gICAgICAgICAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIGxlZnQgLSBBUlJPV19TSVpFIC8gMixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0T3ZlcmZsb3dTdHlsZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBzdHlsZS50b3AgPSBweChob3N0UmVjdC50b3AgLSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBUT1BfUEFERElORyAtIEJPUkRFUl9XSURUSCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChob3N0UmVjdC5sZWZ0IC0gTEVGVF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUud2lkdGggPSBweChob3N0UmVjdC53aWR0aCArIExFRlRfUEFERElORyAqIDIgKyBCT1JERVJfV0lEVEggKiAyKTtcbiAgICB9XG59XG4iXX0=
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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LFNBQVM7WUFFVyxxQkFBcUIsdUJBRGhELE1BQU0sU0FBQyxxQkFBcUI7O0FBWmpDO0lBREMsU0FBUyxDQUFDLE9BQU8sQ0FBQztrREFDOEI7QUFHakQ7SUFEQyxLQUFLLEVBQUU7aURBQ2U7QUFtQnZCO0lBRkMsT0FBTztJQUNQLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQzt3REFHakM7QUFHRDtJQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzsrQ0FHN0I7QUEvQlEsbUJBQW1CO0lBUC9CLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsNE9BQXVDO1FBRXZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDOztLQUNqQyxDQUFDO0lBU08sV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNkLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtHQWR6QixtQkFBbUIsQ0FzTS9CO1NBdE1ZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUUsIFdJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3B4LCBUdWlEZXN0cm95U2VydmljZSwgdHVpUHVyZSwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUhpbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VHVpUG9pbnRlckhpbnREaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvcG9pbnRlci1oaW50JztcbmltcG9ydCB7VHVpTWVkaWF9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfTUVESUF9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aURpcmVjdGlvbiwgVHVpSGludE1vZGVUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlIaW50c0hvc3RDb21wb25lbnR9IGZyb20gJy4uL2hpbnRzLWhvc3QuY29tcG9uZW50JztcblxuY29uc3QgU1BBQ0UgPSA4O1xuY29uc3QgQk9SREVSX1dJRFRIID0gMTtcbmNvbnN0IExFRlRfUEFERElORyA9IDE2O1xuY29uc3QgVE9QX1BBRERJTkcgPSAxMjtcbmNvbnN0IEFSUk9XX1NJWkUgPSA4O1xuY29uc3QgQVJST1dfT0ZGU0VUID0gMTY7XG5jb25zdCBBUlJPV0hFQURfT0ZGU0VUID0gQVJST1dfT0ZGU0VUICsgKEFSUk9XX1NJWkUgKiBNYXRoLnNxcnQoMikpIC8gMjtcbmNvbnN0IHJldmVyc2VEaXJlY3Rpb25zVmVydGljYWw6IHtba2V5IGluIFR1aURpcmVjdGlvbl06IFR1aURpcmVjdGlvbn0gPSB7XG4gICAgJ3RvcC1sZWZ0JzogJ2JvdHRvbS1sZWZ0JyxcbiAgICAndG9wLXJpZ2h0JzogJ2JvdHRvbS1yaWdodCcsXG4gICAgJ2JvdHRvbS1sZWZ0JzogJ3RvcC1sZWZ0JyxcbiAgICAnYm90dG9tLXJpZ2h0JzogJ3RvcC1yaWdodCcsXG4gICAgbGVmdDogJ3JpZ2h0JyxcbiAgICByaWdodDogJ2xlZnQnLFxufTtcbmNvbnN0IHJldmVyc2VEaXJlY3Rpb25zSG9yaXpvbnRhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAndG9wLXJpZ2h0JyxcbiAgICAndG9wLXJpZ2h0JzogJ3RvcC1sZWZ0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLXJpZ2h0JzogJ2JvdHRvbS1sZWZ0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuXG4vLyBUT0RPOiBjb25zaWRlciBhYnN0cmFjdGluZyBVSSBhbmQgbW92ZSB0byBDREssIHNwbGl0IGhpbnQgYW5kIG92ZXJmbG93XG4vLyBBbWJpZW50IHR5cGUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBkeW5hbWljIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzIzMzk1XG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaGludC1ib3hbaGludF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oaW50LWJveC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9oaW50LWJveC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIaW50Qm94Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdhcnJvdycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcnJvdz86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBoaW50ITogQWJzdHJhY3RUdWlIaW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfTUVESUEpIHByaXZhdGUgcmVhZG9ubHkgbWVkaWE6IFR1aU1lZGlhLFxuICAgICAgICBASW5qZWN0KFR1aUhpbnRzSG9zdENvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBoaW50c0hvc3Q6IFR1aUhpbnRzSG9zdENvbXBvbmVudCxcbiAgICApIHtcbiAgICAgICAgYW5pbWF0aW9uRnJhbWUkXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKCkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fdW50b3VjaGFibGUnKVxuICAgIGdldCBpc1VudG91Y2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50IGluc3RhbmNlb2YgVHVpUG9pbnRlckhpbnREaXJlY3RpdmU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbW9kZScpXG4gICAgZ2V0IG1vZGUoKTogVHVpSGludE1vZGVUIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnQubW9kZTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndpbmRvd1JlZi5pbm5lcldpZHRoIDw9IHRoaXMubWVkaWEubW9iaWxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgd3JhcHBlciBwb3NpdGlvbi5cbiAgICAgKiBTdHlsZXMgYXJlIHNldCBkaXJlY3RseSB0byBhdm9pZCB2aXN1YWwgc2hha2Ugb2YgZWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgY2FsY3VsYXRlUG9zaXRpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgIT09ICdvdmVyZmxvdycpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ29vcmRpbmF0ZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0T3ZlcmZsb3dTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlQ29vcmRpbmF0ZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZU1vYmlsZUNvb3JkaW5hdGVzKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBvcnRhbFJlY3QgPSB0aGlzLmhpbnRzSG9zdC5jbGllbnRSZWN0O1xuICAgICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0b29sdGlwO1xuICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGlzSG9zdExvbmcgPSBob3N0UmVjdC53aWR0aCA+IEFSUk9XSEVBRF9PRkZTRVQgKiAyO1xuICAgICAgICBjb25zdCBkaXJlY3Rpb25zOiBUdWlEaXJlY3Rpb25bXSA9IFtcbiAgICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAnYm90dG9tLWxlZnQnLFxuICAgICAgICAgICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgICAgICAgICAndG9wLWxlZnQnLFxuICAgICAgICAgICAgJ3RvcC1yaWdodCcsXG4gICAgICAgIF07XG5cbiAgICAgICAgbGV0IHRvcCA9IDA7XG4gICAgICAgIGxldCBsZWZ0ID0gMDtcbiAgICAgICAgbGV0IHtkaXJlY3Rpb259ID0gdGhpcy5oaW50O1xuXG4gICAgICAgIGNvbnN0IGhvcml6b250YWxUb3AgPVxuICAgICAgICAgICAgaG9zdFJlY3QudG9wICsgaG9zdFJlY3QuaGVpZ2h0IC8gMiAtIHRvb2x0aXBSZWN0LmhlaWdodCAvIDIgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbExlZnQgPVxuICAgICAgICAgICAgaG9zdFJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoIC0gU1BBQ0UgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IGhvcml6b250YWxSaWdodCA9IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCArIFNQQUNFIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbSA9IGhvc3RSZWN0LmJvdHRvbSArIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wID0gaG9zdFJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxSaWdodCA9IGlzSG9zdExvbmdcbiAgICAgICAgICAgID8gaG9zdFJlY3QubGVmdCAtIHBvcnRhbFJlY3QubGVmdFxuICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gQVJST1dIRUFEX09GRlNFVCAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgdmVydGljYWxMZWZ0ID0gaXNIb3N0TG9uZ1xuICAgICAgICAgICAgPyBob3N0UmVjdC5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggKyBob3N0UmVjdC53aWR0aCAtIHBvcnRhbFJlY3QubGVmdFxuICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0IC1cbiAgICAgICAgICAgICAgdG9vbHRpcFJlY3Qud2lkdGggK1xuICAgICAgICAgICAgICBob3N0UmVjdC53aWR0aCAvIDIgK1xuICAgICAgICAgICAgICBBUlJPV0hFQURfT0ZGU0VUIC1cbiAgICAgICAgICAgICAgcG9ydGFsUmVjdC5sZWZ0O1xuXG4gICAgICAgIGRpcmVjdGlvbnMuc3BsaWNlKGRpcmVjdGlvbnMuaW5kZXhPZihkaXJlY3Rpb24pLCAxKTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gaG9yaXpvbnRhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGhvcml6b250YWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9wLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxMZWZ0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxCb3R0b207XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbEZpdCA9XG4gICAgICAgICAgICAgICAgdG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIHRvcCArIHRvb2x0aXBSZWN0LmhlaWdodCArIFNQQUNFICsgcG9ydGFsUmVjdC50b3AgPFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhvcml6b250YWxGaXQgPVxuICAgICAgICAgICAgICAgIGxlZnQgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIGxlZnQgKyB0b29sdGlwUmVjdC53aWR0aCArIFNQQUNFICsgcG9ydGFsUmVjdC5sZWZ0IDwgcG9ydGFsUmVjdC53aWR0aDtcblxuICAgICAgICAgICAgaWYgKGRpcmVjdGlvbnMubGVuZ3RoID09PSAwIHx8ICh2ZXJ0aWNhbEZpdCAmJiBob3Jpem9udGFsRml0KSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB2ZXJ0aWNhbEZpdFxuICAgICAgICAgICAgICAgID8gcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsW2RpcmVjdGlvbl1cbiAgICAgICAgICAgICAgICA6IHJldmVyc2VEaXJlY3Rpb25zVmVydGljYWxbZGlyZWN0aW9uXTtcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpWzBdIHx8IGRpcmVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KHRvcCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBvcnRhbFJlY3QgPSB0aGlzLmhpbnRzSG9zdC5jbGllbnRSZWN0O1xuICAgICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0b29sdGlwO1xuICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wID0gaG9zdFJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcEZpdCA9XG4gICAgICAgICAgICB2ZXJ0aWNhbFRvcCArIHBvcnRhbFJlY3QudG9wID4gU1BBQ0UgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbUZpdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gPiAwICYmXG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gKyAyICogU1BBQ0UgKyB0b29sdGlwUmVjdC5oZWlnaHQgPCB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICh0aGlzLmhpbnQuZGlyZWN0aW9uLmluY2x1ZGVzKCd0b3AnKSAmJiB2ZXJ0aWNhbFRvcEZpdCkgfHwgIXZlcnRpY2FsQm90dG9tRml0XG4gICAgICAgICAgICAgICAgPyAndG9wJ1xuICAgICAgICAgICAgICAgIDogJ2JvdHRvbSc7XG4gICAgICAgIGNvbnN0IGF0dGVtcHRlZExlZnQgPVxuICAgICAgICAgICAgcG9ydGFsUmVjdC5sZWZ0ICsgaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIHRvb2x0aXBSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgYXR0ZW1wdGVkTGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgPiBwb3J0YWxSZWN0LnJpZ2h0XG4gICAgICAgICAgICAgICAgPyBwb3J0YWxSZWN0LnJpZ2h0IC0gU1BBQ0UgLSB0b29sdGlwUmVjdC53aWR0aFxuICAgICAgICAgICAgICAgIDogYXR0ZW1wdGVkTGVmdCxcbiAgICAgICAgICAgIFNQQUNFICogMixcbiAgICAgICAgKTtcblxuICAgICAgICBzdHlsZS5sZWZ0ID0gcHgobGVmdCk7XG4gICAgICAgIHN0eWxlLnRvcCA9IGRpcmVjdGlvbiA9PT0gJ3RvcCcgPyBweCh2ZXJ0aWNhbFRvcCkgOiBweCh2ZXJ0aWNhbEJvdHRvbSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXJyb3cpIHtcbiAgICAgICAgICAgIHRoaXMuYXJyb3cubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gcHgoXG4gICAgICAgICAgICAgICAgaG9zdFJlY3QubGVmdCA8PSBTUEFDRSAqIDIgJiYgaG9zdFJlY3Qud2lkdGggPiBBUlJPV19PRkZTRVQgKiAyXG4gICAgICAgICAgICAgICAgICAgID8gQVJST1dfT0ZGU0VUXG4gICAgICAgICAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIGxlZnQgLSBBUlJPV19TSVpFIC8gMixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0T3ZlcmZsb3dTdHlsZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBzdHlsZS50b3AgPSBweChob3N0UmVjdC50b3AgLSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBUT1BfUEFERElORyAtIEJPUkRFUl9XSURUSCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChob3N0UmVjdC5sZWZ0IC0gTEVGVF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUud2lkdGggPSBweChob3N0UmVjdC53aWR0aCArIExFRlRfUEFERElORyAqIDIgKyBCT1JERVJfV0lEVEggKiAyKTtcbiAgICB9XG59XG4iXX0=
@@ -207,4 +207,4 @@ TuiHostedDropdownComponent = TuiHostedDropdownComponent_1 = __decorate([
207
207
  __param(1, Inject(TUI_DROPDOWN_WATCHED_CONTROLLER))
208
208
  ], TuiHostedDropdownComponent);
209
209
  export { TuiHostedDropdownComponent };
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvaG9zdGVkLWRyb3Bkb3duLyIsInNvdXJjZXMiOlsiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUNILDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQ2pDLE1BQU0sK0NBQStDLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBR2hFLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBZTFGLElBQWEsMEJBQTBCLGtDQUF2QyxNQUFhLDBCQUEwQjtJQStCbkMsWUFDeUMsVUFBc0IsRUFFbEQsVUFBMEM7UUFGZCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRWxELGVBQVUsR0FBVixVQUFVLENBQWdDO1FBdEJ2RCxZQUFPLEdBQXdCLEVBQUUsQ0FBQztRQUlsQyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBSWYsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdKLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFB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UUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3lEQUdwRDtBQWxHUSwwQkFBMEI7SUFidEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQixzbUNBQThDO1FBRTlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTBCLENBQUM7YUFDNUQ7WUFDRCw0QkFBNEI7U0FDL0I7O0tBQ0osQ0FBQztJQWlDTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO0dBakNuQywwQkFBMEIsQ0FnTnRDO1NBaE5ZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgaXNFbGVtZW50RWRpdGFibGUsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgaXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtcbiAgICBEUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9EUk9QRE9XTl9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRHJvcGRvd25Db250cm9sbGVyRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duLWNvbnRyb2xsZXInO1xuaW1wb3J0IHtpc0VkaXRpbmdLZXl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUhvc3RlZERyb3Bkb3duQ29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2hvc3RlZC1kcm9wZG93bi1jb25uZWN0b3IuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaG9zdGVkLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaG9zdGVkLWRyb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hvc3RlZC1kcm9wZG93bi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB7XG4gICAgQENvbnRlbnRDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbm5lY3RvckRpcmVjdGl2ZSwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgZHJvcGRvd25Ib3N0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgd3JhcHBlcj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlEcm9wZG93bkRpcmVjdGl2ZSlcbiAgICBwcml2YXRlIGRyb3Bkb3duRGlyZWN0aXZlPzogVHVpRHJvcGRvd25EaXJlY3RpdmU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhbk9wZW4gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBmb2N1c2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQFZpZXdDaGlsZChUdWlBY3RpdmVab25lRGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGFjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aURyb3Bkb3duQ29udHJvbGxlckRpcmVjdGl2ZSxcbiAgICApIHt9XG5cbiAgICBnZXQgaG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duSG9zdFxuICAgICAgICAgICAgPyB0aGlzLmRyb3Bkb3duSG9zdC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICA6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBkcm9wZG93bigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZHJvcGRvd25EaXJlY3RpdmUgfHwgdGhpcy5kcm9wZG93bkRpcmVjdGl2ZS5kcm9wZG93bkJveFJlZiA9PT0gbnVsbFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZHJvcGRvd25EaXJlY3RpdmUuZHJvcGRvd25Cb3hSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlKHRoaXMuaG9zdClcbiAgICAgICAgICAgID8gdGhpcy5ob3N0XG4gICAgICAgICAgICA6IGdldENsb3Nlc3RGb2N1c2FibGUodGhpcy5ob3N0LCBmYWxzZSwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hvc3RlZF9kcm9wZG93bl9mb2N1c2VkJylcbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuaG9zdCkgfHxcbiAgICAgICAgICAgICh0aGlzLm9wZW4gJiYgISF0aGlzLndyYXBwZXIgJiYgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBvbkZvY3VzSW4odGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5kcm9wZG93bkhvc3RcbiAgICAgICAgICAgID8gdGhpcy5kcm9wZG93bkhvc3QubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgOiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKCFob3N0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uQ2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuaG9zdDtcbiAgICAgICAgY29uc3QgZHJvcGRvd25Ib3N0ID0gdGhpcy5kcm9wZG93bkhvc3QgPyB0aGlzLmRyb3Bkb3duSG9zdC5uYXRpdmVFbGVtZW50IDogaG9zdDtcblxuICAgICAgICBpZiAoIXRoaXMuaG9zdEVkaXRhYmxlICYmIGRyb3Bkb3duSG9zdC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5jYW5PcGVuIHx8ICF0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bicsIFsnJGV2ZW50JywgJ3RydWUnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAnLCBbJyRldmVudCcsICdmYWxzZSddKVxuICAgIG9uQXJyb3coZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGRvd246IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5mb2N1c0Ryb3Bkb3duKGV2ZW50LCBkb3duKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oe2tleSwgdGFyZ2V0LCBkZWZhdWx0UHJldmVudGVkfTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZGVmYXVsdFByZXZlbnRlZCAmJlxuICAgICAgICAgICAgaXNFZGl0aW5nS2V5KGtleSkgJiZcbiAgICAgICAgICAgIHRoaXMuaG9zdEVkaXRhYmxlICYmXG4gICAgICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICAgICAgdGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiZcbiAgICAgICAgICAgICFpc0VsZW1lbnRFZGl0YWJsZSh0YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0hvc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG5cbiAgICAgICAgaWYgKCFhY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkhvc3RPYnNjdXJlZChvYnNjdXJlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAob2JzY3VyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlT3BlbihvcGVuOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChvcGVuICYmICF0aGlzLmNhbk9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KG9wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGhvc3RFZGl0YWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmhvc3Q7XG5cbiAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgcmV0dXJuIGhvc3QgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBpc0VsZW1lbnRFZGl0YWJsZShob3N0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzRHJvcGRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGZpcnN0OiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG5cbiAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWhvc3QgfHxcbiAgICAgICAgICAgICEoaG9zdCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB8fFxuICAgICAgICAgICAgIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlKSB8fFxuICAgICAgICAgICAgIWhvc3QuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLndyYXBwZXIgfHxcbiAgICAgICAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24gPT09IG51bGwgfHxcbiAgICAgICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgICAgICAhKHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3Blbih0cnVlKTtcblxuICAgICAgICAgICAgaWYgKCFpc0VsZW1lbnRFZGl0YWJsZShob3N0KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSBmaXJzdFxuICAgICAgICAgICAgPyB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgOiB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IGdldENsb3Nlc3RGb2N1c2FibGUoXG4gICAgICAgICAgICBpbml0aWFsLFxuICAgICAgICAgICAgIWZpcnN0LFxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGZvY3VzYWJsZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChmb2N1c2FibGUpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VEcm9wZG93bigpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0hvc3QoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0hvc3QoKSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGhvc3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoaG9zdCwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmZvY3VzZWRDaGFuZ2UuZW1pdChmb2N1c2VkKTtcbiAgICB9XG59XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvaG9zdGVkLWRyb3Bkb3duLyIsInNvdXJjZXMiOlsiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUNILDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQ2pDLE1BQU0sK0NBQStDLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBR2hFLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBZTFGLElBQWEsMEJBQTBCLGtDQUF2QyxNQUFhLDBCQUEwQjtJQStCbkMsWUFDeUMsVUFBc0IsRUFFbEQsVUFBMEM7UUFGZCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRWxELGVBQVUsR0FBVixVQUFVLENBQWdDO1FBdEJ2RCxZQUFPLEdBQXdCLEVBQUUsQ0FBQztRQUlsQyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBSWYsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdKLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFB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QUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7eURBR3BEO0FBbEdRLDBCQUEwQjtJQWJ0QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLHNtQ0FBOEM7UUFFOUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw0QkFBMEIsQ0FBQzthQUM1RDtZQUNELDRCQUE0QjtTQUMvQjs7S0FDSixDQUFDO0lBaUNPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7R0FqQ25DLDBCQUEwQixDQWdOdEM7U0FoTlksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgZ2V0Q2xvc2VzdEZvY3VzYWJsZSxcbiAgICBpc0VsZW1lbnRFZGl0YWJsZSxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBpc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1xuICAgIERST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RST1BET1dOX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEcm9wZG93bkNvbnRyb2xsZXJEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24tY29udHJvbGxlcic7XG5pbXBvcnQge2lzRWRpdGluZ0tleX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpSG9zdGVkRHJvcGRvd25Db25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vaG9zdGVkLWRyb3Bkb3duLWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1ob3N0ZWQtZHJvcGRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ob3N0ZWQtZHJvcGRvd24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaG9zdGVkLWRyb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBEUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHtcbiAgICBAQ29udGVudENoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29ubmVjdG9yRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkhvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3dyYXBwZXInLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3cmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFR1aURyb3Bkb3duRGlyZWN0aXZlKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25EaXJlY3RpdmU/OiBUdWlEcm9wZG93bkRpcmVjdGl2ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FuT3BlbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGZvY3VzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAVmlld0NoaWxkKFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgcmVhZG9ubHkgYWN0aXZlWm9uZT86IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX0RST1BET1dOX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpRHJvcGRvd25Db250cm9sbGVyRGlyZWN0aXZlLFxuICAgICkge31cblxuICAgIGdldCBob3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25Ib3N0XG4gICAgICAgICAgICA/IHRoaXMuZHJvcGRvd25Ib3N0Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGRyb3Bkb3duKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kcm9wZG93bkRpcmVjdGl2ZSB8fCB0aGlzLmRyb3Bkb3duRGlyZWN0aXZlLmRyb3Bkb3duQm94UmVmID09PSBudWxsXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5kcm9wZG93bkRpcmVjdGl2ZS5kcm9wZG93bkJveFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlS2V5Ym9hcmRGb2N1c2FibGUodGhpcy5ob3N0KVxuICAgICAgICAgICAgPyB0aGlzLmhvc3RcbiAgICAgICAgICAgIDogZ2V0Q2xvc2VzdEZvY3VzYWJsZSh0aGlzLmhvc3QsIGZhbHNlLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faG9zdGVkX2Ryb3Bkb3duX2ZvY3VzZWQnKVxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5ob3N0KSB8fFxuICAgICAgICAgICAgKHRoaXMub3BlbiAmJiAhIXRoaXMud3JhcHBlciAmJiBpc05hdGl2ZUZvY3VzZWRJbih0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uRm9jdXNJbih0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmRyb3Bkb3duSG9zdFxuICAgICAgICAgICAgPyB0aGlzLmRyb3Bkb3duSG9zdC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICA6IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoIWhvc3QuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgb25DbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5ob3N0O1xuICAgICAgICBjb25zdCBkcm9wZG93bkhvc3QgPSB0aGlzLmRyb3Bkb3duSG9zdCA/IHRoaXMuZHJvcGRvd25Ib3N0Lm5hdGl2ZUVsZW1lbnQgOiBob3N0O1xuXG4gICAgICAgIGlmICghdGhpcy5ob3N0RWRpdGFibGUgJiYgZHJvcGRvd25Ib3N0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd25Fc2MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNhbk9wZW4gfHwgIXRoaXMub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duJywgWyckZXZlbnQnLCAndHJ1ZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcCcsIFsnJGV2ZW50JywgJ2ZhbHNlJ10pXG4gICAgb25BcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCwgZG93bjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmZvY3VzRHJvcGRvd24oZXZlbnQsIGRvd24pO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bih7a2V5LCB0YXJnZXQsIGRlZmF1bHRQcmV2ZW50ZWR9OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFkZWZhdWx0UHJldmVudGVkICYmXG4gICAgICAgICAgICBpc0VkaXRpbmdLZXkoa2V5KSAmJlxuICAgICAgICAgICAgdGhpcy5ob3N0RWRpdGFibGUgJiZcbiAgICAgICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgICAgICB0YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxuICAgICAgICAgICAgIWlzRWxlbWVudEVkaXRhYmxlKHRhcmdldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSG9zdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcblxuICAgICAgICBpZiAoIWFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSG9zdE9ic2N1cmVkKG9ic2N1cmVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChvYnNjdXJlZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVPcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKG9wZW4gJiYgIXRoaXMuY2FuT3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaG9zdEVkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuaG9zdDtcblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICByZXR1cm4gaG9zdCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmIGlzRWxlbWVudEVkaXRhYmxlKGhvc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNEcm9wZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZmlyc3Q6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhaG9zdCB8fFxuICAgICAgICAgICAgIShob3N0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHx8XG4gICAgICAgICAgICAhKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUpIHx8XG4gICAgICAgICAgICAhaG9zdC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMud3JhcHBlciB8fFxuICAgICAgICAgICAgIXRoaXMub3BlbiB8fFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93biA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgICAgICEodGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKHRydWUpO1xuXG4gICAgICAgICAgICBpZiAoIWlzRWxlbWVudEVkaXRhYmxlKGhvc3QpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IGZpcnN0XG4gICAgICAgICAgICA/IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICA6IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gZ2V0Q2xvc2VzdEZvY3VzYWJsZShcbiAgICAgICAgICAgIGluaXRpYWwsXG4gICAgICAgICAgICAhZmlyc3QsXG4gICAgICAgICAgICB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoZm9jdXNhYmxlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZvY3VzYWJsZSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCkge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSG9zdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSG9zdCgpIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoaG9zdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChob3N0LCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZENoYW5nZS5lbWl0KGZvY3VzZWQpO1xuICAgIH1cbn1cbiJdfQ==