@wavemaker/app-ng-runtime 11.4.1-next.141653 → 11.4.1-next.141654

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 (504) hide show
  1. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +12 -23
  2. app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +2 -4
  3. app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -4
  4. app-ng-runtime/components/advanced/carousel/esm2020/carousel-template/carousel-template.directive.mjs +6 -11
  5. app-ng-runtime/components/advanced/carousel/esm2020/carousel.directive.mjs +6 -11
  6. app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs +9 -20
  7. app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs.map +1 -1
  8. app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs +9 -16
  9. app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs.map +1 -1
  10. app-ng-runtime/components/advanced/login/bundles/index.umd.js +21 -27
  11. app-ng-runtime/components/advanced/login/esm2020/login.component.mjs +8 -13
  12. app-ng-runtime/components/advanced/login/fesm2015/index.mjs +7 -13
  13. app-ng-runtime/components/advanced/login/fesm2015/index.mjs.map +1 -1
  14. app-ng-runtime/components/advanced/login/fesm2020/index.mjs +7 -11
  15. app-ng-runtime/components/advanced/login/fesm2020/index.mjs.map +1 -1
  16. app-ng-runtime/components/advanced/login/login.component.d.ts +2 -4
  17. app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +8 -14
  18. app-ng-runtime/components/advanced/marquee/esm2020/marquee.directive.mjs +6 -11
  19. app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs +5 -11
  20. app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs.map +1 -1
  21. app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs +5 -9
  22. app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs.map +1 -1
  23. app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -4
  24. app-ng-runtime/components/base/bundles/index.umd.js +31 -61
  25. app-ng-runtime/components/base/esm2020/widgets/common/base/base-container.component.mjs +4 -6
  26. app-ng-runtime/components/base/esm2020/widgets/common/base/base.component.mjs +5 -6
  27. app-ng-runtime/components/base/esm2020/widgets/common/base/dataset-aware-nav.component.mjs +3 -3
  28. app-ng-runtime/components/base/esm2020/widgets/common/container/container.directive.mjs +7 -11
  29. app-ng-runtime/components/base/esm2020/widgets/common/item-template/item-template.directive.mjs +7 -10
  30. app-ng-runtime/components/base/esm2020/widgets/common/lazy-load/lazy-load.directive.mjs +6 -10
  31. app-ng-runtime/components/base/esm2020/widgets/common/message/message.component.mjs +7 -11
  32. app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +7 -10
  33. app-ng-runtime/components/base/esm2020/widgets/common/repeat-template/repeat-template.directive.mjs +6 -11
  34. app-ng-runtime/components/base/fesm2015/index.mjs +32 -62
  35. app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
  36. app-ng-runtime/components/base/fesm2020/index.mjs +32 -50
  37. app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
  38. app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -2
  39. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +2 -3
  40. app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -2
  41. app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -4
  42. app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -4
  43. app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -4
  44. app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -4
  45. app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +3 -4
  46. app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +2 -4
  47. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +3 -4
  48. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -4
  49. app-ng-runtime/components/basic/default/bundles/index.umd.js +247 -290
  50. app-ng-runtime/components/basic/default/esm2020/anchor/anchor.component.mjs +7 -10
  51. app-ng-runtime/components/basic/default/esm2020/audio/audio.component.mjs +8 -13
  52. app-ng-runtime/components/basic/default/esm2020/html/html.directive.mjs +7 -11
  53. app-ng-runtime/components/basic/default/esm2020/icon/icon.component.mjs +9 -14
  54. app-ng-runtime/components/basic/default/esm2020/iframe/iframe.component.mjs +9 -13
  55. app-ng-runtime/components/basic/default/esm2020/label/label.directive.mjs +7 -11
  56. app-ng-runtime/components/basic/default/esm2020/picture/picture.directive.mjs +7 -11
  57. app-ng-runtime/components/basic/default/esm2020/spinner/spinner.component.mjs +9 -13
  58. app-ng-runtime/components/basic/default/esm2020/video/video.component.mjs +9 -13
  59. app-ng-runtime/components/basic/default/fesm2015/index.mjs +46 -89
  60. app-ng-runtime/components/basic/default/fesm2015/index.mjs.map +1 -1
  61. app-ng-runtime/components/basic/default/fesm2020/index.mjs +46 -73
  62. app-ng-runtime/components/basic/default/fesm2020/index.mjs.map +1 -1
  63. app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -4
  64. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -4
  65. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -4
  66. app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -4
  67. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -4
  68. app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -4
  69. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -4
  70. app-ng-runtime/components/basic/progress/bundles/index.umd.js +23 -32
  71. app-ng-runtime/components/basic/progress/esm2020/progress-bar/progress-bar.component.mjs +8 -12
  72. app-ng-runtime/components/basic/progress/esm2020/progress-circle/progress-circle.component.mjs +8 -13
  73. app-ng-runtime/components/basic/progress/fesm2015/index.mjs +12 -21
  74. app-ng-runtime/components/basic/progress/fesm2015/index.mjs.map +1 -1
  75. app-ng-runtime/components/basic/progress/fesm2020/index.mjs +12 -19
  76. app-ng-runtime/components/basic/progress/fesm2020/index.mjs.map +1 -1
  77. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -4
  78. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -4
  79. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +14 -20
  80. app-ng-runtime/components/basic/rich-text-editor/esm2020/rich-text-editor.component.mjs +9 -13
  81. app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs +7 -13
  82. app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs.map +1 -1
  83. app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs +7 -11
  84. app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs.map +1 -1
  85. app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -4
  86. app-ng-runtime/components/basic/search/bundles/index.umd.js +3 -6
  87. app-ng-runtime/components/basic/search/esm2020/search.component.mjs +6 -9
  88. app-ng-runtime/components/basic/search/fesm2015/index.mjs +4 -7
  89. app-ng-runtime/components/basic/search/fesm2015/index.mjs.map +1 -1
  90. app-ng-runtime/components/basic/search/fesm2020/index.mjs +4 -7
  91. app-ng-runtime/components/basic/search/fesm2020/index.mjs.map +1 -1
  92. app-ng-runtime/components/basic/search/search.component.d.ts +3 -4
  93. app-ng-runtime/components/chart/bundles/index.umd.js +4 -9
  94. app-ng-runtime/components/chart/chart.component.d.ts +3 -4
  95. app-ng-runtime/components/chart/esm2020/chart.component.mjs +7 -10
  96. app-ng-runtime/components/chart/fesm2015/index.mjs +5 -10
  97. app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
  98. app-ng-runtime/components/chart/fesm2020/index.mjs +5 -8
  99. app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
  100. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -4
  101. app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +3 -4
  102. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +56 -66
  103. app-ng-runtime/components/containers/accordion/esm2020/accordion-pane/accordion-pane.component.mjs +10 -14
  104. app-ng-runtime/components/containers/accordion/esm2020/accordion.directive.mjs +7 -10
  105. app-ng-runtime/components/containers/accordion/fesm2015/index.mjs +12 -22
  106. app-ng-runtime/components/containers/accordion/fesm2015/index.mjs.map +1 -1
  107. app-ng-runtime/components/containers/accordion/fesm2020/index.mjs +12 -18
  108. app-ng-runtime/components/containers/accordion/fesm2020/index.mjs.map +1 -1
  109. app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +12 -25
  110. app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-column/layout-grid-column.directive.mjs +7 -10
  111. app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-row/layout-grid-row.directive.mjs +6 -11
  112. app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid.directive.mjs +6 -11
  113. app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs +13 -26
  114. app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs.map +1 -1
  115. app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs +13 -22
  116. app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs.map +1 -1
  117. app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +3 -4
  118. app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -4
  119. app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -4
  120. app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +12 -23
  121. app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout-item/linear-layout-item.directive.mjs +6 -11
  122. app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout.directive.mjs +6 -11
  123. app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs +9 -20
  124. app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs.map +1 -1
  125. app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs +9 -16
  126. app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs.map +1 -1
  127. app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -4
  128. app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -4
  129. app-ng-runtime/components/containers/panel/bundles/index.umd.js +65 -71
  130. app-ng-runtime/components/containers/panel/esm2020/panel.component.mjs +12 -16
  131. app-ng-runtime/components/containers/panel/fesm2015/index.mjs +10 -16
  132. app-ng-runtime/components/containers/panel/fesm2015/index.mjs.map +1 -1
  133. app-ng-runtime/components/containers/panel/fesm2020/index.mjs +10 -14
  134. app-ng-runtime/components/containers/panel/fesm2020/index.mjs.map +1 -1
  135. app-ng-runtime/components/containers/panel/panel.component.d.ts +2 -4
  136. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +57 -63
  137. app-ng-runtime/components/containers/tabs/esm2020/tab-pane/tab-pane.component.mjs +8 -12
  138. app-ng-runtime/components/containers/tabs/esm2020/tabs.component.mjs +7 -10
  139. app-ng-runtime/components/containers/tabs/fesm2015/index.mjs +12 -18
  140. app-ng-runtime/components/containers/tabs/fesm2015/index.mjs.map +1 -1
  141. app-ng-runtime/components/containers/tabs/fesm2020/index.mjs +12 -18
  142. app-ng-runtime/components/containers/tabs/fesm2020/index.mjs.map +1 -1
  143. app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -4
  144. app-ng-runtime/components/containers/tabs/tabs.component.d.ts +3 -4
  145. app-ng-runtime/components/containers/tile/bundles/index.umd.js +8 -14
  146. app-ng-runtime/components/containers/tile/esm2020/tile.directive.mjs +6 -11
  147. app-ng-runtime/components/containers/tile/fesm2015/index.mjs +5 -11
  148. app-ng-runtime/components/containers/tile/fesm2015/index.mjs.map +1 -1
  149. app-ng-runtime/components/containers/tile/fesm2020/index.mjs +5 -9
  150. app-ng-runtime/components/containers/tile/fesm2020/index.mjs.map +1 -1
  151. app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -4
  152. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +48 -57
  153. app-ng-runtime/components/containers/wizard/esm2020/wizard-step/wizard-step.directive.mjs +5 -10
  154. app-ng-runtime/components/containers/wizard/esm2020/wizard.component.mjs +10 -14
  155. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +11 -20
  156. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
  157. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +11 -18
  158. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
  159. app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -4
  160. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -4
  161. app-ng-runtime/components/data/card/bundles/index.umd.js +83 -106
  162. app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -4
  163. app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -4
  164. app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -4
  165. app-ng-runtime/components/data/card/card.component.d.ts +2 -4
  166. app-ng-runtime/components/data/card/esm2020/card-actions/card-actions.directive.mjs +6 -11
  167. app-ng-runtime/components/data/card/esm2020/card-content/card-content.component.mjs +6 -11
  168. app-ng-runtime/components/data/card/esm2020/card-footer/card-footer.directive.mjs +6 -11
  169. app-ng-runtime/components/data/card/esm2020/card.component.mjs +12 -18
  170. app-ng-runtime/components/data/card/fesm2015/index.mjs +23 -46
  171. app-ng-runtime/components/data/card/fesm2015/index.mjs.map +1 -1
  172. app-ng-runtime/components/data/card/fesm2020/index.mjs +23 -38
  173. app-ng-runtime/components/data/card/fesm2020/index.mjs.map +1 -1
  174. app-ng-runtime/components/data/form/bundles/index.umd.js +128 -137
  175. app-ng-runtime/components/data/form/esm2020/form-action/form-action.directive.mjs +4 -9
  176. app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +5 -8
  177. app-ng-runtime/components/data/form/esm2020/form.component.mjs +5 -8
  178. app-ng-runtime/components/data/form/fesm2015/index.mjs +20 -29
  179. app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
  180. app-ng-runtime/components/data/form/fesm2020/index.mjs +20 -29
  181. app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
  182. app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -4
  183. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +3 -4
  184. app-ng-runtime/components/data/form/form.component.d.ts +3 -4
  185. app-ng-runtime/components/data/list/bundles/index.umd.js +4 -7
  186. app-ng-runtime/components/data/list/esm2020/list.component.mjs +7 -10
  187. app-ng-runtime/components/data/list/fesm2015/index.mjs +4 -7
  188. app-ng-runtime/components/data/list/fesm2015/index.mjs.map +1 -1
  189. app-ng-runtime/components/data/list/fesm2020/index.mjs +4 -7
  190. app-ng-runtime/components/data/list/fesm2020/index.mjs.map +1 -1
  191. app-ng-runtime/components/data/list/list.component.d.ts +3 -4
  192. app-ng-runtime/components/data/live-table/bundles/index.umd.js +3 -6
  193. app-ng-runtime/components/data/live-table/esm2020/live-table.component.mjs +6 -9
  194. app-ng-runtime/components/data/live-table/fesm2015/index.mjs +4 -7
  195. app-ng-runtime/components/data/live-table/fesm2015/index.mjs.map +1 -1
  196. app-ng-runtime/components/data/live-table/fesm2020/index.mjs +4 -7
  197. app-ng-runtime/components/data/live-table/fesm2020/index.mjs.map +1 -1
  198. app-ng-runtime/components/data/live-table/live-table.component.d.ts +3 -4
  199. app-ng-runtime/components/data/pagination/bundles/index.umd.js +30 -34
  200. app-ng-runtime/components/data/pagination/esm2020/pagination.component.mjs +10 -14
  201. app-ng-runtime/components/data/pagination/fesm2015/index.mjs +8 -12
  202. app-ng-runtime/components/data/pagination/fesm2015/index.mjs.map +1 -1
  203. app-ng-runtime/components/data/pagination/fesm2020/index.mjs +8 -12
  204. app-ng-runtime/components/data/pagination/fesm2020/index.mjs.map +1 -1
  205. app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -4
  206. app-ng-runtime/components/data/table/bundles/index.umd.js +19 -37
  207. app-ng-runtime/components/data/table/esm2020/table-action/table-action.directive.mjs +4 -9
  208. app-ng-runtime/components/data/table/esm2020/table-column/table-column.directive.mjs +5 -8
  209. app-ng-runtime/components/data/table/esm2020/table-column-group/table-column-group.directive.mjs +4 -9
  210. app-ng-runtime/components/data/table/esm2020/table-row/table-row.directive.mjs +4 -9
  211. app-ng-runtime/components/data/table/esm2020/table-row-action/table-row-action.directive.mjs +4 -9
  212. app-ng-runtime/components/data/table/esm2020/table.component.mjs +6 -9
  213. app-ng-runtime/components/data/table/fesm2015/index.mjs +19 -37
  214. app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
  215. app-ng-runtime/components/data/table/fesm2020/index.mjs +19 -37
  216. app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
  217. app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -4
  218. app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +3 -4
  219. app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -4
  220. app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -4
  221. app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -4
  222. app-ng-runtime/components/data/table/table.component.d.ts +3 -4
  223. app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -4
  224. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +40 -46
  225. app-ng-runtime/components/dialogs/alert-dialog/esm2020/alert-dialog.component.mjs +9 -15
  226. app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs +8 -14
  227. app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs.map +1 -1
  228. app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs +8 -14
  229. app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs.map +1 -1
  230. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +16 -22
  231. app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -4
  232. app-ng-runtime/components/dialogs/confirm-dialog/esm2020/confirm-dialog.component.mjs +8 -14
  233. app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs +7 -13
  234. app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs.map +1 -1
  235. app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs +7 -13
  236. app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs.map +1 -1
  237. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -2
  238. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +25 -31
  239. app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -4
  240. app-ng-runtime/components/dialogs/default/esm2020/base-dialog.mjs +7 -8
  241. app-ng-runtime/components/dialogs/default/esm2020/dialog-footer/dialog-footer.directive.mjs +6 -11
  242. app-ng-runtime/components/dialogs/default/fesm2015/index.mjs +11 -17
  243. app-ng-runtime/components/dialogs/default/fesm2015/index.mjs.map +1 -1
  244. app-ng-runtime/components/dialogs/default/fesm2020/index.mjs +11 -15
  245. app-ng-runtime/components/dialogs/default/fesm2020/index.mjs.map +1 -1
  246. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +17 -23
  247. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -4
  248. app-ng-runtime/components/dialogs/design-dialog/esm2020/dialog.component.mjs +8 -14
  249. app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs +7 -13
  250. app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs.map +1 -1
  251. app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs +7 -13
  252. app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs.map +1 -1
  253. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -30
  254. app-ng-runtime/components/dialogs/iframe-dialog/esm2020/iframe-dialog.component.mjs +10 -16
  255. app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs +9 -15
  256. app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs.map +1 -1
  257. app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs +9 -15
  258. app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs.map +1 -1
  259. app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -4
  260. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +3 -8
  261. app-ng-runtime/components/dialogs/partial-dialog/esm2020/partial-dialog.component.mjs +5 -10
  262. app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs +4 -9
  263. app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs.map +1 -1
  264. app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs +4 -9
  265. app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs.map +1 -1
  266. app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +3 -4
  267. app-ng-runtime/components/input/calendar/bundles/index.umd.js +5 -10
  268. app-ng-runtime/components/input/calendar/calendar.component.d.ts +3 -4
  269. app-ng-runtime/components/input/calendar/esm2020/calendar.component.mjs +8 -11
  270. app-ng-runtime/components/input/calendar/fesm2015/index.mjs +6 -11
  271. app-ng-runtime/components/input/calendar/fesm2015/index.mjs.map +1 -1
  272. app-ng-runtime/components/input/calendar/fesm2020/index.mjs +6 -9
  273. app-ng-runtime/components/input/calendar/fesm2020/index.mjs.map +1 -1
  274. app-ng-runtime/components/input/chips/bundles/index.umd.js +87 -93
  275. app-ng-runtime/components/input/chips/chips.component.d.ts +2 -4
  276. app-ng-runtime/components/input/chips/esm2020/chips.component.mjs +9 -15
  277. app-ng-runtime/components/input/chips/fesm2015/index.mjs +8 -14
  278. app-ng-runtime/components/input/chips/fesm2015/index.mjs.map +1 -1
  279. app-ng-runtime/components/input/chips/fesm2020/index.mjs +8 -14
  280. app-ng-runtime/components/input/chips/fesm2020/index.mjs.map +1 -1
  281. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +22 -28
  282. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -4
  283. app-ng-runtime/components/input/color-picker/esm2020/color-picker.component.mjs +10 -14
  284. app-ng-runtime/components/input/color-picker/fesm2015/index.mjs +8 -14
  285. app-ng-runtime/components/input/color-picker/fesm2015/index.mjs.map +1 -1
  286. app-ng-runtime/components/input/color-picker/fesm2020/index.mjs +8 -12
  287. app-ng-runtime/components/input/color-picker/fesm2020/index.mjs.map +1 -1
  288. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -9
  289. app-ng-runtime/components/input/currency/currency.component.d.ts +3 -4
  290. app-ng-runtime/components/input/currency/esm2020/currency.component.mjs +7 -10
  291. app-ng-runtime/components/input/currency/fesm2015/index.mjs +5 -10
  292. app-ng-runtime/components/input/currency/fesm2015/index.mjs.map +1 -1
  293. app-ng-runtime/components/input/currency/fesm2020/index.mjs +5 -8
  294. app-ng-runtime/components/input/currency/fesm2020/index.mjs.map +1 -1
  295. app-ng-runtime/components/input/default/base-form.component.d.ts +1 -2
  296. app-ng-runtime/components/input/default/bundles/index.umd.js +575 -648
  297. app-ng-runtime/components/input/default/button/button.component.d.ts +2 -4
  298. app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -4
  299. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +2 -4
  300. app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -4
  301. app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -4
  302. app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +2 -3
  303. app-ng-runtime/components/input/default/esm2020/base-form.component.mjs +6 -7
  304. app-ng-runtime/components/input/default/esm2020/button/button.component.mjs +9 -14
  305. app-ng-runtime/components/input/default/esm2020/button-group/button-group.directive.mjs +6 -11
  306. app-ng-runtime/components/input/default/esm2020/checkbox/checkbox.component.mjs +9 -13
  307. app-ng-runtime/components/input/default/esm2020/checkboxset/checkboxset.component.mjs +10 -14
  308. app-ng-runtime/components/input/default/esm2020/composite/composite.directive.mjs +7 -11
  309. app-ng-runtime/components/input/default/esm2020/dataset-aware-form.component.mjs +6 -7
  310. app-ng-runtime/components/input/default/esm2020/number/number.component.mjs +7 -10
  311. app-ng-runtime/components/input/default/esm2020/radioset/radioset.component.mjs +10 -14
  312. app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +11 -15
  313. app-ng-runtime/components/input/default/esm2020/switch/switch.component.mjs +10 -14
  314. app-ng-runtime/components/input/default/esm2020/text/base/base-input.mjs +6 -7
  315. app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.component.mjs +8 -13
  316. app-ng-runtime/components/input/default/esm2020/text/color/input-color.component.mjs +8 -13
  317. app-ng-runtime/components/input/default/esm2020/text/email/input-email.component.mjs +8 -13
  318. app-ng-runtime/components/input/default/esm2020/text/locale/number-locale.mjs +3 -3
  319. app-ng-runtime/components/input/default/esm2020/text/number/input-number.component.mjs +9 -14
  320. app-ng-runtime/components/input/default/esm2020/text/text/input-text.component.mjs +9 -14
  321. app-ng-runtime/components/input/default/esm2020/textarea/textarea.component.mjs +9 -14
  322. app-ng-runtime/components/input/default/fesm2015/index.mjs +94 -167
  323. app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
  324. app-ng-runtime/components/input/default/fesm2020/index.mjs +94 -139
  325. app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
  326. app-ng-runtime/components/input/default/number/number.component.d.ts +3 -4
  327. app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -4
  328. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -4
  329. app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -4
  330. app-ng-runtime/components/input/default/text/base/base-input.d.ts +1 -2
  331. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -4
  332. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -4
  333. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -4
  334. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +2 -2
  335. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -4
  336. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -4
  337. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -4
  338. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -2
  339. app-ng-runtime/components/input/epoch/bundles/index.umd.js +12 -21
  340. app-ng-runtime/components/input/epoch/date/date.component.d.ts +3 -4
  341. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +3 -4
  342. app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +5 -6
  343. app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +6 -9
  344. app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -9
  345. app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +6 -9
  346. app-ng-runtime/components/input/epoch/fesm2015/index.mjs +13 -22
  347. app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
  348. app-ng-runtime/components/input/epoch/fesm2020/index.mjs +13 -22
  349. app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
  350. app-ng-runtime/components/input/epoch/time/time.component.d.ts +3 -4
  351. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +3 -6
  352. app-ng-runtime/components/input/file-upload/esm2020/file-upload.component.mjs +6 -9
  353. app-ng-runtime/components/input/file-upload/fesm2015/index.mjs +4 -7
  354. app-ng-runtime/components/input/file-upload/fesm2015/index.mjs.map +1 -1
  355. app-ng-runtime/components/input/file-upload/fesm2020/index.mjs +4 -7
  356. app-ng-runtime/components/input/file-upload/fesm2020/index.mjs.map +1 -1
  357. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +3 -4
  358. app-ng-runtime/components/input/rating/bundles/index.umd.js +45 -51
  359. app-ng-runtime/components/input/rating/esm2020/rating.component.mjs +11 -15
  360. app-ng-runtime/components/input/rating/fesm2015/index.mjs +9 -15
  361. app-ng-runtime/components/input/rating/fesm2015/index.mjs.map +1 -1
  362. app-ng-runtime/components/input/rating/fesm2020/index.mjs +9 -13
  363. app-ng-runtime/components/input/rating/fesm2020/index.mjs.map +1 -1
  364. app-ng-runtime/components/input/rating/rating.component.d.ts +2 -4
  365. app-ng-runtime/components/input/slider/bundles/index.umd.js +37 -43
  366. app-ng-runtime/components/input/slider/esm2020/slider.component.mjs +10 -15
  367. app-ng-runtime/components/input/slider/fesm2015/index.mjs +9 -15
  368. app-ng-runtime/components/input/slider/fesm2015/index.mjs.map +1 -1
  369. app-ng-runtime/components/input/slider/fesm2020/index.mjs +9 -13
  370. app-ng-runtime/components/input/slider/fesm2020/index.mjs.map +1 -1
  371. app-ng-runtime/components/input/slider/slider.component.d.ts +2 -4
  372. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +13 -25
  373. app-ng-runtime/components/navigation/menu/esm2020/menu-adapator.component.mjs +4 -6
  374. app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +4 -7
  375. app-ng-runtime/components/navigation/menu/esm2020/nav/nav-item/nav-item.directive.mjs +7 -11
  376. app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +5 -9
  377. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +14 -26
  378. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
  379. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +14 -24
  380. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
  381. app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -2
  382. app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -3
  383. app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -4
  384. app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -3
  385. app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +28 -34
  386. app-ng-runtime/components/navigation/navbar/esm2020/navbar.component.mjs +9 -14
  387. app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs +8 -14
  388. app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs.map +1 -1
  389. app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs +8 -12
  390. app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs.map +1 -1
  391. app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -4
  392. app-ng-runtime/components/page/default/bundles/index.umd.js +32 -66
  393. app-ng-runtime/components/page/default/content/content.component.d.ts +2 -4
  394. app-ng-runtime/components/page/default/esm2020/content/content.component.mjs +6 -11
  395. app-ng-runtime/components/page/default/esm2020/layout.directive.mjs +7 -11
  396. app-ng-runtime/components/page/default/esm2020/page-content/page-content.component.mjs +7 -10
  397. app-ng-runtime/components/page/default/esm2020/page.directive.mjs +7 -12
  398. app-ng-runtime/components/page/default/esm2020/router-outlet.directive.mjs +7 -11
  399. app-ng-runtime/components/page/default/esm2020/spa-page.directive.mjs +7 -12
  400. app-ng-runtime/components/page/default/fesm2015/index.mjs +26 -60
  401. app-ng-runtime/components/page/default/fesm2015/index.mjs.map +1 -1
  402. app-ng-runtime/components/page/default/fesm2020/index.mjs +26 -48
  403. app-ng-runtime/components/page/default/fesm2020/index.mjs.map +1 -1
  404. app-ng-runtime/components/page/default/layout.directive.d.ts +2 -4
  405. app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +3 -4
  406. app-ng-runtime/components/page/default/page.directive.d.ts +3 -4
  407. app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -4
  408. app-ng-runtime/components/page/default/spa-page.directive.d.ts +3 -4
  409. app-ng-runtime/components/page/footer/bundles/index.umd.js +8 -14
  410. app-ng-runtime/components/page/footer/esm2020/footer.directive.mjs +6 -11
  411. app-ng-runtime/components/page/footer/fesm2015/index.mjs +5 -11
  412. app-ng-runtime/components/page/footer/fesm2015/index.mjs.map +1 -1
  413. app-ng-runtime/components/page/footer/fesm2020/index.mjs +5 -9
  414. app-ng-runtime/components/page/footer/fesm2020/index.mjs.map +1 -1
  415. app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -4
  416. app-ng-runtime/components/page/header/bundles/index.umd.js +8 -14
  417. app-ng-runtime/components/page/header/esm2020/header.component.mjs +6 -11
  418. app-ng-runtime/components/page/header/fesm2015/index.mjs +5 -11
  419. app-ng-runtime/components/page/header/fesm2015/index.mjs.map +1 -1
  420. app-ng-runtime/components/page/header/fesm2020/index.mjs +5 -9
  421. app-ng-runtime/components/page/header/fesm2020/index.mjs.map +1 -1
  422. app-ng-runtime/components/page/header/header.component.d.ts +2 -4
  423. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +4 -7
  424. app-ng-runtime/components/page/left-panel/esm2020/left-panel.directive.mjs +6 -9
  425. app-ng-runtime/components/page/left-panel/fesm2015/index.mjs +4 -7
  426. app-ng-runtime/components/page/left-panel/fesm2015/index.mjs.map +1 -1
  427. app-ng-runtime/components/page/left-panel/fesm2020/index.mjs +4 -7
  428. app-ng-runtime/components/page/left-panel/fesm2020/index.mjs.map +1 -1
  429. app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +3 -4
  430. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +6 -12
  431. app-ng-runtime/components/page/right-panel/esm2020/right-panel.directive.mjs +7 -11
  432. app-ng-runtime/components/page/right-panel/fesm2015/index.mjs +5 -11
  433. app-ng-runtime/components/page/right-panel/fesm2015/index.mjs.map +1 -1
  434. app-ng-runtime/components/page/right-panel/fesm2020/index.mjs +5 -9
  435. app-ng-runtime/components/page/right-panel/fesm2020/index.mjs.map +1 -1
  436. app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -4
  437. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +8 -14
  438. app-ng-runtime/components/page/top-nav/esm2020/top-nav.directive.mjs +6 -11
  439. app-ng-runtime/components/page/top-nav/fesm2015/index.mjs +5 -11
  440. app-ng-runtime/components/page/top-nav/fesm2015/index.mjs.map +1 -1
  441. app-ng-runtime/components/page/top-nav/fesm2020/index.mjs +5 -9
  442. app-ng-runtime/components/page/top-nav/fesm2020/index.mjs.map +1 -1
  443. app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -4
  444. app-ng-runtime/components/prefab/bundles/index.umd.js +7 -15
  445. app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +7 -10
  446. app-ng-runtime/components/prefab/esm2020/prefab.directive.mjs +6 -10
  447. app-ng-runtime/components/prefab/fesm2015/index.mjs +8 -16
  448. app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
  449. app-ng-runtime/components/prefab/fesm2020/index.mjs +8 -14
  450. app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
  451. app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +3 -4
  452. app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -4
  453. app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +32 -37
  454. app-ng-runtime/mobile/components/basic/default/esm2020/network-info-toaster/network-info-toaster.component.mjs +7 -10
  455. app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs +10 -15
  456. app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs.map +1 -1
  457. app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs +10 -13
  458. app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs.map +1 -1
  459. app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +3 -4
  460. app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +18 -29
  461. app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segment-content/segment-content.component.mjs +8 -13
  462. app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segmented-control.component.mjs +9 -13
  463. app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs +12 -23
  464. app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs.map +1 -1
  465. app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs +12 -19
  466. app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs.map +1 -1
  467. app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -4
  468. app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -4
  469. app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +30 -36
  470. app-ng-runtime/mobile/components/data/media-list/esm2020/media-list.component.mjs +14 -18
  471. app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs +11 -17
  472. app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs.map +1 -1
  473. app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs +11 -15
  474. app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs.map +1 -1
  475. app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -4
  476. app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -4
  477. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +28 -34
  478. app-ng-runtime/mobile/components/device/barcode-scanner/esm2020/barcode-scanner.component.mjs +10 -14
  479. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs +8 -14
  480. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs.map +1 -1
  481. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs +8 -12
  482. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs.map +1 -1
  483. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +12 -18
  484. app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -4
  485. app-ng-runtime/mobile/components/device/camera/esm2020/camera.component.mjs +9 -13
  486. app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs +7 -13
  487. app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs.map +1 -1
  488. app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs +7 -11
  489. app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs.map +1 -1
  490. app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +3 -6
  491. app-ng-runtime/mobile/components/page/mobile-navbar/esm2020/mobile-navbar.component.mjs +6 -9
  492. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs +4 -7
  493. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs.map +1 -1
  494. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs +4 -7
  495. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs.map +1 -1
  496. app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +3 -4
  497. app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +32 -36
  498. app-ng-runtime/mobile/components/page/tab-bar/esm2020/tabbar.component.mjs +8 -13
  499. app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs +7 -11
  500. app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs.map +1 -1
  501. app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs +7 -11
  502. app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs.map +1 -1
  503. app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -4
  504. app-ng-runtime/package.json +1 -1
@@ -1,13 +1,12 @@
1
- import { Component, HostListener, Injector, Optional } from '@angular/core';
1
+ import { Component, HostListener, Injector } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
3
- import { setListClass, UserDefinedExecutionContext } from '@wm/core';
3
+ import { setListClass } from '@wm/core';
4
4
  import { provideAs, provideAsWidgetRef, styler } from '@wm/components/base';
5
5
  import { DatasetAwareFormComponent } from '../dataset-aware-form.component';
6
6
  import { registerProps } from '../checkboxset/checkboxset.props';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "@wm/core";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "@wm/components/base";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@wm/components/base";
11
10
  const _c0 = ["wmCheckboxset", ""];
12
11
  const _c1 = function (a0) { return { "disabled": a0 }; };
13
12
  function CheckboxsetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf & 1) {
@@ -163,9 +162,8 @@ function CheckboxsetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
163
162
  const DEFAULT_CLS = 'app-checkboxset list-group inline';
164
163
  const WIDGET_CONFIG = { widgetType: 'wm-checkboxset', hostClass: DEFAULT_CLS };
165
164
  export class CheckboxsetComponent extends DatasetAwareFormComponent {
166
- constructor(inj, _viewParent) {
167
- super(inj, WIDGET_CONFIG, _viewParent);
168
- this._viewParent = _viewParent;
165
+ constructor(inj) {
166
+ super(inj, WIDGET_CONFIG);
169
167
  this.layout = '';
170
168
  styler(this.nativeElement, this);
171
169
  this.multiple = true;
@@ -221,7 +219,7 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
221
219
  }
222
220
  }
223
221
  CheckboxsetComponent.initializeProps = registerProps();
224
- CheckboxsetComponent.ɵfac = function CheckboxsetComponent_Factory(t) { return new (t || CheckboxsetComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.UserDefinedExecutionContext, 8)); };
222
+ CheckboxsetComponent.ɵfac = function CheckboxsetComponent_Factory(t) { return new (t || CheckboxsetComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
225
223
  CheckboxsetComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckboxsetComponent, selectors: [["", "wmCheckboxset", ""]], hostBindings: function CheckboxsetComponent_HostBindings(rf, ctx) { if (rf & 1) {
226
224
  i0.ɵɵlistener("keydown.enter", function CheckboxsetComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
227
225
  } }, exportAs: ["wmCheckboxset"], features: [i0.ɵɵProvidersFeature([
@@ -240,7 +238,7 @@ CheckboxsetComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Checkb
240
238
  i0.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
241
239
  i0.ɵɵadvance(1);
242
240
  i0.ɵɵproperty("ngIf", ctx.readonly || ctx.disabled);
243
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.ItemTemplateDirective, i3.PartialParamHandlerDirective, i3.PartialContainerDirective, i3.TextContentDirective], encapsulation: 2 });
241
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.ItemTemplateDirective, i2.PartialParamHandlerDirective, i2.PartialContainerDirective, i2.TextContentDirective], encapsulation: 2 });
244
242
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckboxsetComponent, [{
245
243
  type: Component,
246
244
  args: [{ selector: '[wmCheckboxset]', exportAs: 'wmCheckboxset', providers: [
@@ -248,10 +246,8 @@ CheckboxsetComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Checkb
248
246
  provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
249
247
  provideAsWidgetRef(CheckboxsetComponent)
250
248
  ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
251
- }], function () { return [{ type: i0.Injector }, { type: i1.UserDefinedExecutionContext, decorators: [{
252
- type: Optional
253
- }] }]; }, { onKeyDown: [{
249
+ }], function () { return [{ type: i0.Injector }]; }, { onKeyDown: [{
254
250
  type: HostListener,
255
251
  args: ['keydown.enter', ['$event', '"ENTER"']]
256
252
  }] }); })();
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94c2V0L2NoZWNrYm94c2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveHNldC9jaGVja2JveHNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQW9CLFlBQVksRUFBZSwyQkFBMkIsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuRyxPQUFPLEVBQW9FLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDaEssT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztJQ0F6RCxnQ0FBeUg7SUFDckgsMkJBRzJFLGVBQUE7SUFFL0UsaUJBQVE7Ozs7OztJQU44Qyx5RkFBNkMsd0JBQUE7SUFDeEYsZUFBa0M7SUFBbEMsdURBQWtDLDZCQUFBLGdEQUFBLHNCQUFBLDZCQUFBLDZCQUFBO0lBQWlCLHlDQUE0QixrQ0FBQSx5QkFBQTtJQUloRSxlQUEwQjtJQUExQiwyQ0FBMEI7OztJQUdwRCxpQ0FBb0c7SUFDaEcsMkJBRzJFLGVBQUE7SUFFL0UsaUJBQVE7Ozs7OztJQU42Qyx5RkFBNkM7SUFDdkYsZUFBa0M7SUFBbEMs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bXBvcnQge0F0dHJpYnV0ZSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtBcHBEZWZhdWx0cywgbm9vcCwgc2V0TGlzdENsYXNzLCBzd2l0Y2hDbGFzcywgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0fSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBjb252ZXJ0RGF0YVRvT2JqZWN0LCBJV2lkZ2V0Q29uZmlnLCBncm91cERhdGEsIGhhbmRsZUhlYWRlckNsaWNrLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyLCB0b2dnbGVBbGxIZWFkZXJzIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YXNldC1hd2FyZS1mb3JtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuLi9jaGVja2JveHNldC9jaGVja2JveHNldC5wcm9wcyc7XG5cbmRlY2xhcmUgY29uc3QgXywgJDtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWNoZWNrYm94c2V0IGxpc3QtZ3JvdXAgaW5saW5lJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7d2lkZ2V0VHlwZTogJ3dtLWNoZWNrYm94c2V0JywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtQ2hlY2tib3hzZXRdJyxcbiAgICBleHBvcnRBczogJ3dtQ2hlY2tib3hzZXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hlY2tib3hzZXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoQ2hlY2tib3hzZXRDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKENoZWNrYm94c2V0Q29tcG9uZW50LCBOR19WQUxJREFUT1JTLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKENoZWNrYm94c2V0Q29tcG9uZW50KVxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBDaGVja2JveHNldENvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgbGF5b3V0ID0gJyc7XG4gICAgcHVibGljIGNvbGxhcHNpYmxlOiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIG1hdGNoOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIGRhdGVmb3JtYXQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXRlbXNwZXJyb3c6IHN0cmluZztcbiAgICBwcml2YXRlIGl0ZW1zUGVyUm93Q2xhc3M6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBPcHRpb25hbCgpIHB1YmxpYyBfdmlld1BhcmVudDogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgX3ZpZXdQYXJlbnQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgb25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBrZXkpIHtcbiAgICAgICAgaWYgKCEkKCRldmVudC50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb25zdHJ1Y3QgdGhlIF9tb2RlbCBmcm9tIHRoZSBjaGVja2VkIGVsZW1lbnRzLlxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnRzID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0OmNoZWNrZWQnKTtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBfLmZvckVhY2goaW5wdXRFbGVtZW50cywgKCRlbCkgPT4ge1xuICAgICAgICAgICAga2V5cy5wdXNoKCRlbC52YWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubW9kZWxCeUtleSA9IGtleXM7XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGFuZCBibHVyIGV2ZW50cyBhcmUgYWRkZWQgZnJvbSB0aGUgdGVtcGxhdGVcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24sIGxvY2FsczogYW55KSB7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghJChlLnRhcmdldCkuaXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsb2NhbHMuJGV2ZW50ID0gZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICghXy5pbmNsdWRlcyhbJ2NoYW5nZSddLCBldmVudE5hbWUpKSB7XG4gICAgICAgICAgICBzdXBlci5oYW5kbGVFdmVudChub2RlLCBldmVudE5hbWUsIGNhbGxiYWNrLCBsb2NhbHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50JywgJ1wiRU5URVJcIiddKVxuICAgIG9uS2V5RG93bigkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC50YXJnZXQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92Pykge1xuXG4gICAgICAgIGlmIChrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAncmVxdWlyZWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2l0ZW1zcGVycm93Jykge1xuICAgICAgICAgICAgc2V0TGlzdENsYXNzKHRoaXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwiIWdyb3VwYnlcIiBbbmdJZkVsc2VdPVwiZ3JvdXBlZExpc3RUZW1wbGF0ZVwiPlxuICAgIDxsaSBbbmdDbGFzc109XCJbJ2NoZWNrYm94JywgJ2FwcC1jaGVja2JveCcsIGl0ZW1jbGFzcywgaXRlbXNQZXJSb3dDbGFzc11cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhc2V0SXRlbXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbd21JdGVtVGVtcGxhdGVdPVwiY29udGVudFwiIFt1c2VyQ29tcG9uZW50UGFyYW1zXT1cIml0ZW1cIiBwYXJ0aWFsQ29udGFpbmVyXG4gICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGl0ZW0ua2V5KVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPCEtLSBEZWZhdWx0IGl0ZW0gdGVtcGxhdGUgLS0+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cIiFjb250ZW50XCIgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiBbdGl0bGVdPVwiaXRlbS5sYWJlbFwiPlxuICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgPlxuICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb24gY3VzdG9tVGVtcGxhdGVcIiBwYXJ0aWFsLWNvbnRhaW5lci10YXJnZXQ+PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvbGk+XG48L25nLXRlbXBsYXRlPlxuPGlucHV0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIGhpZGRlbiBjbGFzcz1cIm1vZGVsLWhvbGRlclwiPlxuPGRpdiAqbmdJZj1cInJlYWRvbmx5IHx8IGRpc2FibGVkXCIgY2xhc3M9XCJyZWFkb25seS13cmFwcGVyXCI+PC9kaXY+XG5cbjwhLS0gVGhpcyB0ZW1wbGF0ZSB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIGdyb3VwYnkgaXMgc3BlY2lmaWVkLiAtLT5cbjxuZy10ZW1wbGF0ZSAjZ3JvdXBlZExpc3RUZW1wbGF0ZT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGdyb3VwT2JqIG9mIGdyb3VwZWREYXRhXCIgY2xhc3M9XCJhcHAtbGlzdC1pdGVtLWdyb3VwXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJpdGVtLWdyb3VwXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWhlYWRlclwiIChjbGljayk9XCJoYW5kbGVIZWFkZXJDbGljaygkZXZlbnQpXCIgW3RpdGxlXT1cImdyb3VwT2JqLmtleVwiIFtuZ0NsYXNzXT1cInsnY29sbGFwc2libGUtY29udGVudCc6IGNvbGxhcHNpYmxlfVwiPlxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImdyb3VwLXRpdGxlXCI+e3tncm91cE9iai5rZXl9fVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWFjdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJhcHAtaWNvbiB3aSBhY3Rpb24gd2ktY2hldnJvbi11cFwiICpuZ0lmPVwiY29sbGFwc2libGVcIiB0aXRsZT1cInt7YXBwTG9jYWxlLkxBQkVMX0NPTExBUFNFfX0ve3thcHBMb2NhbGUuTEFCRUxfRVhQQU5EfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3djb3VudFwiIGNsYXNzPVwibGFiZWwgbGFiZWwtZGVmYXVsdFwiIFt0ZXh0Q29udGVudF09XCJncm91cE9iai5kYXRhLmxlbmd0aFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBPYmouZGF0YTsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsnY2hlY2tib3gnLCAnYXBwLWNoZWNrYm94JywgJ2dyb3VwLWxpc3QtaXRlbScsIGl0ZW1jbGFzcywgaXRlbXNQZXJSb3dDbGFzc11cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW3dtSXRlbVRlbXBsYXRlXT1cImNvbnRlbnRcIiBbdXNlckNvbXBvbmVudFBhcmFtc109XCJpdGVtXCIgcGFydGlhbENvbnRhaW5lclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBEZWZhdWx0IGl0ZW0gdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWNvbnRlbnRcIiBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiIFt0aXRsZV09XCJpdGVtLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgdHlwZT1cImNoZWNrYm94XCIgYXJpYS1sYWJlbD1cImNoZWNrYm94IGdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwhLS0gQ3VzdG9tIHBhcnRpYWwgdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJjaGVja2JveFwiIGFyaWEtbGFiZWw9XCJjaGVja2JveCBncm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgcGFydGlhbC1jb250YWluZXItdGFyZ2V0Pjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94c2V0L2NoZWNrYm94c2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveHNldC9jaGVja2JveHNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBb0IsWUFBWSxFQUEyQyxNQUFNLFVBQVUsQ0FBQztBQUNuRyxPQUFPLEVBQW9FLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDaEssT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0lDQXpELGdDQUF5SDtJQUNySCwyQkFHMkUsZUFBQTtJQUUvRSxpQkFBUTs7Ozs7O0lBTjhDLHlGQUE2Qyx3QkFBQTtJQUN4RixlQUFrQztJQUFsQyx1REFBa0MsNkJBQUEsZ0RBQUEsc0JBQUEsNkJBQUEsNkJBQUE7SUFBaUIseUNBQTRCLGtDQUFBLHlCQUFBO0lBSWhFLGVBQTBCO0lBQTFCLDJDQUEwQjs7O0lBR3BELGlDQUFvRztJQUNoRywyQkFHMkUsZUFBQTtJQUUvRSxpQkFBUTs7Ozs7O0lBTjZDLHlGQUE2QztJQUN2RixlQUFrQztJQUFsQyx1REFBa0MsNkJBQUEsZ0RBQUEsc0JB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RTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLEdBQUcsS0FBSyxhQUFhLEVBQUU7WUFDdkIsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO2FBQU07WUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN2QztJQUNMLENBQUM7O0FBNUVNLG9DQUFlLEdBQUcsYUFBYSxFQUFFLENBQUM7d0ZBRGhDLG9CQUFvQjt1RUFBcEIsb0JBQW9CO3VIQUFwQixzQkFBaUIsT0FBTyxDQUFDO3VFQVB2QjtZQUNQLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUM7WUFDeEQsU0FBUyxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUM7WUFDcEQsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7U0FDM0M7UUN0QkwscUZBdUJjO1FBQ2QsMkJBQXFFO1FBQ3JFLHFFQUFpRTtRQUdqRSxzSEFtQ2M7OztRQS9ERCxtQ0FBaUIsaUJBQUE7UUF3QnZCLGVBQWlDO1FBQWpDLHVEQUFpQztRQUNsQyxlQUEwQjtRQUExQixtREFBMEI7O3VGREFuQixvQkFBb0I7Y0FYaEMsU0FBUzsyQkFDSSxpQkFBaUIsWUFDakIsZUFBZSxhQUVkO29CQUNQLFNBQVMsdUJBQXVCLGlCQUFpQixFQUFFLElBQUksQ0FBQztvQkFDeEQsU0FBUyx1QkFBdUIsYUFBYSxFQUFFLElBQUksQ0FBQztvQkFDcEQsa0JBQWtCLHNCQUFzQjtpQkFDM0M7MkRBNkRELFNBQVM7a0JBRFIsWUFBWTttQkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdHRyaWJ1dGUsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIE5HX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7QXBwRGVmYXVsdHMsIG5vb3AsIHNldExpc3RDbGFzcywgc3dpdGNoQ2xhc3MsIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgY29udmVydERhdGFUb09iamVjdCwgSVdpZGdldENvbmZpZywgZ3JvdXBEYXRhLCBoYW5kbGVIZWFkZXJDbGljaywgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciwgdG9nZ2xlQWxsSGVhZGVycyB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGFzZXQtYXdhcmUtZm9ybS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi4vY2hlY2tib3hzZXQvY2hlY2tib3hzZXQucHJvcHMnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1jaGVja2JveHNldCBsaXN0LWdyb3VwIGlubGluZSc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge3dpZGdldFR5cGU6ICd3bS1jaGVja2JveHNldCcsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bUNoZWNrYm94c2V0XScsXG4gICAgZXhwb3J0QXM6ICd3bUNoZWNrYm94c2V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoZWNrYm94c2V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKENoZWNrYm94c2V0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhDaGVja2JveHNldENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihDaGVja2JveHNldENvbXBvbmVudClcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hzZXRDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGxheW91dCA9ICcnO1xuICAgIHB1YmxpYyBjb2xsYXBzaWJsZTogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBtYXRjaDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBkYXRlZm9ybWF0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGl0ZW1zcGVycm93OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpdGVtc1BlclJvd0NsYXNzOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRyk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMpO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGtleSkge1xuICAgICAgICBpZiAoISQoJGV2ZW50LnRhcmdldCkuaXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnN0cnVjdCB0aGUgX21vZGVsIGZyb20gdGhlIGNoZWNrZWQgZWxlbWVudHMuXG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudHMgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQ6Y2hlY2tlZCcpO1xuICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgIF8uZm9yRWFjaChpbnB1dEVsZW1lbnRzLCAoJGVsKSA9PiB7XG4gICAgICAgICAgICBrZXlzLnB1c2goJGVsLnZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0ga2V5cztcblxuICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICAvLyBpbnZva2Ugb24gZGF0YXZhbHVlIGNoYW5nZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgJGV2ZW50IHx8IHt9LCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBjaGFuZ2UgYW5kIGJsdXIgZXZlbnRzIGFyZSBhZGRlZCBmcm9tIHRoZSB0ZW1wbGF0ZVxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgdGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGUudGFyZ2V0KS5pcygnaW5wdXQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxvY2Fscy4kZXZlbnQgPSBlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKCFfLmluY2x1ZGVzKFsnY2hhbmdlJ10sIGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KG5vZGUsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pXG4gICAgb25LZXlEb3duKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJGV2ZW50LnRhcmdldC5jbGljaygpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3Y/KSB7XG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnaXRlbXNwZXJyb3cnKSB7XG4gICAgICAgICAgICBzZXRMaXN0Q2xhc3ModGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhZ3JvdXBieVwiIFtuZ0lmRWxzZV09XCJncm91cGVkTGlzdFRlbXBsYXRlXCI+XG4gICAgPGxpIFtuZ0NsYXNzXT1cIlsnY2hlY2tib3gnLCAnYXBwLWNoZWNrYm94JywgaXRlbWNsYXNzLCBpdGVtc1BlclJvd0NsYXNzXVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFzZXRJdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFt3bUl0ZW1UZW1wbGF0ZV09XCJjb250ZW50XCIgW3VzZXJDb21wb25lbnRQYXJhbXNdPVwiaXRlbVwiIHBhcnRpYWxDb250YWluZXJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwgaXRlbS5rZXkpXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8IS0tIERlZmF1bHQgaXRlbSB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWNvbnRlbnRcIiBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiIFt0aXRsZV09XCJpdGVtLmxhYmVsXCI+XG4gICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJjaGVja2JveFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFthdHRyLmFyaWEtY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8IS0tIEN1c3RvbSBwYXJ0aWFsIHRlbXBsYXRlIC0tPlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJjb250ZW50XCIgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiA+XG4gICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJjaGVja2JveFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFthdHRyLmFyaWEtY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvbiBjdXN0b21UZW1wbGF0ZVwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD48L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG48aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgaGlkZGVuIGNsYXNzPVwibW9kZWwtaG9sZGVyXCI+XG48ZGl2ICpuZ0lmPVwicmVhZG9ubHkgfHwgZGlzYWJsZWRcIiBjbGFzcz1cInJlYWRvbmx5LXdyYXBwZXJcIj48L2Rpdj5cblxuPCEtLSBUaGlzIHRlbXBsYXRlIHdpbGwgYmUgZGlzcGxheWVkIHdoZW4gZ3JvdXBieSBpcyBzcGVjaWZpZWQuIC0tPlxuPG5nLXRlbXBsYXRlICNncm91cGVkTGlzdFRlbXBsYXRlPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZ3JvdXBPYmogb2YgZ3JvdXBlZERhdGFcIiBjbGFzcz1cImFwcC1saXN0LWl0ZW0tZ3JvdXBcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIml0ZW0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaGVhZGVyXCIgKGNsaWNrKT1cImhhbmRsZUhlYWRlckNsaWNrKCRldmVudClcIiBbdGl0bGVdPVwiZ3JvdXBPYmoua2V5XCIgW25nQ2xhc3NdPVwieydjb2xsYXBzaWJsZS1jb250ZW50JzogY29sbGFwc2libGV9XCI+XG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiZ3JvdXAtdGl0bGVcIj57e2dyb3VwT2JqLmtleX19XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImFwcC1pY29uIHdpIGFjdGlvbiB3aS1jaGV2cm9uLXVwXCIgKm5nSWY9XCJjb2xsYXBzaWJsZVwiIHRpdGxlPVwie3thcHBMb2NhbGUuTEFCRUxfQ09MTEFQU0V9fS97e2FwcExvY2FsZS5MQUJFTF9FWFBBTkR9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd2NvdW50XCIgY2xhc3M9XCJsYWJlbCBsYWJlbC1kZWZhdWx0XCIgW3RleHRDb250ZW50XT1cImdyb3VwT2JqLmRhdGEubGVuZ3RoXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cE9iai5kYXRhOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiWydjaGVja2JveCcsICdhcHAtY2hlY2tib3gnLCAnZ3JvdXAtbGlzdC1pdGVtJywgaXRlbWNsYXNzLCBpdGVtc1BlclJvd0NsYXNzXVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbd21JdGVtVGVtcGxhdGVdPVwiY29udGVudFwiIFt1c2VyQ29tcG9uZW50UGFyYW1zXT1cIml0ZW1cIiBwYXJ0aWFsQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgICA8IS0tIERlZmF1bHQgaXRlbSB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCIhY29udGVudFwiIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgW3RpdGxlXT1cIml0ZW0ubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBhcmlhLWxhYmVsPVwiY2hlY2tib3ggZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjb250ZW50XCIgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiA+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgdHlwZT1cImNoZWNrYm94XCIgYXJpYS1sYWJlbD1cImNoZWNrYm94IGdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBwYXJ0aWFsLWNvbnRhaW5lci10YXJnZXQ+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvbGk+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,9 +1,8 @@
1
- import { ContentChildren, Directive, Injector, Optional } from '@angular/core';
2
- import { addForIdAttributes, switchClass, UserDefinedExecutionContext } from '@wm/core';
1
+ import { ContentChildren, Directive, Injector } from '@angular/core';
2
+ import { addForIdAttributes, switchClass } from '@wm/core';
3
3
  import { APPLY_STYLES_TYPE, provideAsWidgetRef, StylableComponent, styler, WidgetRef } from '@wm/components/base';
4
4
  import { registerProps } from './composite.props';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@wm/core";
7
6
  const DEFAULT_CLS = 'form-group app-composite-widget clearfix';
8
7
  const WIDGET_CONFIG = {
9
8
  widgetType: 'wm-form-group',
@@ -16,9 +15,8 @@ const CAPTION_POSITION = {
16
15
  floating: 'caption-floating'
17
16
  };
18
17
  export class CompositeDirective extends StylableComponent {
19
- constructor(inj, _viewParent) {
20
- super(inj, WIDGET_CONFIG, _viewParent);
21
- this._viewParent = _viewParent;
18
+ constructor(inj) {
19
+ super(inj, WIDGET_CONFIG);
22
20
  styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);
23
21
  }
24
22
  /**
@@ -56,7 +54,7 @@ export class CompositeDirective extends StylableComponent {
56
54
  }
57
55
  }
58
56
  CompositeDirective.initializeProps = registerProps();
59
- CompositeDirective.ɵfac = function CompositeDirective_Factory(t) { return new (t || CompositeDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.UserDefinedExecutionContext, 8)); };
57
+ CompositeDirective.ɵfac = function CompositeDirective_Factory(t) { return new (t || CompositeDirective)(i0.ɵɵdirectiveInject(i0.Injector)); };
60
58
  CompositeDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CompositeDirective, selectors: [["div", "wmComposite", ""]], contentQueries: function CompositeDirective_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
61
59
  i0.ɵɵcontentQuery(dirIndex, WidgetRef, 5);
62
60
  } if (rf & 2) {
@@ -73,10 +71,8 @@ CompositeDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Composit
73
71
  provideAsWidgetRef(CompositeDirective)
74
72
  ]
75
73
  }]
76
- }], function () { return [{ type: i0.Injector }, { type: i1.UserDefinedExecutionContext, decorators: [{
77
- type: Optional
78
- }] }]; }, { componentRefs: [{
74
+ }], function () { return [{ type: i0.Injector }]; }, { componentRefs: [{
79
75
  type: ContentChildren,
80
76
  args: [WidgetRef, { descendants: true }]
81
77
  }] }); })();
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jb21wb3NpdGUvY29tcG9zaXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBSWxELE1BQU0sV0FBVyxHQUFHLDBDQUEwQyxDQUFDO0FBQy9ELE1BQU0sYUFBYSxHQUFrQjtJQUNqQyxVQUFVLEVBQUUsZUFBZTtJQUMzQixTQUFTLEVBQUUsV0FBVztDQUN6QixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRztJQUNyQixJQUFJLEVBQUUsY0FBYztJQUNwQixLQUFLLEVBQUUsZUFBZTtJQUN0QixHQUFHLEVBQUUsYUFBYTtJQUNsQixRQUFRLEVBQUUsa0JBQWtCO0NBQy9CLENBQUM7QUFRRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBUXJELFlBQVksR0FBYSxFQUFxQixXQUF3QztRQUNsRixLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQURHLGdCQUFXLEdBQVgsV0FBVyxDQUE2QjtRQUVsRixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3hCLElBQUksR0FBRyxLQUFLLGlCQUFpQixFQUFFO1lBQzNCLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7YUFBTSxJQUFJLEdBQUcsS0FBSyxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7U0FDeEM7YUFBTTtZQUNILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sNkJBQTZCO1FBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNwRixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDVjtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN6QyxDQUFDOztBQTdDTSxrQ0FBZSxHQUFHLGFBQWEsRUFBRSxDQUFDO29GQURoQyxrQkFBa0I7cUVBQWxCLGtCQUFrQjtvQ0FJVixTQUFTOzs7OzBDQVJmO1lBQ1Asa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7U0FDekM7dUZBRVEsa0JBQWtCO2NBTjlCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixTQUFTLEVBQUU7b0JBQ1Asa0JBQWtCLG9CQUFvQjtpQkFDekM7YUFDSjs7c0JBUytCLFFBQVE7d0JBSmEsYUFBYTtrQkFBN0QsZUFBZTttQkFBQyxTQUFTLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSW5qZWN0b3IsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHthZGRGb3JJZEF0dHJpYnV0ZXMsIHN3aXRjaENsYXNzLCBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHR9IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHsgQVBQTFlfU1RZTEVTX1RZUEUsIElXaWRnZXRDb25maWcsIHByb3ZpZGVBc1dpZGdldFJlZiwgU3R5bGFibGVDb21wb25lbnQsIHN0eWxlciwgV2lkZ2V0UmVmIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL2NvbXBvc2l0ZS5wcm9wcyc7XG5cbmRlY2xhcmUgY29uc3QgJDtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnZm9ybS1ncm91cCBhcHAtY29tcG9zaXRlLXdpZGdldCBjbGVhcmZpeCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1mb3JtLWdyb3VwJyxcbiAgICBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTXG59O1xuXG5jb25zdCBDQVBUSU9OX1BPU0lUSU9OID0ge1xuICAgIGxlZnQ6ICdjYXB0aW9uLWxlZnQnLFxuICAgIHJpZ2h0OiAnY2FwdGlvbi1yaWdodCcsXG4gICAgdG9wOiAnY2FwdGlvbi10b3AnLFxuICAgIGZsb2F0aW5nOiAnY2FwdGlvbi1mbG9hdGluZydcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZGl2W3dtQ29tcG9zaXRlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihDb21wb3NpdGVEaXJlY3RpdmUpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wb3NpdGVEaXJlY3RpdmUgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICAvLyB0aGlzIGlzIHRoZSByZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudCByZWZzIGluc2lkZSB0aGUgZm9ybS1ncm91cFxuICAgIEBDb250ZW50Q2hpbGRyZW4oV2lkZ2V0UmVmLCB7ZGVzY2VuZGFudHM6IHRydWV9KSBjb21wb25lbnRSZWZzO1xuXG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQE9wdGlvbmFsKCkgcHVibGljIF92aWV3UGFyZW50OiBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBfdmlld1BhcmVudCk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMsIEFQUExZX1NUWUxFU19UWVBFLkNPTlRBSU5FUik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhpcyBpcyBvblByb3BlcnR5Q2hhbmdlIGhhbmRsZXIgZm9yIHRoZSBmb3JtLWdyb3VwIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gbnZcbiAgICAgKiBAcGFyYW0gb3ZcbiAgICAgKi9cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdjYXB0aW9ucG9zaXRpb24nKSB7XG4gICAgICAgICAgICBzd2l0Y2hDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsIENBUFRJT05fUE9TSVRJT05bbnZdLCBDQVBUSU9OX1BPU0lUSU9OW292XSk7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVxdWlyZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVkID0gbnY7XG4gICAgICAgICAgICB0aGlzLmFzc2lnblJlcXVpcmVkVG9TdWJDb21wb25lbnRzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRoaXMgbWV0aG9kIGFzc2lnbnMgdGhlIHJlcXVpcmVkIG9uIHRoZSBjb21wb25lbnQvZGlyZWN0aXZlIGJhc2VkIG9uIHRoZSByZXF1aXJlZCBhdHRyaWJ1dGUgb2YgdGhlIGZvcm0tZ3JvdXBcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXNzaWduUmVxdWlyZWRUb1N1YkNvbXBvbmVudHMoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVkICYmIHRoaXMuY29tcG9uZW50UmVmcykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWZzLmZvckVhY2goY29tcG9uZW50UmVmID0+IGNvbXBvbmVudFJlZi53aWRnZXQucmVxdWlyZWQgPSB0cnVlKTtcbiAgICAgICAgICAgIH0sIDUwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIGFkZEZvcklkQXR0cmlidXRlcyh0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIHRoaXMuYXNzaWduUmVxdWlyZWRUb1N1YkNvbXBvbmVudHMoKTtcbiAgICB9XG59XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jb21wb3NpdGUvY29tcG9zaXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQThCLE1BQU0sVUFBVSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJbEQsTUFBTSxXQUFXLEdBQUcsMENBQTBDLENBQUM7QUFDL0QsTUFBTSxhQUFhLEdBQWtCO0lBQ2pDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLFNBQVMsRUFBRSxXQUFXO0NBQ3pCLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHO0lBQ3JCLElBQUksRUFBRSxjQUFjO0lBQ3BCLEtBQUssRUFBRSxlQUFlO0lBQ3RCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLFFBQVEsRUFBRSxrQkFBa0I7Q0FDL0IsQ0FBQztBQVFGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFRckQsWUFBWSxHQUFhO1FBQ3JCLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUN4QixJQUFJLEdBQUcsS0FBSyxpQkFBaUIsRUFBRTtZQUMzQixXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO2FBQU0sSUFBSSxHQUFHLEtBQUssVUFBVSxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1NBQ3hDO2FBQU07WUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNPLDZCQUE2QjtRQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNyQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDcEYsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDekMsQ0FBQzs7QUE3Q00sa0NBQWUsR0FBRyxhQUFhLEVBQUUsQ0FBQztvRkFEaEMsa0JBQWtCO3FFQUFsQixrQkFBa0I7b0NBSVYsU0FBUzs7OzswQ0FSZjtZQUNQLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO1NBQ3pDO3VGQUVRLGtCQUFrQjtjQU45QixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsU0FBUyxFQUFFO29CQUNQLGtCQUFrQixvQkFBb0I7aUJBQ3pDO2FBQ0o7MkRBS29ELGFBQWE7a0JBQTdELGVBQWU7bUJBQUMsU0FBUyxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7YWRkRm9ySWRBdHRyaWJ1dGVzLCBzd2l0Y2hDbGFzcywgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0fSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IEFQUExZX1NUWUxFU19UWVBFLCBJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXNXaWRnZXRSZWYsIFN0eWxhYmxlQ29tcG9uZW50LCBzdHlsZXIsIFdpZGdldFJlZiB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9jb21wb3NpdGUucHJvcHMnO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2Zvcm0tZ3JvdXAgYXBwLWNvbXBvc2l0ZS13aWRnZXQgY2xlYXJmaXgnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tZm9ybS1ncm91cCcsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMU1xufTtcblxuY29uc3QgQ0FQVElPTl9QT1NJVElPTiA9IHtcbiAgICBsZWZ0OiAnY2FwdGlvbi1sZWZ0JyxcbiAgICByaWdodDogJ2NhcHRpb24tcmlnaHQnLFxuICAgIHRvcDogJ2NhcHRpb24tdG9wJyxcbiAgICBmbG9hdGluZzogJ2NhcHRpb24tZmxvYXRpbmcnXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Rpdlt3bUNvbXBvc2l0ZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoQ29tcG9zaXRlRGlyZWN0aXZlKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29tcG9zaXRlRGlyZWN0aXZlIGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgLy8gdGhpcyBpcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgcmVmcyBpbnNpZGUgdGhlIGZvcm0tZ3JvdXBcbiAgICBAQ29udGVudENoaWxkcmVuKFdpZGdldFJlZiwge2Rlc2NlbmRhbnRzOiB0cnVlfSkgY29tcG9uZW50UmVmcztcblxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHKTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcywgQVBQTFlfU1RZTEVTX1RZUEUuQ09OVEFJTkVSKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0aGlzIGlzIG9uUHJvcGVydHlDaGFuZ2UgaGFuZGxlciBmb3IgdGhlIGZvcm0tZ3JvdXAgY29tcG9uZW50XG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEBwYXJhbSBudlxuICAgICAqIEBwYXJhbSBvdlxuICAgICAqL1xuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2NhcHRpb25wb3NpdGlvbicpIHtcbiAgICAgICAgICAgIHN3aXRjaENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgQ0FQVElPTl9QT1NJVElPTltudl0sIENBUFRJT05fUE9TSVRJT05bb3ZdKTtcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWQgPSBudjtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduUmVxdWlyZWRUb1N1YkNvbXBvbmVudHMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhpcyBtZXRob2QgYXNzaWducyB0aGUgcmVxdWlyZWQgb24gdGhlIGNvbXBvbmVudC9kaXJlY3RpdmUgYmFzZWQgb24gdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZSBvZiB0aGUgZm9ybS1ncm91cFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3NpZ25SZXF1aXJlZFRvU3ViQ29tcG9uZW50cygpIHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy5jb21wb25lbnRSZWZzKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZnMuZm9yRWFjaChjb21wb25lbnRSZWYgPT4gY29tcG9uZW50UmVmLndpZGdldC5yZXF1aXJlZCA9IHRydWUpO1xuICAgICAgICAgICAgfSwgNTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgYWRkRm9ySWRBdHRyaWJ1dGVzKHRoaXMubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5hc3NpZ25SZXF1aXJlZFRvU3ViQ29tcG9uZW50cygpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +1,9 @@
1
1
  import { Injector, Attribute, Injectable, Inject } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
- import { AppDefaults, $appDigest, debounce, isDefined, isEqualWithFields, noop, toBoolean, UserDefinedExecutionContext } from '@wm/core';
3
+ import { AppDefaults, $appDigest, debounce, isDefined, isEqualWithFields, noop, toBoolean } from '@wm/core';
4
4
  import { ALLFIELDS, convertDataToObject, extractDataAsArray, getOrderedDataset, getUniqObjsByDataField, handleHeaderClick, toggleAllHeaders, transformFormData, transformDataWithKeys, groupData, ToDatePipe, WidgetConfig } from '@wm/components/base';
5
5
  import { BaseFormCustomComponent } from './base-form-custom.component';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@wm/core";
8
7
  export class DatasetAwareFormComponent extends BaseFormCustomComponent {
9
8
  get modelByKey() {
10
9
  return this._modelByKey;
@@ -32,8 +31,8 @@ export class DatasetAwareFormComponent extends BaseFormCustomComponent {
32
31
  // invoke on datavalue change.
33
32
  this.invokeOnChange(val, undefined, true);
34
33
  }
35
- constructor(inj, config, _viewParent, groupby) {
36
- super(inj, config, _viewParent);
34
+ constructor(inj, config, groupby) {
35
+ super(inj, config);
37
36
  this.groupby = groupby;
38
37
  this.datasetItems = [];
39
38
  this.acceptsArray = false; // set to true if proxyModel on widget accepts array type.
@@ -278,15 +277,15 @@ export class DatasetAwareFormComponent extends BaseFormCustomComponent {
278
277
  }
279
278
  }
280
279
  }
281
- DatasetAwareFormComponent.ɵfac = function DatasetAwareFormComponent_Factory(t) { return new (t || DatasetAwareFormComponent)(i0.ɵɵinject(i0.Injector), i0.ɵɵinject(WidgetConfig), i0.ɵɵinject(i1.UserDefinedExecutionContext), i0.ɵɵinjectAttribute('groupby')); };
280
+ DatasetAwareFormComponent.ɵfac = function DatasetAwareFormComponent_Factory(t) { return new (t || DatasetAwareFormComponent)(i0.ɵɵinject(i0.Injector), i0.ɵɵinject(WidgetConfig), i0.ɵɵinjectAttribute('groupby')); };
282
281
  DatasetAwareFormComponent.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DatasetAwareFormComponent, factory: DatasetAwareFormComponent.ɵfac });
283
282
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DatasetAwareFormComponent, [{
284
283
  type: Injectable
285
284
  }], function () { return [{ type: i0.Injector }, { type: undefined, decorators: [{
286
285
  type: Inject,
287
286
  args: [WidgetConfig]
288
- }] }, { type: i1.UserDefinedExecutionContext }, { type: undefined, decorators: [{
287
+ }] }, { type: undefined, decorators: [{
289
288
  type: Attribute,
290
289
  args: ['groupby']
291
290
  }] }]; }, null); })();
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1hd2FyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxNQUFNLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQ0gsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixJQUFJLEVBQ0osU0FBUyxFQUNULDJCQUEyQixFQUM5QixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFlLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWlCLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BSLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFLdkUsTUFBTSxPQUFnQix5QkFBMEIsU0FBUSx1QkFBdUI7SUE0QzNFLElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSxJQUFXLFVBQVUsQ0FBQyxHQUFRO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdEIsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxh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LElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7WUFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEU7SUFDTCxDQUFDOztrR0F2VmlCLHlCQUF5Qix3Q0E4RUcsWUFBWSxxRUFDekIsU0FBUzsrRUEvRXhCLHlCQUF5QixXQUF6Qix5QkFBeUI7dUZBQXpCLHlCQUF5QjtjQUQ5QyxVQUFVOztzQkErRWdDLE1BQU07dUJBQUMsWUFBWTs7c0JBQ25DLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIEF0dHJpYnV0ZSwgT25Jbml0LCBJbmplY3RhYmxlLCBJbmplY3QsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIEFwcERlZmF1bHRzLFxuICAgICRhcHBEaWdlc3QsXG4gICAgZGVib3VuY2UsXG4gICAgaXNEZWZpbmVkLFxuICAgIGlzRXF1YWxXaXRoRmllbGRzLFxuICAgIG5vb3AsXG4gICAgdG9Cb29sZWFuLFxuICAgIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dFxufSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IEFMTEZJRUxEUywgY29udmVydERhdGFUb09iamVjdCwgRGF0YVNldEl0ZW0sIGV4dHJhY3REYXRhQXNBcnJheSwgZ2V0T3JkZXJlZERhdGFzZXQsIGdldFVuaXFPYmpzQnlEYXRhRmllbGQsIGhhbmRsZUhlYWRlckNsaWNrLCB0b2dnbGVBbGxIZWFkZXJzLCB0cmFuc2Zvcm1Gb3JtRGF0YSwgdHJhbnNmb3JtRGF0YVdpdGhLZXlzLCBncm91cERhdGEsIFRvRGF0ZVBpcGUsIElXaWRnZXRDb25maWcsIFdpZGdldENvbmZpZyB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgQmFzZUZvcm1DdXN0b21Db21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZm9ybS1jdXN0b20uY29tcG9uZW50JztcblxuZGVjbGFyZSBjb25zdCBfO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ3VzdG9tQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgZGF0YXNldDogYW55O1xuICAgIHB1YmxpYyBkYXRhZmllbGQ6IHN0cmluZztcbiAgICBwdWJsaWMgZGlzcGxheWZpZWxkOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc3BsYXlsYWJlbDogc3RyaW5nO1xuICAgIHB1YmxpYyBkaXNwbGF5aW1hZ2VzcmM6IHN0cmluZztcbiAgICBwdWJsaWMgZGlzcGxheWV4cHJlc3Npb246IHN0cmluZztcbiAgICBwdWJsaWMgdXNla2V5czogYm9vbGVhbjtcbiAgICBwdWJsaWMgb3JkZXJieTogc3RyaW5nO1xuICAgIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbjtcbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgcHVibGljIGNvbnRlbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgY29sbGFwc2libGU6IGJvb2xlYW47XG4gICAgcHVibGljIGRhdGVQaXBlO1xuXG4gICAgcHVibGljIGhhbmRsZUhlYWRlckNsaWNrOiAoJGV2ZW50KSA9PiB2b2lkO1xuICAgIHByaXZhdGUgdG9nZ2xlQWxsSGVhZGVyczogdm9pZDtcbiAgICBwdWJsaWMgYXBwRGVmYXVsdHM7XG5cbiAgICBwdWJsaWMgYmluZGRpc3BsYXlleHByZXNzaW9uOiBzdHJpbmc7XG4gICAgcHVibGljIGJpbmRkaXNwbGF5aW1hZ2VzcmM6IHN0cmluZztcbiAgICBwdWJsaWMgYmluZGRpc3BsYXlsYWJlbDogc3RyaW5nO1xuXG4gICAgcHVibGljIGRpc3BsYXlWYWx1ZTogQXJyYXk8c3RyaW5nPiB8IHN0cmluZztcblxuICAgIHB1YmxpYyBkYXRhc2V0SXRlbXM6IERhdGFTZXRJdGVtW10gPSBbXTtcbiAgICBwdWJsaWMgYWNjZXB0c0FycmF5ID0gZmFsc2U7IC8vIHNldCB0byB0cnVlIGlmIHByb3h5TW9kZWwgb24gd2lkZ2V0IGFjY2VwdHMgYXJyYXkgdHlwZS5cbiAgICBwcm90ZWN0ZWQgZGF0YXNldCQgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByb3RlY3RlZCBkYXRhdmFsdWUkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHByb3RlY3RlZCBtYXRjaDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBkYXRlZm9ybWF0OiBzdHJpbmc7XG4gICAgcHVibGljIGdyb3VwZWREYXRhOiBhbnlbXTtcblxuICAgIHByb3RlY3RlZCBfbW9kZWxCeUtleTogYW55O1xuICAgIHB1YmxpYyBfbW9kZWxCeVZhbHVlOiBhbnk7XG4gICAgcHVibGljIF9kZWZhdWx0UXVlcnlJbnZva2VkOiBib29sZWFuOyAvLyBmb3Igc2VhcmNoL2NoaXBzIGlmIGRhdGF2YWx1ZSBpcyBvYnRhaW5lZCBmcm9tIHRoZSBkZWZhdWx0IG4vdyBjYWxsIHRoZW4gc2V0IHRvIHRydWUgYW5kIGRvIG5vdCB1cGRhdGUgdGhlIG1vZGVsQnlLZXlzLlxuXG4gICAgLy8gdGhpcyBmaWVsZCBjb250YWlucyB0aGUgaW5pdGlhbCBkYXRhdmFsdWUgd2hpY2ggbmVlZHMgdG8gYmUgcHJvY2Vzc2VkIG9uY2UgdGhlIGRhdGFzZXQgaXMgYXZhaWxhYmxlXG4gICAgcHVibGljIHRvQmVQcm9jZXNzZWREYXRhdmFsdWU6IGFueTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWJvdW5jZWRJbml0RGF0YXNldEl0ZW1zOiBGdW5jdGlvbjtcbiAgICBwcm90ZWN0ZWQgYWxsb3dlbXB0eSA9IHRydWU7XG4gICAgcHVibGljIGNvbXBhcmVieTogYW55O1xuXG4gICAgcHVibGljIGdldCBtb2RlbEJ5S2V5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9kZWxCeUtleTtcbiAgICB9XG5cbiAgICAvLyB0cmlnZ2VycyBvbiBuZ01vZGVsIGNoYW5nZS4gVGhpcyBmdW5jdGlvbiBleHRyYWN0cyB0aGUgZGF0YXZhbHVlIHZhbHVlLlxuICAgIHB1YmxpYyBzZXQgbW9kZWxCeUtleSh2YWw6IGFueSkge1xuICAgICAgICB0aGlzLnNlbGVjdEJ5S2V5KHZhbCk7XG5cbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5fbW9kZWxCeVZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHVibGljIGdldCBkYXRhdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2RlbEJ5VmFsdWU7XG4gICAgfVxuXG4gICAgLy8gdHJpZ2dlcnMgb24gc2V0dGluZyB0aGUgZGF0YXZhbHVlLiBUaGlzIGZ1bmN0aW9uIGV4dHJhY3RzIHRoZSBtb2RlbCB2YWx1ZS5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHVibGljIHNldCBkYXRhdmFsdWUodmFsOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHZhbCA9IGV4dHJhY3REYXRhQXNBcnJheSh2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX21vZGVsQnlWYWx1ZSA9IHZhbDtcblxuICAgICAgICB0aGlzLnNlbGVjdEJ5VmFsdWUodmFsKTtcblxuICAgICAgICAvLyBjaGFuZ2VzIG9uIHRoZSBkYXRhdmFsdWUgY2FuIGJlIHN1YnNjcmliZWQgdXNpbmcgbGlzdGVuVG9EYXRhdmFsdWVcbiAgICAgICAgdGhpcy5kYXRhdmFsdWUkLm5leHQodmFsKTtcblxuICAgICAgICAvLyBpbnZva2Ugb24gZGF0YXZhbHVlIGNoYW5nZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh2YWwsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsICBASW5qZWN0KFdpZGdldENvbmZpZykgY29uZmlnOiBJV2lkZ2V0Q29uZmlnLCBfdmlld1BhcmVudDogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBAQXR0cmlidXRlKCdncm91cGJ5JykgcHVibGljIGdyb3VwYnk/OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBjb25maWcsIF92aWV3UGFyZW50KTtcbiAgICAgICAgdGhpcy5kYXRlUGlwZSA9IHRoaXMuaW5qLmdldChUb0RhdGVQaXBlKTtcbiAgICAgICAgdGhpcy5hcHBEZWZhdWx0cyA9IHRoaXMuaW5qLmdldChBcHBEZWZhdWx0cyk7XG4gICAgICAgIHRoaXMuYmluZGRpc3BsYXlleHByZXNzaW9uID0gdGhpcy5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlzcGxheWV4cHJlc3Npb24uYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRkaXNwbGF5aW1hZ2VzcmMgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNwbGF5aW1hZ2VzcmMuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRkaXNwbGF5bGFiZWwgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNwbGF5bGFiZWwuYmluZCcpO1xuXG4gICAgICAgIHRoaXMuX2RlYm91bmNlZEluaXREYXRhc2V0SXRlbXMgPSBkZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXREYXRhc2V0SXRlbXMoKTtcbiAgICAgICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICAgICAgfSwgMTUwKTtcbiAgICAgICAgdGhpcy5oYW5kbGVIZWFkZXJDbGljayA9IG5vb3A7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBzZXRzIHRoZSBfZGF0YXZhbHVlIHZhbHVlIGZyb20gdGhlIG1vZGVsIGFuZCBzZXRzIHRoZSBzZWxlY3RlZCBmbGFnIHdoZW4gaXRlbSBpcyBmb3VuZC5cbiAgICAgKiBIZXJlIG1vZGVsIGlzIHRoZSB2YWx1ZSBvYnRhaW5lZCBmcm9tIG5nTW9kZWwuXG4gICAgICogQHBhcmFtIGtleXMgcmVwcmVzZW50IHRoZSBtb2RlbC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXkoa2V5cykge1xuICAgICAgICB0aGlzLnJlc2V0RGF0YXNldEl0ZW1zKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmICFfLmlzQXJyYXkoa2V5cykpIHtcbiAgICAgICAgICAgIGtleXMgPSBba2V5c107XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdGhlIF9tb2RlbEJ5S2V5IHRvIHRoZSBtb2RpZmllZCBrZXlzLlxuICAgICAgICB0aGlzLl9tb2RlbEJ5S2V5ID0ga2V5cztcblxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5fbW9kZWxCeVZhbHVlID0gW107XG4gICAgICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtQnlLZXkgPSBfLmZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBub3QgdHJpcGxlIGVxdWFsLCBhcyB0aGUgaW5zdGFuY2UgdHlwZSBjYW4gYmUgZGlmZmVyZW50LlxuICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IHZhbHVlIGNvbXBhcmlzb24gc2hvdWxkIGJlIGRvbmUuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfLnRvU3RyaW5nKGl0ZW0ua2V5KSA9PT0gXy50b1N0cmluZyhrZXkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChpdGVtQnlLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbUJ5S2V5LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW9kZWxCeVZhbHVlID0gWy4uLnRoaXMuX21vZGVsQnlWYWx1ZSwgaXRlbUJ5S2V5LnZhbHVlXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGVsQnlWYWx1ZSA9ICcnO1xuICAgICAgICAgICAgY29uc3QgaXRlbUJ5S2V5ID0gXy5maW5kKHRoaXMuZGF0YXNldEl0ZW1zLCBpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAvLyBub3QgdHJpcGxlIGVxdWFsLCBhcyB0aGUgaW5zdGFuY2UgdHlwZSBjYW4gYmUgZGlmZmVyZW50LlxuICAgICAgICAgICAgICAgIC8vIG9ubHkgdmFsdWUgY29tcGFyaXNvbiBzaG91bGQgYmUgZG9uZS5cbiAgICAgICAgICAgICAgICByZXR1cm4gXy50b1N0cmluZyhpdGVtLmtleSkgPT09IF8udG9TdHJpbmcoa2V5cyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChpdGVtQnlLZXkpIHtcbiAgICAgICAgICAgICAgICBpdGVtQnlLZXkuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX21vZGVsQnlWYWx1ZSA9IGl0ZW1CeUtleS52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXREaXNwbGF5VmFsdWVzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBzZXRzIHRoZSBfbW9kZWwgdmFsdWUgZnJvbSB0aGUgZGF0YXZhbHVlIChzZWxlY3RlZHZhbHVlcykgYW5kIHNldHMgdGhlIHNlbGVjdGVkIGZsYWcgd2hlbiBpdGVtIGlzIGZvdW5kLlxuICAgICAqIGRhdGF2YWx1ZSBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBvciBhIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgZGlzcGxheUZpZWxkIChmb3Igc3VwcG9zZTogb2JqZWN0IGluIGNhc2Ugb2YgQUxMRklFTERTKS5cbiAgICAgKiBJZiBhY2NlcHRzQXJyYXkgaXMgdHJ1ZSwgdGhlIG1vZGVsIGFsd2F5cyBhY2NlcHRzIGFuIGFycmF5LlxuICAgICAqIEZvciBleGFtcGxlLCBzZWxlY3QgYWx3YXlzIGFjY2VwdHMgbW9kZWwgYXMgYXJyYXkgd2hldGhlciBtdWx0aXBsZSBzZWxlY3QgaXMgdHJ1ZSBvciBmYWxzZS5cbiAgICAgKiBAcGFyYW0gdmFsdWVzIHJlcHJlc2VudCB0aGUgZGF0YXZhbHVlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzZWxlY3RCeVZhbHVlKHZhbHVlczogQXJyYXk8YW55PiB8IGFueSkge1xuICAgICAgICB0aGlzLnJlc2V0RGF0YXNldEl0ZW1zKCk7XG5cbiAgICAgICAgLy8gaWYgZGF0YXZhbHVlIGlzIG5vdCBkZWZpbmVkIG9yIGVtcHR5IHRoZW4gc2V0IHRoZSBtb2RlbCBhcyB1bmRlZmluZWQuXG4gICAgICAgIGlmICghaXNEZWZpbmVkKHZhbHVlcykgfHwgdmFsdWVzID09PSAnJyB8fCBfLmlzTnVsbCh2YWx1ZXMpIHx8ICh2YWx1ZXMgaW5zdGFuY2VvZiBBcnJheSAmJiAhdmFsdWVzLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGVsQnlLZXkgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAvLyBkbyBub3QgcmV0dXJuIHdoZW4gYWxsb3dlbXB0eSBpcyBzZXQgdG8gdHJ1ZS5cbiAgICAgICAgICAgIGlmICghdGhpcy5hbGxvd2VtcHR5IHx8ICFpc0RlZmluZWQodmFsdWVzKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFjY2VwdHNBcnJheSAmJiAhXy5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IHRoaXMuYWxsb3dlbXB0eSA/IFt2YWx1ZXNdIDogZXh0cmFjdERhdGFBc0FycmF5KHZhbHVlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBwcmVzZXJ2ZSB0aGUgZGF0YXZhbHVlIGlmIGRhdGFzZXRJdGVtcyBhcmUgZW1wdHkuXG4gICAgICAgIGlmICghdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoICYmIGlzRGVmaW5lZCh2YWx1ZXMpKSB7XG4gICAgICAgICAgICB0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWUgPSB2YWx1ZXM7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWx0ZXJGaWVsZCA9IHRoaXMuZGF0YWZpZWxkID09PSBBTExGSUVMRFMgPyAnZGF0YU9iamVjdCcgOiAna2V5JztcblxuICAgICAgICBpZiAoXy5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGVsQnlLZXkgPSBbXTtcbiAgICAgICAgICAgIHZhbHVlcy5mb3JFYWNoKHZhbCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUJ5VmFsdWUgPSBfLmZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyRmllbGQgPT09ICdkYXRhT2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tcGFyZWJ5ICYmIHRoaXMuY29tcGFyZWJ5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpc0VxdWFsV2l0aEZpZWxkcyhpdGVtW2ZpbHRlckZpZWxkXSwgdmFsLCB0aGlzLmNvbXBhcmVieSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfLmlzT2JqZWN0KGl0ZW0udmFsdWUpID8gXy5pc0VxdWFsKGl0ZW0udmFsdWUsIHZhbCkgOiAoXy50b1N0cmluZyhpdGVtLnZhbHVlKSkudG9Mb3dlckNhc2UoKSA9PT0gKF8udG9TdHJpbmcodmFsKSkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1CeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1CeVZhbHVlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW9kZWxCeUtleS5wdXNoKGl0ZW1CeVZhbHVlLmtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9tb2RlbEJ5S2V5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaXRlbUJ5VmFsdWUgPSBfLmZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZCA9PT0gJ2RhdGFPYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbXBhcmVieSAmJiB0aGlzLmNvbXBhcmVieS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpc0VxdWFsV2l0aEZpZWxkcyhpdGVtW2ZpbHRlckZpZWxkXSwgdmFsdWVzLCB0aGlzLmNvbXBhcmVieSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIChfLmlzT2JqZWN0KGl0ZW0udmFsdWUpICA/IF8uaXNFcXVhbChpdGVtLnZhbHVlLCB2YWx1ZXMpIDogKF8udG9TdHJpbmcoaXRlbS52YWx1ZSkpLnRvTG93ZXJDYXNlKCkgPT09IChfLnRvU3RyaW5nKHZhbHVlcykpLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoaXRlbUJ5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpdGVtQnlWYWx1ZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW9kZWxCeUtleSA9IGl0ZW1CeVZhbHVlLmtleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBkZWxheWluZyB0aGUgZGF0YXZhbHVlIHVwZGF0ZSBhcyB0aGUgd2lkZ2V0cyBpbiBsaXZlZm9ybSBhcmUgaGF2aW5nIGRhdGF2YWx1ZSBhcyB1bmRlZmluZWQgYW5kIG5vdCB0aGUgZGVmYXVsdCBwcm92aWRlZCB2YWx1ZVxuICAgICAgICAvLyBiZWNhdXNlIGRhdGF2YWx1ZSBpcyB1cGRhdGVkIGxhdGVyIHdoZW4gbmV3IGRhdGFzZXQgaXMgYXZhaWxhYmxlLlxuICAgICAgICB0aGlzLl9kZWJvdW5jZURhdGF2YWx1ZVVwZGF0aW9uKHZhbHVlcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kZWJvdW5jZURhdGF2YWx1ZVVwZGF0aW9uID0gXy5kZWJvdW5jZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIC8vIGlmIG5vIGl0ZW0gaXMgZm91bmQgaW4gZGF0YXNldEl0ZW1zLCB3YWl0IHVudGlsbCB0aGUgZGF0YXNldCB1cGRhdGVzIGJ5IHByZXNlcnZpbmcgdGhlIGRhdGF2YWx1ZSBpbiB0b0JlUHJvY2Vzc2VkRGF0YXZhbHVlLlxuICAgICAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLl9tb2RlbEJ5S2V5KSB8fCAoXy5pc0FycmF5KHRoaXMuX21vZGVsQnlLZXkpICYmICF0aGlzLl9tb2RlbEJ5S2V5Lmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHRoaXMudG9CZVByb2Nlc3NlZERhdGF2YWx1ZSA9IHZhbHVlcztcbiAgICAgICAgICAgIHRoaXMuX21vZGVsQnlWYWx1ZSA9ICcnO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRGVmaW5lZCh0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBvYnRhaW4gdGhlIGZpcnN0IGFycmF5IHZhbHVlIHdoZW4gbXVsdGlwbGUgaXMgc2V0IHRvIGZhbHNlLlxuICAgICAgICAgICAgLy8gc2V0IHRoZSBtb2RlbEJ5VmFsdWUgb25seSB3aGVuIHVuZGVmaW5lZC5cbiAgICAgICAgICAgIGlmICghaXNEZWZpbmVkKHRoaXMuX21vZGVsQnlWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb2RlbEJ5VmFsdWUgPSAoIXRoaXMubXVsdGlwbGUgJiYgXy5pc0FycmF5KHRoaXMudG9CZVByb2Nlc3NlZERhdGF2YWx1ZSkpID8gdGhpcy50b0JlUHJvY2Vzc2VkRGF0YXZhbHVlWzBdIDogdGhpcy50b0JlUHJvY2Vzc2VkRGF0YXZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50b0JlUHJvY2Vzc2VkRGF0YXZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0RGlzcGxheVZhbHVlcygpO1xuICAgIH0sIDE1MCk7XG5cbiAgICAvLyBVcGRhdGVzIHRoZSBkaXNwbGF5VmFsdWUgcHJvcGVydHkuXG4gICAgcHJvdGVjdGVkIGluaXREaXNwbGF5VmFsdWVzKCkge1xuICAgICAgICBjb25zdCBkaXNwbGF5VmFsdWVzID0gW107XG4gICAgICAgIHRoaXMuZGF0YXNldEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZXMucHVzaChpdGVtLmxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLm11bHRpcGxlID8gZGlzcGxheVZhbHVlcyA6IGRpc3BsYXlWYWx1ZXNbMF0gfHwgJyc7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBwYXJzZXMgdGhlIGRhdGFzZXQgYW5kIGV4dHJhY3RzIHRoZSBkaXNwbGF5T3B0aW9ucyBmcm9tIHBhcnNlZCBkYXRhc2V0LlxuICAgIHByb3RlY3RlZCBpbml0RGF0YXNldEl0ZW1zKCkge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YXNldCB8fCBfLmlzRW1wdHkodGhpcy5kYXRhc2V0KSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhc2V0SXRlbXMgPSBbXTtcbiAgICAgICAgICAgIC8vIG5vdGlmeSB0aGUgZGF0YXNldCBsaXN0ZW5lcnNcbiAgICAgICAgICAgIHRoaXMuZGF0YXNldCQubmV4dCh0aGlzLmRhdGFzZXRJdGVtcyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb252ZXJ0IGFueSBkYXRhc2V0IHRvIHRoZSBvYmplY3QgZm9ybWF0LlxuICAgICAgICBjb25zdCBvcmRlcmVkRGF0YXNldCA9IGdldE9yZGVyZWREYXRhc2V0KGNvbnZlcnREYXRhVG9PYmplY3QodGhpcy5kYXRhc2V0KSwgdGhpcy5vcmRlcmJ5KTtcblxuICAgICAgICBpZiAodGhpcy51c2VrZXlzKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFzZXRJdGVtcyA9IHRyYW5zZm9ybURhdGFXaXRoS2V5cyhvcmRlcmVkRGF0YXNldCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5T3B0aW9ucyA9IHRyYW5zZm9ybUZvcm1EYXRhKHRoaXMudmlld1BhcmVudCwgb3JkZXJlZERhdGFzZXQsIHRoaXMuZGF0YWZpZWxkLCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkOiB0aGlzLmRpc3BsYXlmaWVsZCB8fCB0aGlzLmRpc3BsYXlsYWJlbCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5RXhwcjogdGhpcy5kaXNwbGF5ZXhwcmVzc2lvbixcbiAgICAgICAgICAgICAgICBiaW5kRGlzcGxheUV4cHI6IHRoaXMuYmluZGRpc3BsYXlleHByZXNzaW9uIHx8IHRoaXMuYmluZGRpc3BsYXlsYWJlbCxcbiAgICAgICAgICAgICAgICBiaW5kRGlzcGxheUltZ1NyYzogdGhpcy5iaW5kZGlzcGxheWltYWdlc3JjLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlJbWdTcmM6IHRoaXMuZGlzcGxheWltYWdlc3JjXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIGdldCB0aGUgdW5pcXVlIG9iamVjdHMgb3V0IG9mIHRoZSBleHRyYWN0ZWQgZGF0YS4gTm90aWZ5IGNoYW5nZSBpbiBkYXRhc2V0SXRlbXMgdXNpbmcgWy4uLmRhdGFzZXRJdGVtc10gbm90YXRpb25cbiAgICAgICAgICAgIHRoaXMuZGF0YXNldEl0ZW1zID0gWy4uLmdldFVuaXFPYmpzQnlEYXRhRmllbGQoZGlzcGxheU9wdGlvbnMsIHRoaXMuZGF0YWZpZWxkLCB0aGlzLmRpc3BsYXlmaWVsZCB8fCB0aGlzLmRpc3BsYXlsYWJlbCwgdG9Cb29sZWFuKHRoaXMuYWxsb3dlbXB0eSkpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucG9zdERhdGFzZXRJdGVtc0luaXQoKTtcbiAgICB9XG5cbiAgICAvLyBPbmNlIHRoZSBkYXRhc2V0SXRlbXMgYXJlIHJlYWR5LCBzZXQgdGhlIHByb3h5TW9kZWwgYnkgdXNpbmcgZGF0YXZhbHVlLlxuICAgIHByb3RlY3RlZCBwb3N0RGF0YXNldEl0ZW1zSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5fZGVmYXVsdFF1ZXJ5SW52b2tlZCkge1xuICAgICAgICAgICAgLy8gdXNlIHRoZSBsYXRlc3Qgb2YgdG9CZVByb2Nlc3NlZERhdGF2YWx1ZSwgZGF0YXZhbHVlXG4gICAgICAgICAgICBjb25zdCBfZGF0YXZhbHVlID0gXy5pc0VtcHR5KHRoaXMudG9CZVByb2Nlc3NlZERhdGF2YWx1ZSkgPyB0aGlzLmRhdGF2YWx1ZSA6IHRoaXMudG9CZVByb2Nlc3NlZERhdGF2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0QnlWYWx1ZShfZGF0YXZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBub3RpZnkgdGhlIGRhdGFzZXQgbGlzdGVuZXJzXG4gICAgICAgIHRoaXMuZGF0YXNldCQubmV4dCh0aGlzLmRhdGFzZXRJdGVtcyk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgdGhlIHNlbGVjdGVkIGZsYWcgb24gZGF0YXNldEl0ZW1zIHRvIGZhbHNlLlxuICAgIHByb3RlY3RlZCByZXNldERhdGFzZXRJdGVtcygpIHtcbiAgICAgICAgdGhpcy5kYXRhc2V0SXRlbXMuZm9yRWFjaChpdGVtID0+IGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFRlbXBsYXRlKHBhcnRpYWxOYW1lKSB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHBhcnRpYWxOYW1lO1xuICAgICAgICBpZiAodGhpcy52aWV3UGFyZW50ICYmIHRoaXMudmlld1BhcmVudC5wcmVmYWJOYW1lKSB7XG4gICAgICAgICAgICB0aGlzWydwcmVmYWJOYW1lJ10gPSB0aGlzLnZpZXdQYXJlbnQucHJlZmFiTmFtZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBnZXRHcm91cGVkRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCA/IGdyb3VwRGF0YSh0aGlzLCBjb252ZXJ0RGF0YVRvT2JqZWN0KHRoaXMuZGF0YXNldEl0ZW1zKSwgdGhpcy5ncm91cGJ5LCB0aGlzLm1hdGNoLCB0aGlzLm9yZGVyYnksIHRoaXMuZGF0ZWZvcm1hdCwgdGhpcy5kYXRlUGlwZSwgJ2RhdGFPYmplY3QnLCB0aGlzLmFwcERlZmF1bHRzKSA6IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGF0YXNldFN1YnNjcmlwdGlvbigpIHtcbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXNldCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBlZERhdGEgPSB0aGlzLmdldEdyb3VwZWREYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGRhdGFzZXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEdyb3VwRGF0YSgpIHtcbiAgICAgICAgdGhpcy5kYXRhc2V0U3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIC8vIElmIGdyb3VwYnkgaXMgc2V0LCBnZXQgdGhlIGdyb3VwZWREYXRhIGZyb20gdGhlIGRhdGFzZXRJdGVtcy5cbiAgICAgICAgdGhpcy5ncm91cGVkRGF0YSA9IHRoaXMuZ2V0R3JvdXBlZERhdGEoKTtcbiAgICB9XG5cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgY2FzZSAnZGF0YXNldCc6XG4gICAgICAgICAgICBjYXNlICdkYXRhZmllbGQnOlxuICAgICAgICAgICAgY2FzZSAnZGlzcGxheWZpZWxkJzpcbiAgICAgICAgICAgIGNhc2UgJ2Rpc3BsYXlsYWJlbCc6XG4gICAgICAgICAgICBjYXNlICdkaXNwbGF5ZXhwcmVzc2lvbic6XG4gICAgICAgICAgICBjYXNlICdvcmRlcmJ5JzpcbiAgICAgICAgICAgIGNhc2UgJ3VzZWtleXMnOlxuICAgICAgICAgICAgICAgIHRoaXMuX2RlYm91bmNlZEluaXREYXRhc2V0SXRlbXMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgICAgIGNhc2UgJ2RhdGF2YWx1ZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5kYXRhdmFsdWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZ3JvdXBieSc6XG4gICAgICAgICAgICBjYXNlICdtYXRjaCc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMud2lkZ2V0VHlwZSAhPT0gJ3dtLXNlYXJjaCcgJiYgdGhpcy53aWRnZXRUeXBlICE9PSAnd20tY2hpcHMnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0R3JvdXBEYXRhKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBieSAmJiAodGhpcy53aWRnZXRUeXBlICE9PSAnd20tc2VhcmNoJyAmJiB0aGlzLndpZGdldFR5cGUgIT09ICd3bS1jaGlwcycpKSB7XG4gICAgICAgICAgICB0aGlzLnNldEdyb3VwRGF0YSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFkZGluZyB0aGUgaGFuZGxlciBmb3IgaGVhZGVyIGNsaWNrIGFuZCB0b2dnbGUgaGVhZGVycy5cbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBieSAmJiB0aGlzLmNvbGxhcHNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUhlYWRlckNsaWNrID0gaGFuZGxlSGVhZGVyQ2xpY2s7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZUFsbEhlYWRlcnMgPSB0b2dnbGVBbGxIZWFkZXJzLmJpbmQodW5kZWZpbmVkLCB0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1hd2FyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxNQUFNLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQ0gsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixJQUFJLEVBQ0osU0FBUyxFQUVaLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQWUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBaUIsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcFIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBS3ZFLE1BQU0sT0FBZ0IseUJBQTBCLFNBQVEsdUJBQXVCO0lBNEMzRSxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsSUFBVyxVQUFVLENBQUMsR0FBUTtRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsYUFBYTtJQUNiLElBQVcs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QUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNsRTtJQUNMLENBQUM7O2tHQXZWaUIseUJBQXlCLHdDQThFRyxZQUFZLHdCQUN6QixTQUFTOytFQS9FeEIseUJBQXlCLFdBQXpCLHlCQUF5Qjt1RkFBekIseUJBQXlCO2NBRDlDLFVBQVU7O3NCQStFZ0MsTUFBTTt1QkFBQyxZQUFZOztzQkFDbkMsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RvciwgQXR0cmlidXRlLCBPbkluaXQsIEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgQXBwRGVmYXVsdHMsXG4gICAgJGFwcERpZ2VzdCxcbiAgICBkZWJvdW5jZSxcbiAgICBpc0RlZmluZWQsXG4gICAgaXNFcXVhbFdpdGhGaWVsZHMsXG4gICAgbm9vcCxcbiAgICB0b0Jvb2xlYW4sXG4gICAgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0XG59IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHsgQUxMRklFTERTLCBjb252ZXJ0RGF0YVRvT2JqZWN0LCBEYXRhU2V0SXRlbSwgZXh0cmFjdERhdGFBc0FycmF5LCBnZXRPcmRlcmVkRGF0YXNldCwgZ2V0VW5pcU9ianNCeURhdGFGaWVsZCwgaGFuZGxlSGVhZGVyQ2xpY2ssIHRvZ2dsZUFsbEhlYWRlcnMsIHRyYW5zZm9ybUZvcm1EYXRhLCB0cmFuc2Zvcm1EYXRhV2l0aEtleXMsIGdyb3VwRGF0YSwgVG9EYXRlUGlwZSwgSVdpZGdldENvbmZpZywgV2lkZ2V0Q29uZmlnIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBCYXNlRm9ybUN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1mb3JtLWN1c3RvbS5jb21wb25lbnQnO1xuXG5kZWNsYXJlIGNvbnN0IF87XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1DdXN0b21Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBkYXRhc2V0OiBhbnk7XG4gICAgcHVibGljIGRhdGFmaWVsZDogc3RyaW5nO1xuICAgIHB1YmxpYyBkaXNwbGF5ZmllbGQ6IHN0cmluZztcbiAgICBwdWJsaWMgZGlzcGxheWxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc3BsYXlpbWFnZXNyYzogc3RyaW5nO1xuICAgIHB1YmxpYyBkaXNwbGF5ZXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIHB1YmxpYyB1c2VrZXlzOiBib29sZWFuO1xuICAgIHB1YmxpYyBvcmRlcmJ5OiBzdHJpbmc7XG4gICAgcHVibGljIG11bHRpcGxlOiBib29sZWFuO1xuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcbiAgICBwdWJsaWMgY29udGVudDogc3RyaW5nO1xuICAgIHB1YmxpYyBjb2xsYXBzaWJsZTogYm9vbGVhbjtcbiAgICBwdWJsaWMgZGF0ZVBpcGU7XG5cbiAgICBwdWJsaWMgaGFuZGxlSGVhZGVyQ2xpY2s6ICgkZXZlbnQpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSB0b2dnbGVBbGxIZWFkZXJzOiB2b2lkO1xuICAgIHB1YmxpYyBhcHBEZWZhdWx0cztcblxuICAgIHB1YmxpYyBiaW5kZGlzcGxheWV4cHJlc3Npb246IHN0cmluZztcbiAgICBwdWJsaWMgYmluZGRpc3BsYXlpbWFnZXNyYzogc3RyaW5nO1xuICAgIHB1YmxpYyBiaW5kZGlzcGxheWxhYmVsOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZGlzcGxheVZhbHVlOiBBcnJheTxzdHJpbmc+IHwgc3RyaW5nO1xuXG4gICAgcHVibGljIGRhdGFzZXRJdGVtczogRGF0YVNldEl0ZW1bXSA9IFtdO1xuICAgIHB1YmxpYyBhY2NlcHRzQXJyYXkgPSBmYWxzZTsgLy8gc2V0IHRvIHRydWUgaWYgcHJveHlNb2RlbCBvbiB3aWRnZXQgYWNjZXB0cyBhcnJheSB0eXBlLlxuICAgIHByb3RlY3RlZCBkYXRhc2V0JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJvdGVjdGVkIGRhdGF2YWx1ZSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJvdGVjdGVkIG1hdGNoOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIGRhdGVmb3JtYXQ6IHN0cmluZztcbiAgICBwdWJsaWMgZ3JvdXBlZERhdGE6IGFueVtdO1xuXG4gICAgcHJvdGVjdGVkIF9tb2RlbEJ5S2V5OiBhbnk7XG4gICAgcHVibGljIF9tb2RlbEJ5VmFsdWU6IGFueTtcbiAgICBwdWJsaWMgX2RlZmF1bHRRdWVyeUludm9rZWQ6IGJvb2xlYW47IC8vIGZvciBzZWFyY2gvY2hpcHMgaWYgZGF0YXZhbHVlIGlzIG9idGFpbmVkIGZyb20gdGhlIGRlZmF1bHQgbi93IGNhbGwgdGhlbiBzZXQgdG8gdHJ1ZSBhbmQgZG8gbm90IHVwZGF0ZSB0aGUgbW9kZWxCeUtleXMuXG5cbiAgICAvLyB0aGlzIGZpZWxkIGNvbnRhaW5zIHRoZSBpbml0aWFsIGRhdGF2YWx1ZSB3aGljaCBuZWVkcyB0byBiZSBwcm9jZXNzZWQgb25jZSB0aGUgZGF0YXNldCBpcyBhdmFpbGFibGVcbiAgICBwdWJsaWMgdG9CZVByb2Nlc3NlZERhdGF2YWx1ZTogYW55O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlYm91bmNlZEluaXREYXRhc2V0SXRlbXM6IEZ1bmN0aW9uO1xuICAgIHByb3RlY3RlZCBhbGxvd2VtcHR5ID0gdHJ1ZTtcbiAgICBwdWJsaWMgY29tcGFyZWJ5OiBhbnk7XG5cbiAgICBwdWJsaWMgZ2V0IG1vZGVsQnlLZXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2RlbEJ5S2V5O1xuICAgIH1cblxuICAgIC8vIHRyaWdnZXJzIG9uIG5nTW9kZWwgY2hhbmdlLiBUaGlzIGZ1bmN0aW9uIGV4dHJhY3RzIHRoZSBkYXRhdmFsdWUgdmFsdWUuXG4gICAgcHVibGljIHNldCBtb2RlbEJ5S2V5KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0QnlLZXkodmFsKTtcblxuICAgICAgICAvLyBpbnZva2Ugb24gZGF0YXZhbHVlIGNoYW5nZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLl9tb2RlbEJ5VmFsdWUpO1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwdWJsaWMgZ2V0IGRhdGF2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGVsQnlWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyB0cmlnZ2VycyBvbiBzZXR0aW5nIHRoZSBkYXRhdmFsdWUuIFRoaXMgZnVuY3Rpb24gZXh0cmFjdHMgdGhlIG1vZGVsIHZhbHVlLlxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwdWJsaWMgc2V0IGRhdGF2YWx1ZSh2YWw6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdmFsID0gZXh0cmFjdERhdGFBc0FycmF5KHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbW9kZWxCeVZhbHVlID0gdmFsO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0QnlWYWx1ZSh2YWwpO1xuXG4gICAgICAgIC8vIGNoYW5nZXMgb24gdGhlIGRhdGF2YWx1ZSBjYW4gYmUgc3Vic2NyaWJlZCB1c2luZyBsaXN0ZW5Ub0RhdGF2YWx1ZVxuICAgICAgICB0aGlzLmRhdGF2YWx1ZSQubmV4dCh2YWwpO1xuXG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHZhbCwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgIEBJbmplY3QoV2lkZ2V0Q29uZmlnKSBjb25maWc6IElXaWRnZXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBBdHRyaWJ1dGUoJ2dyb3VwYnknKSBwdWJsaWMgZ3JvdXBieT86IHN0cmluZykge1xuICAgICAgICBzdXBlcihpbmosIGNvbmZpZywpO1xuICAgICAgICB0aGlzLmRhdGVQaXBlID0gdGhpcy5pbmouZ2V0KFRvRGF0ZVBpcGUpO1xuICAgICAgICB0aGlzLmFwcERlZmF1bHRzID0gdGhpcy5pbmouZ2V0KEFwcERlZmF1bHRzKTtcbiAgICAgICAgdGhpcy5iaW5kZGlzcGxheWV4cHJlc3Npb24gPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNwbGF5ZXhwcmVzc2lvbi5iaW5kJyk7XG4gICAgICAgIHRoaXMuYmluZGRpc3BsYXlpbWFnZXNyYyA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2Rpc3BsYXlpbWFnZXNyYy5iaW5kJyk7XG4gICAgICAgIHRoaXMuYmluZGRpc3BsYXlsYWJlbCA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2Rpc3BsYXlsYWJlbC5iaW5kJyk7XG5cbiAgICAgICAgdGhpcy5fZGVib3VuY2VkSW5pdERhdGFzZXRJdGVtcyA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdERhdGFzZXRJdGVtcygpO1xuICAgICAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgICAgICB9LCAxNTApO1xuICAgICAgICB0aGlzLmhhbmRsZUhlYWRlckNsaWNrID0gbm9vcDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIF9kYXRhdmFsdWUgdmFsdWUgZnJvbSB0aGUgbW9kZWwgYW5kIHNldHMgdGhlIHNlbGVjdGVkIGZsYWcgd2hlbiBpdGVtIGlzIGZvdW5kLlxuICAgICAqIEhlcmUgbW9kZWwgaXMgdGhlIHZhbHVlIG9idGFpbmVkIGZyb20gbmdNb2RlbC5cbiAgICAgKiBAcGFyYW0ga2V5cyByZXByZXNlbnQgdGhlIG1vZGVsLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzZWxlY3RCeUtleShrZXlzKSB7XG4gICAgICAgIHRoaXMucmVzZXREYXRhc2V0SXRlbXMoKTtcblxuICAgICAgICBpZiAoIXRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgIV8uaXNBcnJheShrZXlzKSkge1xuICAgICAgICAgICAga2V5cyA9IFtrZXlzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB0aGUgX21vZGVsQnlLZXkgdG8gdGhlIG1vZGlmaWVkIGtleXMuXG4gICAgICAgIHRoaXMuX21vZGVsQnlLZXkgPSBrZXlzO1xuXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLl9tb2RlbEJ5VmFsdWUgPSBbXTtcbiAgICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1CeUtleSA9IF8uZmluZCh0aGlzLmRhdGFzZXRJdGVtcywgaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vdCB0cmlwbGUgZXF1YWwsIGFzIHRoZSBpbnN0YW5jZSB0eXBlIGNhbiBiZSBkaWZmZXJlbnQuXG4gICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgdmFsdWUgY29tcGFyaXNvbiBzaG91bGQgYmUgZG9uZS5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF8udG9TdHJpbmcoaXRlbS5rZXkpID09PSBfLnRvU3RyaW5nKGtleSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1CeUtleSkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtQnlLZXkuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb2RlbEJ5VmFsdWUgPSBbLi4udGhpcy5fbW9kZWxCeVZhbHVlLCBpdGVtQnlLZXkudmFsdWVdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbW9kZWxCeVZhbHVlID0gJyc7XG4gICAgICAgICAgICBjb25zdCBpdGVtQnlLZXkgPSBfLmZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIC8vIG5vdCB0cmlwbGUgZXF1YWwsIGFzIHRoZSBpbnN0YW5jZSB0eXBlIGNhbiBiZSBkaWZmZXJlbnQuXG4gICAgICAgICAgICAgICAgLy8gb25seSB2YWx1ZSBjb21wYXJpc29uIHNob3VsZCBiZSBkb25lLlxuICAgICAgICAgICAgICAgIHJldHVybiBfLnRvU3RyaW5nKGl0ZW0ua2V5KSA9PT0gXy50b1N0cmluZyhrZXlzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGl0ZW1CeUtleSkge1xuICAgICAgICAgICAgICAgIGl0ZW1CeUtleS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW9kZWxCeVZhbHVlID0gaXRlbUJ5S2V5LnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdERpc3BsYXlWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIF9tb2RlbCB2YWx1ZSBmcm9tIHRoZSBkYXRhdmFsdWUgKHNlbGVjdGVkdmFsdWVzKSBhbmQgc2V0cyB0aGUgc2VsZWN0ZWQgZmxhZyB3aGVuIGl0ZW0gaXMgZm91bmQuXG4gICAgICogZGF0YXZhbHVlIGlzIHRoZSBkZWZhdWx0IHZhbHVlIG9yIGEgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBkaXNwbGF5RmllbGQgKGZvciBzdXBwb3NlOiBvYmplY3QgaW4gY2FzZSBvZiBBTExGSUVMRFMpLlxuICAgICAqIElmIGFjY2VwdHNBcnJheSBpcyB0cnVlLCB0aGUgbW9kZWwgYWx3YXlzIGFjY2VwdHMgYW4gYXJyYXkuXG4gICAgICogRm9yIGV4YW1wbGUsIHNlbGVjdCBhbHdheXMgYWNjZXB0cyBtb2RlbCBhcyBhcnJheSB3aGV0aGVyIG11bHRpcGxlIHNlbGVjdCBpcyB0cnVlIG9yIGZhbHNlLlxuICAgICAqIEBwYXJhbSB2YWx1ZXMgcmVwcmVzZW50IHRoZSBkYXRhdmFsdWUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNlbGVjdEJ5VmFsdWUodmFsdWVzOiBBcnJheTxhbnk+IHwgYW55KSB7XG4gICAgICAgIHRoaXMucmVzZXREYXRhc2V0SXRlbXMoKTtcblxuICAgICAgICAvLyBpZiBkYXRhdmFsdWUgaXMgbm90IGRlZmluZWQgb3IgZW1wdHkgdGhlbiBzZXQgdGhlIG1vZGVsIGFzIHVuZGVmaW5lZC5cbiAgICAgICAgaWYgKCFpc0RlZmluZWQodmFsdWVzKSB8fCB2YWx1ZXMgPT09ICcnIHx8IF8uaXNOdWxsKHZhbHVlcykgfHwgKHZhbHVlcyBpbnN0YW5jZW9mIEFycmF5ICYmICF2YWx1ZXMubGVuZ3RoKSkge1xuICAgICAgICAgICAgdGhpcy5fbW9kZWxCeUtleSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIC8vIGRvIG5vdCByZXR1cm4gd2hlbiBhbGxvd2VtcHR5IGlzIHNldCB0byB0cnVlLlxuICAgICAgICAgICAgaWYgKCF0aGlzLmFsbG93ZW1wdHkgfHwgIWlzRGVmaW5lZCh2YWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0c0FycmF5ICYmICFfLmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgdmFsdWVzID0gdGhpcy5hbGxvd2VtcHR5ID8gW3ZhbHVlc10gOiBleHRyYWN0RGF0YUFzQXJyYXkodmFsdWVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHByZXNlcnZlIHRoZSBkYXRhdmFsdWUgaWYgZGF0YXNldEl0ZW1zIGFyZSBlbXB0eS5cbiAgICAgICAgaWYgKCF0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGggJiYgaXNEZWZpbmVkKHZhbHVlcykpIHtcbiAgICAgICAgICAgIHRoaXMudG9CZVByb2Nlc3NlZERhdGF2YWx1ZSA9IHZhbHVlcztcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlckZpZWxkID0gdGhpcy5kYXRhZmllbGQgPT09IEFMTEZJRUxEUyA/ICdkYXRhT2JqZWN0JyA6ICdrZXknO1xuXG4gICAgICAgIGlmIChfLmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgdGhpcy5fbW9kZWxCeUtleSA9IFtdO1xuICAgICAgICAgICAgdmFsdWVzLmZvckVhY2godmFsID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtQnlWYWx1ZSA9IF8uZmluZCh0aGlzLmRhdGFzZXRJdGVtcywgaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZCA9PT0gJ2RhdGFPYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb21wYXJlYnkgJiYgdGhpcy5jb21wYXJlYnkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzRXF1YWxXaXRoRmllbGRzKGl0ZW1bZmlsdGVyRmllbGRdLCB2YWwsIHRoaXMuY29tcGFyZWJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF8uaXNPYmplY3QoaXRlbS52YWx1ZSkgPyBfLmlzRXF1YWwoaXRlbS52YWx1ZSwgdmFsKSA6IChfLnRvU3RyaW5nKGl0ZW0udmFsdWUpKS50b0xvd2VyQ2FzZSgpID09PSAoXy50b1N0cmluZyh2YWwpKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUJ5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbUJ5VmFsdWUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb2RlbEJ5S2V5LnB1c2goaXRlbUJ5VmFsdWUua2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGVsQnlLZXkgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpdGVtQnlWYWx1ZSA9IF8uZmluZCh0aGlzLmRhdGFzZXRJdGVtcywgaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckZpZWxkID09PSAnZGF0YU9iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tcGFyZWJ5ICYmIHRoaXMuY29tcGFyZWJ5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzRXF1YWxXaXRoRmllbGRzKGl0ZW1bZmlsdGVyRmllbGRdLCB2YWx1ZXMsIHRoaXMuY29tcGFyZWJ5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gKF8uaXNPYmplY3QoaXRlbS52YWx1ZSkgID8gXy5pc0VxdWFsKGl0ZW0udmFsdWUsIHZhbHVlcykgOiAoXy50b1N0cmluZyhpdGVtLnZhbHVlKSkudG9Mb3dlckNhc2UoKSA9PT0gKF8udG9TdHJpbmcodmFsdWVzKSkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChpdGVtQnlWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGl0ZW1CeVZhbHVlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb2RlbEJ5S2V5ID0gaXRlbUJ5VmFsdWUua2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGRlbGF5aW5nIHRoZSBkYXRhdmFsdWUgdXBkYXRlIGFzIHRoZSB3aWRnZXRzIGluIGxpdmVmb3JtIGFyZSBoYXZpbmcgZGF0YXZhbHVlIGFzIHVuZGVmaW5lZCBhbmQgbm90IHRoZSBkZWZhdWx0IHByb3ZpZGVkIHZhbHVlXG4gICAgICAgIC8vIGJlY2F1c2UgZGF0YXZhbHVlIGlzIHVwZGF0ZWQgbGF0ZXIgd2hlbiBuZXcgZGF0YXNldCBpcyBhdmFpbGFibGUuXG4gICAgICAgIHRoaXMuX2RlYm91bmNlRGF0YXZhbHVlVXBkYXRpb24odmFsdWVzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RlYm91bmNlRGF0YXZhbHVlVXBkYXRpb24gPSBfLmRlYm91bmNlKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgLy8gaWYgbm8gaXRlbSBpcyBmb3VuZCBpbiBkYXRhc2V0SXRlbXMsIHdhaXQgdW50aWxsIHRoZSBkYXRhc2V0IHVwZGF0ZXMgYnkgcHJlc2VydmluZyB0aGUgZGF0YXZhbHVlIGluIHRvQmVQcm9jZXNzZWREYXRhdmFsdWUuXG4gICAgICAgIGlmICghaXNEZWZpbmVkKHRoaXMuX21vZGVsQnlLZXkpIHx8IChfLmlzQXJyYXkodGhpcy5fbW9kZWxCeUtleSkgJiYgIXRoaXMuX21vZGVsQnlLZXkubGVuZ3RoKSkge1xuICAgICAgICAgICAgdGhpcy50b0JlUHJvY2Vzc2VkRGF0YXZhbHVlID0gdmFsdWVzO1xuICAgICAgICAgICAgdGhpcy5fbW9kZWxCeVZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNEZWZpbmVkKHRoaXMudG9CZVByb2Nlc3NlZERhdGF2YWx1ZSkpIHtcbiAgICAgICAgICAgIC8vIG9idGFpbiB0aGUgZmlyc3QgYXJyYXkgdmFsdWUgd2hlbiBtdWx0aXBsZSBpcyBzZXQgdG8gZmFsc2UuXG4gICAgICAgICAgICAvLyBzZXQgdGhlIG1vZGVsQnlWYWx1ZSBvbmx5IHdoZW4gdW5kZWZpbmVkLlxuICAgICAgICAgICAgaWYgKCFpc0RlZmluZWQodGhpcy5fbW9kZWxCeVZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX21vZGVsQnlWYWx1ZSA9ICghdGhpcy5tdWx0aXBsZSAmJiBfLmlzQXJyYXkodGhpcy50b0JlUHJvY2Vzc2VkRGF0YXZhbHVlKSkgPyB0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWVbMF0gOiB0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXREaXNwbGF5VmFsdWVzKCk7XG4gICAgfSwgMTUwKTtcblxuICAgIC8vIFVwZGF0ZXMgdGhlIGRpc3BsYXlWYWx1ZSBwcm9wZXJ0eS5cbiAgICBwcm90ZWN0ZWQgaW5pdERpc3BsYXlWYWx1ZXMoKSB7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5kYXRhc2V0SXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlcy5wdXNoKGl0ZW0ubGFiZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMubXVsdGlwbGUgPyBkaXNwbGF5VmFsdWVzIDogZGlzcGxheVZhbHVlc1swXSB8fCAnJztcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHBhcnNlcyB0aGUgZGF0YXNldCBhbmQgZXh0cmFjdHMgdGhlIGRpc3BsYXlPcHRpb25zIGZyb20gcGFyc2VkIGRhdGFzZXQuXG4gICAgcHJvdGVjdGVkIGluaXREYXRhc2V0SXRlbXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhc2V0IHx8IF8uaXNFbXB0eSh0aGlzLmRhdGFzZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFzZXRJdGVtcyA9IFtdO1xuICAgICAgICAgICAgLy8gbm90aWZ5IHRoZSBkYXRhc2V0IGxpc3RlbmVyc1xuICAgICAgICAgICAgdGhpcy5kYXRhc2V0JC5uZXh0KHRoaXMuZGF0YXNldEl0ZW1zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnZlcnQgYW55IGRhdGFzZXQgdG8gdGhlIG9iamVjdCBmb3JtYXQuXG4gICAgICAgIGNvbnN0IG9yZGVyZWREYXRhc2V0ID0gZ2V0T3JkZXJlZERhdGFzZXQoY29udmVydERhdGFUb09iamVjdCh0aGlzLmRhdGFzZXQpLCB0aGlzLm9yZGVyYnkpO1xuXG4gICAgICAgIGlmICh0aGlzLnVzZWtleXMpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YXNldEl0ZW1zID0gdHJhbnNmb3JtRGF0YVdpdGhLZXlzKG9yZGVyZWREYXRhc2V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlPcHRpb25zID0gdHJhbnNmb3JtRm9ybURhdGEodGhpcy52aWV3UGFyZW50LCBvcmRlcmVkRGF0YXNldCwgdGhpcy5kYXRhZmllbGQsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6IHRoaXMuZGlzcGxheWZpZWxkIHx8IHRoaXMuZGlzcGxheWxhYmVsLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlFeHByOiB0aGlzLmRpc3BsYXlleHByZXNzaW9uLFxuICAgICAgICAgICAgICAgIGJpbmREaXNwbGF5RXhwcjogdGhpcy5iaW5kZGlzcGxheWV4cHJlc3Npb24gfHwgdGhpcy5iaW5kZGlzcGxheWxhYmVsLFxuICAgICAgICAgICAgICAgIGJpbmREaXNwbGF5SW1nU3JjOiB0aGlzLmJpbmRkaXNwbGF5aW1hZ2VzcmMsXG4gICAgICAgICAgICAgICAgZGlzcGxheUltZ1NyYzogdGhpcy5kaXNwbGF5aW1hZ2VzcmNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gZ2V0IHRoZSB1bmlxdWUgb2JqZWN0cyBvdXQgb2YgdGhlIGV4dHJhY3RlZCBkYXRhLiBOb3RpZnkgY2hhbmdlIGluIGRhdGFzZXRJdGVtcyB1c2luZyBbLi4uZGF0YXNldEl0ZW1zXSBub3RhdGlvblxuICAgICAgICAgICAgdGhpcy5kYXRhc2V0SXRlbXMgPSBbLi4uZ2V0VW5pcU9ianNCeURhdGFGaWVsZChkaXNwbGF5T3B0aW9ucywgdGhpcy5kYXRhZmllbGQsIHRoaXMuZGlzcGxheWZpZWxkIHx8IHRoaXMuZGlzcGxheWxhYmVsLCB0b0Jvb2xlYW4odGhpcy5hbGxvd2VtcHR5KSldO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wb3N0RGF0YXNldEl0ZW1zSW5pdCgpO1xuICAgIH1cblxuICAgIC8vIE9uY2UgdGhlIGRhdGFzZXRJdGVtcyBhcmUgcmVhZHksIHNldCB0aGUgcHJveHlNb2RlbCBieSB1c2luZyBkYXRhdmFsdWUuXG4gICAgcHJvdGVjdGVkIHBvc3REYXRhc2V0SXRlbXNJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoICYmICF0aGlzLl9kZWZhdWx0UXVlcnlJbnZva2VkKSB7XG4gICAgICAgICAgICAvLyB1c2UgdGhlIGxhdGVzdCBvZiB0b0JlUHJvY2Vzc2VkRGF0YXZhbHVlLCBkYXRhdmFsdWVcbiAgICAgICAgICAgIGNvbnN0IF9kYXRhdmFsdWUgPSBfLmlzRW1wdHkodGhpcy50b0JlUHJvY2Vzc2VkRGF0YXZhbHVlKSA/IHRoaXMuZGF0YXZhbHVlIDogdGhpcy50b0JlUHJvY2Vzc2VkRGF0YXZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RCeVZhbHVlKF9kYXRhdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG5vdGlmeSB0aGUgZGF0YXNldCBsaXN0ZW5lcnNcbiAgICAgICAgdGhpcy5kYXRhc2V0JC5uZXh0KHRoaXMuZGF0YXNldEl0ZW1zKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCB0aGUgc2VsZWN0ZWQgZmxhZyBvbiBkYXRhc2V0SXRlbXMgdG8gZmFsc2UuXG4gICAgcHJvdGVjdGVkIHJlc2V0RGF0YXNldEl0ZW1zKCkge1xuICAgICAgICB0aGlzLmRhdGFzZXRJdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0VGVtcGxhdGUocGFydGlhbE5hbWUpIHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gcGFydGlhbE5hbWU7XG4gICAgICAgIGlmICh0aGlzLnZpZXdQYXJlbnQgJiYgdGhpcy52aWV3UGFyZW50LnByZWZhYk5hbWUpIHtcbiAgICAgICAgICAgIHRoaXNbJ3ByZWZhYk5hbWUnXSA9IHRoaXMudmlld1BhcmVudC5wcmVmYWJOYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGdldEdyb3VwZWREYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoID8gZ3JvdXBEYXRhKHRoaXMsIGNvbnZlcnREYXRhVG9PYmplY3QodGhpcy5kYXRhc2V0SXRlbXMpLCB0aGlzLmdyb3VwYnksIHRoaXMubWF0Y2gsIHRoaXMub3JkZXJieSwgdGhpcy5kYXRlZm9ybWF0LCB0aGlzLmRhdGVQaXBlLCAnZGF0YU9iamVjdCcsIHRoaXMuYXBwRGVmYXVsdHMpIDogW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkYXRhc2V0U3Vic2NyaXB0aW9uKCkge1xuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhc2V0JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncm91cGVkRGF0YSA9IHRoaXMuZ2V0R3JvdXBlZERhdGEoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0R3JvdXBEYXRhKCkge1xuICAgICAgICB0aGlzLmRhdGFzZXRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgLy8gSWYgZ3JvdXBieSBpcyBzZXQsIGdldCB0aGUgZ3JvdXBlZERhdGEgZnJvbSB0aGUgZGF0YXNldEl0ZW1zLlxuICAgICAgICB0aGlzLmdyb3VwZWREYXRhID0gdGhpcy5nZXRHcm91cGVkRGF0YSgpO1xuICAgIH1cblxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlICdkYXRhc2V0JzpcbiAgICAgICAgICAgIGNhc2UgJ2RhdGFmaWVsZCc6XG4gICAgICAgICAgICBjYXNlICdkaXNwbGF5ZmllbGQnOlxuICAgICAgICAgICAgY2FzZSAnZGlzcGxheWxhYmVsJzpcbiAgICAgICAgICAgIGNhc2UgJ2Rpc3BsYXlleHByZXNzaW9uJzpcbiAgICAgICAgICAgIGNhc2UgJ29yZGVyYnknOlxuICAgICAgICAgICAgY2FzZSAndXNla2V5cyc6XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVib3VuY2VkSW5pdERhdGFzZXRJdGVtcygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmVxdWlyZWQnOlxuICAgICAgICAgICAgY2FzZSAnZGF0YXZhbHVlJzpcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdncm91cGJ5JzpcbiAgICAgICAgICAgIGNhc2UgJ21hdGNoJzpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy53aWRnZXRUeXBlICE9PSAnd20tc2VhcmNoJyAmJiB0aGlzLndpZGdldFR5cGUgIT09ICd3bS1jaGlwcycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRHcm91cERhdGEoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5ncm91cGJ5ICYmICh0aGlzLndpZGdldFR5cGUgIT09ICd3bS1zZWFyY2gnICYmIHRoaXMud2lkZ2V0VHlwZSAhPT0gJ3dtLWNoaXBzJykpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0R3JvdXBEYXRhKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYWRkaW5nIHRoZSBoYW5kbGVyIGZvciBoZWFkZXIgY2xpY2sgYW5kIHRvZ2dsZSBoZWFkZXJzLlxuICAgICAgICBpZiAodGhpcy5ncm91cGJ5ICYmIHRoaXMuY29sbGFwc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSGVhZGVyQ2xpY2sgPSBoYW5kbGVIZWFkZXJDbGljaztcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlQWxsSGVhZGVycyA9IHRvZ2dsZUFsbEhlYWRlcnMuYmluZCh1bmRlZmluZWQsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
2
- import { Component, ElementRef, Injector, Optional, ViewChild } from '@angular/core';
3
- import { AbstractI18nService, UserDefinedExecutionContext } from '@wm/core';
2
+ import { Component, ElementRef, Injector, ViewChild } from '@angular/core';
3
+ import { AbstractI18nService } from '@wm/core';
4
4
  import { provideAs, provideAsWidgetRef, TrailingZeroDecimalPipe } from '@wm/components/base';
5
5
  import { registerProps } from './number.props';
6
6
  import { NumberLocale } from '../text/locale/number-locale';
@@ -15,13 +15,12 @@ const WIDGET_CONFIG = {
15
15
  hostClass: 'app-input-wrapper'
16
16
  };
17
17
  export class NumberComponent extends NumberLocale {
18
- constructor(inj, i18nService, trailingZeroDecimalPipe, _viewParent) {
19
- super(inj, WIDGET_CONFIG, _viewParent, i18nService, trailingZeroDecimalPipe);
20
- this._viewParent = _viewParent;
18
+ constructor(inj, i18nService, trailingZeroDecimalPipe) {
19
+ super(inj, WIDGET_CONFIG, i18nService, trailingZeroDecimalPipe);
21
20
  }
22
21
  }
23
22
  NumberComponent.initializeProps = registerProps();
24
- NumberComponent.ɵfac = function NumberComponent_Factory(t) { return new (t || NumberComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.AbstractI18nService), i0.ɵɵdirectiveInject(i2.TrailingZeroDecimalPipe), i0.ɵɵdirectiveInject(i1.UserDefinedExecutionContext, 8)); };
23
+ NumberComponent.ɵfac = function NumberComponent_Factory(t) { return new (t || NumberComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.AbstractI18nService), i0.ɵɵdirectiveInject(i2.TrailingZeroDecimalPipe)); };
25
24
  NumberComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NumberComponent, selectors: [["", "wmNumber", ""]], viewQuery: function NumberComponent_Query(rf, ctx) { if (rf & 1) {
26
25
  i0.ɵɵviewQuery(_c0, 7);
27
26
  i0.ɵɵviewQuery(NgModel, 7);
@@ -48,13 +47,11 @@ NumberComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NumberCompo
48
47
  provideAs(NumberComponent, NG_VALIDATORS, true),
49
48
  provideAsWidgetRef(NumberComponent)
50
49
  ], template: "<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n role=\"textbox\"\n type=\"text\"\n [ngModel]=\"displayValue\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n (focus)=\"checkForTrailingZeros($event)\"\n (input)=\"onInputChange($event.target.value)\"\n [ngModelOptions]=\"ngModelOptions\"\n [required]=\"required\"\n (keypress)=\"validateInputEntry($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n #input>\n" }]
51
- }], function () { return [{ type: i0.Injector }, { type: i1.AbstractI18nService }, { type: i2.TrailingZeroDecimalPipe }, { type: i1.UserDefinedExecutionContext, decorators: [{
52
- type: Optional
53
- }] }]; }, { inputEl: [{
50
+ }], function () { return [{ type: i0.Injector }, { type: i1.AbstractI18nService }, { type: i2.TrailingZeroDecimalPipe }]; }, { inputEl: [{
54
51
  type: ViewChild,
55
52
  args: ['input', { static: true }]
56
53
  }], ngModel: [{
57
54
  type: ViewChild,
58
55
  args: [NgModel, { static: true }]
59
56
  }] }); })();
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9udW1iZXIvbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9udW1iZXIvbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFDLG1CQUFtQixFQUFFLDJCQUEyQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzFFLE9BQU8sRUFBaUIsU0FBUyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztBQUU1RCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLFdBQVc7SUFDdkIsU0FBUyxFQUFFLG1CQUFtQjtDQUNqQyxDQUFDO0FBV0YsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQWM3QyxZQUFZLEdBQWEsRUFBRSxXQUFnQyxFQUFFLHVCQUFnRCxFQUFxQixXQUF3QztRQUN0SyxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFEaUQsZ0JBQVcsR0FBWCxXQUFXLENBQTZCO0lBRTFLLENBQUM7O0FBZk0sK0JBQWUsR0FBRyxhQUFhLEVBQUUsQ0FBQzs4RUFEaEMsZUFBZTtrRUFBZixlQUFlOzt1QkFZYixPQUFPOzs7OzswQ0FsQlA7WUFDUCxTQUFTLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztZQUNuRCxTQUFTLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUM7WUFDL0Msa0JBQWtCLENBQUMsZUFBZSxDQUFDO1NBQ3RDO1FDckJMLG1DQTBCYztRQVhQLGlIQUFpQix5QkFBcUIsSUFBQywyRUFDL0Isc0JBQWtCLFNBQUUsaUNBQTZCLElBRGxCLG9GQUU5QixpQ0FBNkIsSUFGQyxvRkFHOUIsc0NBQWtDLElBSEosMEZBTTNCLDhCQUEwQixJQU5DLDRHQU9sQix1QkFBbUIsSUFQRCxvR0FRdEIsbUJBQWUsSUFSTyx3R0FTcEIseUJBQXFCLElBQUksQ0FBQyxJQVROLDRHQVVsQix5QkFBcUIsTUFBTSxDQUFDLElBVlY7UUFmOUMsaUJBMEJjOztRQXBCUCwwQ0FBd0IsMEJBQUEsMEJBQUEsdUJBQUEsNEJBQUEsc0NBQUEsMEJBQUE7UUFIeEIsZ0NBQWtCLDBCQUFBLGdDQUFBLDhCQUFBLHdCQUFBOzt1RkRvQlosZUFBZTtjQVQzQixTQUFTOzJCQUNJLFlBQVksYUFFWDtvQkFDUCxTQUFTLGtCQUFrQixpQkFBaUIsRUFBRSxJQUFJLENBQUM7b0JBQ25ELFNBQVMsa0JBQWtCLGFBQWEsRUFBRSxJQUFJLENBQUM7b0JBQy9DLGtCQUFrQixpQkFBaUI7aUJBQ3RDOztzQkFnQitHLFFBQVE7d0JBSHBGLE9BQU87a0JBQTFDLFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztZQUNFLE9BQU87a0JBQTFDLFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kZWwsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBYnN0cmFjdEkxOG5TZXJ2aWNlLCBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHR9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IElXaWRnZXRDb25maWcsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBUcmFpbGluZ1plcm9EZWNpbWFsUGlwZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9udW1iZXIucHJvcHMnO1xuaW1wb3J0IHsgTnVtYmVyTG9jYWxlIH0gZnJvbSAnLi4vdGV4dC9sb2NhbGUvbnVtYmVyLWxvY2FsZSc7XG5cbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLW51bWJlcicsXG4gICAgaG9zdENsYXNzOiAnYXBwLWlucHV0LXdyYXBwZXInXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bU51bWJlcl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9udW1iZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoTnVtYmVyQ29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhOdW1iZXJDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoTnVtYmVyQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyQ29tcG9uZW50IGV4dGVuZHMgTnVtYmVyTG9jYWxlIHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHB1YmxpYyByZWdleHA6IHN0cmluZztcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuICAgIHB1YmxpYyB0YWJpbmRleDogYW55O1xuICAgIHB1YmxpYyBzaG9ydGN1dGtleTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW47XG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7c3RhdGljOiB0cnVlfSkgaW5wdXRFbDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKE5nTW9kZWwsIHtzdGF0aWM6IHRydWV9KSBuZ01vZGVsOiBOZ01vZGVsO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgaTE4blNlcnZpY2U6IEFic3RyYWN0STE4blNlcnZpY2UsIHRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlOiBUcmFpbGluZ1plcm9EZWNpbWFsUGlwZSwgQE9wdGlvbmFsKCkgcHVibGljIF92aWV3UGFyZW50OiBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBfdmlld1BhcmVudCwgaTE4blNlcnZpY2UsIHRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlKTtcbiAgICB9XG59XG4iLCI8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3ggYXBwLW51bWJlci1pbnB1dFwiXG4gICAgICAgaW5wdXRtb2RlPVwiZGVjaW1hbFwiXG4gICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICByb2xlPVwidGV4dGJveFwiXG4gICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgIFtuZ01vZGVsXT1cImRpc3BsYXlWYWx1ZVwiXG4gICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFtwYXR0ZXJuXT1cInJlZ2V4cFwiXG4gICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGludFwiXG4gICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpOyBjaGVja0ZvclRyYWlsaW5nWmVyb3MoJGV2ZW50KTtcIlxuICAgICAgIChmb2N1cyk9XCJjaGVja0ZvclRyYWlsaW5nWmVyb3MoJGV2ZW50KVwiXG4gICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJuZ01vZGVsT3B0aW9uc1wiXG4gICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAoa2V5cHJlc3MpPVwidmFsaWRhdGVJbnB1dEVudHJ5KCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmJhY2tzcGFjZSk9XCJvbkJhY2tzcGFjZSgkZXZlbnQpXCJcbiAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyKCRldmVudClcIlxuICAgICAgIChrZXlkb3duLkFycm93VXApPVwib25BcnJvd1ByZXNzKCRldmVudCwgJ1VQJylcIlxuICAgICAgIChrZXlkb3duLkFycm93RG93bik9XCJvbkFycm93UHJlc3MoJGV2ZW50LCAnRE9XTicpXCJcbiAgICAgICAjaW5wdXQ+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9udW1iZXIvbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9udW1iZXIvbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUMsbUJBQW1CLEVBQThCLE1BQU0sVUFBVSxDQUFDO0FBQzFFLE9BQU8sRUFBaUIsU0FBUyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztBQUU1RCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLFdBQVc7SUFDdkIsU0FBUyxFQUFFLG1CQUFtQjtDQUNqQyxDQUFDO0FBV0YsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQWM3QyxZQUFZLEdBQWEsRUFBRSxXQUFnQyxFQUFFLHVCQUFnRDtRQUN6RyxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNwRSxDQUFDOztBQWZNLCtCQUFlLEdBQUcsYUFBYSxFQUFFLENBQUM7OEVBRGhDLGVBQWU7a0VBQWYsZUFBZTs7dUJBWWIsT0FBTzs7Ozs7MENBbEJQO1lBQ1AsU0FBUyxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUM7WUFDbkQsU0FBUyxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDO1lBQy9DLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztTQUN0QztRQ3JCTCxtQ0EwQmM7UUFYUCxpSEFBaUIseUJBQXFCLElBQUMsMkVBQy9CLHNCQUFrQixTQUFFLGlDQUE2QixJQURsQixvRkFFOUIsaUNBQTZCLElBRkMsb0ZBRzlCLHNDQUFrQyxJQUhKLDBGQU0zQiw4QkFBMEIsSUFOQyw0R0FPbEIsdUJBQW1CLElBUEQsb0dBUXRCLG1CQUFlLElBUk8sd0dBU3BCLHlCQUFxQixJQUFJLENBQUMsSUFUTiw0R0FVbEIseUJBQXFCLE1BQU0sQ0FBQyxJQVZWO1FBZjlDLGlCQTBCYzs7UUFwQlAsMENBQXdCLDBCQUFBLDBCQUFBLHVCQUFBLDRCQUFBLHNDQUFBLDBCQUFBO1FBSHhCLGdDQUFrQiwwQkFBQSxnQ0FBQSw4QkFBQSx3QkFBQTs7dUZEb0JaLGVBQWU7Y0FUM0IsU0FBUzsyQkFDSSxZQUFZLGFBRVg7b0JBQ1AsU0FBUyxrQkFBa0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO29CQUNuRCxTQUFTLGtCQUFrQixhQUFhLEVBQUUsSUFBSSxDQUFDO29CQUMvQyxrQkFBa0IsaUJBQWlCO2lCQUN0QzttSUFhbUMsT0FBTztrQkFBMUMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO1lBQ0UsT0FBTztrQkFBMUMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2RlbCwgTkdfVkFMVUVfQUNDRVNTT1IsIE5HX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0Fic3RyYWN0STE4blNlcnZpY2UsIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgSVdpZGdldENvbmZpZywgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIFRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL251bWJlci5wcm9wcyc7XG5pbXBvcnQgeyBOdW1iZXJMb2NhbGUgfSBmcm9tICcuLi90ZXh0L2xvY2FsZS9udW1iZXItbG9jYWxlJztcblxuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tbnVtYmVyJyxcbiAgICBob3N0Q2xhc3M6ICdhcHAtaW5wdXQtd3JhcHBlcidcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtTnVtYmVyXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL251bWJlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhOdW1iZXJDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKE51bWJlckNvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihOdW1iZXJDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBOdW1iZXJMb2NhbGUge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIHJlZ2V4cDogc3RyaW5nO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gICAgcHVibGljIHRhYmluZGV4OiBhbnk7XG4gICAgcHVibGljIHNob3J0Y3V0a2V5OiBzdHJpbmc7XG4gICAgcHVibGljIGF1dG9mb2N1czogYm9vbGVhbjtcbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoTmdNb2RlbCwge3N0YXRpYzogdHJ1ZX0pIG5nTW9kZWw6IE5nTW9kZWw7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZSwgdHJhaWxpbmdaZXJvRGVjaW1hbFBpcGU6IFRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgaTE4blNlcnZpY2UsIHRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlKTtcbiAgICB9XG59XG4iLCI8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3ggYXBwLW51bWJlci1pbnB1dFwiXG4gICAgICAgaW5wdXRtb2RlPVwiZGVjaW1hbFwiXG4gICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICByb2xlPVwidGV4dGJveFwiXG4gICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgIFtuZ01vZGVsXT1cImRpc3BsYXlWYWx1ZVwiXG4gICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFtwYXR0ZXJuXT1cInJlZ2V4cFwiXG4gICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGludFwiXG4gICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpOyBjaGVja0ZvclRyYWlsaW5nWmVyb3MoJGV2ZW50KTtcIlxuICAgICAgIChmb2N1cyk9XCJjaGVja0ZvclRyYWlsaW5nWmVyb3MoJGV2ZW50KVwiXG4gICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJuZ01vZGVsT3B0aW9uc1wiXG4gICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAoa2V5cHJlc3MpPVwidmFsaWRhdGVJbnB1dEVudHJ5KCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmJhY2tzcGFjZSk9XCJvbkJhY2tzcGFjZSgkZXZlbnQpXCJcbiAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyKCRldmVudClcIlxuICAgICAgIChrZXlkb3duLkFycm93VXApPVwib25BcnJvd1ByZXNzKCRldmVudCwgJ1VQJylcIlxuICAgICAgIChrZXlkb3duLkFycm93RG93bik9XCJvbkFycm93UHJlc3MoJGV2ZW50LCAnRE9XTicpXCJcbiAgICAgICAjaW5wdXQ+XG4iXX0=