@sebgroup/green-angular 4.6.6 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/esm2022/lib/accordion/accordion-list-item.component.mjs +5 -5
  2. package/esm2022/lib/accordion/accordion.component.mjs +4 -4
  3. package/esm2022/lib/accordion/accordion.module.mjs +4 -4
  4. package/esm2022/lib/badge/badge.component.mjs +5 -5
  5. package/esm2022/lib/badge/badge.module.mjs +4 -4
  6. package/esm2022/lib/button/button.component.mjs +3 -3
  7. package/esm2022/lib/button/button.module.mjs +4 -4
  8. package/esm2022/lib/cell-table/cell-table-item.component.mjs +5 -5
  9. package/esm2022/lib/cell-table/cell-table.component.mjs +4 -4
  10. package/esm2022/lib/cell-table/cell-table.module.mjs +4 -4
  11. package/esm2022/lib/cell-table/cell-underline.directive.mjs +5 -5
  12. package/esm2022/lib/context-menu/context-menu.component.mjs +5 -12
  13. package/esm2022/lib/context-menu/context-menu.module.mjs +4 -4
  14. package/esm2022/lib/datepicker/datepicker.component.mjs +5 -5
  15. package/esm2022/lib/datepicker/datepicker.module.mjs +4 -4
  16. package/esm2022/lib/dropdown/dropdown-button.directive.mjs +4 -4
  17. package/esm2022/lib/dropdown/dropdown-option.directive.mjs +4 -4
  18. package/esm2022/lib/dropdown/dropdown.component.mjs +6 -11
  19. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  20. package/esm2022/lib/green-angular.module.mjs +4 -4
  21. package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
  22. package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +4 -4
  23. package/esm2022/lib/modal/modal-footer.directive.mjs +4 -4
  24. package/esm2022/lib/modal/modal-header.directive.mjs +4 -4
  25. package/esm2022/lib/modal/modal.component.mjs +14 -14
  26. package/esm2022/lib/modal/modal.module.mjs +4 -4
  27. package/esm2022/lib/pagination/pagination.component.mjs +4 -4
  28. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  29. package/esm2022/lib/progress-circle/progress-circle.component.mjs +4 -4
  30. package/esm2022/lib/progress-circle/progress-circle.module.mjs +4 -4
  31. package/esm2022/lib/segmented-control/segmented-control.component.mjs +4 -4
  32. package/esm2022/lib/segmented-control/segmented-control.module.mjs +4 -4
  33. package/esm2022/lib/shared/core-element/core-element.directive.mjs +3 -3
  34. package/esm2022/lib/shared/core-element/core-element.module.mjs +4 -4
  35. package/esm2022/lib/shared/on-scroll.directive.mjs +5 -5
  36. package/esm2022/lib/shared/shared.module.mjs +4 -4
  37. package/esm2022/lib/slider/slider.component.mjs +4 -4
  38. package/esm2022/lib/slider/slider.module.mjs +4 -4
  39. package/esm2022/lib/sortable-list/sortable-list.component.mjs +4 -4
  40. package/esm2022/lib/sortable-list/sortable-list.module.mjs +4 -4
  41. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +5 -5
  42. package/esm2022/src/lib/accordion/accordion.component.mjs +4 -4
  43. package/esm2022/src/lib/accordion/accordion.module.mjs +4 -4
  44. package/esm2022/src/lib/badge/badge.component.mjs +5 -5
  45. package/esm2022/src/lib/badge/badge.module.mjs +4 -4
  46. package/esm2022/src/lib/button/button.component.mjs +3 -3
  47. package/esm2022/src/lib/button/button.module.mjs +4 -4
  48. package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +5 -5
  49. package/esm2022/src/lib/cell-table/cell-table.component.mjs +4 -4
  50. package/esm2022/src/lib/cell-table/cell-table.module.mjs +4 -4
  51. package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +5 -5
  52. package/esm2022/src/lib/context-menu/context-menu.component.mjs +5 -12
  53. package/esm2022/src/lib/context-menu/context-menu.module.mjs +4 -4
  54. package/esm2022/src/lib/datepicker/datepicker.component.mjs +5 -5
  55. package/esm2022/src/lib/datepicker/datepicker.module.mjs +4 -4
  56. package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +4 -4
  57. package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +4 -4
  58. package/esm2022/src/lib/dropdown/dropdown.component.mjs +6 -11
  59. package/esm2022/src/lib/dropdown/dropdown.module.mjs +4 -4
  60. package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
  61. package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +4 -4
  62. package/esm2022/src/lib/modal/modal-footer.directive.mjs +4 -4
  63. package/esm2022/src/lib/modal/modal-header.directive.mjs +4 -4
  64. package/esm2022/src/lib/modal/modal.component.mjs +14 -14
  65. package/esm2022/src/lib/modal/modal.module.mjs +4 -4
  66. package/esm2022/src/lib/pagination/pagination.component.mjs +4 -4
  67. package/esm2022/src/lib/pagination/pagination.module.mjs +4 -4
  68. package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +4 -4
  69. package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +4 -4
  70. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +4 -4
  71. package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +4 -4
  72. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +3 -3
  73. package/esm2022/src/lib/shared/core-element/core-element.module.mjs +4 -4
  74. package/esm2022/src/lib/shared/on-scroll.directive.mjs +5 -5
  75. package/esm2022/src/lib/shared/shared.module.mjs +4 -4
  76. package/esm2022/src/lib/slider/slider.component.mjs +4 -4
  77. package/esm2022/src/lib/slider/slider.module.mjs +4 -4
  78. package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +4 -4
  79. package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +4 -4
  80. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +8 -8
  81. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +4 -4
  82. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +3 -3
  83. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +4 -4
  84. package/esm2022/src/v-angular/button/button.component.mjs +7 -7
  85. package/esm2022/src/v-angular/button/button.module.mjs +4 -4
  86. package/esm2022/src/v-angular/card/card.component.mjs +3 -3
  87. package/esm2022/src/v-angular/card/card.module.mjs +4 -4
  88. package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +5 -5
  89. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +4 -4
  90. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +8 -8
  91. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +4 -4
  92. package/esm2022/src/v-angular/core/core.globals.mjs +1 -1
  93. package/esm2022/src/v-angular/core/core.utils.mjs +3 -3
  94. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +8 -8
  95. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +8 -8
  96. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +4 -4
  97. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +7 -7
  98. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +4 -4
  99. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +7 -7
  100. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +6 -6
  101. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +4 -4
  102. package/esm2022/src/v-angular/external-link/external-link.directive.mjs +5 -5
  103. package/esm2022/src/v-angular/external-link/external-link.module.mjs +4 -4
  104. package/esm2022/src/v-angular/i18n/i18n.module.mjs +18 -12
  105. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +9 -9
  106. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +3 -3
  107. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +4 -4
  108. package/esm2022/src/v-angular/input/input.component.mjs +9 -9
  109. package/esm2022/src/v-angular/input/input.module.mjs +4 -4
  110. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +3 -3
  111. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +6 -6
  112. package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +4 -4
  113. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +5 -5
  114. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +6 -6
  115. package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +3 -3
  116. package/esm2022/src/v-angular/modal/modal.globals.mjs +1 -1
  117. package/esm2022/src/v-angular/modal/modal.module.mjs +4 -4
  118. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +6 -6
  119. package/esm2022/src/v-angular/radio/radio.component.mjs +11 -11
  120. package/esm2022/src/v-angular/radio/radio.module.mjs +4 -4
  121. package/esm2022/src/v-angular/slug/slug.module.mjs +4 -4
  122. package/esm2022/src/v-angular/slug/slug.pipe.mjs +4 -4
  123. package/esm2022/src/v-angular/textarea/textarea.component.mjs +9 -9
  124. package/esm2022/src/v-angular/textarea/textarea.module.mjs +4 -4
  125. package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +5 -5
  126. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +4 -4
  127. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +8 -8
  128. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +4 -4
  129. package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +3 -3
  130. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +4 -4
  131. package/esm2022/v-angular/button/button.component.mjs +7 -7
  132. package/esm2022/v-angular/button/button.module.mjs +4 -4
  133. package/esm2022/v-angular/card/card.component.mjs +3 -3
  134. package/esm2022/v-angular/card/card.module.mjs +4 -4
  135. package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +5 -5
  136. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +4 -4
  137. package/esm2022/v-angular/checkbox/checkbox.component.mjs +8 -8
  138. package/esm2022/v-angular/checkbox/checkbox.module.mjs +4 -4
  139. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +8 -8
  140. package/esm2022/v-angular/dropdown/dropdown.component.mjs +8 -8
  141. package/esm2022/v-angular/dropdown/dropdown.module.mjs +4 -4
  142. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +7 -7
  143. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +4 -4
  144. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +7 -7
  145. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +6 -6
  146. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +4 -4
  147. package/esm2022/v-angular/i18n/i18n.module.mjs +18 -12
  148. package/esm2022/v-angular/i18n/i18n.test.module.mjs +9 -9
  149. package/esm2022/v-angular/info-circle/info-circle.component.mjs +3 -3
  150. package/esm2022/v-angular/info-circle/info-circle.module.mjs +4 -4
  151. package/esm2022/v-angular/input/input.component.mjs +9 -9
  152. package/esm2022/v-angular/input/input.module.mjs +4 -4
  153. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +3 -3
  154. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +6 -6
  155. package/esm2022/v-angular/input-mask/input-mask.module.mjs +4 -4
  156. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +5 -5
  157. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +6 -6
  158. package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +3 -3
  159. package/esm2022/v-angular/modal/modal.globals.mjs +1 -1
  160. package/esm2022/v-angular/modal/modal.module.mjs +4 -4
  161. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +6 -6
  162. package/esm2022/v-angular/radio/radio.component.mjs +11 -11
  163. package/esm2022/v-angular/radio/radio.module.mjs +4 -4
  164. package/esm2022/v-angular/textarea/textarea.component.mjs +9 -9
  165. package/esm2022/v-angular/textarea/textarea.module.mjs +4 -4
  166. package/esm2022/v-angular/tooltip/tooltip.directive.mjs +5 -5
  167. package/esm2022/v-angular/tooltip/tooltip.module.mjs +4 -4
  168. package/esm2022/v-angular/v-angular.module.mjs +4 -4
  169. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +11 -11
  170. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
  171. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +8 -8
  172. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -1
  173. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +7 -7
  174. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +15 -15
  175. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
  176. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +8 -15
  177. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
  178. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +8 -8
  179. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
  180. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +17 -22
  181. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
  182. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +7 -7
  183. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
  184. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +25 -25
  185. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
  186. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +7 -7
  187. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
  188. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +7 -7
  189. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
  190. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +8 -8
  191. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -1
  192. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +15 -15
  193. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
  194. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +7 -7
  195. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
  196. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +7 -7
  197. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
  198. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +11 -11
  199. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
  200. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +7 -7
  201. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -1
  202. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +10 -10
  203. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
  204. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +7 -7
  205. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +8 -8
  206. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -1
  207. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +11 -11
  208. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
  209. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +3 -3
  210. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -1
  211. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +38 -38
  212. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
  213. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +8 -8
  214. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -1
  215. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +24 -18
  216. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
  217. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +7 -7
  218. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +12 -12
  219. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -1
  220. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +12 -12
  221. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
  222. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +21 -21
  223. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
  224. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +14 -14
  225. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
  226. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +7 -7
  227. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -1
  228. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +12 -12
  229. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
  230. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +8 -8
  231. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -1
  232. package/fesm2022/sebgroup-green-angular-v-angular.mjs +195 -189
  233. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
  234. package/fesm2022/sebgroup-green-angular.mjs +161 -173
  235. package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
  236. package/lib/context-menu/context-menu.component.d.ts +1 -6
  237. package/lib/datepicker/datepicker.component.d.ts +0 -7
  238. package/lib/dropdown/dropdown.component.d.ts +1 -6
  239. package/package.json +10 -10
  240. package/src/lib/context-menu/context-menu.component.d.ts +1 -6
  241. package/src/lib/datepicker/datepicker.component.d.ts +0 -7
  242. package/src/lib/dropdown/dropdown.component.d.ts +1 -6
  243. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  244. package/src/v-angular/button/button.component.d.ts +1 -1
  245. package/src/v-angular/checkbox/checkbox.component.d.ts +1 -1
  246. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  247. package/src/v-angular/dropdown/dropdown.component.d.ts +1 -1
  248. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  249. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  250. package/src/v-angular/i18n/i18n.module.d.ts +2 -2
  251. package/src/v-angular/i18n/i18n.test.module.d.ts +1 -1
  252. package/src/v-angular/input/input.component.d.ts +1 -1
  253. package/src/v-angular/radio/radio.component.d.ts +1 -1
  254. package/src/v-angular/textarea/textarea.component.d.ts +1 -1
  255. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  256. package/v-angular/button/button.component.d.ts +1 -1
  257. package/v-angular/checkbox/checkbox.component.d.ts +1 -1
  258. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  259. package/v-angular/dropdown/dropdown.component.d.ts +1 -1
  260. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  261. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  262. package/v-angular/i18n/i18n.module.d.ts +2 -2
  263. package/v-angular/i18n/i18n.test.module.d.ts +1 -1
  264. package/v-angular/input/input.component.d.ts +1 -1
  265. package/v-angular/radio/radio.component.d.ts +1 -1
  266. package/v-angular/textarea/textarea.component.d.ts +1 -1
@@ -1,15 +1,15 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule, Pipe } from '@angular/core';
3
- import { TRANSLOCO_FALLBACK_STRATEGY, TRANSLOCO_INTERCEPTOR, TRANSLOCO_MISSING_HANDLER, TRANSLOCO_TRANSPILER, } from '@ngneat/transloco';
3
+ import { TRANSLOCO_FALLBACK_STRATEGY, TRANSLOCO_INTERCEPTOR, TRANSLOCO_MISSING_HANDLER, TRANSLOCO_TRANSPILER, } from '@jsverse/transloco';
4
4
  import * as i0 from "@angular/core";
5
5
  export class TranslocoMockPipe {
6
6
  constructor() {
7
7
  this.transform = (value) => value;
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslocoMockPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TranslocoMockPipe, name: "transloco" }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TranslocoMockPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TranslocoMockPipe, name: "transloco" }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslocoMockPipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TranslocoMockPipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{ name: 'transloco' }]
15
15
  }] });
@@ -37,9 +37,9 @@ export class TranslocoMockInterceptor {
37
37
  }
38
38
  }
39
39
  export class NgvI18nTestModule {
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvI18nTestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgvI18nTestModule, declarations: [TranslocoMockPipe], imports: [CommonModule], exports: [TranslocoMockPipe] }); }
42
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvI18nTestModule, providers: [
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvI18nTestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgvI18nTestModule, declarations: [TranslocoMockPipe], imports: [CommonModule], exports: [TranslocoMockPipe] }); }
42
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvI18nTestModule, providers: [
43
43
  {
44
44
  provide: TRANSLOCO_TRANSPILER,
45
45
  useClass: TranslocoMockTranspiler,
@@ -59,7 +59,7 @@ export class NgvI18nTestModule {
59
59
  },
60
60
  ], imports: [CommonModule] }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvI18nTestModule, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvI18nTestModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  imports: [CommonModule],
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
86
86
  ],
87
87
  }]
88
88
  }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi50ZXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2kxOG4vaTE4bi50ZXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFHTCwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixvQkFBb0IsR0FNckIsTUFBTSxtQkFBbUIsQ0FBQTs7QUFHMUIsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVFLGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsS0FBSyxDQUFBO0tBQzdDOytHQUZZLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7QUFLM0IsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLGNBQVMsR0FBRyxDQUFDLEdBQUcsS0FBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7SUFDeEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLDJCQUEyQjtJQUF4QztRQUNFLFdBQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFrQixFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUNyRSxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0UsaUJBQVksR0FBRyxDQUFDLFdBQW1CLEVBQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLGtCQUFrQixDQUFDLFdBQXdCLEVBQUUsS0FBYTtRQUN4RCxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxLQUFhO1FBQzlELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztDQUNGO0FBMEJELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQWxEakIsaUJBQWlCLGFBMkJsQixZQUFZLGFBM0JYLGlCQUFpQjtnSEFrRGpCLGlCQUFpQixhQXBCakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLHdCQUF3QjthQUNuQztZQUNEO2dCQUNFLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUM3QjtTQUNGLFlBckJTLFlBQVk7OzRGQXVCWCxpQkFBaUI7a0JBeEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHFCQUFxQjt5QkFDaEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsUUFBUSxFQUFFLDJCQUEyQjs0QkFDckMsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUM7eUJBQzdCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgSGFzaE1hcCxcbiAgVHJhbnNsYXRpb24sXG4gIFRSQU5TTE9DT19GQUxMQkFDS19TVFJBVEVHWSxcbiAgVFJBTlNMT0NPX0lOVEVSQ0VQVE9SLFxuICBUUkFOU0xPQ09fTUlTU0lOR19IQU5ETEVSLFxuICBUUkFOU0xPQ09fVFJBTlNQSUxFUixcbiAgVHJhbnNsb2NvQ29uZmlnLFxuICBUcmFuc2xvY29GYWxsYmFja1N0cmF0ZWd5LFxuICBUcmFuc2xvY29JbnRlcmNlcHRvcixcbiAgVHJhbnNsb2NvTWlzc2luZ0hhbmRsZXIsXG4gIFRyYW5zbG9jb1RyYW5zcGlsZXJGdW5jdGlvbixcbn0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5cbkBQaXBlKHsgbmFtZTogJ3RyYW5zbG9jbycgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29Nb2NrUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0gPSAodmFsdWU6IG51bWJlcik6IG51bWJlciA9PiB2YWx1ZVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja1RyYW5zcGlsZXIgaW1wbGVtZW50cyBUcmFuc2xvY29UcmFuc3BpbGVyRnVuY3Rpb24ge1xuICB0cmFuc3BpbGUgPSAoLi4uX2FyZ3M6IHN0cmluZ1tdKSA9PiAnJ1xufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja01pc3NpbmdIYW5kbGVyIGltcGxlbWVudHMgVHJhbnNsb2NvTWlzc2luZ0hhbmRsZXIge1xuICBoYW5kbGUgPSAoa2V5OiBzdHJpbmcsIF86IFRyYW5zbG9jb0NvbmZpZywgX3BhcmFtczogSGFzaE1hcCkgPT4ga2V5XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29Nb2NrU3RyYXRlZ3kgaW1wbGVtZW50cyBUcmFuc2xvY29GYWxsYmFja1N0cmF0ZWd5IHtcbiAgZ2V0TmV4dExhbmdzID0gKF9mYWlsZWRMYW5nOiBzdHJpbmcpOiBhbnkgPT4gJydcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb01vY2tJbnRlcmNlcHRvciBpbXBsZW1lbnRzIFRyYW5zbG9jb0ludGVyY2VwdG9yIHtcbiAgcHJlU2F2ZVRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbiwgX2xhbmc6IHN0cmluZyk6IFRyYW5zbGF0aW9uIHtcbiAgICByZXR1cm4gdHJhbnNsYXRpb25cbiAgfVxuXG4gIHByZVNhdmVUcmFuc2xhdGlvbktleShfa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIF9sYW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtUcmFuc2xvY29Nb2NrUGlwZV0sXG4gIGV4cG9ydHM6IFtUcmFuc2xvY29Nb2NrUGlwZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19UUkFOU1BJTEVSLFxuICAgICAgdXNlQ2xhc3M6IFRyYW5zbG9jb01vY2tUcmFuc3BpbGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0lOVEVSQ0VQVE9SLFxuICAgICAgdXNlQ2xhc3M6IFRyYW5zbG9jb01vY2tJbnRlcmNlcHRvcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19GQUxMQkFDS19TVFJBVEVHWSxcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrU3RyYXRlZ3ksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fTUlTU0lOR19IQU5ETEVSLFxuICAgICAgdXNlQ2xhc3M6IFRyYW5zbG9jb01vY2tNaXNzaW5nSGFuZGxlcixcbiAgICAgIGRlcHM6IFtUUkFOU0xPQ09fVFJBTlNQSUxFUl0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2STE4blRlc3RNb2R1bGUge31cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi50ZXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2kxOG4vaTE4bi50ZXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFHTCwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixvQkFBb0IsR0FNckIsTUFBTSxvQkFBb0IsQ0FBQTs7QUFHM0IsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVFLGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsS0FBSyxDQUFBO0tBQzdDOytHQUZZLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7QUFLM0IsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLGNBQVMsR0FBRyxDQUFDLEdBQUcsS0FBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7SUFDeEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLDJCQUEyQjtJQUF4QztRQUNFLFdBQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFrQixFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUNyRSxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0UsaUJBQVksR0FBRyxDQUFDLFdBQW1CLEVBQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLGtCQUFrQixDQUFDLFdBQXdCLEVBQUUsS0FBYTtRQUN4RCxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxLQUFhO1FBQzlELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztDQUNGO0FBMEJELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQWxEakIsaUJBQWlCLGFBMkJsQixZQUFZLGFBM0JYLGlCQUFpQjtnSEFrRGpCLGlCQUFpQixhQXBCakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLHdCQUF3QjthQUNuQztZQUNEO2dCQUNFLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUM3QjtTQUNGLFlBckJTLFlBQVk7OzRGQXVCWCxpQkFBaUI7a0JBeEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHFCQUFxQjt5QkFDaEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsUUFBUSxFQUFFLDJCQUEyQjs0QkFDckMsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUM7eUJBQzdCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgSGFzaE1hcCxcbiAgVHJhbnNsYXRpb24sXG4gIFRSQU5TTE9DT19GQUxMQkFDS19TVFJBVEVHWSxcbiAgVFJBTlNMT0NPX0lOVEVSQ0VQVE9SLFxuICBUUkFOU0xPQ09fTUlTU0lOR19IQU5ETEVSLFxuICBUUkFOU0xPQ09fVFJBTlNQSUxFUixcbiAgVHJhbnNsb2NvQ29uZmlnLFxuICBUcmFuc2xvY29GYWxsYmFja1N0cmF0ZWd5LFxuICBUcmFuc2xvY29JbnRlcmNlcHRvcixcbiAgVHJhbnNsb2NvTWlzc2luZ0hhbmRsZXIsXG4gIFRyYW5zbG9jb1RyYW5zcGlsZXJGdW5jdGlvbixcbn0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJ1xuXG5AUGlwZSh7IG5hbWU6ICd0cmFuc2xvY28nIH0pXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtID0gKHZhbHVlOiBudW1iZXIpOiBudW1iZXIgPT4gdmFsdWVcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb01vY2tUcmFuc3BpbGVyIGltcGxlbWVudHMgVHJhbnNsb2NvVHJhbnNwaWxlckZ1bmN0aW9uIHtcbiAgdHJhbnNwaWxlID0gKC4uLl9hcmdzOiBzdHJpbmdbXSkgPT4gJydcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb01vY2tNaXNzaW5nSGFuZGxlciBpbXBsZW1lbnRzIFRyYW5zbG9jb01pc3NpbmdIYW5kbGVyIHtcbiAgaGFuZGxlID0gKGtleTogc3RyaW5nLCBfOiBUcmFuc2xvY29Db25maWcsIF9wYXJhbXM6IEhhc2hNYXApID0+IGtleVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja1N0cmF0ZWd5IGltcGxlbWVudHMgVHJhbnNsb2NvRmFsbGJhY2tTdHJhdGVneSB7XG4gIGdldE5leHRMYW5ncyA9IChfZmFpbGVkTGFuZzogc3RyaW5nKTogYW55ID0+ICcnXG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29Nb2NrSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBUcmFuc2xvY29JbnRlcmNlcHRvciB7XG4gIHByZVNhdmVUcmFuc2xhdGlvbih0cmFuc2xhdGlvbjogVHJhbnNsYXRpb24sIF9sYW5nOiBzdHJpbmcpOiBUcmFuc2xhdGlvbiB7XG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uXG4gIH1cblxuICBwcmVTYXZlVHJhbnNsYXRpb25LZXkoX2tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBfbGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbVHJhbnNsb2NvTW9ja1BpcGVdLFxuICBleHBvcnRzOiBbVHJhbnNsb2NvTW9ja1BpcGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fVFJBTlNQSUxFUixcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrVHJhbnNwaWxlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19JTlRFUkNFUFRPUixcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrSW50ZXJjZXB0b3IsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fRkFMTEJBQ0tfU1RSQVRFR1ksXG4gICAgICB1c2VDbGFzczogVHJhbnNsb2NvTW9ja1N0cmF0ZWd5LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX01JU1NJTkdfSEFORExFUixcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrTWlzc2luZ0hhbmRsZXIsXG4gICAgICBkZXBzOiBbVFJBTlNMT0NPX1RSQU5TUElMRVJdLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndkkxOG5UZXN0TW9kdWxlIHt9XG4iXX0=
@@ -11,10 +11,10 @@ export class NgvInfoCircleComponent {
11
11
  /** Special property used for selecting DOM elements during automated UI testing. */
12
12
  this.thook = 'info';
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInfoCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvInfoCircleComponent, selector: "nggv-info-circle", inputs: { thook: "thook", info: "info" }, host: { properties: { "attr.data-thook": "this.thook" } }, ngImport: i0, template: "<svg [nggvTooltip]=\"info\">\n <path\n d=\"M10.75 11H12L12 16.25M21.25 12C21.25 17.1086 17.1086 21.25 12 21.25C6.89137 21.25 2.75 17.1086 2.75 12C2.75 6.89137 6.89137 2.75 12 2.75C17.1086 2.75 21.25 6.89137 21.25 12Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n fill=\"none\"\n />\n <path\n d=\"M11.375 8C11.375 8.34518 11.6548 8.625 12 8.625C12.3452 8.625 12.625 8.34518 12.625 8C12.625 7.65482 12.3452 7.375 12 7.375C11.6548 7.375 11.375 7.65482 11.375 8Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n stroke-width=\"0.25\"\n />\n</svg>\n", styles: [":host{display:block}svg{display:block;width:1.5rem;height:1.5rem}.gds-tooltip{background-color:#1a1a1a;color:#fff;font-size:.875rem;font-weight:400;line-height:1.5;padding:.5rem;pointer-events:none}.gds-tooltip__arrow-top{position:absolute;width:0;height:0;border:.5rem solid transparent;bottom:-1rem;left:50%;transform:translate(-50%);border-color:#1a1a1a transparent transparent}.gds-tooltip__arrow-bottom{position:absolute;width:0;height:0;border:.5rem solid transparent;top:-1rem;left:50%;transform:translate(-50%);border-color:transparent transparent #1a1a1a}.gds-tooltip__arrow-left{position:absolute;width:0;height:0;border:.5rem solid transparent;right:-1rem;top:50%;transform:translateY(-50%);border-color:transparent transparent transparent #1a1a1a}.gds-tooltip__arrow-right{position:absolute;width:0;height:0;border:.5rem solid transparent;left:-1rem;top:50%;transform:translateY(-50%);border-color:transparent #1a1a1a transparent transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgvTooltipDirective, selector: "[nggvTooltip]", inputs: ["nggvTooltip", "thook", "placement", "shown", "offset", "resizeThrottle", "maxWidth"], outputs: ["nggvShow", "nggvHide"] }] }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInfoCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgvInfoCircleComponent, selector: "nggv-info-circle", inputs: { thook: "thook", info: "info" }, host: { properties: { "attr.data-thook": "this.thook" } }, ngImport: i0, template: "<svg [nggvTooltip]=\"info\">\n <path\n d=\"M10.75 11H12L12 16.25M21.25 12C21.25 17.1086 17.1086 21.25 12 21.25C6.89137 21.25 2.75 17.1086 2.75 12C2.75 6.89137 6.89137 2.75 12 2.75C17.1086 2.75 21.25 6.89137 21.25 12Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n fill=\"none\"\n />\n <path\n d=\"M11.375 8C11.375 8.34518 11.6548 8.625 12 8.625C12.3452 8.625 12.625 8.34518 12.625 8C12.625 7.65482 12.3452 7.375 12 7.375C11.6548 7.375 11.375 7.65482 11.375 8Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n stroke-width=\"0.25\"\n />\n</svg>\n", styles: [":host{display:block}svg{display:block;width:1.5rem;height:1.5rem}.gds-tooltip{background-color:#1a1a1a;color:#fff;font-size:.875rem;font-weight:400;line-height:1.5;padding:.5rem;pointer-events:none}.gds-tooltip__arrow-top{position:absolute;width:0;height:0;border:.5rem solid transparent;bottom:-1rem;left:50%;transform:translate(-50%);border-color:#1a1a1a transparent transparent}.gds-tooltip__arrow-bottom{position:absolute;width:0;height:0;border:.5rem solid transparent;top:-1rem;left:50%;transform:translate(-50%);border-color:transparent transparent #1a1a1a}.gds-tooltip__arrow-left{position:absolute;width:0;height:0;border:.5rem solid transparent;right:-1rem;top:50%;transform:translateY(-50%);border-color:transparent transparent transparent #1a1a1a}.gds-tooltip__arrow-right{position:absolute;width:0;height:0;border:.5rem solid transparent;left:-1rem;top:50%;transform:translateY(-50%);border-color:transparent #1a1a1a transparent transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgvTooltipDirective, selector: "[nggvTooltip]", inputs: ["nggvTooltip", "thook", "placement", "shown", "offset", "resizeThrottle", "maxWidth"], outputs: ["nggvShow", "nggvHide"] }] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInfoCircleComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInfoCircleComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'nggv-info-circle', template: "<svg [nggvTooltip]=\"info\">\n <path\n d=\"M10.75 11H12L12 16.25M21.25 12C21.25 17.1086 17.1086 21.25 12 21.25C6.89137 21.25 2.75 17.1086 2.75 12C2.75 6.89137 6.89137 2.75 12 2.75C17.1086 2.75 21.25 6.89137 21.25 12Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n fill=\"none\"\n />\n <path\n d=\"M11.375 8C11.375 8.34518 11.6548 8.625 12 8.625C12.3452 8.625 12.625 8.34518 12.625 8C12.625 7.65482 12.3452 7.375 12 7.375C11.6548 7.375 11.375 7.65482 11.375 8Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n stroke-width=\"0.25\"\n />\n</svg>\n", styles: [":host{display:block}svg{display:block;width:1.5rem;height:1.5rem}.gds-tooltip{background-color:#1a1a1a;color:#fff;font-size:.875rem;font-weight:400;line-height:1.5;padding:.5rem;pointer-events:none}.gds-tooltip__arrow-top{position:absolute;width:0;height:0;border:.5rem solid transparent;bottom:-1rem;left:50%;transform:translate(-50%);border-color:#1a1a1a transparent transparent}.gds-tooltip__arrow-bottom{position:absolute;width:0;height:0;border:.5rem solid transparent;top:-1rem;left:50%;transform:translate(-50%);border-color:transparent transparent #1a1a1a}.gds-tooltip__arrow-left{position:absolute;width:0;height:0;border:.5rem solid transparent;right:-1rem;top:50%;transform:translateY(-50%);border-color:transparent transparent transparent #1a1a1a}.gds-tooltip__arrow-right{position:absolute;width:0;height:0;border:.5rem solid transparent;left:-1rem;top:50%;transform:translateY(-50%);border-color:transparent #1a1a1a transparent transparent}\n"] }]
20
20
  }], propDecorators: { thook: [{
@@ -5,11 +5,11 @@ import { NgvTooltipModule } from '@sebgroup/green-angular/src/v-angular/tooltip'
5
5
  import { NgvInfoCircleComponent } from './info-circle.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class NgvInfoCircleModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInfoCircleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgvInfoCircleModule, declarations: [NgvInfoCircleComponent], imports: [CommonModule, NggCoreWrapperModule, NgvTooltipModule], exports: [NgvInfoCircleComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInfoCircleModule, imports: [CommonModule, NggCoreWrapperModule, NgvTooltipModule] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInfoCircleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgvInfoCircleModule, declarations: [NgvInfoCircleComponent], imports: [CommonModule, NggCoreWrapperModule, NgvTooltipModule], exports: [NgvInfoCircleComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInfoCircleModule, imports: [CommonModule, NggCoreWrapperModule, NgvTooltipModule] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInfoCircleModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInfoCircleModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [NgvInfoCircleComponent],
@@ -1,13 +1,13 @@
1
1
  import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output, Self, } from '@angular/core';
2
2
  import { NgControl, UntypedFormControl } from '@angular/forms';
3
- import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
3
+ import { TRANSLOCO_SCOPE } from '@jsverse/transloco';
4
4
  import { Subject } from 'rxjs';
5
5
  import { debounceTime, takeUntil } from 'rxjs/operators';
6
6
  import { NgvBaseControlValueAccessorComponent } from '@sebgroup/green-angular/src/v-angular/base-control-value-accessor';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/forms";
9
9
  import * as i2 from "@angular/common";
10
- import * as i3 from "@ngneat/transloco";
10
+ import * as i3 from "@jsverse/transloco";
11
11
  import * as i4 from "@sebgroup/green-angular/src/v-angular/input-mask";
12
12
  import * as i5 from "@sebgroup/green-angular/src/v-angular/character-countdown";
13
13
  /**
@@ -159,13 +159,13 @@ export class NgvInputComponent extends NgvBaseControlValueAccessorComponent {
159
159
  this.onChange(this.state);
160
160
  this.inputChange$.next(this.state);
161
161
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvInputComponent, selector: "nggv-input", inputs: { thook: "thook", type: "type", placeholder: "placeholder", autocomplete: "autocomplete", readonly: "readonly", email: "email", min: "min", max: "max", step: "step", minLength: "minLength", minlength: "minlength", maxLength: "maxLength", maxlength: "maxlength", showCharacterCountdown: "showCharacterCountdown", pattern: "pattern", debounceTime: "debounceTime", badgeText: "badgeText", inputMask: "inputMask" }, outputs: { nggvInput: "nggvInput" }, host: { properties: { "class": "this.class", "attr.data-thook": "this.thook" } }, usesInheritance: true, ngImport: i0, template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-input'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-input'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n <ng-container *ngIf=\"!inputMask\">\n {{ state }}\n </ng-container>\n <ng-container *ngIf=\"!!inputMask\">\n {{ state | nggvInputMaskFormat: inputMask }}\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT WRAPPER -->\n<ng-container *ngIf=\"!locked\">\n <div class=\"gds-input-wrapper\" [class.nggv-field--error]=\"invalid\">\n <div class=\"input-group-prefix hide-if-empty\">\n <ng-content select=\"[slot='prefix']\"></ng-content>\n </div>\n\n <!-- INPUT FIELD -->\n <div class=\"input-group\" *ngIf=\"!inputMask\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [attr.aria-describedby]=\"id + '-message'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n\n <!-- INPUT FIELD WITH MASK -->\n <div\n class=\"input-group\"\n *ngIf=\"!!inputMask && (hideInput$ | async) === false\"\n >\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n autocomplete=\"off\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [attr.aria-describedby]=\"id + '-message'\"\n [nggvInputMask]=\"inputMask\"\n [formControl]=\"control\"\n />\n </div>\n\n <div class=\"input-group-suffix hide-if-empty\">\n <ng-content select=\"[slot='suffix']\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.id]=\"id + '-message'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"!inputMask && hasMaxLength && showCharacterCountdown\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host.gds-form-item{display:flex;flex-direction:column;max-width:100%;position:relative;width:100%;z-index:0}:host.gds-form-item:not(:last-child){margin-bottom:1.5rem}:host.gds-form-item .gds-form-item__header{display:flex}:host.gds-form-item .gds-form-item__header .form-info{font-weight:400}:host.gds-form-item .gds-form-item__header button.icon.small{margin-top:-.5rem;margin-right:-.5rem}:host.gds-form-item .gds-form-item__labels{flex:1;margin-bottom:.5rem}:host.gds-form-item .gds-form-item__labels .form-info{margin-bottom:0}:host.gds-form-item .gds-form-item__labels .form-info a:link:not(.button,[aria-disabled]){color:#0062bc}:host.gds-form-item .gds-form-item__labels>*{width:100%;display:block}:host.gds-form-item .gds-form-item__expandable-info{overflow:hidden;font-size:.875rem;line-height:1.25rem;transition:height .3s cubic-bezier(.23,1,.32,1)}:host.gds-form-item .gds-form-item__expandable-info>div{padding-bottom:.5rem}:host.gds-form-item .gds-form-item__backdrop{position:absolute;inset:0;background:var(--gds-ref-pallet-base100);border-radius:2px;z-index:-1;margin:-1rem;opacity:0;transition:all .3s cubic-bezier(.23,1,.32,1);border:1px solid transparent}@media (prefers-reduced-motion: reduce){:host.gds-form-item .gds-form-item__backdrop{transition:none}}:host.gds-form-item:has([aria-expanded=true]) .gds-form-item__backdrop{opacity:1;border-radius:.25rem;border-color:var(--gds-ref-pallet-base600)}:host.gds-form-item .gds-form-item__footer:not(:empty){margin-top:.5rem;display:flex;column-gap:1rem}:host.gds-form-item .gds-form-item__footer:not(:empty)>span{font-weight:500}:host .hide-if-empty:empty{display:none}:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);background-color:var(--sg-form-control-bg);color:var(--sg-text-primary);min-height:2.75rem;display:flex;align-items:center;justify-content:center}:host input:not([type]):focus:not(:focus-visible),:host input[type=date]:focus:not(:focus-visible),:host input[type=datetime]:focus:not(:focus-visible),:host input[type=datetime-local]:focus:not(:focus-visible),:host input[type=email]:focus:not(:focus-visible),:host input[type=month]:focus:not(:focus-visible),:host input[type=number]:focus:not(:focus-visible),:host input[type=password]:focus:not(:focus-visible),:host input[type=search]:focus:not(:focus-visible),:host input[type=tel]:focus:not(:focus-visible),:host input[type=text]:focus:not(:focus-visible),:host input[type=time]:focus:not(:focus-visible),:host input[type=url]:focus:not(:focus-visible),:host input[type=week]:focus:not(:focus-visible){box-shadow:none;outline:0}:host input:not([type]):focus,:host input:not([type]):focus-visible,:host input[type=date]:focus,:host input[type=date]:focus-visible,:host input[type=datetime]:focus,:host input[type=datetime]:focus-visible,:host input[type=datetime-local]:focus,:host input[type=datetime-local]:focus-visible,:host input[type=email]:focus,:host input[type=email]:focus-visible,:host input[type=month]:focus,:host input[type=month]:focus-visible,:host input[type=number]:focus,:host input[type=number]:focus-visible,:host input[type=password]:focus,:host input[type=password]:focus-visible,:host input[type=search]:focus,:host input[type=search]:focus-visible,:host input[type=tel]:focus,:host input[type=tel]:focus-visible,:host input[type=text]:focus,:host input[type=text]:focus-visible,:host input[type=time]:focus,:host input[type=time]:focus-visible,:host input[type=url]:focus,:host input[type=url]:focus-visible,:host input[type=week]:focus,:host input[type=week]:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host input:not([type]).small,:host input[type=date].small,:host input[type=datetime].small,:host input[type=datetime-local].small,:host input[type=email].small,:host input[type=month].small,:host input[type=number].small,:host input[type=password].small,:host input[type=search].small,:host input[type=tel].small,:host input[type=text].small,:host input[type=time].small,:host input[type=url].small,:host input[type=week].small{min-height:2rem;padding:.25rem .75rem;line-height:1rem}@media screen and (-ms-high-contrast: active){:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{border:2px solid currentcolor}}:host input:not([type]):disabled,:host input:not([type]).disabled,:host input:not([type])[aria-disabled=true],:host input[type=date]:disabled,:host input[type=date].disabled,:host input[type=date][aria-disabled=true],:host input[type=datetime]:disabled,:host input[type=datetime].disabled,:host input[type=datetime][aria-disabled=true],:host input[type=datetime-local]:disabled,:host input[type=datetime-local].disabled,:host input[type=datetime-local][aria-disabled=true],:host input[type=email]:disabled,:host input[type=email].disabled,:host input[type=email][aria-disabled=true],:host input[type=month]:disabled,:host input[type=month].disabled,:host input[type=month][aria-disabled=true],:host input[type=number]:disabled,:host input[type=number].disabled,:host input[type=number][aria-disabled=true],:host input[type=password]:disabled,:host input[type=password].disabled,:host input[type=password][aria-disabled=true],:host input[type=search]:disabled,:host input[type=search].disabled,:host input[type=search][aria-disabled=true],:host input[type=tel]:disabled,:host input[type=tel].disabled,:host input[type=tel][aria-disabled=true],:host input[type=text]:disabled,:host input[type=text].disabled,:host input[type=text][aria-disabled=true],:host input[type=time]:disabled,:host input[type=time].disabled,:host input[type=time][aria-disabled=true],:host input[type=url]:disabled,:host input[type=url].disabled,:host input[type=url][aria-disabled=true],:host input[type=week]:disabled,:host input[type=week].disabled,:host input[type=week][aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host input:not([type]):disabled::placeholder,:host input:not([type]).disabled::placeholder,:host input:not([type])[aria-disabled=true]::placeholder,:host input[type=date]:disabled::placeholder,:host input[type=date].disabled::placeholder,:host input[type=date][aria-disabled=true]::placeholder,:host input[type=datetime]:disabled::placeholder,:host input[type=datetime].disabled::placeholder,:host input[type=datetime][aria-disabled=true]::placeholder,:host input[type=datetime-local]:disabled::placeholder,:host input[type=datetime-local].disabled::placeholder,:host input[type=datetime-local][aria-disabled=true]::placeholder,:host input[type=email]:disabled::placeholder,:host input[type=email].disabled::placeholder,:host input[type=email][aria-disabled=true]::placeholder,:host input[type=month]:disabled::placeholder,:host input[type=month].disabled::placeholder,:host input[type=month][aria-disabled=true]::placeholder,:host input[type=number]:disabled::placeholder,:host input[type=number].disabled::placeholder,:host input[type=number][aria-disabled=true]::placeholder,:host input[type=password]:disabled::placeholder,:host input[type=password].disabled::placeholder,:host input[type=password][aria-disabled=true]::placeholder,:host input[type=search]:disabled::placeholder,:host input[type=search].disabled::placeholder,:host input[type=search][aria-disabled=true]::placeholder,:host input[type=tel]:disabled::placeholder,:host input[type=tel].disabled::placeholder,:host input[type=tel][aria-disabled=true]::placeholder,:host input[type=text]:disabled::placeholder,:host input[type=text].disabled::placeholder,:host input[type=text][aria-disabled=true]::placeholder,:host input[type=time]:disabled::placeholder,:host input[type=time].disabled::placeholder,:host input[type=time][aria-disabled=true]::placeholder,:host input[type=url]:disabled::placeholder,:host input[type=url].disabled::placeholder,:host input[type=url][aria-disabled=true]::placeholder,:host input[type=week]:disabled::placeholder,:host input[type=week].disabled::placeholder,:host input[type=week][aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host input:not([type]):hover,:host input[type=date]:hover,:host input[type=datetime]:hover,:host input[type=datetime-local]:hover,:host input[type=email]:hover,:host input[type=month]:hover,:host input[type=number]:hover,:host input[type=password]:hover,:host input[type=search]:hover,:host input[type=tel]:hover,:host input[type=text]:hover,:host input[type=time]:hover,:host input[type=url]:hover,:host input[type=week]:hover{background-color:var(--gds-ref-pallet-base100)}:host input[type=number]{-moz-appearance:textfield}:host input[type=number]::-webkit-outer-spin-button,:host input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host input{width:100%}:host .gds-input-wrapper{display:flex;flex-direction:column;position:relative;transition:all .2s ease-in-out,outline-offset 0s,outline-width 0s}:host .gds-input-wrapper:before{background:transparent;border-radius:0 0 4px 4px;clip-path:inset(4px 0 0 0);content:\"\";display:block;height:4px;position:absolute;transition:.3s ease-in-out;width:100%}:host .gds-input-wrapper:before{bottom:0}.is-invalid :host .gds-input-wrapper{color:var(--intent-danger-background);opacity:1}.is-invalid :host .gds-input-wrapper:before{background:var(--intent-danger-background);clip-path:inset(1px 0 0 0)}:host label:is(label),:host .label:is(label),:host legend:is(label){margin-bottom:0}:host label.form-control,:host .label.form-control,:host legend.form-control{width:-moz-fit-content;width:fit-content}@supports (-moz-appearance: none){:host label.form-control:focus:not(:focus-visible),:host .label.form-control:focus:not(:focus-visible),:host legend.form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label.form-control:focus,:host label.form-control:focus-within,:host .label.form-control:focus,:host .label.form-control:focus-within,:host legend.form-control:focus,:host legend.form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.form-control),:host .label:not(.form-control),:host legend:not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label+input,:host label+textarea,fieldset :host label+div,:host label+button,:host label+.group-stepper,:host label+.stepper-wrapper,:host label+.group,:host .label+input,:host .label+textarea,fieldset :host .label+div,:host .label+button,:host .label+.group-stepper,:host .label+.stepper-wrapper,:host .label+.group,:host legend+input,:host legend+textarea,fieldset :host legend+div,:host legend+button,:host legend+.group-stepper,:host legend+.stepper-wrapper,:host legend+.group{margin-top:.5rem}:host label+.form-info,:host .label+.form-info,:host legend+.form-info{margin-bottom:.5rem}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{color:var(--intent-danger-background, #9f000a)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.NgvInputMaskDirective, selector: "[nggvInputMask]", inputs: ["nggvInputMask"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.CharacterCountdownDirective, selector: "[nggvCharacterCountdown]", inputs: ["nggvCharacterCountdown", "nggvCharacterCountdownCurrentLength"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.InputMaskFormatPipe, name: "nggvInputMaskFormat" }] }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgvInputComponent, selector: "nggv-input", inputs: { thook: "thook", type: "type", placeholder: "placeholder", autocomplete: "autocomplete", readonly: "readonly", email: "email", min: "min", max: "max", step: "step", minLength: "minLength", minlength: "minlength", maxLength: "maxLength", maxlength: "maxlength", showCharacterCountdown: "showCharacterCountdown", pattern: "pattern", debounceTime: "debounceTime", badgeText: "badgeText", inputMask: "inputMask" }, outputs: { nggvInput: "nggvInput" }, host: { properties: { "class": "this.class", "attr.data-thook": "this.thook" } }, usesInheritance: true, ngImport: i0, template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-input'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-input'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n <ng-container *ngIf=\"!inputMask\">\n {{ state }}\n </ng-container>\n <ng-container *ngIf=\"!!inputMask\">\n {{ state | nggvInputMaskFormat: inputMask }}\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT WRAPPER -->\n<ng-container *ngIf=\"!locked\">\n <div class=\"gds-input-wrapper\" [class.nggv-field--error]=\"invalid\">\n <div class=\"input-group-prefix hide-if-empty\">\n <ng-content select=\"[slot='prefix']\"></ng-content>\n </div>\n\n <!-- INPUT FIELD -->\n <div class=\"input-group\" *ngIf=\"!inputMask\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [attr.aria-describedby]=\"id + '-message'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n\n <!-- INPUT FIELD WITH MASK -->\n <div\n class=\"input-group\"\n *ngIf=\"!!inputMask && (hideInput$ | async) === false\"\n >\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n autocomplete=\"off\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [attr.aria-describedby]=\"id + '-message'\"\n [nggvInputMask]=\"inputMask\"\n [formControl]=\"control\"\n />\n </div>\n\n <div class=\"input-group-suffix hide-if-empty\">\n <ng-content select=\"[slot='suffix']\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.id]=\"id + '-message'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"!inputMask && hasMaxLength && showCharacterCountdown\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host.gds-form-item{display:flex;flex-direction:column;max-width:100%;position:relative;width:100%;z-index:0}:host.gds-form-item:not(:last-child){margin-bottom:1.5rem}:host.gds-form-item .gds-form-item__header{display:flex}:host.gds-form-item .gds-form-item__header .form-info{font-weight:400}:host.gds-form-item .gds-form-item__header button.icon.small{margin-top:-.5rem;margin-right:-.5rem}:host.gds-form-item .gds-form-item__labels{flex:1;margin-bottom:.5rem}:host.gds-form-item .gds-form-item__labels .form-info{margin-bottom:0}:host.gds-form-item .gds-form-item__labels .form-info a:link:not(.button,[aria-disabled]){color:#0062bc}:host.gds-form-item .gds-form-item__labels>*{width:100%;display:block}:host.gds-form-item .gds-form-item__expandable-info{overflow:hidden;font-size:.875rem;line-height:1.25rem;transition:height .3s cubic-bezier(.23,1,.32,1)}:host.gds-form-item .gds-form-item__expandable-info>div{padding-bottom:.5rem}:host.gds-form-item .gds-form-item__backdrop{position:absolute;inset:0;background:var(--gds-ref-pallet-base100);border-radius:2px;z-index:-1;margin:-1rem;opacity:0;transition:all .3s cubic-bezier(.23,1,.32,1);border:1px solid transparent}@media (prefers-reduced-motion: reduce){:host.gds-form-item .gds-form-item__backdrop{transition:none}}:host.gds-form-item:has([aria-expanded=true]) .gds-form-item__backdrop{opacity:1;border-radius:.25rem;border-color:var(--gds-ref-pallet-base600)}:host.gds-form-item .gds-form-item__footer:not(:empty){margin-top:.5rem;display:flex;column-gap:1rem}:host.gds-form-item .gds-form-item__footer:not(:empty)>span{font-weight:500}:host .hide-if-empty:empty{display:none}:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);background-color:var(--sg-form-control-bg);color:var(--sg-text-primary);min-height:2.75rem;display:flex;align-items:center;justify-content:center}:host input:not([type]):focus:not(:focus-visible),:host input[type=date]:focus:not(:focus-visible),:host input[type=datetime]:focus:not(:focus-visible),:host input[type=datetime-local]:focus:not(:focus-visible),:host input[type=email]:focus:not(:focus-visible),:host input[type=month]:focus:not(:focus-visible),:host input[type=number]:focus:not(:focus-visible),:host input[type=password]:focus:not(:focus-visible),:host input[type=search]:focus:not(:focus-visible),:host input[type=tel]:focus:not(:focus-visible),:host input[type=text]:focus:not(:focus-visible),:host input[type=time]:focus:not(:focus-visible),:host input[type=url]:focus:not(:focus-visible),:host input[type=week]:focus:not(:focus-visible){box-shadow:none;outline:0}:host input:not([type]):focus,:host input:not([type]):focus-visible,:host input[type=date]:focus,:host input[type=date]:focus-visible,:host input[type=datetime]:focus,:host input[type=datetime]:focus-visible,:host input[type=datetime-local]:focus,:host input[type=datetime-local]:focus-visible,:host input[type=email]:focus,:host input[type=email]:focus-visible,:host input[type=month]:focus,:host input[type=month]:focus-visible,:host input[type=number]:focus,:host input[type=number]:focus-visible,:host input[type=password]:focus,:host input[type=password]:focus-visible,:host input[type=search]:focus,:host input[type=search]:focus-visible,:host input[type=tel]:focus,:host input[type=tel]:focus-visible,:host input[type=text]:focus,:host input[type=text]:focus-visible,:host input[type=time]:focus,:host input[type=time]:focus-visible,:host input[type=url]:focus,:host input[type=url]:focus-visible,:host input[type=week]:focus,:host input[type=week]:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host input:not([type]).small,:host input[type=date].small,:host input[type=datetime].small,:host input[type=datetime-local].small,:host input[type=email].small,:host input[type=month].small,:host input[type=number].small,:host input[type=password].small,:host input[type=search].small,:host input[type=tel].small,:host input[type=text].small,:host input[type=time].small,:host input[type=url].small,:host input[type=week].small{min-height:2rem;padding:.25rem .75rem;line-height:1rem}@media screen and (-ms-high-contrast: active){:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{border:2px solid currentcolor}}:host input:not([type]):disabled,:host input:not([type]).disabled,:host input:not([type])[aria-disabled=true],:host input[type=date]:disabled,:host input[type=date].disabled,:host input[type=date][aria-disabled=true],:host input[type=datetime]:disabled,:host input[type=datetime].disabled,:host input[type=datetime][aria-disabled=true],:host input[type=datetime-local]:disabled,:host input[type=datetime-local].disabled,:host input[type=datetime-local][aria-disabled=true],:host input[type=email]:disabled,:host input[type=email].disabled,:host input[type=email][aria-disabled=true],:host input[type=month]:disabled,:host input[type=month].disabled,:host input[type=month][aria-disabled=true],:host input[type=number]:disabled,:host input[type=number].disabled,:host input[type=number][aria-disabled=true],:host input[type=password]:disabled,:host input[type=password].disabled,:host input[type=password][aria-disabled=true],:host input[type=search]:disabled,:host input[type=search].disabled,:host input[type=search][aria-disabled=true],:host input[type=tel]:disabled,:host input[type=tel].disabled,:host input[type=tel][aria-disabled=true],:host input[type=text]:disabled,:host input[type=text].disabled,:host input[type=text][aria-disabled=true],:host input[type=time]:disabled,:host input[type=time].disabled,:host input[type=time][aria-disabled=true],:host input[type=url]:disabled,:host input[type=url].disabled,:host input[type=url][aria-disabled=true],:host input[type=week]:disabled,:host input[type=week].disabled,:host input[type=week][aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host input:not([type]):disabled::placeholder,:host input:not([type]).disabled::placeholder,:host input:not([type])[aria-disabled=true]::placeholder,:host input[type=date]:disabled::placeholder,:host input[type=date].disabled::placeholder,:host input[type=date][aria-disabled=true]::placeholder,:host input[type=datetime]:disabled::placeholder,:host input[type=datetime].disabled::placeholder,:host input[type=datetime][aria-disabled=true]::placeholder,:host input[type=datetime-local]:disabled::placeholder,:host input[type=datetime-local].disabled::placeholder,:host input[type=datetime-local][aria-disabled=true]::placeholder,:host input[type=email]:disabled::placeholder,:host input[type=email].disabled::placeholder,:host input[type=email][aria-disabled=true]::placeholder,:host input[type=month]:disabled::placeholder,:host input[type=month].disabled::placeholder,:host input[type=month][aria-disabled=true]::placeholder,:host input[type=number]:disabled::placeholder,:host input[type=number].disabled::placeholder,:host input[type=number][aria-disabled=true]::placeholder,:host input[type=password]:disabled::placeholder,:host input[type=password].disabled::placeholder,:host input[type=password][aria-disabled=true]::placeholder,:host input[type=search]:disabled::placeholder,:host input[type=search].disabled::placeholder,:host input[type=search][aria-disabled=true]::placeholder,:host input[type=tel]:disabled::placeholder,:host input[type=tel].disabled::placeholder,:host input[type=tel][aria-disabled=true]::placeholder,:host input[type=text]:disabled::placeholder,:host input[type=text].disabled::placeholder,:host input[type=text][aria-disabled=true]::placeholder,:host input[type=time]:disabled::placeholder,:host input[type=time].disabled::placeholder,:host input[type=time][aria-disabled=true]::placeholder,:host input[type=url]:disabled::placeholder,:host input[type=url].disabled::placeholder,:host input[type=url][aria-disabled=true]::placeholder,:host input[type=week]:disabled::placeholder,:host input[type=week].disabled::placeholder,:host input[type=week][aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host input:not([type]):hover,:host input[type=date]:hover,:host input[type=datetime]:hover,:host input[type=datetime-local]:hover,:host input[type=email]:hover,:host input[type=month]:hover,:host input[type=number]:hover,:host input[type=password]:hover,:host input[type=search]:hover,:host input[type=tel]:hover,:host input[type=text]:hover,:host input[type=time]:hover,:host input[type=url]:hover,:host input[type=week]:hover{background-color:var(--gds-ref-pallet-base100)}:host input[type=number]{-moz-appearance:textfield}:host input[type=number]::-webkit-outer-spin-button,:host input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host input{width:100%}:host .gds-input-wrapper{display:flex;flex-direction:column;position:relative;transition:all .2s ease-in-out,outline-offset 0s,outline-width 0s}:host .gds-input-wrapper:before{background:transparent;border-radius:0 0 4px 4px;clip-path:inset(4px 0 0 0);content:\"\";display:block;height:4px;position:absolute;transition:.3s ease-in-out;width:100%}:host .gds-input-wrapper:before{bottom:0}.is-invalid :host .gds-input-wrapper{color:var(--intent-danger-background);opacity:1}.is-invalid :host .gds-input-wrapper:before{background:var(--intent-danger-background);clip-path:inset(1px 0 0 0)}:host label:is(label),:host .label:is(label),:host legend:is(label){margin-bottom:0}:host label.form-control,:host .label.form-control,:host legend.form-control{width:fit-content}@supports (-moz-appearance: none){:host label.form-control:focus:not(:focus-visible),:host .label.form-control:focus:not(:focus-visible),:host legend.form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label.form-control:focus,:host label.form-control:focus-within,:host .label.form-control:focus,:host .label.form-control:focus-within,:host legend.form-control:focus,:host legend.form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.form-control),:host .label:not(.form-control),:host legend:not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label+input,:host label+textarea,fieldset :host label+div,:host label+button,:host label+.group-stepper,:host label+.stepper-wrapper,:host label+.group,:host .label+input,:host .label+textarea,fieldset :host .label+div,:host .label+button,:host .label+.group-stepper,:host .label+.stepper-wrapper,:host .label+.group,:host legend+input,:host legend+textarea,fieldset :host legend+div,:host legend+button,:host legend+.group-stepper,:host legend+.stepper-wrapper,:host legend+.group{margin-top:.5rem}:host label+.form-info,:host .label+.form-info,:host legend+.form-info{margin-bottom:.5rem}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{color:var(--intent-danger-background, #9f000a)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.NgvInputMaskDirective, selector: "[nggvInputMask]", inputs: ["nggvInputMask"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.CharacterCountdownDirective, selector: "[nggvCharacterCountdown]", inputs: ["nggvCharacterCountdown", "nggvCharacterCountdownCurrentLength"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.InputMaskFormatPipe, name: "nggvInputMaskFormat" }] }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInputComponent, decorators: [{
166
166
  type: Component,
167
- args: [{ selector: 'nggv-input', template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-input'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-input'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n <ng-container *ngIf=\"!inputMask\">\n {{ state }}\n </ng-container>\n <ng-container *ngIf=\"!!inputMask\">\n {{ state | nggvInputMaskFormat: inputMask }}\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT WRAPPER -->\n<ng-container *ngIf=\"!locked\">\n <div class=\"gds-input-wrapper\" [class.nggv-field--error]=\"invalid\">\n <div class=\"input-group-prefix hide-if-empty\">\n <ng-content select=\"[slot='prefix']\"></ng-content>\n </div>\n\n <!-- INPUT FIELD -->\n <div class=\"input-group\" *ngIf=\"!inputMask\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [attr.aria-describedby]=\"id + '-message'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n\n <!-- INPUT FIELD WITH MASK -->\n <div\n class=\"input-group\"\n *ngIf=\"!!inputMask && (hideInput$ | async) === false\"\n >\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n autocomplete=\"off\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [attr.aria-describedby]=\"id + '-message'\"\n [nggvInputMask]=\"inputMask\"\n [formControl]=\"control\"\n />\n </div>\n\n <div class=\"input-group-suffix hide-if-empty\">\n <ng-content select=\"[slot='suffix']\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.id]=\"id + '-message'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"!inputMask && hasMaxLength && showCharacterCountdown\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host.gds-form-item{display:flex;flex-direction:column;max-width:100%;position:relative;width:100%;z-index:0}:host.gds-form-item:not(:last-child){margin-bottom:1.5rem}:host.gds-form-item .gds-form-item__header{display:flex}:host.gds-form-item .gds-form-item__header .form-info{font-weight:400}:host.gds-form-item .gds-form-item__header button.icon.small{margin-top:-.5rem;margin-right:-.5rem}:host.gds-form-item .gds-form-item__labels{flex:1;margin-bottom:.5rem}:host.gds-form-item .gds-form-item__labels .form-info{margin-bottom:0}:host.gds-form-item .gds-form-item__labels .form-info a:link:not(.button,[aria-disabled]){color:#0062bc}:host.gds-form-item .gds-form-item__labels>*{width:100%;display:block}:host.gds-form-item .gds-form-item__expandable-info{overflow:hidden;font-size:.875rem;line-height:1.25rem;transition:height .3s cubic-bezier(.23,1,.32,1)}:host.gds-form-item .gds-form-item__expandable-info>div{padding-bottom:.5rem}:host.gds-form-item .gds-form-item__backdrop{position:absolute;inset:0;background:var(--gds-ref-pallet-base100);border-radius:2px;z-index:-1;margin:-1rem;opacity:0;transition:all .3s cubic-bezier(.23,1,.32,1);border:1px solid transparent}@media (prefers-reduced-motion: reduce){:host.gds-form-item .gds-form-item__backdrop{transition:none}}:host.gds-form-item:has([aria-expanded=true]) .gds-form-item__backdrop{opacity:1;border-radius:.25rem;border-color:var(--gds-ref-pallet-base600)}:host.gds-form-item .gds-form-item__footer:not(:empty){margin-top:.5rem;display:flex;column-gap:1rem}:host.gds-form-item .gds-form-item__footer:not(:empty)>span{font-weight:500}:host .hide-if-empty:empty{display:none}:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);background-color:var(--sg-form-control-bg);color:var(--sg-text-primary);min-height:2.75rem;display:flex;align-items:center;justify-content:center}:host input:not([type]):focus:not(:focus-visible),:host input[type=date]:focus:not(:focus-visible),:host input[type=datetime]:focus:not(:focus-visible),:host input[type=datetime-local]:focus:not(:focus-visible),:host input[type=email]:focus:not(:focus-visible),:host input[type=month]:focus:not(:focus-visible),:host input[type=number]:focus:not(:focus-visible),:host input[type=password]:focus:not(:focus-visible),:host input[type=search]:focus:not(:focus-visible),:host input[type=tel]:focus:not(:focus-visible),:host input[type=text]:focus:not(:focus-visible),:host input[type=time]:focus:not(:focus-visible),:host input[type=url]:focus:not(:focus-visible),:host input[type=week]:focus:not(:focus-visible){box-shadow:none;outline:0}:host input:not([type]):focus,:host input:not([type]):focus-visible,:host input[type=date]:focus,:host input[type=date]:focus-visible,:host input[type=datetime]:focus,:host input[type=datetime]:focus-visible,:host input[type=datetime-local]:focus,:host input[type=datetime-local]:focus-visible,:host input[type=email]:focus,:host input[type=email]:focus-visible,:host input[type=month]:focus,:host input[type=month]:focus-visible,:host input[type=number]:focus,:host input[type=number]:focus-visible,:host input[type=password]:focus,:host input[type=password]:focus-visible,:host input[type=search]:focus,:host input[type=search]:focus-visible,:host input[type=tel]:focus,:host input[type=tel]:focus-visible,:host input[type=text]:focus,:host input[type=text]:focus-visible,:host input[type=time]:focus,:host input[type=time]:focus-visible,:host input[type=url]:focus,:host input[type=url]:focus-visible,:host input[type=week]:focus,:host input[type=week]:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host input:not([type]).small,:host input[type=date].small,:host input[type=datetime].small,:host input[type=datetime-local].small,:host input[type=email].small,:host input[type=month].small,:host input[type=number].small,:host input[type=password].small,:host input[type=search].small,:host input[type=tel].small,:host input[type=text].small,:host input[type=time].small,:host input[type=url].small,:host input[type=week].small{min-height:2rem;padding:.25rem .75rem;line-height:1rem}@media screen and (-ms-high-contrast: active){:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{border:2px solid currentcolor}}:host input:not([type]):disabled,:host input:not([type]).disabled,:host input:not([type])[aria-disabled=true],:host input[type=date]:disabled,:host input[type=date].disabled,:host input[type=date][aria-disabled=true],:host input[type=datetime]:disabled,:host input[type=datetime].disabled,:host input[type=datetime][aria-disabled=true],:host input[type=datetime-local]:disabled,:host input[type=datetime-local].disabled,:host input[type=datetime-local][aria-disabled=true],:host input[type=email]:disabled,:host input[type=email].disabled,:host input[type=email][aria-disabled=true],:host input[type=month]:disabled,:host input[type=month].disabled,:host input[type=month][aria-disabled=true],:host input[type=number]:disabled,:host input[type=number].disabled,:host input[type=number][aria-disabled=true],:host input[type=password]:disabled,:host input[type=password].disabled,:host input[type=password][aria-disabled=true],:host input[type=search]:disabled,:host input[type=search].disabled,:host input[type=search][aria-disabled=true],:host input[type=tel]:disabled,:host input[type=tel].disabled,:host input[type=tel][aria-disabled=true],:host input[type=text]:disabled,:host input[type=text].disabled,:host input[type=text][aria-disabled=true],:host input[type=time]:disabled,:host input[type=time].disabled,:host input[type=time][aria-disabled=true],:host input[type=url]:disabled,:host input[type=url].disabled,:host input[type=url][aria-disabled=true],:host input[type=week]:disabled,:host input[type=week].disabled,:host input[type=week][aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host input:not([type]):disabled::placeholder,:host input:not([type]).disabled::placeholder,:host input:not([type])[aria-disabled=true]::placeholder,:host input[type=date]:disabled::placeholder,:host input[type=date].disabled::placeholder,:host input[type=date][aria-disabled=true]::placeholder,:host input[type=datetime]:disabled::placeholder,:host input[type=datetime].disabled::placeholder,:host input[type=datetime][aria-disabled=true]::placeholder,:host input[type=datetime-local]:disabled::placeholder,:host input[type=datetime-local].disabled::placeholder,:host input[type=datetime-local][aria-disabled=true]::placeholder,:host input[type=email]:disabled::placeholder,:host input[type=email].disabled::placeholder,:host input[type=email][aria-disabled=true]::placeholder,:host input[type=month]:disabled::placeholder,:host input[type=month].disabled::placeholder,:host input[type=month][aria-disabled=true]::placeholder,:host input[type=number]:disabled::placeholder,:host input[type=number].disabled::placeholder,:host input[type=number][aria-disabled=true]::placeholder,:host input[type=password]:disabled::placeholder,:host input[type=password].disabled::placeholder,:host input[type=password][aria-disabled=true]::placeholder,:host input[type=search]:disabled::placeholder,:host input[type=search].disabled::placeholder,:host input[type=search][aria-disabled=true]::placeholder,:host input[type=tel]:disabled::placeholder,:host input[type=tel].disabled::placeholder,:host input[type=tel][aria-disabled=true]::placeholder,:host input[type=text]:disabled::placeholder,:host input[type=text].disabled::placeholder,:host input[type=text][aria-disabled=true]::placeholder,:host input[type=time]:disabled::placeholder,:host input[type=time].disabled::placeholder,:host input[type=time][aria-disabled=true]::placeholder,:host input[type=url]:disabled::placeholder,:host input[type=url].disabled::placeholder,:host input[type=url][aria-disabled=true]::placeholder,:host input[type=week]:disabled::placeholder,:host input[type=week].disabled::placeholder,:host input[type=week][aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host input:not([type]):hover,:host input[type=date]:hover,:host input[type=datetime]:hover,:host input[type=datetime-local]:hover,:host input[type=email]:hover,:host input[type=month]:hover,:host input[type=number]:hover,:host input[type=password]:hover,:host input[type=search]:hover,:host input[type=tel]:hover,:host input[type=text]:hover,:host input[type=time]:hover,:host input[type=url]:hover,:host input[type=week]:hover{background-color:var(--gds-ref-pallet-base100)}:host input[type=number]{-moz-appearance:textfield}:host input[type=number]::-webkit-outer-spin-button,:host input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host input{width:100%}:host .gds-input-wrapper{display:flex;flex-direction:column;position:relative;transition:all .2s ease-in-out,outline-offset 0s,outline-width 0s}:host .gds-input-wrapper:before{background:transparent;border-radius:0 0 4px 4px;clip-path:inset(4px 0 0 0);content:\"\";display:block;height:4px;position:absolute;transition:.3s ease-in-out;width:100%}:host .gds-input-wrapper:before{bottom:0}.is-invalid :host .gds-input-wrapper{color:var(--intent-danger-background);opacity:1}.is-invalid :host .gds-input-wrapper:before{background:var(--intent-danger-background);clip-path:inset(1px 0 0 0)}:host label:is(label),:host .label:is(label),:host legend:is(label){margin-bottom:0}:host label.form-control,:host .label.form-control,:host legend.form-control{width:-moz-fit-content;width:fit-content}@supports (-moz-appearance: none){:host label.form-control:focus:not(:focus-visible),:host .label.form-control:focus:not(:focus-visible),:host legend.form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label.form-control:focus,:host label.form-control:focus-within,:host .label.form-control:focus,:host .label.form-control:focus-within,:host legend.form-control:focus,:host legend.form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.form-control),:host .label:not(.form-control),:host legend:not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label+input,:host label+textarea,fieldset :host label+div,:host label+button,:host label+.group-stepper,:host label+.stepper-wrapper,:host label+.group,:host .label+input,:host .label+textarea,fieldset :host .label+div,:host .label+button,:host .label+.group-stepper,:host .label+.stepper-wrapper,:host .label+.group,:host legend+input,:host legend+textarea,fieldset :host legend+div,:host legend+button,:host legend+.group-stepper,:host legend+.stepper-wrapper,:host legend+.group{margin-top:.5rem}:host label+.form-info,:host .label+.form-info,:host legend+.form-info{margin-bottom:.5rem}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{color:var(--intent-danger-background, #9f000a)}\n"] }]
168
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
167
+ args: [{ selector: 'nggv-input', template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-input'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-input'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n <ng-container *ngIf=\"!inputMask\">\n {{ state }}\n </ng-container>\n <ng-container *ngIf=\"!!inputMask\">\n {{ state | nggvInputMaskFormat: inputMask }}\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT WRAPPER -->\n<ng-container *ngIf=\"!locked\">\n <div class=\"gds-input-wrapper\" [class.nggv-field--error]=\"invalid\">\n <div class=\"input-group-prefix hide-if-empty\">\n <ng-content select=\"[slot='prefix']\"></ng-content>\n </div>\n\n <!-- INPUT FIELD -->\n <div class=\"input-group\" *ngIf=\"!inputMask\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [attr.aria-describedby]=\"id + '-message'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n\n <!-- INPUT FIELD WITH MASK -->\n <div\n class=\"input-group\"\n *ngIf=\"!!inputMask && (hideInput$ | async) === false\"\n >\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n autocomplete=\"off\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [attr.aria-describedby]=\"id + '-message'\"\n [nggvInputMask]=\"inputMask\"\n [formControl]=\"control\"\n />\n </div>\n\n <div class=\"input-group-suffix hide-if-empty\">\n <ng-content select=\"[slot='suffix']\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.id]=\"id + '-message'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"!inputMask && hasMaxLength && showCharacterCountdown\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host.gds-form-item{display:flex;flex-direction:column;max-width:100%;position:relative;width:100%;z-index:0}:host.gds-form-item:not(:last-child){margin-bottom:1.5rem}:host.gds-form-item .gds-form-item__header{display:flex}:host.gds-form-item .gds-form-item__header .form-info{font-weight:400}:host.gds-form-item .gds-form-item__header button.icon.small{margin-top:-.5rem;margin-right:-.5rem}:host.gds-form-item .gds-form-item__labels{flex:1;margin-bottom:.5rem}:host.gds-form-item .gds-form-item__labels .form-info{margin-bottom:0}:host.gds-form-item .gds-form-item__labels .form-info a:link:not(.button,[aria-disabled]){color:#0062bc}:host.gds-form-item .gds-form-item__labels>*{width:100%;display:block}:host.gds-form-item .gds-form-item__expandable-info{overflow:hidden;font-size:.875rem;line-height:1.25rem;transition:height .3s cubic-bezier(.23,1,.32,1)}:host.gds-form-item .gds-form-item__expandable-info>div{padding-bottom:.5rem}:host.gds-form-item .gds-form-item__backdrop{position:absolute;inset:0;background:var(--gds-ref-pallet-base100);border-radius:2px;z-index:-1;margin:-1rem;opacity:0;transition:all .3s cubic-bezier(.23,1,.32,1);border:1px solid transparent}@media (prefers-reduced-motion: reduce){:host.gds-form-item .gds-form-item__backdrop{transition:none}}:host.gds-form-item:has([aria-expanded=true]) .gds-form-item__backdrop{opacity:1;border-radius:.25rem;border-color:var(--gds-ref-pallet-base600)}:host.gds-form-item .gds-form-item__footer:not(:empty){margin-top:.5rem;display:flex;column-gap:1rem}:host.gds-form-item .gds-form-item__footer:not(:empty)>span{font-weight:500}:host .hide-if-empty:empty{display:none}:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);background-color:var(--sg-form-control-bg);color:var(--sg-text-primary);min-height:2.75rem;display:flex;align-items:center;justify-content:center}:host input:not([type]):focus:not(:focus-visible),:host input[type=date]:focus:not(:focus-visible),:host input[type=datetime]:focus:not(:focus-visible),:host input[type=datetime-local]:focus:not(:focus-visible),:host input[type=email]:focus:not(:focus-visible),:host input[type=month]:focus:not(:focus-visible),:host input[type=number]:focus:not(:focus-visible),:host input[type=password]:focus:not(:focus-visible),:host input[type=search]:focus:not(:focus-visible),:host input[type=tel]:focus:not(:focus-visible),:host input[type=text]:focus:not(:focus-visible),:host input[type=time]:focus:not(:focus-visible),:host input[type=url]:focus:not(:focus-visible),:host input[type=week]:focus:not(:focus-visible){box-shadow:none;outline:0}:host input:not([type]):focus,:host input:not([type]):focus-visible,:host input[type=date]:focus,:host input[type=date]:focus-visible,:host input[type=datetime]:focus,:host input[type=datetime]:focus-visible,:host input[type=datetime-local]:focus,:host input[type=datetime-local]:focus-visible,:host input[type=email]:focus,:host input[type=email]:focus-visible,:host input[type=month]:focus,:host input[type=month]:focus-visible,:host input[type=number]:focus,:host input[type=number]:focus-visible,:host input[type=password]:focus,:host input[type=password]:focus-visible,:host input[type=search]:focus,:host input[type=search]:focus-visible,:host input[type=tel]:focus,:host input[type=tel]:focus-visible,:host input[type=text]:focus,:host input[type=text]:focus-visible,:host input[type=time]:focus,:host input[type=time]:focus-visible,:host input[type=url]:focus,:host input[type=url]:focus-visible,:host input[type=week]:focus,:host input[type=week]:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host input:not([type]).small,:host input[type=date].small,:host input[type=datetime].small,:host input[type=datetime-local].small,:host input[type=email].small,:host input[type=month].small,:host input[type=number].small,:host input[type=password].small,:host input[type=search].small,:host input[type=tel].small,:host input[type=text].small,:host input[type=time].small,:host input[type=url].small,:host input[type=week].small{min-height:2rem;padding:.25rem .75rem;line-height:1rem}@media screen and (-ms-high-contrast: active){:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{border:2px solid currentcolor}}:host input:not([type]):disabled,:host input:not([type]).disabled,:host input:not([type])[aria-disabled=true],:host input[type=date]:disabled,:host input[type=date].disabled,:host input[type=date][aria-disabled=true],:host input[type=datetime]:disabled,:host input[type=datetime].disabled,:host input[type=datetime][aria-disabled=true],:host input[type=datetime-local]:disabled,:host input[type=datetime-local].disabled,:host input[type=datetime-local][aria-disabled=true],:host input[type=email]:disabled,:host input[type=email].disabled,:host input[type=email][aria-disabled=true],:host input[type=month]:disabled,:host input[type=month].disabled,:host input[type=month][aria-disabled=true],:host input[type=number]:disabled,:host input[type=number].disabled,:host input[type=number][aria-disabled=true],:host input[type=password]:disabled,:host input[type=password].disabled,:host input[type=password][aria-disabled=true],:host input[type=search]:disabled,:host input[type=search].disabled,:host input[type=search][aria-disabled=true],:host input[type=tel]:disabled,:host input[type=tel].disabled,:host input[type=tel][aria-disabled=true],:host input[type=text]:disabled,:host input[type=text].disabled,:host input[type=text][aria-disabled=true],:host input[type=time]:disabled,:host input[type=time].disabled,:host input[type=time][aria-disabled=true],:host input[type=url]:disabled,:host input[type=url].disabled,:host input[type=url][aria-disabled=true],:host input[type=week]:disabled,:host input[type=week].disabled,:host input[type=week][aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host input:not([type]):disabled::placeholder,:host input:not([type]).disabled::placeholder,:host input:not([type])[aria-disabled=true]::placeholder,:host input[type=date]:disabled::placeholder,:host input[type=date].disabled::placeholder,:host input[type=date][aria-disabled=true]::placeholder,:host input[type=datetime]:disabled::placeholder,:host input[type=datetime].disabled::placeholder,:host input[type=datetime][aria-disabled=true]::placeholder,:host input[type=datetime-local]:disabled::placeholder,:host input[type=datetime-local].disabled::placeholder,:host input[type=datetime-local][aria-disabled=true]::placeholder,:host input[type=email]:disabled::placeholder,:host input[type=email].disabled::placeholder,:host input[type=email][aria-disabled=true]::placeholder,:host input[type=month]:disabled::placeholder,:host input[type=month].disabled::placeholder,:host input[type=month][aria-disabled=true]::placeholder,:host input[type=number]:disabled::placeholder,:host input[type=number].disabled::placeholder,:host input[type=number][aria-disabled=true]::placeholder,:host input[type=password]:disabled::placeholder,:host input[type=password].disabled::placeholder,:host input[type=password][aria-disabled=true]::placeholder,:host input[type=search]:disabled::placeholder,:host input[type=search].disabled::placeholder,:host input[type=search][aria-disabled=true]::placeholder,:host input[type=tel]:disabled::placeholder,:host input[type=tel].disabled::placeholder,:host input[type=tel][aria-disabled=true]::placeholder,:host input[type=text]:disabled::placeholder,:host input[type=text].disabled::placeholder,:host input[type=text][aria-disabled=true]::placeholder,:host input[type=time]:disabled::placeholder,:host input[type=time].disabled::placeholder,:host input[type=time][aria-disabled=true]::placeholder,:host input[type=url]:disabled::placeholder,:host input[type=url].disabled::placeholder,:host input[type=url][aria-disabled=true]::placeholder,:host input[type=week]:disabled::placeholder,:host input[type=week].disabled::placeholder,:host input[type=week][aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host input:not([type]):hover,:host input[type=date]:hover,:host input[type=datetime]:hover,:host input[type=datetime-local]:hover,:host input[type=email]:hover,:host input[type=month]:hover,:host input[type=number]:hover,:host input[type=password]:hover,:host input[type=search]:hover,:host input[type=tel]:hover,:host input[type=text]:hover,:host input[type=time]:hover,:host input[type=url]:hover,:host input[type=week]:hover{background-color:var(--gds-ref-pallet-base100)}:host input[type=number]{-moz-appearance:textfield}:host input[type=number]::-webkit-outer-spin-button,:host input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host input{width:100%}:host .gds-input-wrapper{display:flex;flex-direction:column;position:relative;transition:all .2s ease-in-out,outline-offset 0s,outline-width 0s}:host .gds-input-wrapper:before{background:transparent;border-radius:0 0 4px 4px;clip-path:inset(4px 0 0 0);content:\"\";display:block;height:4px;position:absolute;transition:.3s ease-in-out;width:100%}:host .gds-input-wrapper:before{bottom:0}.is-invalid :host .gds-input-wrapper{color:var(--intent-danger-background);opacity:1}.is-invalid :host .gds-input-wrapper:before{background:var(--intent-danger-background);clip-path:inset(1px 0 0 0)}:host label:is(label),:host .label:is(label),:host legend:is(label){margin-bottom:0}:host label.form-control,:host .label.form-control,:host legend.form-control{width:fit-content}@supports (-moz-appearance: none){:host label.form-control:focus:not(:focus-visible),:host .label.form-control:focus:not(:focus-visible),:host legend.form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label.form-control:focus,:host label.form-control:focus-within,:host .label.form-control:focus,:host .label.form-control:focus-within,:host legend.form-control:focus,:host legend.form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.form-control),:host .label:not(.form-control),:host legend:not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label+input,:host label+textarea,fieldset :host label+div,:host label+button,:host label+.group-stepper,:host label+.stepper-wrapper,:host label+.group,:host .label+input,:host .label+textarea,fieldset :host .label+div,:host .label+button,:host .label+.group-stepper,:host .label+.stepper-wrapper,:host .label+.group,:host legend+input,:host legend+textarea,fieldset :host legend+div,:host legend+button,:host legend+.group-stepper,:host legend+.stepper-wrapper,:host legend+.group{margin-top:.5rem}:host label+.form-info,:host .label+.form-info,:host legend+.form-info{margin-bottom:.5rem}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{color:var(--intent-danger-background, #9f000a)}\n"] }]
168
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
169
169
  type: Self
170
170
  }, {
171
171
  type: Optional
@@ -174,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
174
174
  }, {
175
175
  type: Inject,
176
176
  args: [TRANSLOCO_SCOPE]
177
- }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { class: [{
177
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { class: [{
178
178
  type: HostBinding,
179
179
  args: ['class']
180
180
  }], thook: [{
@@ -219,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
219
219
  }], nggvInput: [{
220
220
  type: Output
221
221
  }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUl4RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTs7Ozs7OztBQUV4SDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8saUJBQ1gsU0FBUSxvQ0FBb0M7SUF1QjVDLHNEQUFzRDtJQUN0RCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNELHNEQUFzRDtJQUN0RCxJQUFh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QUFRO3NCQUFoQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFTyxTQUFTO3NCQUFyQixLQUFLO2dCQU9PLFNBQVM7c0JBQXJCLEtBQUs7Z0JBT08sU0FBUztzQkFBckIsS0FBSztnQkFXTyxTQUFTO3NCQUFyQixLQUFLO2dCQVVPLHNCQUFzQjtzQkFBbEMsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBaUJJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB0eXBlIHsgSW5wdXRtYXNrT3B0aW9ucyB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQtbWFzaydcblxuaW1wb3J0IHsgTmd2QmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50IH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9iYXNlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3InXG5cbi8qKlxuICogSW5wdXQgZmllbGRzIGFsbG93IHVzZXJzIHRvIGFkZCBhbmQgZWRpdCB0ZXh0LlxuICogaHR0cHM6Ly9kZXNpZ25saWJyYXJ5LnNlYmdyb3VwLmNvbS9jb21wb25lbnRzL2NvbXBvbmVudC1pbnB1dFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2d2LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2SW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICAvKiogQWRkaW5nIC5nZHMtZm9ybS1pdGVtIGFzIGEgY2xhc3MgdG8gaG9zdCBlbGVtZW50ICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICdnZHMtZm9ybS1pdGVtJ1xuICAvKiogU3BlY2lhbCBwcm9wZXJ0eSB1c2VkIGZvciBzZWxlY3RpbmcgRE9NIGVsZW1lbnRzIGR1cmluZyBhdXRvbWF0ZWQgVUkgdGVzdGluZy4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGhvb2snKSBASW5wdXQoKSB0aG9vayA9ICdpbnB1dCdcbiAgLyoqIFR5cGUgb2YgaW5wdXQgZmllbGQuIFNob3VsZCBhdm9pZCB0eXBlcyB0aGF0IG1vZGlmeSBmaWVsZCB0b28gbXVjaCBzdWNoIGFzIHJhbmdlLiAqL1xuICBASW5wdXQoKSB0eXBlID0gJ3RleHQnXG4gIC8qKiBUZXh0IHNob3duIGJlZm9yZSBpbnB1dCBoYXMgYSB3cml0dGVuIHZhbHVlLiAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogSWYgc2V0IHRvIFwib25cIiwgaGludCBmb3IgZm9ybSBhdXRvZmlsbCBmZWF0dXJlLiAqL1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSAnb24nXG4gIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHZhbHVlIHdpbGwgbm90IGJlIGVkaXRhYmxlLiAqL1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlXG4gIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgZW5hYmxlcyB0aGUgQW5ndWxhciB0ZW1wbGF0ZS1kcml2ZW4gZW1haWwgdmFsaWRhdG9yLiAqL1xuICBASW5wdXQoKSBlbWFpbCA9IGZhbHNlXG4gIC8qKiBNaW5pbXVtIHZhbHVlIHJlcXVpcmVkIGZvciBudW1lcmljIGlucHV0IHR5cGVzLiAqL1xuICBASW5wdXQoKSBtaW4gPSAwXG4gIC8qKiBNYXhpbXVtIHZhbHVlIHJlcXVpcmVkIGZvciBudW1lcmljIGlucHV0IHR5cGVzLiAqL1xuICBASW5wdXQoKSBtYXggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAvKiogSW5jcmVtZW50YWwgdmFsdWVzIHRoYXQgYXJlIHZhbGlkIGZvciBudW1lcmljIGlucHV0IHR5cGVzLiAqL1xuICBASW5wdXQoKSBzdGVwID0gMVxuICAvKiogTWluaW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgc2V0IG1pbkxlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21pbmxlbmd0aCA9IGxlbmd0aFxuICB9XG4gIC8qKlxuICAgKiBNaW5pbXVtIGxlbmd0aCAobnVtYmVyIG9mIGNoYXJhY3RlcnMpIG9mIHZhbHVlLlxuICAgKiBAZGVwcmVjYXRlZCBtaW5sZW5ndGggdHJpZ2dlcnMgYW5ndWxhci10ZW1wbGF0ZS12YWxpZGF0aW9uLiBVc2UgQElucHV0KCkgbWluTGVuZ3RoIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKSBzZXQgbWlubGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWlubGVuZ3RoID0gbGVuZ3RoXG4gIH1cbiAgZ2V0IG1pbmxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5sZW5ndGhcbiAgfVxuICAvKiogTWF4aW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgc2V0IG1heExlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21heGxlbmd0aCA9IGxlbmd0aFxuICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnN0YXRlKVxuICB9XG4gIGdldCBtYXhsZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4bGVuZ3RoXG4gIH1cbiAgLyoqXG4gICAqIE1heGltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIG1heGxlbmd0aCB0cmlnZ2VycyBhbmd1bGFyLXRlbXBsYXRlLXZhbGlkYXRpb24uIFVzZSBASW5wdXQoKSBtYXhMZW5ndGggaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtYXhsZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXhsZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zdGF0ZSlcbiAgfVxuICBwcml2YXRlIF9tYXhsZW5ndGggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gIHByaXZhdGUgX21pbmxlbmd0aCA9IDBcblxuICAvKiogV2V0aGVyIHRvIHNob3cgbGFiZWwgdGhhdCB0ZWxscyBob3cgbWFueSBjaGFyYWN0ZXJzIGFyZSBzdGlsbCBsZWZ0IHRvIGJlIGVudGVyZWQuIFdpbGwgb25seSBiZSBzZXQgaWYgbWF4TGVuZ3RoIGlzIGFsc28gc2V0ICovXG4gIHByaXZhdGUgX3Nob3dDaGFyYWN0ZXJDb3VudERvd24gPSB0cnVlXG4gIEBJbnB1dCgpIHNldCBzaG93Q2hhcmFjdGVyQ291bnRkb3duKG9wdGlvbjogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dDaGFyYWN0ZXJDb3VudERvd24gPSBvcHRpb25cbiAgfVxuICBnZXQgc2hvd0NoYXJhY3RlckNvdW50ZG93bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0NoYXJhY3RlckNvdW50RG93biAmJiB0aGlzLmhhc01heExlbmd0aFxuICB9XG5cbiAgLyoqIFBhdHRlcm4gdGhlIHZhbHVlIG11c3QgbWF0Y2ggdG8gYmUgdmFsaWQuICovXG4gIEBJbnB1dCgpIHBhdHRlcm4gPSAnJ1xuICAvKiogQW1vdW50IG9mIHRpbWUgdG8gd2FpdCB1bnRpbCBlbWl0dGluZyAobmdndklOcHV0KSBldmVudCAqL1xuICBASW5wdXQoKSBkZWJvdW5jZVRpbWUgPSA1MDBcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFRleHQgdG8gcHV0IGluIGJhZGdlXG4gICAqL1xuICBASW5wdXQoKSBiYWRnZVRleHQgPSAnJ1xuXG4gIC8qKiBTZXR0aW5ncyBmb3IgaW5wdXQgbWFzayBpZiByZXF1ZXN0ZWQgKi9cbiAgcHJpdmF0ZSBfaW5wdXRNYXNrITogSW5wdXRtYXNrT3B0aW9uczxhbnk+XG4gIEBJbnB1dCgpIHNldCBpbnB1dE1hc2sobmV3SW5wdXRNYXNrOiBJbnB1dG1hc2tPcHRpb25zPGFueT4pIHtcbiAgICAvLyBIaWRlIGlucHV0IGZpZWxkXG4gICAgdGhpcy5oaWRlSW5wdXQkLm5leHQodHJ1ZSlcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB0aGlzLl9pbnB1dE1hc2sgPSBuZXdJbnB1dE1hc2tcblxuICAgIC8vIFNob3cgaW5wdXQgZmllbGQgdG8gcmVsb2FkIGlucHV0LW1hc2sgc2V0dGluZ3MgdXBvbiB1cGRhdGVcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaGlkZUlucHV0JC5uZXh0KGZhbHNlKVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfSwgMjAwKVxuICB9XG4gIGdldCBpbnB1dE1hc2soKTogSW5wdXRtYXNrT3B0aW9uczxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRNYXNrXG4gIH1cblxuICAvKiogRW1pdHMgZXZlcnkgdGltZSB0aGUgdmFsdWUgb2YgdGhlIGlubmVyIGlucHV0IGZpZWxkIGNoYW5nZXMsIGluZGVwZW5kYW50bHkgb2YgdXBkYXRlcyBvbiB0aGUgZm9ybWNvbnRyb2xsZXIgKi9cbiAgQE91dHB1dCgpIG5nZ3ZJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKClcbiAgZ2V0IGNvbnRyb2woKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gKHRoaXMubmdDb250cm9sPy5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbCkgPz8gdGhpcy5fZm9ybUNvbnRyb2xcbiAgfVxuICAvKiogUmV0dXJucyBpZiBtYXhsZW5ndGggaXMgdXNlZCAqL1xuICBnZXQgaGFzTWF4TGVuZ3RoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubWF4bGVuZ3RoICYmIHRoaXMubWF4bGVuZ3RoICE9PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICB9XG5cbiAgLyoqIFRvZ2dsZXIgZm9yIHNob3dpbmcgb3IgaGlkaW5nIHRoZSBpbnB1dCBmaWVsZCAqL1xuICBoaWRlSW5wdXQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIHByb3RlY3RlZCBpbnB1dENoYW5nZSQgPSBuZXcgU3ViamVjdDxhbnk+KClcbiAgcHJvdGVjdGVkIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMT0NPX1NDT1BFKVxuICAgIHByb3RlY3RlZCB0cmFuc2xvY29TY29wZTogVHJhbnNsb2NvU2NvcGUsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKG5nQ29udHJvbCwgdHJhbnNsb2NvU2NvcGUsIGNkcilcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KClcbiAgICB0aGlzLmlucHV0Q2hhbmdlJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSlcbiAgICAgIC5zdWJzY3JpYmUoKGlucHV0VmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5uZ2d2SW5wdXQuZW1pdChpbnB1dFZhbHVlKVxuICAgICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQodHJ1ZSlcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAvLyBtYXhMZW5ndGggd2lsbCBvbmx5IHdvcmsgd2l0aCBzdHJpbmcgdmFsdWVzXG4gICAgaWYgKHZhbHVlPy5sZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gdGhpcy5tYXhsZW5ndGgpIHtcbiAgICAgIC8vIGN1dCB2YWx1ZSB0byBtYXRjaCBtYXggbGVuZ3RoXG4gICAgICB0aGlzLnN0YXRlID0gdGhpcy5jdXRUZXh0QWZ0ZXJNYXhMZW5ndGgodmFsdWUpXG4gICAgICBpZiAodmFsdWUubGVuZ3RoICE9PSB0aGlzLnN0YXRlLmxlbmd0aCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc3RhdGUpXG4gICAgICB9XG4gICAgICAvLyBlbWl0IHZhbHVlXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVwZGF0ZSBzdGF0ZVxuICAgICAgdGhpcy5zdGF0ZSA9IHZhbHVlXG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgY3V0VGV4dEFmdGVyTWF4TGVuZ3RoKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMubWF4bGVuZ3RoKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm5cbiAgICB0aGlzLnN0YXRlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZVxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgICB0aGlzLmlucHV0Q2hhbmdlJC5uZXh0KHRoaXMuc3RhdGUpXG4gIH1cbn1cbiIsIjwhLS0gTEFCRUwgLS0+XG48bGFiZWxcbiAgW2lkXT1cImlkICsgJy1sYWJlbCdcIlxuICBjbGFzcz1cInNkdi1maWVsZC1sYWJlbCBoaWRlLWlmLWVtcHR5XCJcbiAgW2F0dHIuZm9yXT1cImlkICsgJy1pbnB1dCdcIlxuICAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6IHNjb3BlXCJcbj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbENvbnRlbnRUcGwgfHwgYmFzaWNMYWJlbENvbnRlbnRUcGxcIlxuICA+PC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNiYXNpY0xhYmVsQ29udGVudFRwbD5cbiAgICA8IS0tIHRvIHRyaWdnZXIgY3NzOmVtcHR5IGlmIG5vIGxhYmVsIHdhcyBhZGRlZCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8c3BhblxuICAgICAgICAqbmdJZj1cIm9wdGlvbmFsID09PSB0cnVlIHx8IChyZXF1aXJlZCAhPT0gdHJ1ZSAmJiBvcHRpb25hbCAhPT0gZmFsc2UpXCJcbiAgICAgICAgY2xhc3M9XCJzZHYtZmllbGQtbGFiZWwtLW9wdGlvbmFsXCJcbiAgICAgID5cbiAgICAgICAgKHt7IHQoJ2xhYmVsLm9wdGlvbmFsJykgfX0pXG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2xhYmVsPlxuXG48IS0tIERFU0NSSVBUSU9OIC0tPlxuPGRpdiBjbGFzcz1cImZvcm0taW5mbyBkZXNjcmlwdGlvbiBoaWRlLWlmLWVtcHR5XCI+XG4gIHt7IGRlc2NyaXB0aW9uIH19XG48L2Rpdj5cblxuPCEtLSBMT0NLRUQgSU5QVVQgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwibG9ja2VkXCI+XG4gIDxkaXZcbiAgICBbaWRdPVwiaWQgKyAnLWlucHV0J1wiXG4gICAgY2xhc3M9XCJuZ2d2LWZpZWxkLS1sb2NrZWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIudmFsdWVdPVwic3RhdGVcIlxuICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cIiFzdGF0ZVwiIGNsYXNzPVwidW5zZXQtc3RhdGVcIj4tPC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbnB1dE1hc2tcIj5cbiAgICAgICAge3sgc3RhdGUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhaW5wdXRNYXNrXCI+XG4gICAgICAgIHt7IHN0YXRlIHwgbmdndklucHV0TWFza0Zvcm1hdDogaW5wdXRNYXNrIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBJTlBVVCBXUkFQUEVSIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2NrZWRcIj5cbiAgPGRpdiBjbGFzcz1cImdkcy1pbnB1dC13cmFwcGVyXCIgW2NsYXNzLm5nZ3YtZmllbGQtLWVycm9yXT1cImludmFsaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtcHJlZml4IGhpZGUtaWYtZW1wdHlcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PSdwcmVmaXgnXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gSU5QVVQgRklFTEQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgKm5nSWY9XCIhaW5wdXRNYXNrXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIFtpZF09XCJpZCArICctaW5wdXQnXCJcbiAgICAgICAgY2xhc3M9XCJzZHYtZmllbGRcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLmVtYWlsXT1cImVtYWlsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpZCArICctbWVzc2FnZSdcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICBbdmFsdWVdPVwic3RhdGVcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIElOUFVUIEZJRUxEIFdJVEggTUFTSyAtLT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImlucHV0LWdyb3VwXCJcbiAgICAgICpuZ0lmPVwiISFpbnB1dE1hc2sgJiYgKGhpZGVJbnB1dCQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIFtpZF09XCJpZCArICctaW5wdXQnXCJcbiAgICAgICAgY2xhc3M9XCJzZHYtZmllbGRcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWQgKyAnLW1lc3NhZ2UnXCJcbiAgICAgICAgW25nZ3ZJbnB1dE1hc2tdPVwiaW5wdXRNYXNrXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1zdWZmaXggaGlkZS1pZi1lbXB0eVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9J3N1ZmZpeCddXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEVSUk9SUyAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZ2RzLWZvcm0taXRlbV9fZm9vdGVyIGVycm9yLXdyYXBwZXJcIlxuICAgICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogc2NvcGVcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiZm9ybS1pbmZvIGZvcm0taW5mby0tZXJyb3JcIlxuICAgICAgW2F0dHIuaWRdPVwiaWQgKyAnLW1lc3NhZ2UnXCJcbiAgICAgICpuZ0lmPVwiaW52YWxpZCAmJiAoZXJyb3IgfHwgbmdDb250cm9sPy5pbnZhbGlkKVwiXG4gICAgPlxuICAgICAgPHNwYW4gKm5nSWY9XCJlcnJvcjsgZWxzZSBlcnJvcnNSZWZcIj57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZXJyb3JzUmVmPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImZpcnN0RXJyb3IgYXMgZXJyb3JcIj5cbiAgICAgICAgICB7eyB0KCdlcnJvci5maWVsZCcgKyBlcnJvcj8uY29kZSwgZXJyb3I/LnBhcmFtcykgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0TWFzayAmJiBoYXNNYXhMZW5ndGggJiYgc2hvd0NoYXJhY3RlckNvdW50ZG93blwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nZ3ZDaGFyYWN0ZXJDb3VudGRvd249XCJcbiAgICAgICAgICBtYXhsZW5ndGg7XG4gICAgICAgICAgY3VycmVudExlbmd0aDogKGlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py52YWx1ZSA/PyAnJykubGVuZ3RoO1xuICAgICAgICAgIGNoYXJhY3RlcnNMZWZ0IGFzIGNoYXJhY3RlcnNMZWZ0XG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1pbmZvXCJcbiAgICAgICAgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodFwiXG4gICAgICA+XG4gICAgICAgIHt7IGNoYXJhY3RlcnNMZWZ0IH19IHt7IHQoJ2xhYmVsLm1heGxlbmd0aCcpIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG9CQUFvQixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUl4RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTs7Ozs7OztBQUV4SDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8saUJBQ1gsU0FBUSxvQ0FBb0M7SUF1QjVDLHNEQUFzRDtJQUN0RCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNELHNEQUFzRDtJQUN0RCxJQUFh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QUFuQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRU8sU0FBUztzQkFBckIsS0FBSztnQkFPTyxTQUFTO3NCQUFyQixLQUFLO2dCQU9PLFNBQVM7c0JBQXJCLEtBQUs7Z0JBV08sU0FBUztzQkFBckIsS0FBSztnQkFVTyxzQkFBc0I7c0JBQWxDLEtBQUs7Z0JBUUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQWlCSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgVFJBTlNMT0NPX1NDT1BFLCBUcmFuc2xvY29TY29wZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbydcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHR5cGUgeyBJbnB1dG1hc2tPcHRpb25zIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9pbnB1dC1tYXNrJ1xuXG5pbXBvcnQgeyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnQgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3NvcidcblxuLyoqXG4gKiBJbnB1dCBmaWVsZHMgYWxsb3cgdXNlcnMgdG8gYWRkIGFuZCBlZGl0IHRleHQuXG4gKiBodHRwczovL2Rlc2lnbmxpYnJhcnkuc2ViZ3JvdXAuY29tL2NvbXBvbmVudHMvY29tcG9uZW50LWlucHV0XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3YtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZJbnB1dENvbXBvbmVudFxuICBleHRlbmRzIE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIC8qKiBBZGRpbmcgLmdkcy1mb3JtLWl0ZW0gYXMgYSBjbGFzcyB0byBob3N0IGVsZW1lbnQgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2dkcy1mb3JtLWl0ZW0nXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10aG9vaycpIEBJbnB1dCgpIHRob29rID0gJ2lucHV0J1xuICAvKiogVHlwZSBvZiBpbnB1dCBmaWVsZC4gU2hvdWxkIGF2b2lkIHR5cGVzIHRoYXQgbW9kaWZ5IGZpZWxkIHRvbyBtdWNoIHN1Y2ggYXMgcmFuZ2UuICovXG4gIEBJbnB1dCgpIHR5cGUgPSAndGV4dCdcbiAgLyoqIFRleHQgc2hvd24gYmVmb3JlIGlucHV0IGhhcyBhIHdyaXR0ZW4gdmFsdWUuICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIC8qKiBJZiBzZXQgdG8gXCJvblwiLCBoaW50IGZvciBmb3JtIGF1dG9maWxsIGZlYXR1cmUuICovXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZSA9ICdvbidcbiAgLyoqIElmIHNldCB0byB0cnVlLCB0aGUgdmFsdWUgd2lsbCBub3QgYmUgZWRpdGFibGUuICovXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2VcbiAgLyoqIElmIHNldCB0byB0cnVlLCBlbmFibGVzIHRoZSBBbmd1bGFyIHRlbXBsYXRlLWRyaXZlbiBlbWFpbCB2YWxpZGF0b3IuICovXG4gIEBJbnB1dCgpIGVtYWlsID0gZmFsc2VcbiAgLyoqIE1pbmltdW0gdmFsdWUgcmVxdWlyZWQgZm9yIG51bWVyaWMgaW5wdXQgdHlwZXMuICovXG4gIEBJbnB1dCgpIG1pbiA9IDBcbiAgLyoqIE1heGltdW0gdmFsdWUgcmVxdWlyZWQgZm9yIG51bWVyaWMgaW5wdXQgdHlwZXMuICovXG4gIEBJbnB1dCgpIG1heCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gIC8qKiBJbmNyZW1lbnRhbCB2YWx1ZXMgdGhhdCBhcmUgdmFsaWQgZm9yIG51bWVyaWMgaW5wdXQgdHlwZXMuICovXG4gIEBJbnB1dCgpIHN0ZXAgPSAxXG4gIC8qKiBNaW5pbXVtIGxlbmd0aCAobnVtYmVyIG9mIGNoYXJhY3RlcnMpIG9mIHZhbHVlLiAqL1xuICBASW5wdXQoKSBzZXQgbWluTGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWlubGVuZ3RoID0gbGVuZ3RoXG4gIH1cbiAgLyoqXG4gICAqIE1pbmltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIG1pbmxlbmd0aCB0cmlnZ2VycyBhbmd1bGFyLXRlbXBsYXRlLXZhbGlkYXRpb24uIFVzZSBASW5wdXQoKSBtaW5MZW5ndGggaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtaW5sZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5sZW5ndGggPSBsZW5ndGhcbiAgfVxuICBnZXQgbWlubGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21pbmxlbmd0aFxuICB9XG4gIC8qKiBNYXhpbXVtIGxlbmd0aCAobnVtYmVyIG9mIGNoYXJhY3RlcnMpIG9mIHZhbHVlLiAqL1xuICBASW5wdXQoKSBzZXQgbWF4TGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4bGVuZ3RoID0gbGVuZ3RoXG4gICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc3RhdGUpXG4gIH1cbiAgZ2V0IG1heGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhsZW5ndGhcbiAgfVxuICAvKipcbiAgICogTWF4aW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS5cbiAgICogQGRlcHJlY2F0ZWQgbWF4bGVuZ3RoIHRyaWdnZXJzIGFuZ3VsYXItdGVtcGxhdGUtdmFsaWRhdGlvbi4gVXNlIEBJbnB1dCgpIG1heExlbmd0aCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IG1heGxlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21heGxlbmd0aCA9IGxlbmd0aFxuICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnN0YXRlKVxuICB9XG4gIHByaXZhdGUgX21heGxlbmd0aCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG5cbiAgcHJpdmF0ZSBfbWlubGVuZ3RoID0gMFxuXG4gIC8qKiBXZXRoZXIgdG8gc2hvdyBsYWJlbCB0aGF0IHRlbGxzIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIHN0aWxsIGxlZnQgdG8gYmUgZW50ZXJlZC4gV2lsbCBvbmx5IGJlIHNldCBpZiBtYXhMZW5ndGggaXMgYWxzbyBzZXQgKi9cbiAgcHJpdmF0ZSBfc2hvd0NoYXJhY3RlckNvdW50RG93biA9IHRydWVcbiAgQElucHV0KCkgc2V0IHNob3dDaGFyYWN0ZXJDb3VudGRvd24ob3B0aW9uOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0NoYXJhY3RlckNvdW50RG93biA9IG9wdGlvblxuICB9XG4gIGdldCBzaG93Q2hhcmFjdGVyQ291bnRkb3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93Q2hhcmFjdGVyQ291bnREb3duICYmIHRoaXMuaGFzTWF4TGVuZ3RoXG4gIH1cblxuICAvKiogUGF0dGVybiB0aGUgdmFsdWUgbXVzdCBtYXRjaCB0byBiZSB2YWxpZC4gKi9cbiAgQElucHV0KCkgcGF0dGVybiA9ICcnXG4gIC8qKiBBbW91bnQgb2YgdGltZSB0byB3YWl0IHVudGlsIGVtaXR0aW5nIChuZ2d2SU5wdXQpIGV2ZW50ICovXG4gIEBJbnB1dCgpIGRlYm91bmNlVGltZSA9IDUwMFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogVGV4dCB0byBwdXQgaW4gYmFkZ2VcbiAgICovXG4gIEBJbnB1dCgpIGJhZGdlVGV4dCA9ICcnXG5cbiAgLyoqIFNldHRpbmdzIGZvciBpbnB1dCBtYXNrIGlmIHJlcXVlc3RlZCAqL1xuICBwcml2YXRlIF9pbnB1dE1hc2shOiBJbnB1dG1hc2tPcHRpb25zPGFueT5cbiAgQElucHV0KCkgc2V0IGlucHV0TWFzayhuZXdJbnB1dE1hc2s6IElucHV0bWFza09wdGlvbnM8YW55Pikge1xuICAgIC8vIEhpZGUgaW5wdXQgZmllbGRcbiAgICB0aGlzLmhpZGVJbnB1dCQubmV4dCh0cnVlKVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIHRoaXMuX2lucHV0TWFzayA9IG5ld0lucHV0TWFza1xuXG4gICAgLy8gU2hvdyBpbnB1dCBmaWVsZCB0byByZWxvYWQgaW5wdXQtbWFzayBzZXR0aW5ncyB1cG9uIHVwZGF0ZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlSW5wdXQkLm5leHQoZmFsc2UpXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9LCAyMDApXG4gIH1cbiAgZ2V0IGlucHV0TWFzaygpOiBJbnB1dG1hc2tPcHRpb25zPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dE1hc2tcbiAgfVxuXG4gIC8qKiBFbWl0cyBldmVyeSB0aW1lIHRoZSB2YWx1ZSBvZiB0aGUgaW5uZXIgaW5wdXQgZmllbGQgY2hhbmdlcywgaW5kZXBlbmRhbnRseSBvZiB1cGRhdGVzIG9uIHRoZSBmb3JtY29udHJvbGxlciAqL1xuICBAT3V0cHV0KCkgbmdndklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcblxuICBwcml2YXRlIF9mb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKVxuICBnZXQgY29udHJvbCgpOiBVbnR5cGVkRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sKSA/PyB0aGlzLl9mb3JtQ29udHJvbFxuICB9XG4gIC8qKiBSZXR1cm5zIGlmIG1heGxlbmd0aCBpcyB1c2VkICovXG4gIGdldCBoYXNNYXhMZW5ndGgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5tYXhsZW5ndGggJiYgdGhpcy5tYXhsZW5ndGggIT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gIH1cblxuICAvKiogVG9nZ2xlciBmb3Igc2hvd2luZyBvciBoaWRpbmcgdGhlIGlucHV0IGZpZWxkICovXG4gIGhpZGVJbnB1dCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpXG5cbiAgcHJvdGVjdGVkIGlucHV0Q2hhbmdlJCA9IG5ldyBTdWJqZWN0PGFueT4oKVxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChUUkFOU0xPQ09fU0NPUEUpXG4gICAgcHJvdGVjdGVkIHRyYW5zbG9jb1Njb3BlOiBUcmFuc2xvY29TY29wZSxcbiAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgc3VwZXIobmdDb250cm9sLCB0cmFuc2xvY29TY29wZSwgY2RyKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKVxuICAgIHRoaXMuaW5wdXRDaGFuZ2UkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpKVxuICAgICAgLnN1YnNjcmliZSgoaW5wdXRWYWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLm5nZ3ZJbnB1dC5lbWl0KGlucHV0VmFsdWUpXG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCh0cnVlKVxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKClcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIC8vIG1heExlbmd0aCB3aWxsIG9ubHkgd29yayB3aXRoIHN0cmluZyB2YWx1ZXNcbiAgICBpZiAodmFsdWU/Lmxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiB0aGlzLm1heGxlbmd0aCkge1xuICAgICAgLy8gY3V0IHZhbHVlIHRvIG1hdGNoIG1heCBsZW5ndGhcbiAgICAgIHRoaXMuc3RhdGUgPSB0aGlzLmN1dFRleHRBZnRlck1heExlbmd0aCh2YWx1ZSlcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IHRoaXMuc3RhdGUubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgICAgIH1cbiAgICAgIC8vIGVtaXQgdmFsdWVcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdXBkYXRlIHN0YXRlXG4gICAgICB0aGlzLnN0YXRlID0gdmFsdWVcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBjdXRUZXh0QWZ0ZXJNYXhMZW5ndGgodmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5zdWJzdHJpbmcoMCwgdGhpcy5tYXhsZW5ndGgpXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVyblxuICAgIHRoaXMuc3RhdGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnN0YXRlKVxuICAgIHRoaXMuaW5wdXRDaGFuZ2UkLm5leHQodGhpcy5zdGF0ZSlcbiAgfVxufVxuIiwiPCEtLSBMQUJFTCAtLT5cbjxsYWJlbFxuICBbaWRdPVwiaWQgKyAnLWxhYmVsJ1wiXG4gIGNsYXNzPVwic2R2LWZpZWxkLWxhYmVsIGhpZGUtaWYtZW1wdHlcIlxuICBbYXR0ci5mb3JdPVwiaWQgKyAnLWlucHV0J1wiXG4gICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogc2NvcGVcIlxuPlxuICA8bmctdGVtcGxhdGVcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsQ29udGVudFRwbCB8fCBiYXNpY0xhYmVsQ29udGVudFRwbFwiXG4gID48L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2Jhc2ljTGFiZWxDb250ZW50VHBsPlxuICAgIDwhLS0gdG8gdHJpZ2dlciBjc3M6ZW1wdHkgaWYgbm8gbGFiZWwgd2FzIGFkZGVkIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwib3B0aW9uYWwgPT09IHRydWUgfHwgKHJlcXVpcmVkICE9PSB0cnVlICYmIG9wdGlvbmFsICE9PSBmYWxzZSlcIlxuICAgICAgICBjbGFzcz1cInNkdi1maWVsZC1sYWJlbC0tb3B0aW9uYWxcIlxuICAgICAgPlxuICAgICAgICAoe3sgdCgnbGFiZWwub3B0aW9uYWwnKSB9fSlcbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbGFiZWw+XG5cbjwhLS0gREVTQ1JJUFRJT04gLS0+XG48ZGl2IGNsYXNzPVwiZm9ybS1pbmZvIGRlc2NyaXB0aW9uIGhpZGUtaWYtZW1wdHlcIj5cbiAge3sgZGVzY3JpcHRpb24gfX1cbjwvZGl2PlxuXG48IS0tIExPQ0tFRCBJTlBVVCAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2NrZWRcIj5cbiAgPGRpdlxuICAgIFtpZF09XCJpZCArICctaW5wdXQnXCJcbiAgICBjbGFzcz1cIm5nZ3YtZmllbGQtLWxvY2tlZFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbYXR0ci52YWx1ZV09XCJzdGF0ZVwiXG4gICAgW2F0dHIucm9sZV09XCJyb2xlXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwiIXN0YXRlXCIgY2xhc3M9XCJ1bnNldC1zdGF0ZVwiPi08L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0TWFza1wiPlxuICAgICAgICB7eyBzdGF0ZSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFpbnB1dE1hc2tcIj5cbiAgICAgICAge3sgc3RhdGUgfCBuZ2d2SW5wdXRNYXNrRm9ybWF0OiBpbnB1dE1hc2sgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIElOUFVUIFdSQVBQRVIgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwiIWxvY2tlZFwiPlxuICA8ZGl2IGNsYXNzPVwiZ2RzLWlucHV0LXdyYXBwZXJcIiBbY2xhc3Mubmdndi1maWVsZC0tZXJyb3JdPVwiaW52YWxpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1wcmVmaXggaGlkZS1pZi1lbXB0eVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9J3ByZWZpeCddXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBJTlBVVCBGSUVMRCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiAqbmdJZj1cIiFpbnB1dE1hc2tcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgW2lkXT1cImlkICsgJy1pbnB1dCdcIlxuICAgICAgICBjbGFzcz1cInNkdi1maWVsZFwiXG4gICAgICAgIFthdHRyLnR5cGVdPVwidHlwZVwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW2F0dHIuZW1haWxdPVwiZW1haWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkICsgJy1tZXNzYWdlJ1wiXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbc3RlcF09XCJzdGVwXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGhcIlxuICAgICAgICBbcGF0dGVybl09XCJwYXR0ZXJuXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFt2YWx1ZV09XCJzdGF0ZVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gSU5QVVQgRklFTEQgV0lUSCBNQVNLIC0tPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIlxuICAgICAgKm5nSWY9XCIhIWlucHV0TWFzayAmJiAoaGlkZUlucHV0JCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgW2lkXT1cImlkICsgJy1pbnB1dCdcIlxuICAgICAgICBjbGFzcz1cInNkdi1maWVsZFwiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2F0dHIucm9sZV09XCJyb2xlXCJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpZCArICctbWVzc2FnZSdcIlxuICAgICAgICBbbmdndklucHV0TWFza109XCJpbnB1dE1hc2tcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXN1ZmZpeCBoaWRlLWlmLWVtcHR5XCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0nc3VmZml4J11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gRVJST1JTIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJnZHMtZm9ybS1pdGVtX19mb290ZXIgZXJyb3Itd3JhcHBlclwiXG4gICAgKnRyYW5zbG9jbz1cImxldCB0OyByZWFkOiBzY29wZVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJmb3JtLWluZm8gZm9ybS1pbmZvLS1lcnJvclwiXG4gICAgICBbYXR0ci5pZF09XCJpZCArICctbWVzc2FnZSdcIlxuICAgICAgKm5nSWY9XCJpbnZhbGlkICYmIChlcnJvciB8fCBuZ0NvbnRyb2w/LmludmFsaWQpXCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cImVycm9yOyBlbHNlIGVycm9yc1JlZlwiPnt7IGVycm9yIH19PC9zcGFuPlxuICAgICAgPG5nLXRlbXBsYXRlICNlcnJvcnNSZWY+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZmlyc3RFcnJvciBhcyBlcnJvclwiPlxuICAgICAgICAgIHt7IHQoJ2Vycm9yLmZpZWxkJyArIGVycm9yPy5jb2RlLCBlcnJvcj8ucGFyYW1zKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc3Bhbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5wdXRNYXNrICYmIGhhc01heExlbmd0aCAmJiBzaG93Q2hhcmFjdGVyQ291bnRkb3duXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdndkNoYXJhY3RlckNvdW50ZG93bj1cIlxuICAgICAgICAgIG1heGxlbmd0aDtcbiAgICAgICAgICBjdXJyZW50TGVuZ3RoOiAoaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnZhbHVlID8/ICcnKS5sZW5ndGg7XG4gICAgICAgICAgY2hhcmFjdGVyc0xlZnQgYXMgY2hhcmFjdGVyc0xlZnRcbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWluZm9cIlxuICAgICAgICBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0XCJcbiAgICAgID5cbiAgICAgICAge3sgY2hhcmFjdGVyc0xlZnQgfX0ge3sgdCgnbGFiZWwubWF4bGVuZ3RoJykgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -7,19 +7,19 @@ import { NggCharacterCountdownDirectiveModule } from '@sebgroup/green-angular/sr
7
7
  import { NgvInputComponent } from './input.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export class NgvInputModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgvInputModule, declarations: [NgvInputComponent], imports: [CommonModule,
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgvInputModule, declarations: [NgvInputComponent], imports: [CommonModule,
12
12
  NgvI18nModule,
13
13
  NgvInputMaskModule,
14
14
  ReactiveFormsModule,
15
15
  NggCharacterCountdownDirectiveModule], exports: [NgvInputComponent] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputModule, imports: [CommonModule,
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInputModule, imports: [CommonModule,
17
17
  NgvI18nModule,
18
18
  NgvInputMaskModule,
19
19
  ReactiveFormsModule,
20
20
  NggCharacterCountdownDirectiveModule] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInputModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  declarations: [NgvInputComponent],
@@ -9,10 +9,10 @@ export class InputMaskFormatPipe {
9
9
  return value;
10
10
  return InputmaskStatic.format(value, options);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputMaskFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: InputMaskFormatPipe, name: "nggvInputMaskFormat" }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputMaskFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: InputMaskFormatPipe, name: "nggvInputMaskFormat" }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputMaskFormatPipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputMaskFormatPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{
18
18
  name: 'nggvInputMaskFormat',
@@ -132,15 +132,15 @@ export class NgvInputMaskDirective {
132
132
  }
133
133
  }
134
134
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputMaskDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: INPUT_MASK_CONFIG }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
136
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NgvInputMaskDirective, selector: "[nggvInputMask]", inputs: { nggvInputMask: "nggvInputMask" }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)", "keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInputMaskDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: INPUT_MASK_CONFIG }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
136
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NgvInputMaskDirective, selector: "[nggvInputMask]", inputs: { nggvInputMask: "nggvInputMask" }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)", "keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputMaskDirective, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvInputMaskDirective, decorators: [{
139
139
  type: Directive,
140
140
  args: [{
141
141
  selector: '[nggvInputMask]',
142
142
  }]
143
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
143
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
144
144
  type: Optional
145
145
  }, {
146
146
  type: Self
@@ -150,7 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
150
150
  }] }, { type: undefined, decorators: [{
151
151
  type: Inject,
152
152
  args: [PLATFORM_ID]
153
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { nggvInputMask: [{
153
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }], propDecorators: { nggvInputMask: [{
154
154
  type: Input
155
155
  }], onInput: [{
156
156
  type: HostListener,
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
162
162
  type: HostListener,
163
163
  args: ['keyup', ['$event']]
164
164
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9pbnB1dC1tYXNrL2lucHV0LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2xELE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUdMLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sVUFBVSxNQUFNLFdBQVcsQ0FBQTtBQUlsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBOzs7O0FBSTdELE1BQU0sb0JBQW9CLEdBQ3ZCLFVBQXdELENBQUMsT0FBTztJQUNqRSxVQUFVLENBQUE7QUFLWixNQUFNLE9BQU8scUJBQXFCO0lBWWhDLFlBQzZCLFNBQW9CLEVBQ3BCLE1BQXVCLEVBQ3JCLFVBQWtCLEVBQ3ZDLFVBQThDLEVBQzlDLFFBQW1CLEVBQ25CLE1BQWM7UUFMSyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRWxCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsZUFBVSxHQUFWLFVBQVUsQ0FBb0M7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZnhCLGtDQUFrQztRQUN6QixrQkFBYSxHQUF3QixFQUFFLENBQUE7UUFJaEQsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtRQW1COUMsWUFBTyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDbkIsZUFBZTtRQUNq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QUFNOzJCQUFDLFdBQVc7a0hBWFosYUFBYTtzQkFBckIsS0FBSztnQkF1Qk4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQU05QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBTTdDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IF9JbnB1dG1hc2sgZnJvbSAnaW5wdXRtYXNrJ1xuXG5pbXBvcnQgdHlwZSBJbnB1dG1hc2sgZnJvbSAnaW5wdXRtYXNrJ1xuXG5pbXBvcnQgeyBJTlBVVF9NQVNLX0NPTkZJRywgSW5wdXRNYXNrQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnXG5cbmltcG9ydCB0eXBlIHsgSW5wdXRtYXNrT3B0aW9ucyB9IGZyb20gJy4vaW5wdXQtbWFzay50eXBlcydcblxuY29uc3QgSW5wdXRtYXNrQ29uc3RydWN0b3IgPVxuICAoX0lucHV0bWFzayBhcyB1bmtub3duIGFzIHsgZGVmYXVsdD86IElucHV0bWFzay5TdGF0aWMgfSkuZGVmYXVsdCB8fFxuICBfSW5wdXRtYXNrXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ2d2SW5wdXRNYXNrXScsXG59KVxuZXhwb3J0IGNsYXNzIE5ndklucHV0TWFza0RpcmVjdGl2ZTxUID0gYW55PlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKiBJbnB1dCBzZXR0aW5ncyBvZiBkaXJlY3RpdmUgKi9cbiAgQElucHV0KCkgbmdndklucHV0TWFzazogSW5wdXRtYXNrT3B0aW9uczxUPiA9IHt9XG5cbiAgaW5wdXRNYXNrUGx1Z2luOiBJbnB1dG1hc2suSW5zdGFuY2UgfCB1bmRlZmluZWRcbiAgbmF0aXZlSW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkXG4gIGRlZmF1bHRJbnB1dE1hc2tDb25maWcgPSBuZXcgSW5wdXRNYXNrQ29uZmlnKClcblxuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCB1bmRlZmluZWRcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBASW5qZWN0KElOUFVUX01BU0tfQ09ORklHKSBjb25maWc6IElucHV0TWFza0NvbmZpZyxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZyxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudCB8IGFueT4sXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXNcbiAgICB9XG4gICAgdGhpcy5zZXROYXRpdmVJbnB1dEVsZW1lbnQoY29uZmlnKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgb25JbnB1dCA9IChfOiBhbnkpID0+IHtcbiAgICAvLyBFbXB0eSBtZXRob2RcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgb25Ub3VjaGVkID0gKF86IGFueSkgPT4ge1xuICAgIC8vIEVtcHR5IG1ldGhvZFxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gVHJpZ2dlciBcIm9uSW5wdXRcIiB3aGVuIHByZXNzaW5nIGRlbGV0ZSBvciBiYWNrc3BhY2UsIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgIGlmIChbJ0RlbGV0ZScsICdCYWNrc3BhY2UnXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgRXZlbnQoJ2lucHV0Jywge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbGlkYXRvcnMoXG4gICAgICAgIHRoaXMuY29udHJvbC52YWxpZGF0b3JcbiAgICAgICAgICA/IFt0aGlzLmNvbnRyb2wudmFsaWRhdG9yLCB0aGlzLnZhbGlkYXRlXVxuICAgICAgICAgIDogW3RoaXMudmFsaWRhdGVdLFxuICAgICAgKVxuXG4gICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dE1hc2tQbHVnaW4/LnJlbW92ZSgpXG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgfVxuXG4gIGluaXRJbnB1dE1hc2soKSB7XG4gICAgaWYgKFxuICAgICAgaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpIHx8XG4gICAgICAhdGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQgfHxcbiAgICAgICFPYmplY3Qua2V5cyh0aGlzLm5nZ3ZJbnB1dE1hc2spLmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dE1hc2tQbHVnaW4gPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgbmV3IElucHV0bWFza0NvbnN0cnVjdG9yKHRoaXMuaW5wdXRNYXNrT3B0aW9ucykubWFzayhcbiAgICAgICAgdGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCxcbiAgICAgICksXG4gICAgKVxuXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udHJvbCEudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRJbnB1dE1hc2soKVxuICB9XG5cbiAgZ2V0IGlucHV0TWFza09wdGlvbnMoKTogSW5wdXRtYXNrLk9wdGlvbnMge1xuICAgIGNvbnN0IHsgcGFyc2VyLCAuLi5vcHRpb25zIH0gPSB0aGlzLm5nZ3ZJbnB1dE1hc2tcbiAgICByZXR1cm4gb3B0aW9uc1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmF0aXZlSW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMubmF0aXZlSW5wdXRFbGVtZW50LCAndmFsdWUnLCB2YWx1ZSA/PyAnJylcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogVCB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAvLyBVc2UgaW5qZWN0ZWQgcGFyc2VyIGZyb20gc2V0dGluZ3MgdG8gbW9kaWZ5IHZhbHVlXG4gICAgLy8gb2YgdXNlcnMgZGVzaXJlXG4gICAgdGhpcy5vbklucHV0ID0gKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZXIgPSB0aGlzLm5nZ3ZJbnB1dE1hc2s/LnBhcnNlclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSBwYXJzZXIgJiYgdmFsdWUgPyBwYXJzZXIodmFsdWUpIDogdmFsdWVcbiAgICAgIGZuKG5ld1ZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuXG4gIH1cblxuICB2YWxpZGF0ZSA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PlxuICAgICFjb250cm9sLnZhbHVlIHx8ICF0aGlzLmlucHV0TWFza1BsdWdpbiB8fCB0aGlzLmlucHV0TWFza1BsdWdpbi5pc1ZhbGlkKClcbiAgICAgID8gbnVsbFxuICAgICAgOiB7IGludmFsaWRmb3JtYXQ6IHRydWUgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQsICdkaXNhYmxlZCcsIGRpc2FibGVkKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubmdDb250cm9sPy5jb250cm9sXG4gIH1cblxuICBwcml2YXRlIHNldE5hdGl2ZUlucHV0RWxlbWVudChjb25maWc6IElucHV0TWFza0NvbmZpZykge1xuICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnSU5QVVQnKSB7XG4gICAgICB0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVmYXVsdElucHV0TWFza0NvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0SW5wdXRNYXNrQ29uZmlnLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5kZWZhdWx0SW5wdXRNYXNrQ29uZmlnLmlzQXN5bmMpIHtcbiAgICAgICAgLy8gQ3JlYXRlIGFuIG9ic2VydmVyIGluc3RhbmNlIGxpbmtlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb25cbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uc0xpc3QpID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgICAgICBjb25zdCBuYXRpdmVJbnB1dEVsZW1lbnQgPVxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRJbnB1dE1hc2tDb25maWcuaW5wdXRTZWxlY3RvcixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGlmIChuYXRpdmVJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCA9IG5hdGl2ZUlucHV0RWxlbWVudFxuICAgICAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlcj8uZGlzY29ubmVjdCgpXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0SW5wdXRNYXNrKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICAvLyBTdGFydCBvYnNlcnZpbmcgdGhlIHRhcmdldCBub2RlIGZvciBjb25maWd1cmVkIG11dGF0aW9uc1xuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIHRoaXMuZGVmYXVsdElucHV0TWFza0NvbmZpZy5pbnB1dFNlbGVjdG9yLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9pbnB1dC1tYXNrL2lucHV0LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2xELE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUdMLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sVUFBVSxNQUFNLFdBQVcsQ0FBQTtBQUlsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBOzs7O0FBSTdELE1BQU0sb0JBQW9CLEdBQ3ZCLFVBQXdELENBQUMsT0FBTztJQUNqRSxVQUFVLENBQUE7QUFLWixNQUFNLE9BQU8scUJBQXFCO0lBWWhDLFlBQzZCLFNBQW9CLEVBQ3BCLE1BQXVCLEVBQ3JCLFVBQWtCLEVBQ3ZDLFVBQThDLEVBQzlDLFFBQW1CLEVBQ25CLE1BQWM7UUFMSyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRWxCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsZUFBVSxHQUFWLFVBQVUsQ0FBb0M7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZnhCLGtDQUFrQztRQUN6QixrQkFBYSxHQUF3QixFQUFFLENBQUE7UUFJaEQsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtRQW1COUMsWUFBTyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDbkIsZUFBZTtRQUNq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V0FBVzttR0FmVixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OzBCQWNJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsV0FBVzsrR0FYWixhQUFhO3NCQUFyQixLQUFLO2dCQXVCTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBTTlDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFNN0MsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgX0lucHV0bWFzayBmcm9tICdpbnB1dG1hc2snXG5cbmltcG9ydCB0eXBlIElucHV0bWFzayBmcm9tICdpbnB1dG1hc2snXG5cbmltcG9ydCB7IElOUFVUX01BU0tfQ09ORklHLCBJbnB1dE1hc2tDb25maWcgfSBmcm9tICcuL2NvbmZpZydcblxuaW1wb3J0IHR5cGUgeyBJbnB1dG1hc2tPcHRpb25zIH0gZnJvbSAnLi9pbnB1dC1tYXNrLnR5cGVzJ1xuXG5jb25zdCBJbnB1dG1hc2tDb25zdHJ1Y3RvciA9XG4gIChfSW5wdXRtYXNrIGFzIHVua25vd24gYXMgeyBkZWZhdWx0PzogSW5wdXRtYXNrLlN0YXRpYyB9KS5kZWZhdWx0IHx8XG4gIF9JbnB1dG1hc2tcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ3ZJbnB1dE1hc2tdJyxcbn0pXG5leHBvcnQgY2xhc3MgTmd2SW5wdXRNYXNrRGlyZWN0aXZlPFQgPSBhbnk+XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgLyoqIElucHV0IHNldHRpbmdzIG9mIGRpcmVjdGl2ZSAqL1xuICBASW5wdXQoKSBuZ2d2SW5wdXRNYXNrOiBJbnB1dG1hc2tPcHRpb25zPFQ+ID0ge31cblxuICBpbnB1dE1hc2tQbHVnaW46IElucHV0bWFzay5JbnN0YW5jZSB8IHVuZGVmaW5lZFxuICBuYXRpdmVJbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgZGVmYXVsdElucHV0TWFza0NvbmZpZyA9IG5ldyBJbnB1dE1hc2tDb25maWcoKVxuXG4gIHByaXZhdGUgbXV0YXRpb25PYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIEBJbmplY3QoSU5QVVRfTUFTS19DT05GSUcpIGNvbmZpZzogSW5wdXRNYXNrQ29uZmlnLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50IHwgYW55PixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpc1xuICAgIH1cbiAgICB0aGlzLnNldE5hdGl2ZUlucHV0RWxlbWVudChjb25maWcpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICBvbklucHV0ID0gKF86IGFueSkgPT4ge1xuICAgIC8vIEVtcHR5IG1ldGhvZFxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICBvblRvdWNoZWQgPSAoXzogYW55KSA9PiB7XG4gICAgLy8gRW1wdHkgbWV0aG9kXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyBUcmlnZ2VyIFwib25JbnB1dFwiIHdoZW4gcHJlc3NpbmcgZGVsZXRlIG9yIGJhY2tzcGFjZSwgd2hlbiBpbnB1dCBpcyBmb2N1c2VkXG4gICAgaWYgKFsnRGVsZXRlJywgJ0JhY2tzcGFjZSddLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBFdmVudCgnaW5wdXQnLCB7XG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsaWRhdG9ycyhcbiAgICAgICAgdGhpcy5jb250cm9sLnZhbGlkYXRvclxuICAgICAgICAgID8gW3RoaXMuY29udHJvbC52YWxpZGF0b3IsIHRoaXMudmFsaWRhdGVdXG4gICAgICAgICAgOiBbdGhpcy52YWxpZGF0ZV0sXG4gICAgICApXG5cbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KClcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0TWFza1BsdWdpbj8ucmVtb3ZlKClcbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKVxuICB9XG5cbiAgaW5pdElucHV0TWFzaygpIHtcbiAgICBpZiAoXG4gICAgICBpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkgfHxcbiAgICAgICF0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCB8fFxuICAgICAgIU9iamVjdC5rZXlzKHRoaXMubmdndklucHV0TWFzaykubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlucHV0TWFza1BsdWdpbiA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICBuZXcgSW5wdXRtYXNrQ29uc3RydWN0b3IodGhpcy5pbnB1dE1hc2tPcHRpb25zKS5tYXNrKFxuICAgICAgICB0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50LFxuICAgICAgKSxcbiAgICApXG5cbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250cm9sIS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KClcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdElucHV0TWFzaygpXG4gIH1cblxuICBnZXQgaW5wdXRNYXNrT3B0aW9ucygpOiBJbnB1dG1hc2suT3B0aW9ucyB7XG4gICAgY29uc3QgeyBwYXJzZXIsIC4uLm9wdGlvbnMgfSA9IHRoaXMubmdndklucHV0TWFza1xuICAgIHJldHVybiBvcHRpb25zXG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQsICd2YWx1ZScsIHZhbHVlID8/ICcnKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBUIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIC8vIFVzZSBpbmplY3RlZCBwYXJzZXIgZnJvbSBzZXR0aW5ncyB0byBtb2RpZnkgdmFsdWVcbiAgICAvLyBvZiB1c2VycyBkZXNpcmVcbiAgICB0aGlzLm9uSW5wdXQgPSAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlciA9IHRoaXMubmdndklucHV0TWFzaz8ucGFyc2VyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHBhcnNlciAmJiB2YWx1ZSA/IHBhcnNlcih2YWx1ZSkgOiB2YWx1ZVxuICAgICAgZm4obmV3VmFsdWUpXG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm5cbiAgfVxuXG4gIHZhbGlkYXRlID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+XG4gICAgIWNvbnRyb2wudmFsdWUgfHwgIXRoaXMuaW5wdXRNYXNrUGx1Z2luIHx8IHRoaXMuaW5wdXRNYXNrUGx1Z2luLmlzVmFsaWQoKVxuICAgICAgPyBudWxsXG4gICAgICA6IHsgaW52YWxpZGZvcm1hdDogdHJ1ZSB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCwgJ2Rpc2FibGVkJywgZGlzYWJsZWQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2xcbiAgfVxuXG4gIHByaXZhdGUgc2V0TmF0aXZlSW5wdXRFbGVtZW50KGNvbmZpZzogSW5wdXRNYXNrQ29uZmlnKSB7XG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdJTlBVVCcpIHtcbiAgICAgIHRoaXMubmF0aXZlSW5wdXRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZhdWx0SW5wdXRNYXNrQ29uZmlnID0ge1xuICAgICAgICAuLi50aGlzLmRlZmF1bHRJbnB1dE1hc2tDb25maWcsXG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRlZmF1bHRJbnB1dE1hc2tDb25maWcuaXNBc3luYykge1xuICAgICAgICAvLyBDcmVhdGUgYW4gb2JzZXJ2ZXIgaW5zdGFuY2UgbGlua2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvblxuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zTGlzdCkgPT4ge1xuICAgICAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5hdGl2ZUlucHV0RWxlbWVudCA9XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdElucHV0TWFza0NvbmZpZy5pbnB1dFNlbGVjdG9yLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgaWYgKG5hdGl2ZUlucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlSW5wdXRFbGVtZW50ID0gbmF0aXZlSW5wdXRFbGVtZW50XG4gICAgICAgICAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRJbnB1dE1hc2soKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIFN0YXJ0IG9ic2VydmluZyB0aGUgdGFyZ2V0IG5vZGUgZm9yIGNvbmZpZ3VyZWQgbXV0YXRpb25zXG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgdGhpcy5kZWZhdWx0SW5wdXRNYXNrQ29uZmlnLmlucHV0U2VsZWN0b3IsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==