@wavemaker/app-ng-runtime 11.10.5-rc.6100 → 11.11.0-1.6137

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 (1174) hide show
  1. package/build-task/bundles/index.umd.js +94 -68
  2. package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +8 -8
  3. package/build-task/esm2022/containers/repeat-template.build.mjs +5 -5
  4. package/build-task/esm2022/containers/wizard/wizard-step/wizard-step.build.mjs +2 -2
  5. package/build-task/esm2022/containers/wizard/wizard.build.mjs +33 -4
  6. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +10 -10
  7. package/build-task/esm2022/data/table/table-column/table-column.build.mjs +15 -11
  8. package/build-task/esm2022/page/page.build.mjs +2 -8
  9. package/build-task/esm2022/public_api.mjs +1 -1
  10. package/build-task/fesm2022/index.mjs +95 -69
  11. package/build-task/fesm2022/index.mjs.map +1 -1
  12. package/components/advanced/carousel/bundles/index.umd.js +8 -36
  13. package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +1 -1
  14. package/components/advanced/carousel/carousel.directive.d.ts +1 -1
  15. package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +3 -2
  16. package/components/advanced/carousel/esm2022/carousel.directive.mjs +3 -2
  17. package/components/advanced/carousel/esm2022/public_api.mjs +1 -2
  18. package/components/advanced/carousel/fesm2022/index.mjs +8 -36
  19. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  20. package/components/advanced/carousel/public_api.d.ts +0 -1
  21. package/components/advanced/custom/bundles/index.umd.js +8 -33
  22. package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
  23. package/components/advanced/custom/custom-widget.directive.d.ts +1 -1
  24. package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +3 -2
  25. package/components/advanced/custom/esm2022/custom-widget.directive.mjs +3 -2
  26. package/components/advanced/custom/esm2022/public_api.mjs +1 -2
  27. package/components/advanced/custom/fesm2022/index.mjs +7 -32
  28. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  29. package/components/advanced/custom/public_api.d.ts +0 -1
  30. package/components/advanced/login/bundles/index.umd.js +10 -34
  31. package/components/advanced/login/esm2022/login.component.mjs +7 -6
  32. package/components/advanced/login/esm2022/public_api.mjs +1 -2
  33. package/components/advanced/login/fesm2022/index.mjs +8 -32
  34. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  35. package/components/advanced/login/login.component.d.ts +1 -1
  36. package/components/advanced/login/public_api.d.ts +0 -1
  37. package/components/advanced/marquee/bundles/index.umd.js +6 -29
  38. package/components/advanced/marquee/esm2022/marquee.directive.mjs +3 -2
  39. package/components/advanced/marquee/esm2022/public_api.mjs +1 -2
  40. package/components/advanced/marquee/fesm2022/index.mjs +5 -28
  41. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  42. package/components/advanced/marquee/marquee.directive.d.ts +1 -1
  43. package/components/advanced/marquee/public_api.d.ts +0 -1
  44. package/components/base/bundles/index.umd.js +86 -278
  45. package/components/base/components.module.d.ts +13 -15
  46. package/components/base/directives/show-in-device.directive.d.ts +1 -1
  47. package/components/base/esm2022/components.module.mjs +7 -13
  48. package/components/base/esm2022/directives/show-in-device.directive.mjs +3 -2
  49. package/components/base/esm2022/pipes/custom-pipes.mjs +33 -16
  50. package/components/base/esm2022/pipes/image.pipe.mjs +3 -2
  51. package/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -2
  52. package/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -2
  53. package/components/base/esm2022/public_api.mjs +1 -2
  54. package/components/base/esm2022/utils/form-utils.mjs +3 -1
  55. package/components/base/esm2022/utils/live-utils.mjs +3 -7
  56. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +4 -2
  57. package/components/base/esm2022/widgets/common/base/base.component.mjs +3 -5
  58. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +3 -2
  59. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
  60. package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -2
  61. package/components/base/esm2022/widgets/common/container/container.directive.mjs +3 -2
  62. package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
  63. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +3 -2
  64. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -2
  65. package/components/base/esm2022/widgets/common/message/message.component.mjs +5 -5
  66. package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
  67. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +5 -3
  68. package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +3 -2
  69. package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +3 -2
  70. package/components/base/fesm2022/index.mjs +85 -276
  71. package/components/base/fesm2022/index.mjs.map +1 -1
  72. package/components/base/pipes/custom-pipes.d.ts +15 -15
  73. package/components/base/pipes/image.pipe.d.ts +1 -1
  74. package/components/base/pipes/sanitize.pipe.d.ts +1 -1
  75. package/components/base/pipes/trust-as.pipe.d.ts +1 -1
  76. package/components/base/public_api.d.ts +0 -1
  77. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +1 -1
  78. package/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  79. package/components/base/widgets/common/base/text-content.directive.d.ts +1 -1
  80. package/components/base/widgets/common/container/container.directive.d.ts +1 -1
  81. package/components/base/widgets/common/item-template/item-template.directive.d.ts +1 -1
  82. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  83. package/components/base/widgets/common/message/message.component.d.ts +1 -1
  84. package/components/base/widgets/common/partial/partial.directive.d.ts +1 -1
  85. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -2
  86. package/components/base/widgets/common/redraw/redrawable.directive.d.ts +1 -1
  87. package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
  88. package/components/basic/default/anchor/anchor.component.d.ts +1 -1
  89. package/components/basic/default/audio/audio.component.d.ts +1 -1
  90. package/components/basic/default/bundles/index.umd.js +100 -148
  91. package/components/basic/default/esm2022/anchor/anchor.component.mjs +23 -21
  92. package/components/basic/default/esm2022/audio/audio.component.mjs +7 -6
  93. package/components/basic/default/esm2022/html/html.directive.mjs +3 -2
  94. package/components/basic/default/esm2022/icon/icon.component.mjs +17 -16
  95. package/components/basic/default/esm2022/iframe/iframe.component.mjs +14 -13
  96. package/components/basic/default/esm2022/label/label.directive.mjs +3 -2
  97. package/components/basic/default/esm2022/picture/picture.directive.mjs +3 -2
  98. package/components/basic/default/esm2022/picture/picture.props.mjs +1 -5
  99. package/components/basic/default/esm2022/public_api.mjs +1 -2
  100. package/components/basic/default/esm2022/spinner/spinner.component.mjs +26 -24
  101. package/components/basic/default/esm2022/video/video.component.mjs +19 -18
  102. package/components/basic/default/fesm2022/index.mjs +101 -148
  103. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  104. package/components/basic/default/html/html.directive.d.ts +1 -1
  105. package/components/basic/default/icon/icon.component.d.ts +1 -1
  106. package/components/basic/default/iframe/iframe.component.d.ts +1 -1
  107. package/components/basic/default/label/label.directive.d.ts +1 -1
  108. package/components/basic/default/picture/picture.directive.d.ts +1 -1
  109. package/components/basic/default/public_api.d.ts +0 -1
  110. package/components/basic/default/spinner/spinner.component.d.ts +1 -1
  111. package/components/basic/default/video/video.component.d.ts +1 -1
  112. package/components/basic/progress/bundles/index.umd.js +20 -51
  113. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +12 -11
  114. package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  115. package/components/basic/progress/esm2022/public_api.mjs +1 -2
  116. package/components/basic/progress/fesm2022/index.mjs +19 -49
  117. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  118. package/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -1
  119. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -1
  120. package/components/basic/progress/public_api.d.ts +0 -1
  121. package/components/basic/rich-text-editor/bundles/index.umd.js +15 -40
  122. package/components/basic/rich-text-editor/esm2022/public_api.mjs +1 -2
  123. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +13 -12
  124. package/components/basic/rich-text-editor/fesm2022/index.mjs +13 -37
  125. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  126. package/components/basic/rich-text-editor/public_api.d.ts +0 -1
  127. package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
  128. package/components/basic/search/bundles/index.umd.js +170 -207
  129. package/components/basic/search/esm2022/public_api.mjs +1 -2
  130. package/components/basic/search/esm2022/scrollable.directive.mjs +3 -2
  131. package/components/basic/search/esm2022/search.component.mjs +76 -72
  132. package/components/basic/search/fesm2022/index.mjs +107 -143
  133. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  134. package/components/basic/search/public_api.d.ts +0 -1
  135. package/components/basic/search/scrollable.directive.d.ts +1 -1
  136. package/components/basic/search/search.component.d.ts +1 -1
  137. package/components/basic/tree/bundles/index.umd.js +9 -33
  138. package/components/basic/tree/esm2022/public_api.mjs +1 -2
  139. package/components/basic/tree/esm2022/tree.component.mjs +7 -6
  140. package/components/basic/tree/fesm2022/index.mjs +8 -32
  141. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  142. package/components/basic/tree/public_api.d.ts +0 -1
  143. package/components/basic/tree/tree.component.d.ts +1 -1
  144. package/components/chart/bundles/index.umd.js +27 -53
  145. package/components/chart/chart.component.d.ts +1 -1
  146. package/components/chart/esm2022/chart.component.mjs +26 -24
  147. package/components/chart/esm2022/chart.utils.mjs +3 -1
  148. package/components/chart/esm2022/public_api.mjs +1 -2
  149. package/components/chart/fesm2022/index.mjs +27 -52
  150. package/components/chart/fesm2022/index.mjs.map +1 -1
  151. package/components/chart/public_api.d.ts +0 -1
  152. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -1
  153. package/components/containers/accordion/accordion.directive.d.ts +1 -1
  154. package/components/containers/accordion/bundles/index.umd.js +208 -237
  155. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -11
  156. package/components/containers/accordion/esm2022/accordion.directive.mjs +5 -4
  157. package/components/containers/accordion/esm2022/public_api.mjs +1 -2
  158. package/components/containers/accordion/fesm2022/index.mjs +189 -217
  159. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  160. package/components/containers/accordion/public_api.d.ts +0 -1
  161. package/components/containers/layout-grid/bundles/index.umd.js +13 -43
  162. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +7 -9
  163. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +3 -2
  164. package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +3 -2
  165. package/components/containers/layout-grid/esm2022/public_api.mjs +1 -2
  166. package/components/containers/layout-grid/fesm2022/index.mjs +13 -43
  167. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  168. package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +1 -1
  169. package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +1 -1
  170. package/components/containers/layout-grid/layout-grid.directive.d.ts +1 -1
  171. package/components/containers/layout-grid/public_api.d.ts +0 -1
  172. package/components/containers/linear-layout/bundles/index.umd.js +8 -33
  173. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +3 -2
  174. package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +3 -2
  175. package/components/containers/linear-layout/esm2022/public_api.mjs +1 -2
  176. package/components/containers/linear-layout/fesm2022/index.mjs +7 -32
  177. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  178. package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +1 -1
  179. package/components/containers/linear-layout/linear-layout.directive.d.ts +1 -1
  180. package/components/containers/linear-layout/public_api.d.ts +0 -1
  181. package/components/containers/panel/bundles/index.umd.js +87 -118
  182. package/components/containers/panel/esm2022/panel.component.mjs +48 -46
  183. package/components/containers/panel/esm2022/public_api.mjs +1 -2
  184. package/components/containers/panel/fesm2022/index.mjs +49 -79
  185. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  186. package/components/containers/panel/panel.component.d.ts +1 -1
  187. package/components/containers/panel/public_api.d.ts +0 -1
  188. package/components/containers/tabs/bundles/index.umd.js +112 -120
  189. package/components/containers/tabs/esm2022/public_api.mjs +1 -2
  190. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +8 -10
  191. package/components/containers/tabs/esm2022/tabs.component.mjs +61 -38
  192. package/components/containers/tabs/esm2022/tabs.props.mjs +2 -5
  193. package/components/containers/tabs/fesm2022/index.mjs +72 -81
  194. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  195. package/components/containers/tabs/public_api.d.ts +0 -1
  196. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +1 -1
  197. package/components/containers/tabs/tabs.component.d.ts +3 -1
  198. package/components/containers/tile/bundles/index.umd.js +6 -29
  199. package/components/containers/tile/esm2022/public_api.mjs +1 -2
  200. package/components/containers/tile/esm2022/tile.directive.mjs +3 -2
  201. package/components/containers/tile/fesm2022/index.mjs +5 -28
  202. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  203. package/components/containers/tile/public_api.d.ts +0 -1
  204. package/components/containers/tile/tile.directive.d.ts +1 -1
  205. package/components/containers/wizard/bundles/index.umd.js +355 -189
  206. package/components/containers/wizard/esm2022/public_api.mjs +2 -3
  207. package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +3 -2
  208. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +176 -0
  209. package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +8 -5
  210. package/components/containers/wizard/esm2022/wizard.component.mjs +264 -105
  211. package/components/containers/wizard/esm2022/wizard.props.mjs +8 -4
  212. package/components/containers/wizard/fesm2022/index.mjs +323 -155
  213. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  214. package/components/containers/wizard/public_api.d.ts +1 -2
  215. package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +1 -1
  216. package/components/containers/wizard/wizard-step/{wizard-step.directive.d.ts → wizard-step.component.d.ts} +12 -6
  217. package/components/containers/wizard/wizard.component.d.ts +64 -18
  218. package/components/data/card/bundles/index.umd.js +92 -135
  219. package/components/data/card/card-actions/card-actions.directive.d.ts +1 -1
  220. package/components/data/card/card-content/card-content.component.d.ts +1 -1
  221. package/components/data/card/card-footer/card-footer.directive.d.ts +1 -1
  222. package/components/data/card/card.component.d.ts +1 -1
  223. package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +3 -2
  224. package/components/data/card/esm2022/card-content/card-content.component.mjs +7 -6
  225. package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +3 -2
  226. package/components/data/card/esm2022/card.component.mjs +39 -38
  227. package/components/data/card/esm2022/public_api.mjs +1 -2
  228. package/components/data/card/fesm2022/index.mjs +49 -92
  229. package/components/data/card/fesm2022/index.mjs.map +1 -1
  230. package/components/data/card/public_api.d.ts +0 -1
  231. package/components/data/form/bundles/index.umd.js +115 -182
  232. package/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
  233. package/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -2
  234. package/components/data/form/esm2022/form-widget.directive.mjs +3 -2
  235. package/components/data/form/esm2022/form.component.mjs +101 -104
  236. package/components/data/form/esm2022/form.props.mjs +1 -11
  237. package/components/data/form/esm2022/live-actions/dependson.directive.mjs +3 -2
  238. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +3 -2
  239. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
  240. package/components/data/form/esm2022/live-form/live-form.directive.mjs +3 -6
  241. package/components/data/form/esm2022/public_api.mjs +1 -2
  242. package/components/data/form/fesm2022/index.mjs +117 -184
  243. package/components/data/form/fesm2022/index.mjs.map +1 -1
  244. package/components/data/form/form-action/form-action.directive.d.ts +1 -1
  245. package/components/data/form/form-field/form-field.directive.d.ts +1 -1
  246. package/components/data/form/form-widget.directive.d.ts +1 -1
  247. package/components/data/form/form.component.d.ts +1 -1
  248. package/components/data/form/live-actions/dependson.directive.d.ts +1 -1
  249. package/components/data/form/live-actions/live-actions.directive.d.ts +1 -1
  250. package/components/data/form/live-filter/live-filter.directive.d.ts +1 -1
  251. package/components/data/form/live-form/live-form.directive.d.ts +1 -1
  252. package/components/data/form/public_api.d.ts +0 -1
  253. package/components/data/list/bundles/index.umd.js +195 -504
  254. package/components/data/list/esm2022/list-item.directive.mjs +4 -3
  255. package/components/data/list/esm2022/list.component.mjs +187 -232
  256. package/components/data/list/esm2022/list.props.mjs +2 -3
  257. package/components/data/list/esm2022/public_api.mjs +1 -2
  258. package/components/data/list/fesm2022/index.mjs +193 -502
  259. package/components/data/list/fesm2022/index.mjs.map +1 -1
  260. package/components/data/list/list-item.directive.d.ts +1 -1
  261. package/components/data/list/list.component.d.ts +1 -1
  262. package/components/data/list/public_api.d.ts +0 -1
  263. package/components/data/live-table/bundles/index.umd.js +9 -33
  264. package/components/data/live-table/esm2022/live-table.component.mjs +7 -6
  265. package/components/data/live-table/esm2022/public_api.mjs +1 -2
  266. package/components/data/live-table/fesm2022/index.mjs +8 -32
  267. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  268. package/components/data/live-table/live-table.component.d.ts +1 -1
  269. package/components/data/live-table/public_api.d.ts +0 -1
  270. package/components/data/pagination/bundles/index.umd.js +80 -110
  271. package/components/data/pagination/esm2022/pagination.component.mjs +80 -76
  272. package/components/data/pagination/esm2022/public_api.mjs +1 -2
  273. package/components/data/pagination/fesm2022/index.mjs +81 -110
  274. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  275. package/components/data/pagination/pagination.component.d.ts +1 -1
  276. package/components/data/pagination/public_api.d.ts +0 -1
  277. package/components/data/table/bundles/index.umd.js +69 -135
  278. package/components/data/table/esm2022/public_api.mjs +1 -2
  279. package/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
  280. package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -2
  281. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +3 -2
  282. package/components/data/table/esm2022/table-cud.directive.mjs +3 -2
  283. package/components/data/table/esm2022/table-filter.directive.mjs +5 -2
  284. package/components/data/table/esm2022/table-row/table-row.directive.mjs +3 -2
  285. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
  286. package/components/data/table/esm2022/table.component.mjs +51 -48
  287. package/components/data/table/fesm2022/index.mjs +73 -140
  288. package/components/data/table/fesm2022/index.mjs.map +1 -1
  289. package/components/data/table/public_api.d.ts +0 -1
  290. package/components/data/table/table-action/table-action.directive.d.ts +1 -1
  291. package/components/data/table/table-column/table-column.directive.d.ts +1 -1
  292. package/components/data/table/table-column-group/table-column-group.directive.d.ts +1 -1
  293. package/components/data/table/table-cud.directive.d.ts +1 -1
  294. package/components/data/table/table-filter.directive.d.ts +1 -1
  295. package/components/data/table/table-row/table-row.directive.d.ts +1 -1
  296. package/components/data/table/table-row-action/table-row-action.directive.d.ts +1 -1
  297. package/components/data/table/table.component.d.ts +1 -1
  298. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
  299. package/components/dialogs/alert-dialog/bundles/index.umd.js +32 -64
  300. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +10 -10
  301. package/components/dialogs/alert-dialog/esm2022/public_api.mjs +1 -2
  302. package/components/dialogs/alert-dialog/fesm2022/index.mjs +11 -43
  303. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  304. package/components/dialogs/alert-dialog/public_api.d.ts +0 -1
  305. package/components/dialogs/confirm-dialog/bundles/index.umd.js +10 -42
  306. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  307. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -9
  308. package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +1 -2
  309. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +10 -42
  310. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  311. package/components/dialogs/confirm-dialog/public_api.d.ts +0 -1
  312. package/components/dialogs/default/bundles/index.umd.js +76 -136
  313. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +1 -1
  314. package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +1 -1
  315. package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +1 -1
  316. package/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
  317. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -2
  318. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +3 -2
  319. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +70 -97
  320. package/components/dialogs/default/esm2022/public_api.mjs +1 -2
  321. package/components/dialogs/default/fesm2022/index.mjs +78 -137
  322. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  323. package/components/dialogs/default/public_api.d.ts +0 -1
  324. package/components/dialogs/design-dialog/bundles/index.umd.js +16 -47
  325. package/components/dialogs/design-dialog/dialog.component.d.ts +1 -1
  326. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +14 -13
  327. package/components/dialogs/design-dialog/esm2022/public_api.mjs +1 -2
  328. package/components/dialogs/design-dialog/fesm2022/index.mjs +14 -45
  329. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  330. package/components/dialogs/design-dialog/public_api.d.ts +0 -1
  331. package/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -57
  332. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -21
  333. package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +1 -2
  334. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +21 -57
  335. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  336. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  337. package/components/dialogs/iframe-dialog/public_api.d.ts +0 -1
  338. package/components/dialogs/login-dialog/bundles/index.umd.js +6 -38
  339. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +3 -2
  340. package/components/dialogs/login-dialog/esm2022/public_api.mjs +1 -2
  341. package/components/dialogs/login-dialog/fesm2022/index.mjs +6 -41
  342. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  343. package/components/dialogs/login-dialog/login-dialog.directive.d.ts +1 -1
  344. package/components/dialogs/login-dialog/public_api.d.ts +0 -1
  345. package/components/dialogs/partial-dialog/bundles/index.umd.js +17 -49
  346. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +16 -15
  347. package/components/dialogs/partial-dialog/esm2022/public_api.mjs +1 -2
  348. package/components/dialogs/partial-dialog/fesm2022/index.mjs +16 -47
  349. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  350. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +1 -1
  351. package/components/dialogs/partial-dialog/public_api.d.ts +0 -1
  352. package/components/input/calendar/bundles/index.umd.js +24 -46
  353. package/components/input/calendar/calendar.component.d.ts +1 -1
  354. package/components/input/calendar/esm2022/calendar.component.mjs +28 -10
  355. package/components/input/calendar/esm2022/calendar.props.mjs +1 -1
  356. package/components/input/calendar/esm2022/public_api.mjs +1 -2
  357. package/components/input/calendar/fesm2022/index.mjs +30 -48
  358. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  359. package/components/input/calendar/public_api.d.ts +0 -1
  360. package/components/input/chips/bundles/index.umd.js +86 -114
  361. package/components/input/chips/chips.component.d.ts +1 -1
  362. package/components/input/chips/esm2022/chips.component.mjs +28 -27
  363. package/components/input/chips/esm2022/public_api.mjs +1 -2
  364. package/components/input/chips/fesm2022/index.mjs +29 -56
  365. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  366. package/components/input/chips/public_api.d.ts +0 -1
  367. package/components/input/color-picker/bundles/index.umd.js +14 -42
  368. package/components/input/color-picker/color-picker.component.d.ts +1 -1
  369. package/components/input/color-picker/esm2022/color-picker.component.mjs +14 -8
  370. package/components/input/color-picker/esm2022/public_api.mjs +1 -2
  371. package/components/input/color-picker/fesm2022/index.mjs +15 -42
  372. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  373. package/components/input/color-picker/public_api.d.ts +0 -1
  374. package/components/input/currency/bundles/index.umd.js +11 -41
  375. package/components/input/currency/currency.component.d.ts +1 -1
  376. package/components/input/currency/esm2022/currency.component.mjs +8 -6
  377. package/components/input/currency/esm2022/public_api.mjs +1 -2
  378. package/components/input/currency/fesm2022/index.mjs +11 -41
  379. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  380. package/components/input/currency/public_api.d.ts +0 -1
  381. package/components/input/default/bundles/index.umd.js +2183 -2263
  382. package/components/input/default/button/button.component.d.ts +1 -1
  383. package/components/input/default/button-group/button-group.directive.d.ts +1 -1
  384. package/components/input/default/caption-position.directive.d.ts +1 -1
  385. package/components/input/default/checkbox/checkbox.component.d.ts +1 -1
  386. package/components/input/default/checkboxset/checkboxset.component.d.ts +1 -1
  387. package/components/input/default/composite/composite.directive.d.ts +1 -1
  388. package/components/input/default/esm2022/button/button.component.mjs +23 -21
  389. package/components/input/default/esm2022/button-group/button-group.directive.mjs +3 -2
  390. package/components/input/default/esm2022/caption-position.directive.mjs +3 -2
  391. package/components/input/default/esm2022/checkbox/checkbox.component.mjs +9 -6
  392. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +73 -72
  393. package/components/input/default/esm2022/composite/composite.directive.mjs +3 -2
  394. package/components/input/default/esm2022/number/number.component.mjs +9 -6
  395. package/components/input/default/esm2022/public_api.mjs +1 -2
  396. package/components/input/default/esm2022/radioset/radioset.component.mjs +73 -72
  397. package/components/input/default/esm2022/select/select.component.mjs +29 -32
  398. package/components/input/default/esm2022/switch/switch.component.mjs +29 -27
  399. package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +9 -6
  400. package/components/input/default/esm2022/text/color/input-color.component.mjs +9 -6
  401. package/components/input/default/esm2022/text/email/input-email.component.mjs +9 -6
  402. package/components/input/default/esm2022/text/number/input-number.component.mjs +9 -6
  403. package/components/input/default/esm2022/text/text/input-text.component.mjs +10 -6
  404. package/components/input/default/esm2022/textarea/textarea.component.mjs +14 -11
  405. package/components/input/default/fesm2022/index.mjs +2198 -2277
  406. package/components/input/default/fesm2022/index.mjs.map +1 -1
  407. package/components/input/default/number/number.component.d.ts +1 -1
  408. package/components/input/default/public_api.d.ts +0 -1
  409. package/components/input/default/radioset/radioset.component.d.ts +1 -1
  410. package/components/input/default/select/select.component.d.ts +1 -1
  411. package/components/input/default/switch/switch.component.d.ts +1 -1
  412. package/components/input/default/text/calendar/input-calendar.component.d.ts +1 -1
  413. package/components/input/default/text/color/input-color.component.d.ts +1 -1
  414. package/components/input/default/text/email/input-email.component.d.ts +1 -1
  415. package/components/input/default/text/number/input-number.component.d.ts +1 -1
  416. package/components/input/default/text/text/input-text.component.d.ts +1 -1
  417. package/components/input/default/textarea/textarea.component.d.ts +1 -1
  418. package/components/input/epoch/base-date-time.component.d.ts +0 -1
  419. package/components/input/epoch/bundles/index.umd.js +220 -262
  420. package/components/input/epoch/date/date.component.d.ts +1 -1
  421. package/components/input/epoch/date/imaskUtil.d.ts +2 -2
  422. package/components/input/epoch/date-time/date-time-picker.component.d.ts +6 -6
  423. package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
  424. package/components/input/epoch/esm2022/base-date-time.component.mjs +6 -9
  425. package/components/input/epoch/esm2022/date/date.component.mjs +19 -18
  426. package/components/input/epoch/esm2022/date/imaskUtil.mjs +3 -1
  427. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +76 -62
  428. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +28 -24
  429. package/components/input/epoch/esm2022/picker/picker.component.mjs +33 -28
  430. package/components/input/epoch/esm2022/public_api.mjs +1 -2
  431. package/components/input/epoch/esm2022/time/time.component.mjs +25 -21
  432. package/components/input/epoch/fesm2022/index.mjs +196 -237
  433. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  434. package/components/input/epoch/picker/picker.component.d.ts +2 -2
  435. package/components/input/epoch/public_api.d.ts +0 -1
  436. package/components/input/epoch/time/time.component.d.ts +1 -1
  437. package/components/input/file-upload/bundles/index.umd.js +135 -178
  438. package/components/input/file-upload/esm2022/file-upload.component.mjs +133 -150
  439. package/components/input/file-upload/esm2022/public_api.mjs +1 -2
  440. package/components/input/file-upload/fesm2022/index.mjs +133 -175
  441. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  442. package/components/input/file-upload/file-upload.component.d.ts +1 -2
  443. package/components/input/file-upload/public_api.d.ts +0 -1
  444. package/components/input/rating/bundles/index.umd.js +50 -77
  445. package/components/input/rating/esm2022/public_api.mjs +1 -2
  446. package/components/input/rating/esm2022/rating.component.mjs +23 -20
  447. package/components/input/rating/fesm2022/index.mjs +23 -49
  448. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  449. package/components/input/rating/public_api.d.ts +0 -1
  450. package/components/input/rating/rating.component.d.ts +1 -1
  451. package/components/input/slider/bundles/index.umd.js +35 -63
  452. package/components/input/slider/esm2022/public_api.mjs +1 -2
  453. package/components/input/slider/esm2022/slider.component.mjs +15 -13
  454. package/components/input/slider/fesm2022/index.mjs +15 -42
  455. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  456. package/components/input/slider/public_api.d.ts +0 -1
  457. package/components/input/slider/slider.component.d.ts +1 -1
  458. package/components/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
  459. package/components/navigation/breadcrumb/bundles/index.umd.js +40 -67
  460. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +23 -21
  461. package/components/navigation/breadcrumb/esm2022/public_api.mjs +1 -2
  462. package/components/navigation/breadcrumb/fesm2022/index.mjs +23 -50
  463. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  464. package/components/navigation/breadcrumb/public_api.d.ts +0 -1
  465. package/components/navigation/menu/bundles/index.umd.js +642 -696
  466. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +1 -1
  467. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +11 -9
  468. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +24 -18
  469. package/components/navigation/menu/esm2022/menu.component.mjs +34 -31
  470. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
  471. package/components/navigation/menu/esm2022/nav/nav.component.mjs +39 -29
  472. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +6 -3
  473. package/components/navigation/menu/esm2022/public_api.mjs +1 -2
  474. package/components/navigation/menu/fesm2022/index.mjs +534 -587
  475. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  476. package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +1 -1
  477. package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +1 -1
  478. package/components/navigation/menu/menu.component.d.ts +1 -1
  479. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
  480. package/components/navigation/menu/nav/nav.component.d.ts +1 -1
  481. package/components/navigation/menu/nav/navigation-control.directive.d.ts +1 -1
  482. package/components/navigation/menu/public_api.d.ts +0 -1
  483. package/components/navigation/navbar/bundles/index.umd.js +20 -44
  484. package/components/navigation/navbar/esm2022/navbar.component.mjs +18 -16
  485. package/components/navigation/navbar/esm2022/public_api.mjs +1 -2
  486. package/components/navigation/navbar/fesm2022/index.mjs +18 -41
  487. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  488. package/components/navigation/navbar/navbar.component.d.ts +1 -1
  489. package/components/navigation/navbar/public_api.d.ts +0 -1
  490. package/components/navigation/popover/bundles/index.umd.js +12 -43
  491. package/components/navigation/popover/esm2022/popover.component.mjs +11 -9
  492. package/components/navigation/popover/esm2022/public_api.mjs +1 -2
  493. package/components/navigation/popover/fesm2022/index.mjs +11 -41
  494. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  495. package/components/navigation/popover/popover.component.d.ts +1 -1
  496. package/components/navigation/popover/public_api.d.ts +0 -1
  497. package/components/page/default/bundles/index.umd.js +96 -138
  498. package/components/page/default/content/content.component.d.ts +1 -1
  499. package/components/page/default/esm2022/content/content.component.mjs +7 -6
  500. package/components/page/default/esm2022/layout.directive.mjs +3 -2
  501. package/components/page/default/esm2022/page-content/page-content.component.mjs +7 -6
  502. package/components/page/default/esm2022/page-content/page-content.props.mjs +2 -3
  503. package/components/page/default/esm2022/page.directive.mjs +3 -2
  504. package/components/page/default/esm2022/public_api.mjs +1 -2
  505. package/components/page/default/esm2022/router-outlet.directive.mjs +3 -2
  506. package/components/page/default/esm2022/spa-page.directive.mjs +3 -2
  507. package/components/page/default/fesm2022/index.mjs +96 -138
  508. package/components/page/default/fesm2022/index.mjs.map +1 -1
  509. package/components/page/default/layout.directive.d.ts +1 -1
  510. package/components/page/default/page-content/page-content.component.d.ts +1 -1
  511. package/components/page/default/page.directive.d.ts +1 -1
  512. package/components/page/default/public_api.d.ts +0 -1
  513. package/components/page/default/router-outlet.directive.d.ts +1 -1
  514. package/components/page/default/spa-page.directive.d.ts +1 -1
  515. package/components/page/footer/bundles/index.umd.js +6 -29
  516. package/components/page/footer/esm2022/footer.directive.mjs +3 -2
  517. package/components/page/footer/esm2022/public_api.mjs +1 -2
  518. package/components/page/footer/fesm2022/index.mjs +5 -28
  519. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  520. package/components/page/footer/footer.directive.d.ts +1 -1
  521. package/components/page/footer/public_api.d.ts +0 -1
  522. package/components/page/header/bundles/index.umd.js +9 -33
  523. package/components/page/header/esm2022/header.component.mjs +7 -6
  524. package/components/page/header/esm2022/public_api.mjs +1 -2
  525. package/components/page/header/fesm2022/index.mjs +8 -32
  526. package/components/page/header/fesm2022/index.mjs.map +1 -1
  527. package/components/page/header/header.component.d.ts +1 -1
  528. package/components/page/header/public_api.d.ts +0 -1
  529. package/components/page/left-panel/bundles/index.umd.js +6 -29
  530. package/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -2
  531. package/components/page/left-panel/esm2022/public_api.mjs +1 -2
  532. package/components/page/left-panel/fesm2022/index.mjs +5 -28
  533. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  534. package/components/page/left-panel/left-panel.directive.d.ts +1 -1
  535. package/components/page/left-panel/public_api.d.ts +0 -1
  536. package/components/page/right-panel/bundles/index.umd.js +6 -29
  537. package/components/page/right-panel/esm2022/public_api.mjs +1 -2
  538. package/components/page/right-panel/esm2022/right-panel.directive.mjs +3 -2
  539. package/components/page/right-panel/fesm2022/index.mjs +5 -28
  540. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  541. package/components/page/right-panel/public_api.d.ts +0 -1
  542. package/components/page/right-panel/right-panel.directive.d.ts +1 -1
  543. package/components/page/top-nav/bundles/index.umd.js +6 -29
  544. package/components/page/top-nav/esm2022/public_api.mjs +1 -2
  545. package/components/page/top-nav/esm2022/top-nav.directive.mjs +3 -2
  546. package/components/page/top-nav/fesm2022/index.mjs +5 -28
  547. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  548. package/components/page/top-nav/public_api.d.ts +0 -1
  549. package/components/page/top-nav/top-nav.directive.d.ts +1 -1
  550. package/components/prefab/bundles/index.umd.js +8 -33
  551. package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
  552. package/components/prefab/esm2022/prefab.directive.mjs +3 -2
  553. package/components/prefab/esm2022/public_api.mjs +1 -2
  554. package/components/prefab/fesm2022/index.mjs +7 -32
  555. package/components/prefab/fesm2022/index.mjs.map +1 -1
  556. package/components/prefab/prefab-container/prefab-container.directive.d.ts +1 -1
  557. package/components/prefab/prefab.directive.d.ts +1 -1
  558. package/components/prefab/public_api.d.ts +0 -1
  559. package/core/bundles/index.umd.js +32 -85
  560. package/core/esm2022/public_api.mjs +2 -3
  561. package/core/esm2022/types/types.mjs +1 -1
  562. package/core/esm2022/utils/build-utils.mjs +9 -5
  563. package/core/esm2022/utils/utils.mjs +12 -40
  564. package/core/fesm2022/index.mjs +32 -81
  565. package/core/fesm2022/index.mjs.map +1 -1
  566. package/core/public_api.d.ts +1 -2
  567. package/core/types/types.d.ts +1 -0
  568. package/core/utils/utils.d.ts +1 -3
  569. package/http/bundles/index.umd.js +9 -34
  570. package/http/esm2022/http.service.mjs +6 -3
  571. package/http/esm2022/public_api.mjs +4 -2
  572. package/http/fesm2022/index.mjs +9 -34
  573. package/http/fesm2022/index.mjs.map +1 -1
  574. package/http/public_api.d.ts +3 -1
  575. package/npm-shrinkwrap.json +2 -2
  576. package/oAuth/bundles/index.umd.js +9 -42
  577. package/oAuth/esm2022/oAuth.utils.mjs +7 -23
  578. package/oAuth/esm2022/public_api.mjs +1 -2
  579. package/oAuth/fesm2022/index.mjs +8 -40
  580. package/oAuth/fesm2022/index.mjs.map +1 -1
  581. package/oAuth/public_api.d.ts +0 -1
  582. package/package-lock.json +2 -2
  583. package/package.json +1 -1
  584. package/runtime/base/bundles/index.umd.js +690 -596
  585. package/runtime/base/components/app-component/app.component.d.ts +1 -1
  586. package/runtime/base/components/app-spinner.component.d.ts +1 -1
  587. package/runtime/base/components/custom-toaster.component.d.ts +1 -1
  588. package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -1
  589. package/runtime/base/components/prefab-preview.component.d.ts +1 -1
  590. package/runtime/base/directives/accessroles.directive.d.ts +1 -1
  591. package/runtime/base/directives/prefab.directive.d.ts +1 -1
  592. package/runtime/base/esm2022/components/app-component/app.component.mjs +42 -49
  593. package/runtime/base/esm2022/components/app-spinner.component.mjs +29 -21
  594. package/runtime/base/esm2022/components/base-page.component.mjs +3 -11
  595. package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -11
  596. package/runtime/base/esm2022/components/custom-toaster.component.mjs +20 -14
  597. package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
  598. package/runtime/base/esm2022/components/prefab-preview.component.mjs +8 -6
  599. package/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -2
  600. package/runtime/base/esm2022/directives/prefab.directive.mjs +3 -2
  601. package/runtime/base/esm2022/public_api.mjs +1 -1
  602. package/runtime/base/esm2022/resolves/security-config.resolve.mjs +4 -6
  603. package/runtime/base/esm2022/runtime-base.module.mjs +486 -337
  604. package/runtime/base/esm2022/services/app.manager.service.mjs +31 -48
  605. package/runtime/base/esm2022/services/app.service.mjs +8 -1
  606. package/runtime/base/esm2022/services/i18n.service.mjs +39 -72
  607. package/runtime/base/fesm2022/index.mjs +697 -605
  608. package/runtime/base/fesm2022/index.mjs.map +1 -1
  609. package/runtime/base/runtime-base.module.d.ts +115 -84
  610. package/runtime/base/services/app.service.d.ts +1 -0
  611. package/runtime/base/services/i18n.service.d.ts +1 -1
  612. package/runtime/dynamic/app/app.config.d.ts +5 -0
  613. package/runtime/dynamic/app/components/page-wrapper.component.d.ts +1 -1
  614. package/runtime/dynamic/bundles/index.umd.js +270 -117
  615. package/runtime/dynamic/esm2022/app/app.config.mjs +136 -0
  616. package/runtime/dynamic/esm2022/app/app.module.mjs +151 -105
  617. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +7 -4
  618. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +1 -1
  619. package/runtime/dynamic/esm2022/main.mjs +11 -16
  620. package/runtime/dynamic/fesm2022/index.mjs +340 -184
  621. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  622. package/security/bundles/index.umd.js +3 -34
  623. package/security/esm2022/public_api.mjs +1 -2
  624. package/security/esm2022/security.service.mjs +4 -15
  625. package/security/fesm2022/index.mjs +5 -32
  626. package/security/fesm2022/index.mjs.map +1 -1
  627. package/security/public_api.d.ts +0 -1
  628. package/transpiler/bundles/index.umd.js +271 -168
  629. package/transpiler/esm2022/build.mjs +1 -6
  630. package/transpiler/esm2022/imports.mjs +268 -161
  631. package/transpiler/fesm2022/index.mjs +267 -165
  632. package/transpiler/fesm2022/index.mjs.map +1 -1
  633. package/variables/bundles/index.umd.js +16 -197
  634. package/variables/constants/variables.constants.d.ts +0 -2
  635. package/variables/esm2022/constants/variables.constants.mjs +1 -3
  636. package/variables/esm2022/factory/variable-manager.factory.mjs +1 -3
  637. package/variables/esm2022/factory/variable.factory.mjs +1 -5
  638. package/variables/esm2022/manager/action/logout-action.manager.mjs +5 -7
  639. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -3
  640. package/variables/esm2022/public_api.mjs +1 -5
  641. package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -11
  642. package/variables/esm2022/util/variable/service-variable.utils.mjs +1 -4
  643. package/variables/esm2022/util/variable/variables.utils.mjs +5 -19
  644. package/variables/fesm2022/index.mjs +16 -198
  645. package/variables/fesm2022/index.mjs.map +1 -1
  646. package/variables/public_api.d.ts +0 -4
  647. package/components/advanced/carousel/carousel.module.d.ts +0 -11
  648. package/components/advanced/carousel/esm2022/carousel.module.mjs +0 -36
  649. package/components/advanced/custom/custom-widget.module.d.ts +0 -10
  650. package/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
  651. package/components/advanced/login/esm2022/login.module.mjs +0 -28
  652. package/components/advanced/login/login.module.d.ts +0 -9
  653. package/components/advanced/marquee/esm2022/marquee.module.mjs +0 -28
  654. package/components/advanced/marquee/marquee.module.d.ts +0 -9
  655. package/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +0 -221
  656. package/components/base/widgets/common/smooth-scroll/smooth-scroll.directive.d.ts +0 -22
  657. package/components/basic/default/basic.module.d.ts +0 -17
  658. package/components/basic/default/esm2022/basic.module.mjs +0 -60
  659. package/components/basic/progress/esm2022/progress.module.mjs +0 -36
  660. package/components/basic/progress/progress.module.d.ts +0 -11
  661. package/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +0 -28
  662. package/components/basic/rich-text-editor/rich-text-editor.module.d.ts +0 -9
  663. package/components/basic/search/esm2022/search.module.mjs +0 -45
  664. package/components/basic/search/search.module.d.ts +0 -12
  665. package/components/basic/tree/esm2022/tree.module.mjs +0 -28
  666. package/components/basic/tree/tree.module.d.ts +0 -9
  667. package/components/chart/chart.module.d.ts +0 -10
  668. package/components/chart/esm2022/chart.module.mjs +0 -32
  669. package/components/containers/accordion/accordion.module.d.ts +0 -10
  670. package/components/containers/accordion/esm2022/accordion.module.mjs +0 -32
  671. package/components/containers/layout-grid/esm2022/layout-grid.module.mjs +0 -36
  672. package/components/containers/layout-grid/layout-grid.module.d.ts +0 -11
  673. package/components/containers/linear-layout/esm2022/linear-layout.module.mjs +0 -32
  674. package/components/containers/linear-layout/linear-layout.module.d.ts +0 -10
  675. package/components/containers/panel/esm2022/panel.module.mjs +0 -36
  676. package/components/containers/panel/panel.module.d.ts +0 -11
  677. package/components/containers/tabs/esm2022/tabs.module.mjs +0 -32
  678. package/components/containers/tabs/tabs.module.d.ts +0 -10
  679. package/components/containers/tile/esm2022/tile.module.mjs +0 -28
  680. package/components/containers/tile/tile.module.d.ts +0 -9
  681. package/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +0 -140
  682. package/components/containers/wizard/esm2022/wizard.module.mjs +0 -40
  683. package/components/containers/wizard/wizard.module.d.ts +0 -12
  684. package/components/data/card/card.module.d.ts +0 -15
  685. package/components/data/card/esm2022/card.module.mjs +0 -52
  686. package/components/data/form/esm2022/form.module.mjs +0 -68
  687. package/components/data/form/form.module.d.ts +0 -19
  688. package/components/data/list/esm2022/list.module.mjs +0 -40
  689. package/components/data/list/list.module.d.ts +0 -11
  690. package/components/data/live-table/esm2022/live-table.module.mjs +0 -28
  691. package/components/data/live-table/live-table.module.d.ts +0 -9
  692. package/components/data/pagination/esm2022/pagination.module.mjs +0 -36
  693. package/components/data/pagination/pagination.module.d.ts +0 -11
  694. package/components/data/table/esm2022/table.module.mjs +0 -91
  695. package/components/data/table/table.module.d.ts +0 -24
  696. package/components/dialogs/alert-dialog/alert-dialog.module.d.ts +0 -11
  697. package/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +0 -36
  698. package/components/dialogs/confirm-dialog/confirm-dialog.module.d.ts +0 -11
  699. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +0 -36
  700. package/components/dialogs/default/dialog.module.d.ts +0 -12
  701. package/components/dialogs/default/esm2022/dialog.module.mjs +0 -40
  702. package/components/dialogs/design-dialog/design-dialog.module.d.ts +0 -11
  703. package/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +0 -36
  704. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +0 -40
  705. package/components/dialogs/iframe-dialog/iframe-dialog.module.d.ts +0 -12
  706. package/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +0 -40
  707. package/components/dialogs/login-dialog/login-dialog.module.d.ts +0 -12
  708. package/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +0 -36
  709. package/components/dialogs/partial-dialog/partial-dialog.module.d.ts +0 -11
  710. package/components/input/calendar/calendar.module.d.ts +0 -12
  711. package/components/input/calendar/esm2022/calendar.module.mjs +0 -40
  712. package/components/input/chips/chips.module.d.ts +0 -10
  713. package/components/input/chips/esm2022/chips.module.mjs +0 -32
  714. package/components/input/color-picker/color-picker.module.d.ts +0 -11
  715. package/components/input/color-picker/esm2022/color-picker.module.mjs +0 -36
  716. package/components/input/currency/currency.module.d.ts +0 -11
  717. package/components/input/currency/esm2022/currency.module.mjs +0 -36
  718. package/components/input/default/esm2022/input.module.mjs +0 -96
  719. package/components/input/default/input.module.d.ts +0 -26
  720. package/components/input/epoch/epoch.module.d.ts +0 -18
  721. package/components/input/epoch/esm2022/epoch.module.mjs +0 -70
  722. package/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  723. package/components/input/file-upload/file-upload.module.d.ts +0 -9
  724. package/components/input/rating/esm2022/rating.module.mjs +0 -32
  725. package/components/input/rating/rating.module.d.ts +0 -10
  726. package/components/input/slider/esm2022/slider.module.mjs +0 -32
  727. package/components/input/slider/slider.module.d.ts +0 -10
  728. package/components/navigation/breadcrumb/breadcrumb.module.d.ts +0 -10
  729. package/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +0 -32
  730. package/components/navigation/menu/esm2022/menu.module.mjs +0 -71
  731. package/components/navigation/menu/menu.module.d.ts +0 -17
  732. package/components/navigation/navbar/esm2022/navbar.module.mjs +0 -28
  733. package/components/navigation/navbar/navbar.module.d.ts +0 -9
  734. package/components/navigation/popover/esm2022/popover.module.mjs +0 -36
  735. package/components/navigation/popover/popover.module.d.ts +0 -11
  736. package/components/page/default/esm2022/page.module.mjs +0 -55
  737. package/components/page/default/page.module.d.ts +0 -14
  738. package/components/page/footer/esm2022/footer.module.mjs +0 -28
  739. package/components/page/footer/footer.module.d.ts +0 -9
  740. package/components/page/header/esm2022/header.module.mjs +0 -28
  741. package/components/page/header/header.module.d.ts +0 -9
  742. package/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  743. package/components/page/left-panel/left-panel.module.d.ts +0 -9
  744. package/components/page/right-panel/esm2022/right-panel.module.mjs +0 -28
  745. package/components/page/right-panel/right-panel.module.d.ts +0 -9
  746. package/components/page/top-nav/esm2022/top-nav.module.mjs +0 -28
  747. package/components/page/top-nav/top-nav.module.d.ts +0 -9
  748. package/components/prefab/esm2022/prefab.module.mjs +0 -32
  749. package/components/prefab/prefab.module.d.ts +0 -10
  750. package/core/core.module.d.ts +0 -9
  751. package/core/esm2022/core.module.mjs +0 -27
  752. package/http/esm2022/http-service.module.mjs +0 -36
  753. package/http/http-service.module.d.ts +0 -14
  754. package/locales/fullcalendar/af.js +0 -27
  755. package/locales/fullcalendar/ar-dz.js +0 -28
  756. package/locales/fullcalendar/ar-kw.js +0 -28
  757. package/locales/fullcalendar/ar-ly.js +0 -28
  758. package/locales/fullcalendar/ar-ma.js +0 -28
  759. package/locales/fullcalendar/ar-sa.js +0 -28
  760. package/locales/fullcalendar/ar-tn.js +0 -28
  761. package/locales/fullcalendar/ar.js +0 -28
  762. package/locales/fullcalendar/az.js +0 -29
  763. package/locales/fullcalendar/bg.js +0 -28
  764. package/locales/fullcalendar/bs.js +0 -29
  765. package/locales/fullcalendar/ca.js +0 -27
  766. package/locales/fullcalendar/cs.js +0 -29
  767. package/locales/fullcalendar/da.js +0 -27
  768. package/locales/fullcalendar/de.js +0 -30
  769. package/locales/fullcalendar/el.js +0 -27
  770. package/locales/fullcalendar/en-au.js +0 -14
  771. package/locales/fullcalendar/en-gb.js +0 -14
  772. package/locales/fullcalendar/en-nz.js +0 -14
  773. package/locales/fullcalendar/es-us.js +0 -27
  774. package/locales/fullcalendar/es.js +0 -27
  775. package/locales/fullcalendar/et.js +0 -29
  776. package/locales/fullcalendar/eu.js +0 -27
  777. package/locales/fullcalendar/fa.js +0 -30
  778. package/locales/fullcalendar/fi.js +0 -27
  779. package/locales/fullcalendar/fr-ca.js +0 -24
  780. package/locales/fullcalendar/fr-ch.js +0 -28
  781. package/locales/fullcalendar/fr.js +0 -28
  782. package/locales/fullcalendar/gl.js +0 -27
  783. package/locales/fullcalendar/he.js +0 -24
  784. package/locales/fullcalendar/hi.js +0 -29
  785. package/locales/fullcalendar/hr.js +0 -29
  786. package/locales/fullcalendar/hu.js +0 -27
  787. package/locales/fullcalendar/id.js +0 -27
  788. package/locales/fullcalendar/is.js +0 -27
  789. package/locales/fullcalendar/it.js +0 -29
  790. package/locales/fullcalendar/ja.js +0 -25
  791. package/locales/fullcalendar/ka.js +0 -29
  792. package/locales/fullcalendar/kk.js +0 -29
  793. package/locales/fullcalendar/ko.js +0 -23
  794. package/locales/fullcalendar/lb.js +0 -27
  795. package/locales/fullcalendar/lt.js +0 -27
  796. package/locales/fullcalendar/lv.js +0 -29
  797. package/locales/fullcalendar/mk.js +0 -25
  798. package/locales/fullcalendar/ms.js +0 -29
  799. package/locales/fullcalendar/nb.js +0 -27
  800. package/locales/fullcalendar/ne.js +0 -27
  801. package/locales/fullcalendar/nl.js +0 -27
  802. package/locales/fullcalendar/nn.js +0 -27
  803. package/locales/fullcalendar/pl.js +0 -27
  804. package/locales/fullcalendar/pt-br.js +0 -25
  805. package/locales/fullcalendar/pt.js +0 -27
  806. package/locales/fullcalendar/ro.js +0 -29
  807. package/locales/fullcalendar/ru.js +0 -29
  808. package/locales/fullcalendar/sk.js +0 -29
  809. package/locales/fullcalendar/sl.js +0 -27
  810. package/locales/fullcalendar/sq.js +0 -29
  811. package/locales/fullcalendar/sr-cyrl.js +0 -29
  812. package/locales/fullcalendar/sr.js +0 -29
  813. package/locales/fullcalendar/sv.js +0 -27
  814. package/locales/fullcalendar/th.js +0 -30
  815. package/locales/fullcalendar/tr.js +0 -27
  816. package/locales/fullcalendar/ug.js +0 -17
  817. package/locales/fullcalendar/uk.js +0 -29
  818. package/locales/fullcalendar/uz.js +0 -21
  819. package/locales/fullcalendar/vi.js +0 -29
  820. package/locales/fullcalendar/zh-cn.js +0 -30
  821. package/locales/fullcalendar/zh-tw.js +0 -23
  822. package/mobile/components/basic/default/.npmignore +0 -2
  823. package/mobile/components/basic/default/anchor/anchor.directive.d.ts +0 -8
  824. package/mobile/components/basic/default/app-update/app-update.component.d.ts +0 -26
  825. package/mobile/components/basic/default/basic.module.d.ts +0 -15
  826. package/mobile/components/basic/default/bundles/index.umd.js +0 -980
  827. package/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +0 -44
  828. package/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +0 -116
  829. package/mobile/components/basic/default/esm2022/basic.module.mjs +0 -52
  830. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +0 -236
  831. package/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +0 -85
  832. package/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +0 -61
  833. package/mobile/components/basic/default/esm2022/index.mjs +0 -5
  834. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +0 -183
  835. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.props.mjs +0 -5
  836. package/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +0 -47
  837. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +0 -175
  838. package/mobile/components/basic/default/esm2022/public_api.mjs +0 -10
  839. package/mobile/components/basic/default/fesm2022/index.mjs +0 -958
  840. package/mobile/components/basic/default/fesm2022/index.mjs.map +0 -1
  841. package/mobile/components/basic/default/file-browser/file-browser.component.d.ts +0 -39
  842. package/mobile/components/basic/default/file-browser/file-selector.service.d.ts +0 -27
  843. package/mobile/components/basic/default/image-cache/image-cache.directive.d.ts +0 -18
  844. package/mobile/components/basic/default/index.d.ts +0 -5
  845. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +0 -28
  846. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.props.d.ts +0 -1
  847. package/mobile/components/basic/default/package.json +0 -23
  848. package/mobile/components/basic/default/process-manager/process-management.service.d.ts +0 -36
  849. package/mobile/components/basic/default/process-manager/process-manager.component.d.ts +0 -33
  850. package/mobile/components/basic/default/public_api.d.ts +0 -9
  851. package/mobile/components/basic/search/.npmignore +0 -2
  852. package/mobile/components/basic/search/bundles/index.umd.js +0 -66
  853. package/mobile/components/basic/search/esm2022/index.mjs +0 -5
  854. package/mobile/components/basic/search/esm2022/public_api.mjs +0 -3
  855. package/mobile/components/basic/search/esm2022/search.directive.mjs +0 -17
  856. package/mobile/components/basic/search/esm2022/search.module.mjs +0 -28
  857. package/mobile/components/basic/search/fesm2022/index.mjs +0 -49
  858. package/mobile/components/basic/search/fesm2022/index.mjs.map +0 -1
  859. package/mobile/components/basic/search/index.d.ts +0 -5
  860. package/mobile/components/basic/search/package.json +0 -23
  861. package/mobile/components/basic/search/public_api.d.ts +0 -2
  862. package/mobile/components/basic/search/search.directive.d.ts +0 -7
  863. package/mobile/components/basic/search/search.module.d.ts +0 -9
  864. package/mobile/components/containers/segmented-control/.npmignore +0 -2
  865. package/mobile/components/containers/segmented-control/bundles/index.umd.js +0 -281
  866. package/mobile/components/containers/segmented-control/esm2022/index.mjs +0 -5
  867. package/mobile/components/containers/segmented-control/esm2022/public_api.mjs +0 -4
  868. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +0 -70
  869. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.props.mjs +0 -14
  870. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +0 -147
  871. package/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +0 -32
  872. package/mobile/components/containers/segmented-control/esm2022/segmented-control.props.mjs +0 -9
  873. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +0 -264
  874. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +0 -1
  875. package/mobile/components/containers/segmented-control/index.d.ts +0 -5
  876. package/mobile/components/containers/segmented-control/package.json +0 -23
  877. package/mobile/components/containers/segmented-control/public_api.d.ts +0 -3
  878. package/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +0 -18
  879. package/mobile/components/containers/segmented-control/segment-content/segment-content.props.d.ts +0 -1
  880. package/mobile/components/containers/segmented-control/segmented-control.component.d.ts +0 -20
  881. package/mobile/components/containers/segmented-control/segmented-control.module.d.ts +0 -10
  882. package/mobile/components/containers/segmented-control/segmented-control.props.d.ts +0 -1
  883. package/mobile/components/data/media-list/.npmignore +0 -2
  884. package/mobile/components/data/media-list/bundles/index.umd.js +0 -310
  885. package/mobile/components/data/media-list/esm2022/index.mjs +0 -5
  886. package/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +0 -24
  887. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +0 -213
  888. package/mobile/components/data/media-list/esm2022/media-list.module.mjs +0 -48
  889. package/mobile/components/data/media-list/esm2022/media-list.props.mjs +0 -16
  890. package/mobile/components/data/media-list/esm2022/public_api.mjs +0 -4
  891. package/mobile/components/data/media-list/fesm2022/index.mjs +0 -297
  892. package/mobile/components/data/media-list/fesm2022/index.mjs.map +0 -1
  893. package/mobile/components/data/media-list/index.d.ts +0 -5
  894. package/mobile/components/data/media-list/media-list-item/media-list-item.directive.d.ts +0 -8
  895. package/mobile/components/data/media-list/media-list.component.d.ts +0 -33
  896. package/mobile/components/data/media-list/media-list.module.d.ts +0 -14
  897. package/mobile/components/data/media-list/media-list.props.d.ts +0 -1
  898. package/mobile/components/data/media-list/package.json +0 -23
  899. package/mobile/components/data/media-list/public_api.d.ts +0 -3
  900. package/mobile/components/device/barcode-scanner/.npmignore +0 -2
  901. package/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +0 -18
  902. package/mobile/components/device/barcode-scanner/barcode-scanner.module.d.ts +0 -9
  903. package/mobile/components/device/barcode-scanner/barcode-scanner.props.d.ts +0 -1
  904. package/mobile/components/device/barcode-scanner/bundles/index.umd.js +0 -129
  905. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +0 -69
  906. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +0 -28
  907. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +0 -15
  908. package/mobile/components/device/barcode-scanner/esm2022/index.mjs +0 -5
  909. package/mobile/components/device/barcode-scanner/esm2022/public_api.mjs +0 -3
  910. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs +0 -112
  911. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +0 -1
  912. package/mobile/components/device/barcode-scanner/index.d.ts +0 -5
  913. package/mobile/components/device/barcode-scanner/package.json +0 -23
  914. package/mobile/components/device/barcode-scanner/public_api.d.ts +0 -2
  915. package/mobile/components/device/camera/.npmignore +0 -2
  916. package/mobile/components/device/camera/bundles/index.umd.js +0 -170
  917. package/mobile/components/device/camera/camera.component.d.ts +0 -37
  918. package/mobile/components/device/camera/camera.module.d.ts +0 -9
  919. package/mobile/components/device/camera/camera.props.d.ts +0 -1
  920. package/mobile/components/device/camera/esm2022/camera.component.mjs +0 -101
  921. package/mobile/components/device/camera/esm2022/camera.module.mjs +0 -28
  922. package/mobile/components/device/camera/esm2022/camera.props.mjs +0 -25
  923. package/mobile/components/device/camera/esm2022/index.mjs +0 -5
  924. package/mobile/components/device/camera/esm2022/public_api.mjs +0 -3
  925. package/mobile/components/device/camera/fesm2022/index.mjs +0 -153
  926. package/mobile/components/device/camera/fesm2022/index.mjs.map +0 -1
  927. package/mobile/components/device/camera/index.d.ts +0 -5
  928. package/mobile/components/device/camera/package.json +0 -23
  929. package/mobile/components/device/camera/public_api.d.ts +0 -2
  930. package/mobile/components/input/file-upload/.npmignore +0 -2
  931. package/mobile/components/input/file-upload/bundles/index.umd.js +0 -88
  932. package/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +0 -41
  933. package/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  934. package/mobile/components/input/file-upload/esm2022/index.mjs +0 -5
  935. package/mobile/components/input/file-upload/esm2022/public_api.mjs +0 -3
  936. package/mobile/components/input/file-upload/fesm2022/index.mjs +0 -71
  937. package/mobile/components/input/file-upload/fesm2022/index.mjs.map +0 -1
  938. package/mobile/components/input/file-upload/file-upload.directive.d.ts +0 -11
  939. package/mobile/components/input/file-upload/file-upload.module.d.ts +0 -9
  940. package/mobile/components/input/file-upload/index.d.ts +0 -5
  941. package/mobile/components/input/file-upload/package.json +0 -23
  942. package/mobile/components/input/file-upload/public_api.d.ts +0 -2
  943. package/mobile/components/page/default/.npmignore +0 -2
  944. package/mobile/components/page/default/bundles/index.umd.js +0 -127
  945. package/mobile/components/page/default/esm2022/index.mjs +0 -5
  946. package/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +0 -24
  947. package/mobile/components/page/default/esm2022/page.directive.mjs +0 -58
  948. package/mobile/components/page/default/esm2022/page.module.mjs +0 -32
  949. package/mobile/components/page/default/esm2022/public_api.mjs +0 -4
  950. package/mobile/components/page/default/fesm2022/index.mjs +0 -110
  951. package/mobile/components/page/default/fesm2022/index.mjs.map +0 -1
  952. package/mobile/components/page/default/index.d.ts +0 -5
  953. package/mobile/components/page/default/package.json +0 -23
  954. package/mobile/components/page/default/page-content-loader/page-content-loader.component.d.ts +0 -7
  955. package/mobile/components/page/default/page.directive.d.ts +0 -19
  956. package/mobile/components/page/default/page.module.d.ts +0 -10
  957. package/mobile/components/page/default/public_api.d.ts +0 -3
  958. package/mobile/components/page/left-panel/.npmignore +0 -2
  959. package/mobile/components/page/left-panel/bundles/index.umd.js +0 -91
  960. package/mobile/components/page/left-panel/esm2022/index.mjs +0 -5
  961. package/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +0 -45
  962. package/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  963. package/mobile/components/page/left-panel/esm2022/public_api.mjs +0 -3
  964. package/mobile/components/page/left-panel/fesm2022/index.mjs +0 -74
  965. package/mobile/components/page/left-panel/fesm2022/index.mjs.map +0 -1
  966. package/mobile/components/page/left-panel/index.d.ts +0 -5
  967. package/mobile/components/page/left-panel/left-panel.directive.d.ts +0 -16
  968. package/mobile/components/page/left-panel/left-panel.module.d.ts +0 -9
  969. package/mobile/components/page/left-panel/package.json +0 -23
  970. package/mobile/components/page/left-panel/public_api.d.ts +0 -2
  971. package/mobile/components/page/mobile-navbar/.npmignore +0 -2
  972. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +0 -332
  973. package/mobile/components/page/mobile-navbar/esm2022/index.mjs +0 -5
  974. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +0 -247
  975. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +0 -32
  976. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.props.mjs +0 -41
  977. package/mobile/components/page/mobile-navbar/esm2022/public_api.mjs +0 -3
  978. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +0 -317
  979. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +0 -1
  980. package/mobile/components/page/mobile-navbar/index.d.ts +0 -5
  981. package/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +0 -50
  982. package/mobile/components/page/mobile-navbar/mobile-navbar.module.d.ts +0 -10
  983. package/mobile/components/page/mobile-navbar/mobile-navbar.props.d.ts +0 -2
  984. package/mobile/components/page/mobile-navbar/package.json +0 -23
  985. package/mobile/components/page/mobile-navbar/public_api.d.ts +0 -2
  986. package/mobile/components/page/tab-bar/.npmignore +0 -2
  987. package/mobile/components/page/tab-bar/bundles/index.umd.js +0 -279
  988. package/mobile/components/page/tab-bar/esm2022/index.mjs +0 -5
  989. package/mobile/components/page/tab-bar/esm2022/public_api.mjs +0 -3
  990. package/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +0 -28
  991. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +0 -219
  992. package/mobile/components/page/tab-bar/esm2022/tabbar.props.mjs +0 -15
  993. package/mobile/components/page/tab-bar/fesm2022/index.mjs +0 -262
  994. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +0 -1
  995. package/mobile/components/page/tab-bar/index.d.ts +0 -5
  996. package/mobile/components/page/tab-bar/package.json +0 -23
  997. package/mobile/components/page/tab-bar/public_api.d.ts +0 -2
  998. package/mobile/components/page/tab-bar/tab-bar.module.d.ts +0 -9
  999. package/mobile/components/page/tab-bar/tabbar.component.d.ts +0 -40
  1000. package/mobile/components/page/tab-bar/tabbar.props.d.ts +0 -1
  1001. package/mobile/core/.npmignore +0 -2
  1002. package/mobile/core/bundles/index.umd.js +0 -1658
  1003. package/mobile/core/core.module.d.ts +0 -15
  1004. package/mobile/core/esm2022/core.module.mjs +0 -79
  1005. package/mobile/core/esm2022/index.mjs +0 -5
  1006. package/mobile/core/esm2022/native.xhr.mjs +0 -340
  1007. package/mobile/core/esm2022/public_api.mjs +0 -12
  1008. package/mobile/core/esm2022/services/device-file-cache.service.mjs +0 -92
  1009. package/mobile/core/esm2022/services/device-file-download.service.mjs +0 -154
  1010. package/mobile/core/esm2022/services/device-file-opener.service.mjs +0 -112
  1011. package/mobile/core/esm2022/services/device-file-upload.service.mjs +0 -91
  1012. package/mobile/core/esm2022/services/device-file.service.mjs +0 -237
  1013. package/mobile/core/esm2022/services/device-start-up-service.mjs +0 -2
  1014. package/mobile/core/esm2022/services/device.service.mjs +0 -150
  1015. package/mobile/core/esm2022/services/ext-app-message.service.mjs +0 -114
  1016. package/mobile/core/esm2022/services/network.service.mjs +0 -358
  1017. package/mobile/core/fesm2022/index.mjs +0 -1660
  1018. package/mobile/core/fesm2022/index.mjs.map +0 -1
  1019. package/mobile/core/index.d.ts +0 -5
  1020. package/mobile/core/native.xhr.d.ts +0 -36
  1021. package/mobile/core/package.json +0 -28
  1022. package/mobile/core/public_api.d.ts +0 -11
  1023. package/mobile/core/services/device-file-cache.service.d.ts +0 -24
  1024. package/mobile/core/services/device-file-download.service.d.ts +0 -36
  1025. package/mobile/core/services/device-file-opener.service.d.ts +0 -25
  1026. package/mobile/core/services/device-file-upload.service.d.ts +0 -27
  1027. package/mobile/core/services/device-file.service.d.ts +0 -45
  1028. package/mobile/core/services/device-start-up-service.d.ts +0 -4
  1029. package/mobile/core/services/device.service.d.ts +0 -52
  1030. package/mobile/core/services/ext-app-message.service.d.ts +0 -24
  1031. package/mobile/core/services/network.service.d.ts +0 -118
  1032. package/mobile/offline/.npmignore +0 -2
  1033. package/mobile/offline/bundles/index.umd.js +0 -3512
  1034. package/mobile/offline/esm2022/index.mjs +0 -5
  1035. package/mobile/offline/esm2022/models/config.mjs +0 -64
  1036. package/mobile/offline/esm2022/models/local-db-store.mjs +0 -412
  1037. package/mobile/offline/esm2022/offline.module.mjs +0 -100
  1038. package/mobile/offline/esm2022/public_api.mjs +0 -7
  1039. package/mobile/offline/esm2022/services/change-log.service.mjs +0 -332
  1040. package/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +0 -525
  1041. package/mobile/offline/esm2022/services/local-db-management.service.mjs +0 -855
  1042. package/mobile/offline/esm2022/services/local-db.service.mjs +0 -193
  1043. package/mobile/offline/esm2022/services/local-key-value.service.mjs +0 -87
  1044. package/mobile/offline/esm2022/services/push.service.mjs +0 -49
  1045. package/mobile/offline/esm2022/services/workers/error-blocker.mjs +0 -115
  1046. package/mobile/offline/esm2022/services/workers/file-handler.mjs +0 -162
  1047. package/mobile/offline/esm2022/services/workers/id-resolver.mjs +0 -154
  1048. package/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +0 -63
  1049. package/mobile/offline/esm2022/utils/file-upload.utils.mjs +0 -59
  1050. package/mobile/offline/esm2022/utils/live-variable.utils.mjs +0 -232
  1051. package/mobile/offline/esm2022/utils/query-executor.utils.mjs +0 -82
  1052. package/mobile/offline/esm2022/utils/security.utils.mjs +0 -119
  1053. package/mobile/offline/esm2022/utils/utils.mjs +0 -8
  1054. package/mobile/offline/fesm2022/index.mjs +0 -3529
  1055. package/mobile/offline/fesm2022/index.mjs.map +0 -1
  1056. package/mobile/offline/index.d.ts +0 -5
  1057. package/mobile/offline/models/config.d.ts +0 -80
  1058. package/mobile/offline/models/local-db-store.d.ts +0 -119
  1059. package/mobile/offline/offline.module.d.ts +0 -17
  1060. package/mobile/offline/package.json +0 -28
  1061. package/mobile/offline/public_api.d.ts +0 -6
  1062. package/mobile/offline/services/change-log.service.d.ts +0 -112
  1063. package/mobile/offline/services/local-db-data-pull.service.d.ts +0 -139
  1064. package/mobile/offline/services/local-db-management.service.d.ts +0 -179
  1065. package/mobile/offline/services/local-db.service.d.ts +0 -83
  1066. package/mobile/offline/services/local-key-value.service.d.ts +0 -38
  1067. package/mobile/offline/services/push.service.d.ts +0 -11
  1068. package/mobile/offline/services/workers/error-blocker.d.ts +0 -26
  1069. package/mobile/offline/services/workers/file-handler.d.ts +0 -56
  1070. package/mobile/offline/services/workers/id-resolver.d.ts +0 -26
  1071. package/mobile/offline/services/workers/multi-part-param-transformer.d.ts +0 -11
  1072. package/mobile/offline/utils/file-upload.utils.d.ts +0 -14
  1073. package/mobile/offline/utils/live-variable.utils.d.ts +0 -24
  1074. package/mobile/offline/utils/query-executor.utils.d.ts +0 -15
  1075. package/mobile/offline/utils/security.utils.d.ts +0 -19
  1076. package/mobile/offline/utils/utils.d.ts +0 -2
  1077. package/mobile/placeholder/runtime/.npmignore +0 -2
  1078. package/mobile/placeholder/runtime/bundles/index.umd.js +0 -70
  1079. package/mobile/placeholder/runtime/components/app-ext.component.d.ts +0 -5
  1080. package/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +0 -19
  1081. package/mobile/placeholder/runtime/esm2022/index.mjs +0 -5
  1082. package/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +0 -27
  1083. package/mobile/placeholder/runtime/esm2022/public_api.mjs +0 -3
  1084. package/mobile/placeholder/runtime/fesm2022/index.mjs +0 -50
  1085. package/mobile/placeholder/runtime/fesm2022/index.mjs.map +0 -1
  1086. package/mobile/placeholder/runtime/index.d.ts +0 -5
  1087. package/mobile/placeholder/runtime/mobile-runtime.module.d.ts +0 -9
  1088. package/mobile/placeholder/runtime/package.json +0 -27
  1089. package/mobile/placeholder/runtime/public_api.d.ts +0 -2
  1090. package/mobile/placeholder/runtime-dynamic/.npmignore +0 -2
  1091. package/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +0 -40
  1092. package/mobile/placeholder/runtime-dynamic/esm2022/index.mjs +0 -5
  1093. package/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -13
  1094. package/mobile/placeholder/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1095. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +0 -20
  1096. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1097. package/mobile/placeholder/runtime-dynamic/index.d.ts +0 -5
  1098. package/mobile/placeholder/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -7
  1099. package/mobile/placeholder/runtime-dynamic/package.json +0 -23
  1100. package/mobile/placeholder/runtime-dynamic/public_api.d.ts +0 -1
  1101. package/mobile/runtime/.npmignore +0 -2
  1102. package/mobile/runtime/bundles/index.umd.js +0 -732
  1103. package/mobile/runtime/components/app-ext.component.d.ts +0 -14
  1104. package/mobile/runtime/esm2022/components/app-ext.component.mjs +0 -59
  1105. package/mobile/runtime/esm2022/index.mjs +0 -5
  1106. package/mobile/runtime/esm2022/mobile-runtime.module.mjs +0 -351
  1107. package/mobile/runtime/esm2022/public_api.mjs +0 -6
  1108. package/mobile/runtime/esm2022/services/cookie.service.mjs +0 -135
  1109. package/mobile/runtime/esm2022/services/http-interceptor.service.mjs +0 -147
  1110. package/mobile/runtime/esm2022/services/webprocess.service.mjs +0 -76
  1111. package/mobile/runtime/fesm2022/index.mjs +0 -742
  1112. package/mobile/runtime/fesm2022/index.mjs.map +0 -1
  1113. package/mobile/runtime/index.d.ts +0 -5
  1114. package/mobile/runtime/mobile-runtime.module.d.ts +0 -51
  1115. package/mobile/runtime/package.json +0 -28
  1116. package/mobile/runtime/public_api.d.ts +0 -5
  1117. package/mobile/runtime/services/cookie.service.d.ts +0 -31
  1118. package/mobile/runtime/services/http-interceptor.service.d.ts +0 -19
  1119. package/mobile/runtime/services/webprocess.service.d.ts +0 -15
  1120. package/mobile/runtime-dynamic/.npmignore +0 -2
  1121. package/mobile/runtime-dynamic/bundles/index.umd.js +0 -461
  1122. package/mobile/runtime-dynamic/esm2022/index.mjs +0 -5
  1123. package/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -48
  1124. package/mobile/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1125. package/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +0 -404
  1126. package/mobile/runtime-dynamic/fesm2022/index.mjs +0 -454
  1127. package/mobile/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1128. package/mobile/runtime-dynamic/index.d.ts +0 -5
  1129. package/mobile/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -8
  1130. package/mobile/runtime-dynamic/package.json +0 -23
  1131. package/mobile/runtime-dynamic/public_api.d.ts +0 -1
  1132. package/mobile/runtime-dynamic/services/live-sync.service.d.ts +0 -38
  1133. package/mobile/variables/.npmignore +0 -2
  1134. package/mobile/variables/bundles/index.umd.js +0 -1166
  1135. package/mobile/variables/esm2022/index.mjs +0 -5
  1136. package/mobile/variables/esm2022/public_api.mjs +0 -10
  1137. package/mobile/variables/esm2022/services/calendar-service.mjs +0 -77
  1138. package/mobile/variables/esm2022/services/camera-service.mjs +0 -70
  1139. package/mobile/variables/esm2022/services/contacts-service.mjs +0 -74
  1140. package/mobile/variables/esm2022/services/datasync-service.mjs +0 -363
  1141. package/mobile/variables/esm2022/services/device-service/device-service.mjs +0 -161
  1142. package/mobile/variables/esm2022/services/device-service/location-service.mjs +0 -200
  1143. package/mobile/variables/esm2022/services/file-service.mjs +0 -87
  1144. package/mobile/variables/esm2022/services/scan-service.mjs +0 -60
  1145. package/mobile/variables/esm2022/variables.module.mjs +0 -78
  1146. package/mobile/variables/fesm2022/index.mjs +0 -1143
  1147. package/mobile/variables/fesm2022/index.mjs.map +0 -1
  1148. package/mobile/variables/index.d.ts +0 -5
  1149. package/mobile/variables/package.json +0 -28
  1150. package/mobile/variables/public_api.d.ts +0 -9
  1151. package/mobile/variables/services/calendar-service.d.ts +0 -10
  1152. package/mobile/variables/services/camera-service.d.ts +0 -8
  1153. package/mobile/variables/services/contacts-service.d.ts +0 -6
  1154. package/mobile/variables/services/datasync-service.d.ts +0 -11
  1155. package/mobile/variables/services/device-service/device-service.d.ts +0 -17
  1156. package/mobile/variables/services/device-service/location-service.d.ts +0 -63
  1157. package/mobile/variables/services/file-service.d.ts +0 -7
  1158. package/mobile/variables/services/scan-service.d.ts +0 -7
  1159. package/mobile/variables/variables.module.d.ts +0 -25
  1160. package/oAuth/esm2022/oAuth.module.mjs +0 -19
  1161. package/oAuth/oAuth.module.d.ts +0 -8
  1162. package/scripts/fullcalendar/main.min.js +0 -6
  1163. package/security/esm2022/security.module.mjs +0 -19
  1164. package/security/security.module.d.ts +0 -8
  1165. package/variables/esm2022/manager/variable/device-variable-manager.mjs +0 -48
  1166. package/variables/esm2022/manager/variable/device-variable-operation.mjs +0 -2
  1167. package/variables/esm2022/manager/variable/device-variable-service.mjs +0 -45
  1168. package/variables/esm2022/model/variable/device-variable.mjs +0 -19
  1169. package/variables/esm2022/variables.module.mjs +0 -52
  1170. package/variables/manager/variable/device-variable-manager.d.ts +0 -26
  1171. package/variables/manager/variable/device-variable-operation.d.ts +0 -37
  1172. package/variables/manager/variable/device-variable-service.d.ts +0 -6
  1173. package/variables/model/variable/device-variable.d.ts +0 -6
  1174. package/variables/variables.module.d.ts +0 -16
@@ -1,4 +1,3 @@
1
- import { isMobileApp } from '@wm/core';
2
1
  import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';
3
2
  const propsMap = new Map([
4
3
  ['autocomplete', { value: false, ...PROP_BOOLEAN }],
@@ -21,9 +20,6 @@ const propsMap = new Map([
21
20
  ['title', PROP_STRING]
22
21
  ]);
23
22
  export const registerFormProps = () => {
24
- if (isMobileApp()) {
25
- propsMap.set('captionwidth', { value: 'xs-4 sm-4 md-4 lg-4', ...PROP_STRING });
26
- }
27
23
  const formMap = new Map(propsMap);
28
24
  formMap.set('action', PROP_STRING);
29
25
  formMap.set('defaultmode', { value: 'Edit', ...PROP_STRING });
@@ -41,9 +37,6 @@ export const registerFormProps = () => {
41
37
  register('wm-form', formMap);
42
38
  };
43
39
  export const registerLiveFormProps = () => {
44
- if (isMobileApp()) {
45
- propsMap.set('captionwidth', { value: 'xs-4 sm-4 md-4 lg-4', ...PROP_STRING });
46
- }
47
40
  const liveFormMap = new Map(propsMap);
48
41
  liveFormMap.set('defaultmode', { value: 'View', ...PROP_STRING });
49
42
  liveFormMap.set('formlayout', { value: 'inline', ...PROP_STRING });
@@ -59,9 +52,6 @@ export const registerLiveFormProps = () => {
59
52
  register('wm-liveform', liveFormMap);
60
53
  };
61
54
  export const registerLiveFilterProps = () => {
62
- if (isMobileApp()) {
63
- propsMap.set('captionwidth', { value: 'xs-4 sm-4 md-4 lg-4', ...PROP_STRING });
64
- }
65
55
  const liveFilterMap = new Map(propsMap);
66
56
  liveFilterMap.set('autoupdate', PROP_BOOLEAN);
67
57
  liveFilterMap.set('enableemptyfilter', { value: ' ', ...PROP_STRING });
@@ -69,4 +59,4 @@ export const registerLiveFilterProps = () => {
69
59
  liveFilterMap.set('iconclass', { value: 'wi wi-filter-list', ...PROP_STRING });
70
60
  register('wm-livefilter', liveFilterMap);
71
61
  };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2Zvcm0vc3JjL2Zvcm0ucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpHLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUNwQjtJQUNJLENBQUMsY0FBYyxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO0lBQ2pELENBQUMsY0FBYyxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ2pELENBQUMsaUJBQWlCLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDcEQsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO0lBQzVCLENBQUMsY0FBYyxFQUFFLEVBQUMsS0FBSyxFQUFFLHNCQUFzQixFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDakUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQ3RCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztJQUM3QixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7SUFDckIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO0lBQzNCLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO0lBQzVDLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO0lBQy9CLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNyQixDQUFDLGdCQUFnQixFQUFFLFdBQVcs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QUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM5QyxhQUFhLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDckUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUMzRCxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFFN0UsUUFBUSxDQUNKLGVBQWUsRUFDZixhQUFhLENBQ2hCLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc01vYmlsZUFwcCB9IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHsgUFJPUF9BTlksIFBST1BfQk9PTEVBTiwgUFJPUF9OVU1CRVIsIFBST1BfU1RSSU5HLCByZWdpc3RlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5jb25zdCBwcm9wc01hcCA9IG5ldyBNYXAoXG4gICAgW1xuICAgICAgICBbJ2F1dG9jb21wbGV0ZScsIHt2YWx1ZTogZmFsc2UsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ2NhcHRpb25hbGlnbicsIHt2YWx1ZTogJ2xlZnQnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICBbJ2NhcHRpb25wb3NpdGlvbicsIHt2YWx1ZTogJ2xlZnQnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICBbJ2NhcHRpb25zaXplJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2NhcHRpb253aWR0aCcsIHt2YWx1ZTogJ3hzLTEyIHNtLTMgbWQtMyBsZy0zJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydjb2xsYXBzaWJsZScsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnZGF0YXNldCcsIFBST1BfQU5ZXSxcbiAgICAgICAgWydkYXRhc291cmNlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2V4cGFuZGVkJywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgWydmb3JtZGF0YXNvdXJjZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWyduYW1lJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ251bWJlck9mRmllbGRzJywgUFJPUF9OVU1CRVJdLFxuICAgICAgICBbJ3Nob3cnLCB7dmFsdWU6IHRydWUsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ3Nob3dpbmRldmljZScsIHtkaXNwbGF5VHlwZTogJ2lubGluZS1ibG9jaycsIHZhbHVlOiAnYWxsJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWydzdWJoZWFkaW5nJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3RhYmluZGV4Jywge3ZhbHVlOiAwLCAuLi5QUk9QX05VTUJFUn1dLFxuICAgICAgICBbJ3RpdGxlJywgUFJPUF9TVFJJTkddXG4gICAgXVxuKTtcblxuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJGb3JtUHJvcHMgPSAoKSA9PiB7XG4gICAgaWYgKGlzTW9iaWxlQXBwKCkpIHtcbiAgICAgICAgcHJvcHNNYXAuc2V0KCdjYXB0aW9ud2lkdGgnLCB7dmFsdWU6ICd4cy00IHNtLTQgbWQtNCBsZy00JywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICB9XG4gICAgY29uc3QgZm9ybU1hcCA9IG5ldyBNYXAocHJvcHNNYXApO1xuICAgIGZvcm1NYXAuc2V0KCdhY3Rpb24nLCBQUk9QX1NUUklORyk7XG4gICAgZm9ybU1hcC5zZXQoJ2RlZmF1bHRtb2RlJywge3ZhbHVlOiAnRWRpdCcsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgZm9ybU1hcC5zZXQoJ21ldGFkYXRhJywgUFJPUF9TVFJJTkcpO1xuICAgIGZvcm1NYXAuc2V0KCdtZXRob2QnLCBQUk9QX1NUUklORyk7XG4gICAgZm9ybU1hcC5zZXQoJ3Bvc3RtZXNzYWdlJywge3ZhbHVlOiAnRGF0YSBwb3N0ZWQgc3VjY2Vzc2Z1bGx5JywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBmb3JtTWFwLnNldCgndGFyZ2V0JywgUFJPUF9TVFJJTkcpO1xuICAgIGZvcm1NYXAuc2V0KCdlbmN0eXBlJywgUFJPUF9TVFJJTkcpO1xuICAgIGZvcm1NYXAuc2V0KCdlcnJvcm1lc3NhZ2UnLCB7dmFsdWU6ICdBbiBlcnJvciBvY2N1cmVkLiBQbGVhc2UgdHJ5IGFnYWluIScsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgZm9ybU1hcC5zZXQoJ21lc3NhZ2VsYXlvdXQnLCB7dmFsdWU6ICdJbmxpbmUnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGZvcm1NYXAuc2V0KCdmb3JtZGF0YScsIFBST1BfU1RSSU5HKTtcbiAgICBmb3JtTWFwLnNldCgnbm92YWxpZGF0ZScsIFBST1BfQk9PTEVBTik7XG4gICAgZm9ybU1hcC5zZXQoJ3ZhbGlkYXRpb250eXBlJywge3ZhbHVlOiAnZGVmYXVsdCcsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgZm9ybU1hcC5zZXQoJ2ljb25jbGFzcycsIFBST1BfU1RSSU5HKTtcblxuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tZm9ybScsXG4gICAgICAgIGZvcm1NYXBcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyTGl2ZUZvcm1Qcm9wcyA9ICgpID0+IHtcbiAgICBpZiAoaXNNb2JpbGVBcHAoKSkge1xuICAgICAgICBwcm9wc01hcC5zZXQoJ2NhcHRpb253aWR0aCcsIHt2YWx1ZTogJ3hzLTQgc20tNCBtZC00IGxnLTQnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIH1cbiAgICBjb25zdCBsaXZlRm9ybU1hcCA9IG5ldyBNYXAocHJvcHNNYXApO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnZGVmYXVsdG1vZGUnLCB7dmFsdWU6ICdWaWV3JywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ2Zvcm1sYXlvdXQnLCB7dmFsdWU6ICdpbmxpbmUnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnaW5zZXJ0bWVzc2FnZScsIHt2YWx1ZTogJ1JlY29yZCBhZGRlZCBzdWNjZXNzZnVsbHknLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGb3JtTWFwLnNldCgndXBkYXRlbWVzc2FnZScsIHt2YWx1ZTogJ1JlY29yZCB1cGRhdGVkIHN1Y2Nlc3NmdWxseScsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgbGl2ZUZvcm1NYXAuc2V0KCdkZWxldGVtZXNzYWdlJywge3ZhbHVlOiAnUmVjb3JkIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5JywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ2Vycm9ybWVzc2FnZScsIHt2YWx1ZTogJ0FuIGVycm9yIG9jY3VyZWQuIFBsZWFzZSB0cnkgYWdhaW4hJywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ21lc3NhZ2VsYXlvdXQnLCB7dmFsdWU6ICdUb2FzdGVyJywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ2Zvcm1kYXRhJywgUFJPUF9TVFJJTkcpO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnbm92YWxpZGF0ZScsIFBST1BfQk9PTEVBTik7XG4gICAgbGl2ZUZvcm1NYXAuc2V0KCd2YWxpZGF0aW9udHlwZScsIHt2YWx1ZTogJ2RlZmF1bHQnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnaWNvbmNsYXNzJywgUFJPUF9TVFJJTkcpO1xuXG4gICAgcmVnaXN0ZXIoXG4gICAgICAgICd3bS1saXZlZm9ybScsXG4gICAgICAgIGxpdmVGb3JtTWFwXG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlckxpdmVGaWx0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICBpZiAoaXNNb2JpbGVBcHAoKSkge1xuICAgICAgICBwcm9wc01hcC5zZXQoJ2NhcHRpb253aWR0aCcsIHt2YWx1ZTogJ3hzLTQgc20tNCBtZC00IGxnLTQnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIH1cbiAgICBjb25zdCBsaXZlRmlsdGVyTWFwID0gbmV3IE1hcChwcm9wc01hcCk7XG4gICAgbGl2ZUZpbHRlck1hcC5zZXQoJ2F1dG91cGRhdGUnLCBQUk9QX0JPT0xFQU4pO1xuICAgIGxpdmVGaWx0ZXJNYXAuc2V0KCdlbmFibGVlbXB0eWZpbHRlcicsIHt2YWx1ZTogJyAnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGaWx0ZXJNYXAuc2V0KCdwYWdlc2l6ZScsIHt2YWx1ZTogMjAsIC4uLlBST1BfTlVNQkVSfSk7XG4gICAgbGl2ZUZpbHRlck1hcC5zZXQoJ2ljb25jbGFzcycsIHt2YWx1ZTogJ3dpIHdpLWZpbHRlci1saXN0JywgLi4uUFJPUF9TVFJJTkd9KTtcblxuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tbGl2ZWZpbHRlcicsXG4gICAgICAgIGxpdmVGaWx0ZXJNYXBcbiAgICApO1xufTtcbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2Zvcm0vc3JjL2Zvcm0ucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FDcEI7SUFDSSxDQUFDLGNBQWMsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztJQUNqRCxDQUFDLGNBQWMsRUFBRSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztJQUNqRCxDQUFDLGlCQUFpQixFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ3BELENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztJQUM1QixDQUFDLGNBQWMsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ2pFLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUN0QixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7SUFDN0IsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO0lBQ3JCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztJQUMzQixDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztJQUM1QyxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQztJQUMvQixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7SUFDckIsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUM7SUFDL0IsQ0FBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUs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O0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUFJPUF9BTlksIFBST1BfQk9PTEVBTiwgUFJPUF9OVU1CRVIsIFBST1BfU1RSSU5HLCByZWdpc3RlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5jb25zdCBwcm9wc01hcCA9IG5ldyBNYXAoXG4gICAgW1xuICAgICAgICBbJ2F1dG9jb21wbGV0ZScsIHt2YWx1ZTogZmFsc2UsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ2NhcHRpb25hbGlnbicsIHt2YWx1ZTogJ2xlZnQnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICBbJ2NhcHRpb25wb3NpdGlvbicsIHt2YWx1ZTogJ2xlZnQnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICBbJ2NhcHRpb25zaXplJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2NhcHRpb253aWR0aCcsIHt2YWx1ZTogJ3hzLTEyIHNtLTMgbWQtMyBsZy0zJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydjb2xsYXBzaWJsZScsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnZGF0YXNldCcsIFBST1BfQU5ZXSxcbiAgICAgICAgWydkYXRhc291cmNlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2V4cGFuZGVkJywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgWydmb3JtZGF0YXNvdXJjZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWyduYW1lJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ251bWJlck9mRmllbGRzJywgUFJPUF9OVU1CRVJdLFxuICAgICAgICBbJ3Nob3cnLCB7dmFsdWU6IHRydWUsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ3Nob3dpbmRldmljZScsIHtkaXNwbGF5VHlwZTogJ2lubGluZS1ibG9jaycsIHZhbHVlOiAnYWxsJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWydzdWJoZWFkaW5nJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3RhYmluZGV4Jywge3ZhbHVlOiAwLCAuLi5QUk9QX05VTUJFUn1dLFxuICAgICAgICBbJ3RpdGxlJywgUFJPUF9TVFJJTkddXG4gICAgXVxuKTtcblxuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJGb3JtUHJvcHMgPSAoKSA9PiB7XG4gICAgY29uc3QgZm9ybU1hcCA9IG5ldyBNYXAocHJvcHNNYXApO1xuICAgIGZvcm1NYXAuc2V0KCdhY3Rpb24nLCBQUk9QX1NUUklORyk7XG4gICAgZm9ybU1hcC5zZXQoJ2RlZmF1bHRtb2RlJywge3ZhbHVlOiAnRWRpdCcsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgZm9ybU1hcC5zZXQoJ21ldGFkYXRhJywgUFJPUF9TVFJJTkcpO1xuICAgIGZvcm1NYXAuc2V0KCdtZXRob2QnLCBQUk9QX1NUUklORyk7XG4gICAgZm9ybU1hcC5zZXQoJ3Bvc3RtZXNzYWdlJywge3ZhbHVlOiAnRGF0YSBwb3N0ZWQgc3VjY2Vzc2Z1bGx5JywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBmb3JtTWFwLnNldCgndGFyZ2V0JywgUFJPUF9TVFJJTkcpO1xuICAgIGZvcm1NYXAuc2V0KCdlbmN0eXBlJywgUFJPUF9TVFJJTkcpO1xuICAgIGZvcm1NYXAuc2V0KCdlcnJvcm1lc3NhZ2UnLCB7dmFsdWU6ICdBbiBlcnJvciBvY2N1cmVkLiBQbGVhc2UgdHJ5IGFnYWluIScsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgZm9ybU1hcC5zZXQoJ21lc3NhZ2VsYXlvdXQnLCB7dmFsdWU6ICdJbmxpbmUnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGZvcm1NYXAuc2V0KCdmb3JtZGF0YScsIFBST1BfU1RSSU5HKTtcbiAgICBmb3JtTWFwLnNldCgnbm92YWxpZGF0ZScsIFBST1BfQk9PTEVBTik7XG4gICAgZm9ybU1hcC5zZXQoJ3ZhbGlkYXRpb250eXBlJywge3ZhbHVlOiAnZGVmYXVsdCcsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgZm9ybU1hcC5zZXQoJ2ljb25jbGFzcycsIFBST1BfU1RSSU5HKTtcblxuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tZm9ybScsXG4gICAgICAgIGZvcm1NYXBcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyTGl2ZUZvcm1Qcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCBsaXZlRm9ybU1hcCA9IG5ldyBNYXAocHJvcHNNYXApO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnZGVmYXVsdG1vZGUnLCB7dmFsdWU6ICdWaWV3JywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ2Zvcm1sYXlvdXQnLCB7dmFsdWU6ICdpbmxpbmUnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnaW5zZXJ0bWVzc2FnZScsIHt2YWx1ZTogJ1JlY29yZCBhZGRlZCBzdWNjZXNzZnVsbHknLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGb3JtTWFwLnNldCgndXBkYXRlbWVzc2FnZScsIHt2YWx1ZTogJ1JlY29yZCB1cGRhdGVkIHN1Y2Nlc3NmdWxseScsIC4uLlBST1BfU1RSSU5HfSk7XG4gICAgbGl2ZUZvcm1NYXAuc2V0KCdkZWxldGVtZXNzYWdlJywge3ZhbHVlOiAnUmVjb3JkIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5JywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ2Vycm9ybWVzc2FnZScsIHt2YWx1ZTogJ0FuIGVycm9yIG9jY3VyZWQuIFBsZWFzZSB0cnkgYWdhaW4hJywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ21lc3NhZ2VsYXlvdXQnLCB7dmFsdWU6ICdUb2FzdGVyJywgLi4uUFJPUF9TVFJJTkd9KTtcbiAgICBsaXZlRm9ybU1hcC5zZXQoJ2Zvcm1kYXRhJywgUFJPUF9TVFJJTkcpO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnbm92YWxpZGF0ZScsIFBST1BfQk9PTEVBTik7XG4gICAgbGl2ZUZvcm1NYXAuc2V0KCd2YWxpZGF0aW9udHlwZScsIHt2YWx1ZTogJ2RlZmF1bHQnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGb3JtTWFwLnNldCgnaWNvbmNsYXNzJywgUFJPUF9TVFJJTkcpO1xuXG4gICAgcmVnaXN0ZXIoXG4gICAgICAgICd3bS1saXZlZm9ybScsXG4gICAgICAgIGxpdmVGb3JtTWFwXG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlckxpdmVGaWx0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCBsaXZlRmlsdGVyTWFwID0gbmV3IE1hcChwcm9wc01hcCk7XG4gICAgbGl2ZUZpbHRlck1hcC5zZXQoJ2F1dG91cGRhdGUnLCBQUk9QX0JPT0xFQU4pO1xuICAgIGxpdmVGaWx0ZXJNYXAuc2V0KCdlbmFibGVlbXB0eWZpbHRlcicsIHt2YWx1ZTogJyAnLCAuLi5QUk9QX1NUUklOR30pO1xuICAgIGxpdmVGaWx0ZXJNYXAuc2V0KCdwYWdlc2l6ZScsIHt2YWx1ZTogMjAsIC4uLlBST1BfTlVNQkVSfSk7XG4gICAgbGl2ZUZpbHRlck1hcC5zZXQoJ2ljb25jbGFzcycsIHt2YWx1ZTogJ3dpIHdpLWZpbHRlci1saXN0JywgLi4uUFJPUF9TVFJJTkd9KTtcblxuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tbGl2ZWZpbHRlcicsXG4gICAgICAgIGxpdmVGaWx0ZXJNYXBcbiAgICApO1xufTtcbiJdfQ==
@@ -135,11 +135,12 @@ export class DependsonDirective {
135
135
  } if (rf & 2) {
136
136
  let _t;
137
137
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.formChildren = _t);
138
- } } }); }
138
+ } }, standalone: true }); }
139
139
  }
140
140
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DependsonDirective, [{
141
141
  type: Directive,
142
142
  args: [{
143
+ standalone: true,
143
144
  selector: '[dependson]'
144
145
  }]
145
146
  }], () => [{ type: undefined, decorators: [{
@@ -152,4 +153,4 @@ export class DependsonDirective {
152
153
  type: ContentChildren,
153
154
  args: [FormComponent, { descendants: true }]
154
155
  }] }); })();
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kc29uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2Zvcm0vc3JjL2xpdmUtYWN0aW9ucy9kZXBlbmRzb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxrQkFBa0I7SUFjM0IsWUFDMkIsUUFBZ0IsRUFDZixTQUFpQixFQUNqQyxhQUFvQyxFQUNwQyxHQUFRO1FBRFIsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFaEIsaURBQWlEO1FBQ2pELElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0Isd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENB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QUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO21IQTlJUSxrQkFBa0IsdUJBZVosVUFBVSx3QkFDVixXQUFXO29FQWhCakIsa0JBQWtCO3dDQUVWLGFBQWE7Ozs7OztpRkFGckIsa0JBQWtCO2NBSDlCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTthQUMxQjs7c0JBZ0JRLFNBQVM7dUJBQUMsVUFBVTs7c0JBQ3BCLFNBQVM7dUJBQUMsV0FBVzsyRUFkMkIsWUFBWTtrQkFBaEUsZUFBZTttQkFBQyxhQUFhLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBBdHRyaWJ1dGUsIENvbnRlbnRDaGlsZHJlbiwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0RGlhbG9nU2VydmljZSwgQXBwLCBEYXRhU291cmNlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgTGl2ZV9PcGVyYXRpb25zIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkZXBlbmRzb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBEZXBlbmRzb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihGb3JtQ29tcG9uZW50LCB7ZGVzY2VuZGFudHM6IHRydWV9KSBmb3JtQ2hpbGRyZW47XG5cbiAgICBwcml2YXRlIGRpYWxvZ0lkO1xuICAgIHByaXZhdGUgZGVwZW5kc29uO1xuICAgIHByaXZhdGUgaXNMYXlvdXREaWFsb2c7XG4gICAgcHJpdmF0ZSBmb3JtO1xuICAgIHByaXZhdGUgZWRpdE1vZGU7XG4gICAgcHJpdmF0ZSBjdXJyZW50T3A7XG4gICAgcHJpdmF0ZSBjdXJyZW50Rm9ybURhdGE7XG4gICAgcHJpdmF0ZSBmb3JtU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgZXZlbnRTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEF0dHJpYnV0ZSgnZGlhbG9naWQnKSBkaWFsb2dJZDogc3RyaW5nLFxuICAgICAgICBAQXR0cmlidXRlKCdkZXBlbmRzb24nKSBkZXBlbmRzb246IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHBcbiAgICApIHtcbiAgICAgICAgLy8gSWYgZGlhbG9nSWQgaXMgcHJlc2VudCwgZm9ybSBpcyBpbiBkaWFsb2cgbW9kZVxuICAgICAgICBpZiAoZGlhbG9nSWQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNMYXlvdXREaWFsb2cgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dJZCA9IGRpYWxvZ0lkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVwZW5kc29uID0gZGVwZW5kc29uO1xuICAgICAgICAvLyBMaXN0ZW4gdG8gdGhlIHdtLWV2ZW50IGNhbGxlZCBmcm9tIHN1YnNjcmliZWQgd2lkZ2V0c1xuICAgICAgICB0aGlzLmV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5hcHAuc3Vic2NyaWJlKCd3bS1ldmVudCcsIHRoaXMuaGFuZGxlRXZlbnQuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRm9ybURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5kaWFsb2dJZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblVwZGF0ZShuZXdWYWx1ZT8sIHRhYmxlPywgZWRpdENsaWNrZWQ/KSB7XG4gICAgICAgIHRoaXMuZWRpdE1vZGUgPSBlZGl0Q2xpY2tlZCB8fCB0aGlzLmVkaXRNb2RlIDtcbiAgICAgICAgdGhpcy5mb3JtLm9wZXJhdGlvblR5cGUgPSBMaXZlX09wZXJhdGlvbnMuVVBEQVRFO1xuICAgICAgICB0aGlzLmZvcm0uaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIGxldCByb3dEYXRhID0gdGhpcy5jdXJyZW50Rm9ybURhdGE7XG4gICAgICAgIGlmIChuZXdWYWx1ZSAmJiB0YWJsZSkge1xuICAgICAgICAgICAgaWYgKHRhYmxlLm11bHRpc2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgcm93RGF0YSA9IG5ld1ZhbHVlWzBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByb3dEYXRhID0gbmV3VmFsdWVbbmV3VmFsdWUubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtLnNldEZvcm1EYXRhKHJvd0RhdGEpO1xuICAgICAgICB0aGlzLmZvcm0uZWRpdCgpO1xuICAgICAgICBpZiAoIXRoaXMuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5pc1VwZGF0ZU1vZGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIG9uSW5zZXJ0KCkge1xuICAgICAgICB0aGlzLmZvcm0ub3BlcmF0aW9uVHlwZSA9IExpdmVfT3BlcmF0aW9ucy5JTlNFUlQ7XG4gICAgICAgIHRoaXMuZm9ybS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb3JtLnNldEZvcm1EYXRhKHt9KTtcbiAgICAgICAgdGhpcy5mb3JtLm5ldygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXZlbnQob3B0aW9ucykge1xuICAgICAgICBpZiAodGhpcy5kZXBlbmRzb24gIT09IG9wdGlvbnMud2lkZ2V0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudE9wID0gb3B0aW9ucy5ldmVudE5hbWU7XG4gICAgICAgIHN3aXRjaCAob3B0aW9ucy5ldmVudE5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgTGl2ZV9PcGVyYXRpb25zLlVQREFURTpcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRGb3JtRGF0YSA9IG9wdGlvbnMucm93O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTGF5b3V0RGlhbG9nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkZvcm1EaWFsb2coKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVXBkYXRlKHVuZGVmaW5lZCx1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTGl2ZV9PcGVyYXRpb25zLklOU0VSVDpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5Gb3JtRGlhbG9nKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICB0aGlzLm9uSW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuREVMRVRFOlxuICAgICAgICAgICAgICAgICg8YW55PnRoaXMuYXBwKS5XaWRnZXRzW3RoaXMuZGVwZW5kc29uXS5jYWxsKCdkZWxldGUnLCB7cm93OiBvcHRpb25zLnJvd30pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuUkVBRDpcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNMYXlvdXREaWFsb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmlzVXBkYXRlTW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3JlcmVuZGVyJzpcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5kYXRhU291cmNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5MSVNUX1JFQ09SRFMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2tpcFRvZ2dsZVN0YXRlJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BlcmF0aW9uJzogJ2xpc3QnXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWxlY3RlZEl0ZW1DaGFuZ2UnOlxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25VcGRhdGUob3B0aW9ucy5yb3csIG9wdGlvbnMudGFibGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3Jlc2V0RWRpdE1vZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Gb3JtUmVuZGVyKCkge1xuICAgICAgICAvLyBPbiBvcGVuaW5nIHRoZSBmb3JtIGluIGRpYWxvZyBtb2RlLCBjb21wbGV0ZSB0aGUgcGVuZGluZyBvcGVyYXRpb25zXG4gICAgICAgIGlmICh0aGlzLmZvcm0gJiYgdGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgdGhpcy5mb3JtLmlzTGF5b3V0RGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRPcCA9PT0gTGl2ZV9PcGVyYXRpb25zLlVQREFURSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVXBkYXRlKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudE9wID09PSBMaXZlX09wZXJhdGlvbnMuSU5TRVJUKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25JbnNlcnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAyNTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAvLyBJZiBmb3JtIGluc3RhbmNlIGlzIHByZXNlbnQsIGZvcm0gaXMgaW4gaW5saW5lIG1vZGUuIEVsc2UsIGl0IGlzIGluIGRpYWxvZyBtb2RlIGFuZCBsaXN0ZW4gdG8gZm9ybSBpbnN0YW5jZSBjaGFuZ2VzXG4gICAgICAgIGlmICh0aGlzLmZvcm1DaGlsZHJlbi5maXJzdCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQ2hpbGRyZW4uZmlyc3Q7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1TdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1DaGlsZHJlbi5jaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gdmFsLmZpcnN0O1xuICAgICAgICAgICAgICAgIHRoaXMub25Gb3JtUmVuZGVyKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZpbmQgdGhlIGRlcGVuZGVudCB3aWRnZXQgKHRhYmxlL2xpc3QpXG4gICAgICAgIHRoaXMuYXBwLm5vdGlmeSgnc2V0dXAtY3VkLWxpc3RlbmVyJywgdGhpcy5kZXBlbmRzb24pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5mb3JtU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kc29uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2Zvcm0vc3JjL2xpdmUtYWN0aW9ucy9kZXBlbmRzb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBTWxELE1BQU0sT0FBTyxrQkFBa0I7SUFjM0IsWUFDMkIsUUFBZ0IsRUFDZixTQUFpQixFQUNqQyxhQUFvQyxFQUNwQyxHQUFRO1FBRFIsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFaEIsaURBQWlEO1FBQ2pELElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0Isd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENB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QUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO21IQTlJUSxrQkFBa0IsdUJBZVosVUFBVSx3QkFDVixXQUFXO29FQWhCakIsa0JBQWtCO3dDQUVWLGFBQWE7Ozs7OztpRkFGckIsa0JBQWtCO2NBSjlCLFNBQVM7ZUFBQztnQkFDVCxVQUFVLEVBQUUsSUFBSTtnQkFDZCxRQUFRLEVBQUUsYUFBYTthQUMxQjs7c0JBZ0JRLFNBQVM7dUJBQUMsVUFBVTs7c0JBQ3BCLFNBQVM7dUJBQUMsV0FBVzsyRUFkMkIsWUFBWTtrQkFBaEUsZUFBZTttQkFBQyxhQUFhLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBBdHRyaWJ1dGUsIENvbnRlbnRDaGlsZHJlbiwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0RGlhbG9nU2VydmljZSwgQXBwLCBEYXRhU291cmNlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgTGl2ZV9PcGVyYXRpb25zIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1tkZXBlbmRzb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBEZXBlbmRzb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihGb3JtQ29tcG9uZW50LCB7ZGVzY2VuZGFudHM6IHRydWV9KSBmb3JtQ2hpbGRyZW47XG5cbiAgICBwcml2YXRlIGRpYWxvZ0lkO1xuICAgIHByaXZhdGUgZGVwZW5kc29uO1xuICAgIHByaXZhdGUgaXNMYXlvdXREaWFsb2c7XG4gICAgcHJpdmF0ZSBmb3JtO1xuICAgIHByaXZhdGUgZWRpdE1vZGU7XG4gICAgcHJpdmF0ZSBjdXJyZW50T3A7XG4gICAgcHJpdmF0ZSBjdXJyZW50Rm9ybURhdGE7XG4gICAgcHJpdmF0ZSBmb3JtU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgZXZlbnRTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEF0dHJpYnV0ZSgnZGlhbG9naWQnKSBkaWFsb2dJZDogc3RyaW5nLFxuICAgICAgICBAQXR0cmlidXRlKCdkZXBlbmRzb24nKSBkZXBlbmRzb246IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHBcbiAgICApIHtcbiAgICAgICAgLy8gSWYgZGlhbG9nSWQgaXMgcHJlc2VudCwgZm9ybSBpcyBpbiBkaWFsb2cgbW9kZVxuICAgICAgICBpZiAoZGlhbG9nSWQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNMYXlvdXREaWFsb2cgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dJZCA9IGRpYWxvZ0lkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVwZW5kc29uID0gZGVwZW5kc29uO1xuICAgICAgICAvLyBMaXN0ZW4gdG8gdGhlIHdtLWV2ZW50IGNhbGxlZCBmcm9tIHN1YnNjcmliZWQgd2lkZ2V0c1xuICAgICAgICB0aGlzLmV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5hcHAuc3Vic2NyaWJlKCd3bS1ldmVudCcsIHRoaXMuaGFuZGxlRXZlbnQuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRm9ybURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5kaWFsb2dJZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblVwZGF0ZShuZXdWYWx1ZT8sIHRhYmxlPywgZWRpdENsaWNrZWQ/KSB7XG4gICAgICAgIHRoaXMuZWRpdE1vZGUgPSBlZGl0Q2xpY2tlZCB8fCB0aGlzLmVkaXRNb2RlIDtcbiAgICAgICAgdGhpcy5mb3JtLm9wZXJhdGlvblR5cGUgPSBMaXZlX09wZXJhdGlvbnMuVVBEQVRFO1xuICAgICAgICB0aGlzLmZvcm0uaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIGxldCByb3dEYXRhID0gdGhpcy5jdXJyZW50Rm9ybURhdGE7XG4gICAgICAgIGlmIChuZXdWYWx1ZSAmJiB0YWJsZSkge1xuICAgICAgICAgICAgaWYgKHRhYmxlLm11bHRpc2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgcm93RGF0YSA9IG5ld1ZhbHVlWzBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByb3dEYXRhID0gbmV3VmFsdWVbbmV3VmFsdWUubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtLnNldEZvcm1EYXRhKHJvd0RhdGEpO1xuICAgICAgICB0aGlzLmZvcm0uZWRpdCgpO1xuICAgICAgICBpZiAoIXRoaXMuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5pc1VwZGF0ZU1vZGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIG9uSW5zZXJ0KCkge1xuICAgICAgICB0aGlzLmZvcm0ub3BlcmF0aW9uVHlwZSA9IExpdmVfT3BlcmF0aW9ucy5JTlNFUlQ7XG4gICAgICAgIHRoaXMuZm9ybS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb3JtLnNldEZvcm1EYXRhKHt9KTtcbiAgICAgICAgdGhpcy5mb3JtLm5ldygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXZlbnQob3B0aW9ucykge1xuICAgICAgICBpZiAodGhpcy5kZXBlbmRzb24gIT09IG9wdGlvbnMud2lkZ2V0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudE9wID0gb3B0aW9ucy5ldmVudE5hbWU7XG4gICAgICAgIHN3aXRjaCAob3B0aW9ucy5ldmVudE5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgTGl2ZV9PcGVyYXRpb25zLlVQREFURTpcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRGb3JtRGF0YSA9IG9wdGlvbnMucm93O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTGF5b3V0RGlhbG9nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkZvcm1EaWFsb2coKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVXBkYXRlKHVuZGVmaW5lZCx1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTGl2ZV9PcGVyYXRpb25zLklOU0VSVDpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5Gb3JtRGlhbG9nKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICB0aGlzLm9uSW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuREVMRVRFOlxuICAgICAgICAgICAgICAgICg8YW55PnRoaXMuYXBwKS5XaWRnZXRzW3RoaXMuZGVwZW5kc29uXS5jYWxsKCdkZWxldGUnLCB7cm93OiBvcHRpb25zLnJvd30pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuUkVBRDpcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNMYXlvdXREaWFsb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmlzVXBkYXRlTW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3JlcmVuZGVyJzpcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5kYXRhU291cmNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5MSVNUX1JFQ09SRFMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2tpcFRvZ2dsZVN0YXRlJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BlcmF0aW9uJzogJ2xpc3QnXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWxlY3RlZEl0ZW1DaGFuZ2UnOlxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25VcGRhdGUob3B0aW9ucy5yb3csIG9wdGlvbnMudGFibGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3Jlc2V0RWRpdE1vZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Gb3JtUmVuZGVyKCkge1xuICAgICAgICAvLyBPbiBvcGVuaW5nIHRoZSBmb3JtIGluIGRpYWxvZyBtb2RlLCBjb21wbGV0ZSB0aGUgcGVuZGluZyBvcGVyYXRpb25zXG4gICAgICAgIGlmICh0aGlzLmZvcm0gJiYgdGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgdGhpcy5mb3JtLmlzTGF5b3V0RGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRPcCA9PT0gTGl2ZV9PcGVyYXRpb25zLlVQREFURSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVXBkYXRlKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudE9wID09PSBMaXZlX09wZXJhdGlvbnMuSU5TRVJUKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25JbnNlcnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAyNTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAvLyBJZiBmb3JtIGluc3RhbmNlIGlzIHByZXNlbnQsIGZvcm0gaXMgaW4gaW5saW5lIG1vZGUuIEVsc2UsIGl0IGlzIGluIGRpYWxvZyBtb2RlIGFuZCBsaXN0ZW4gdG8gZm9ybSBpbnN0YW5jZSBjaGFuZ2VzXG4gICAgICAgIGlmICh0aGlzLmZvcm1DaGlsZHJlbi5maXJzdCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQ2hpbGRyZW4uZmlyc3Q7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1TdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1DaGlsZHJlbi5jaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gdmFsLmZpcnN0O1xuICAgICAgICAgICAgICAgIHRoaXMub25Gb3JtUmVuZGVyKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZpbmQgdGhlIGRlcGVuZGVudCB3aWRnZXQgKHRhYmxlL2xpc3QpXG4gICAgICAgIHRoaXMuYXBwLm5vdGlmeSgnc2V0dXAtY3VkLWxpc3RlbmVyJywgdGhpcy5kZXBlbmRzb24pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5mb3JtU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -150,11 +150,12 @@ export class LiveActionsDirective {
150
150
  this.performOperation(operation, options);
151
151
  }
152
152
  static { this.ɵfac = function LiveActionsDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LiveActionsDirective)(i0.ɵɵdirectiveInject(ListComponent, 2), i0.ɵɵdirectiveInject(i1.App), i0.ɵɵdirectiveInject(i1.AbstractDialogService)); }; }
153
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LiveActionsDirective, selectors: [["", "wmLiveActions", ""]] }); }
153
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LiveActionsDirective, selectors: [["", "wmLiveActions", ""]], standalone: true }); }
154
154
  }
155
155
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LiveActionsDirective, [{
156
156
  type: Directive,
157
157
  args: [{
158
+ standalone: true,
158
159
  selector: '[wmLiveActions]'
159
160
  }]
160
161
  }], () => [{ type: undefined, decorators: [{
@@ -163,4 +164,4 @@ export class LiveActionsDirective {
163
164
  type: Inject,
164
165
  args: [ListComponent]
165
166
  }] }, { type: i1.App }, { type: i1.AbstractDialogService }], null); })();
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hY3Rpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2Zvcm0vc3JjL2xpdmUtYWN0aW9ucy9saXZlLWFjdGlvbnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBS3pELE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IsWUFDMkMsZ0JBQWdCLEVBQy9DLEdBQVEsRUFDUixhQUFvQztRQUZMLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBQTtRQUMvQyxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQ1Isa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBRTVDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELGdCQUFnQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sTUFBTTtRQUNULElB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V0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkQsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLElBQUk7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFFRCxzQ0FBc0M7SUFDL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBUSxFQUFFLEtBQU07UUFDNUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUIsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO3FIQWpLUSxvQkFBb0IsdUJBR1QsYUFBYTtvRUFIeEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBSGhDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2FBQzlCOztzQkFJUSxJQUFJOztzQkFBSSxNQUFNO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsIEFwcCwgRGF0YVNvdXJjZSwgdHJpZ2dlckZuIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgTGl2ZV9PcGVyYXRpb25zLCBwZXJmb3JtRGF0YU9wZXJhdGlvbiB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RhdGEvbGlzdCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3dtTGl2ZUFjdGlvbnNdJ1xufSlcbmV4cG9ydCBjbGFzcyBMaXZlQWN0aW9uc0RpcmVjdGl2ZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KExpc3RDb21wb25lbnQpIHByaXZhdGUgc3Vic2NyaWJlZFdpZGdldCxcbiAgICAgICAgcHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3Vic2NyaWJlZFdpZGdldC5hZGRSb3cgPSB0aGlzLmFkZFJvdy5iaW5kKHRoaXMpO1xuICAgICAgICBzdWJzY3JpYmVkV2lkZ2V0LnVwZGF0ZVJvdyA9IHRoaXMudXBkYXRlUm93LmJpbmQodGhpcyk7XG4gICAgICAgIHN1YnNjcmliZWRXaWRnZXQuZGVsZXRlUm93ID0gdGhpcy5kZWxldGVSb3cuYmluZCh0aGlzKTtcbiAgICAgICAgc3Vic2NyaWJlZFdpZGdldC5jYWxsID0gdGhpcy5jYWxsLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFJvdygpIHtcbiAgICAgICAgdGhpcy5hcHAubm90aWZ5KCd3bS1ldmVudCcsIHtldmVudE5hbWU6IExpdmVfT3BlcmF0aW9ucy5JTlNFUlQsIHdpZGdldE5hbWU6IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5uYW1lLCByb3c6IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5zZWxlY3RlZGl0ZW19KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlUm93KCkge1xuICAgICAgICB0aGlzLmFwcC5ub3RpZnkoJ3dtLWV2ZW50Jywge2V2ZW50TmFtZTogTGl2ZV9PcGVyYXRpb25zLlVQREFURSwgd2lkZ2V0TmFtZTogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0Lm5hbWUsIHJvdzogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LnNlbGVjdGVkaXRlbX0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVSb3coKSB7XG4gICAgICAgIHRoaXMuYXBwLm5vdGlmeSgnd20tZXZlbnQnLCB7ZXZlbnROYW1lOiBMaXZlX09wZXJhdGlvbnMuREVMRVRFLCB3aWRnZXROYW1lOiB0aGlzLnN1YnNjcmliZWRXaWRnZXQubmFtZSwgcm93OiB0aGlzLnN1YnNjcmliZWRXaWRnZXQuc2VsZWN0ZWRpdGVtfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWNjZXNzSGFuZGxlcihvcHRpb25zLCByZXNwb25zZSkge1xuICAgICAgICB0cmlnZ2VyRm4ob3B0aW9ucy5zdWNjZXNzLCByZXNwb25zZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXIob3B0aW9ucywgZXJyb3IpIHtcbiAgICAgICAgdGhpcy5hcHAubm90aWZ5QXBwKGVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgdHJpZ2dlckZuKG9wdGlvbnMuZXJyb3IsIGVycm9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVjb3JkcyhvcHRpb25zLCBvcGVyYXRpb24pIHtcbiAgICAgICAgbGV0IGluZGV4O1xuICAgICAgICBsZXQgZGF0YU5hdmlnYXRvcjtcblxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpYmVkV2lkZ2V0Lm5hdmlnYXRpb24gIT09ICdOb25lJyAmJiB0aGlzLnN1YnNjcmliZWRXaWRnZXQuZGF0YU5hdmlnYXRvcikge1xuICAgICAgICAgICAgZGF0YU5hdmlnYXRvciA9IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5kYXRhTmF2aWdhdG9yO1xuXG4gICAgICAgICAgICAvLyBJZiBvcGVyYXRpb24gaXMgZGVsZXRlLCBkZWNyZWFzZSB0aGUgZGF0YSBzaXplIGFuZCBjaGVjayBpZiBuYXZpZ2F0aW9uIHRvIHByZXZpb3VzIHBhZ2UgaXMgcmVxdWlyZWRcbiAgICAgICAgICAgIGlmIChvcGVyYXRpb24gPT09IExpdmVfT3BlcmF0aW9ucy5ERUxFVEUpIHtcbiAgICAgICAgICAgICAgICBkYXRhTmF2aWdhdG9yLmRhdGFTaXplIC09IDE7XG4gICAgICAgICAgICAgICAgZGF0YU5hdmlnYXRvci5jYWxjdWxhdGVQYWdpbmdWYWx1ZXMoKTtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGRhdGFOYXZpZ2F0b3IucGFnZUNvdW50IDwgZGF0YU5hdmlnYXRvci5kbi5jdXJyZW50UGFnZSA/ICdwcmV2JyA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgb3BlcmF0aW9uIGlzIGluc2VydCwgZ28gdG8gbGFzdCBwYWdlLiBJZiB1cGRhdGUgb3BlcmF0aW9uLCBzdGF5IG9uIGN1cnJlbnQgcGFnZVxuICAgICAgICAgICAgICAgIGluZGV4ID0gb3BlcmF0aW9uID09PSBMaXZlX09wZXJhdGlvbnMuSU5TRVJUID8gJ2xhc3QnIDogJ2N1cnJlbnQnO1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gJ2xhc3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFOYXZpZ2F0b3IuZGF0YVNpemUgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGF0YU5hdmlnYXRvci5jYWxjdWxhdGVQYWdpbmdWYWx1ZXMoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGF0YU5hdmlnYXRvci5uYXZpZ2F0ZVBhZ2UoaW5kZXgsIG51bGwsIHRydWUsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3NIYW5kbGVyKG9wdGlvbnMsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LmRhdGFzb3VyY2UuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5MSVNUX1JFQ09SRFMsIHtcbiAgICAgICAgICAgICAgICAnc2tpcFRvZ2dsZVN0YXRlJzogdHJ1ZVxuICAgICAgICAgICAgfSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzSGFuZGxlcihvcHRpb25zLCByZXNwb25zZSk7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyKG9wdGlvbnMsIGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGVyZm9ybUNVRE9wZXJhdGlvbihyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHBlcmZvcm1EYXRhT3BlcmF0aW9uKHRoaXMuc3Vic2NyaWJlZFdpZGdldC5kYXRhc291cmNlLCByZXF1ZXN0RGF0YSwge1xuICAgICAgICAgICAgb3BlcmF0aW9uVHlwZTogb3BlcmF0aW9uXG4gICAgICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIob3B0aW9ucywgcmVzcG9uc2UuZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnN1YnNjcmliZWRXaWRnZXQuZGF0YXNvdXJjZS5jYXRlZ29yeSA9PT0gJ3dtLkNydWRWYXJpYWJsZScgJiYgb3BlcmF0aW9uID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlZFdpZGdldC5kYXRhc291cmNlLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uTElTVF9SRUNPUkRTLCB7XG4gICAgICAgICAgICAgICAgICAgICdza2lwVG9nZ2xlU3RhdGUnOiB0cnVlXG4gICAgICAgICAgICAgICAgfSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0hhbmRsZXIob3B0aW9ucywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyKG9wdGlvbnMsIGVycik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjb3JkcyhvcHRpb25zLCBvcGVyYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gc2hvdyBkZWxldGUgc3VjY2VzcyB0b2FzdGVyXG4gICAgICAgICAgICBpZiAob3BlcmF0aW9uID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwLm5vdGlmeUFwcCh0aGlzLmFwcC5hcHBMb2NhbGUuTUVTU0FHRV9ERUxFVEVfUkVDT1JEX1NVQ0NFU1MsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIob3B0aW9ucywgZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluc2VydFJlY29yZChyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMucGVyZm9ybUNVRE9wZXJhdGlvbihyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlY29yZChyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMucGVyZm9ybUNVRE9wZXJhdGlvbihyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZVJlY29yZChyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIC8vIFNob3cgdGhlIGRlbGV0ZSBjb25maXJtYXRpb24gZGlhbG9nLiBPbiBPaywgZGVsZXRlIHRoZSByZWNvcmQuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93QXBwQ29uZmlybURpYWxvZyh7XG4gICAgICAgICAgICB0aXRsZTogIHRoaXMuYXBwLmFwcExvY2FsZS5NRVNTQUdFX0RFTEVURV9SRUNPUkQgfHwgJ0RlbGV0ZSBSZWNvcmQnLFxuICAgICAgICAgICAgaWNvbmNsYXNzOiAnd2kgd2ktZGVsZXRlIGZhLWxnJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5jb25maXJtZGVsZXRlIHx8ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXM/JyxcbiAgICAgICAgICAgIG9rdGV4dDogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LmRlbGV0ZW9rdGV4dCB8fCAnT2snLFxuICAgICAgICAgICAgY2FuY2VsdGV4dDogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LmRlbGV0ZWNhbmNlbHRleHQgfHwgJ0NhbmNlbCcsXG4gICAgICAgICAgICBvbk9rOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtQ1VET3BlcmF0aW9uKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZUFwcENvbmZpcm1EaWFsb2coKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkNhbmNlbDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyaWdnZXJGbihvcHRpb25zLmNhbmNlbERlbGV0ZUNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xvc2VBcHBDb25maXJtRGlhbG9nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbihvcGVyYXRpb24sIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XG4gICAgICAgICAgICByb3c6IG9wdGlvbnMucm93LFxuICAgICAgICAgICAgcHJldkRhdGE6IHt9LFxuICAgICAgICAgICAgcm93RGF0YToge30sXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRydWUsXG4gICAgICAgICAgICBza2lwTm90aWZpY2F0aW9uOiB0cnVlXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gTGl2ZV9PcGVyYXRpb25zLlVQREFURSkge1xuICAgICAgICAgICAgcmVxdWVzdERhdGEucm93RGF0YSA9IG9wdGlvbnMucm93RGF0YTtcbiAgICAgICAgICAgIHJlcXVlc3REYXRhLnByZXZEYXRhID0gb3B0aW9ucy5wcmV2RGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGRlY2lkZSByb3V0aW5lIGJhc2VkIG9uIENSVUQgb3BlcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCAqL1xuICAgICAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuSU5TRVJUOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5zZXJ0UmVjb3JkKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuVVBEQVRFOlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUmVjb3JkKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuREVMRVRFOlxuICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlUmVjb3JkKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuUkVBRDpcbiAgICAgICAgICAgICAgICB0aGlzLmdldFJlY29yZHMob3B0aW9ucywgb3BlcmF0aW9uKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFQSSBleHBvc2VkIHRvIG1ha2UgQ1JVRCBvcGVyYXRpb25zXG4gICAgcHVibGljIGNhbGwob3BlcmF0aW9uLCBvcHRpb25zLCBzdWNjZXNzPywgZXJyb3I/KSB7XG4gICAgICAgIG9wdGlvbnMuc3VjY2VzcyA9IHN1Y2Nlc3M7XG4gICAgICAgIG9wdGlvbnMuZXJyb3IgPSBlcnJvcjtcblxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb24ob3BlcmF0aW9uLCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hY3Rpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2Zvcm0vc3JjL2xpdmUtYWN0aW9ucy9saXZlLWFjdGlvbnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTXpELE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IsWUFDMkMsZ0JBQWdCLEVBQy9DLEdBQVEsRUFDUixhQUFvQztRQUZMLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBQTtRQUMvQyxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQ1Isa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBRTVDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELGdCQUFnQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sTUFBTTtRQUNULElB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V0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkQsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLElBQUk7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFFRCxzQ0FBc0M7SUFDL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBUSxFQUFFLEtBQU07UUFDNUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUIsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO3FIQWpLUSxvQkFBb0IsdUJBR1QsYUFBYTtvRUFIeEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBSmhDLFNBQVM7ZUFBQztnQkFDVCxVQUFVLEVBQUUsSUFBSTtnQkFDZCxRQUFRLEVBQUUsaUJBQWlCO2FBQzlCOztzQkFJUSxJQUFJOztzQkFBSSxNQUFNO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsIEFwcCwgRGF0YVNvdXJjZSwgdHJpZ2dlckZuIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgTGl2ZV9PcGVyYXRpb25zLCBwZXJmb3JtRGF0YU9wZXJhdGlvbiB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RhdGEvbGlzdCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3dtTGl2ZUFjdGlvbnNdJ1xufSlcbmV4cG9ydCBjbGFzcyBMaXZlQWN0aW9uc0RpcmVjdGl2ZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KExpc3RDb21wb25lbnQpIHByaXZhdGUgc3Vic2NyaWJlZFdpZGdldCxcbiAgICAgICAgcHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3Vic2NyaWJlZFdpZGdldC5hZGRSb3cgPSB0aGlzLmFkZFJvdy5iaW5kKHRoaXMpO1xuICAgICAgICBzdWJzY3JpYmVkV2lkZ2V0LnVwZGF0ZVJvdyA9IHRoaXMudXBkYXRlUm93LmJpbmQodGhpcyk7XG4gICAgICAgIHN1YnNjcmliZWRXaWRnZXQuZGVsZXRlUm93ID0gdGhpcy5kZWxldGVSb3cuYmluZCh0aGlzKTtcbiAgICAgICAgc3Vic2NyaWJlZFdpZGdldC5jYWxsID0gdGhpcy5jYWxsLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFJvdygpIHtcbiAgICAgICAgdGhpcy5hcHAubm90aWZ5KCd3bS1ldmVudCcsIHtldmVudE5hbWU6IExpdmVfT3BlcmF0aW9ucy5JTlNFUlQsIHdpZGdldE5hbWU6IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5uYW1lLCByb3c6IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5zZWxlY3RlZGl0ZW19KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlUm93KCkge1xuICAgICAgICB0aGlzLmFwcC5ub3RpZnkoJ3dtLWV2ZW50Jywge2V2ZW50TmFtZTogTGl2ZV9PcGVyYXRpb25zLlVQREFURSwgd2lkZ2V0TmFtZTogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0Lm5hbWUsIHJvdzogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LnNlbGVjdGVkaXRlbX0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVSb3coKSB7XG4gICAgICAgIHRoaXMuYXBwLm5vdGlmeSgnd20tZXZlbnQnLCB7ZXZlbnROYW1lOiBMaXZlX09wZXJhdGlvbnMuREVMRVRFLCB3aWRnZXROYW1lOiB0aGlzLnN1YnNjcmliZWRXaWRnZXQubmFtZSwgcm93OiB0aGlzLnN1YnNjcmliZWRXaWRnZXQuc2VsZWN0ZWRpdGVtfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWNjZXNzSGFuZGxlcihvcHRpb25zLCByZXNwb25zZSkge1xuICAgICAgICB0cmlnZ2VyRm4ob3B0aW9ucy5zdWNjZXNzLCByZXNwb25zZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXIob3B0aW9ucywgZXJyb3IpIHtcbiAgICAgICAgdGhpcy5hcHAubm90aWZ5QXBwKGVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgdHJpZ2dlckZuKG9wdGlvbnMuZXJyb3IsIGVycm9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVjb3JkcyhvcHRpb25zLCBvcGVyYXRpb24pIHtcbiAgICAgICAgbGV0IGluZGV4O1xuICAgICAgICBsZXQgZGF0YU5hdmlnYXRvcjtcblxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpYmVkV2lkZ2V0Lm5hdmlnYXRpb24gIT09ICdOb25lJyAmJiB0aGlzLnN1YnNjcmliZWRXaWRnZXQuZGF0YU5hdmlnYXRvcikge1xuICAgICAgICAgICAgZGF0YU5hdmlnYXRvciA9IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5kYXRhTmF2aWdhdG9yO1xuXG4gICAgICAgICAgICAvLyBJZiBvcGVyYXRpb24gaXMgZGVsZXRlLCBkZWNyZWFzZSB0aGUgZGF0YSBzaXplIGFuZCBjaGVjayBpZiBuYXZpZ2F0aW9uIHRvIHByZXZpb3VzIHBhZ2UgaXMgcmVxdWlyZWRcbiAgICAgICAgICAgIGlmIChvcGVyYXRpb24gPT09IExpdmVfT3BlcmF0aW9ucy5ERUxFVEUpIHtcbiAgICAgICAgICAgICAgICBkYXRhTmF2aWdhdG9yLmRhdGFTaXplIC09IDE7XG4gICAgICAgICAgICAgICAgZGF0YU5hdmlnYXRvci5jYWxjdWxhdGVQYWdpbmdWYWx1ZXMoKTtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGRhdGFOYXZpZ2F0b3IucGFnZUNvdW50IDwgZGF0YU5hdmlnYXRvci5kbi5jdXJyZW50UGFnZSA/ICdwcmV2JyA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgb3BlcmF0aW9uIGlzIGluc2VydCwgZ28gdG8gbGFzdCBwYWdlLiBJZiB1cGRhdGUgb3BlcmF0aW9uLCBzdGF5IG9uIGN1cnJlbnQgcGFnZVxuICAgICAgICAgICAgICAgIGluZGV4ID0gb3BlcmF0aW9uID09PSBMaXZlX09wZXJhdGlvbnMuSU5TRVJUID8gJ2xhc3QnIDogJ2N1cnJlbnQnO1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gJ2xhc3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFOYXZpZ2F0b3IuZGF0YVNpemUgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGF0YU5hdmlnYXRvci5jYWxjdWxhdGVQYWdpbmdWYWx1ZXMoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGF0YU5hdmlnYXRvci5uYXZpZ2F0ZVBhZ2UoaW5kZXgsIG51bGwsIHRydWUsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3NIYW5kbGVyKG9wdGlvbnMsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LmRhdGFzb3VyY2UuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5MSVNUX1JFQ09SRFMsIHtcbiAgICAgICAgICAgICAgICAnc2tpcFRvZ2dsZVN0YXRlJzogdHJ1ZVxuICAgICAgICAgICAgfSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzSGFuZGxlcihvcHRpb25zLCByZXNwb25zZSk7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyKG9wdGlvbnMsIGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGVyZm9ybUNVRE9wZXJhdGlvbihyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHBlcmZvcm1EYXRhT3BlcmF0aW9uKHRoaXMuc3Vic2NyaWJlZFdpZGdldC5kYXRhc291cmNlLCByZXF1ZXN0RGF0YSwge1xuICAgICAgICAgICAgb3BlcmF0aW9uVHlwZTogb3BlcmF0aW9uXG4gICAgICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIob3B0aW9ucywgcmVzcG9uc2UuZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnN1YnNjcmliZWRXaWRnZXQuZGF0YXNvdXJjZS5jYXRlZ29yeSA9PT0gJ3dtLkNydWRWYXJpYWJsZScgJiYgb3BlcmF0aW9uID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlZFdpZGdldC5kYXRhc291cmNlLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uTElTVF9SRUNPUkRTLCB7XG4gICAgICAgICAgICAgICAgICAgICdza2lwVG9nZ2xlU3RhdGUnOiB0cnVlXG4gICAgICAgICAgICAgICAgfSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0hhbmRsZXIob3B0aW9ucywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyKG9wdGlvbnMsIGVycik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjb3JkcyhvcHRpb25zLCBvcGVyYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gc2hvdyBkZWxldGUgc3VjY2VzcyB0b2FzdGVyXG4gICAgICAgICAgICBpZiAob3BlcmF0aW9uID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwLm5vdGlmeUFwcCh0aGlzLmFwcC5hcHBMb2NhbGUuTUVTU0FHRV9ERUxFVEVfUkVDT1JEX1NVQ0NFU1MsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIob3B0aW9ucywgZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluc2VydFJlY29yZChyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMucGVyZm9ybUNVRE9wZXJhdGlvbihyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlY29yZChyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMucGVyZm9ybUNVRE9wZXJhdGlvbihyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZVJlY29yZChyZXF1ZXN0RGF0YSwgb3BlcmF0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIC8vIFNob3cgdGhlIGRlbGV0ZSBjb25maXJtYXRpb24gZGlhbG9nLiBPbiBPaywgZGVsZXRlIHRoZSByZWNvcmQuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93QXBwQ29uZmlybURpYWxvZyh7XG4gICAgICAgICAgICB0aXRsZTogIHRoaXMuYXBwLmFwcExvY2FsZS5NRVNTQUdFX0RFTEVURV9SRUNPUkQgfHwgJ0RlbGV0ZSBSZWNvcmQnLFxuICAgICAgICAgICAgaWNvbmNsYXNzOiAnd2kgd2ktZGVsZXRlIGZhLWxnJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuc3Vic2NyaWJlZFdpZGdldC5jb25maXJtZGVsZXRlIHx8ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXM/JyxcbiAgICAgICAgICAgIG9rdGV4dDogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LmRlbGV0ZW9rdGV4dCB8fCAnT2snLFxuICAgICAgICAgICAgY2FuY2VsdGV4dDogdGhpcy5zdWJzY3JpYmVkV2lkZ2V0LmRlbGV0ZWNhbmNlbHRleHQgfHwgJ0NhbmNlbCcsXG4gICAgICAgICAgICBvbk9rOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtQ1VET3BlcmF0aW9uKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZUFwcENvbmZpcm1EaWFsb2coKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkNhbmNlbDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyaWdnZXJGbihvcHRpb25zLmNhbmNlbERlbGV0ZUNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xvc2VBcHBDb25maXJtRGlhbG9nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbihvcGVyYXRpb24sIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XG4gICAgICAgICAgICByb3c6IG9wdGlvbnMucm93LFxuICAgICAgICAgICAgcHJldkRhdGE6IHt9LFxuICAgICAgICAgICAgcm93RGF0YToge30sXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRydWUsXG4gICAgICAgICAgICBza2lwTm90aWZpY2F0aW9uOiB0cnVlXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gTGl2ZV9PcGVyYXRpb25zLlVQREFURSkge1xuICAgICAgICAgICAgcmVxdWVzdERhdGEucm93RGF0YSA9IG9wdGlvbnMucm93RGF0YTtcbiAgICAgICAgICAgIHJlcXVlc3REYXRhLnByZXZEYXRhID0gb3B0aW9ucy5wcmV2RGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGRlY2lkZSByb3V0aW5lIGJhc2VkIG9uIENSVUQgb3BlcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCAqL1xuICAgICAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuSU5TRVJUOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5zZXJ0UmVjb3JkKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuVVBEQVRFOlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUmVjb3JkKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuREVMRVRFOlxuICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlUmVjb3JkKHJlcXVlc3REYXRhLCBvcGVyYXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMaXZlX09wZXJhdGlvbnMuUkVBRDpcbiAgICAgICAgICAgICAgICB0aGlzLmdldFJlY29yZHMob3B0aW9ucywgb3BlcmF0aW9uKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFQSSBleHBvc2VkIHRvIG1ha2UgQ1JVRCBvcGVyYXRpb25zXG4gICAgcHVibGljIGNhbGwob3BlcmF0aW9uLCBvcHRpb25zLCBzdWNjZXNzPywgZXJyb3I/KSB7XG4gICAgICAgIG9wdGlvbnMuc3VjY2VzcyA9IHN1Y2Nlc3M7XG4gICAgICAgIG9wdGlvbnMuZXJyb3IgPSBlcnJvcjtcblxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb24ob3BlcmF0aW9uLCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=
@@ -327,11 +327,12 @@ export class LiveFilterDirective {
327
327
  this.form.filterWidgets[name] = widget;
328
328
  }
329
329
  static { this.ɵfac = function LiveFilterDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LiveFilterDirective)(i0.ɵɵdirectiveInject(FormComponent, 2)); }; }
330
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LiveFilterDirective, selectors: [["", "wmLiveFilter", ""]] }); }
330
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LiveFilterDirective, selectors: [["", "wmLiveFilter", ""]], standalone: true }); }
331
331
  }
332
332
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LiveFilterDirective, [{
333
333
  type: Directive,
334
334
  args: [{
335
+ standalone: true,
335
336
  selector: '[wmLiveFilter]'
336
337
  }]
337
338
  }], () => [{ type: undefined, decorators: [{
@@ -340,4 +341,4 @@ export class LiveFilterDirective {
340
341
  type: Inject,
341
342
  args: [FormComponent]
342
343
  }] }], null); })();
343
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1maWx0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2RhdGEvZm9ybS9zcmMvbGl2ZS1maWx0ZXIvbGl2ZS1maWx0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxTSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBRS9CLE1BQU0sZ0JBQWdCLEdBQUc7SUFDckIsV0FBVyxFQUFLLG1CQUFtQjtDQUN0QyxDQUFDO0FBQ0YsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBS3RCLE1BQU0sT0FBTyxtQkFBbUI7YUFDcEIsb0JBQWUsR0FBRyx1QkFBdUIsRUFBRSxBQUE1QixDQUE2QjtJQVVwRCxZQUFtRCxJQUFJO1FBQUosU0FBSSxHQUFKLElBQUksQ0FBQTtRQUx2RCw2SEFBNkg7UUFDN0gsWUFBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFD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RUQsMERBQTBEO0lBQzFELGVBQWU7UUFDWCwwREFBMEQ7UUFDMUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ2hELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEYsQ0FBQyxDQUFDLENBQUM7UUFDSCxnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBTTtRQUNyQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQzNDLENBQUM7b0hBeFVRLG1CQUFtQix1QkFXQSxhQUFhO29FQVhoQyxtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FIL0IsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7YUFDN0I7O3NCQVlnQixJQUFJOztzQkFBSSxNQUFNO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgJGFwcERpZ2VzdCwgRGF0YVNvdXJjZSwgRGF0YVR5cGUsIGRlYm91bmNlLCBGb3JtV2lkZ2V0VHlwZSwgZ2V0Q2xvbmVkT2JqZWN0LCBpc0RlZmluZWQgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBhcHBseUZpbHRlck9uRmllbGQsIGZldGNoRGlzdGluY3RWYWx1ZXMsIGdldERpc3RpbmN0VmFsdWVzRm9yRmllbGQsIGdldEVtcHR5TWF0Y2hNb2RlLCBnZXRFbmFibGVFbXB0eUZpbHRlciwgZ2V0UmFuZ2VGaWVsZFZhbHVlLCBnZXRSYW5nZU1hdGNoTW9kZSwgaXNEYXRhU2V0V2lkZ2V0IH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyByZWdpc3RlckxpdmVGaWx0ZXJQcm9wcyB9IGZyb20gJy4uL2Zvcm0ucHJvcHMnO1xuaW1wb3J0IHtmaW5kfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmNvbnN0IEZJTFRFUl9DT05TVEFOVFMgPSB7XG4gICAgJ0VNUFRZX0tFWScgICA6ICdFTVBUWV9OVUxMX0ZJTFRFUidcbn07XG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3dtTGl2ZUZpbHRlcl0nXG59KVxuZXhwb3J0IGNsYXNzIExpdmVGaWx0ZXJEaXJlY3RpdmUge1xuICAgIHN0YXRpYyAgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJMaXZlRmlsdGVyUHJvcHMoKTtcbiAgICBwcml2YXRlIF9vcHRpb25zO1xuXG4gICAgb3JkZXJCeTtcblxuICAgIC8vIGRlYm91bmNlIHRoZSBmaWx0ZXIgZnVuY3Rpb24uIElmIG11bHRpcGxlIGZpbHRlciBjYWxscyBhcmUgbWFkZSBhdCBzYW1lIHRpbWUsIGNhbGxzIHdpbGwgYmUgZGVsYXllZCBhbmQgbGFzdCBjYWxsIGlzIGZpcmVkXG4gICAgX2ZpbHRlciA9IGRlYm91bmNlKG9wdGlvbnMgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcihvcHRpb25zKTtcbiAgICB9LCAyNTApO1xuXG4gICAgY29uc3RydWN0b3IoQFNlbGYoKSBASW5qZWN0KEZvcm1Db21wb25lbnQpIHByaXZhdGUgZm9ybSkge1xuICAgICAgICBmb3JtLmNsZWFyRmlsdGVyID0gdGhpcy5jbGVhckZpbHRlci5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLmFwcGx5RmlsdGVyID0gdGhpcy5hcHBseUZpbHRlci5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLmZpbHRlciA9IHRoaXMuZmlsdGVyLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0uZmlsdGVyT25EZWZhdWx0ID0gdGhpcy5maWx0ZXJPbkRlZmF1bHQuYmluZCh0aGlzKTtcbiAgICAgICAgZm9ybS5leGVjdXRlID0gdGhpcy5leGVjdXRlLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0ub25GaWVsZERlZmF1bHRWYWx1ZUNoYW5nZSA9IHRoaXMub25GaWVsZERlZmF1bHRWYWx1ZUNoYW5nZS5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLm9uTWF4RGVmYXVsdFZhbHVlQ2hhbmdlID0gdGhpcy5vbk1heERlZmF1bHRWYWx1ZUNoYW5nZS5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLm9uRGF0YVNvdXJjZUNoYW5nZSA9IHRoaXMub25EYXRhU291cmNlQ2hhbmdlLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0ub25GaWVsZFZhbHVlQ2hhbmdlID0gdGhpcy5vbkZpZWxkVmFsdWVDaGFuZ2UuYmluZCh0aGlzKTtcbiAgICAgICAgZm9ybS5zdWJtaXRGb3JtID0gdGhpcy5zdWJtaXRGb3JtLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0ucmVnaXN0ZXJGb3JtV2lkZ2V0ID0gdGhpcy5yZWdpc3RlckZvcm1XaWRnZXQuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBleGVjdXRlKG9wZXJhdGlvbiwgb3B0aW9ucykge1xuICAgICAgICBpZiAob3BlcmF0aW9uID09PSBEYXRhU291cmNlLk9wZXJhdGlvbi5MSVNUX1JFQ09SRFMgfHwgb3BlcmF0aW9uID09PSBEYXRhU291cmNlLk9wZXJhdGlvbi5ET1dOTE9BRCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbHlGaWx0ZXIob3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX09QVElPTlMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zIHx8IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09IERhdGFTb3VyY2UuT3BlcmF0aW9uLkdFVF9QQUdJTkdfT1BUSU9OUykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5wYWdpbmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5mb3JtLmRhdGFzb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0aW9uID09PSBEYXRhU291cmNlLk9wZXJhdGlvbi5GRVRDSF9ESVNUSU5DVF9WQUxVRVMpIHtcbiAgICAgICAgICAgIHJldHVybiBmZXRjaERpc3RpbmN0VmFsdWVzKHRoaXMuZm9ybS5kYXRhc291cmNlLCB0aGlzLmZvcm0uZm9ybUZpZWxkcywge1xuICAgICAgICAgICAgICAgIHdpZGdldDogJ3dpZGdldHR5cGUnLFxuICAgICAgICAgICAgICAgIGVuYWJsZWVtcHR5ZmlsdGVyOiB0aGlzLmZvcm0uZW5hYmxlZW1wdHlmaWx0ZXIsXG4gICAgICAgICAgICAgICAgRU1QVFlfVkFMVUU6IHRoaXMuZm9ybS5hcHBMb2NhbGUuTEFCRUxfTk9fVkFMVUVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uZGF0YXNvdXJjZS5leGVjdXRlKG9wZXJhdGlvbiwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgb25GaWVsZERlZmF1bHRWYWx1ZUNoYW5nZShmaWVsZCwgbnYpIHtcbiAgICAgICAgZmllbGQubWluVmFsdWUgPSBudjtcbiAgICAgICAgZmllbGQudmFsdWUgPSBudjtcbiAgICAgICAgdGhpcy5maWx0ZXJPbkRlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkVmFsdWVDaGFuZ2UoZmllbGQsIG52KSB7XG4gICAgICAgIGFwcGx5RmlsdGVyT25GaWVsZCh0aGlzLmZvcm0uZGF0YXNvdXJjZSwgZmllbGQud2lkZ2V0LCB0aGlzLmZvcm0uZm9ybUZpZWxkcywgbnYsIHtcbiAgICAgICAgICAgIEVNUFRZX1ZBTFVFOiB0aGlzLmZvcm0uYXBwTG9jYWxlLkxBQkVMX05PX1ZBTFVFXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5mb3JtLmF1dG91cGRhdGUgJiYgaXNEZWZpbmVkKG52KSkge1xuICAgICAgICAgICAgdGhpcy5fZmlsdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1heERlZmF1bHRWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlck9uRGVmYXVsdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRhdGFTb3VyY2VDaGFuZ2UoKSB7XG4gICAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSB0aGlzLmZvcm0uZGF0YXNvdXJjZTtcblxuICAgICAgICBpZiAoIWRhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybS5mb3JtRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRGF0YVNldFdpZGdldChmaWVsZC53aWRnZXR0eXBlKSkge1xuICAgICAgICAgICAgICAgIGdldERpc3RpbmN0VmFsdWVzRm9yRmllbGQoZGF0YVNvdXJjZSwgZmllbGQud2lkZ2V0LCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZGdldDogJ3dpZGdldHR5cGUnLFxuICAgICAgICAgICAgICAgICAgICBlbmFibGVlbXB0eWZpbHRlcjogdGhpcy5mb3JtLmVuYWJsZWVtcHR5ZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBFTVBUWV9WQUxVRTogdGhpcy5mb3JtLmFwcExvY2FsZS5MQUJFTF9OT19WQUxVRVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGFwcGx5RmlsdGVyT25GaWVsZChkYXRhU291cmNlLCBmaWVsZC53aWRnZXQsIHRoaXMuZm9ybS5mb3JtRmllbGRzLCBmaWVsZC52YWx1ZSwge1xuICAgICAgICAgICAgICAgICAgICBpc0ZpcnN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBFTVBUWV9WQUxVRTogdGhpcy5mb3JtLmFwcExvY2FsZS5MQUJFTF9OT19WQUxVRVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBPbiBsb2FkIGNoZWNrIGlmIGRlZmF1bHQgdmFsdWUgZXhpc3RzIGFuZCBhcHBseSBmaWx0ZXIsIENhbGwgdGhlIGZpbHRlciB3aXRoIHRoZSByZXN1bHQgb3B0aW9uc1xuICAgICAgICB0aGlzLl9maWx0ZXIodGhpcy5fb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXIoKSB7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldEZvcm1TdGF0ZSgpO1xuICAgICAgICB0aGlzLmZvcm0uZm9ybUZpZWxkcy5mb3JFYWNoKGZpbHRlckZpZWxkID0+IHtcbiAgICAgICAgICAgIC8vIEFkZGVkIGNoZWNrIGZvciByYW5nZSBmaWVsZFxuICAgICAgICAgICAgaWYgKCFmaWx0ZXJGaWVsZC5yZWFkb25seSAmJiBmaWx0ZXJGaWVsZC5zaG93KSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckZpZWxkLndpZGdldHR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkFVVE9DT01QTEVURSB8fCBmaWx0ZXJGaWVsZC53aWRnZXR0eXBlID09PSBGb3JtV2lkZ2V0VHlwZS5UWVBFQUhFQUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLiRlbGVtZW50LmZpbmQoJ2RpdltuYW1lPScgKyBmaWx0ZXJGaWVsZC5uYW1lICsgJ10gaW5wdXQnKS52YWwoJycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyRmllbGRbJ2lzLXJhbmdlJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGQubWluVmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGQubWF4VmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZC5yZXNldERpc3BsYXlJbnB1dCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIElmIHZhcmlhYmxlIGhhcyBhbnkgYmluZGluZ3MsIHdhaXQgZm9yIHRoZSBiaW5kaW5ncyB0byBiZSB1cGRhdGVkXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gU2V0dGluZyByZXN1bHQgdG8gdGhlIGRlZmF1bHQgZGF0YVxuICAgICAgICAgICAgdGhpcy5fZmlsdGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1Ym1pdEZvcm0oKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIob3B0aW9ucykge1xuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyA/IChvcHRpb25zLmRhdGEgfHwgb3B0aW9ucykgOiB7fTtcbiAgICAgICAgb3B0aW9ucy5wYWdlID0gb3B0aW9ucy5wYWdlIHx8IDE7XG4gICAgICAgIG9wdGlvbnMub3JkZXJCeSA9IGlzRGVmaW5lZChvcHRpb25zLm9yZGVyQnkpID8gIG9wdGlvbnMub3JkZXJCeSA6IHRoaXMub3JkZXJCeTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGZpbHRlcihvcHRpb25zPykge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybS5kYXRhc291cmNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsdGVyRmllbGRzID0ge307XG4gICAgICAgIGNvbnN0IGRhdGFNb2RlbCA9IHt9O1xuICAgICAgICBsZXQgcGFnZSA9IDEsXG4gICAgICAgICAgICBvcmRlckJ5LFxuICAgICAgICAgICAgaXNWYWxpZDtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIHBhZ2UgPSBvcHRpb25zLnBhZ2UgfHwgcGFnZTtcbiAgICAgICAgb3JkZXJCeSA9IGlzRGVmaW5lZChvcHRpb25zLm9yZGVyQnkpID8gb3B0aW9ucy5vcmRlckJ5IDogKHRoaXMub3JkZXJCeSB8fCAnJyk7XG4gICAgICAgIHRoaXMub3JkZXJCeSA9IG9yZGVyQnk7IC8vIFN0b3JlIHRoZSBvcmRlciBieSBpbiBzY29wZS4gVGhpcyBjYW4gYmUgdXNlZCB0byByZXRhaW4gdGhlIHNvcnQgYWZ0ZXIgZmlsdGVyaW5nXG4gICAgICAgIC8vIENvcHkgdGhlIHZhbHVlcyB0byBiZSBzZW50IHRvIHRoZSB1c2VyIGFzICckZGF0YScgYmVmb3JlIHNlcnZpY2VjYWxsXG4gICAgICAgIHRoaXMuZm9ybS5mb3JtRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGRTZWxlY3RvciA9ICdkaXZbbmFtZT0nICsgZmllbGQubmFtZSArICddIGlucHV0JztcbiAgICAgICAgICAgIGNvbnN0ICRlbCA9IHRoaXMuZm9ybS4kZWxlbWVudDtcbiAgICAgICAgICAgIGxldCBmaWVsZEVsZTtcbiAgICAgICAgICAgIGlmICgoZmllbGQud2lkZ2V0dHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuQVVUT0NPTVBMRVRFIHx8IGZpZWxkLndpZGdldHR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRZUEVBSEVBRCkgJiYgJGVsKSB7XG4gICAgICAgICAgICAgICAgZmllbGRFbGUgPSAkZWwuZmluZChmaWVsZFNlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAoIWZpZWxkWydpcy1yYW5nZSddKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFNb2RlbFtmaWVsZC5maWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnOiBpc0RlZmluZWQoZmllbGQudmFsdWUpID8gZmllbGQudmFsdWUgOiBmaWVsZEVsZS52YWwoKSAvLyBGb3IgYXV0b2NvbXBsZXRlLCBzZXQgdGhlIGRhdGF2YWx1ZS4gSWYgbm90IHByZXNlbnQsIHNldCBxdWVyeSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFNb2RlbFtmaWVsZC5maWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbWluVmFsdWUnOiAgaXNEZWZpbmVkKGZpZWxkLm1pblZhbHVlKSA/IGZpZWxkLm1pblZhbHVlIDogZmllbGRFbGUuZmlyc3QoKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhWYWx1ZSc6ICBpc0RlZmluZWQoZmllbGQubWF4VmFsdWUpID8gZmllbGQubWF4VmFsdWUgOiBmaWVsZEVsZS5sYXN0KCkudmFsKClcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFmaWVsZFsnaXMtcmFuZ2UnXSkge1xuICAgICAgICAgICAgICAgIGRhdGFNb2RlbFtmaWVsZC5maWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IGZpZWxkLnZhbHVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YU1vZGVsW2ZpZWxkLmZpZWxkXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgJ21pblZhbHVlJzogZmllbGQubWluVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICdtYXhWYWx1ZSc6IGZpZWxkLm1heFZhbHVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8qUGVyZm9ybSB0aGlzIGZ1bmN0aW9uIGZvciB0aGUgZXZlbnQgb25CZWZvcmVzZXJ2aWNlY2FsbCovXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpc1ZhbGlkID0gdGhpcy5mb3JtLmludm9rZUV2ZW50Q2FsbGJhY2soJ2JlZm9yZXNlcnZpY2VjYWxsJywgeyRkYXRhOiBkYXRhTW9kZWx9KTtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc1ZhbGlkICYmIGlzVmFsaWQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udG9nZ2xlTWVzc2FnZSh0cnVlLCBpc1ZhbGlkLmVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKlVwZGF0ZSB0aGVzZSB2YWx1ZXMgaW4gdGhlIGZvcm1GaWVsZHMgd2l0aCBuZXcgcmVmZXJlbmNlLCBpbm9yZGVyIHRvIG1haW50YWluIHRoZSBVSSB2YWx1ZXMqL1xuICAgICAgICAgICAgdGhpcy5mb3JtLmZvcm1GaWVsZHMuZm9yRWFjaChmaWx0ZXJGaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXJGaWVsZFsnaXMtcmFuZ2UnXSkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZC5fdmFsdWUgPSBkYXRhTW9kZWxbZmlsdGVyRmllbGQuZmllbGRdLnZhbHVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkLl9taW5WYWx1ZSA9IGRhdGFNb2RlbFtmaWx0ZXJGaWVsZC5maWVsZF0ubWluVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkLl9tYXhWYWx1ZSA9IGRhdGFNb2RlbFtmaWx0ZXJGaWVsZC5maWVsZF0ubWF4VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlID09PSAnQWJvcnQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIENvbnN0cnVjdCB0aGUgZm9ybUZpZWxkcyBWYXJpYWJsZSB0byBzZW5kIGl0IHRvIHRoZSBxdWVyeUJ1aWxkZXIgKi9cbiAgICAgICAgdGhpcy5mb3JtLmZvcm1GaWVsZHMuZm9yRWFjaChmaWx0ZXJGaWVsZCA9PiB7XG4gICAgICAgICAgICBsZXQgZmllbGRWYWx1ZTtcbiAgICAgICAgICAgIGxldCBtYXRjaE1vZGU7XG4gICAgICAgICAgICBsZXQgY29sTmFtZSAgPSBmaWx0ZXJGaWVsZC5maWVsZDtcbiAgICAgICAgICAgIGNvbnN0IG1pblZhbHVlID0gZmlsdGVyRmllbGQuX21pblZhbHVlO1xuICAgICAgICAgICAgY29uc3QgbWF4dmFsdWUgPSBmaWx0ZXJGaWVsZC5fbWF4VmFsdWU7XG4gICAgICAgICAgICAvKiBpZiBmaWVsZCBpcyBwYXJ0IG9mIGEgcmVsYXRlZCBlbnRpdHksIGNvbHVtbiBuYW1lIHdpbGwgYmUgJ2VudGl0eS5maWVsZE5hbWUnICovXG4gICAgICAgICAgICBpZiAoZmlsdGVyRmllbGRbJ2lzLXJlbGF0ZWQnXSkge1xuICAgICAgICAgICAgICAgIGNvbE5hbWUgKz0gJy4nICsgZmlsdGVyRmllbGRbJ2xvb2t1cC1maWVsZCddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpbHRlckZpZWxkWydpcy1yYW5nZSddKSB7XG4gICAgICAgICAgICAgICAgLypCYXNlZCBvbiB0aGUgbWluIGFuZCBtYXggdmFsdWVzLCBkZWNpZGUgdGhlIG1hdGNobW9kZSBjb25kaXRpb24qL1xuICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBnZXRSYW5nZUZpZWxkVmFsdWUobWluVmFsdWUsIG1heHZhbHVlKTtcbiAgICAgICAgICAgICAgICBtYXRjaE1vZGUgID0gZ2V0UmFuZ2VNYXRjaE1vZGUobWluVmFsdWUsIG1heHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNEZWZpbmVkKGZpZWxkVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkc1tjb2xOYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScgICAgIDogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtYXRjaE1vZGUnIDogbWF0Y2hNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ2ljYWxPcCcgOiAnQU5EJ1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChmaWx0ZXJGaWVsZC53aWRnZXR0eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgRm9ybVdpZGdldFR5cGUuU0VMRUNUOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIEZvcm1XaWRnZXRUeXBlLlJBRElPU0VUOlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldEVuYWJsZUVtcHR5RmlsdGVyKHRoaXMuZm9ybS5lbmFibGVlbXB0eWZpbHRlcikgJiYgZmlsdGVyRmllbGQuX3ZhbHVlID09PSBGSUxURVJfQ09OU1RBTlRTLkVNUFRZX0tFWSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTW9kZSAgPSBnZXRFbXB0eU1hdGNoTW9kZSh0aGlzLmZvcm0uZW5hYmxlZW1wdHlmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBmaWx0ZXJGaWVsZC5fdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZC50eXBlID09PSBEYXRhVHlwZS5CT09MRUFOKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0RlZmluZWQoZmlsdGVyRmllbGQuX3ZhbHVlKSAmJiBmaWx0ZXJGaWVsZC5fdmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlID0gSlNPTi5wYXJzZShmaWx0ZXJGaWVsZC5fdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRWYWx1ZSA9IGZpbHRlckZpZWxkLl92YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5DSEVDS0JPWFNFVDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5DSElQUzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZC5fdmFsdWUgJiYgZmlsdGVyRmllbGQuX3ZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBmaWx0ZXJGaWVsZC5fdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5DSEVDS0JPWDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5UT0dHTEU6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNEZWZpbmVkKGZpbHRlckZpZWxkLl92YWx1ZSkgJiYgZmlsdGVyRmllbGQuX3ZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBmaWx0ZXJGaWVsZC50eXBlID09PSBEYXRhVHlwZS5CT09MRUFOID8gSlNPTi5wYXJzZShmaWx0ZXJGaWVsZC5fdmFsdWUpIDogZmlsdGVyRmllbGQuX3ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlID0gZmlsdGVyRmllbGQuX3ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0RlZmluZWQoZmllbGRWYWx1ZSkgJiYgZmllbGRWYWx1ZSAhPT0gJycgJiYgZmllbGRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZHNbY29sTmFtZV0gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoTW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGRzW2NvbE5hbWVdLm1hdGNoTW9kZSA9IG1hdGNoTW9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyRmllbGQudHlwZSA9PT0gRGF0YVR5cGUuU1RSSU5HIHx8IGZpbHRlckZpZWxkLmlzUmVsYXRlZCkgeyAvLyBPbmx5IGZvciBzdHJpbmcgdHlwZXMgYW5kIHJlbGF0ZWQgZmllbGRzLCBjdXN0b20gbWF0Y2ggbW9kZXMgYXJlIGVuYWJsZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZHNbY29sTmFtZV0ubWF0Y2hNb2RlID0gbWF0Y2hNb2RlIHx8IGZpbHRlckZpZWxkLm1hdGNobW9kZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5kYXRhc291cmNlLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX01BVENIX01PREUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkc1tjb2xOYW1lXS52YWx1ZSAgICAgPSBmaWVsZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZHNbY29sTmFtZV0ubG9naWNhbE9wID0gJ0FORCc7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkc1tjb2xOYW1lXS50eXBlID0gZmlsdGVyRmllbGQudHlwZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmV4cG9ydFR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm0uZGF0YXNvdXJjZS5leGVjdXRlKERhdGFTb3VyY2UuT3BlcmF0aW9uLkRPV05MT0FELCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBtYXRjaE1vZGUgOiAnYW55d2hlcmVpZ25vcmVjYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGRzIDogZmlsdGVyRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBvcmRlckJ5IDogb3JkZXJCeSxcbiAgICAgICAgICAgICAgICAgICAgZXhwb3J0VHlwZSA6IG9wdGlvbnMuZXhwb3J0VHlwZSxcbiAgICAgICAgICAgICAgICAgICAgbG9naWNhbE9wIDogJ0FORCcsXG4gICAgICAgICAgICAgICAgICAgIGV4cG9ydFNpemUgOiBvcHRpb25zLmV4cG9ydFNpemUsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkcyA6IG9wdGlvbnMuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZTogb3B0aW9ucy5maWxlTmFtZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uZGF0YXNvdXJjZS5leGVjdXRlKERhdGFTb3VyY2UuT3BlcmF0aW9uLkxJU1RfUkVDT1JEUywge1xuICAgICAgICAgICAgZmlsdGVyRmllbGRzIDogZmlsdGVyRmllbGRzLFxuICAgICAgICAgICAgb3JkZXJCeSA6IG9yZGVyQnksXG4gICAgICAgICAgICBwYWdlIDogcGFnZSxcbiAgICAgICAgICAgIHBhZ2VzaXplIDogdGhpcy5mb3JtLnBhZ2VzaXplIHx8IDIwLFxuICAgICAgICAgICAgc2tpcERhdGFTZXRVcGRhdGUgOiB0cnVlLCAvLyBkb250IHVwZGF0ZSB0aGUgYWN0dWFsIHZhcmlhYmxlIGRhdGFzZXQsXG4gICAgICAgICAgICBpbkZsaWdodEJlaGF2aW9yIDogJ2V4ZWN1dGVBbGwnXG4gICAgICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICB0aGlzLmZvcm0ucGFnaW5hdGlvbiA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG5cbiAgICAgICAgICAgIGlmIChkYXRhLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgLy8gZGlzYWJsZSByZWFkb25seSBhbmQgc2hvdyB0aGUgYXBwcm9wcmlhdGUgZXJyb3JcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udG9nZ2xlTWVzc2FnZSh0cnVlLCBkYXRhLmVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ub25SZXN1bHRDYihkYXRhLCBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICdwYWdlJzogcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgJ29yZGVyQnknOiBvcmRlckJ5XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucmVzdWx0ID0gZ2V0Q2xvbmVkT2JqZWN0KGRhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5vblJlc3VsdENiKGRhdGEsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5yZXN1bHQ7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS50b2dnbGVNZXNzYWdlKHRydWUsIGVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5vblJlc3VsdENiKGVycm9yLCBmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIENhbGxzIHRoZSBmaWx0ZXIgZnVuY3Rpb24gaWYgZGVmYXVsdCB2YWx1ZXMgYXJlIHByZXNlbnRcbiAgICBmaWx0ZXJPbkRlZmF1bHQoKSB7XG4gICAgICAgIC8qQ2hlY2sgaWYgZGVmYXVsdCB2YWx1ZSBpcyBwcmVzZW50IGZvciBhbnkgZmlsdGVyIGZpZWxkKi9cbiAgICAgICAgY29uc3QgZGVmYXVsdE9iaiA9IGZpbmQodGhpcy5mb3JtLmZvcm1GaWVsZHMsIG9iaiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXNEZWZpbmVkKG9iai52YWx1ZSkgfHwgaXNEZWZpbmVkKG9iai5taW5WYWx1ZSkgfHwgaXNEZWZpbmVkKG9iai5tYXhWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvKklmIGRlZmF1bHQgdmFsdWUgZXhpc3RzIGFuZCBkYXRhIGlzIGxvYWRlZCwgYXBwbHkgdGhlIGZpbHRlciovXG4gICAgICAgIGlmIChkZWZhdWx0T2JqKSB7XG4gICAgICAgICAgICB0aGlzLl9maWx0ZXIodGhpcy5fb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlckZvcm1XaWRnZXQod2lkZ2V0KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB3aWRnZXQua2V5IHx8IHdpZGdldC5uYW1lO1xuICAgICAgICB0aGlzLmZvcm0uZmlsdGVyV2lkZ2V0c1tuYW1lXSA9IHdpZGdldDtcbiAgICB9XG59XG4iXX0=
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1maWx0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2RhdGEvZm9ybS9zcmMvbGl2ZS1maWx0ZXIvbGl2ZS1maWx0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxTSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBRS9CLE1BQU0sZ0JBQWdCLEdBQUc7SUFDckIsV0FBVyxFQUFLLG1CQUFtQjtDQUN0QyxDQUFDO0FBQ0YsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBTXRCLE1BQU0sT0FBTyxtQkFBbUI7YUFDcEIsb0JBQWUsR0FBRyx1QkFBdUIsRUFBRSxBQUE1QixDQUE2QjtJQVVwRCxZQUFtRCxJQUFJO1FBQUosU0FBSSxHQUFKLElBQUksQ0FBQTtRQUx2RCw2SEFBNkg7UUFDN0gsWUFBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFD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RUQsMERBQTBEO0lBQzFELGVBQWU7UUFDWCwwREFBMEQ7UUFDMUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ2hELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEYsQ0FBQyxDQUFDLENBQUM7UUFDSCxnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBTTtRQUNyQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQzNDLENBQUM7b0hBeFVRLG1CQUFtQix1QkFXQSxhQUFhO29FQVhoQyxtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FKL0IsU0FBUztlQUFDO2dCQUNULFVBQVUsRUFBRSxJQUFJO2dCQUNkLFFBQVEsRUFBRSxnQkFBZ0I7YUFDN0I7O3NCQVlnQixJQUFJOztzQkFBSSxNQUFNO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgJGFwcERpZ2VzdCwgRGF0YVNvdXJjZSwgRGF0YVR5cGUsIGRlYm91bmNlLCBGb3JtV2lkZ2V0VHlwZSwgZ2V0Q2xvbmVkT2JqZWN0LCBpc0RlZmluZWQgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBhcHBseUZpbHRlck9uRmllbGQsIGZldGNoRGlzdGluY3RWYWx1ZXMsIGdldERpc3RpbmN0VmFsdWVzRm9yRmllbGQsIGdldEVtcHR5TWF0Y2hNb2RlLCBnZXRFbmFibGVFbXB0eUZpbHRlciwgZ2V0UmFuZ2VGaWVsZFZhbHVlLCBnZXRSYW5nZU1hdGNoTW9kZSwgaXNEYXRhU2V0V2lkZ2V0IH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyByZWdpc3RlckxpdmVGaWx0ZXJQcm9wcyB9IGZyb20gJy4uL2Zvcm0ucHJvcHMnO1xuaW1wb3J0IHtmaW5kfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmNvbnN0IEZJTFRFUl9DT05TVEFOVFMgPSB7XG4gICAgJ0VNUFRZX0tFWScgICA6ICdFTVBUWV9OVUxMX0ZJTFRFUidcbn07XG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3dtTGl2ZUZpbHRlcl0nXG59KVxuZXhwb3J0IGNsYXNzIExpdmVGaWx0ZXJEaXJlY3RpdmUge1xuICAgIHN0YXRpYyAgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJMaXZlRmlsdGVyUHJvcHMoKTtcbiAgICBwcml2YXRlIF9vcHRpb25zO1xuXG4gICAgb3JkZXJCeTtcblxuICAgIC8vIGRlYm91bmNlIHRoZSBmaWx0ZXIgZnVuY3Rpb24uIElmIG11bHRpcGxlIGZpbHRlciBjYWxscyBhcmUgbWFkZSBhdCBzYW1lIHRpbWUsIGNhbGxzIHdpbGwgYmUgZGVsYXllZCBhbmQgbGFzdCBjYWxsIGlzIGZpcmVkXG4gICAgX2ZpbHRlciA9IGRlYm91bmNlKG9wdGlvbnMgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcihvcHRpb25zKTtcbiAgICB9LCAyNTApO1xuXG4gICAgY29uc3RydWN0b3IoQFNlbGYoKSBASW5qZWN0KEZvcm1Db21wb25lbnQpIHByaXZhdGUgZm9ybSkge1xuICAgICAgICBmb3JtLmNsZWFyRmlsdGVyID0gdGhpcy5jbGVhckZpbHRlci5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLmFwcGx5RmlsdGVyID0gdGhpcy5hcHBseUZpbHRlci5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLmZpbHRlciA9IHRoaXMuZmlsdGVyLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0uZmlsdGVyT25EZWZhdWx0ID0gdGhpcy5maWx0ZXJPbkRlZmF1bHQuYmluZCh0aGlzKTtcbiAgICAgICAgZm9ybS5leGVjdXRlID0gdGhpcy5leGVjdXRlLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0ub25GaWVsZERlZmF1bHRWYWx1ZUNoYW5nZSA9IHRoaXMub25GaWVsZERlZmF1bHRWYWx1ZUNoYW5nZS5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLm9uTWF4RGVmYXVsdFZhbHVlQ2hhbmdlID0gdGhpcy5vbk1heERlZmF1bHRWYWx1ZUNoYW5nZS5iaW5kKHRoaXMpO1xuICAgICAgICBmb3JtLm9uRGF0YVNvdXJjZUNoYW5nZSA9IHRoaXMub25EYXRhU291cmNlQ2hhbmdlLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0ub25GaWVsZFZhbHVlQ2hhbmdlID0gdGhpcy5vbkZpZWxkVmFsdWVDaGFuZ2UuYmluZCh0aGlzKTtcbiAgICAgICAgZm9ybS5zdWJtaXRGb3JtID0gdGhpcy5zdWJtaXRGb3JtLmJpbmQodGhpcyk7XG4gICAgICAgIGZvcm0ucmVnaXN0ZXJGb3JtV2lkZ2V0ID0gdGhpcy5yZWdpc3RlckZvcm1XaWRnZXQuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBleGVjdXRlKG9wZXJhdGlvbiwgb3B0aW9ucykge1xuICAgICAgICBpZiAob3BlcmF0aW9uID09PSBEYXRhU291cmNlLk9wZXJhdGlvbi5MSVNUX1JFQ09SRFMgfHwgb3BlcmF0aW9uID09PSBEYXRhU291cmNlLk9wZXJhdGlvbi5ET1dOTE9BRCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbHlGaWx0ZXIob3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX09QVElPTlMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zIHx8IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09IERhdGFTb3VyY2UuT3BlcmF0aW9uLkdFVF9QQUdJTkdfT1BUSU9OUykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5wYWdpbmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5mb3JtLmRhdGFzb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0aW9uID09PSBEYXRhU291cmNlLk9wZXJhdGlvbi5GRVRDSF9ESVNUSU5DVF9WQUxVRVMpIHtcbiAgICAgICAgICAgIHJldHVybiBmZXRjaERpc3RpbmN0VmFsdWVzKHRoaXMuZm9ybS5kYXRhc291cmNlLCB0aGlzLmZvcm0uZm9ybUZpZWxkcywge1xuICAgICAgICAgICAgICAgIHdpZGdldDogJ3dpZGdldHR5cGUnLFxuICAgICAgICAgICAgICAgIGVuYWJsZWVtcHR5ZmlsdGVyOiB0aGlzLmZvcm0uZW5hYmxlZW1wdHlmaWx0ZXIsXG4gICAgICAgICAgICAgICAgRU1QVFlfVkFMVUU6IHRoaXMuZm9ybS5hcHBMb2NhbGUuTEFCRUxfTk9fVkFMVUVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uZGF0YXNvdXJjZS5leGVjdXRlKG9wZXJhdGlvbiwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgb25GaWVsZERlZmF1bHRWYWx1ZUNoYW5nZShmaWVsZCwgbnYpIHtcbiAgICAgICAgZmllbGQubWluVmFsdWUgPSBudjtcbiAgICAgICAgZmllbGQudmFsdWUgPSBudjtcbiAgICAgICAgdGhpcy5maWx0ZXJPbkRlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkVmFsdWVDaGFuZ2UoZmllbGQsIG52KSB7XG4gICAgICAgIGFwcGx5RmlsdGVyT25GaWVsZCh0aGlzLmZvcm0uZGF0YXNvdXJjZSwgZmllbGQud2lkZ2V0LCB0aGlzLmZvcm0uZm9ybUZpZWxkcywgbnYsIHtcbiAgICAgICAgICAgIEVNUFRZX1ZBTFVFOiB0aGlzLmZvcm0uYXBwTG9jYWxlLkxBQkVMX05PX1ZBTFVFXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5mb3JtLmF1dG91cGRhdGUgJiYgaXNEZWZpbmVkKG52KSkge1xuICAgICAgICAgICAgdGhpcy5fZmlsdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1heERlZmF1bHRWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlck9uRGVmYXVsdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRhdGFTb3VyY2VDaGFuZ2UoKSB7XG4gICAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSB0aGlzLmZvcm0uZGF0YXNvdXJjZTtcblxuICAgICAgICBpZiAoIWRhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybS5mb3JtRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRGF0YVNldFdpZGdldChmaWVsZC53aWRnZXR0eXBlKSkge1xuICAgICAgICAgICAgICAgIGdldERpc3RpbmN0VmFsdWVzRm9yRmllbGQoZGF0YVNvdXJjZSwgZmllbGQud2lkZ2V0LCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZGdldDogJ3dpZGdldHR5cGUnLFxuICAgICAgICAgICAgICAgICAgICBlbmFibGVlbXB0eWZpbHRlcjogdGhpcy5mb3JtLmVuYWJsZWVtcHR5ZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBFTVBUWV9WQUxVRTogdGhpcy5mb3JtLmFwcExvY2FsZS5MQUJFTF9OT19WQUxVRVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGFwcGx5RmlsdGVyT25GaWVsZChkYXRhU291cmNlLCBmaWVsZC53aWRnZXQsIHRoaXMuZm9ybS5mb3JtRmllbGRzLCBmaWVsZC52YWx1ZSwge1xuICAgICAgICAgICAgICAgICAgICBpc0ZpcnN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBFTVBUWV9WQUxVRTogdGhpcy5mb3JtLmFwcExvY2FsZS5MQUJFTF9OT19WQUxVRVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBPbiBsb2FkIGNoZWNrIGlmIGRlZmF1bHQgdmFsdWUgZXhpc3RzIGFuZCBhcHBseSBmaWx0ZXIsIENhbGwgdGhlIGZpbHRlciB3aXRoIHRoZSByZXN1bHQgb3B0aW9uc1xuICAgICAgICB0aGlzLl9maWx0ZXIodGhpcy5fb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXIoKSB7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldEZvcm1TdGF0ZSgpO1xuICAgICAgICB0aGlzLmZvcm0uZm9ybUZpZWxkcy5mb3JFYWNoKGZpbHRlckZpZWxkID0+IHtcbiAgICAgICAgICAgIC8vIEFkZGVkIGNoZWNrIGZvciByYW5nZSBmaWVsZFxuICAgICAgICAgICAgaWYgKCFmaWx0ZXJGaWVsZC5yZWFkb25seSAmJiBmaWx0ZXJGaWVsZC5zaG93KSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckZpZWxkLndpZGdldHR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkFVVE9DT01QTEVURSB8fCBmaWx0ZXJGaWVsZC53aWRnZXR0eXBlID09PSBGb3JtV2lkZ2V0VHlwZS5UWVBFQUhFQUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLiRlbGVtZW50LmZpbmQoJ2RpdltuYW1lPScgKyBmaWx0ZXJGaWVsZC5uYW1lICsgJ10gaW5wdXQnKS52YWwoJycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyRmllbGRbJ2lzLXJhbmdlJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGQubWluVmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGQubWF4VmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZC5yZXNldERpc3BsYXlJbnB1dCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIElmIHZhcmlhYmxlIGhhcyBhbnkgYmluZGluZ3MsIHdhaXQgZm9yIHRoZSBiaW5kaW5ncyB0byBiZSB1cGRhdGVkXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gU2V0dGluZyByZXN1bHQgdG8gdGhlIGRlZmF1bHQgZGF0YVxuICAgICAgICAgICAgdGhpcy5fZmlsdGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1Ym1pdEZvcm0oKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIob3B0aW9ucykge1xuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyA/IChvcHRpb25zLmRhdGEgfHwgb3B0aW9ucykgOiB7fTtcbiAgICAgICAgb3B0aW9ucy5wYWdlID0gb3B0aW9ucy5wYWdlIHx8IDE7XG4gICAgICAgIG9wdGlvbnMub3JkZXJCeSA9IGlzRGVmaW5lZChvcHRpb25zLm9yZGVyQnkpID8gIG9wdGlvbnMub3JkZXJCeSA6IHRoaXMub3JkZXJCeTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGZpbHRlcihvcHRpb25zPykge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybS5kYXRhc291cmNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsdGVyRmllbGRzID0ge307XG4gICAgICAgIGNvbnN0IGRhdGFNb2RlbCA9IHt9O1xuICAgICAgICBsZXQgcGFnZSA9IDEsXG4gICAgICAgICAgICBvcmRlckJ5LFxuICAgICAgICAgICAgaXNWYWxpZDtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIHBhZ2UgPSBvcHRpb25zLnBhZ2UgfHwgcGFnZTtcbiAgICAgICAgb3JkZXJCeSA9IGlzRGVmaW5lZChvcHRpb25zLm9yZGVyQnkpID8gb3B0aW9ucy5vcmRlckJ5IDogKHRoaXMub3JkZXJCeSB8fCAnJyk7XG4gICAgICAgIHRoaXMub3JkZXJCeSA9IG9yZGVyQnk7IC8vIFN0b3JlIHRoZSBvcmRlciBieSBpbiBzY29wZS4gVGhpcyBjYW4gYmUgdXNlZCB0byByZXRhaW4gdGhlIHNvcnQgYWZ0ZXIgZmlsdGVyaW5nXG4gICAgICAgIC8vIENvcHkgdGhlIHZhbHVlcyB0byBiZSBzZW50IHRvIHRoZSB1c2VyIGFzICckZGF0YScgYmVmb3JlIHNlcnZpY2VjYWxsXG4gICAgICAgIHRoaXMuZm9ybS5mb3JtRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGRTZWxlY3RvciA9ICdkaXZbbmFtZT0nICsgZmllbGQubmFtZSArICddIGlucHV0JztcbiAgICAgICAgICAgIGNvbnN0ICRlbCA9IHRoaXMuZm9ybS4kZWxlbWVudDtcbiAgICAgICAgICAgIGxldCBmaWVsZEVsZTtcbiAgICAgICAgICAgIGlmICgoZmllbGQud2lkZ2V0dHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuQVVUT0NPTVBMRVRFIHx8IGZpZWxkLndpZGdldHR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRZUEVBSEVBRCkgJiYgJGVsKSB7XG4gICAgICAgICAgICAgICAgZmllbGRFbGUgPSAkZWwuZmluZChmaWVsZFNlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAoIWZpZWxkWydpcy1yYW5nZSddKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFNb2RlbFtmaWVsZC5maWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnOiBpc0RlZmluZWQoZmllbGQudmFsdWUpID8gZmllbGQudmFsdWUgOiBmaWVsZEVsZS52YWwoKSAvLyBGb3IgYXV0b2NvbXBsZXRlLCBzZXQgdGhlIGRhdGF2YWx1ZS4gSWYgbm90IHByZXNlbnQsIHNldCBxdWVyeSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFNb2RlbFtmaWVsZC5maWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbWluVmFsdWUnOiAgaXNEZWZpbmVkKGZpZWxkLm1pblZhbHVlKSA/IGZpZWxkLm1pblZhbHVlIDogZmllbGRFbGUuZmlyc3QoKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhWYWx1ZSc6ICBpc0RlZmluZWQoZmllbGQubWF4VmFsdWUpID8gZmllbGQubWF4VmFsdWUgOiBmaWVsZEVsZS5sYXN0KCkudmFsKClcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFmaWVsZFsnaXMtcmFuZ2UnXSkge1xuICAgICAgICAgICAgICAgIGRhdGFNb2RlbFtmaWVsZC5maWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IGZpZWxkLnZhbHVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YU1vZGVsW2ZpZWxkLmZpZWxkXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgJ21pblZhbHVlJzogZmllbGQubWluVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICdtYXhWYWx1ZSc6IGZpZWxkLm1heFZhbHVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8qUGVyZm9ybSB0aGlzIGZ1bmN0aW9uIGZvciB0aGUgZXZlbnQgb25CZWZvcmVzZXJ2aWNlY2FsbCovXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpc1ZhbGlkID0gdGhpcy5mb3JtLmludm9rZUV2ZW50Q2FsbGJhY2soJ2JlZm9yZXNlcnZpY2VjYWxsJywgeyRkYXRhOiBkYXRhTW9kZWx9KTtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc1ZhbGlkICYmIGlzVmFsaWQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udG9nZ2xlTWVzc2FnZSh0cnVlLCBpc1ZhbGlkLmVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKlVwZGF0ZSB0aGVzZSB2YWx1ZXMgaW4gdGhlIGZvcm1GaWVsZHMgd2l0aCBuZXcgcmVmZXJlbmNlLCBpbm9yZGVyIHRvIG1haW50YWluIHRoZSBVSSB2YWx1ZXMqL1xuICAgICAgICAgICAgdGhpcy5mb3JtLmZvcm1GaWVsZHMuZm9yRWFjaChmaWx0ZXJGaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXJGaWVsZFsnaXMtcmFuZ2UnXSkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZC5fdmFsdWUgPSBkYXRhTW9kZWxbZmlsdGVyRmllbGQuZmllbGRdLnZhbHVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkLl9taW5WYWx1ZSA9IGRhdGFNb2RlbFtmaWx0ZXJGaWVsZC5maWVsZF0ubWluVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkLl9tYXhWYWx1ZSA9IGRhdGFNb2RlbFtmaWx0ZXJGaWVsZC5maWVsZF0ubWF4VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlID09PSAnQWJvcnQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIENvbnN0cnVjdCB0aGUgZm9ybUZpZWxkcyBWYXJpYWJsZSB0byBzZW5kIGl0IHRvIHRoZSBxdWVyeUJ1aWxkZXIgKi9cbiAgICAgICAgdGhpcy5mb3JtLmZvcm1GaWVsZHMuZm9yRWFjaChmaWx0ZXJGaWVsZCA9PiB7XG4gICAgICAgICAgICBsZXQgZmllbGRWYWx1ZTtcbiAgICAgICAgICAgIGxldCBtYXRjaE1vZGU7XG4gICAgICAgICAgICBsZXQgY29sTmFtZSAgPSBmaWx0ZXJGaWVsZC5maWVsZDtcbiAgICAgICAgICAgIGNvbnN0IG1pblZhbHVlID0gZmlsdGVyRmllbGQuX21pblZhbHVlO1xuICAgICAgICAgICAgY29uc3QgbWF4dmFsdWUgPSBmaWx0ZXJGaWVsZC5fbWF4VmFsdWU7XG4gICAgICAgICAgICAvKiBpZiBmaWVsZCBpcyBwYXJ0IG9mIGEgcmVsYXRlZCBlbnRpdHksIGNvbHVtbiBuYW1lIHdpbGwgYmUgJ2VudGl0eS5maWVsZE5hbWUnICovXG4gICAgICAgICAgICBpZiAoZmlsdGVyRmllbGRbJ2lzLXJlbGF0ZWQnXSkge1xuICAgICAgICAgICAgICAgIGNvbE5hbWUgKz0gJy4nICsgZmlsdGVyRmllbGRbJ2xvb2t1cC1maWVsZCddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpbHRlckZpZWxkWydpcy1yYW5nZSddKSB7XG4gICAgICAgICAgICAgICAgLypCYXNlZCBvbiB0aGUgbWluIGFuZCBtYXggdmFsdWVzLCBkZWNpZGUgdGhlIG1hdGNobW9kZSBjb25kaXRpb24qL1xuICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBnZXRSYW5nZUZpZWxkVmFsdWUobWluVmFsdWUsIG1heHZhbHVlKTtcbiAgICAgICAgICAgICAgICBtYXRjaE1vZGUgID0gZ2V0UmFuZ2VNYXRjaE1vZGUobWluVmFsdWUsIG1heHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNEZWZpbmVkKGZpZWxkVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkc1tjb2xOYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScgICAgIDogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtYXRjaE1vZGUnIDogbWF0Y2hNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ2ljYWxPcCcgOiAnQU5EJ1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChmaWx0ZXJGaWVsZC53aWRnZXR0eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgRm9ybVdpZGdldFR5cGUuU0VMRUNUOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIEZvcm1XaWRnZXRUeXBlLlJBRElPU0VUOlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldEVuYWJsZUVtcHR5RmlsdGVyKHRoaXMuZm9ybS5lbmFibGVlbXB0eWZpbHRlcikgJiYgZmlsdGVyRmllbGQuX3ZhbHVlID09PSBGSUxURVJfQ09OU1RBTlRTLkVNUFRZX0tFWSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTW9kZSAgPSBnZXRFbXB0eU1hdGNoTW9kZSh0aGlzLmZvcm0uZW5hYmxlZW1wdHlmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBmaWx0ZXJGaWVsZC5fdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZC50eXBlID09PSBEYXRhVHlwZS5CT09MRUFOKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0RlZmluZWQoZmlsdGVyRmllbGQuX3ZhbHVlKSAmJiBmaWx0ZXJGaWVsZC5fdmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlID0gSlNPTi5wYXJzZShmaWx0ZXJGaWVsZC5fdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRWYWx1ZSA9IGZpbHRlckZpZWxkLl92YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5DSEVDS0JPWFNFVDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5DSElQUzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZC5fdmFsdWUgJiYgZmlsdGVyRmllbGQuX3ZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBmaWx0ZXJGaWVsZC5fdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5DSEVDS0JPWDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGb3JtV2lkZ2V0VHlwZS5UT0dHTEU6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNEZWZpbmVkKGZpbHRlckZpZWxkLl92YWx1ZSkgJiYgZmlsdGVyRmllbGQuX3ZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSBmaWx0ZXJGaWVsZC50eXBlID09PSBEYXRhVHlwZS5CT09MRUFOID8gSlNPTi5wYXJzZShmaWx0ZXJGaWVsZC5fdmFsdWUpIDogZmlsdGVyRmllbGQuX3ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlID0gZmlsdGVyRmllbGQuX3ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0RlZmluZWQoZmllbGRWYWx1ZSkgJiYgZmllbGRWYWx1ZSAhPT0gJycgJiYgZmllbGRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZHNbY29sTmFtZV0gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoTW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGRzW2NvbE5hbWVdLm1hdGNoTW9kZSA9IG1hdGNoTW9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyRmllbGQudHlwZSA9PT0gRGF0YVR5cGUuU1RSSU5HIHx8IGZpbHRlckZpZWxkLmlzUmVsYXRlZCkgeyAvLyBPbmx5IGZvciBzdHJpbmcgdHlwZXMgYW5kIHJlbGF0ZWQgZmllbGRzLCBjdXN0b20gbWF0Y2ggbW9kZXMgYXJlIGVuYWJsZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZHNbY29sTmFtZV0ubWF0Y2hNb2RlID0gbWF0Y2hNb2RlIHx8IGZpbHRlckZpZWxkLm1hdGNobW9kZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5kYXRhc291cmNlLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX01BVENIX01PREUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkc1tjb2xOYW1lXS52YWx1ZSAgICAgPSBmaWVsZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZHNbY29sTmFtZV0ubG9naWNhbE9wID0gJ0FORCc7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkc1tjb2xOYW1lXS50eXBlID0gZmlsdGVyRmllbGQudHlwZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmV4cG9ydFR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm0uZGF0YXNvdXJjZS5leGVjdXRlKERhdGFTb3VyY2UuT3BlcmF0aW9uLkRPV05MT0FELCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBtYXRjaE1vZGUgOiAnYW55d2hlcmVpZ25vcmVjYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGRzIDogZmlsdGVyRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBvcmRlckJ5IDogb3JkZXJCeSxcbiAgICAgICAgICAgICAgICAgICAgZXhwb3J0VHlwZSA6IG9wdGlvbnMuZXhwb3J0VHlwZSxcbiAgICAgICAgICAgICAgICAgICAgbG9naWNhbE9wIDogJ0FORCcsXG4gICAgICAgICAgICAgICAgICAgIGV4cG9ydFNpemUgOiBvcHRpb25zLmV4cG9ydFNpemUsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkcyA6IG9wdGlvbnMuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZTogb3B0aW9ucy5maWxlTmFtZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uZGF0YXNvdXJjZS5leGVjdXRlKERhdGFTb3VyY2UuT3BlcmF0aW9uLkxJU1RfUkVDT1JEUywge1xuICAgICAgICAgICAgZmlsdGVyRmllbGRzIDogZmlsdGVyRmllbGRzLFxuICAgICAgICAgICAgb3JkZXJCeSA6IG9yZGVyQnksXG4gICAgICAgICAgICBwYWdlIDogcGFnZSxcbiAgICAgICAgICAgIHBhZ2VzaXplIDogdGhpcy5mb3JtLnBhZ2VzaXplIHx8IDIwLFxuICAgICAgICAgICAgc2tpcERhdGFTZXRVcGRhdGUgOiB0cnVlLCAvLyBkb250IHVwZGF0ZSB0aGUgYWN0dWFsIHZhcmlhYmxlIGRhdGFzZXQsXG4gICAgICAgICAgICBpbkZsaWdodEJlaGF2aW9yIDogJ2V4ZWN1dGVBbGwnXG4gICAgICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICB0aGlzLmZvcm0ucGFnaW5hdGlvbiA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG5cbiAgICAgICAgICAgIGlmIChkYXRhLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgLy8gZGlzYWJsZSByZWFkb25seSBhbmQgc2hvdyB0aGUgYXBwcm9wcmlhdGUgZXJyb3JcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udG9nZ2xlTWVzc2FnZSh0cnVlLCBkYXRhLmVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ub25SZXN1bHRDYihkYXRhLCBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICdwYWdlJzogcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgJ29yZGVyQnknOiBvcmRlckJ5XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucmVzdWx0ID0gZ2V0Q2xvbmVkT2JqZWN0KGRhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5vblJlc3VsdENiKGRhdGEsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5yZXN1bHQ7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS50b2dnbGVNZXNzYWdlKHRydWUsIGVycm9yLCAnZXJyb3InLCAnRVJST1InKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5vblJlc3VsdENiKGVycm9yLCBmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIENhbGxzIHRoZSBmaWx0ZXIgZnVuY3Rpb24gaWYgZGVmYXVsdCB2YWx1ZXMgYXJlIHByZXNlbnRcbiAgICBmaWx0ZXJPbkRlZmF1bHQoKSB7XG4gICAgICAgIC8qQ2hlY2sgaWYgZGVmYXVsdCB2YWx1ZSBpcyBwcmVzZW50IGZvciBhbnkgZmlsdGVyIGZpZWxkKi9cbiAgICAgICAgY29uc3QgZGVmYXVsdE9iaiA9IGZpbmQodGhpcy5mb3JtLmZvcm1GaWVsZHMsIG9iaiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXNEZWZpbmVkKG9iai52YWx1ZSkgfHwgaXNEZWZpbmVkKG9iai5taW5WYWx1ZSkgfHwgaXNEZWZpbmVkKG9iai5tYXhWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvKklmIGRlZmF1bHQgdmFsdWUgZXhpc3RzIGFuZCBkYXRhIGlzIGxvYWRlZCwgYXBwbHkgdGhlIGZpbHRlciovXG4gICAgICAgIGlmIChkZWZhdWx0T2JqKSB7XG4gICAgICAgICAgICB0aGlzLl9maWx0ZXIodGhpcy5fb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlckZvcm1XaWRnZXQod2lkZ2V0KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB3aWRnZXQua2V5IHx8IHdpZGdldC5uYW1lO1xuICAgICAgICB0aGlzLmZvcm0uZmlsdGVyV2lkZ2V0c1tuYW1lXSA9IHdpZGdldDtcbiAgICB9XG59XG4iXX0=