@agorapulse/ui-components 0.0.3 → 1.0.0-SNAPSHOT

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 (548) hide show
  1. package/add-comment/add-comment.component.d.ts +21 -0
  2. package/add-comment/index.d.ts +5 -0
  3. package/add-comment/public_api.d.ts +1 -0
  4. package/agorapulse-ui-components-1.0.0-SNAPSHOT.tgz +0 -0
  5. package/autocomplete/autocomplete.component.d.ts +40 -0
  6. package/autocomplete/index.d.ts +5 -0
  7. package/autocomplete/public_api.d.ts +1 -0
  8. package/avatar/avatar.component.d.ts +47 -0
  9. package/avatar/index.d.ts +5 -0
  10. package/avatar/public_api.d.ts +1 -0
  11. package/badge/badge.component.d.ts +7 -0
  12. package/badge/index.d.ts +5 -0
  13. package/badge/public_api.d.ts +1 -0
  14. package/button/button.component.d.ts +49 -0
  15. package/button/index.d.ts +5 -0
  16. package/button/public_api.d.ts +1 -0
  17. package/checkbox/checkbox.component.d.ts +51 -0
  18. package/checkbox/index.d.ts +5 -0
  19. package/checkbox/public_api.d.ts +1 -0
  20. package/confirm-modal/confirm-modal.component.d.ts +20 -0
  21. package/confirm-modal/index.d.ts +5 -0
  22. package/confirm-modal/public_api.d.ts +2 -0
  23. package/counter/counter.component.d.ts +17 -0
  24. package/counter/index.d.ts +5 -0
  25. package/counter/public_api.d.ts +1 -0
  26. package/datepicker/datepicker.component.d.ts +84 -0
  27. package/datepicker/index.d.ts +5 -0
  28. package/datepicker/public_api.d.ts +1 -0
  29. package/{src/lib/directives → directives}/autosize-textarea.directive.d.ts +3 -0
  30. package/directives/base-button.directive.d.ts +13 -0
  31. package/directives/default-image.directive.d.ts +8 -0
  32. package/{src/lib/directives → directives}/ellipsis.directive.d.ts +3 -1
  33. package/directives/equal-validator.directive.d.ts +13 -0
  34. package/{src/lib/directives → directives}/frozen-gif.directive.d.ts +6 -3
  35. package/directives/index.d.ts +5 -0
  36. package/directives/multi-style-text.directive.d.ts +16 -0
  37. package/directives/public_api.d.ts +8 -0
  38. package/directives/truncate-tooltip.directive.d.ts +16 -0
  39. package/dots-stepper/dots-stepper.component.d.ts +16 -0
  40. package/dots-stepper/index.d.ts +5 -0
  41. package/dots-stepper/public_api.d.ts +1 -0
  42. package/esm2022/add-comment/add-comment.component.mjs +71 -0
  43. package/esm2022/add-comment/agorapulse-ui-components-add-comment.mjs +5 -0
  44. package/esm2022/add-comment/public_api.mjs +2 -0
  45. package/esm2022/agorapulse-ui-components.mjs +5 -0
  46. package/esm2022/autocomplete/agorapulse-ui-components-autocomplete.mjs +5 -0
  47. package/esm2022/autocomplete/autocomplete.component.mjs +128 -0
  48. package/esm2022/autocomplete/public_api.mjs +2 -0
  49. package/esm2022/avatar/agorapulse-ui-components-avatar.mjs +5 -0
  50. package/esm2022/avatar/avatar.component.mjs +222 -0
  51. package/esm2022/avatar/public_api.mjs +2 -0
  52. package/esm2022/badge/agorapulse-ui-components-badge.mjs +5 -0
  53. package/esm2022/badge/badge.component.mjs +17 -0
  54. package/esm2022/badge/public_api.mjs +2 -0
  55. package/esm2022/button/agorapulse-ui-components-button.mjs +5 -0
  56. package/esm2022/button/button.component.mjs +112 -0
  57. package/esm2022/button/public_api.mjs +2 -0
  58. package/esm2022/checkbox/agorapulse-ui-components-checkbox.mjs +5 -0
  59. package/esm2022/checkbox/checkbox.component.mjs +178 -0
  60. package/esm2022/checkbox/public_api.mjs +2 -0
  61. package/esm2022/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +5 -0
  62. package/esm2022/confirm-modal/confirm-modal-texts.model.mjs +2 -0
  63. package/esm2022/confirm-modal/confirm-modal.component.mjs +61 -0
  64. package/esm2022/confirm-modal/public_api.mjs +3 -0
  65. package/esm2022/counter/agorapulse-ui-components-counter.mjs +5 -0
  66. package/esm2022/counter/counter.component.mjs +59 -0
  67. package/esm2022/counter/public_api.mjs +2 -0
  68. package/esm2022/datepicker/agorapulse-ui-components-datepicker.mjs +5 -0
  69. package/esm2022/datepicker/datepicker.component.mjs +271 -0
  70. package/esm2022/datepicker/public_api.mjs +2 -0
  71. package/esm2022/directives/agorapulse-ui-components-directives.mjs +5 -0
  72. package/esm2022/directives/autosize-textarea.directive.mjs +45 -0
  73. package/esm2022/directives/base-button.directive.mjs +47 -0
  74. package/esm2022/directives/default-image.directive.mjs +37 -0
  75. package/esm2022/directives/ellipsis.directive.mjs +90 -0
  76. package/esm2022/directives/equal-validator.directive.mjs +73 -0
  77. package/esm2022/directives/frozen-gif.directive.mjs +125 -0
  78. package/esm2022/directives/multi-style-text.directive.mjs +61 -0
  79. package/esm2022/directives/public_api.mjs +9 -0
  80. package/esm2022/directives/truncate-tooltip.directive.mjs +43 -0
  81. package/esm2022/dots-stepper/agorapulse-ui-components-dots-stepper.mjs +5 -0
  82. package/esm2022/dots-stepper/dots-stepper.component.mjs +46 -0
  83. package/esm2022/dots-stepper/public_api.mjs +2 -0
  84. package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +5 -0
  85. package/esm2022/form-field/form-field.component.mjs +11 -0
  86. package/esm2022/form-field/public_api.mjs +2 -0
  87. package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +5 -0
  88. package/esm2022/form-message/form-message.component.mjs +34 -0
  89. package/esm2022/form-message/public_api.mjs +2 -0
  90. package/esm2022/icon-button/agorapulse-ui-components-icon-button.mjs +5 -0
  91. package/esm2022/icon-button/icon-button.component.mjs +121 -0
  92. package/esm2022/icon-button/public_api.mjs +2 -0
  93. package/esm2022/index.mjs +50 -0
  94. package/esm2022/infobox/agorapulse-ui-components-infobox.mjs +5 -0
  95. package/esm2022/infobox/infobox.component.mjs +78 -0
  96. package/esm2022/infobox/public_api.mjs +2 -0
  97. package/esm2022/input/agorapulse-ui-components-input.mjs +5 -0
  98. package/esm2022/input/input.directive.mjs +19 -0
  99. package/esm2022/input/public_api.mjs +2 -0
  100. package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +5 -0
  101. package/esm2022/input-group/input-group.component.mjs +14 -0
  102. package/esm2022/input-group/public_api.mjs +2 -0
  103. package/esm2022/labels/agorapulse-ui-components-labels.mjs +5 -0
  104. package/esm2022/labels/label-list.component.mjs +109 -0
  105. package/esm2022/labels/label.component.mjs +57 -0
  106. package/esm2022/labels/public_api.mjs +3 -0
  107. package/esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs +5 -0
  108. package/esm2022/labels-selector/labels-selector.component.mjs +122 -0
  109. package/esm2022/labels-selector/public_api.mjs +2 -0
  110. package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +5 -0
  111. package/esm2022/legacy/input/input.component.mjs +190 -0
  112. package/esm2022/legacy/input/public_api.mjs +2 -0
  113. package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +5 -0
  114. package/esm2022/legacy/select/public_api.mjs +2 -0
  115. package/esm2022/legacy/select/select.component.mjs +453 -0
  116. package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +5 -0
  117. package/esm2022/legacy/textarea/public_api.mjs +2 -0
  118. package/esm2022/legacy/textarea/textarea.component.mjs +155 -0
  119. package/esm2022/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +5 -0
  120. package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +123 -0
  121. package/esm2022/media-display-overlay/public_api.mjs +2 -0
  122. package/esm2022/modal/agorapulse-ui-components-modal.mjs +5 -0
  123. package/esm2022/modal/modal.component.mjs +116 -0
  124. package/esm2022/modal/public_api.mjs +2 -0
  125. package/esm2022/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +5 -0
  126. package/esm2022/neo-datepicker/day-detail.model.mjs +2 -0
  127. package/esm2022/neo-datepicker/day-disabled.pipe.mjs +21 -0
  128. package/esm2022/neo-datepicker/neo-datepicker.component.mjs +243 -0
  129. package/esm2022/neo-datepicker/public_api.mjs +4 -0
  130. package/esm2022/notification/agorapulse-ui-components-notification.mjs +5 -0
  131. package/esm2022/notification/notification.component.mjs +15 -0
  132. package/esm2022/notification/public_api.mjs +2 -0
  133. package/esm2022/paginator/agorapulse-ui-components-paginator.mjs +5 -0
  134. package/esm2022/paginator/paginator-button/paginator-button.component.mjs +51 -0
  135. package/esm2022/paginator/paginator.component.mjs +126 -0
  136. package/esm2022/paginator/public_api.mjs +3 -0
  137. package/esm2022/password-input/agorapulse-ui-components-password-input.mjs +5 -0
  138. package/esm2022/password-input/password-input.component.mjs +77 -0
  139. package/esm2022/password-input/public_api.mjs +2 -0
  140. package/esm2022/popmenu/agorapulse-ui-components-popmenu.mjs +5 -0
  141. package/esm2022/popmenu/options.mjs +17 -0
  142. package/esm2022/popmenu/popmenu-options.interface.mjs +2 -0
  143. package/esm2022/popmenu/popmenu-options.service.mjs +7 -0
  144. package/esm2022/popmenu/popmenu.component.mjs +384 -0
  145. package/esm2022/popmenu/popmenu.directive.mjs +292 -0
  146. package/esm2022/popmenu/popmenu.module.mjs +29 -0
  147. package/esm2022/popmenu/public_api.mjs +5 -0
  148. package/esm2022/radio/agorapulse-ui-components-radio.mjs +5 -0
  149. package/esm2022/radio/public_api.mjs +3 -0
  150. package/esm2022/radio/radio-control.registry.mjs +102 -0
  151. package/esm2022/radio/radio.component.mjs +224 -0
  152. package/esm2022/range-slider/agorapulse-ui-components-range-slider.mjs +5 -0
  153. package/esm2022/range-slider/public_api.mjs +2 -0
  154. package/esm2022/range-slider/range-slider.component.mjs +155 -0
  155. package/esm2022/select/agorapulse-ui-components-select.mjs +5 -0
  156. package/esm2022/select/ap-select.module.mjs +78 -0
  157. package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +52 -0
  158. package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +64 -0
  159. package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +68 -0
  160. package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +45 -0
  161. package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +49 -0
  162. package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +77 -0
  163. package/esm2022/select/public_api.mjs +13 -0
  164. package/esm2022/select/select-base.directive.mjs +69 -0
  165. package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +111 -0
  166. package/esm2022/select/select-label-single/select-label-single.component.mjs +30 -0
  167. package/esm2022/select/select-multiple.directive.mjs +35 -0
  168. package/esm2022/select/select-single.directive.mjs +34 -0
  169. package/esm2022/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +5 -0
  170. package/esm2022/slide-toggle/public_api.mjs +2 -0
  171. package/esm2022/slide-toggle/slide-toggle.component.mjs +66 -0
  172. package/esm2022/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +5 -0
  173. package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +84 -0
  174. package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +44 -0
  175. package/esm2022/snackbars-thread/public_api.mjs +4 -0
  176. package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +46 -0
  177. package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +13 -0
  178. package/esm2022/social-button/agorapulse-ui-components-social-button.mjs +5 -0
  179. package/esm2022/social-button/public_api.mjs +2 -0
  180. package/esm2022/social-button/social-button.component.mjs +151 -0
  181. package/esm2022/split-button/agorapulse-ui-components-split-button.mjs +5 -0
  182. package/esm2022/split-button/public_api.mjs +2 -0
  183. package/esm2022/split-button/split-button.component.mjs +129 -0
  184. package/esm2022/src/lib/agorapulse-ui-components.module.mjs +204 -0
  185. package/esm2022/status/agorapulse-ui-components-status.mjs +5 -0
  186. package/esm2022/status/public_api.mjs +2 -0
  187. package/esm2022/status/status.component.mjs +22 -0
  188. package/esm2022/status-card/agorapulse-ui-components-status-card.mjs +5 -0
  189. package/esm2022/status-card/public_api.mjs +2 -0
  190. package/esm2022/status-card/status-card.component.mjs +25 -0
  191. package/esm2022/stepper/agorapulse-ui-components-stepper.mjs +5 -0
  192. package/esm2022/stepper/public_api.mjs +3 -0
  193. package/esm2022/stepper/step.model.mjs +2 -0
  194. package/esm2022/stepper/stepper.component.mjs +38 -0
  195. package/esm2022/tag/agorapulse-ui-components-tag.mjs +5 -0
  196. package/esm2022/tag/public_api.mjs +2 -0
  197. package/esm2022/tag/tag.component.mjs +36 -0
  198. package/esm2022/text-measurement/agorapulse-ui-components-text-measurement.mjs +5 -0
  199. package/esm2022/text-measurement/public_api.mjs +2 -0
  200. package/esm2022/text-measurement/text-measurement.service.mjs +29 -0
  201. package/esm2022/textarea/agorapulse-ui-components-textarea.mjs +5 -0
  202. package/esm2022/textarea/public_api.mjs +2 -0
  203. package/esm2022/textarea/textarea.directive.mjs +37 -0
  204. package/esm2022/toggle/agorapulse-ui-components-toggle.mjs +5 -0
  205. package/esm2022/toggle/public_api.mjs +2 -0
  206. package/esm2022/toggle/toggle.component.mjs +209 -0
  207. package/esm2022/tooltip/agorapulse-ui-components-tooltip.mjs +5 -0
  208. package/esm2022/tooltip/public_api.mjs +2 -0
  209. package/esm2022/tooltip/tooltip.directive.mjs +412 -0
  210. package/esm2022/tooltip/tooltip.service.mjs +29 -0
  211. package/fesm2022/agorapulse-ui-components-add-comment.mjs +78 -0
  212. package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -0
  213. package/fesm2022/agorapulse-ui-components-autocomplete.mjs +135 -0
  214. package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -0
  215. package/fesm2022/agorapulse-ui-components-avatar.mjs +229 -0
  216. package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -0
  217. package/fesm2022/agorapulse-ui-components-badge.mjs +24 -0
  218. package/fesm2022/agorapulse-ui-components-badge.mjs.map +1 -0
  219. package/fesm2022/agorapulse-ui-components-button.mjs +119 -0
  220. package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -0
  221. package/fesm2022/agorapulse-ui-components-checkbox.mjs +185 -0
  222. package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -0
  223. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +68 -0
  224. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs.map +1 -0
  225. package/fesm2022/agorapulse-ui-components-counter.mjs +66 -0
  226. package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -0
  227. package/fesm2022/agorapulse-ui-components-datepicker.mjs +278 -0
  228. package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -0
  229. package/fesm2022/agorapulse-ui-components-directives.mjs +513 -0
  230. package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -0
  231. package/fesm2022/agorapulse-ui-components-dots-stepper.mjs +53 -0
  232. package/fesm2022/agorapulse-ui-components-dots-stepper.mjs.map +1 -0
  233. package/fesm2022/agorapulse-ui-components-form-field.mjs +18 -0
  234. package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -0
  235. package/fesm2022/agorapulse-ui-components-form-message.mjs +41 -0
  236. package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -0
  237. package/fesm2022/agorapulse-ui-components-icon-button.mjs +128 -0
  238. package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -0
  239. package/fesm2022/agorapulse-ui-components-infobox.mjs +85 -0
  240. package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -0
  241. package/fesm2022/agorapulse-ui-components-input-group.mjs +21 -0
  242. package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -0
  243. package/fesm2022/agorapulse-ui-components-input.mjs +26 -0
  244. package/fesm2022/agorapulse-ui-components-input.mjs.map +1 -0
  245. package/fesm2022/agorapulse-ui-components-labels-selector.mjs +129 -0
  246. package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -0
  247. package/fesm2022/agorapulse-ui-components-labels.mjs +168 -0
  248. package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -0
  249. package/fesm2022/agorapulse-ui-components-legacy-input.mjs +197 -0
  250. package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -0
  251. package/fesm2022/agorapulse-ui-components-legacy-select.mjs +460 -0
  252. package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -0
  253. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +162 -0
  254. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -0
  255. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +130 -0
  256. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -0
  257. package/fesm2022/agorapulse-ui-components-modal.mjs +123 -0
  258. package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -0
  259. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +268 -0
  260. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -0
  261. package/fesm2022/agorapulse-ui-components-notification.mjs +22 -0
  262. package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -0
  263. package/fesm2022/agorapulse-ui-components-paginator.mjs +181 -0
  264. package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -0
  265. package/fesm2022/agorapulse-ui-components-password-input.mjs +84 -0
  266. package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -0
  267. package/fesm2022/agorapulse-ui-components-popmenu.mjs +725 -0
  268. package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -0
  269. package/fesm2022/agorapulse-ui-components-radio.mjs +328 -0
  270. package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -0
  271. package/fesm2022/agorapulse-ui-components-range-slider.mjs +162 -0
  272. package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -0
  273. package/fesm2022/agorapulse-ui-components-select.mjs +651 -0
  274. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -0
  275. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +73 -0
  276. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -0
  277. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +190 -0
  278. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -0
  279. package/fesm2022/agorapulse-ui-components-social-button.mjs +158 -0
  280. package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -0
  281. package/fesm2022/agorapulse-ui-components-split-button.mjs +136 -0
  282. package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -0
  283. package/fesm2022/agorapulse-ui-components-status-card.mjs +32 -0
  284. package/fesm2022/agorapulse-ui-components-status-card.mjs.map +1 -0
  285. package/fesm2022/agorapulse-ui-components-status.mjs +29 -0
  286. package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -0
  287. package/fesm2022/agorapulse-ui-components-stepper.mjs +45 -0
  288. package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -0
  289. package/fesm2022/agorapulse-ui-components-tag.mjs +43 -0
  290. package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -0
  291. package/fesm2022/agorapulse-ui-components-text-measurement.mjs +36 -0
  292. package/fesm2022/agorapulse-ui-components-text-measurement.mjs.map +1 -0
  293. package/fesm2022/agorapulse-ui-components-textarea.mjs +44 -0
  294. package/fesm2022/agorapulse-ui-components-textarea.mjs.map +1 -0
  295. package/fesm2022/agorapulse-ui-components-toggle.mjs +216 -0
  296. package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -0
  297. package/fesm2022/agorapulse-ui-components-tooltip.mjs +445 -0
  298. package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -0
  299. package/fesm2022/agorapulse-ui-components.mjs +251 -0
  300. package/fesm2022/agorapulse-ui-components.mjs.map +1 -0
  301. package/form-field/form-field.component.d.ts +5 -0
  302. package/form-field/index.d.ts +5 -0
  303. package/form-field/public_api.d.ts +1 -0
  304. package/form-message/form-message.component.d.ts +12 -0
  305. package/form-message/index.d.ts +5 -0
  306. package/form-message/public_api.d.ts +1 -0
  307. package/icon-button/icon-button.component.d.ts +39 -0
  308. package/icon-button/index.d.ts +5 -0
  309. package/icon-button/public_api.d.ts +1 -0
  310. package/index.d.ts +43 -53
  311. package/infobox/index.d.ts +5 -0
  312. package/infobox/infobox.component.d.ts +32 -0
  313. package/infobox/public_api.d.ts +1 -0
  314. package/input/index.d.ts +5 -0
  315. package/input/input.directive.d.ts +7 -0
  316. package/input/public_api.d.ts +1 -0
  317. package/input-group/index.d.ts +5 -0
  318. package/input-group/input-group.component.d.ts +6 -0
  319. package/input-group/public_api.d.ts +1 -0
  320. package/labels/index.d.ts +5 -0
  321. package/labels/label-list.component.d.ts +34 -0
  322. package/labels/label.component.d.ts +24 -0
  323. package/labels/public_api.d.ts +2 -0
  324. package/labels-selector/index.d.ts +5 -0
  325. package/labels-selector/labels-selector.component.d.ts +42 -0
  326. package/labels-selector/public_api.d.ts +1 -0
  327. package/legacy/input/index.d.ts +5 -0
  328. package/legacy/input/input.component.d.ts +64 -0
  329. package/legacy/input/public_api.d.ts +1 -0
  330. package/legacy/select/index.d.ts +5 -0
  331. package/legacy/select/public_api.d.ts +1 -0
  332. package/legacy/select/select.component.d.ts +122 -0
  333. package/legacy/textarea/index.d.ts +5 -0
  334. package/legacy/textarea/public_api.d.ts +1 -0
  335. package/legacy/textarea/textarea.component.d.ts +53 -0
  336. package/media-display-overlay/index.d.ts +5 -0
  337. package/media-display-overlay/media-display-overlay-dialog.component.d.ts +42 -0
  338. package/media-display-overlay/public_api.d.ts +1 -0
  339. package/modal/index.d.ts +5 -0
  340. package/modal/modal.component.d.ts +54 -0
  341. package/modal/public_api.d.ts +1 -0
  342. package/neo-datepicker/day-detail.model.d.ts +9 -0
  343. package/neo-datepicker/day-disabled.pipe.d.ts +8 -0
  344. package/neo-datepicker/index.d.ts +5 -0
  345. package/neo-datepicker/neo-datepicker.component.d.ts +61 -0
  346. package/neo-datepicker/public_api.d.ts +3 -0
  347. package/notification/index.d.ts +5 -0
  348. package/notification/notification.component.d.ts +6 -0
  349. package/notification/public_api.d.ts +1 -0
  350. package/package.json +291 -20
  351. package/paginator/index.d.ts +5 -0
  352. package/paginator/paginator-button/paginator-button.component.d.ts +17 -0
  353. package/paginator/paginator.component.d.ts +38 -0
  354. package/paginator/public_api.d.ts +2 -0
  355. package/password-input/index.d.ts +5 -0
  356. package/password-input/password-input.component.d.ts +33 -0
  357. package/password-input/public_api.d.ts +1 -0
  358. package/popmenu/index.d.ts +5 -0
  359. package/{src/lib/popmenu → popmenu}/options.d.ts +1 -0
  360. package/popmenu/popmenu-options.interface.d.ts +48 -0
  361. package/{src/lib/popmenu → popmenu}/popmenu.component.d.ts +17 -9
  362. package/popmenu/popmenu.directive.d.ts +84 -0
  363. package/popmenu/popmenu.module.d.ts +11 -0
  364. package/popmenu/public_api.d.ts +4 -0
  365. package/radio/index.d.ts +5 -0
  366. package/radio/public_api.d.ts +2 -0
  367. package/radio/radio-control.registry.d.ts +22 -0
  368. package/radio/radio.component.d.ts +59 -0
  369. package/range-slider/index.d.ts +5 -0
  370. package/range-slider/public_api.d.ts +1 -0
  371. package/range-slider/range-slider.component.d.ts +35 -0
  372. package/select/ap-select.module.d.ts +17 -0
  373. package/select/dropdown-group-item/dropdown-group-item.component.d.ts +16 -0
  374. package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +21 -0
  375. package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +22 -0
  376. package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +15 -0
  377. package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +16 -0
  378. package/select/dropdown-search-form/dropdown-search-form.component.d.ts +22 -0
  379. package/select/index.d.ts +5 -0
  380. package/select/public_api.d.ts +12 -0
  381. package/select/select-base.directive.d.ts +18 -0
  382. package/select/select-label-multiple/select-label-multiple.component.d.ts +29 -0
  383. package/select/select-label-single/select-label-single.component.d.ts +10 -0
  384. package/select/select-multiple.directive.d.ts +10 -0
  385. package/select/select-single.directive.d.ts +10 -0
  386. package/slide-toggle/index.d.ts +5 -0
  387. package/slide-toggle/public_api.d.ts +1 -0
  388. package/{src/lib/slide-toggle → slide-toggle}/slide-toggle.component.d.ts +4 -0
  389. package/snackbars-thread/component/snackbars-thread.component.d.ts +23 -0
  390. package/snackbars-thread/index.d.ts +5 -0
  391. package/{src/lib/snackbars-thread → snackbars-thread}/model/snackbars-thread.model.d.ts +9 -6
  392. package/snackbars-thread/public_api.d.ts +3 -0
  393. package/snackbars-thread/service/snackbars-thread.service.d.ts +15 -0
  394. package/{src/lib/snackbars-thread → snackbars-thread}/utils/const/snackbars-thread.const.d.ts +2 -4
  395. package/social-button/index.d.ts +5 -0
  396. package/social-button/public_api.d.ts +1 -0
  397. package/social-button/social-button.component.d.ts +32 -0
  398. package/split-button/index.d.ts +5 -0
  399. package/split-button/public_api.d.ts +1 -0
  400. package/split-button/split-button.component.d.ts +43 -0
  401. package/src/lib/agorapulse-ui-components.module.d.ts +27 -0
  402. package/status/index.d.ts +5 -0
  403. package/status/public_api.d.ts +1 -0
  404. package/status/status.component.d.ts +9 -0
  405. package/status-card/index.d.ts +5 -0
  406. package/status-card/public_api.d.ts +1 -0
  407. package/status-card/status-card.component.d.ts +13 -0
  408. package/stepper/index.d.ts +5 -0
  409. package/stepper/public_api.d.ts +2 -0
  410. package/{src/lib/stepper → stepper}/step.model.d.ts +1 -0
  411. package/stepper/stepper.component.d.ts +16 -0
  412. package/tag/index.d.ts +5 -0
  413. package/tag/public_api.d.ts +1 -0
  414. package/tag/tag.component.d.ts +18 -0
  415. package/text-measurement/index.d.ts +5 -0
  416. package/text-measurement/public_api.d.ts +1 -0
  417. package/text-measurement/text-measurement.service.d.ts +8 -0
  418. package/textarea/index.d.ts +5 -0
  419. package/textarea/public_api.d.ts +1 -0
  420. package/textarea/textarea.directive.d.ts +11 -0
  421. package/toggle/index.d.ts +5 -0
  422. package/toggle/public_api.d.ts +1 -0
  423. package/toggle/toggle.component.d.ts +52 -0
  424. package/tooltip/index.d.ts +5 -0
  425. package/tooltip/public_api.d.ts +1 -0
  426. package/tooltip/tooltip.directive.d.ts +58 -0
  427. package/tooltip/tooltip.service.d.ts +11 -0
  428. package/agorapulse-ui-components-0.0.3.tgz +0 -0
  429. package/agorapulse-ui-components.d.ts +0 -9
  430. package/agorapulse-ui-components.metadata.json +0 -1
  431. package/bundles/agorapulse-ui-components.umd.js +0 -4448
  432. package/bundles/agorapulse-ui-components.umd.js.map +0 -1
  433. package/esm2015/agorapulse-ui-components.js +0 -10
  434. package/esm2015/index.js +0 -57
  435. package/esm2015/src/lib/add-comment/add-comment.component.js +0 -54
  436. package/esm2015/src/lib/agorapulse-ui-components.module.js +0 -279
  437. package/esm2015/src/lib/avatar/avatar.component.js +0 -82
  438. package/esm2015/src/lib/confirm-modal/confirm-modal-texts.model.js +0 -2
  439. package/esm2015/src/lib/confirm-modal/confirm-modal.component.js +0 -59
  440. package/esm2015/src/lib/datepicker/datepicker.component.js +0 -213
  441. package/esm2015/src/lib/directives/autosize-textarea.directive.js +0 -43
  442. package/esm2015/src/lib/directives/default-image.directive.js +0 -25
  443. package/esm2015/src/lib/directives/ellipsis.directive.js +0 -82
  444. package/esm2015/src/lib/directives/equal-validator.directive.js +0 -53
  445. package/esm2015/src/lib/directives/frozen-gif.directive.js +0 -113
  446. package/esm2015/src/lib/directives/multi-style-text.directive.js +0 -103
  447. package/esm2015/src/lib/directives/truncate-tooltip.directive.js +0 -36
  448. package/esm2015/src/lib/dots-stepper/dots-stepper.component.js +0 -41
  449. package/esm2015/src/lib/edit-tag-modal/edit-tags-modal.component.js +0 -129
  450. package/esm2015/src/lib/edit-tag-modal/model/edit-tags-modal.model.js +0 -2
  451. package/esm2015/src/lib/feature-onboarding/feature-onboarding.component.js +0 -35
  452. package/esm2015/src/lib/image-carousel/image-carousel.component.js +0 -143
  453. package/esm2015/src/lib/lead-modal/lead-info.model.js +0 -2
  454. package/esm2015/src/lib/lead-modal/lead-modal.component.js +0 -47
  455. package/esm2015/src/lib/media-display-overlay/media-display-overlay-dialog.component.js +0 -87
  456. package/esm2015/src/lib/modal/modal.component.js +0 -88
  457. package/esm2015/src/lib/notification/notification.component.js +0 -18
  458. package/esm2015/src/lib/overlay/overlay-dialog-service.component.js +0 -62
  459. package/esm2015/src/lib/overlay/overlay-dialog.component.js +0 -33
  460. package/esm2015/src/lib/overlay-in-div/overlay-in-div.component.js +0 -23
  461. package/esm2015/src/lib/paginator/paginator-button/paginator-button.component.js +0 -22
  462. package/esm2015/src/lib/paginator/paginator.component.js +0 -47
  463. package/esm2015/src/lib/password-input/password-input.component.js +0 -65
  464. package/esm2015/src/lib/password-strength-bar/password-strength-bar.component.js +0 -82
  465. package/esm2015/src/lib/password-strength-display-bar/password-strength-display-bar.component.js +0 -41
  466. package/esm2015/src/lib/phone-number-input/phone-number-input.component.js +0 -123
  467. package/esm2015/src/lib/places/place-list.component.js +0 -12
  468. package/esm2015/src/lib/places/place.component.js +0 -15
  469. package/esm2015/src/lib/popmenu/options.js +0 -16
  470. package/esm2015/src/lib/popmenu/popmenu-options.interface.js +0 -2
  471. package/esm2015/src/lib/popmenu/popmenu-options.service.js +0 -7
  472. package/esm2015/src/lib/popmenu/popmenu.component.js +0 -322
  473. package/esm2015/src/lib/popmenu/popmenu.directive.js +0 -215
  474. package/esm2015/src/lib/popmenu/popmenu.module.js +0 -38
  475. package/esm2015/src/lib/slide-toggle/slide-toggle.component.js +0 -59
  476. package/esm2015/src/lib/snackbar/snackbar.component.js +0 -22
  477. package/esm2015/src/lib/snackbars-thread/component/snackbars-thread.component.js +0 -50
  478. package/esm2015/src/lib/snackbars-thread/model/snackbars-thread.model.js +0 -41
  479. package/esm2015/src/lib/snackbars-thread/service/snackbars-thread.service.js +0 -44
  480. package/esm2015/src/lib/snackbars-thread/utils/const/snackbars-thread.const.js +0 -13
  481. package/esm2015/src/lib/splashscreen/splashscreen.component.js +0 -37
  482. package/esm2015/src/lib/star-rating/star-rating.component.js +0 -38
  483. package/esm2015/src/lib/stepper/step.model.js +0 -2
  484. package/esm2015/src/lib/stepper/stepper.component.js +0 -37
  485. package/esm2015/src/lib/tags/tag-list.component.js +0 -12
  486. package/esm2015/src/lib/tags/tag.component.js +0 -20
  487. package/esm2015/src/lib/tags-selector/tags-selector.component.js +0 -73
  488. package/esm2015/src/lib/timepicker/timepicker.component.js +0 -375
  489. package/esm2015/src/lib/tooltip-neo/tooltip-neo.component.js +0 -46
  490. package/esm2015/src/lib/tooltip-neo/tooltip-neo.const.js +0 -67
  491. package/esm2015/src/lib/tooltip-neo/tooltip-neo.directive.js +0 -107
  492. package/esm2015/src/lib/tooltip-neo/tooltip-neo.model.js +0 -2
  493. package/esm2015/src/lib/tooltip-neo/tooltip-neo.service.js +0 -15
  494. package/esm2015/src/lib/try-popup/try-popup-texts.model.js +0 -2
  495. package/esm2015/src/lib/try-popup/try-popup.component.js +0 -33
  496. package/fesm2015/agorapulse-ui-components.js +0 -3805
  497. package/fesm2015/agorapulse-ui-components.js.map +0 -1
  498. package/src/lib/add-comment/add-comment.component.d.ts +0 -17
  499. package/src/lib/avatar/avatar.component.d.ts +0 -23
  500. package/src/lib/confirm-modal/confirm-modal.component.d.ts +0 -17
  501. package/src/lib/datepicker/datepicker.component.d.ts +0 -69
  502. package/src/lib/directives/default-image.directive.d.ts +0 -5
  503. package/src/lib/directives/equal-validator.directive.d.ts +0 -10
  504. package/src/lib/directives/multi-style-text.directive.d.ts +0 -15
  505. package/src/lib/directives/truncate-tooltip.directive.d.ts +0 -13
  506. package/src/lib/dots-stepper/dots-stepper.component.d.ts +0 -13
  507. package/src/lib/edit-tag-modal/edit-tags-modal.component.d.ts +0 -29
  508. package/src/lib/edit-tag-modal/model/edit-tags-modal.model.d.ts +0 -21
  509. package/src/lib/feature-onboarding/feature-onboarding.component.d.ts +0 -15
  510. package/src/lib/image-carousel/image-carousel.component.d.ts +0 -45
  511. package/src/lib/lead-modal/lead-info.model.d.ts +0 -7
  512. package/src/lib/lead-modal/lead-modal.component.d.ts +0 -28
  513. package/src/lib/media-display-overlay/media-display-overlay-dialog.component.d.ts +0 -28
  514. package/src/lib/modal/modal.component.d.ts +0 -47
  515. package/src/lib/notification/notification.component.d.ts +0 -3
  516. package/src/lib/overlay/overlay-dialog-service.component.d.ts +0 -20
  517. package/src/lib/overlay/overlay-dialog.component.d.ts +0 -17
  518. package/src/lib/overlay-in-div/overlay-in-div.component.d.ts +0 -8
  519. package/src/lib/paginator/paginator-button/paginator-button.component.d.ts +0 -6
  520. package/src/lib/paginator/paginator.component.d.ts +0 -14
  521. package/src/lib/password-input/password-input.component.d.ts +0 -28
  522. package/src/lib/password-strength-bar/password-strength-bar.component.d.ts +0 -21
  523. package/src/lib/password-strength-display-bar/password-strength-display-bar.component.d.ts +0 -14
  524. package/src/lib/phone-number-input/phone-number-input.component.d.ts +0 -42
  525. package/src/lib/places/place-list.component.d.ts +0 -2
  526. package/src/lib/places/place.component.d.ts +0 -3
  527. package/src/lib/popmenu/popmenu-options.interface.d.ts +0 -24
  528. package/src/lib/popmenu/popmenu.directive.d.ts +0 -69
  529. package/src/lib/popmenu/popmenu.module.d.ts +0 -5
  530. package/src/lib/snackbar/snackbar.component.d.ts +0 -6
  531. package/src/lib/snackbars-thread/component/snackbars-thread.component.d.ts +0 -18
  532. package/src/lib/snackbars-thread/service/snackbars-thread.service.d.ts +0 -12
  533. package/src/lib/splashscreen/splashscreen.component.d.ts +0 -15
  534. package/src/lib/star-rating/star-rating.component.d.ts +0 -10
  535. package/src/lib/stepper/stepper.component.d.ts +0 -14
  536. package/src/lib/tags/tag-list.component.d.ts +0 -2
  537. package/src/lib/tags/tag.component.d.ts +0 -4
  538. package/src/lib/tags-selector/tags-selector.component.d.ts +0 -29
  539. package/src/lib/timepicker/timepicker.component.d.ts +0 -68
  540. package/src/lib/tooltip-neo/tooltip-neo.component.d.ts +0 -12
  541. package/src/lib/tooltip-neo/tooltip-neo.const.d.ts +0 -4
  542. package/src/lib/tooltip-neo/tooltip-neo.directive.d.ts +0 -29
  543. package/src/lib/tooltip-neo/tooltip-neo.model.d.ts +0 -12
  544. package/src/lib/tooltip-neo/tooltip-neo.service.d.ts +0 -4
  545. package/src/lib/try-popup/try-popup-texts.model.d.ts +0 -4
  546. package/src/lib/try-popup/try-popup.component.d.ts +0 -12
  547. /package/{src/lib/confirm-modal → confirm-modal}/confirm-modal-texts.model.d.ts +0 -0
  548. /package/{src/lib/popmenu → popmenu}/popmenu-options.service.d.ts +0 -0
@@ -0,0 +1,412 @@
1
+ import { DestroyRef, Directive, ElementRef, Input, NgZone, TemplateRef, ViewContainerRef, inject, } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import DOMPurify from 'dompurify';
4
+ import { TooltipService } from './tooltip.service';
5
+ import * as i0 from "@angular/core";
6
+ export class TooltipDirective {
7
+ elementRef = inject(ElementRef);
8
+ zone = inject(NgZone);
9
+ viewContainerRef = inject(ViewContainerRef);
10
+ destroyRef = inject(DestroyRef);
11
+ apTooltipPosition = 'top';
12
+ content;
13
+ apTooltipShowDelay = 80;
14
+ apTooltipHideDelay;
15
+ apTooltipDuration;
16
+ apTooltipDisabled;
17
+ apTooltipTemplateContext;
18
+ apTooltipVirtualScrollElement;
19
+ clickListener = undefined;
20
+ container = undefined;
21
+ hideTimeout;
22
+ mouseEnterListener = undefined;
23
+ mouseLeaveListener = undefined;
24
+ nativeElement = this.elementRef.nativeElement;
25
+ showTimeout;
26
+ tooltipText;
27
+ ngOnInit() {
28
+ if (this.apTooltipVirtualScrollElement) {
29
+ this.apTooltipVirtualScrollElement.renderedRangeStream.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(range => {
30
+ if (range.start === 0 && range.end === 0) {
31
+ this.deactivate();
32
+ }
33
+ });
34
+ }
35
+ }
36
+ ngAfterViewInit() {
37
+ this.zone.runOutsideAngular(() => {
38
+ this.mouseEnterListener = this.onMouseEnter.bind(this);
39
+ this.mouseLeaveListener = this.onMouseLeave.bind(this);
40
+ this.clickListener = this.onInputClick.bind(this);
41
+ this.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);
42
+ this.nativeElement.addEventListener('click', this.clickListener);
43
+ this.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);
44
+ });
45
+ }
46
+ ngOnDestroy() {
47
+ if (this.container) {
48
+ this.deactivate();
49
+ }
50
+ if (this.mouseEnterListener) {
51
+ this.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);
52
+ }
53
+ if (this.clickListener) {
54
+ this.nativeElement.removeEventListener('click', this.clickListener);
55
+ }
56
+ if (this.mouseLeaveListener) {
57
+ this.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);
58
+ }
59
+ this.mouseEnterListener = undefined;
60
+ this.mouseLeaveListener = undefined;
61
+ this.clickListener = undefined;
62
+ }
63
+ onMouseEnter() {
64
+ if (!this.container) {
65
+ this.activate();
66
+ }
67
+ }
68
+ onMouseLeave() {
69
+ this.deactivate();
70
+ }
71
+ onInputClick() {
72
+ this.deactivate();
73
+ }
74
+ activate() {
75
+ this.clearHideTimeout();
76
+ if (this.apTooltipShowDelay) {
77
+ this.showTimeout = window.setTimeout(() => {
78
+ this.show();
79
+ }, this.apTooltipShowDelay);
80
+ }
81
+ else {
82
+ this.show();
83
+ }
84
+ if (this.apTooltipDuration) {
85
+ const duration = this.apTooltipShowDelay ? this.apTooltipDuration + this.apTooltipShowDelay : this.apTooltipDuration;
86
+ this.hideTimeout = window.setTimeout(() => {
87
+ this.remove();
88
+ }, duration);
89
+ }
90
+ }
91
+ deactivate() {
92
+ this.clearShowTimeout();
93
+ if (this.apTooltipHideDelay) {
94
+ this.clearHideTimeout();
95
+ this.hideTimeout = window.setTimeout(() => {
96
+ this.remove();
97
+ }, this.apTooltipHideDelay);
98
+ }
99
+ else {
100
+ this.remove();
101
+ }
102
+ }
103
+ show() {
104
+ if (!this.content || this.apTooltipDisabled) {
105
+ return;
106
+ }
107
+ this.create();
108
+ this.align();
109
+ }
110
+ create() {
111
+ if (this.container) {
112
+ this.clearHideTimeout();
113
+ this.remove();
114
+ }
115
+ this.container = document.createElement('div');
116
+ this.container.setAttribute('role', 'tooltip');
117
+ const contentContainer = document.createElement('div');
118
+ contentContainer.classList.add('ap-content-container');
119
+ const svgNamespace = 'http://www.w3.org/2000/svg';
120
+ const arrowSvg = document.createElementNS(svgNamespace, 'svg');
121
+ arrowSvg.classList.add('ap-tooltip-arrow');
122
+ arrowSvg.setAttribute('xmlns', svgNamespace);
123
+ arrowSvg.setAttribute('viewBox', '0 0 16 8');
124
+ arrowSvg.setAttribute('fill', 'none');
125
+ const path = document.createElementNS(svgNamespace, 'path');
126
+ path.setAttribute('d', 'M6.68299 1.15238C7.43705 0.492586 8.56296 0.492588 9.31701 1.15238L16 7L0 7L6.68299 1.15238Z');
127
+ arrowSvg.appendChild(path);
128
+ this.tooltipText = document.createElement('div');
129
+ this.tooltipText.className = 'ap-tooltip-text';
130
+ this.updateText();
131
+ contentContainer.appendChild(this.tooltipText);
132
+ contentContainer.appendChild(arrowSvg);
133
+ this.container.appendChild(contentContainer);
134
+ document.body.appendChild(this.container);
135
+ this.container.classList.add('ap-tooltip');
136
+ if (this.content instanceof TemplateRef) {
137
+ this.container.classList.add('ap-tooltip-custom-template');
138
+ }
139
+ this.setCssVariables();
140
+ }
141
+ align() {
142
+ switch (this.apTooltipPosition) {
143
+ case 'top-left':
144
+ this.alignTopLeft();
145
+ if (this.isOutOfBounds()) {
146
+ this.alignBottom();
147
+ if (this.isOutOfBounds()) {
148
+ this.alignRight();
149
+ if (this.isOutOfBounds()) {
150
+ this.alignLeft();
151
+ }
152
+ }
153
+ }
154
+ break;
155
+ case 'top-right':
156
+ this.alignTopRight();
157
+ if (this.isOutOfBounds()) {
158
+ this.alignBottom();
159
+ if (this.isOutOfBounds()) {
160
+ this.alignRight();
161
+ if (this.isOutOfBounds()) {
162
+ this.alignLeft();
163
+ }
164
+ }
165
+ }
166
+ break;
167
+ case 'top':
168
+ this.alignTop();
169
+ if (this.isOutOfBounds()) {
170
+ this.alignBottom();
171
+ if (this.isOutOfBounds()) {
172
+ this.alignRight();
173
+ if (this.isOutOfBounds()) {
174
+ this.alignLeft();
175
+ }
176
+ }
177
+ }
178
+ break;
179
+ case 'bottom':
180
+ this.alignBottom();
181
+ if (this.isOutOfBounds()) {
182
+ this.alignTop();
183
+ if (this.isOutOfBounds()) {
184
+ this.alignRight();
185
+ if (this.isOutOfBounds()) {
186
+ this.alignLeft();
187
+ }
188
+ }
189
+ }
190
+ break;
191
+ case 'bottom-left':
192
+ this.alignBottomLeft();
193
+ if (this.isOutOfBounds()) {
194
+ this.alignTop();
195
+ if (this.isOutOfBounds()) {
196
+ this.alignRight();
197
+ if (this.isOutOfBounds()) {
198
+ this.alignLeft();
199
+ }
200
+ }
201
+ }
202
+ break;
203
+ case 'bottom-right':
204
+ this.alignBottomRight();
205
+ if (this.isOutOfBounds()) {
206
+ this.alignTop();
207
+ if (this.isOutOfBounds()) {
208
+ this.alignRight();
209
+ if (this.isOutOfBounds()) {
210
+ this.alignLeft();
211
+ }
212
+ }
213
+ }
214
+ break;
215
+ case 'left':
216
+ this.alignLeft();
217
+ if (this.isOutOfBounds()) {
218
+ this.alignRight();
219
+ if (this.isOutOfBounds()) {
220
+ this.alignTop();
221
+ if (this.isOutOfBounds()) {
222
+ this.alignBottom();
223
+ }
224
+ }
225
+ }
226
+ break;
227
+ case 'right':
228
+ this.alignRight();
229
+ if (this.isOutOfBounds()) {
230
+ this.alignLeft();
231
+ if (this.isOutOfBounds()) {
232
+ this.alignTop();
233
+ if (this.isOutOfBounds()) {
234
+ this.alignBottom();
235
+ }
236
+ }
237
+ }
238
+ break;
239
+ }
240
+ }
241
+ alignRight() {
242
+ this.preAlign('right');
243
+ if (this.container) {
244
+ const hostOffset = this.getHostOffset();
245
+ const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) + TooltipService.defaultOffset;
246
+ const top = hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;
247
+ this.container.style.left = left + 'px';
248
+ this.container.style.top = top + 'px';
249
+ }
250
+ }
251
+ alignLeft() {
252
+ this.preAlign('left');
253
+ if (this.container) {
254
+ const hostOffset = this.getHostOffset();
255
+ const left = hostOffset.left - TooltipService.getOuterWidth(this.container) - TooltipService.defaultOffset;
256
+ const top = hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;
257
+ this.container.style.left = left + 'px';
258
+ this.container.style.top = top + 'px';
259
+ }
260
+ }
261
+ alignTop() {
262
+ this.preAlign('top');
263
+ if (this.container) {
264
+ const hostOffset = this.getHostOffset();
265
+ const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;
266
+ const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
267
+ this.container.style.left = left + 'px';
268
+ this.container.style.top = top + 'px';
269
+ }
270
+ }
271
+ alignTopLeft() {
272
+ this.preAlign('top-left');
273
+ if (this.container) {
274
+ const hostOffset = this.getHostOffset();
275
+ const left = hostOffset.left;
276
+ const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
277
+ this.container.style.left = left + 'px';
278
+ this.container.style.top = top + 'px';
279
+ }
280
+ }
281
+ alignTopRight() {
282
+ this.preAlign('top-right');
283
+ if (this.container) {
284
+ const hostOffset = this.getHostOffset();
285
+ const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container);
286
+ const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
287
+ this.container.style.left = left + 'px';
288
+ this.container.style.top = top + 'px';
289
+ }
290
+ }
291
+ alignBottom() {
292
+ this.preAlign('bottom');
293
+ if (this.container) {
294
+ const hostOffset = this.getHostOffset();
295
+ const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;
296
+ const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
297
+ this.container.style.left = left + 'px';
298
+ this.container.style.top = top + 'px';
299
+ }
300
+ }
301
+ alignBottomLeft() {
302
+ this.preAlign('bottom-left');
303
+ if (this.container) {
304
+ const hostOffset = this.getHostOffset();
305
+ const left = hostOffset.left;
306
+ const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
307
+ this.container.style.left = left + 'px';
308
+ this.container.style.top = top + 'px';
309
+ }
310
+ }
311
+ alignBottomRight() {
312
+ this.preAlign('bottom-right');
313
+ if (this.container) {
314
+ const hostOffset = this.getHostOffset();
315
+ const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container));
316
+ const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
317
+ this.container.style.left = left + 'px';
318
+ this.container.style.top = top + 'px';
319
+ }
320
+ }
321
+ preAlign(position) {
322
+ if (this.container) {
323
+ this.container.style.left = -999 + 'px';
324
+ this.container.style.top = -999 + 'px';
325
+ const defaultClassName = 'ap-tooltip-' + position;
326
+ this.container.classList.add(defaultClassName);
327
+ }
328
+ }
329
+ getHostOffset() {
330
+ const offset = this.nativeElement.getBoundingClientRect();
331
+ const targetLeft = offset.left + TooltipService.getWindowScrollLeft();
332
+ const targetTop = offset.top + TooltipService.getWindowScrollTop();
333
+ return { left: targetLeft, top: targetTop };
334
+ }
335
+ isOutOfBounds() {
336
+ if (this.container) {
337
+ const offset = this.container.getBoundingClientRect();
338
+ const targetTop = offset.top;
339
+ const targetLeft = offset.left;
340
+ const width = TooltipService.getOuterWidth(this.container);
341
+ const height = TooltipService.getOuterHeight(this.container);
342
+ const viewport = TooltipService.getViewport();
343
+ return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;
344
+ }
345
+ else {
346
+ return false;
347
+ }
348
+ }
349
+ remove() {
350
+ if (this.container && this.container.parentElement) {
351
+ document.body.removeChild(this.container);
352
+ }
353
+ this.clearTimeouts();
354
+ this.container = undefined;
355
+ }
356
+ clearShowTimeout() {
357
+ if (this.showTimeout) {
358
+ clearTimeout(this.showTimeout);
359
+ this.showTimeout = undefined;
360
+ }
361
+ }
362
+ clearHideTimeout() {
363
+ if (this.hideTimeout) {
364
+ clearTimeout(this.hideTimeout);
365
+ this.hideTimeout = undefined;
366
+ }
367
+ }
368
+ clearTimeouts() {
369
+ this.clearShowTimeout();
370
+ this.clearHideTimeout();
371
+ }
372
+ updateText() {
373
+ if (this.content instanceof TemplateRef) {
374
+ const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.content);
375
+ embeddedViewRef.context = this.apTooltipTemplateContext;
376
+ embeddedViewRef.detectChanges();
377
+ embeddedViewRef.rootNodes.forEach(node => this.tooltipText?.appendChild(node));
378
+ }
379
+ else if (this.tooltipText) {
380
+ this.tooltipText.innerHTML = this.content ? DOMPurify.sanitize(this.content) : '';
381
+ }
382
+ }
383
+ setCssVariables() {
384
+ if (this.container) {
385
+ this.container.style.setProperty('--ap-tooltip-height', this.container.offsetHeight + 'px');
386
+ }
387
+ }
388
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
389
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: TooltipDirective, isStandalone: true, selector: "[apTooltip]", inputs: { apTooltipPosition: "apTooltipPosition", content: ["apTooltip", "content"], apTooltipShowDelay: "apTooltipShowDelay", apTooltipHideDelay: "apTooltipHideDelay", apTooltipDuration: "apTooltipDuration", apTooltipDisabled: "apTooltipDisabled", apTooltipTemplateContext: "apTooltipTemplateContext", apTooltipVirtualScrollElement: "apTooltipVirtualScrollElement" }, ngImport: i0 });
390
+ }
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TooltipDirective, decorators: [{
392
+ type: Directive,
393
+ args: [{ selector: '[apTooltip]', standalone: true }]
394
+ }], propDecorators: { apTooltipPosition: [{
395
+ type: Input
396
+ }], content: [{
397
+ type: Input,
398
+ args: ['apTooltip']
399
+ }], apTooltipShowDelay: [{
400
+ type: Input
401
+ }], apTooltipHideDelay: [{
402
+ type: Input
403
+ }], apTooltipDuration: [{
404
+ type: Input
405
+ }], apTooltipDisabled: [{
406
+ type: Input
407
+ }], apTooltipTemplateContext: [{
408
+ type: Input
409
+ }], apTooltipVirtualScrollElement: [{
410
+ type: Input
411
+ }] } });
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvdG9vbHRpcC9zcmMvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVILFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBR04sV0FBVyxFQUNYLGdCQUFnQixFQUNoQixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLGdCQUFnQjtJQUNSLFVBQVUsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsSUFBSSxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixnQkFBZ0IsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDOUQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4QyxpQkFBaUIsR0FTUixLQUFLLENBQUM7SUFFSixPQUFPLENBQXVEO0lBRXpFLGtCQUFrQixHQUF1QixFQUFFLENBQUM7SUFFNUMsa0JBQWtCLENBQXFCO0lBRXZDLGlCQUFpQixDQUFxQjtJQUV0QyxpQkFBaUIsQ0FBc0I7SUFFdkMsd0JBQXdCLENBQWtCO0lBRTFDLDZCQUE2QixDQUF1QztJQUU3RSxhQUFhLEdBQTZCLFNBQVMsQ0FBQztJQUVwRCxTQUFTLEdBQTRCLFNBQVMsQ0FBQztJQUUvQyxXQUFXLENBQXFCO0lBRWhDLGtCQUFrQixHQUE2QixTQUFTLENBQUM7SUFFekQsa0JBQWtCLEdBQTZCLFNBQVMsQ0FBQztJQUV6RCxhQUFhLEdBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBRTNELFdBQVcsQ0FBcUI7SUFFaEMsV0FBVyxDQUEwQjtJQUVyQyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsNkJBQTZCLEVBQUU7WUFDcEMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQy9HLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUU7b0JBQ3RDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDckI7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9FLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDakY7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDakY7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixDQUFDLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDckgsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUMvQjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDekMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNqQjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV2RCxNQUFNLFlBQVksR0FBRyw0QkFBNEIsQ0FBQztRQUNsRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRCxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLDhGQUE4RixDQUFDLENBQUM7UUFDdkgsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxCLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLO1FBQ0QsUUFBUSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDNUIsS0FBSyxVQUFVO2dCQUNYLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7d0JBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7NEJBQ3RCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzt5QkFDcEI7cUJBQ0o7aUJBQ0o7Z0JBQ0QsTUFBTTtZQUNWLEtBQUssV0FBVztnQkFDWixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO29CQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO3dCQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ2xCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFOzRCQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7eUJBQ3BCO3FCQUNKO2lCQUNKO2dCQUNELE1BQU07WUFDVixLQUFLLEtBQUs7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTt3QkFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUVsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTs0QkFDdEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO3lCQUNwQjtxQkFDSjtpQkFDSjtnQkFDRCxNQUFNO1lBRVYsS0FBSyxRQUFRO2dCQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7d0JBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFFbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7NEJBQ3RCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzt5QkFDcEI7cUJBQ0o7aUJBQ0o7Z0JBQ0QsTUFBTTtZQUVWLEtBQUssYUFBYTtnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO29CQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO3dCQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBRWxCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFOzRCQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7eUJBQ3BCO3FCQUNKO2lCQUNKO2dCQUNELE1BQU07WUFFVixLQUFLLGNBQWM7Z0JBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO29CQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO3dCQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBRWxCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFOzRCQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7eUJBQ3BCO3FCQUNKO2lCQUNKO2dCQUNELE1BQU07WUFFVixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUVsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTt3QkFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUVoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTs0QkFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO3lCQUN0QjtxQkFDSjtpQkFDSjtnQkFDRCxNQUFNO1lBRVYsS0FBSyxPQUFPO2dCQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFFakIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7d0JBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFFaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7NEJBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt5QkFDdEI7cUJBQ0o7aUJBQ0o7Z0JBQ0QsTUFBTTtTQUNiO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQy9HLE1BQU0sR0FBRyxHQUNMLFVBQVUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3SCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUMzRyxNQUFNLEdBQUcsR0FDTCxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FDTixVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUgsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQzFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUM3QixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUM7WUFDMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9ILE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUMxRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUNOLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1SCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUM7WUFDOUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQzdCLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUM5RyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQ04sVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDeEgsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQzlHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBRXZDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxHQUFHLFFBQVEsQ0FBQztZQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNsRDtJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzFELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDdEUsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUVuRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3RELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDN0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUMvQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzRCxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFOUMsT0FBTyxVQUFVLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxJQUFJLFNBQVMsR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztTQUN6SDthQUFNO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDckMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRSxlQUFlLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztZQUN4RCxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDckY7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDL0Y7SUFDTCxDQUFDO3dHQTNjUSxnQkFBZ0I7NEZBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs4QkFPM0MsaUJBQWlCO3NCQUF6QixLQUFLO2dCQVdjLE9BQU87c0JBQTFCLEtBQUs7dUJBQUMsV0FBVztnQkFFVCxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVHLDZCQUE2QjtzQkFBckMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuL3Rvb2x0aXAuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1thcFRvb2x0aXBdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIEBJbnB1dCgpIGFwVG9vbHRpcFBvc2l0aW9uOlxuICAgICAgICB8ICdyaWdodCdcbiAgICAgICAgfCAnbGVmdCdcbiAgICAgICAgfCAndG9wJ1xuICAgICAgICB8ICdib3R0b20nXG4gICAgICAgIHwgJ2JvdHRvbS1sZWZ0J1xuICAgICAgICB8ICdib3R0b20tcmlnaHQnXG4gICAgICAgIHwgJ3RvcC1sZWZ0J1xuICAgICAgICB8ICd0b3AtcmlnaHQnXG4gICAgICAgIHwgdW5kZWZpbmVkID0gJ3RvcCc7XG5cbiAgICBASW5wdXQoJ2FwVG9vbHRpcCcpIGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgICBASW5wdXQoKSBhcFRvb2x0aXBTaG93RGVsYXk6IG51bWJlciB8IHVuZGVmaW5lZCA9IDgwO1xuXG4gICAgQElucHV0KCkgYXBUb29sdGlwSGlkZURlbGF5OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKSBhcFRvb2x0aXBEdXJhdGlvbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KCkgYXBUb29sdGlwRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKSBhcFRvb2x0aXBUZW1wbGF0ZUNvbnRleHQ6IGFueSB8IHVuZGVmaW5lZDtcblxuICAgIEBJbnB1dCgpIGFwVG9vbHRpcFZpcnR1YWxTY3JvbGxFbGVtZW50OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfCB1bmRlZmluZWQ7XG5cbiAgICBjbGlja0xpc3RlbmVyOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBjb250YWluZXI6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgaGlkZVRpbWVvdXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIG1vdXNlRW50ZXJMaXN0ZW5lcjogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgbW91c2VMZWF2ZUxpc3RlbmVyOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgc2hvd1RpbWVvdXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIHRvb2x0aXBUZXh0OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hcFRvb2x0aXBWaXJ0dWFsU2Nyb2xsRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5hcFRvb2x0aXBWaXJ0dWFsU2Nyb2xsRWxlbWVudC5yZW5kZXJlZFJhbmdlU3RyZWFtLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShyYW5nZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0ID09PSAwICYmIHJhbmdlLmVuZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW91c2VFbnRlckxpc3RlbmVyID0gdGhpcy5vbk1vdXNlRW50ZXIuYmluZCh0aGlzKTtcbiAgICAgICAgICAgIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyID0gdGhpcy5vbk1vdXNlTGVhdmUuYmluZCh0aGlzKTtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IHRoaXMub25JbnB1dENsaWNrLmJpbmQodGhpcyk7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIHRoaXMubW91c2VFbnRlckxpc3RlbmVyKTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xpY2tMaXN0ZW5lcik7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW91c2VFbnRlckxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIHRoaXMubW91c2VFbnRlckxpc3RlbmVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrTGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1vdXNlTGVhdmVMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLm1vdXNlTGVhdmVMaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb3VzZUVudGVyTGlzdGVuZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgIH1cblxuICAgIG9uSW5wdXRDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XG4gICAgfVxuXG4gICAgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJIaWRlVGltZW91dCgpO1xuICAgICAgICBpZiAodGhpcy5hcFRvb2x0aXBTaG93RGVsYXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICAgICAgICB9LCB0aGlzLmFwVG9vbHRpcFNob3dEZWxheSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFwVG9vbHRpcER1cmF0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IHRoaXMuYXBUb29sdGlwU2hvd0RlbGF5ID8gdGhpcy5hcFRvb2x0aXBEdXJhdGlvbiArIHRoaXMuYXBUb29sdGlwU2hvd0RlbGF5IDogdGhpcy5hcFRvb2x0aXBEdXJhdGlvbjtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgICAgIH0sIGR1cmF0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJTaG93VGltZW91dCgpO1xuICAgICAgICBpZiAodGhpcy5hcFRvb2x0aXBIaWRlRGVsYXkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJIaWRlVGltZW91dCgpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICAgICAgfSwgdGhpcy5hcFRvb2x0aXBIaWRlRGVsYXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3coKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb250ZW50IHx8IHRoaXMuYXBUb29sdGlwRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3JlYXRlKCk7XG4gICAgICAgIHRoaXMuYWxpZ24oKTtcbiAgICB9XG5cbiAgICBjcmVhdGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgdGhpcy5jbGVhckhpZGVUaW1lb3V0KCk7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5jb250YWluZXIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3Rvb2x0aXAnKTtcbiAgICAgICAgY29uc3QgY29udGVudENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb250ZW50Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ2FwLWNvbnRlbnQtY29udGFpbmVyJyk7XG5cbiAgICAgICAgY29uc3Qgc3ZnTmFtZXNwYWNlID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcbiAgICAgICAgY29uc3QgYXJyb3dTdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoc3ZnTmFtZXNwYWNlLCAnc3ZnJyk7XG4gICAgICAgIGFycm93U3ZnLmNsYXNzTGlzdC5hZGQoJ2FwLXRvb2x0aXAtYXJyb3cnKTtcbiAgICAgICAgYXJyb3dTdmcuc2V0QXR0cmlidXRlKCd4bWxucycsIHN2Z05hbWVzcGFjZSk7XG4gICAgICAgIGFycm93U3ZnLnNldEF0dHJpYnV0ZSgndmlld0JveCcsICcwIDAgMTYgOCcpO1xuICAgICAgICBhcnJvd1N2Zy5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnbm9uZScpO1xuICAgICAgICBjb25zdCBwYXRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHN2Z05hbWVzcGFjZSwgJ3BhdGgnKTtcbiAgICAgICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCAnTTYuNjgyOTkgMS4xNTIzOEM3LjQzNzA1IDAuNDkyNTg2IDguNTYyOTYgMC40OTI1ODggOS4zMTcwMSAxLjE1MjM4TDE2IDdMMCA3TDYuNjgyOTkgMS4xNTIzOFonKTtcbiAgICAgICAgYXJyb3dTdmcuYXBwZW5kQ2hpbGQocGF0aCk7XG5cbiAgICAgICAgdGhpcy50b29sdGlwVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLnRvb2x0aXBUZXh0LmNsYXNzTmFtZSA9ICdhcC10b29sdGlwLXRleHQnO1xuICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcblxuICAgICAgICBjb250ZW50Q29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcFRleHQpO1xuICAgICAgICBjb250ZW50Q29udGFpbmVyLmFwcGVuZENoaWxkKGFycm93U3ZnKTtcbiAgICAgICAgdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQoY29udGVudENvbnRhaW5lcik7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdhcC10b29sdGlwJyk7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdhcC10b29sdGlwLWN1c3RvbS10ZW1wbGF0ZScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyaWFibGVzKCk7XG4gICAgfVxuXG4gICAgYWxpZ24oKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5hcFRvb2x0aXBQb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndG9wLWxlZnQnOlxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Ub3BMZWZ0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25MZWZ0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Ub3BSaWdodCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Ub3AoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b21MZWZ0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Ub3AoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnYm90dG9tLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduQm90dG9tUmlnaHQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblRvcCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25SaWdodCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Ub3AoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbkJvdHRvbSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25MZWZ0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFsaWduUmlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlQWxpZ24oJ3JpZ2h0Jyk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdCArIFRvb2x0aXBTZXJ2aWNlLmdldE91dGVyV2lkdGgodGhpcy5uYXRpdmVFbGVtZW50KSArIFRvb2x0aXBTZXJ2aWNlLmRlZmF1bHRPZmZzZXQ7XG4gICAgICAgICAgICBjb25zdCB0b3AgPVxuICAgICAgICAgICAgICAgIGhvc3RPZmZzZXQudG9wICsgKFRvb2x0aXBTZXJ2aWNlLmdldE91dGVySGVpZ2h0KHRoaXMubmF0aXZlRWxlbWVudCkgLSBUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLmNvbnRhaW5lcikpIC8gMjtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbkxlZnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlQWxpZ24oJ2xlZnQnKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gaG9zdE9mZnNldC5sZWZ0IC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLmNvbnRhaW5lcikgLSBUb29sdGlwU2VydmljZS5kZWZhdWx0T2Zmc2V0O1xuICAgICAgICAgICAgY29uc3QgdG9wID1cbiAgICAgICAgICAgICAgICBob3N0T2Zmc2V0LnRvcCArIChUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLm5hdGl2ZUVsZW1lbnQpIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5jb250YWluZXIpKSAvIDI7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS50b3AgPSB0b3AgKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWxpZ25Ub3AoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlQWxpZ24oJ3RvcCcpO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3RPZmZzZXQgPSB0aGlzLmdldEhvc3RPZmZzZXQoKTtcbiAgICAgICAgICAgIGNvbnN0IGxlZnQgPVxuICAgICAgICAgICAgICAgIGhvc3RPZmZzZXQubGVmdCArIChUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMubmF0aXZlRWxlbWVudCkgLSBUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMuY29udGFpbmVyKSkgLyAyO1xuICAgICAgICAgICAgY29uc3QgdG9wID0gaG9zdE9mZnNldC50b3AgLSBUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLmNvbnRhaW5lcikgLSBUb29sdGlwU2VydmljZS5kZWZhdWx0T2Zmc2V0O1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUudG9wID0gdG9wICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFsaWduVG9wTGVmdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVBbGlnbigndG9wLWxlZnQnKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gaG9zdE9mZnNldC5sZWZ0O1xuICAgICAgICAgICAgY29uc3QgdG9wID0gaG9zdE9mZnNldC50b3AgLSBUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLmNvbnRhaW5lcikgLSBUb29sdGlwU2VydmljZS5kZWZhdWx0T2Zmc2V0O1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUudG9wID0gdG9wICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFsaWduVG9wUmlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlQWxpZ24oJ3RvcC1yaWdodCcpO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3RPZmZzZXQgPSB0aGlzLmdldEhvc3RPZmZzZXQoKTtcbiAgICAgICAgICAgIGNvbnN0IGxlZnQgPSBob3N0T2Zmc2V0LmxlZnQgKyBUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMubmF0aXZlRWxlbWVudCkgLSBUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5jb250YWluZXIpIC0gVG9vbHRpcFNlcnZpY2UuZGVmYXVsdE9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbkJvdHRvbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVBbGlnbignYm90dG9tJyk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9XG4gICAgICAgICAgICAgICAgaG9zdE9mZnNldC5sZWZ0ICsgKFRvb2x0aXBTZXJ2aWNlLmdldE91dGVyV2lkdGgodGhpcy5uYXRpdmVFbGVtZW50KSAtIFRvb2x0aXBTZXJ2aWNlLmdldE91dGVyV2lkdGgodGhpcy5jb250YWluZXIpKSAvIDI7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSBob3N0T2Zmc2V0LnRvcCArIFRvb2x0aXBTZXJ2aWNlLmdldE91dGVySGVpZ2h0KHRoaXMubmF0aXZlRWxlbWVudCkgKyBUb29sdGlwU2VydmljZS5kZWZhdWx0T2Zmc2V0O1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUudG9wID0gdG9wICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFsaWduQm90dG9tTGVmdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVBbGlnbignYm90dG9tLWxlZnQnKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gaG9zdE9mZnNldC5sZWZ0O1xuICAgICAgICAgICAgY29uc3QgdG9wID0gaG9zdE9mZnNldC50b3AgKyBUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLm5hdGl2ZUVsZW1lbnQpICsgVG9vbHRpcFNlcnZpY2UuZGVmYXVsdE9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbkJvdHRvbVJpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZUFsaWduKCdib3R0b20tcmlnaHQnKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID1cbiAgICAgICAgICAgICAgICBob3N0T2Zmc2V0LmxlZnQgKyAoVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLm5hdGl2ZUVsZW1lbnQpIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLmNvbnRhaW5lcikpO1xuICAgICAgICAgICAgY29uc3QgdG9wID0gaG9zdE9mZnNldC50b3AgKyBUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLm5hdGl2ZUVsZW1lbnQpICsgVG9vbHRpcFNlcnZpY2UuZGVmYXVsdE9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcmVBbGlnbihwb3NpdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUubGVmdCA9IC05OTkgKyAncHgnO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUudG9wID0gLTk5OSArICdweCc7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDbGFzc05hbWUgPSAnYXAtdG9vbHRpcC0nICsgcG9zaXRpb247XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKGRlZmF1bHRDbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SG9zdE9mZnNldCgpIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB0YXJnZXRMZWZ0ID0gb2Zmc2V0LmxlZnQgKyBUb29sdGlwU2VydmljZS5nZXRXaW5kb3dTY3JvbGxMZWZ0KCk7XG4gICAgICAgIGNvbnN0IHRhcmdldFRvcCA9IG9mZnNldC50b3AgKyBUb29sdGlwU2VydmljZS5nZXRXaW5kb3dTY3JvbGxUb3AoKTtcblxuICAgICAgICByZXR1cm4geyBsZWZ0OiB0YXJnZXRMZWZ0LCB0b3A6IHRhcmdldFRvcCB9O1xuICAgIH1cblxuICAgIGlzT3V0T2ZCb3VuZHMoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5jb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRUb3AgPSBvZmZzZXQudG9wO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0TGVmdCA9IG9mZnNldC5sZWZ0O1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IFRvb2x0aXBTZXJ2aWNlLmdldE91dGVySGVpZ2h0KHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gVG9vbHRpcFNlcnZpY2UuZ2V0Vmlld3BvcnQoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldExlZnQgKyB3aWR0aCA+IHZpZXdwb3J0LndpZHRoIHx8IHRhcmdldExlZnQgPCAwIHx8IHRhcmdldFRvcCA8IDAgfHwgdGFyZ2V0VG9wICsgaGVpZ2h0ID4gdmlld3BvcnQuaGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIgJiYgdGhpcy5jb250YWluZXIucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY2xlYXJTaG93VGltZW91dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1RpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RpbWVvdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhckhpZGVUaW1lb3V0KCkge1xuICAgICAgICBpZiAodGhpcy5oaWRlVGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsZWFyVGltZW91dHMoKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTaG93VGltZW91dCgpO1xuICAgICAgICB0aGlzLmNsZWFySGlkZVRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KCkge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGVtYmVkZGVkVmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5jb250ZW50KTtcbiAgICAgICAgICAgIGVtYmVkZGVkVmlld1JlZi5jb250ZXh0ID0gdGhpcy5hcFRvb2x0aXBUZW1wbGF0ZUNvbnRleHQ7XG4gICAgICAgICAgICBlbWJlZGRlZFZpZXdSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgZW1iZWRkZWRWaWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKG5vZGUgPT4gdGhpcy50b29sdGlwVGV4dD8uYXBwZW5kQ2hpbGQobm9kZSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9vbHRpcFRleHQpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFRleHQuaW5uZXJIVE1MID0gdGhpcy5jb250ZW50ID8gRE9NUHVyaWZ5LnNhbml0aXplKHRoaXMuY29udGVudCkgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldENzc1ZhcmlhYmxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC10b29sdGlwLWhlaWdodCcsIHRoaXMuY29udGFpbmVyLm9mZnNldEhlaWdodCArICdweCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TooltipService {
4
+ static defaultOffset = 12;
5
+ static getOuterWidth(el) {
6
+ return el.offsetWidth;
7
+ }
8
+ static getOuterHeight(el) {
9
+ return el.offsetHeight;
10
+ }
11
+ static getViewport() {
12
+ const win = window, d = document, e = d.documentElement, g = d.getElementsByTagName('body')[0], w = win.innerWidth || e.clientWidth || g.clientWidth, h = win.innerHeight || e.clientHeight || g.clientHeight;
13
+ return { width: w, height: h };
14
+ }
15
+ static getWindowScrollLeft() {
16
+ const doc = document.documentElement;
17
+ return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
18
+ }
19
+ static getWindowScrollTop() {
20
+ const doc = document.documentElement;
21
+ return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TooltipService });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TooltipService, decorators: [{
27
+ type: Injectable
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3Rvb2x0aXAvc3JjL3Rvb2x0aXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sY0FBYztJQUN2QixNQUFNLENBQVUsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVuQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQWU7UUFDaEMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQWU7UUFDakMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNkLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFDZCxDQUFDLEdBQUcsUUFBUSxFQUNaLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUNyQixDQUFDLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQ3BELENBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUU1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNyQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDckMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO3dHQTlCUSxjQUFjOzRHQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb29sdGlwU2VydmljZSB7XG4gICAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRPZmZzZXQgPSAxMjtcblxuICAgIHN0YXRpYyBnZXRPdXRlcldpZHRoKGVsOiBIVE1MRWxlbWVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBlbC5vZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0T3V0ZXJIZWlnaHQoZWw6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGVsLm9mZnNldEhlaWdodDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Vmlld3BvcnQoKTogYW55IHtcbiAgICAgICAgY29uc3Qgd2luID0gd2luZG93LFxuICAgICAgICAgICAgZCA9IGRvY3VtZW50LFxuICAgICAgICAgICAgZSA9IGQuZG9jdW1lbnRFbGVtZW50LFxuICAgICAgICAgICAgZyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSxcbiAgICAgICAgICAgIHcgPSB3aW4uaW5uZXJXaWR0aCB8fCBlLmNsaWVudFdpZHRoIHx8IGcuY2xpZW50V2lkdGgsXG4gICAgICAgICAgICBoID0gd2luLmlubmVySGVpZ2h0IHx8IGUuY2xpZW50SGVpZ2h0IHx8IGcuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgIHJldHVybiB7IHdpZHRoOiB3LCBoZWlnaHQ6IGggfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0V2luZG93U2Nyb2xsTGVmdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIHJldHVybiAod2luZG93LnBhZ2VYT2Zmc2V0IHx8IGRvYy5zY3JvbGxMZWZ0KSAtIChkb2MuY2xpZW50TGVmdCB8fCAwKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0V2luZG93U2Nyb2xsVG9wKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgcmV0dXJuICh3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jLnNjcm9sbFRvcCkgLSAoZG9jLmNsaWVudFRvcCB8fCAwKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { EventEmitter, booleanAttribute, forwardRef, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { ButtonComponent } from '@agorapulse/ui-components/button';
6
+ import * as i1 from '@angular/material/input';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { AutosizeTextareaDirective } from '@agorapulse/ui-components/directives';
9
+ import * as i2 from '@angular/cdk/bidi';
10
+
11
+ /* eslint-disable @typescript-eslint/no-empty-function */
12
+ class AddCommentComponent {
13
+ placeholder = 'Add a comment';
14
+ customTemplate;
15
+ disable = false;
16
+ action = new EventEmitter();
17
+ _commentValue = '';
18
+ get commentValue() {
19
+ return this._commentValue;
20
+ }
21
+ set commentValue(value) {
22
+ this._commentValue = value;
23
+ this.propagateChange(value);
24
+ }
25
+ propagateChange = () => { };
26
+ registerOnChange(fn) {
27
+ this.propagateChange = fn;
28
+ }
29
+ registerOnTouched(fn) { }
30
+ setDisabledState(isDisabled) {
31
+ this.disable = isDisabled;
32
+ }
33
+ writeValue(obj) {
34
+ this._commentValue = obj != undefined ? obj : '';
35
+ this.propagateChange(this._commentValue);
36
+ }
37
+ onChange(event) {
38
+ const value = event.target.value;
39
+ this._commentValue = value != undefined ? value : '';
40
+ this.propagateChange(value);
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AddCommentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.10", type: AddCommentComponent, isStandalone: true, selector: "ap-add-comment", inputs: { placeholder: "placeholder", customTemplate: "customTemplate", disable: ["disable", "disable", booleanAttribute] }, outputs: { action: "action" }, providers: [
44
+ {
45
+ provide: NG_VALUE_ACCESSOR,
46
+ useExisting: forwardRef(() => AddCommentComponent),
47
+ multi: true,
48
+ },
49
+ ], ngImport: i0, template: "<div class=\"add-comment\">\n <textarea\n apAutosize\n dir=\"auto\"\n matInput\n rows=\"1\"\n [placeholder]=\"placeholder\"\n [value]=\"_commentValue\"\n (keyup)=\"onChange($event)\"\n (change)=\"onChange($event)\"></textarea>\n\n <ng-template\n #defaultTemplate\n let-action=\"action\">\n <div class=\"default-template\">\n <ap-button\n name=\"\"\n [config]=\"{\n style: 'stroked',\n color: 'grey'\n }\"\n (click)=\"action.emit('send')\">\n Send\n </ap-button>\n </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n action: action\n }\" />\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.add-comment{border:1px solid #d6dae0;border-radius:4px;display:flex;flex-direction:column}.add-comment:focus-within{border:1px solid #178dfe}.add-comment:not(:focus-within):hover{border-color:#aeb5c1}.add-comment textarea{border:none;background:transparent;color:#858fa1;padding:0;margin:6px 16px}.add-comment textarea:focus,.add-comment input:focus{outline:none}.add-comment .default-template{display:flex;flex-direction:row-reverse}.add-comment .default-template button{background-color:#fff!important;width:90px;margin-right:8px;margin-bottom:8px;align-self:end}.add-comment .default-template button:hover{border-color:#d6dae0!important}.add-comment .default-template button:active{border-color:#aeb5c1!important}\n"], dependencies: [{ kind: "directive", type: AutosizeTextareaDirective, selector: "textarea[apAutosize]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "ap-button", inputs: ["ariaLabel", "disabled", "name", "form", "config", "loading", "locked", "menuTrigger", "symbolPosition", "ionicModalEnabled"], outputs: ["menuOpened", "menuClosed", "click", "focus", "blur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AddCommentComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-add-comment', standalone: true, imports: [AutosizeTextareaDirective, MatInputModule, NgTemplateOutlet, ButtonComponent], providers: [
54
+ {
55
+ provide: NG_VALUE_ACCESSOR,
56
+ useExisting: forwardRef(() => AddCommentComponent),
57
+ multi: true,
58
+ },
59
+ ], template: "<div class=\"add-comment\">\n <textarea\n apAutosize\n dir=\"auto\"\n matInput\n rows=\"1\"\n [placeholder]=\"placeholder\"\n [value]=\"_commentValue\"\n (keyup)=\"onChange($event)\"\n (change)=\"onChange($event)\"></textarea>\n\n <ng-template\n #defaultTemplate\n let-action=\"action\">\n <div class=\"default-template\">\n <ap-button\n name=\"\"\n [config]=\"{\n style: 'stroked',\n color: 'grey'\n }\"\n (click)=\"action.emit('send')\">\n Send\n </ap-button>\n </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n action: action\n }\" />\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.add-comment{border:1px solid #d6dae0;border-radius:4px;display:flex;flex-direction:column}.add-comment:focus-within{border:1px solid #178dfe}.add-comment:not(:focus-within):hover{border-color:#aeb5c1}.add-comment textarea{border:none;background:transparent;color:#858fa1;padding:0;margin:6px 16px}.add-comment textarea:focus,.add-comment input:focus{outline:none}.add-comment .default-template{display:flex;flex-direction:row-reverse}.add-comment .default-template button{background-color:#fff!important;width:90px;margin-right:8px;margin-bottom:8px;align-self:end}.add-comment .default-template button:hover{border-color:#d6dae0!important}.add-comment .default-template button:active{border-color:#aeb5c1!important}\n"] }]
60
+ }], propDecorators: { placeholder: [{
61
+ type: Input
62
+ }], customTemplate: [{
63
+ type: Input
64
+ }], disable: [{
65
+ type: Input,
66
+ args: [{
67
+ transform: booleanAttribute,
68
+ }]
69
+ }], action: [{
70
+ type: Output
71
+ }] } });
72
+
73
+ /**
74
+ * Generated bundle index. Do not edit.
75
+ */
76
+
77
+ export { AddCommentComponent };
78
+ //# sourceMappingURL=agorapulse-ui-components-add-comment.mjs.map