@wavemaker/app-ng-runtime 11.8.0-next.24904 → 11.8.0-next.27301

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 (346) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +5 -5
  2. app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
  3. app-ng-runtime/build-task/esm2022/page/page.build.mjs +3 -2
  4. app-ng-runtime/build-task/fesm2022/index.mjs +2 -1
  5. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  6. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +5 -5
  7. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +3 -2
  8. app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +1 -1
  9. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +2 -1
  10. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  11. app-ng-runtime/components/advanced/login/bundles/index.umd.js +6 -6
  12. app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +4 -3
  13. app-ng-runtime/components/advanced/login/fesm2022/index.mjs +3 -2
  14. app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
  15. app-ng-runtime/components/base/bundles/index.umd.js +203 -171
  16. app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +1 -1
  17. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +12 -11
  18. app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +3 -2
  19. app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +30 -29
  20. app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +47 -41
  21. app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +8 -7
  22. app-ng-runtime/components/base/esm2022/utils/widget-utils.mjs +28 -27
  23. app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +4 -3
  24. app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +24 -21
  25. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +12 -11
  26. app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +40 -14
  27. app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
  28. app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -2
  29. app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +1 -1
  30. app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
  31. app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +3 -2
  32. app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +6 -5
  33. app-ng-runtime/components/base/esm2022/widgets/framework/deviceview.mjs +1 -1
  34. app-ng-runtime/components/base/esm2022/widgets/framework/property-change-handler.mjs +3 -2
  35. app-ng-runtime/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +4 -3
  36. app-ng-runtime/components/base/fesm2022/index.mjs +206 -173
  37. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  38. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  39. app-ng-runtime/components/base/utils/data-utils.d.ts +0 -1
  40. app-ng-runtime/components/base/utils/widget-utils.d.ts +2 -2
  41. app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +1 -1
  42. app-ng-runtime/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  43. app-ng-runtime/components/basic/default/bundles/index.umd.js +10 -10
  44. app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +4 -3
  45. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +6 -5
  46. app-ng-runtime/components/basic/default/fesm2022/index.mjs +7 -6
  47. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  48. app-ng-runtime/components/basic/progress/bundles/index.umd.js +13 -13
  49. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +5 -4
  50. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +6 -5
  51. app-ng-runtime/components/basic/progress/esm2022/utils.mjs +3 -3
  52. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +10 -9
  53. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  54. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +15 -10
  55. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +14 -8
  56. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +13 -7
  57. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  58. app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -2
  59. app-ng-runtime/components/basic/search/bundles/index.umd.js +67 -65
  60. app-ng-runtime/components/basic/search/esm2022/data-provider/data-provider.mjs +1 -1
  61. app-ng-runtime/components/basic/search/esm2022/data-provider/local-data-provider.mjs +26 -23
  62. app-ng-runtime/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +12 -11
  63. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +31 -30
  64. app-ng-runtime/components/basic/search/fesm2022/index.mjs +66 -63
  65. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  66. app-ng-runtime/components/basic/tree/bundles/index.umd.js +9 -9
  67. app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +7 -6
  68. app-ng-runtime/components/basic/tree/fesm2022/index.mjs +6 -5
  69. app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
  70. app-ng-runtime/components/chart/bundles/index.umd.js +72 -63
  71. app-ng-runtime/components/chart/chart.component.d.ts +1 -1
  72. app-ng-runtime/components/chart/chart.utils.d.ts +3 -3
  73. app-ng-runtime/components/chart/esm2022/chart.component.mjs +58 -48
  74. app-ng-runtime/components/chart/esm2022/chart.utils.mjs +14 -13
  75. app-ng-runtime/components/chart/fesm2022/index.mjs +69 -59
  76. app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
  77. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +16 -16
  78. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +14 -13
  79. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +13 -12
  80. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  81. app-ng-runtime/components/containers/panel/bundles/index.umd.js +5 -5
  82. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +3 -2
  83. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +2 -1
  84. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  85. app-ng-runtime/components/containers/panel/panel.component.d.ts +1 -1
  86. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +17 -17
  87. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +15 -14
  88. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +14 -13
  89. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  90. app-ng-runtime/components/data/form/bundles/index.umd.js +75 -75
  91. app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
  92. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +10 -9
  93. app-ng-runtime/components/data/form/esm2022/form.component.mjs +54 -53
  94. app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
  95. app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +11 -10
  96. app-ng-runtime/components/data/form/fesm2022/index.mjs +77 -76
  97. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  98. app-ng-runtime/components/data/form/form.component.d.ts +2 -2
  99. app-ng-runtime/components/data/form/live-form/live-form.directive.d.ts +1 -1
  100. app-ng-runtime/components/data/list/bundles/index.umd.js +692 -687
  101. app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +1 -1
  102. app-ng-runtime/components/data/list/esm2022/list.animator.mjs +5 -3
  103. app-ng-runtime/components/data/list/esm2022/list.component.mjs +687 -682
  104. app-ng-runtime/components/data/list/fesm2022/index.mjs +690 -684
  105. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  106. app-ng-runtime/components/data/list/list.component.d.ts +53 -53
  107. app-ng-runtime/components/data/live-table/bundles/index.umd.js +1 -1
  108. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +2 -2
  109. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +1 -1
  110. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  111. app-ng-runtime/components/data/pagination/bundles/index.umd.js +14 -14
  112. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +12 -11
  113. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +11 -10
  114. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  115. app-ng-runtime/components/data/table/bundles/index.umd.js +175 -172
  116. app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
  117. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +19 -18
  118. app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +7 -6
  119. app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +53 -55
  120. app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
  121. app-ng-runtime/components/data/table/esm2022/table.component.mjs +98 -91
  122. app-ng-runtime/components/data/table/fesm2022/index.mjs +172 -168
  123. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  124. app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +6 -6
  125. app-ng-runtime/components/data/table/table.component.d.ts +2 -2
  126. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +2 -2
  127. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
  128. app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +1 -1
  129. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +1 -1
  130. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  131. app-ng-runtime/components/input/calendar/bundles/index.umd.js +33 -31
  132. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +31 -28
  133. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +30 -27
  134. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  135. app-ng-runtime/components/input/chips/bundles/index.umd.js +29 -28
  136. app-ng-runtime/components/input/chips/chips.component.d.ts +1 -1
  137. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +27 -25
  138. app-ng-runtime/components/input/chips/fesm2022/index.mjs +26 -24
  139. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  140. app-ng-runtime/components/input/default/base-form.component.d.ts +3 -3
  141. app-ng-runtime/components/input/default/bundles/index.umd.js +75 -62
  142. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  143. app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +4 -4
  144. app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +14 -8
  145. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +3 -2
  146. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +2 -2
  147. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +6 -4
  148. app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +29 -23
  149. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +4 -3
  150. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +4 -3
  151. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
  152. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +4 -3
  153. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +20 -18
  154. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +2 -2
  155. app-ng-runtime/components/input/default/fesm2022/index.mjs +75 -62
  156. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  157. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -1
  158. app-ng-runtime/components/input/epoch/bundles/index.umd.js +53 -51
  159. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +34 -31
  160. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +5 -4
  161. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +5 -4
  162. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +7 -6
  163. app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +1 -1
  164. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +6 -5
  165. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +48 -45
  166. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  167. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +15 -15
  168. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +13 -12
  169. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +12 -11
  170. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  171. app-ng-runtime/components/input/rating/bundles/index.umd.js +12 -12
  172. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +10 -9
  173. app-ng-runtime/components/input/rating/fesm2022/index.mjs +9 -8
  174. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  175. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +1 -1
  176. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +2 -2
  177. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +1 -1
  178. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  179. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +23 -22
  180. app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +3 -2
  181. app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +6 -5
  182. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
  183. app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +10 -8
  184. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +20 -18
  185. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  186. app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +12 -1
  187. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +1 -1
  188. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  189. app-ng-runtime/components/prefab/bundles/index.umd.js +6 -6
  190. app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
  191. app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +3 -2
  192. app-ng-runtime/components/prefab/fesm2022/index.mjs +3 -2
  193. app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
  194. app-ng-runtime/core/bundles/index.umd.js +119 -130
  195. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  196. app-ng-runtime/core/esm2022/services/field-type.service.mjs +3 -2
  197. app-ng-runtime/core/esm2022/services/field-widget.service.mjs +3 -2
  198. app-ng-runtime/core/esm2022/services/pagination.service.mjs +7 -6
  199. app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +17 -16
  200. app-ng-runtime/core/esm2022/services/utils.service.mjs +3 -2
  201. app-ng-runtime/core/esm2022/services/viewport.service.mjs +3 -2
  202. app-ng-runtime/core/esm2022/utils/build-utils.mjs +5 -4
  203. app-ng-runtime/core/esm2022/utils/expression-parser.mjs +5 -4
  204. app-ng-runtime/core/esm2022/utils/lru-cache.mjs +3 -2
  205. app-ng-runtime/core/esm2022/utils/utils.mjs +79 -82
  206. app-ng-runtime/core/esm2022/utils/watcher.mjs +9 -7
  207. app-ng-runtime/core/fesm2022/index.mjs +117 -123
  208. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  209. app-ng-runtime/core/public_api.d.ts +1 -1
  210. app-ng-runtime/core/services/pagination.service.d.ts +1 -1
  211. app-ng-runtime/core/utils/utils.d.ts +5 -9
  212. app-ng-runtime/http/bundles/index.umd.js +7 -7
  213. app-ng-runtime/http/esm2022/http.service.mjs +5 -4
  214. app-ng-runtime/http/esm2022/wm-http-request.mjs +1 -1
  215. app-ng-runtime/http/esm2022/wm-http-response.mjs +1 -1
  216. app-ng-runtime/http/fesm2022/index.mjs +4 -3
  217. app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
  218. app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +24 -20
  219. app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +5 -4
  220. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +12 -8
  221. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +5 -3
  222. app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +3 -2
  223. app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +5 -4
  224. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +21 -16
  225. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  226. app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +7 -7
  227. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +2 -2
  228. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +4 -3
  229. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +4 -3
  230. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  231. app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +8 -8
  232. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +4 -3
  233. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +3 -2
  234. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  235. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +5 -5
  236. app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +3 -2
  237. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +2 -1
  238. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
  239. app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +9 -9
  240. app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +7 -6
  241. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +6 -5
  242. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  243. app-ng-runtime/mobile/core/bundles/index.umd.js +25 -25
  244. app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +5 -4
  245. app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +3 -2
  246. app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +4 -3
  247. app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +6 -5
  248. app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +3 -2
  249. app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +5 -4
  250. app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +9 -8
  251. app-ng-runtime/mobile/core/fesm2022/index.mjs +22 -21
  252. app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
  253. app-ng-runtime/mobile/core/services/ext-app-message.service.d.ts +1 -1
  254. app-ng-runtime/mobile/core/services/network.service.d.ts +7 -1
  255. app-ng-runtime/mobile/offline/bundles/index.umd.js +161 -144
  256. app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +23 -21
  257. app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +7 -6
  258. app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +37 -35
  259. app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +54 -45
  260. app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +5 -4
  261. app-ng-runtime/mobile/offline/esm2022/services/workers/error-blocker.mjs +4 -3
  262. app-ng-runtime/mobile/offline/esm2022/services/workers/file-handler.mjs +18 -13
  263. app-ng-runtime/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +9 -5
  264. app-ng-runtime/mobile/offline/esm2022/utils/live-variable.utils.mjs +12 -11
  265. app-ng-runtime/mobile/offline/esm2022/utils/query-executor.utils.mjs +5 -4
  266. app-ng-runtime/mobile/offline/esm2022/utils/security.utils.mjs +3 -2
  267. app-ng-runtime/mobile/offline/fesm2022/index.mjs +156 -138
  268. app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
  269. app-ng-runtime/mobile/runtime/bundles/index.umd.js +11 -8
  270. app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +3 -2
  271. app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +6 -2
  272. app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +4 -3
  273. app-ng-runtime/mobile/runtime/fesm2022/index.mjs +8 -4
  274. app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
  275. app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +2 -2
  276. app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +3 -3
  277. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +2 -2
  278. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
  279. app-ng-runtime/mobile/variables/bundles/index.umd.js +23 -16
  280. app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +2 -2
  281. app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +10 -9
  282. app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +11 -3
  283. app-ng-runtime/mobile/variables/fesm2022/index.mjs +19 -11
  284. app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
  285. app-ng-runtime/oAuth/bundles/index.umd.js +12 -12
  286. app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +4 -3
  287. app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +8 -7
  288. app-ng-runtime/oAuth/fesm2022/index.mjs +9 -8
  289. app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
  290. app-ng-runtime/package.json +1 -1
  291. app-ng-runtime/runtime/base/bundles/index.umd.js +121 -120
  292. app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +4 -3
  293. app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +14 -13
  294. app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +13 -12
  295. app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +15 -14
  296. app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +14 -13
  297. app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +6 -5
  298. app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -10
  299. app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +1 -1
  300. app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +3 -2
  301. app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +1 -1
  302. app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +17 -14
  303. app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +7 -6
  304. app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +3 -2
  305. app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +4 -3
  306. app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +12 -10
  307. app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +8 -7
  308. app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +3 -2
  309. app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +7 -6
  310. app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +6 -5
  311. app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +6 -7
  312. app-ng-runtime/runtime/base/fesm2022/index.mjs +119 -117
  313. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  314. app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
  315. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +7 -7
  316. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +4 -3
  317. app-ng-runtime/runtime/dynamic/esm2022/main.mjs +3 -2
  318. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +4 -3
  319. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  320. app-ng-runtime/scripts/jquery-ui/ui/widgets/droppable.js +7 -7
  321. app-ng-runtime/scripts/jquery-ui/ui/widgets/resizable.js +13 -10
  322. app-ng-runtime/scripts/jquery-ui/ui/widgets/sortable.js +7 -7
  323. app-ng-runtime/security/bundles/index.umd.js +14 -14
  324. app-ng-runtime/security/esm2022/security.service.mjs +12 -11
  325. app-ng-runtime/security/fesm2022/index.mjs +11 -10
  326. app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
  327. app-ng-runtime/security/security.service.d.ts +1 -1
  328. app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
  329. app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
  330. app-ng-runtime/transpiler/bundles/index.umd.js +10 -9
  331. app-ng-runtime/transpiler/esm2022/build.mjs +8 -6
  332. app-ng-runtime/transpiler/fesm2022/index.mjs +7 -5
  333. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
  334. app-ng-runtime/variables/bundles/index.umd.js +155 -145
  335. app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +15 -14
  336. app-ng-runtime/variables/esm2022/manager/action/notification-action.manager.mjs +9 -8
  337. app-ng-runtime/variables/esm2022/manager/variable/base-variable.manager.mjs +3 -2
  338. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +11 -10
  339. app-ng-runtime/variables/esm2022/service/variables.service.mjs +7 -6
  340. app-ng-runtime/variables/esm2022/util/action/navigation-action.utils.mjs +4 -4
  341. app-ng-runtime/variables/esm2022/util/variable/pagination.utils.mjs +30 -23
  342. app-ng-runtime/variables/esm2022/util/variable/service-variable.utils.mjs +29 -28
  343. app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +75 -70
  344. app-ng-runtime/variables/fesm2022/index.mjs +169 -158
  345. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
  346. app-ng-runtime/variables/util/variable/service-variable.utils.d.ts +1 -1
@@ -4,7 +4,7 @@ export { appendNode, insertBefore, insertAfter, removeNode, removeClass, addClas
4
4
  export * from './enums/enums';
5
5
  export * from './utils/event-notifier';
6
6
  export { ParseExprResult, $parseExpr, $parseEvent, registerFnByExpr, setPipeProvider, getFnByExpr, getFnForBindExpr, getFnForEventExpr } from './utils/expression-parser';
7
- export { EVENT_LIFE, isDefined, isObject, toBoolean, isIE, isAndroid, isAndroidTablet, isIphone, isIpod, isIpad, isIos, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, isMobileApp, getAndroidVersion, isKitkatDevice, encodeUrl, encodeUrlParams, initCaps, spaceSeparate, replaceAt, periodSeparate, prettifyLabel, deHyphenate, prettifyLabels, isInsecureContentRequest, stringStartsWith, getEvaluatedExprValue, isImageFile, isAudioFile, isVideoFile, isValidWebURL, getResourceURL, triggerFn, hasOffsetStr, getFormattedDate, getDateObj, addEventListenerOnElement, getClonedObject, getFiles, generateGUId, validateAccessRoles, getValidJSON, xmlToJson, findValueOf, extractType, isNumberType, isEmptyObject, scrollToElement, isElementInViewport, isPageable, replace, isDateTimeType, getValidDateObject, getNativeDateObject, getBlob, isEqualWithFields, loadStyleSheet, loadStyleSheets, loadScript, loadScripts, _WM_APP_PROJECT, setSessionStorageItem, getSessionStorageItem, noop, isArray, isString, isNumber, isBoolean, convertToBlob, hasCordova, AppConstants, openLink, fetchContent, toPromise, retryIfFails, getAbortableDefer, createCSSRule, getUrlParams, getMomentLocaleObject, getRouteNameFromLink, isAppleProduct, defer, executePromiseChain, isDataSourceEqual, validateDataSourceCtx, processFilterExpBindNode, extendProto, removeExtraSlashes, getDisplayDateTimeFormat, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, setTranslation3dPosition, getWebkitTraslationMatrix, closePopover, detectChanges, triggerItemAction, getDatasourceFromExpr, extractCurrentItemExpr, findRootContainer, VALIDATOR, transformFileURI, appendScriptToHead, getAppSetting, setListClass, findParent } from './utils/utils';
7
+ export { EVENT_LIFE, isDefined, isObject, toBoolean, isIE, isAndroid, isAndroidTablet, isIphone, isIpod, isIpad, isIos, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, isMobileApp, getAndroidVersion, isKitkatDevice, encodeUrl, encodeUrlParams, initCaps, spaceSeparate, replaceAt, periodSeparate, prettifyLabel, deHyphenate, prettifyLabels, isInsecureContentRequest, stringStartsWith, getEvaluatedExprValue, isImageFile, isAudioFile, isVideoFile, isValidWebURL, getResourceURL, triggerFn, hasOffsetStr, getFormattedDate, getDateObj, addEventListenerOnElement, getClonedObject, getFiles, generateGUId, validateAccessRoles, getValidJSON, xmlToJson, findValueOf, extractType, isNumberType, isEmptyObject, scrollToElement, isElementInViewport, isPageable, replace, isDateTimeType, getValidDateObject, getNativeDateObject, getBlob, isEqualWithFields, loadStyleSheet, loadStyleSheets, loadScript, loadScripts, _WM_APP_PROJECT, setSessionStorageItem, getSessionStorageItem, noop, convertToBlob, hasCordova, AppConstants, openLink, fetchContent, toPromise, retryIfFails, getAbortableDefer, createCSSRule, getUrlParams, getMomentLocaleObject, getRouteNameFromLink, isAppleProduct, defer, executePromiseChain, isDataSourceEqual, validateDataSourceCtx, processFilterExpBindNode, extendProto, removeExtraSlashes, getDisplayDateTimeFormat, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, setTranslation3dPosition, getWebkitTraslationMatrix, closePopover, detectChanges, triggerItemAction, getDatasourceFromExpr, extractCurrentItemExpr, findRootContainer, VALIDATOR, transformFileURI, appendScriptToHead, getAppSetting, setListClass, findParent } from './utils/utils';
8
8
  export { FIRST_TIME_WATCH, isFirstTimeChange, debounce, muteWatchers, unMuteWatchers, $watch, $unwatch, setNgZone, setAppRef, isChangeFromWatch, resetChangeFromWatch, $invokeWatchers, $appDigest } from './utils/watcher';
9
9
  export * from './utils/id-generator';
10
10
  export * from './types/types';
@@ -25,7 +25,7 @@ export declare class PaginationService {
25
25
  * @param {number} debounceNum provided to lodash debounce
26
26
  * @returns debounced function definition
27
27
  */
28
- debouncedFetchNextDatasetOnScroll(dataNavigator: any, debounceNum: any, parent: any): any;
28
+ debouncedFetchNextDatasetOnScroll(dataNavigator: any, debounceNum: any, parent: any): import("lodash").DebouncedFunc<() => void>;
29
29
  /**
30
30
  * @description
31
31
  * This function calls next set of data when navigated to next page
@@ -74,7 +74,7 @@ export declare const generateGUId: () => string;
74
74
  /**
75
75
  * Validate if given access role is in current loggedin user access roles
76
76
  */
77
- export declare const validateAccessRoles: (roleExp: any, loggedInUser: any) => any;
77
+ export declare const validateAccessRoles: (roleExp: any, loggedInUser: any) => number | true;
78
78
  export declare const getValidJSON: (content: any) => any;
79
79
  export declare const xmlToJson: (xmlString: any) => any;
80
80
  export declare const findValueOf: (obj: any, key: any, create?: any) => any;
@@ -85,7 +85,7 @@ export declare const scrollToElement: (element: any) => void;
85
85
  export declare const isElementInViewport: (element: any) => boolean;
86
86
  export declare const isPageable: (obj: any) => boolean;
87
87
  export declare const replace: (template: any, map: any, parseError?: boolean) => any;
88
- export declare const isDateTimeType: (type: any) => any;
88
+ export declare const isDateTimeType: (type: any) => boolean;
89
89
  export declare const getValidDateObject: (val: any, options?: any) => any;
90
90
  export declare const getNativeDateObject: (val: any, options?: any) => Date;
91
91
  /**
@@ -103,7 +103,7 @@ export declare const getBlob: (val: any, valContentType?: any) => any;
103
103
  * @param compareBy string field values to compare
104
104
  * @returns {boolean} true if object equality returns true based on fields
105
105
  */
106
- export declare const isEqualWithFields: (obj1: any, obj2: any, compareBy: any) => any;
106
+ export declare const isEqualWithFields: (obj1: any, obj2: any, compareBy: any) => boolean;
107
107
  export declare const loadStyleSheet: (url: any, attr: any) => any;
108
108
  export declare const loadStyleSheets: (urls?: any[]) => void;
109
109
  export declare const getMomentLocaleObject: (timeZone: any, dateObj?: any) => Date;
@@ -122,10 +122,6 @@ export declare const setSessionStorageItem: (key: any, value: any) => void;
122
122
  */
123
123
  export declare const getSessionStorageItem: (key: any) => string;
124
124
  export declare const noop: (...args: any[]) => void;
125
- export declare const isArray: (v: any) => any;
126
- export declare const isString: (v: any) => boolean;
127
- export declare const isNumber: (v: any) => boolean;
128
- export declare const isBoolean: (v: any) => boolean;
129
125
  /**
130
126
  * This function returns a blob object from the given file path
131
127
  * @param filepath
@@ -178,7 +174,7 @@ export declare const executePromiseChain: (fns: any, args: any, d?: any, i?: any
178
174
  * context in which datasources are present
179
175
  * @returns {*} boolean true/ false
180
176
  */
181
- export declare const isDataSourceEqual: (d1: any, d2: any) => any;
177
+ export declare const isDataSourceEqual: (d1: any, d2: any) => boolean;
182
178
  /**
183
179
  * checks if the passed datasource context matches with passed context
184
180
  * @param ds, datasource having a context
@@ -194,7 +190,7 @@ export declare const validateDataSourceCtx: (ds: any, ctx: any) => boolean;
194
190
  */
195
191
  export declare const processFilterExpBindNode: (context: any, filterExpressions: any, variable?: any) => Subject<unknown>;
196
192
  export declare const extendProto: (target: any, proto: any) => void;
197
- export declare const removeExtraSlashes: (url: any) => any;
193
+ export declare const removeExtraSlashes: (url: any) => string;
198
194
  export declare const getDisplayDateTimeFormat: (type: any) => any;
199
195
  export declare const addForIdAttributes: (element: HTMLElement) => void;
200
196
  /**
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@wm/core'), require('rxjs'), require('@wavemaker/variables')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@angular/common/http', '@wm/core', 'rxjs', '@wavemaker/variables'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.http = {}), global.ng.core, global.ng.common, global.ng.common.http, global.wm.core, global.rxjs, global.wm_common_variables));
5
- })(this, (function (exports, i0, common, i1, core, rxjs, variables) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@wm/core'), require('rxjs'), require('@wavemaker/variables'), require('lodash-es')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@angular/common/http', '@wm/core', 'rxjs', '@wavemaker/variables', 'lodash-es'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.http = {}), global.ng.core, global.ng.common, global.ng.common.http, global.wm.core, global.rxjs, global.wm_common_variables, global._));
5
+ })(this, (function (exports, i0, common, i1, core, rxjs, variables, lodashEs) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -71,7 +71,7 @@
71
71
  // headers
72
72
  if (headers) {
73
73
  Object.entries(headers).forEach(([k, v]) => {
74
- if (core.isNumber(v) || core.isBoolean(v)) {
74
+ if (lodashEs.isNumber(v) || lodashEs.isBoolean(v)) {
75
75
  v = v.toString();
76
76
  }
77
77
  reqHeaders = reqHeaders.append(k, v);
@@ -89,7 +89,7 @@
89
89
  withCredentials: withCredentials
90
90
  };
91
91
  // Even if method is not expecting request body, if body is passed in request, pass it on.
92
- if (_.includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
92
+ if (lodashEs.includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
93
93
  third = reqOptions;
94
94
  fourth = null;
95
95
  }
@@ -261,7 +261,7 @@
261
261
  const that = this;
262
262
  that.sessionTimeoutQueue = [];
263
263
  queue.forEach(data => {
264
- if (_.isFunction(data.callback)) {
264
+ if (lodashEs.isFunction(data.callback)) {
265
265
  data.callback();
266
266
  }
267
267
  else {
@@ -1,8 +1,9 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { HttpClient, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';
3
3
  import { Subject } from 'rxjs';
4
- import { AbstractHttpService, isNumber, isBoolean } from '@wm/core';
4
+ import { AbstractHttpService } from '@wm/core';
5
5
  import { getErrMessage } from '@wavemaker/variables';
6
+ import { includes, isBoolean, isFunction, isNumber } from "lodash-es";
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common/http";
8
9
  var HTTP_EVENT_TYPE;
@@ -70,7 +71,7 @@ export class HttpServiceImpl extends AbstractHttpService {
70
71
  withCredentials: withCredentials
71
72
  };
72
73
  // Even if method is not expecting request body, if body is passed in request, pass it on.
73
- if (_.includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
74
+ if (includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
74
75
  third = reqOptions;
75
76
  fourth = null;
76
77
  }
@@ -242,7 +243,7 @@ export class HttpServiceImpl extends AbstractHttpService {
242
243
  const that = this;
243
244
  that.sessionTimeoutQueue = [];
244
245
  queue.forEach(data => {
245
- if (_.isFunction(data.callback)) {
246
+ if (isFunction(data.callback)) {
246
247
  data.callback();
247
248
  }
248
249
  else {
@@ -264,4 +265,4 @@ export class HttpServiceImpl extends AbstractHttpService {
264
265
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HttpServiceImpl, [{
265
266
  type: Injectable
266
267
  }], () => [{ type: i1.HttpClient }], null); })();
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1zZXJ2aWNlL3NyYy9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFhLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBRWpILE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFXLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0UsT0FBTyxFQUFxQixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR3hFLElBQUssZUFPSjtBQVBELFdBQUssZUFBZTtJQUNoQixxREFBUSxDQUFBO0lBQ1IseUVBQWtCLENBQUE7SUFDbEIseUVBQWtCLENBQUE7SUFDbEIsNkVBQW9CLENBQUE7SUFDcEIsNkRBQVcsQ0FBQTtJQUNYLHFEQUFRLENBQUE7QUFDWixDQUFDLEVBUEksZUFBZSxLQUFmLGVBQWUsUUFPbkI7QUFHRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFNcEQsWUFBb0IsVUFBc0I7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTDFDLHVCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO0lBS3pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFDLE9BQU8sRUFBRSxhQUFjO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsQ0FB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UUFBUTtTQUNyQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw2QkFBNkI7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztxQkFDcEMsU0FBUyxDQUNOLFFBQVEsQ0FBQyxFQUFFO29CQUNQLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDL0IsQ0FBQztnQkFDTCxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQUM7WUFDZixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO2dGQWhSUSxlQUFlO3VFQUFmLGVBQWUsV0FBZixlQUFlOztpRkFBZixlQUFlO2NBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFic3RyYWN0SHR0cFNlcnZpY2UsIHJlcGxhY2UsIGlzTnVtYmVyLCBpc0Jvb2xlYW4gfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50U2VydmljZSwgZ2V0RXJyTWVzc2FnZSB9IGZyb20gJ0B3YXZlbWFrZXIvdmFyaWFibGVzJztcblxuZGVjbGFyZSBjb25zdCBfO1xuZW51bSBIVFRQX0VWRU5UX1RZUEUge1xuICAgIFNlbnQgPSAwLFxuICAgIFVwbG9hZFByb2dyZXNzID0gMSxcbiAgICBSZXNwb25zZUhlYWRlciA9IDIsXG4gICAgRG93bmxvYWRQcm9ncmVzcyA9IDMsXG4gICAgUmVzcG9uc2U9IDQsXG4gICAgVXNlciA9IDVcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBTZXJ2aWNlSW1wbCBleHRlbmRzIEFic3RyYWN0SHR0cFNlcnZpY2UgaW1wbGVtZW50cyBIdHRwQ2xpZW50U2VydmljZSB7XG4gICAgbm9uQm9keVR5cGVNZXRob2RzID0gWydHRVQnLCAnREVMRVRFJywgJ0hFQUQnLCAnT1BUSU9OUycsICdKU09OUCddO1xuICAgIHNlc3Npb25UaW1lb3V0T2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgc2Vzc2lvblRpbWVvdXRRdWV1ZSA9IFtdO1xuICAgIGxvY2FsZU9iamVjdDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaGFuZGxlcyBzZXNzaW9uIHRpbWVvdXQuXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBAcGFyYW0gcmVzb2x2ZVxuICAgICAqIEBwYXJhbSByZWplY3RcbiAgICAgKi9cbiAgICBoYW5kbGVTZXNzaW9uVGltZW91dChvcHRpb25zLCBzdWJzY3JpYmVyNDAxPykge1xuICAgICAgICB0aGlzLnNlc3Npb25UaW1lb3V0UXVldWUucHVzaCh7XG4gICAgICAgICAgICByZXF1ZXN0SW5mbzogb3B0aW9ucyxcbiAgICAgICAgICAgIHN1YjQwMTogc3Vic2NyaWJlcjQwMVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbjQwMSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIHJlcXVlc3Qgd2l0aCBwcm92aWRlZCBvcHRpb25zXG4gICAgICogQHBhcmFtIG9wdGlvbnMsIHJlcXVlc3QgcGFyYW1zL29wdGlvbnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlUmVxdWVzdChvcHRpb25zOiBhbnkpIHtcbiAgICAgICAgbGV0IHJlcUhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKSxcbiAgICAgICAgICAgIHJlcVBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnM7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG9wdGlvbnMucGFyYW1zO1xuICAgICAgICBjb25zdCByZXNwb25zZVR5cGUgPSBvcHRpb25zLnJlc3BvbnNlVHlwZTtcbiAgICAgICAgY29uc3Qgd2l0aENyZWRlbnRpYWxzID0gb3B0aW9ucy53aXRoQ3JlZGVudGlhbHM7XG5cbiAgICAgICAgLy8gdGhpcyBoZWFkZXIgaXMgbm90IHRvIGJlIHNlbnQgd2l0aCBub24tcHJveHkgY2FsbHMgZnJvbSBzZXJ2aWNlIHZhcmlhYmxlXG4gICAgICAgIGlmICghb3B0aW9ucy5pc0RpcmVjdENhbGwpIHtcbiAgICAgICAgICAgIHJlcUhlYWRlcnMgPSByZXFIZWFkZXJzLmFwcGVuZCgnWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGVhZGVyc1xuICAgICAgICBpZiAoaGVhZGVycykge1xuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoaGVhZGVycykuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTnVtYmVyKHYpIHx8IGlzQm9vbGVhbih2KSkge1xuICAgICAgICAgICAgICAgICAgICB2ID0gdi50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXFIZWFkZXJzID0gcmVxSGVhZGVycy5hcHBlbmQoaywgdiBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHBhcmFtc1xuICAgICAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhwYXJhbXMpLmZvckVhY2goKFtrLCB2XSkgPT4gcmVxUGFyYW1zID0gcmVxUGFyYW1zLmFwcGVuZChrLCB2IGFzIHN0cmluZykpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRoaXJkLCBmb3VydGg7XG4gICAgICAgIGNvbnN0IHJlcU9wdGlvbnMgPSB7XG4gICAgICAgICAgICBoZWFkZXJzOiByZXFIZWFkZXJzLFxuICAgICAgICAgICAgcGFyYW1zOiByZXFQYXJhbXMsXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogd2l0aENyZWRlbnRpYWxzXG4gICAgICAgIH07XG4gICAgICAgIC8vIEV2ZW4gaWYgbWV0aG9kIGlzIG5vdCBleHBlY3RpbmcgcmVxdWVzdCBib2R5LCBpZiBib2R5IGlzIHBhc3NlZCBpbiByZXF1ZXN0LCBwYXNzIGl0IG9uLlxuICAgICAgICBpZiAoXy5pbmNsdWRlcyh0aGlzLm5vbkJvZHlUeXBlTWV0aG9kcywgb3B0aW9ucy5tZXRob2QgJiYgb3B0aW9ucy5tZXRob2QudG9VcHBlckNhc2UoKSkgJiYgb3B0aW9ucy5kYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXJkID0gcmVxT3B0aW9ucztcbiAgICAgICAgICAgIGZvdXJ0aCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlyZCA9IG9wdGlvbnMuZGF0YTtcbiAgICAgICAgICAgIGZvdXJ0aCA9IHJlcU9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwUmVxdWVzdChvcHRpb25zLm1ldGhvZCwgb3B0aW9ucy51cmwsIHRoaXJkLCBmb3VydGgpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTWFrZSBhIGh0dHAgY2FsbCBhbmQgcmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgY2FuIGJlIGNhbmNlbGxlZFxuICAgICAqIEBwYXJhbSBvcHRpb25zLCBvcHRpb25zIHVzaW5nIHdoaWNoIHRoZSBjYWxsIG5lZWRzIHRvIGJlIG1hZGVcbiAgICAgKi9cbiAgICBzZW5kQ2FsbEFzT2JzZXJ2YWJsZShvcHRpb25zOiBhbnksIHBhcmFtcz8gOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCByZXEgPSB0aGlzLmdlbmVyYXRlUmVxdWVzdChvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSk7XG4gICAgfVxuXG4gICAgc2VuZENhbGwocmVxdWVzdFBhcmFtcywgdmFyaWFibGUsIHBhcmFtcz8pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHZhcmlhYmxlLl9vYnNlcnZhYmxlID0gdGhpcy5zZW5kQ2FsbEFzT2JzZXJ2YWJsZShyZXF1ZXN0UGFyYW1zLCBwYXJhbXMpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYWtlcyBhIGh0dHAgY2FsbCBhbmQgcmV0dXJuIGEgcHJvbWlzZVxuICAgICAqIEBwYXJhbSBvcHRpb25zLCBvcHRpb25zIHVzaW5nIHdoaWNoIHRoZSBjYWxsIG5lZWRzIHRvIGJlIG1hZGVcbiAgICAgKi9cbiAgICBzZW5kKG9wdGlvbnM6IGFueSkge1xuICAgICAgICBjb25zdCByZXEgPSB0aGlzLmdlbmVyYXRlUmVxdWVzdChvcHRpb25zKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocmVxKS50b1Byb21pc2UoKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgfSAsIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1BsYXRmb3JtU2Vzc2lvblRpbWVvdXQoZXJyKSkge1xuICAgICAgICAgICAgICAgICAgICBlcnIuXzQwMVN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgIH0sIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVyck1zZyA9IGdldEVyck1lc3NhZ2UoZXJyLCB0aGlzLmdldExvY2FsZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJNc2csXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzOiBlcnJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbmNlbCh2YXJpYWJsZSwgJGZpbGU/KSB7XG4gICAgICAgIGlmICh2YXJpYWJsZS5fb2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdmFyaWFibGUuX29ic2VydmFibGUudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICAgaWYgKCRmaWxlICYmICRmaWxlLl91cGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgICRmaWxlLl91cGxvYWRQcm9ncmVzcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgfVxuICAgIH1cblxuICAgIHNldExvY2FsZShsb2NhbGUpIHtcbiAgICAgICAgdGhpcy5sb2NhbGVPYmplY3QgPSBsb2NhbGU7XG4gICAgfVxuXG4gICAgZ2V0TG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVPYmplY3Q7XG4gICAgfVxuXG4gICAgZ2V0SGVhZGVyKGVycm9yLCBoZWFkZXJLZXkpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yLmhlYWRlcnMuZ2V0KGhlYWRlcktleSk7XG4gICAgfVxuXG4gICAgaXNQbGF0Zm9ybVNlc3Npb25UaW1lb3V0KGVycm9yKSB7XG4gICAgICAgIGNvbnN0IE1TR19TRVNTSU9OX05PVF9GT1VORCA9ICdTZXNzaW9uIE5vdCBGb3VuZCc7XG4gICAgICAgIHJldHVybiBlcnJvci5zdGF0dXMgPT09IDQwMSAmJiB0aGlzLmdldEhlYWRlcihlcnJvciwgJ3gtd20tbG9naW4tZXJyb3JtZXNzYWdlJykgPT09IE1TR19TRVNTSU9OX05PVF9GT1VORDtcbiAgICB9XG5cbiAgICBnZXQodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdnZXQnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kKG9wdGlvbnMpLnRoZW4oKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8c3RyaW5nPikgPT4gcmVzcG9uc2UuYm9keSk7XG4gICAgfVxuXG4gICAgcG9zdCh1cmwsIGRhdGEsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdwb3N0JztcbiAgICAgICAgb3B0aW9ucy5kYXRhID0gZGF0YTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwdXQodXJsLCBkYXRhLCBvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICBvcHRpb25zLnVybCA9IHVybDtcbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPSAncHV0JztcbiAgICAgICAgb3B0aW9ucy5kYXRhID0gZGF0YTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwYXRjaCh1cmwsIGRhdGEsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdwYXRjaCc7XG4gICAgICAgIG9wdGlvbnMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbmQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZGVsZXRlKHVybCwgb3B0aW9ucykge1xuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgb3B0aW9ucy51cmwgPSB1cmw7XG4gICAgICAgIG9wdGlvbnMubWV0aG9kID0gJ2RlbGV0ZSc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbmQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaGVhZCh1cmwsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdoZWFkJztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBqc29ucCh1cmwsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdqc29ucCc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbmQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgdXBsb2FkKHVybCwgZGF0YSwgb3B0aW9ucyk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdXJsLCBkYXRhLCB7XG4gICAgICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSAvLyBmb3IgcHJvZ3Jlc3MgZGF0YVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSk7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGRhdGEsIHtcbiAgICAgICAgLy8gICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlXG4gICAgICAgIC8vIH0pO1xuICAgIH1cblxuICAgIHVwbG9hZEZpbGUodXJsLCBkYXRhLCB2YXJpYWJsZSwgb3B0aW9ucz8pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICB2YXJpYWJsZS5yZXF1ZXN0ID0gdGhpcy51cGxvYWQodXJsLCBkYXRhLCBvcHRpb25zKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEhUVFBfRVZFTlRfVFlQRS5VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBsb2FkUHJvZ3Jlc3MgPSBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKTtcbiAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubm90aWZ5KHVwbG9hZFByb2dyZXNzKTtcbiAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIVFRQX0VWRU5UX1RZUEUuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZXZlbnQuYm9keSk7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiByZWdpc3RlcnMgYSBjYWxsYmFjayB0byBiZSB0cmlnZXJyZWQgb24gc2Vzc2lvbiB0aW1lb3V0XG4gICAgICogQHBhcmFtIGNhbGxiYWNrXG4gICAgICovXG4gICAgcmVnaXN0ZXJPblNlc3Npb25UaW1lb3V0KGNhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvblRpbWVvdXRPYnNlcnZhYmxlLmFzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZShjYWxsYmFjayk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdHJpZ2dlciB0aGUgcmVnaXN0ZXJlZCBtZXRob2RzIG9uIHNlc3Npb24gdGltZW91dFxuICAgICAqL1xuICAgIG9uNDAxKCkge1xuICAgICAgICB0aGlzLnNlc3Npb25UaW1lb3V0T2JzZXJ2YWJsZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVzaFRvU2Vzc2lvbkZhaWx1cmVRdWV1ZShjYWxsYmFjaykge1xuICAgICAgICB0aGlzLnNlc3Npb25UaW1lb3V0UXVldWUucHVzaCh7XG4gICAgICAgICAgICBjYWxsYmFjazogY2FsbGJhY2tcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZSBxdWV1ZWQgcmVxdWVzdHMsIGZhaWxlZCBkdWUgdG8gc2Vzc2lvbiB0aW1lb3V0XG4gICAgICovXG4gICAgZXhlY3V0ZVNlc3Npb25GYWlsdXJlUmVxdWVzdHMoKSB7XG4gICAgICAgIGNvbnN0IHF1ZXVlID0gdGhpcy5zZXNzaW9uVGltZW91dFF1ZXVlO1xuICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgdGhhdC5zZXNzaW9uVGltZW91dFF1ZXVlID0gW107XG4gICAgICAgIHF1ZXVlLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgICAgICBpZiAoXy5pc0Z1bmN0aW9uKGRhdGEuY2FsbGJhY2spKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5jYWxsYmFjaygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYXRhLnJlcXVlc3RJbmZvLmhlYWRlcnMuaGVhZGVycy5kZWxldGUoJ3gtd20teHNyZi10b2tlbicpO1xuICAgICAgICAgICAgICAgIHRoYXQuaHR0cENsaWVudC5yZXF1ZXN0KGRhdGEucmVxdWVzdEluZm8pXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnR5cGUgJiYgZGF0YS5zdWI0MDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5zdWI0MDEubmV4dChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgKHJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3ViNDAxLmVycm9yKHJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1zZXJ2aWNlL3NyYy9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFhLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBRWpILE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBcUIsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7O0FBRXBFLElBQUssZUFPSjtBQVBELFdBQUssZUFBZTtJQUNoQixxREFBUSxDQUFBO0lBQ1IseUVBQWtCLENBQUE7SUFDbEIseUVBQWtCLENBQUE7SUFDbEIsNkVBQW9CLENBQUE7SUFDcEIsNkRBQVcsQ0FBQTtJQUNYLHFEQUFRLENBQUE7QUFDWixDQUFDLEVBUEksZUFBZSxLQUFmLGVBQWUsUUFPbkI7QUFHRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFNcEQsWUFBb0IsVUFBc0I7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTDFDLHVCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO0lBS3pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9C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bmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcywgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0Fic3RyYWN0SHR0cFNlcnZpY2V9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnRTZXJ2aWNlLCBnZXRFcnJNZXNzYWdlIH0gZnJvbSAnQHdhdmVtYWtlci92YXJpYWJsZXMnO1xuaW1wb3J0IHtpbmNsdWRlcywgaXNCb29sZWFuLCBpc0Z1bmN0aW9uLCBpc051bWJlcn0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5lbnVtIEhUVFBfRVZFTlRfVFlQRSB7XG4gICAgU2VudCA9IDAsXG4gICAgVXBsb2FkUHJvZ3Jlc3MgPSAxLFxuICAgIFJlc3BvbnNlSGVhZGVyID0gMixcbiAgICBEb3dubG9hZFByb2dyZXNzID0gMyxcbiAgICBSZXNwb25zZT0gNCxcbiAgICBVc2VyID0gNVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2VJbXBsIGV4dGVuZHMgQWJzdHJhY3RIdHRwU2VydmljZSBpbXBsZW1lbnRzIEh0dHBDbGllbnRTZXJ2aWNlIHtcbiAgICBub25Cb2R5VHlwZU1ldGhvZHMgPSBbJ0dFVCcsICdERUxFVEUnLCAnSEVBRCcsICdPUFRJT05TJywgJ0pTT05QJ107XG4gICAgc2Vzc2lvblRpbWVvdXRPYnNlcnZhYmxlID0gbmV3IFN1YmplY3QoKTtcbiAgICBzZXNzaW9uVGltZW91dFF1ZXVlID0gW107XG4gICAgbG9jYWxlT2JqZWN0OiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBoYW5kbGVzIHNlc3Npb24gdGltZW91dC5cbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqIEBwYXJhbSByZXNvbHZlXG4gICAgICogQHBhcmFtIHJlamVjdFxuICAgICAqL1xuICAgIGhhbmRsZVNlc3Npb25UaW1lb3V0KG9wdGlvbnMsIHN1YnNjcmliZXI0MDE/KSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvblRpbWVvdXRRdWV1ZS5wdXNoKHtcbiAgICAgICAgICAgIHJlcXVlc3RJbmZvOiBvcHRpb25zLFxuICAgICAgICAgICAgc3ViNDAxOiBzdWJzY3JpYmVyNDAxXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uNDAxKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgcmVxdWVzdCB3aXRoIHByb3ZpZGVkIG9wdGlvbnNcbiAgICAgKiBAcGFyYW0gb3B0aW9ucywgcmVxdWVzdCBwYXJhbXMvb3B0aW9uc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVSZXF1ZXN0KG9wdGlvbnM6IGFueSkge1xuICAgICAgICBsZXQgcmVxSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLFxuICAgICAgICAgICAgcmVxUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG9wdGlvbnMuaGVhZGVycztcbiAgICAgICAgY29uc3QgcGFyYW1zID0gb3B0aW9ucy5wYXJhbXM7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlVHlwZSA9IG9wdGlvbnMucmVzcG9uc2VUeXBlO1xuICAgICAgICBjb25zdCB3aXRoQ3JlZGVudGlhbHMgPSBvcHRpb25zLndpdGhDcmVkZW50aWFscztcblxuICAgICAgICAvLyB0aGlzIGhlYWRlciBpcyBub3QgdG8gYmUgc2VudCB3aXRoIG5vbi1wcm94eSBjYWxscyBmcm9tIHNlcnZpY2UgdmFyaWFibGVcbiAgICAgICAgaWYgKCFvcHRpb25zLmlzRGlyZWN0Q2FsbCkge1xuICAgICAgICAgICAgcmVxSGVhZGVycyA9IHJlcUhlYWRlcnMuYXBwZW5kKCdYLVJlcXVlc3RlZC1XaXRoJywgJ1hNTEh0dHBSZXF1ZXN0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBoZWFkZXJzXG4gICAgICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhoZWFkZXJzKS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXIodikgfHwgaXNCb29sZWFuKHYpKSB7XG4gICAgICAgICAgICAgICAgICAgIHYgPSB2LnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlcUhlYWRlcnMgPSByZXFIZWFkZXJzLmFwcGVuZChrLCB2IGFzIHN0cmluZyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGFyYW1zXG4gICAgICAgIGlmIChwYXJhbXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcykuZm9yRWFjaCgoW2ssIHZdKSA9PiByZXFQYXJhbXMgPSByZXFQYXJhbXMuYXBwZW5kKGssIHYgYXMgc3RyaW5nKSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdGhpcmQsIGZvdXJ0aDtcbiAgICAgICAgY29uc3QgcmVxT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHJlcUhlYWRlcnMsXG4gICAgICAgICAgICBwYXJhbXM6IHJlcVBhcmFtcyxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB3aXRoQ3JlZGVudGlhbHNcbiAgICAgICAgfTtcbiAgICAgICAgLy8gRXZlbiBpZiBtZXRob2QgaXMgbm90IGV4cGVjdGluZyByZXF1ZXN0IGJvZHksIGlmIGJvZHkgaXMgcGFzc2VkIGluIHJlcXVlc3QsIHBhc3MgaXQgb24uXG4gICAgICAgIGlmIChpbmNsdWRlcyh0aGlzLm5vbkJvZHlUeXBlTWV0aG9kcywgb3B0aW9ucy5tZXRob2QgJiYgb3B0aW9ucy5tZXRob2QudG9VcHBlckNhc2UoKSkgJiYgb3B0aW9ucy5kYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXJkID0gcmVxT3B0aW9ucztcbiAgICAgICAgICAgIGZvdXJ0aCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlyZCA9IG9wdGlvbnMuZGF0YTtcbiAgICAgICAgICAgIGZvdXJ0aCA9IHJlcU9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwUmVxdWVzdChvcHRpb25zLm1ldGhvZCwgb3B0aW9ucy51cmwsIHRoaXJkLCBmb3VydGgpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTWFrZSBhIGh0dHAgY2FsbCBhbmQgcmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgY2FuIGJlIGNhbmNlbGxlZFxuICAgICAqIEBwYXJhbSBvcHRpb25zLCBvcHRpb25zIHVzaW5nIHdoaWNoIHRoZSBjYWxsIG5lZWRzIHRvIGJlIG1hZGVcbiAgICAgKi9cbiAgICBzZW5kQ2FsbEFzT2JzZXJ2YWJsZShvcHRpb25zOiBhbnksIHBhcmFtcz8gOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCByZXEgPSB0aGlzLmdlbmVyYXRlUmVxdWVzdChvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSk7XG4gICAgfVxuXG4gICAgc2VuZENhbGwocmVxdWVzdFBhcmFtcywgdmFyaWFibGUsIHBhcmFtcz8pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHZhcmlhYmxlLl9vYnNlcnZhYmxlID0gdGhpcy5zZW5kQ2FsbEFzT2JzZXJ2YWJsZShyZXF1ZXN0UGFyYW1zLCBwYXJhbXMpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYWtlcyBhIGh0dHAgY2FsbCBhbmQgcmV0dXJuIGEgcHJvbWlzZVxuICAgICAqIEBwYXJhbSBvcHRpb25zLCBvcHRpb25zIHVzaW5nIHdoaWNoIHRoZSBjYWxsIG5lZWRzIHRvIGJlIG1hZGVcbiAgICAgKi9cbiAgICBzZW5kKG9wdGlvbnM6IGFueSkge1xuICAgICAgICBjb25zdCByZXEgPSB0aGlzLmdlbmVyYXRlUmVxdWVzdChvcHRpb25zKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocmVxKS50b1Byb21pc2UoKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgfSAsIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1BsYXRmb3JtU2Vzc2lvblRpbWVvdXQoZXJyKSkge1xuICAgICAgICAgICAgICAgICAgICBlcnIuXzQwMVN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgIH0sIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVyck1zZyA9IGdldEVyck1lc3NhZ2UoZXJyLCB0aGlzLmdldExvY2FsZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJNc2csXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzOiBlcnJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbmNlbCh2YXJpYWJsZSwgJGZpbGU/KSB7XG4gICAgICAgIGlmICh2YXJpYWJsZS5fb2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdmFyaWFibGUuX29ic2VydmFibGUudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICAgaWYgKCRmaWxlICYmICRmaWxlLl91cGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgICRmaWxlLl91cGxvYWRQcm9ncmVzcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgfVxuICAgIH1cblxuICAgIHNldExvY2FsZShsb2NhbGUpIHtcbiAgICAgICAgdGhpcy5sb2NhbGVPYmplY3QgPSBsb2NhbGU7XG4gICAgfVxuXG4gICAgZ2V0TG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVPYmplY3Q7XG4gICAgfVxuXG4gICAgZ2V0SGVhZGVyKGVycm9yLCBoZWFkZXJLZXkpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yLmhlYWRlcnMuZ2V0KGhlYWRlcktleSk7XG4gICAgfVxuXG4gICAgaXNQbGF0Zm9ybVNlc3Npb25UaW1lb3V0KGVycm9yKSB7XG4gICAgICAgIGNvbnN0IE1TR19TRVNTSU9OX05PVF9GT1VORCA9ICdTZXNzaW9uIE5vdCBGb3VuZCc7XG4gICAgICAgIHJldHVybiBlcnJvci5zdGF0dXMgPT09IDQwMSAmJiB0aGlzLmdldEhlYWRlcihlcnJvciwgJ3gtd20tbG9naW4tZXJyb3JtZXNzYWdlJykgPT09IE1TR19TRVNTSU9OX05PVF9GT1VORDtcbiAgICB9XG5cbiAgICBnZXQodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdnZXQnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kKG9wdGlvbnMpLnRoZW4oKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8c3RyaW5nPikgPT4gcmVzcG9uc2UuYm9keSk7XG4gICAgfVxuXG4gICAgcG9zdCh1cmwsIGRhdGEsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdwb3N0JztcbiAgICAgICAgb3B0aW9ucy5kYXRhID0gZGF0YTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwdXQodXJsLCBkYXRhLCBvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICBvcHRpb25zLnVybCA9IHVybDtcbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPSAncHV0JztcbiAgICAgICAgb3B0aW9ucy5kYXRhID0gZGF0YTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwYXRjaCh1cmwsIGRhdGEsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdwYXRjaCc7XG4gICAgICAgIG9wdGlvbnMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbmQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZGVsZXRlKHVybCwgb3B0aW9ucykge1xuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgb3B0aW9ucy51cmwgPSB1cmw7XG4gICAgICAgIG9wdGlvbnMubWV0aG9kID0gJ2RlbGV0ZSc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbmQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaGVhZCh1cmwsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdoZWFkJztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBqc29ucCh1cmwsIG9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXJsID0gdXJsO1xuICAgICAgICBvcHRpb25zLm1ldGhvZCA9ICdqc29ucCc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbmQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgdXBsb2FkKHVybCwgZGF0YSwgb3B0aW9ucyk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdXJsLCBkYXRhLCB7XG4gICAgICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSAvLyBmb3IgcHJvZ3Jlc3MgZGF0YVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSk7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGRhdGEsIHtcbiAgICAgICAgLy8gICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlXG4gICAgICAgIC8vIH0pO1xuICAgIH1cblxuICAgIHVwbG9hZEZpbGUodXJsLCBkYXRhLCB2YXJpYWJsZSwgb3B0aW9ucz8pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICB2YXJpYWJsZS5yZXF1ZXN0ID0gdGhpcy51cGxvYWQodXJsLCBkYXRhLCBvcHRpb25zKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEhUVFBfRVZFTlRfVFlQRS5VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBsb2FkUHJvZ3Jlc3MgPSBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKTtcbiAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubm90aWZ5KHVwbG9hZFByb2dyZXNzKTtcbiAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIVFRQX0VWRU5UX1RZUEUuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZXZlbnQuYm9keSk7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiByZWdpc3RlcnMgYSBjYWxsYmFjayB0byBiZSB0cmlnZXJyZWQgb24gc2Vzc2lvbiB0aW1lb3V0XG4gICAgICogQHBhcmFtIGNhbGxiYWNrXG4gICAgICovXG4gICAgcmVnaXN0ZXJPblNlc3Npb25UaW1lb3V0KGNhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvblRpbWVvdXRPYnNlcnZhYmxlLmFzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZShjYWxsYmFjayk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdHJpZ2dlciB0aGUgcmVnaXN0ZXJlZCBtZXRob2RzIG9uIHNlc3Npb24gdGltZW91dFxuICAgICAqL1xuICAgIG9uNDAxKCkge1xuICAgICAgICB0aGlzLnNlc3Npb25UaW1lb3V0T2JzZXJ2YWJsZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVzaFRvU2Vzc2lvbkZhaWx1cmVRdWV1ZShjYWxsYmFjaykge1xuICAgICAgICB0aGlzLnNlc3Npb25UaW1lb3V0UXVldWUucHVzaCh7XG4gICAgICAgICAgICBjYWxsYmFjazogY2FsbGJhY2tcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZSBxdWV1ZWQgcmVxdWVzdHMsIGZhaWxlZCBkdWUgdG8gc2Vzc2lvbiB0aW1lb3V0XG4gICAgICovXG4gICAgZXhlY3V0ZVNlc3Npb25GYWlsdXJlUmVxdWVzdHMoKSB7XG4gICAgICAgIGNvbnN0IHF1ZXVlID0gdGhpcy5zZXNzaW9uVGltZW91dFF1ZXVlO1xuICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgdGhhdC5zZXNzaW9uVGltZW91dFF1ZXVlID0gW107XG4gICAgICAgIHF1ZXVlLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihkYXRhLmNhbGxiYWNrKSkge1xuICAgICAgICAgICAgICAgIGRhdGEuY2FsbGJhY2soKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YS5yZXF1ZXN0SW5mby5oZWFkZXJzLmhlYWRlcnMuZGVsZXRlKCd4LXdtLXhzcmYtdG9rZW4nKTtcbiAgICAgICAgICAgICAgICB0aGF0Lmh0dHBDbGllbnQucmVxdWVzdChkYXRhLnJlcXVlc3RJbmZvKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS50eXBlICYmIGRhdGEuc3ViNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3ViNDAxLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIChyZWFzb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnN1YjQwMS5lcnJvcihyZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -45,4 +45,4 @@ export class WmHttpRequest {
45
45
  return wmReq;
46
46
  }
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20taHR0cC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1zZXJ2aWNlL3NyYy93bS1odHRwLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFXdEI7UUFQQSxZQUFPLEdBQVEsRUFBRSxDQUFDO0lBT0gsQ0FBQztJQUVoQjs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxNQUFNO1FBQ3JCLElBQUksTUFBTSxDQUFDO1FBQ1gsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM5QixNQUFNLENBQUMsWUFBWSxHQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDM0MsTUFBTSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUNsQyxNQUFNLENBQUMsZUFBZSxHQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsR0FBRztRQUNsQixJQUFJLEtBQUssR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLElBQUksU0FBUyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUIsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUMxQixLQUFLLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdEMsS0FBSyxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUM5QixLQUFLLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDNUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5kZWNsYXJlIGNvbnN0IF87XG5cbi8qKlxuICogVGhpcyBjbGFzcyBjcmVhdGVzIGEgY3VzdG9tIFdtSHR0cFJlcXVlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBXbUh0dHBSZXF1ZXN0IHtcblxuICAgIG1ldGhvZDogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIGhlYWRlcnM6IGFueSA9IFtdO1xuICAgIHJlc3BvbnNlVHlwZTogc3RyaW5nO1xuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuO1xuICAgIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICB1cmxXaXRoUGFyYW1zOiBzdHJpbmc7XG4gICAgYm9keTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgY29udmVydHMgdGhlIGdpdmVuIHdtIEh0dHBSZXF1ZXN0IHRvIGFuZ3VsYXIgSHR0cFJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcmVxT2JqLCB0aGUgd20gSHR0cFJlcXVlc3RcbiAgICAgKi9cbiAgICB3bVRvQW5ndWxhclJlcXVlc3QocmVxT2JqKSB7XG4gICAgICAgIGxldCBhbmdSZXE7XG4gICAgICAgIGFuZ1JlcSA9IG5ldyBIdHRwUmVxdWVzdChyZXFPYmoubWV0aG9kLCByZXFPYmoudXJsKTtcbiAgICAgICAgYW5nUmVxID0gYW5nUmVxLmNsb25lKCk7XG4gICAgICAgIGFuZ1JlcS5ib2R5ID0gcmVxT2JqLmJvZHk7XG4gICAgICAgIGFuZ1JlcS5tZXRob2QgPSByZXFPYmoubWV0aG9kO1xuICAgICAgICBhbmdSZXEucmVzcG9uc2VUeXBlID0gIHJlcU9iai5yZXNwb25zZVR5cGU7XG4gICAgICAgIGFuZ1JlcS5yZXBvcnRQcm9ncmVzcyA9IHJlcU9iai5yZXBvcnRQcm9ncmVzcztcbiAgICAgICAgYW5nUmVxLnVybFdpdGhQYXJhbXMgPSByZXFPYmoudXJsO1xuICAgICAgICBhbmdSZXEud2l0aENyZWRlbnRpYWxzID0gIHJlcU9iai53aXRoQ3JlZGVudGlhbHM7XG4gICAgICAgIHJlcU9iai5oZWFkZXJzLmZvckVhY2goKHZhbHVlLCBoZWFkZXIpID0+IHtcbiAgICAgICAgICAgIGFuZ1JlcS5oZWFkZXJzID0gYW5nUmVxLmhlYWRlcnMuYXBwZW5kKGhlYWRlciwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFuZ1JlcTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBjb252ZXJ0cyB0aGUgZ2l2ZW4gYW5ndWxhciBIdHRwUmVxdWVzdCB0byB3bSBIdHRwUmVxdWVzdFxuICAgICAqIEBwYXJhbSByZXEsIHRoZSBhbmd1bGFyIEh0dHBSZXF1ZXN0XG4gICAgICovXG4gICAgYW5ndWxhclRvV21SZXF1ZXN0KHJlcSkge1xuICAgICAgICBsZXQgd21SZXEgPSBuZXcgV21IdHRwUmVxdWVzdCgpO1xuICAgICAgICBsZXQgaGVhZGVyTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB3bVJlcS5ib2R5ID0gcmVxLmJvZHk7XG4gICAgICAgIHdtUmVxLm1ldGhvZCA9IHJlcS5tZXRob2Q7XG4gICAgICAgIHdtUmVxLnJlc3BvbnNlVHlwZSA9IHJlcS5yZXNwb25zZVR5cGU7XG4gICAgICAgIHdtUmVxLnJlcG9ydFByb2dyZXNzID0gcmVxLnJlcG9ydFByb2dyZXNzO1xuICAgICAgICB3bVJlcS51cmwgPSByZXEudXJsV2l0aFBhcmFtcztcbiAgICAgICAgd21SZXEud2l0aENyZWRlbnRpYWxzID0gcmVxLndpdGhDcmVkZW50aWFscztcbiAgICAgICAgcmVxLmhlYWRlcnMua2V5cygpLmZvckVhY2goKGhlYWRlcikgPT4ge1xuICAgICAgICAgICAgaGVhZGVyTWFwLnNldChoZWFkZXIsIHJlcS5oZWFkZXJzLmhlYWRlcnMuZ2V0KGhlYWRlci50b0xvd2VyQ2FzZSgpKVswXSk7XG4gICAgICAgIH0pO1xuICAgICAgICB3bVJlcS5oZWFkZXJzID0gaGVhZGVyTWFwO1xuICAgICAgICByZXR1cm4gd21SZXE7XG4gICAgfVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20taHR0cC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1zZXJ2aWNlL3NyYy93bS1odHRwLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFXdEI7UUFQQSxZQUFPLEdBQVEsRUFBRSxDQUFDO0lBT0gsQ0FBQztJQUVoQjs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxNQUFNO1FBQ3JCLElBQUksTUFBTSxDQUFDO1FBQ1gsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM5QixNQUFNLENBQUMsWUFBWSxHQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDM0MsTUFBTSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUNsQyxNQUFNLENBQUMsZUFBZSxHQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsR0FBRztRQUNsQixJQUFJLEtBQUssR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLElBQUksU0FBUyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUIsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUMxQixLQUFLLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdEMsS0FBSyxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUM5QixLQUFLLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDNUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgY3JlYXRlcyBhIGN1c3RvbSBXbUh0dHBSZXF1ZXN0LlxuICovXG5leHBvcnQgY2xhc3MgV21IdHRwUmVxdWVzdCB7XG5cbiAgICBtZXRob2Q6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBoZWFkZXJzOiBhbnkgPSBbXTtcbiAgICByZXNwb25zZVR5cGU6IHN0cmluZztcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbjtcbiAgICB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW47XG4gICAgdXJsV2l0aFBhcmFtczogc3RyaW5nO1xuICAgIGJvZHk6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGNvbnZlcnRzIHRoZSBnaXZlbiB3bSBIdHRwUmVxdWVzdCB0byBhbmd1bGFyIEh0dHBSZXF1ZXN0XG4gICAgICogQHBhcmFtIHJlcU9iaiwgdGhlIHdtIEh0dHBSZXF1ZXN0XG4gICAgICovXG4gICAgd21Ub0FuZ3VsYXJSZXF1ZXN0KHJlcU9iaikge1xuICAgICAgICBsZXQgYW5nUmVxO1xuICAgICAgICBhbmdSZXEgPSBuZXcgSHR0cFJlcXVlc3QocmVxT2JqLm1ldGhvZCwgcmVxT2JqLnVybCk7XG4gICAgICAgIGFuZ1JlcSA9IGFuZ1JlcS5jbG9uZSgpO1xuICAgICAgICBhbmdSZXEuYm9keSA9IHJlcU9iai5ib2R5O1xuICAgICAgICBhbmdSZXEubWV0aG9kID0gcmVxT2JqLm1ldGhvZDtcbiAgICAgICAgYW5nUmVxLnJlc3BvbnNlVHlwZSA9ICByZXFPYmoucmVzcG9uc2VUeXBlO1xuICAgICAgICBhbmdSZXEucmVwb3J0UHJvZ3Jlc3MgPSByZXFPYmoucmVwb3J0UHJvZ3Jlc3M7XG4gICAgICAgIGFuZ1JlcS51cmxXaXRoUGFyYW1zID0gcmVxT2JqLnVybDtcbiAgICAgICAgYW5nUmVxLndpdGhDcmVkZW50aWFscyA9ICByZXFPYmoud2l0aENyZWRlbnRpYWxzO1xuICAgICAgICByZXFPYmouaGVhZGVycy5mb3JFYWNoKCh2YWx1ZSwgaGVhZGVyKSA9PiB7XG4gICAgICAgICAgICBhbmdSZXEuaGVhZGVycyA9IGFuZ1JlcS5oZWFkZXJzLmFwcGVuZChoZWFkZXIsIHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhbmdSZXE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgY29udmVydHMgdGhlIGdpdmVuIGFuZ3VsYXIgSHR0cFJlcXVlc3QgdG8gd20gSHR0cFJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcmVxLCB0aGUgYW5ndWxhciBIdHRwUmVxdWVzdFxuICAgICAqL1xuICAgIGFuZ3VsYXJUb1dtUmVxdWVzdChyZXEpIHtcbiAgICAgICAgbGV0IHdtUmVxID0gbmV3IFdtSHR0cFJlcXVlc3QoKTtcbiAgICAgICAgbGV0IGhlYWRlck1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgd21SZXEuYm9keSA9IHJlcS5ib2R5O1xuICAgICAgICB3bVJlcS5tZXRob2QgPSByZXEubWV0aG9kO1xuICAgICAgICB3bVJlcS5yZXNwb25zZVR5cGUgPSByZXEucmVzcG9uc2VUeXBlO1xuICAgICAgICB3bVJlcS5yZXBvcnRQcm9ncmVzcyA9IHJlcS5yZXBvcnRQcm9ncmVzcztcbiAgICAgICAgd21SZXEudXJsID0gcmVxLnVybFdpdGhQYXJhbXM7XG4gICAgICAgIHdtUmVxLndpdGhDcmVkZW50aWFscyA9IHJlcS53aXRoQ3JlZGVudGlhbHM7XG4gICAgICAgIHJlcS5oZWFkZXJzLmtleXMoKS5mb3JFYWNoKChoZWFkZXIpID0+IHtcbiAgICAgICAgICAgIGhlYWRlck1hcC5zZXQoaGVhZGVyLCByZXEuaGVhZGVycy5oZWFkZXJzLmdldChoZWFkZXIudG9Mb3dlckNhc2UoKSlbMF0pO1xuICAgICAgICB9KTtcbiAgICAgICAgd21SZXEuaGVhZGVycyA9IGhlYWRlck1hcDtcbiAgICAgICAgcmV0dXJuIHdtUmVxO1xuICAgIH1cbn1cbiJdfQ==
@@ -49,4 +49,4 @@ export class WmHttpResponse extends WmHttpRequest {
49
49
  return wmResp;
50
50
  }
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20taHR0cC1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2h0dHAtc2VydmljZS9zcmMvd20taHR0cC1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS3BEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBUTdDO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsT0FBTztRQUN2QixJQUFJLE9BQU8sQ0FBQztRQUNaLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM5QixPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDaEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE9BQU87UUFDdkIsSUFBSSxNQUFNLENBQUM7UUFDWCxJQUFJLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCLE1BQU0sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN6QixNQUFNLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDM0IsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV21IdHRwUmVxdWVzdCB9IGZyb20gJy4vd20taHR0cC1yZXF1ZXN0JztcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuXG5kZWNsYXJlIGNvbnN0IF87XG5cbi8qKlxuICogVGhpcyBjbGFzcyBjcmVhdGVzIGEgY3VzdG9tIFdtSHR0cFJlcXVlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBXbUh0dHBSZXNwb25zZSBleHRlbmRzIFdtSHR0cFJlcXVlc3R7XG5cbiAgICBlcnJvcjogYW55O1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBvazogYm9vbGVhbjtcbiAgICBzdGF0dXM6IG51bWJlcjtcbiAgICBzdGF0dXNUZXh0OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBjb252ZXJ0cyB0aGUgZ2l2ZW4gd20gSHR0cFJlc3BvbnNlIHRvIGFuZ3VsYXIgSHR0cFJlc3BvbnNlXG4gICAgICogQHBhcmFtIHJlc3BPYmosIHRoZSB3bSBIdHRwUmVzcG9uc2VcbiAgICAgKi9cbiAgICB3bVRvQW5ndWxhclJlc3BvbnNlKHJlc3BPYmopIHtcbiAgICAgICAgbGV0IGFuZ1Jlc3A7XG4gICAgICAgIGFuZ1Jlc3AgPSBuZXcgSHR0cFJlc3BvbnNlKCk7XG4gICAgICAgIGFuZ1Jlc3AgPSBhbmdSZXNwLmNsb25lKCk7XG4gICAgICAgIGFuZ1Jlc3AuYm9keSA9IHJlc3BPYmouYm9keTtcbiAgICAgICAgYW5nUmVzcC5lcnJvciA9IHJlc3BPYmouZXJyb3I7XG4gICAgICAgIGFuZ1Jlc3AubWVzc2FnZSA9IHJlc3BPYmoubWVzc2FnZTtcbiAgICAgICAgYW5nUmVzcC51cmwgPSByZXNwT2JqLnVybDtcbiAgICAgICAgYW5nUmVzcC5vayA9IHJlc3BPYmoub2s7XG4gICAgICAgIGFuZ1Jlc3Auc3RhdHVzID0gcmVzcE9iai5zdGF0dXM7XG4gICAgICAgIGFuZ1Jlc3Auc3RhdHVzVGV4dCA9IHJlc3BPYmouc3RhdHVzVGV4dDtcbiAgICAgICAgcmVzcE9iai5oZWFkZXJzLmZvckVhY2goKHZhbHVlLCBoZWFkZXIpPT57XG4gICAgICAgICAgICBhbmdSZXNwLmhlYWRlcnMgPSBhbmdSZXNwLmhlYWRlcnMuYXBwZW5kKGhlYWRlciwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFuZ1Jlc3A7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgY29udmVydHMgdGhlIGdpdmVuIHdtIEh0dHBSZXNwb25zZSB0byBhbmd1bGFyIEh0dHBSZXNwb25zZVxuICAgICAqIEBwYXJhbSByZXNwT2JqLCB0aGUgYW5ndWxhciBIdHRwUmVzcG9uc2VcbiAgICAgKi9cbiAgICBhbmd1bGFyVG9XbVJlc3BvbnNlKHJlc3BPYmopIHtcbiAgICAgICAgbGV0IHdtUmVzcDtcbiAgICAgICAgbGV0IGhlYWRlck1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgd21SZXNwID0gbmV3IFdtSHR0cFJlc3BvbnNlKCk7XG4gICAgICAgIHdtUmVzcC5ib2R5ID0gcmVzcE9iai5ib2R5O1xuICAgICAgICB3bVJlc3AuZXJyb3IgPSByZXNwT2JqLmVycm9yO1xuICAgICAgICB3bVJlc3AubWVzc2FnZSA9IHJlc3BPYmoubWVzc2FnZTtcbiAgICAgICAgd21SZXNwLnVybCA9IHJlc3BPYmoudXJsO1xuICAgICAgICB3bVJlc3Aub2sgPSByZXNwT2JqLm9rO1xuICAgICAgICB3bVJlc3Auc3RhdHVzID0gcmVzcE9iai5zdGF0dXM7XG4gICAgICAgIHdtUmVzcC5zdGF0dXNUZXh0ID0gcmVzcE9iai5zdGF0dXNUZXh0O1xuICAgICAgICByZXNwT2JqLmhlYWRlcnMua2V5cygpLmZvckVhY2goKGhlYWRlcikgPT4ge1xuICAgICAgICAgICAgaGVhZGVyTWFwLnNldChoZWFkZXIsIHJlc3BPYmouaGVhZGVycy5oZWFkZXJzLmdldChoZWFkZXIudG9Mb3dlckNhc2UoKSlbMF0pO1xuICAgICAgICB9KTtcbiAgICAgICAgd21SZXNwLmhlYWRlcnMgPSBoZWFkZXJNYXA7XG4gICAgICAgIHJldHVybiB3bVJlc3A7XG4gICAgfVxufSJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20taHR0cC1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2h0dHAtc2VydmljZS9zcmMvd20taHR0cC1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBUTdDO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsT0FBTztRQUN2QixJQUFJLE9BQU8sQ0FBQztRQUNaLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM5QixPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDaEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE9BQU87UUFDdkIsSUFBSSxNQUFNLENBQUM7UUFDWCxJQUFJLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCLE1BQU0sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN6QixNQUFNLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDM0IsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV21IdHRwUmVxdWVzdCB9IGZyb20gJy4vd20taHR0cC1yZXF1ZXN0JztcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGNyZWF0ZXMgYSBjdXN0b20gV21IdHRwUmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFdtSHR0cFJlc3BvbnNlIGV4dGVuZHMgV21IdHRwUmVxdWVzdHtcblxuICAgIGVycm9yOiBhbnk7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIG9rOiBib29sZWFuO1xuICAgIHN0YXR1czogbnVtYmVyO1xuICAgIHN0YXR1c1RleHQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGNvbnZlcnRzIHRoZSBnaXZlbiB3bSBIdHRwUmVzcG9uc2UgdG8gYW5ndWxhciBIdHRwUmVzcG9uc2VcbiAgICAgKiBAcGFyYW0gcmVzcE9iaiwgdGhlIHdtIEh0dHBSZXNwb25zZVxuICAgICAqL1xuICAgIHdtVG9Bbmd1bGFyUmVzcG9uc2UocmVzcE9iaikge1xuICAgICAgICBsZXQgYW5nUmVzcDtcbiAgICAgICAgYW5nUmVzcCA9IG5ldyBIdHRwUmVzcG9uc2UoKTtcbiAgICAgICAgYW5nUmVzcCA9IGFuZ1Jlc3AuY2xvbmUoKTtcbiAgICAgICAgYW5nUmVzcC5ib2R5ID0gcmVzcE9iai5ib2R5O1xuICAgICAgICBhbmdSZXNwLmVycm9yID0gcmVzcE9iai5lcnJvcjtcbiAgICAgICAgYW5nUmVzcC5tZXNzYWdlID0gcmVzcE9iai5tZXNzYWdlO1xuICAgICAgICBhbmdSZXNwLnVybCA9IHJlc3BPYmoudXJsO1xuICAgICAgICBhbmdSZXNwLm9rID0gcmVzcE9iai5vaztcbiAgICAgICAgYW5nUmVzcC5zdGF0dXMgPSByZXNwT2JqLnN0YXR1cztcbiAgICAgICAgYW5nUmVzcC5zdGF0dXNUZXh0ID0gcmVzcE9iai5zdGF0dXNUZXh0O1xuICAgICAgICByZXNwT2JqLmhlYWRlcnMuZm9yRWFjaCgodmFsdWUsIGhlYWRlcik9PntcbiAgICAgICAgICAgIGFuZ1Jlc3AuaGVhZGVycyA9IGFuZ1Jlc3AuaGVhZGVycy5hcHBlbmQoaGVhZGVyLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYW5nUmVzcDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBjb252ZXJ0cyB0aGUgZ2l2ZW4gd20gSHR0cFJlc3BvbnNlIHRvIGFuZ3VsYXIgSHR0cFJlc3BvbnNlXG4gICAgICogQHBhcmFtIHJlc3BPYmosIHRoZSBhbmd1bGFyIEh0dHBSZXNwb25zZVxuICAgICAqL1xuICAgIGFuZ3VsYXJUb1dtUmVzcG9uc2UocmVzcE9iaikge1xuICAgICAgICBsZXQgd21SZXNwO1xuICAgICAgICBsZXQgaGVhZGVyTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB3bVJlc3AgPSBuZXcgV21IdHRwUmVzcG9uc2UoKTtcbiAgICAgICAgd21SZXNwLmJvZHkgPSByZXNwT2JqLmJvZHk7XG4gICAgICAgIHdtUmVzcC5lcnJvciA9IHJlc3BPYmouZXJyb3I7XG4gICAgICAgIHdtUmVzcC5tZXNzYWdlID0gcmVzcE9iai5tZXNzYWdlO1xuICAgICAgICB3bVJlc3AudXJsID0gcmVzcE9iai51cmw7XG4gICAgICAgIHdtUmVzcC5vayA9IHJlc3BPYmoub2s7XG4gICAgICAgIHdtUmVzcC5zdGF0dXMgPSByZXNwT2JqLnN0YXR1cztcbiAgICAgICAgd21SZXNwLnN0YXR1c1RleHQgPSByZXNwT2JqLnN0YXR1c1RleHQ7XG4gICAgICAgIHJlc3BPYmouaGVhZGVycy5rZXlzKCkuZm9yRWFjaCgoaGVhZGVyKSA9PiB7XG4gICAgICAgICAgICBoZWFkZXJNYXAuc2V0KGhlYWRlciwgcmVzcE9iai5oZWFkZXJzLmhlYWRlcnMuZ2V0KGhlYWRlci50b0xvd2VyQ2FzZSgpKVswXSk7XG4gICAgICAgIH0pO1xuICAgICAgICB3bVJlc3AuaGVhZGVycyA9IGhlYWRlck1hcDtcbiAgICAgICAgcmV0dXJuIHdtUmVzcDtcbiAgICB9XG59XG4iXX0=
@@ -3,9 +3,10 @@ import { Injectable, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i1 from '@angular/common/http';
5
5
  import { HttpHeaders, HttpParams, HttpRequest, HttpResponse, HttpClientModule } from '@angular/common/http';
6
- import { AbstractHttpService, isNumber, isBoolean } from '@wm/core';
6
+ import { AbstractHttpService } from '@wm/core';
7
7
  import { Subject } from 'rxjs';
8
8
  import { getErrMessage } from '@wavemaker/variables';
9
+ import { isNumber, isBoolean, includes, isFunction } from 'lodash-es';
9
10
 
10
11
  var HTTP_EVENT_TYPE;
11
12
  (function (HTTP_EVENT_TYPE) {
@@ -72,7 +73,7 @@ class HttpServiceImpl extends AbstractHttpService {
72
73
  withCredentials: withCredentials
73
74
  };
74
75
  // Even if method is not expecting request body, if body is passed in request, pass it on.
75
- if (_.includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
76
+ if (includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
76
77
  third = reqOptions;
77
78
  fourth = null;
78
79
  }
@@ -244,7 +245,7 @@ class HttpServiceImpl extends AbstractHttpService {
244
245
  const that = this;
245
246
  that.sessionTimeoutQueue = [];
246
247
  queue.forEach(data => {
247
- if (_.isFunction(data.callback)) {
248
+ if (isFunction(data.callback)) {
248
249
  data.callback();
249
250
  }
250
251
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../projects/http-service/src/http.service.ts","../../../projects/http-service/src/wm-http-request.ts","../../../projects/http-service/src/wm-http-response.ts","../../../projects/http-service/src/http-service.module.ts","../../../projects/http-service/src/index.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpHeaders, HttpParams, HttpRequest, HttpResponse } from '@angular/common/http';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { AbstractHttpService, replace, isNumber, isBoolean } from '@wm/core';\nimport { HttpClientService, getErrMessage } from '@wavemaker/variables';\n\ndeclare const _;\nenum HTTP_EVENT_TYPE {\n Sent = 0,\n UploadProgress = 1,\n ResponseHeader = 2,\n DownloadProgress = 3,\n Response= 4,\n User = 5\n}\n\n@Injectable()\nexport class HttpServiceImpl extends AbstractHttpService implements HttpClientService {\n nonBodyTypeMethods = ['GET', 'DELETE', 'HEAD', 'OPTIONS', 'JSONP'];\n sessionTimeoutObservable = new Subject();\n sessionTimeoutQueue = [];\n localeObject: any;\n\n constructor(private httpClient: HttpClient) {\n super();\n }\n\n /**\n * This method handles session timeout.\n * @param options\n * @param resolve\n * @param reject\n */\n handleSessionTimeout(options, subscriber401?) {\n this.sessionTimeoutQueue.push({\n requestInfo: options,\n sub401: subscriber401\n });\n this.on401();\n }\n\n /**\n * Generates a request with provided options\n * @param options, request params/options\n */\n private generateRequest(options: any) {\n let reqHeaders = new HttpHeaders(),\n reqParams = new HttpParams();\n const headers = options.headers;\n const params = options.params;\n const responseType = options.responseType;\n const withCredentials = options.withCredentials;\n\n // this header is not to be sent with non-proxy calls from service variable\n if (!options.isDirectCall) {\n reqHeaders = reqHeaders.append('X-Requested-With', 'XMLHttpRequest');\n }\n\n // headers\n if (headers) {\n Object.entries(headers).forEach(([k, v]) => {\n if (isNumber(v) || isBoolean(v)) {\n v = v.toString();\n }\n reqHeaders = reqHeaders.append(k, v as string);\n })\n }\n\n // params\n if (params) {\n Object.entries(params).forEach(([k, v]) => reqParams = reqParams.append(k, v as string));\n }\n\n let third, fourth;\n const reqOptions = {\n headers: reqHeaders,\n params: reqParams,\n responseType: responseType,\n withCredentials: withCredentials\n };\n // Even if method is not expecting request body, if body is passed in request, pass it on.\n if (_.includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {\n third = reqOptions;\n fourth = null;\n } else {\n third = options.data;\n fourth = reqOptions;\n }\n return new HttpRequest(options.method, options.url, third, fourth);\n }\n\n\n /**\n * Make a http call and returns an observable that can be cancelled\n * @param options, options using which the call needs to be made\n */\n sendCallAsObservable(options: any, params? : any): any {\n const req = this.generateRequest(options);\n return this.httpClient.request(req);\n }\n\n sendCall(requestParams, variable, params?) {\n return new Promise((resolve, reject) => {\n variable._observable = this.sendCallAsObservable(requestParams, params).subscribe((response: any) => {\n if (response && response.type) {\n resolve(response);\n }\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n /**\n * Makes a http call and return a promise\n * @param options, options using which the call needs to be made\n */\n send(options: any) {\n const req = this.generateRequest(options);\n\n return new Promise((resolve, reject) => {\n this.httpClient.request(req).toPromise().then((response) => {\n resolve(response);\n } , (err) => {\n if (this.isPlatformSessionTimeout(err)) {\n err._401Subscriber.asObservable().subscribe((response) => {\n resolve(response);\n }, (e) => {\n reject(e);\n });\n } else {\n const errMsg = getErrMessage(err, this.getLocale());\n reject({\n error: errMsg,\n details: err\n });\n }\n });\n });\n }\n\n cancel(variable, $file?) {\n if (variable._observable) {\n variable._observable.unsubscribe();\n }\n if ($file && $file._uploadProgress) {\n $file._uploadProgress.unsubscribe();\n }\n }\n\n setLocale(locale) {\n this.localeObject = locale;\n }\n\n getLocale() {\n return this.localeObject;\n }\n\n getHeader(error, headerKey) {\n return error.headers.get(headerKey);\n }\n\n isPlatformSessionTimeout(error) {\n const MSG_SESSION_NOT_FOUND = 'Session Not Found';\n return error.status === 401 && this.getHeader(error, 'x-wm-login-errormessage') === MSG_SESSION_NOT_FOUND;\n }\n\n get(url: string, options?: any) {\n options = options || {};\n options.url = url;\n options.method = 'get';\n return this.send(options).then((response: HttpResponse<string>) => response.body);\n }\n\n post(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'post';\n options.data = data;\n return this.send(options);\n }\n\n put(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'put';\n options.data = data;\n return this.send(options);\n }\n\n patch(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'patch';\n options.data = data;\n return this.send(options);\n }\n\n delete(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'delete';\n return this.send(options);\n }\n\n head(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'head';\n return this.send(options);\n }\n\n jsonp(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'jsonp';\n return this.send(options);\n }\n\n upload(url, data, options): Observable<HttpEvent<any>> {\n const req = new HttpRequest('POST', url, data, {\n reportProgress: true // for progress data\n });\n return this.httpClient.request(req);\n // return this.httpClient.post(url, data, {\n // reportProgress: true\n // });\n }\n\n uploadFile(url, data, variable, options?) {\n return new Promise((resolve, reject) => {\n variable.request = this.upload(url, data, options).subscribe((event: any) => {\n if (event.type === HTTP_EVENT_TYPE.UploadProgress) {\n const uploadProgress = Math.round(100 * event.loaded / event.total);\n options.notify(uploadProgress);\n }\n\n if (event.type === HTTP_EVENT_TYPE.Response) {\n resolve(event.body);\n }\n }, error => {\n reject(error);\n });\n });\n }\n /**\n * registers a callback to be trigerred on session timeout\n * @param callback\n */\n registerOnSessionTimeout(callback) {\n this.sessionTimeoutObservable.asObservable().subscribe(callback);\n }\n\n /**\n * trigger the registered methods on session timeout\n */\n on401() {\n this.sessionTimeoutObservable.next(undefined);\n }\n\n pushToSessionFailureQueue(callback) {\n this.sessionTimeoutQueue.push({\n callback: callback\n });\n }\n\n /**\n * Execute queued requests, failed due to session timeout\n */\n executeSessionFailureRequests() {\n const queue = this.sessionTimeoutQueue;\n const that = this;\n that.sessionTimeoutQueue = [];\n queue.forEach(data => {\n if (_.isFunction(data.callback)) {\n data.callback();\n } else {\n data.requestInfo.headers.headers.delete('x-wm-xsrf-token');\n that.httpClient.request(data.requestInfo)\n .subscribe(\n response => {\n if (response && response.type && data.sub401) {\n data.sub401.next(response);\n }\n }, (reason) => {\n data.sub401.error(reason);\n });\n }\n });\n }\n}\n","import { HttpRequest } from '@angular/common/http';\n\ndeclare const _;\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpRequest {\n\n method: string;\n url: string;\n headers: any = [];\n responseType: string;\n reportProgress: boolean;\n withCredentials: boolean;\n urlWithParams: string;\n body: any;\n\n constructor() {}\n\n /**\n * This method converts the given wm HttpRequest to angular HttpRequest\n * @param reqObj, the wm HttpRequest\n */\n wmToAngularRequest(reqObj) {\n let angReq;\n angReq = new HttpRequest(reqObj.method, reqObj.url);\n angReq = angReq.clone();\n angReq.body = reqObj.body;\n angReq.method = reqObj.method;\n angReq.responseType = reqObj.responseType;\n angReq.reportProgress = reqObj.reportProgress;\n angReq.urlWithParams = reqObj.url;\n angReq.withCredentials = reqObj.withCredentials;\n reqObj.headers.forEach((value, header) => {\n angReq.headers = angReq.headers.append(header, value);\n });\n return angReq;\n }\n\n /**\n * This method converts the given angular HttpRequest to wm HttpRequest\n * @param req, the angular HttpRequest\n */\n angularToWmRequest(req) {\n let wmReq = new WmHttpRequest();\n let headerMap = new Map();\n wmReq.body = req.body;\n wmReq.method = req.method;\n wmReq.responseType = req.responseType;\n wmReq.reportProgress = req.reportProgress;\n wmReq.url = req.urlWithParams;\n wmReq.withCredentials = req.withCredentials;\n req.headers.keys().forEach((header) => {\n headerMap.set(header, req.headers.headers.get(header.toLowerCase())[0]);\n });\n wmReq.headers = headerMap;\n return wmReq;\n }\n}\n","import { WmHttpRequest } from './wm-http-request';\nimport { HttpResponse } from '@angular/common/http';\n\n\ndeclare const _;\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpResponse extends WmHttpRequest{\n\n error: any;\n message: string;\n ok: boolean;\n status: number;\n statusText: string;\n\n constructor() {\n super();\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the wm HttpResponse\n */\n wmToAngularResponse(respObj) {\n let angResp;\n angResp = new HttpResponse();\n angResp = angResp.clone();\n angResp.body = respObj.body;\n angResp.error = respObj.error;\n angResp.message = respObj.message;\n angResp.url = respObj.url;\n angResp.ok = respObj.ok;\n angResp.status = respObj.status;\n angResp.statusText = respObj.statusText;\n respObj.headers.forEach((value, header)=>{\n angResp.headers = angResp.headers.append(header, value);\n });\n return angResp;\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the angular HttpResponse\n */\n angularToWmResponse(respObj) {\n let wmResp;\n let headerMap = new Map();\n wmResp = new WmHttpResponse();\n wmResp.body = respObj.body;\n wmResp.error = respObj.error;\n wmResp.message = respObj.message;\n wmResp.url = respObj.url;\n wmResp.ok = respObj.ok;\n wmResp.status = respObj.status;\n wmResp.statusText = respObj.statusText;\n respObj.headers.keys().forEach((header) => {\n headerMap.set(header, respObj.headers.headers.get(header.toLowerCase())[0]);\n });\n wmResp.headers = headerMap;\n return wmResp;\n }\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { AbstractHttpService } from '@wm/core';\n\nimport { HttpServiceImpl } from './http.service';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule\n ],\n declarations: []\n})\nexport class HttpServiceModule {\n\n static forRoot(): ModuleWithProviders<CommonModule> {\n return {\n ngModule: CommonModule,\n providers: [\n {provide: AbstractHttpService, useClass: HttpServiceImpl}\n ]\n };\n }\n}\n\nexport * from './http.service';\nexport * from './wm-http-request';\nexport * from './wm-http-response';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;AASA,IAAK,eAOJ,CAAA;AAPD,CAAA,UAAK,eAAe,EAAA;AAChB,IAAA,eAAA,CAAA,eAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,eAAA,CAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB,CAAA;AAClB,IAAA,eAAA,CAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB,CAAA;AAClB,IAAA,eAAA,CAAA,eAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;AACpB,IAAA,eAAA,CAAA,eAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAW,CAAA;AACX,IAAA,eAAA,CAAA,eAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACZ,CAAC,EAPI,eAAe,KAAf,eAAe,GAOnB,EAAA,CAAA,CAAA,CAAA;AAGK,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AAMpD,IAAA,WAAA,CAAoB,UAAsB,EAAA;AACtC,QAAA,KAAK,EAAE,CAAC;QADQ,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAL1C,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACnE,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,OAAO,EAAE,CAAC;QACzC,IAAmB,CAAA,mBAAA,GAAG,EAAE,CAAC;KAKxB;AAED;;;;;AAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,aAAc,EAAA;AACxC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;AAC1B,YAAA,WAAW,EAAE,OAAO;AACpB,YAAA,MAAM,EAAE,aAAa;AACxB,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;AAED;;;AAGG;AACK,IAAA,eAAe,CAAC,OAAY,EAAA;QAChC,IAAI,UAAU,GAAG,IAAI,WAAW,EAAE,EAC9B,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;AACjC,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAChC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAC9B,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAC1C,QAAA,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;;AAGhD,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;SACxE;;QAGD,IAAI,OAAO,EAAE;AACT,YAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI;gBACvC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;AAC7B,oBAAA,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACpB;gBACD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC;AACnD,aAAC,CAAC,CAAA;SACL;;QAGD,IAAI,MAAM,EAAE;AACR,YAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC,CAAC;SAC5F;QAED,IAAI,KAAK,EAAE,MAAM,CAAC;AAClB,QAAA,MAAM,UAAU,GAAG;AACf,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,eAAe,EAAE,eAAe;SACnC,CAAC;;QAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YACnH,KAAK,GAAG,UAAU,CAAC;YACnB,MAAM,GAAG,IAAI,CAAC;SACjB;aAAM;AACH,YAAA,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YACrB,MAAM,GAAG,UAAU,CAAC;SACvB;AACD,QAAA,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACtE;AAGD;;;AAGG;IACH,oBAAoB,CAAC,OAAY,EAAE,MAAa,EAAA;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACvC;AAED,IAAA,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAO,EAAA;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,KAAI;AAChG,gBAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;oBAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACrB;AACL,aAAC,EAAE,CAAC,GAAQ,KAAI;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;AACH,IAAA,IAAI,CAAC,OAAY,EAAA;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAI;gBACvD,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,aAAC,EAAG,CAAC,GAAG,KAAI;AACR,gBAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE;oBACpC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;wBACrD,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,qBAAC,EAAE,CAAC,CAAC,KAAI;wBACL,MAAM,CAAC,CAAC,CAAC,CAAC;AACd,qBAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACpD,oBAAA,MAAM,CAAC;AACH,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,OAAO,EAAE,GAAG;AACf,qBAAA,CAAC,CAAC;iBACN;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;IAED,MAAM,CAAC,QAAQ,EAAE,KAAM,EAAA;AACnB,QAAA,IAAI,QAAQ,CAAC,WAAW,EAAE;AACtB,YAAA,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SACtC;AACA,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE;AAChC,YAAA,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACvC;KACL;AAED,IAAA,SAAS,CAAC,MAAM,EAAA;AACZ,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;KAC9B;IAED,SAAS,GAAA;QACL,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,SAAS,CAAC,KAAK,EAAE,SAAS,EAAA;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACvC;AAED,IAAA,wBAAwB,CAAC,KAAK,EAAA;QAC1B,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,QAAA,OAAO,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,qBAAqB,CAAC;KAC7G;IAED,GAAG,CAAC,GAAW,EAAE,OAAa,EAAA;AAC1B,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAA8B,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;KACrF;AAED,IAAA,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAA;AACnB,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AACxB,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;AAED,IAAA,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAA;AAClB,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;AAED,IAAA,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAA;AACpB,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;AACzB,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;IAED,MAAM,CAAC,GAAG,EAAE,OAAO,EAAA;AACf,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;IAED,IAAI,CAAC,GAAG,EAAE,OAAO,EAAA;AACb,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;IAED,KAAK,CAAC,GAAG,EAAE,OAAO,EAAA;AACd,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;AAED,IAAA,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAA;QACrB,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;YAC3C,cAAc,EAAE,IAAI;AACvB,SAAA,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;;;;KAIvC;AAED,IAAA,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAQ,EAAA;QACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AAClC,YAAA,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;gBACxE,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,cAAc,EAAE;AAC/C,oBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACpE,oBAAA,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;iBAClC;gBAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,QAAQ,EAAE;AACzC,oBAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACvB;aACL,EAAE,KAAK,IAAG;gBACP,MAAM,CAAC,KAAK,CAAC,CAAC;AAClB,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;AACD;;;AAGG;AACH,IAAA,wBAAwB,CAAC,QAAQ,EAAA;QAC7B,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KACpE;AAED;;AAEG;IACH,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACjD;AAED,IAAA,yBAAyB,CAAC,QAAQ,EAAA;AAC9B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;AAC1B,YAAA,QAAQ,EAAE,QAAQ;AACrB,SAAA,CAAC,CAAC;KACN;AAED;;AAEG;IACH,6BAA6B,GAAA;AACzB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;AAC9B,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;YACjB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBAAM;gBACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC3D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;qBACpC,SAAS,CACN,QAAQ,IAAG;oBACP,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AAC1C,wBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC9B;AACL,iBAAC,EAAE,CAAC,MAAM,KAAI;AACV,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,iBAAC,CAAC,CAAC;aACd;AACL,SAAC,CAAC,CAAC;KACN;gFAhRQ,eAAe,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,eAAe,WAAf,eAAe,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;iFAAf,eAAe,EAAA,CAAA;cAD3B,UAAU;;;ACdX;;AAEG;MACU,aAAa,CAAA;AAWtB,IAAA,WAAA,GAAA;QAPA,IAAO,CAAA,OAAA,GAAQ,EAAE,CAAC;KAOF;AAEhB;;;AAGG;AACH,IAAA,kBAAkB,CAAC,MAAM,EAAA;AACrB,QAAA,IAAI,MAAM,CAAC;AACX,QAAA,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACpD,QAAA,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AACxB,QAAA,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC1B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9B,QAAA,MAAM,CAAC,YAAY,GAAI,MAAM,CAAC,YAAY,CAAC;AAC3C,QAAA,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC9C,QAAA,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC;AAClC,QAAA,MAAM,CAAC,eAAe,GAAI,MAAM,CAAC,eAAe,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1D,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;KACjB;AAED;;;AAGG;AACH,IAAA,kBAAkB,CAAC,GAAG,EAAA;AAClB,QAAA,IAAI,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;AAChC,QAAA,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,QAAA,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AAC1B,QAAA,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;AACtC,QAAA,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;AAC1C,QAAA,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;AAC9B,QAAA,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;QAC5C,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;YAClC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;AAC1B,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;ACrDD;;AAEG;AACG,MAAO,cAAe,SAAQ,aAAa,CAAA;AAQ7C,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;KACX;AAED;;;AAGG;AACH,IAAA,mBAAmB,CAAC,OAAO,EAAA;AACvB,QAAA,IAAI,OAAO,CAAC;AACZ,QAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7B,QAAA,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AAC1B,QAAA,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC5B,QAAA,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC9B,QAAA,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAClC,QAAA,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AAC1B,QAAA,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAChC,QAAA,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,KAAG;AACrC,YAAA,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5D,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,OAAO,CAAC;KAClB;AAED;;;AAGG;AACH,IAAA,mBAAmB,CAAC,OAAO,EAAA;AACvB,QAAA,IAAI,MAAM,CAAC;AACX,QAAA,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,QAAA,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;AAC9B,QAAA,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC3B,QAAA,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC7B,QAAA,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACjC,QAAA,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AACzB,QAAA,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;AACvB,QAAA,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAC/B,QAAA,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;YACtC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AAC3B,QAAA,OAAO,MAAM,CAAC;KACjB;AACJ;;MChDY,iBAAiB,CAAA;AAE1B,IAAA,OAAO,OAAO,GAAA;QACV,OAAO;AACH,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,SAAS,EAAE;AACP,gBAAA,EAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAC;AAC5D,aAAA;SACJ,CAAC;KACL;kFATQ,iBAAiB,GAAA,CAAA,EAAA,CAAA,EAAA;mEAAjB,iBAAiB,EAAA,CAAA,CAAA,EAAA;uEALtB,YAAY;YACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;iFAIX,iBAAiB,EAAA,CAAA;cAP7B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACN,gBAAA,OAAO,EAAE;oBACL,YAAY;oBACZ,gBAAgB;AACnB,iBAAA;AACD,gBAAA,YAAY,EAAE,EAAE;AACnB,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,iBAAiB,cALtB,YAAY;QACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACXxB;;AAEG;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../projects/http-service/src/http.service.ts","../../../projects/http-service/src/wm-http-request.ts","../../../projects/http-service/src/wm-http-response.ts","../../../projects/http-service/src/http-service.module.ts","../../../projects/http-service/src/index.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpHeaders, HttpParams, HttpRequest, HttpResponse } from '@angular/common/http';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport {AbstractHttpService} from '@wm/core';\nimport { HttpClientService, getErrMessage } from '@wavemaker/variables';\nimport {includes, isBoolean, isFunction, isNumber} from \"lodash-es\";\n\nenum HTTP_EVENT_TYPE {\n Sent = 0,\n UploadProgress = 1,\n ResponseHeader = 2,\n DownloadProgress = 3,\n Response= 4,\n User = 5\n}\n\n@Injectable()\nexport class HttpServiceImpl extends AbstractHttpService implements HttpClientService {\n nonBodyTypeMethods = ['GET', 'DELETE', 'HEAD', 'OPTIONS', 'JSONP'];\n sessionTimeoutObservable = new Subject();\n sessionTimeoutQueue = [];\n localeObject: any;\n\n constructor(private httpClient: HttpClient) {\n super();\n }\n\n /**\n * This method handles session timeout.\n * @param options\n * @param resolve\n * @param reject\n */\n handleSessionTimeout(options, subscriber401?) {\n this.sessionTimeoutQueue.push({\n requestInfo: options,\n sub401: subscriber401\n });\n this.on401();\n }\n\n /**\n * Generates a request with provided options\n * @param options, request params/options\n */\n private generateRequest(options: any) {\n let reqHeaders = new HttpHeaders(),\n reqParams = new HttpParams();\n const headers = options.headers;\n const params = options.params;\n const responseType = options.responseType;\n const withCredentials = options.withCredentials;\n\n // this header is not to be sent with non-proxy calls from service variable\n if (!options.isDirectCall) {\n reqHeaders = reqHeaders.append('X-Requested-With', 'XMLHttpRequest');\n }\n\n // headers\n if (headers) {\n Object.entries(headers).forEach(([k, v]) => {\n if (isNumber(v) || isBoolean(v)) {\n v = v.toString();\n }\n reqHeaders = reqHeaders.append(k, v as string);\n })\n }\n\n // params\n if (params) {\n Object.entries(params).forEach(([k, v]) => reqParams = reqParams.append(k, v as string));\n }\n\n let third, fourth;\n const reqOptions = {\n headers: reqHeaders,\n params: reqParams,\n responseType: responseType,\n withCredentials: withCredentials\n };\n // Even if method is not expecting request body, if body is passed in request, pass it on.\n if (includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {\n third = reqOptions;\n fourth = null;\n } else {\n third = options.data;\n fourth = reqOptions;\n }\n return new HttpRequest(options.method, options.url, third, fourth);\n }\n\n\n /**\n * Make a http call and returns an observable that can be cancelled\n * @param options, options using which the call needs to be made\n */\n sendCallAsObservable(options: any, params? : any): any {\n const req = this.generateRequest(options);\n return this.httpClient.request(req);\n }\n\n sendCall(requestParams, variable, params?) {\n return new Promise((resolve, reject) => {\n variable._observable = this.sendCallAsObservable(requestParams, params).subscribe((response: any) => {\n if (response && response.type) {\n resolve(response);\n }\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n /**\n * Makes a http call and return a promise\n * @param options, options using which the call needs to be made\n */\n send(options: any) {\n const req = this.generateRequest(options);\n\n return new Promise((resolve, reject) => {\n this.httpClient.request(req).toPromise().then((response) => {\n resolve(response);\n } , (err) => {\n if (this.isPlatformSessionTimeout(err)) {\n err._401Subscriber.asObservable().subscribe((response) => {\n resolve(response);\n }, (e) => {\n reject(e);\n });\n } else {\n const errMsg = getErrMessage(err, this.getLocale());\n reject({\n error: errMsg,\n details: err\n });\n }\n });\n });\n }\n\n cancel(variable, $file?) {\n if (variable._observable) {\n variable._observable.unsubscribe();\n }\n if ($file && $file._uploadProgress) {\n $file._uploadProgress.unsubscribe();\n }\n }\n\n setLocale(locale) {\n this.localeObject = locale;\n }\n\n getLocale() {\n return this.localeObject;\n }\n\n getHeader(error, headerKey) {\n return error.headers.get(headerKey);\n }\n\n isPlatformSessionTimeout(error) {\n const MSG_SESSION_NOT_FOUND = 'Session Not Found';\n return error.status === 401 && this.getHeader(error, 'x-wm-login-errormessage') === MSG_SESSION_NOT_FOUND;\n }\n\n get(url: string, options?: any) {\n options = options || {};\n options.url = url;\n options.method = 'get';\n return this.send(options).then((response: HttpResponse<string>) => response.body);\n }\n\n post(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'post';\n options.data = data;\n return this.send(options);\n }\n\n put(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'put';\n options.data = data;\n return this.send(options);\n }\n\n patch(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'patch';\n options.data = data;\n return this.send(options);\n }\n\n delete(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'delete';\n return this.send(options);\n }\n\n head(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'head';\n return this.send(options);\n }\n\n jsonp(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'jsonp';\n return this.send(options);\n }\n\n upload(url, data, options): Observable<HttpEvent<any>> {\n const req = new HttpRequest('POST', url, data, {\n reportProgress: true // for progress data\n });\n return this.httpClient.request(req);\n // return this.httpClient.post(url, data, {\n // reportProgress: true\n // });\n }\n\n uploadFile(url, data, variable, options?) {\n return new Promise((resolve, reject) => {\n variable.request = this.upload(url, data, options).subscribe((event: any) => {\n if (event.type === HTTP_EVENT_TYPE.UploadProgress) {\n const uploadProgress = Math.round(100 * event.loaded / event.total);\n options.notify(uploadProgress);\n }\n\n if (event.type === HTTP_EVENT_TYPE.Response) {\n resolve(event.body);\n }\n }, error => {\n reject(error);\n });\n });\n }\n /**\n * registers a callback to be trigerred on session timeout\n * @param callback\n */\n registerOnSessionTimeout(callback) {\n this.sessionTimeoutObservable.asObservable().subscribe(callback);\n }\n\n /**\n * trigger the registered methods on session timeout\n */\n on401() {\n this.sessionTimeoutObservable.next(undefined);\n }\n\n pushToSessionFailureQueue(callback) {\n this.sessionTimeoutQueue.push({\n callback: callback\n });\n }\n\n /**\n * Execute queued requests, failed due to session timeout\n */\n executeSessionFailureRequests() {\n const queue = this.sessionTimeoutQueue;\n const that = this;\n that.sessionTimeoutQueue = [];\n queue.forEach(data => {\n if (isFunction(data.callback)) {\n data.callback();\n } else {\n data.requestInfo.headers.headers.delete('x-wm-xsrf-token');\n that.httpClient.request(data.requestInfo)\n .subscribe(\n response => {\n if (response && response.type && data.sub401) {\n data.sub401.next(response);\n }\n }, (reason) => {\n data.sub401.error(reason);\n });\n }\n });\n }\n}\n","import { HttpRequest } from '@angular/common/http';\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpRequest {\n\n method: string;\n url: string;\n headers: any = [];\n responseType: string;\n reportProgress: boolean;\n withCredentials: boolean;\n urlWithParams: string;\n body: any;\n\n constructor() {}\n\n /**\n * This method converts the given wm HttpRequest to angular HttpRequest\n * @param reqObj, the wm HttpRequest\n */\n wmToAngularRequest(reqObj) {\n let angReq;\n angReq = new HttpRequest(reqObj.method, reqObj.url);\n angReq = angReq.clone();\n angReq.body = reqObj.body;\n angReq.method = reqObj.method;\n angReq.responseType = reqObj.responseType;\n angReq.reportProgress = reqObj.reportProgress;\n angReq.urlWithParams = reqObj.url;\n angReq.withCredentials = reqObj.withCredentials;\n reqObj.headers.forEach((value, header) => {\n angReq.headers = angReq.headers.append(header, value);\n });\n return angReq;\n }\n\n /**\n * This method converts the given angular HttpRequest to wm HttpRequest\n * @param req, the angular HttpRequest\n */\n angularToWmRequest(req) {\n let wmReq = new WmHttpRequest();\n let headerMap = new Map();\n wmReq.body = req.body;\n wmReq.method = req.method;\n wmReq.responseType = req.responseType;\n wmReq.reportProgress = req.reportProgress;\n wmReq.url = req.urlWithParams;\n wmReq.withCredentials = req.withCredentials;\n req.headers.keys().forEach((header) => {\n headerMap.set(header, req.headers.headers.get(header.toLowerCase())[0]);\n });\n wmReq.headers = headerMap;\n return wmReq;\n }\n}\n","import { WmHttpRequest } from './wm-http-request';\nimport { HttpResponse } from '@angular/common/http';\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpResponse extends WmHttpRequest{\n\n error: any;\n message: string;\n ok: boolean;\n status: number;\n statusText: string;\n\n constructor() {\n super();\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the wm HttpResponse\n */\n wmToAngularResponse(respObj) {\n let angResp;\n angResp = new HttpResponse();\n angResp = angResp.clone();\n angResp.body = respObj.body;\n angResp.error = respObj.error;\n angResp.message = respObj.message;\n angResp.url = respObj.url;\n angResp.ok = respObj.ok;\n angResp.status = respObj.status;\n angResp.statusText = respObj.statusText;\n respObj.headers.forEach((value, header)=>{\n angResp.headers = angResp.headers.append(header, value);\n });\n return angResp;\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the angular HttpResponse\n */\n angularToWmResponse(respObj) {\n let wmResp;\n let headerMap = new Map();\n wmResp = new WmHttpResponse();\n wmResp.body = respObj.body;\n wmResp.error = respObj.error;\n wmResp.message = respObj.message;\n wmResp.url = respObj.url;\n wmResp.ok = respObj.ok;\n wmResp.status = respObj.status;\n wmResp.statusText = respObj.statusText;\n respObj.headers.keys().forEach((header) => {\n headerMap.set(header, respObj.headers.headers.get(header.toLowerCase())[0]);\n });\n wmResp.headers = headerMap;\n return wmResp;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { AbstractHttpService } from '@wm/core';\n\nimport { HttpServiceImpl } from './http.service';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule\n ],\n declarations: []\n})\nexport class HttpServiceModule {\n\n static forRoot(): ModuleWithProviders<CommonModule> {\n return {\n ngModule: CommonModule,\n providers: [\n {provide: AbstractHttpService, useClass: HttpServiceImpl}\n ]\n };\n }\n}\n\nexport * from './http.service';\nexport * from './wm-http-request';\nexport * from './wm-http-response';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@wm/components/base'), require('@angular/common/http'), require('@awesome-cordova-plugins/file/ngx'), require('@awesome-cordova-plugins/file-opener/ngx'), require('@wm/core'), require('@wm/mobile/core'), require('@angular/common'), require('@wm/components/basic/progress')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@wm/components/base', '@angular/common/http', '@awesome-cordova-plugins/file/ngx', '@awesome-cordova-plugins/file-opener/ngx', '@wm/core', '@wm/mobile/core', '@angular/common', '@wm/components/basic/progress'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.mobile = global.wm.mobile || {}, global.wm.mobile.components = global.wm.mobile.components || {}, global.wm.mobile.components.basic = {}), global.ng.core, global.wm.components.base, global.ng.common.http, global.awesomeCordova.plugins, global.awesomeCordova.plugins, global.wm.core, global.wm.mobile.core, global.ng.common, global.wm.components.basic.progress));
5
- })(this, (function (exports, i0, i5, i4, i2, i3, i1$1, i1, i3$1, i2$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@wm/components/base'), require('lodash-es'), require('@angular/common/http'), require('@awesome-cordova-plugins/file/ngx'), require('@awesome-cordova-plugins/file-opener/ngx'), require('@wm/core'), require('@wm/mobile/core'), require('@angular/common'), require('@wm/components/basic/progress')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@wm/components/base', 'lodash-es', '@angular/common/http', '@awesome-cordova-plugins/file/ngx', '@awesome-cordova-plugins/file-opener/ngx', '@wm/core', '@wm/mobile/core', '@angular/common', '@wm/components/basic/progress'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.mobile = global.wm.mobile || {}, global.wm.mobile.components = global.wm.mobile.components || {}, global.wm.mobile.components.basic = {}), global.ng.core, global.wm.components.base, global._, global.ng.common.http, global.awesomeCordova.plugins, global.awesomeCordova.plugins, global.wm.core, global.wm.mobile.core, global.ng.common, global.wm.components.basic.progress));
5
+ })(this, (function (exports, i0, i5, lodashEs, i4, i2, i3, i1$1, i1, i3$1, i2$1) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -38,14 +38,14 @@
38
38
  onClick() {
39
39
  let href = this.widget.hyperlink;
40
40
  if (href) {
41
- if (href.indexOf(':') >= 0 && !(_.startsWith(href, 'http://') || _.startsWith(href, 'https://'))) {
41
+ if (href.indexOf(':') >= 0 && !(lodashEs.startsWith(href, 'http://') || lodashEs.startsWith(href, 'https://'))) {
42
42
  return;
43
43
  }
44
- else if (_.startsWith(href, '#')) {
44
+ else if (lodashEs.startsWith(href, '#')) {
45
45
  window.location.href = window.location.origin + window.location.pathname + href;
46
46
  return;
47
47
  }
48
- else if (_.startsWith(href, '//')) {
48
+ else if (lodashEs.startsWith(href, '//')) {
49
49
  href = 'https:' + href;
50
50
  }
51
51
  if (window['cordova']) {
@@ -317,8 +317,9 @@
317
317
  submit() {
318
318
  const files = [];
319
319
  this.loadFileSize(this.selectedFiles).then(() => {
320
- _.forEach(this.selectedFiles, function (f) {
320
+ lodashEs.forEach(this.selectedFiles, function (f) {
321
321
  f.isSelected = false;
322
+ // @ts-ignore
322
323
  files.push({ path: f.nativeURL,
323
324
  name: f.name,
324
325
  size: f.size });
@@ -329,7 +330,7 @@
329
330
  });
330
331
  }
331
332
  deselectFile(file) {
332
- _.remove(this.selectedFiles, file);
333
+ lodashEs.remove(this.selectedFiles, file);
333
334
  file.isSelected = false;
334
335
  }
335
336
  goToFolder(folder) {
@@ -359,13 +360,15 @@
359
360
  return new Promise((resolve, reject) => {
360
361
  let fileTypeToShow;
361
362
  folder.createReader().readEntries((entries) => {
362
- if (!_.isEmpty(fileTypeToSelect)) {
363
- fileTypeToShow = _.split(fileTypeToSelect, ',');
364
- entries = _.filter(entries, e => {
365
- return !e.isFile || _.findIndex(fileTypeToShow, ext => _.endsWith(e.name, '.' + ext)) >= 0;
363
+ if (!lodashEs.isEmpty(fileTypeToSelect)) {
364
+ fileTypeToShow = lodashEs.split(fileTypeToSelect, ',');
365
+ entries = lodashEs.filter(entries, e => {
366
+ // @ts-ignore
367
+ return !e.isFile || lodashEs.findIndex(fileTypeToShow, ext => lodashEs.endsWith(e.name, '.' + ext)) >= 0;
366
368
  });
367
369
  }
368
- resolve(_.sortBy(entries, e => (e.isFile ? '1_' : '0_') + e.name.toLowerCase()));
370
+ // @ts-ignore
371
+ resolve(lodashEs.sortBy(entries, e => (e.isFile ? '1_' : '0_') + e.name.toLowerCase()));
369
372
  }, reject);
370
373
  });
371
374
  }
@@ -455,13 +458,14 @@
455
458
  * @returns fileObj having name, path, content
456
459
  */
457
460
  getFiles(filePaths) {
458
- return Promise.all(_.map(filePaths, filePath => {
461
+ // @ts-ignore
462
+ return Promise.all(lodashEs.map(filePaths, filePath => {
459
463
  if (filePath.indexOf('://') < 0) {
460
464
  filePath = 'file://' + filePath;
461
465
  }
462
466
  return i1$1.convertToBlob(filePath);
463
467
  })).then(filesList => {
464
- return _.map(filesList, fileObj => {
468
+ return lodashEs.map(filesList, fileObj => {
465
469
  const path = fileObj.filepath;
466
470
  return {
467
471
  name: path.split('/').pop(),
@@ -490,7 +494,7 @@
490
494
  this._lastUrl = '';
491
495
  }
492
496
  ngDoCheck() {
493
- if (_.isString(this.componentInstance.imgSource)
497
+ if (lodashEs.isString(this.componentInstance.imgSource)
494
498
  && this.componentInstance.imgSource.startsWith('http')) {
495
499
  if (this._lastUrl !== this.componentInstance.imgSource) {
496
500
  this._lastUrl = this.componentInstance.imgSource;
@@ -835,7 +839,7 @@
835
839
  removeInstance(instance) {
836
840
  return new Promise(resolve => {
837
841
  setTimeout(() => {
838
- _.remove(this.instances, instance);
842
+ lodashEs.remove(this.instances, instance);
839
843
  this.flushQueue();
840
844
  resolve();
841
845
  }, 1000);
@@ -849,7 +853,7 @@
849
853
  instance.value = propertyValue;
850
854
  instance.progressLabel = instance.value + '/' + instance.max;
851
855
  }
852
- else if (propertyName === 'onStop' && _.isFunction(propertyValue)) {
856
+ else if (propertyName === 'onStop' && lodashEs.isFunction(propertyValue)) {
853
857
  instance.onStop = () => {
854
858
  propertyValue();
855
859
  return this.removeInstance(instance);
@@ -875,7 +879,7 @@
875
879
  i5.provideAsWidgetRef(ProcessManagerComponent)
876
880
  ], template: "<ng-container *ngIf=\"instances.length > 0\">\n <div class=\"modal-dialog app-dialog\">\n <div class=\"modal-content\">\n <ul class=\"instance-list list-unstyled\">\n <li *ngFor=\"let instance of getVisibleInstances(instances); index as i\" class=\"instance-list-item\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <label class=\"app-global-progress-bar-name h6\">{{instance.name}}</label>\n </div>\n <div class=\"col-xs-4 app-global-progress-bar-progress-label-col\">\n <label class=\"app-global-progress-bar-progress-label h6\">\n {{instance.progressLabel}}</label>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"progressTemplate\" [ngTemplateOutletContext]=\"{instance: instance}\"></ng-template>\n <button class=\"btn btn-secondary pull-right stop-btn\" *ngIf=\"instance.onStop\" (click)=\"instance.onStop();\">\n {{instance.stopButtonLabel}}\n </button>\n <div style=\"clear: both;\"></div>\n </li>\n <li class=\"instance-list-item\" *ngIf=\"queue.length > 0\">\n <label class=\"global-progress-bar-ui-primary-label h6\">\n ({{queue.length}}) queued\n </label>\n </li>\n </ul>\n </div>\n </div>\n</ng-container>\n<ng-template #progressTemplate let-instance=\"instance\">\n <div wmProgressBar minvalue.bind=\"instance.min\" maxvalue.bind=\"instance.max\" datavalue.bind=\"instance.value\"></div>\n</ng-template>" }]
877
881
  }], () => [{ type: i0__namespace.ElementRef }], null); })();
878
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(ProcessManagerComponent, { className: "ProcessManagerComponent", filePath: "process-manager/process-manager.component.ts", lineNumber: 34 }); })();
882
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(ProcessManagerComponent, { className: "ProcessManagerComponent", filePath: "process-manager/process-manager.component.ts", lineNumber: 33 }); })();
879
883
 
880
884
  class ProcessManagementService {
881
885
  static { this.SERVICE_NAME = 'ProcessManagementService'; }