@mediusinc/mng-commons 0.0.1-rc.3 → 0.2.1-rc

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 (488) hide show
  1. package/.browserslistrc +16 -0
  2. package/README.md +96 -1
  3. package/assets/i18n/en.json +156 -0
  4. package/assets/i18n/sl.json +156 -0
  5. package/assets/images/effect-ondark.png +0 -0
  6. package/assets/images/effect-ondark.svg +38 -0
  7. package/assets/images/effect-ondark@2x.png +0 -0
  8. package/assets/images/effect-onlight.png +0 -0
  9. package/assets/images/effect-onlight.svg +38 -0
  10. package/assets/images/effect-onlight@2x.png +0 -0
  11. package/assets/images/pages/exception-ondark.png +0 -0
  12. package/assets/images/pages/exception-onlight.png +0 -0
  13. package/assets/images/pages/login-ondark.png +0 -0
  14. package/assets/images/pages/login-onlight.png +0 -0
  15. package/assets/templates/tableview-route.component.html +5 -0
  16. package/karma.conf.js +51 -0
  17. package/ng-package.json +14 -0
  18. package/package.json +3 -24
  19. package/scss/common/layout/_breadcrumb.scss +96 -0
  20. package/scss/common/layout/_config.scss +101 -0
  21. package/scss/common/layout/_dashboard.scss +16 -0
  22. package/scss/common/layout/_exception.scss +131 -0
  23. package/scss/common/layout/_footer.scss +29 -0
  24. package/scss/common/layout/_help.scss +157 -0
  25. package/scss/common/layout/_inlinemenu.scss +55 -0
  26. package/scss/common/layout/_invoice.scss +176 -0
  27. package/scss/common/layout/_landing.scss +639 -0
  28. package/scss/common/layout/_layout_dark.scss +23 -0
  29. package/scss/common/layout/_layout_light.scss +23 -0
  30. package/scss/common/layout/_loader.scss +18 -0
  31. package/scss/common/layout/_login.scss +106 -0
  32. package/scss/common/layout/_main.scss +45 -0
  33. package/scss/common/layout/_mixins.scss +214 -0
  34. package/scss/common/layout/_rightmenu.scss +125 -0
  35. package/scss/common/layout/_topbar.scss +189 -0
  36. package/scss/common/layout/_typography.scss +63 -0
  37. package/scss/common/layout/_utils.scss +96 -0
  38. package/scss/common/layout/_widgets.scss +391 -0
  39. package/scss/common/layout/menu/_menu.scss +7 -0
  40. package/scss/common/layout/menu/_menu_common.scss +183 -0
  41. package/scss/common/layout/menu/_menu_overlay.scss +52 -0
  42. package/scss/common/layout/menu/_menu_sidebar.scss +232 -0
  43. package/scss/common/layout/menu/_menu_slim.scss +138 -0
  44. package/scss/common/layout/menu/_menu_static.scss +70 -0
  45. package/scss/common/layout/menu/_menu_theme.scss +365 -0
  46. package/scss/common/theme/_theme_dark.scss +5 -0
  47. package/scss/common/theme/_theme_light.scss +5 -0
  48. package/scss/common/theme/designer/_colors.scss +18 -0
  49. package/scss/common/theme/designer/_common.scss +40 -0
  50. package/scss/common/theme/designer/_components.scss +101 -0
  51. package/scss/common/theme/designer/_mixins.scss +174 -0
  52. package/scss/common/theme/designer/components/button/_button.scss +560 -0
  53. package/scss/common/theme/designer/components/button/_speeddial.scss +79 -0
  54. package/scss/common/theme/designer/components/button/_splitbutton.scss +1 -0
  55. package/scss/common/theme/designer/components/data/_carousel.scss +37 -0
  56. package/scss/common/theme/designer/components/data/_datatable.scss +266 -0
  57. package/scss/common/theme/designer/components/data/_dataview.scss +55 -0
  58. package/scss/common/theme/designer/components/data/_filter.scss +138 -0
  59. package/scss/common/theme/designer/components/data/_fullcalendar.scss +324 -0
  60. package/scss/common/theme/designer/components/data/_orderlist.scss +91 -0
  61. package/scss/common/theme/designer/components/data/_organizationchart.scss +50 -0
  62. package/scss/common/theme/designer/components/data/_paginator.scss +83 -0
  63. package/scss/common/theme/designer/components/data/_picklist.scss +91 -0
  64. package/scss/common/theme/designer/components/data/_timeline.scss +38 -0
  65. package/scss/common/theme/designer/components/data/_tree.scss +144 -0
  66. package/scss/common/theme/designer/components/data/_treetable.scss +242 -0
  67. package/scss/common/theme/designer/components/data/_virtualscroller.scss +28 -0
  68. package/scss/common/theme/designer/components/file/_fileupload.scss +58 -0
  69. package/scss/common/theme/designer/components/input/_autocomplete.scss +103 -0
  70. package/scss/common/theme/designer/components/input/_calendar.scss +212 -0
  71. package/scss/common/theme/designer/components/input/_cascadeselect.scss +98 -0
  72. package/scss/common/theme/designer/components/input/_checkbox.scss +85 -0
  73. package/scss/common/theme/designer/components/input/_chips.scss +41 -0
  74. package/scss/common/theme/designer/components/input/_colorpicker.scss +19 -0
  75. package/scss/common/theme/designer/components/input/_dropdown.scss +136 -0
  76. package/scss/common/theme/designer/components/input/_editor.scss +122 -0
  77. package/scss/common/theme/designer/components/input/_inputgroup.scss +69 -0
  78. package/scss/common/theme/designer/components/input/_inputmask.scss +3 -0
  79. package/scss/common/theme/designer/components/input/_inputnumber.scss +3 -0
  80. package/scss/common/theme/designer/components/input/_inputswitch.scss +58 -0
  81. package/scss/common/theme/designer/components/input/_inputtext.scss +97 -0
  82. package/scss/common/theme/designer/components/input/_listbox.scss +82 -0
  83. package/scss/common/theme/designer/components/input/_multiselect.scss +164 -0
  84. package/scss/common/theme/designer/components/input/_password.scss +33 -0
  85. package/scss/common/theme/designer/components/input/_radiobutton.scss +78 -0
  86. package/scss/common/theme/designer/components/input/_rating.scss +48 -0
  87. package/scss/common/theme/designer/components/input/_selectbutton.scss +50 -0
  88. package/scss/common/theme/designer/components/input/_slider.scss +69 -0
  89. package/scss/common/theme/designer/components/input/_togglebutton.scss +48 -0
  90. package/scss/common/theme/designer/components/input/_treeselect.scss +89 -0
  91. package/scss/common/theme/designer/components/menu/_breadcrumb.scss +42 -0
  92. package/scss/common/theme/designer/components/menu/_contextmenu.scss +50 -0
  93. package/scss/common/theme/designer/components/menu/_dock.scss +51 -0
  94. package/scss/common/theme/designer/components/menu/_megamenu.scss +102 -0
  95. package/scss/common/theme/designer/components/menu/_menu.scss +41 -0
  96. package/scss/common/theme/designer/components/menu/_menubar.scss +179 -0
  97. package/scss/common/theme/designer/components/menu/_panelmenu.scss +137 -0
  98. package/scss/common/theme/designer/components/menu/_slidemenu.scss +55 -0
  99. package/scss/common/theme/designer/components/menu/_steps.scss +55 -0
  100. package/scss/common/theme/designer/components/menu/_tabmenu.scss +49 -0
  101. package/scss/common/theme/designer/components/menu/_tieredmenu.scss +56 -0
  102. package/scss/common/theme/designer/components/messages/_inlinemessage.scss +64 -0
  103. package/scss/common/theme/designer/components/messages/_message.scss +102 -0
  104. package/scss/common/theme/designer/components/messages/_toast.scss +95 -0
  105. package/scss/common/theme/designer/components/misc/_avatar.scss +30 -0
  106. package/scss/common/theme/designer/components/misc/_badge.scss +48 -0
  107. package/scss/common/theme/designer/components/misc/_blockui.scss +3 -0
  108. package/scss/common/theme/designer/components/misc/_chip.scss +36 -0
  109. package/scss/common/theme/designer/components/misc/_inplace.scss +17 -0
  110. package/scss/common/theme/designer/components/misc/_progressbar.scss +17 -0
  111. package/scss/common/theme/designer/components/misc/_scrolltop.scss +20 -0
  112. package/scss/common/theme/designer/components/misc/_skeleton.scss +8 -0
  113. package/scss/common/theme/designer/components/misc/_tag.scss +33 -0
  114. package/scss/common/theme/designer/components/misc/_terminal.scss +11 -0
  115. package/scss/common/theme/designer/components/multimedia/_galleria.scss +141 -0
  116. package/scss/common/theme/designer/components/overlay/_confirmpopup.scss +67 -0
  117. package/scss/common/theme/designer/components/overlay/_dialog.scss +63 -0
  118. package/scss/common/theme/designer/components/overlay/_overlaypanel.scss +62 -0
  119. package/scss/common/theme/designer/components/overlay/_sidebar.scss +27 -0
  120. package/scss/common/theme/designer/components/overlay/_tooltip.scss +33 -0
  121. package/scss/common/theme/designer/components/panel/_accordion.scss +119 -0
  122. package/scss/common/theme/designer/components/panel/_card.scss +30 -0
  123. package/scss/common/theme/designer/components/panel/_divider.scss +31 -0
  124. package/scss/common/theme/designer/components/panel/_fieldset.scss +47 -0
  125. package/scss/common/theme/designer/components/panel/_panel.scss +42 -0
  126. package/scss/common/theme/designer/components/panel/_scrollpanel.scss +6 -0
  127. package/scss/common/theme/designer/components/panel/_splitter.scss +19 -0
  128. package/scss/common/theme/designer/components/panel/_tabview.scss +66 -0
  129. package/scss/common/theme/designer/components/panel/_toolbar.scss +10 -0
  130. package/scss/common/theme/extensions/_button.scss +99 -0
  131. package/scss/common/theme/extensions/_calendar.scss +18 -0
  132. package/scss/common/theme/extensions/_card.scss +6 -0
  133. package/scss/common/theme/extensions/_carousel.scss +13 -0
  134. package/scss/common/theme/extensions/_checkbox.scss +10 -0
  135. package/scss/common/theme/extensions/_contextmenu.scss +16 -0
  136. package/scss/common/theme/extensions/_datatable.scss +83 -0
  137. package/scss/common/theme/extensions/_dialog.scss +14 -0
  138. package/scss/common/theme/extensions/_fieldset.scss +6 -0
  139. package/scss/common/theme/extensions/_galleria.scss +25 -0
  140. package/scss/common/theme/extensions/_megamenu.scss +18 -0
  141. package/scss/common/theme/extensions/_menu.scss +14 -0
  142. package/scss/common/theme/extensions/_menubar.scss +14 -0
  143. package/scss/common/theme/extensions/_orderlist.scss +38 -0
  144. package/scss/common/theme/extensions/_paginator.scss +19 -0
  145. package/scss/common/theme/extensions/_panelmenu.scss +20 -0
  146. package/scss/common/theme/extensions/_password.scss +5 -0
  147. package/scss/common/theme/extensions/_picklist.scss +38 -0
  148. package/scss/common/theme/extensions/_radiobutton.scss +8 -0
  149. package/scss/common/theme/extensions/_sidebar.scss +19 -0
  150. package/scss/common/theme/extensions/_slidemenu.scss +10 -0
  151. package/scss/common/theme/extensions/_slider.scss +6 -0
  152. package/scss/common/theme/extensions/_steps.scss +50 -0
  153. package/scss/common/theme/extensions/_tieredmenu.scss +14 -0
  154. package/scss/common/theme/extensions/_toast.scss +6 -0
  155. package/scss/common/theme/extensions/_tree.scss +36 -0
  156. package/scss/common/theme/extensions/_treetable.scss +35 -0
  157. package/scss/common/theme/extensions/_vendor_extensions.scss +27 -0
  158. package/scss/common/variables/layout/_common.scss +12 -0
  159. package/scss/common/variables/layout/_layout_dark.scss +71 -0
  160. package/scss/common/variables/layout/_layout_light.scss +71 -0
  161. package/scss/common/variables/theme/_theme_dark.scss +897 -0
  162. package/scss/common/variables/theme/_theme_light.scss +885 -0
  163. package/scss/layout/default/_mng-variables-layout-dark.scss +2 -0
  164. package/scss/layout/default/_mng-variables-layout-light.scss +2 -0
  165. package/scss/layout/default/layout-dark.scss +2 -0
  166. package/scss/layout/default/layout-light.scss +2 -0
  167. package/scss/mng-commons-dark.scss +5 -0
  168. package/scss/mng-commons-light.scss +5 -0
  169. package/scss/mng-overrides/_layout_action.scss +3 -0
  170. package/scss/mng-overrides/_layout_dialog.scss +34 -0
  171. package/scss/mng-overrides/_layout_forms.scss +31 -0
  172. package/scss/mng-overrides/_layout_radio.scss +3 -0
  173. package/scss/mng-overrides/_layout_styles.scss +4 -0
  174. package/scss/mng-overrides/_theme_datatable.scss +9 -0
  175. package/scss/mng-overrides/_theme_dialog.scss +9 -0
  176. package/scss/mng-overrides/_theme_dropdown.scss +6 -0
  177. package/scss/mng-overrides/_theme_styles.scss +9 -0
  178. package/scss/mng-overrides/_theme_tableview.scss +94 -0
  179. package/scss/theme/default/_mng-variables-theme-dark.scss +8 -0
  180. package/scss/theme/default/_mng-variables-theme-light.scss +8 -0
  181. package/scss/theme/default/theme-dark.scss +2 -0
  182. package/scss/theme/default/theme-light.scss +2 -0
  183. package/src/lib/api/models/builders/query-param.builder.ts +54 -0
  184. package/src/lib/api/models/filter-match-type.model.ts +25 -0
  185. package/src/lib/api/models/filter-param.model.ts +59 -0
  186. package/{lib/api/models/index.d.ts → src/lib/api/models/index.ts} +10 -8
  187. package/src/lib/api/models/mappers.ts +18 -0
  188. package/{lib/api/models/query-mode.model.d.ts → src/lib/api/models/query-mode.model.ts} +18 -16
  189. package/src/lib/api/models/query-param.model.ts +99 -0
  190. package/src/lib/api/models/query-result.model.ts +77 -0
  191. package/{lib/api/models/serialization.model.d.ts → src/lib/api/models/serialization.model.ts} +9 -8
  192. package/src/lib/api/services/crud-api.abstract.service.ts +113 -0
  193. package/src/lib/api/services/index.ts +1 -0
  194. package/{lib/api/utils/index.d.ts → src/lib/api/utils/index.ts} +2 -2
  195. package/src/lib/api/utils/medius-rest.util.ts +146 -0
  196. package/src/lib/api/utils/object-serializer.util.ts +227 -0
  197. package/src/lib/components/action/action.component.html +30 -0
  198. package/src/lib/components/action/action.component.ts +77 -0
  199. package/src/lib/components/action/dialog/action-dialog.component.html +26 -0
  200. package/src/lib/components/action/dialog/action-dialog.component.ts +171 -0
  201. package/{lib/components/action/index.d.ts → src/lib/components/action/index.ts} +3 -3
  202. package/src/lib/components/action/models/action-confirmation-service.model.ts +7 -0
  203. package/src/lib/components/action/models/action-execution.model.ts +81 -0
  204. package/src/lib/components/action/models/index.ts +2 -0
  205. package/src/lib/components/action/route/action-route.component.html +1 -0
  206. package/src/lib/components/action/route/action-route.component.ts +159 -0
  207. package/src/lib/components/form/autocomplete/autocomplete.component.html +16 -0
  208. package/src/lib/components/form/autocomplete/autocomplete.component.ts +113 -0
  209. package/src/lib/components/form/dropdown/dropdown.component.html +29 -0
  210. package/src/lib/components/form/dropdown/dropdown.component.ts +109 -0
  211. package/src/lib/components/form/editor/form-editor.component.html +5 -0
  212. package/src/lib/components/form/editor/form-editor.component.ts +149 -0
  213. package/src/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.html +7 -0
  214. package/src/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.ts +21 -0
  215. package/src/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.html +9 -0
  216. package/src/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.ts +22 -0
  217. package/src/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.html +8 -0
  218. package/src/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.ts +10 -0
  219. package/src/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.html +56 -0
  220. package/src/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.ts +22 -0
  221. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.html +13 -0
  222. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.scss +4 -0
  223. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.ts +114 -0
  224. package/src/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.html +37 -0
  225. package/src/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.ts +133 -0
  226. package/src/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.html +10 -0
  227. package/src/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.ts +10 -0
  228. package/{lib/components/form/formly/fields/index.d.ts → src/lib/components/form/formly/fields/index.ts} +7 -7
  229. package/src/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.html +7 -0
  230. package/src/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.ts +13 -0
  231. package/src/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.html +6 -0
  232. package/src/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.ts +13 -0
  233. package/{lib/components/form/formly/wrappers/index.d.ts → src/lib/components/form/formly/wrappers/index.ts} +2 -2
  234. package/src/lib/components/form/index.ts +3 -0
  235. package/src/lib/components/form/models/form-editor.event.ts +7 -0
  236. package/src/lib/components/form/models/index.ts +1 -0
  237. package/src/lib/components/layout/breadcrumb.component.html +5 -0
  238. package/src/lib/components/layout/breadcrumb.component.ts +12 -0
  239. package/src/lib/components/layout/footer.component.html +7 -0
  240. package/src/lib/components/layout/footer.component.ts +15 -0
  241. package/src/lib/components/layout/index.ts +6 -0
  242. package/src/lib/components/layout/main-layout.component.html +26 -0
  243. package/src/lib/components/layout/main-layout.component.ts +54 -0
  244. package/src/lib/components/layout/menu-item.component.html +41 -0
  245. package/src/lib/components/layout/menu-item.component.ts +170 -0
  246. package/src/lib/components/layout/menu.component.html +27 -0
  247. package/src/lib/components/layout/menu.component.ts +17 -0
  248. package/src/lib/components/layout/services/index.ts +1 -0
  249. package/src/lib/components/layout/services/main-layout.component.service.ts +231 -0
  250. package/src/lib/components/layout/topbar.component.html +38 -0
  251. package/src/lib/components/layout/topbar.component.ts +62 -0
  252. package/{lib/components/tableview/index.d.ts → src/lib/components/tableview/index.ts} +5 -3
  253. package/src/lib/components/tableview/models/index.ts +1 -0
  254. package/src/lib/components/tableview/models/table.event.ts +22 -0
  255. package/src/lib/components/tableview/route/tableview-route.abstract.component.ts +31 -0
  256. package/src/lib/components/tableview/services/index.ts +1 -0
  257. package/src/lib/components/tableview/services/tableview.component.service.ts +22 -0
  258. package/src/lib/components/tableview/table/column-filter/column-filter.component.html +36 -0
  259. package/src/lib/components/tableview/table/column-filter/column-filter.component.ts +70 -0
  260. package/src/lib/components/tableview/table/column-value/column-value.component.html +14 -0
  261. package/src/lib/components/tableview/table/column-value/column-value.component.ts +19 -0
  262. package/src/lib/components/tableview/table/table.component.html +110 -0
  263. package/src/lib/components/tableview/table/table.component.ts +327 -0
  264. package/src/lib/components/tableview/tableview.component.html +37 -0
  265. package/src/lib/components/tableview/tableview.component.ts +78 -0
  266. package/src/lib/config/formly.config.ts +154 -0
  267. package/{lib/config/index.d.ts → src/lib/config/index.ts} +1 -1
  268. package/{lib/models/config/index.d.ts → src/lib/config/models/index.ts} +1 -1
  269. package/src/lib/config/models/mng-config.model.ts +35 -0
  270. package/src/lib/data-providers/base.data-provider.ts +42 -0
  271. package/src/lib/data-providers/editor.data-provider.ts +60 -0
  272. package/src/lib/data-providers/index.ts +5 -0
  273. package/src/lib/data-providers/lookup.data-provider.ts +29 -0
  274. package/src/lib/data-providers/table.data-provider.ts +8 -0
  275. package/src/lib/data-providers/tableview.data-provider.ts +29 -0
  276. package/src/lib/descriptors/action.descriptor.ts +439 -0
  277. package/src/lib/descriptors/editor.descriptor.ts +880 -0
  278. package/src/lib/descriptors/field.validator.ts +35 -0
  279. package/src/lib/descriptors/index.ts +7 -0
  280. package/src/lib/descriptors/lookup.descriptor.ts +20 -0
  281. package/src/lib/descriptors/model.descriptor.ts +47 -0
  282. package/src/lib/descriptors/table.descriptor.ts +514 -0
  283. package/src/lib/descriptors/tableview.descriptor.ts +180 -0
  284. package/src/lib/directives/component.directive.ts +18 -0
  285. package/src/lib/directives/index.ts +2 -0
  286. package/src/lib/directives/template.directive.ts +24 -0
  287. package/src/lib/mng-commons.module.ts +240 -0
  288. package/src/lib/models/index.ts +2 -0
  289. package/src/lib/models/router.model.ts +16 -0
  290. package/src/lib/models/user.model.ts +9 -0
  291. package/src/lib/pipes/boolean.pipe.ts +17 -0
  292. package/{lib/pipes/index.d.ts → src/lib/pipes/index.ts} +2 -1
  293. package/src/lib/pipes/property-path.pipe.ts +30 -0
  294. package/src/lib/services/action.service.ts +310 -0
  295. package/src/lib/services/commons.service.ts +407 -0
  296. package/src/lib/services/configuration.service.ts +98 -0
  297. package/{lib/services/index.d.ts → src/lib/services/index.ts} +4 -6
  298. package/src/lib/services/navigation.service.ts +42 -0
  299. package/src/lib/services/providers/commons-init.provider.ts +5 -0
  300. package/src/lib/services/providers/config-service.provider.ts +22 -0
  301. package/src/lib/services/providers/formly-config.provider.ts +39 -0
  302. package/{lib/services/providers/index.d.ts → src/lib/services/providers/index.ts} +3 -2
  303. package/src/lib/services/tokens/browser-storage.token.ts +9 -0
  304. package/src/lib/services/tokens/index.ts +2 -0
  305. package/src/lib/services/tokens/module-config.token.ts +5 -0
  306. package/{lib/models/types/index.d.ts → src/lib/types/index.ts} +2 -2
  307. package/src/lib/types/type.decorator.ts +7 -0
  308. package/src/lib/types/type.model.ts +12 -0
  309. package/src/lib/utils/editor-formly.util.ts +193 -0
  310. package/src/lib/utils/i18n.util.ts +148 -0
  311. package/{lib/utils/index.d.ts → src/lib/utils/index.ts} +5 -4
  312. package/src/lib/utils/model.util.ts +66 -0
  313. package/src/lib/utils/toast.util.ts +49 -0
  314. package/src/lib/utils/type.util.ts +44 -0
  315. package/{public-api.d.ts → src/public-api.ts} +42 -22
  316. package/src/test.ts +26 -0
  317. package/tsconfig.lib.json +15 -0
  318. package/tsconfig.lib.prod.json +10 -0
  319. package/tsconfig.spec.json +17 -0
  320. package/esm2020/lib/api/models/builders/query-param.builder.mjs +0 -49
  321. package/esm2020/lib/api/models/filter-match-type.model.mjs +0 -24
  322. package/esm2020/lib/api/models/filter-param.model.mjs +0 -46
  323. package/esm2020/lib/api/models/index.mjs +0 -9
  324. package/esm2020/lib/api/models/mappers.mjs +0 -17
  325. package/esm2020/lib/api/models/query-mode.model.mjs +0 -19
  326. package/esm2020/lib/api/models/query-param.model.mjs +0 -69
  327. package/esm2020/lib/api/models/query-result.model.mjs +0 -45
  328. package/esm2020/lib/api/models/serialization.model.mjs +0 -2
  329. package/esm2020/lib/api/services/abstract-crud-api.service.mjs +0 -72
  330. package/esm2020/lib/api/services/index.mjs +0 -2
  331. package/esm2020/lib/api/utils/index.mjs +0 -3
  332. package/esm2020/lib/api/utils/medius-rest.util.mjs +0 -70
  333. package/esm2020/lib/api/utils/object-serializer.util.mjs +0 -226
  334. package/esm2020/lib/components/action/action.component.mjs +0 -63
  335. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +0 -148
  336. package/esm2020/lib/components/action/index.mjs +0 -4
  337. package/esm2020/lib/components/action/route/action-route.component.mjs +0 -144
  338. package/esm2020/lib/components/form/editor/form-editor.component.mjs +0 -140
  339. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +0 -58
  340. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +0 -51
  341. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +0 -16
  342. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +0 -26
  343. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +0 -94
  344. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +0 -124
  345. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -17
  346. package/esm2020/lib/components/form/formly/fields/index.mjs +0 -8
  347. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +0 -17
  348. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +0 -16
  349. package/esm2020/lib/components/form/formly/wrappers/index.mjs +0 -3
  350. package/esm2020/lib/components/form/index.mjs +0 -2
  351. package/esm2020/lib/components/layout/app.breadcrumb.component.mjs +0 -27
  352. package/esm2020/lib/components/layout/app.footer.component.mjs +0 -35
  353. package/esm2020/lib/components/layout/app.main.component.mjs +0 -25
  354. package/esm2020/lib/components/layout/app.main.component.service.mjs +0 -133
  355. package/esm2020/lib/components/layout/app.menu.component.mjs +0 -38
  356. package/esm2020/lib/components/layout/app.menuitem.component.mjs +0 -243
  357. package/esm2020/lib/components/layout/app.topbar.component.mjs +0 -135
  358. package/esm2020/lib/components/layout/index.mjs +0 -7
  359. package/esm2020/lib/components/tableview/index.mjs +0 -4
  360. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +0 -31
  361. package/esm2020/lib/components/tableview/table/table.component.mjs +0 -173
  362. package/esm2020/lib/components/tableview/tableview.component.mjs +0 -82
  363. package/esm2020/lib/components/tableview/tableview.component.service.mjs +0 -18
  364. package/esm2020/lib/config/formly.config.mjs +0 -165
  365. package/esm2020/lib/config/index.mjs +0 -2
  366. package/esm2020/lib/directives/index.mjs +0 -2
  367. package/esm2020/lib/directives/template.directive.mjs +0 -25
  368. package/esm2020/lib/mng-commons.module.mjs +0 -338
  369. package/esm2020/lib/models/action/action.model.mjs +0 -58
  370. package/esm2020/lib/models/action/index.mjs +0 -2
  371. package/esm2020/lib/models/config/index.mjs +0 -2
  372. package/esm2020/lib/models/config/mng-config.model.mjs +0 -3
  373. package/esm2020/lib/models/descriptors/action-descriptor.model.mjs +0 -283
  374. package/esm2020/lib/models/descriptors/editor-descriptor.model.mjs +0 -647
  375. package/esm2020/lib/models/descriptors/index.mjs +0 -6
  376. package/esm2020/lib/models/descriptors/model-descriptor.model.mjs +0 -34
  377. package/esm2020/lib/models/descriptors/table-descriptor.model.mjs +0 -123
  378. package/esm2020/lib/models/descriptors/tableview-descriptor.model.mjs +0 -124
  379. package/esm2020/lib/models/events/editor-event.model.mjs +0 -14
  380. package/esm2020/lib/models/events/index.mjs +0 -3
  381. package/esm2020/lib/models/events/table-event.model.mjs +0 -16
  382. package/esm2020/lib/models/interfaces/confirmation-service.model.mjs +0 -2
  383. package/esm2020/lib/models/interfaces/index.mjs +0 -2
  384. package/esm2020/lib/models/providers/data-provider.model.mjs +0 -86
  385. package/esm2020/lib/models/providers/index.mjs +0 -2
  386. package/esm2020/lib/models/types/index.mjs +0 -3
  387. package/esm2020/lib/models/types/type.decorator.mjs +0 -8
  388. package/esm2020/lib/models/types/type.model.mjs +0 -2
  389. package/esm2020/lib/models/validators/field.validator.mjs +0 -21
  390. package/esm2020/lib/models/validators/index.mjs +0 -2
  391. package/esm2020/lib/pipes/index.mjs +0 -2
  392. package/esm2020/lib/pipes/property-path.pipe.mjs +0 -36
  393. package/esm2020/lib/services/action.service.mjs +0 -239
  394. package/esm2020/lib/services/breadcrumb.service.mjs +0 -21
  395. package/esm2020/lib/services/configuration.service.mjs +0 -77
  396. package/esm2020/lib/services/index.mjs +0 -7
  397. package/esm2020/lib/services/menu.service.mjs +0 -26
  398. package/esm2020/lib/services/navigation.service.mjs +0 -49
  399. package/esm2020/lib/services/providers/config-service.provider.mjs +0 -12
  400. package/esm2020/lib/services/providers/formly-config.provider.mjs +0 -31
  401. package/esm2020/lib/services/providers/index.mjs +0 -3
  402. package/esm2020/lib/services/settings.service.mjs +0 -40
  403. package/esm2020/lib/utils/editor-formly.util.mjs +0 -165
  404. package/esm2020/lib/utils/i18n.util.mjs +0 -75
  405. package/esm2020/lib/utils/index.mjs +0 -5
  406. package/esm2020/lib/utils/model.util.mjs +0 -38
  407. package/esm2020/lib/utils/type.util.mjs +0 -43
  408. package/esm2020/mediusinc-mng-commons.mjs +0 -5
  409. package/esm2020/public-api.mjs +0 -33
  410. package/fesm2015/mediusinc-mng-commons.mjs +0 -5056
  411. package/fesm2015/mediusinc-mng-commons.mjs.map +0 -1
  412. package/fesm2020/mediusinc-mng-commons.mjs +0 -5012
  413. package/fesm2020/mediusinc-mng-commons.mjs.map +0 -1
  414. package/lib/api/models/builders/query-param.builder.d.ts +0 -11
  415. package/lib/api/models/filter-match-type.model.d.ts +0 -21
  416. package/lib/api/models/filter-param.model.d.ts +0 -23
  417. package/lib/api/models/mappers.d.ts +0 -6
  418. package/lib/api/models/query-param.model.d.ts +0 -31
  419. package/lib/api/models/query-result.model.d.ts +0 -36
  420. package/lib/api/services/abstract-crud-api.service.d.ts +0 -23
  421. package/lib/api/services/index.d.ts +0 -1
  422. package/lib/api/utils/medius-rest.util.d.ts +0 -6
  423. package/lib/api/utils/object-serializer.util.d.ts +0 -30
  424. package/lib/components/action/action.component.d.ts +0 -36
  425. package/lib/components/action/dialog/action-dialog.component.d.ts +0 -48
  426. package/lib/components/action/route/action-route.component.d.ts +0 -32
  427. package/lib/components/form/editor/form-editor.component.d.ts +0 -37
  428. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +0 -21
  429. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +0 -19
  430. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +0 -6
  431. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +0 -12
  432. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +0 -17
  433. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +0 -36
  434. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +0 -6
  435. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +0 -8
  436. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +0 -8
  437. package/lib/components/form/index.d.ts +0 -1
  438. package/lib/components/layout/app.breadcrumb.component.d.ts +0 -16
  439. package/lib/components/layout/app.footer.component.d.ts +0 -8
  440. package/lib/components/layout/app.main.component.d.ts +0 -12
  441. package/lib/components/layout/app.main.component.service.d.ts +0 -40
  442. package/lib/components/layout/app.menu.component.d.ts +0 -14
  443. package/lib/components/layout/app.menuitem.component.d.ts +0 -31
  444. package/lib/components/layout/app.topbar.component.d.ts +0 -16
  445. package/lib/components/layout/index.d.ts +0 -6
  446. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +0 -15
  447. package/lib/components/tableview/table/table.component.d.ts +0 -47
  448. package/lib/components/tableview/tableview.component.d.ts +0 -36
  449. package/lib/components/tableview/tableview.component.service.d.ts +0 -11
  450. package/lib/config/formly.config.d.ts +0 -8
  451. package/lib/directives/index.d.ts +0 -1
  452. package/lib/directives/template.directive.d.ts +0 -11
  453. package/lib/mng-commons.module.d.ts +0 -74
  454. package/lib/models/action/action.model.d.ts +0 -53
  455. package/lib/models/action/index.d.ts +0 -1
  456. package/lib/models/config/mng-config.model.d.ts +0 -19
  457. package/lib/models/descriptors/action-descriptor.model.d.ts +0 -124
  458. package/lib/models/descriptors/editor-descriptor.model.d.ts +0 -248
  459. package/lib/models/descriptors/index.d.ts +0 -5
  460. package/lib/models/descriptors/model-descriptor.model.d.ts +0 -15
  461. package/lib/models/descriptors/table-descriptor.model.d.ts +0 -45
  462. package/lib/models/descriptors/tableview-descriptor.model.d.ts +0 -38
  463. package/lib/models/events/editor-event.model.d.ts +0 -11
  464. package/lib/models/events/index.d.ts +0 -2
  465. package/lib/models/events/table-event.model.d.ts +0 -17
  466. package/lib/models/interfaces/confirmation-service.model.d.ts +0 -6
  467. package/lib/models/interfaces/index.d.ts +0 -1
  468. package/lib/models/providers/data-provider.model.d.ts +0 -62
  469. package/lib/models/providers/index.d.ts +0 -1
  470. package/lib/models/types/type.decorator.d.ts +0 -2
  471. package/lib/models/types/type.model.d.ts +0 -10
  472. package/lib/models/validators/field.validator.d.ts +0 -18
  473. package/lib/models/validators/index.d.ts +0 -1
  474. package/lib/pipes/property-path.pipe.d.ts +0 -7
  475. package/lib/services/action.service.d.ts +0 -92
  476. package/lib/services/breadcrumb.service.d.ts +0 -9
  477. package/lib/services/configuration.service.d.ts +0 -35
  478. package/lib/services/menu.service.d.ts +0 -11
  479. package/lib/services/navigation.service.d.ts +0 -14
  480. package/lib/services/providers/config-service.provider.d.ts +0 -5
  481. package/lib/services/providers/formly-config.provider.d.ts +0 -4
  482. package/lib/services/settings.service.d.ts +0 -18
  483. package/lib/utils/editor-formly.util.d.ts +0 -9
  484. package/lib/utils/i18n.util.d.ts +0 -14
  485. package/lib/utils/model.util.d.ts +0 -5
  486. package/lib/utils/type.util.d.ts +0 -15
  487. package/mediusinc-mng-commons-0.0.1-rc.3.tgz +0 -0
  488. package/mediusinc-mng-commons.d.ts +0 -5
@@ -1,165 +0,0 @@
1
- import { FormlyFieldWrapperComponent, FormlyTableWrapperComponent } from '../components/form/formly/wrappers';
2
- import { FormlyFieldAutocompleteComponent, FormlyFieldDropdownComponent, FormlyFieldFieldsetComponent, FormlyFieldInputComponent, FormlyFieldTableDialogFormComponent, FormlyFieldTableDialogMultiselectComponent, FormlyFieldTabsComponent } from '../components/form/formly/fields';
3
- export const formlyWrappersConfig = [
4
- { name: 'field', component: FormlyFieldWrapperComponent },
5
- { name: 'field-table', component: FormlyTableWrapperComponent }
6
- ];
7
- export const formlyTypesConfig = [
8
- {
9
- name: 'input',
10
- component: FormlyFieldInputComponent,
11
- wrappers: ['field'],
12
- },
13
- { name: 'string', extends: 'input' },
14
- {
15
- name: 'number',
16
- extends: 'input',
17
- defaultOptions: {
18
- templateOptions: {
19
- type: 'number',
20
- },
21
- },
22
- },
23
- {
24
- name: 'integer',
25
- extends: 'input',
26
- defaultOptions: {
27
- templateOptions: {
28
- type: 'number',
29
- },
30
- },
31
- },
32
- {
33
- name: 'textarea',
34
- extends: 'input',
35
- defaultOptions: {
36
- templateOptions: {
37
- type: 'textarea',
38
- },
39
- },
40
- },
41
- {
42
- name: 'switch',
43
- component: FormlyFieldInputComponent,
44
- defaultOptions: {
45
- templateOptions: {
46
- type: 'switch',
47
- },
48
- },
49
- },
50
- {
51
- name: 'radio',
52
- extends: 'input',
53
- defaultOptions: {
54
- templateOptions: {
55
- type: 'radio',
56
- },
57
- },
58
- },
59
- {
60
- name: 'datepicker',
61
- extends: 'input',
62
- defaultOptions: {
63
- templateOptions: {
64
- type: 'datepicker',
65
- },
66
- },
67
- },
68
- {
69
- name: 'dropdown',
70
- component: FormlyFieldDropdownComponent,
71
- wrappers: ['field'],
72
- },
73
- { name: 'enum', extends: 'dropdown' },
74
- {
75
- name: 'autocomplete',
76
- component: FormlyFieldAutocompleteComponent,
77
- wrappers: ['field']
78
- },
79
- {
80
- name: 'table-dialog-multiselect',
81
- component: FormlyFieldTableDialogMultiselectComponent,
82
- wrappers: ['field-table']
83
- },
84
- {
85
- name: 'table-dialog-form',
86
- component: FormlyFieldTableDialogFormComponent,
87
- wrappers: ['field-table']
88
- },
89
- {
90
- name: 'tabs',
91
- component: FormlyFieldTabsComponent,
92
- wrappers: []
93
- },
94
- {
95
- name: 'fieldset',
96
- component: FormlyFieldFieldsetComponent,
97
- wrappers: []
98
- }
99
- ];
100
- // function getRequiredValidationMessage(translate: TranslateService): (error: any, field: FormlyFieldConfig) => Observable<string> {
101
- // return (error: any, field: FormlyFieldConfig) =>
102
- // translate.get(field.templateOptions.label).pipe(mergeMap(value =>
103
- // translate.get('formValidation.required', {field: value})
104
- // ));
105
- // }
106
- function getRequiredValidationMessage(translate) {
107
- return (error, field) => {
108
- const fieldName = translate.instant(field.templateOptions?.label ?? '');
109
- return translate.instant('mngEditor.validation.required', { fieldName: fieldName });
110
- };
111
- }
112
- // function getMinValueValidatonMessage(translate: TranslateService): (error: any, field: FormlyFieldConfig) => Observable<string> | undefined {
113
- // return (error: any, field: FormlyFieldConfig) => {
114
- // if (field.templateOptions.min !== undefined) {
115
- // if (field.formControl.value < field.templateOptions.min) {
116
- // return translate.get(field.templateOptions.label).pipe(mergeMap(value =>
117
- // translate.get('formValidation.minValue', {field: value, min: field.templateOptions.min})
118
- // ));
119
- // }
120
- // }
121
- //
122
- // return undefined;
123
- // };
124
- // }
125
- function getMinValidatonMessage(translate) {
126
- return (error, field) => {
127
- const fieldName = translate.instant(field.templateOptions?.label ?? '');
128
- return translate.instant('mngEditor.validation.min', { fieldName: fieldName, min: fieldName.templateOptions?.min });
129
- };
130
- }
131
- // function getMaxValueValidatonMessage(translate: TranslateService): (error: any, field: FormlyFieldConfig) => Observable<string> | undefined {
132
- // return (error: any, field: FormlyFieldConfig) => {
133
- // if (field.templateOptions?.max) {
134
- // if (field.formControl.value > field.templateOptions?.max) {
135
- // return translate.get(field.templateOptions?.label).pipe(mergeMap(value =>
136
- // translate.get('formValidation.maxValue', {field: value, max: field.templateOptions?.max})
137
- // ));
138
- // }
139
- // }
140
- //
141
- // return undefined;
142
- // };
143
- // }
144
- function getMaxValidatonMessage(translate) {
145
- return (error, field) => {
146
- const fieldName = translate.instant(field.templateOptions?.label ?? '');
147
- return translate.instant('mngEditor.validation.max', { fieldName: fieldName, min: fieldName.templateOptions?.max });
148
- };
149
- }
150
- // TODO: remove
151
- // function serviceCostAllOrNoneFieldsRequiredValidatorMessage(translate: TranslateService): (error: any, field: FormlyFieldConfig) => Observable<string> {
152
- // return(error: any, field: FormlyFieldConfig) =>
153
- // translate.get('ServiceChannelDto.name').pipe(mergeMap(value =>
154
- // translate.get('formValidation.serviceForm.allOrNothing', {serviceCost: value})
155
- // ));
156
- // }
157
- export const getFormlyValidationMessages = (translate) => {
158
- return [
159
- { name: 'required', message: getRequiredValidationMessage(translate) },
160
- { name: 'min', message: getMinValidatonMessage(translate) },
161
- { name: 'max', message: getMaxValidatonMessage(translate) },
162
- // { name: 'serviceCostAllOrNoneFieldsRequired', message: serviceCostAllOrNoneFieldsRequiredValidatorMessage(translate)}
163
- ];
164
- };
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29uZmlnL2Zvcm1seS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLDJCQUEyQixFQUFFLDJCQUEyQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDNUcsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QixtQ0FBbUMsRUFDbkMsMENBQTBDLEVBQzFDLHdCQUF3QixFQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBSTFDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsMkJBQTJCLEVBQUU7SUFDekQsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRTtDQUNsRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQVU7SUFDcEM7UUFDSSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSx5QkFBeUI7UUFDcEMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ3RCO0lBQ0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7SUFDcEM7UUFDSSxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRTtZQUNaLGVBQWUsRUFBRTtnQkFDYixJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLE9BQU87UUFDaEIsY0FBYyxFQUFFO1lBQ1osZUFBZSxFQUFFO2dCQUNiLElBQUksRUFBRSxRQUFRO2FBQ2pCO1NBQ0o7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsY0FBYyxFQUFFO1lBQ1osZUFBZSxFQUFFO2dCQUNiLElBQUksRUFBRSxVQUFVO2FBQ25CO1NBQ0o7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFFBQVE7UUFDZCxTQUFTLEVBQUUseUJBQXlCO1FBQ3BDLGNBQWMsRUFBRTtZQUNaLGVBQWUsRUFBRTtnQkFDYixJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxPQUFPO1FBQ2IsT0FBTyxFQUFFLE9BQU87UUFDaEIsY0FBYyxFQUFFO1lBQ1osZUFBZSxFQUFFO2dCQUNiLElBQUksRUFBRSxPQUFPO2FBQ2hCO1NBQ0o7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsY0FBYyxFQUFFO1lBQ1osZUFBZSxFQUFFO2dCQUNiLElBQUksRUFBRSxZQUFZO2FBQ3JCO1NBQ0o7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLDRCQUE0QjtRQUN2QyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUM7S0FDdEI7SUFDRCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtJQUNyQztRQUNJLElBQUksRUFBRSxjQUFjO1FBQ3BCLFNBQVMsRUFBRSxnQ0FBZ0M7UUFDM0MsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ3RCO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsMEJBQTBCO1FBQ2hDLFNBQVMsRUFBRSwwQ0FBMEM7UUFDckQsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDO0tBQzVCO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFNBQVMsRUFBRSxtQ0FBbUM7UUFDOUMsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDO0tBQzVCO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsUUFBUSxFQUFFLEVBQUU7S0FDZjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLDRCQUE0QjtRQUN2QyxRQUFRLEVBQUUsRUFBRTtLQUNmO0NBQ0osQ0FBQztBQUVGLHFJQUFxSTtBQUNySSx1REFBdUQ7QUFDdkQsNEVBQTRFO0FBQzVFLHVFQUF1RTtBQUN2RSxjQUFjO0FBQ2QsSUFBSTtBQUNKLFNBQVMsNEJBQTRCLENBQUMsU0FBMkI7SUFDN0QsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUF3QixFQUFFLEVBQUU7UUFDNUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDLENBQUE7QUFDTCxDQUFDO0FBRUQsZ0pBQWdKO0FBQ2hKLHlEQUF5RDtBQUN6RCx5REFBeUQ7QUFDekQseUVBQXlFO0FBQ3pFLDJGQUEyRjtBQUMzRiwrR0FBK0c7QUFDL0csc0JBQXNCO0FBQ3RCLGdCQUFnQjtBQUNoQixZQUFZO0FBQ1osRUFBRTtBQUNGLDRCQUE0QjtBQUM1QixTQUFTO0FBQ1QsSUFBSTtBQUNKLFNBQVMsc0JBQXNCLENBQUMsU0FBMkI7SUFDdkQsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUF3QixFQUFFLEVBQUU7UUFDNUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEgsQ0FBQyxDQUFBO0FBQ0wsQ0FBQztBQUVELGdKQUFnSjtBQUNoSix5REFBeUQ7QUFDekQsNENBQTRDO0FBQzVDLDBFQUEwRTtBQUMxRSw0RkFBNEY7QUFDNUYsZ0hBQWdIO0FBQ2hILHNCQUFzQjtBQUN0QixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLEVBQUU7QUFDRiw0QkFBNEI7QUFDNUIsU0FBUztBQUNULElBQUk7QUFDSixTQUFTLHNCQUFzQixDQUFDLFNBQTJCO0lBQ3ZELE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBd0IsRUFBRSxFQUFFO1FBQzVDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hILENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFRCxlQUFlO0FBQ2YsMkpBQTJKO0FBQzNKLHNEQUFzRDtBQUN0RCx5RUFBeUU7QUFDekUsNkZBQTZGO0FBQzdGLGNBQWM7QUFDZCxJQUFJO0FBRUosTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxTQUEyQixFQUFTLEVBQUU7SUFDOUUsT0FBTztRQUNILEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLENBQUMsU0FBUyxDQUFDLEVBQUM7UUFDckUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsRUFBQztRQUMxRCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxFQUFDO1FBQzFELHdIQUF3SDtLQUMzSCxDQUFDO0FBQ04sQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGb3JtbHlGaWVsZFdyYXBwZXJDb21wb25lbnQsIEZvcm1seVRhYmxlV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtL2Zvcm1seS93cmFwcGVycyc7XG5pbXBvcnQge1xuICAgIEZvcm1seUZpZWxkQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEZvcm1seUZpZWxkRHJvcGRvd25Db21wb25lbnQsXG4gICAgRm9ybWx5RmllbGRGaWVsZHNldENvbXBvbmVudCxcbiAgICBGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50LFxuICAgIEZvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LFxuICAgIEZvcm1seUZpZWxkVGFibGVEaWFsb2dNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBGb3JtbHlGaWVsZFRhYnNDb21wb25lbnRcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtL2Zvcm1seS9maWVsZHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Rm9ybWx5RmllbGRDb25maWd9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5leHBvcnQgY29uc3QgZm9ybWx5V3JhcHBlcnNDb25maWcgPSBbXG4gICAgeyBuYW1lOiAnZmllbGQnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudCB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkLXRhYmxlJywgY29tcG9uZW50OiBGb3JtbHlUYWJsZVdyYXBwZXJDb21wb25lbnQgfVxuXTtcblxuZXhwb3J0IGNvbnN0IGZvcm1seVR5cGVzQ29uZmlnOiBhbnlbXSA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICdpbnB1dCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXSxcbiAgICB9LFxuICAgIHsgbmFtZTogJ3N0cmluZycsIGV4dGVuZHM6ICdpbnB1dCcgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdudW1iZXInLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnaW50ZWdlcicsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0YXJlYScsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3N3aXRjaCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3JhZGlvJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdyYWRpbycsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZGF0ZXBpY2tlcicsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZGF0ZXBpY2tlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZHJvcGRvd24nLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ10sXG4gICAgfSxcbiAgICB7IG5hbWU6ICdlbnVtJywgZXh0ZW5kczogJ2Ryb3Bkb3duJyB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2F1dG9jb21wbGV0ZScsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRUYWJsZURpYWxvZ011bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZC10YWJsZSddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0YWJsZS1kaWFsb2ctZm9ybScsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkLXRhYmxlJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RhYnMnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkVGFic0NvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdmaWVsZHNldCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFtdXG4gICAgfVxuXTtcblxuLy8gZnVuY3Rpb24gZ2V0UmVxdWlyZWRWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuLy8gICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PlxuLy8gICAgICAgICB0cmFuc2xhdGUuZ2V0KGZpZWxkLnRlbXBsYXRlT3B0aW9ucy5sYWJlbCkucGlwZShtZXJnZU1hcCh2YWx1ZSA9PlxuLy8gICAgICAgICAgICAgdHJhbnNsYXRlLmdldCgnZm9ybVZhbGlkYXRpb24ucmVxdWlyZWQnLCB7ZmllbGQ6IHZhbHVlfSlcbi8vICAgICAgICAgKSk7XG4vLyB9XG5mdW5jdGlvbiBnZXRSZXF1aXJlZFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IHN0cmluZyB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGQudGVtcGxhdGVPcHRpb25zPy5sYWJlbCA/PyAnJyk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ucmVxdWlyZWQnLCB7IGZpZWxkTmFtZTogZmllbGROYW1lIH0pO1xuICAgIH1cbn1cblxuLy8gZnVuY3Rpb24gZ2V0TWluVmFsdWVWYWxpZGF0b25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4vLyAgICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IHtcbi8vICAgICAgICAgaWYgKGZpZWxkLnRlbXBsYXRlT3B0aW9ucy5taW4gIT09IHVuZGVmaW5lZCkge1xuLy8gICAgICAgICAgICAgaWYgKGZpZWxkLmZvcm1Db250cm9sLnZhbHVlIDwgZmllbGQudGVtcGxhdGVPcHRpb25zLm1pbikge1xuLy8gICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuZ2V0KGZpZWxkLnRlbXBsYXRlT3B0aW9ucy5sYWJlbCkucGlwZShtZXJnZU1hcCh2YWx1ZSA9PlxuLy8gICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGUuZ2V0KCdmb3JtVmFsaWRhdGlvbi5taW5WYWx1ZScsIHtmaWVsZDogdmFsdWUsIG1pbjogZmllbGQudGVtcGxhdGVPcHRpb25zLm1pbn0pXG4vLyAgICAgICAgICAgICAgICAgKSk7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4vLyAgICAgfTtcbi8vIH1cbmZ1bmN0aW9uIGdldE1pblZhbGlkYXRvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmxhYmVsID8/ICcnKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5taW4nLCB7IGZpZWxkTmFtZTogZmllbGROYW1lLCBtaW46IGZpZWxkTmFtZS50ZW1wbGF0ZU9wdGlvbnM/Lm1pbiB9KTtcbiAgICB9XG59XG5cbi8vIGZ1bmN0aW9uIGdldE1heFZhbHVlVmFsaWRhdG9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuLy8gICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4vLyAgICAgICAgIGlmIChmaWVsZC50ZW1wbGF0ZU9wdGlvbnM/Lm1heCkge1xuLy8gICAgICAgICAgICAgaWYgKGZpZWxkLmZvcm1Db250cm9sLnZhbHVlID4gZmllbGQudGVtcGxhdGVPcHRpb25zPy5tYXgpIHtcbi8vICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmdldChmaWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmxhYmVsKS5waXBlKG1lcmdlTWFwKHZhbHVlID0+XG4vLyAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZS5nZXQoJ2Zvcm1WYWxpZGF0aW9uLm1heFZhbHVlJywge2ZpZWxkOiB2YWx1ZSwgbWF4OiBmaWVsZC50ZW1wbGF0ZU9wdGlvbnM/Lm1heH0pXG4vLyAgICAgICAgICAgICAgICAgKSk7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4vLyAgICAgfTtcbi8vIH1cbmZ1bmN0aW9uIGdldE1heFZhbGlkYXRvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmxhYmVsID8/ICcnKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXgnLCB7IGZpZWxkTmFtZTogZmllbGROYW1lLCBtaW46IGZpZWxkTmFtZS50ZW1wbGF0ZU9wdGlvbnM/Lm1heCB9KTtcbiAgICB9XG59XG5cbi8vIFRPRE86IHJlbW92ZVxuLy8gZnVuY3Rpb24gc2VydmljZUNvc3RBbGxPck5vbmVGaWVsZHNSZXF1aXJlZFZhbGlkYXRvck1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbi8vICAgICByZXR1cm4oZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PlxuLy8gICAgICAgICB0cmFuc2xhdGUuZ2V0KCdTZXJ2aWNlQ2hhbm5lbER0by5uYW1lJykucGlwZShtZXJnZU1hcCh2YWx1ZSA9PlxuLy8gICAgICAgICAgICAgdHJhbnNsYXRlLmdldCgnZm9ybVZhbGlkYXRpb24uc2VydmljZUZvcm0uYWxsT3JOb3RoaW5nJywge3NlcnZpY2VDb3N0OiB2YWx1ZX0pXG4vLyAgICAgICAgICkpO1xuLy8gfVxuXG5leHBvcnQgY29uc3QgZ2V0Rm9ybWx5VmFsaWRhdGlvbk1lc3NhZ2VzID0gKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IGFueVtdID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7IG5hbWU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6IGdldFJlcXVpcmVkVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHsgbmFtZTogJ21pbicsIG1lc3NhZ2U6IGdldE1pblZhbGlkYXRvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHsgbmFtZTogJ21heCcsIG1lc3NhZ2U6IGdldE1heFZhbGlkYXRvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIC8vIHsgbmFtZTogJ3NlcnZpY2VDb3N0QWxsT3JOb25lRmllbGRzUmVxdWlyZWQnLCBtZXNzYWdlOiBzZXJ2aWNlQ29zdEFsbE9yTm9uZUZpZWxkc1JlcXVpcmVkVmFsaWRhdG9yTWVzc2FnZSh0cmFuc2xhdGUpfVxuICAgIF07XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './formly.config';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtbHkuY29uZmlnJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './template.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGVtcGxhdGUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TemplateDirective {
4
- constructor(template) {
5
- this.template = template;
6
- }
7
- getType() {
8
- return this.name;
9
- }
10
- }
11
- TemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
12
- TemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: TemplateDirective, selector: "[mngTemplate]", inputs: { type: "type", name: ["mngTemplate", "name"] }, ngImport: i0 });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TemplateDirective, decorators: [{
14
- type: Directive,
15
- args: [{
16
- selector: '[mngTemplate]',
17
- host: {}
18
- }]
19
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { type: [{
20
- type: Input
21
- }], name: [{
22
- type: Input,
23
- args: ['mngTemplate']
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9kaXJlY3RpdmVzL3RlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQixZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFHLENBQUM7SUFFakQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDOzs4R0FUUSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUUsRUFBRTtpQkFDWDtrR0FHWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ2dCLElBQUk7c0JBQXpCLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1ttbmdUZW1wbGF0ZV0nLFxuICAgIGhvc3Q6IHt9XG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlRGlyZWN0aXZlIHtcblxuICAgIEBJbnB1dCgpIHR5cGUhOiBzdHJpbmc7XG4gICAgQElucHV0KCdtbmdUZW1wbGF0ZScpIG5hbWUhOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG5cbiAgICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWU7XG4gICAgfVxufVxuIl19
@@ -1,338 +0,0 @@
1
- import { APP_INITIALIZER, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- import { RouterModule } from '@angular/router';
5
- import { HttpClient, HttpClientModule } from '@angular/common/http';
6
- import { FORMLY_CONFIG, FormlyModule } from '@ngx-formly/core';
7
- import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
8
- // primeng modules
9
- import { ConfirmationService, MessageService } from 'primeng/api';
10
- import { AutoCompleteModule } from 'primeng/autocomplete';
11
- import { BreadcrumbModule } from 'primeng/breadcrumb';
12
- import { ButtonModule } from 'primeng/button';
13
- import { CardModule } from 'primeng/card';
14
- import { CheckboxModule } from 'primeng/checkbox';
15
- import { ChipModule } from 'primeng/chip';
16
- import { ConfirmDialogModule } from 'primeng/confirmdialog';
17
- import { ConfirmPopupModule } from 'primeng/confirmpopup';
18
- import { DialogModule } from 'primeng/dialog';
19
- import { DialogService, DynamicDialogModule } from 'primeng/dynamicdialog';
20
- import { DropdownModule } from 'primeng/dropdown';
21
- import { InputNumberModule } from 'primeng/inputnumber';
22
- import { InputMaskModule } from 'primeng/inputmask';
23
- import { InputSwitchModule } from 'primeng/inputswitch';
24
- import { InputTextModule } from 'primeng/inputtext';
25
- import { InputTextareaModule } from 'primeng/inputtextarea';
26
- import { PaginatorModule } from 'primeng/paginator';
27
- import { RadioButtonModule } from 'primeng/radiobutton';
28
- import { RippleModule } from 'primeng/ripple';
29
- import { SelectButtonModule } from 'primeng/selectbutton';
30
- import { TableModule } from 'primeng/table';
31
- import { TagModule } from 'primeng/tag';
32
- import { ToastModule } from 'primeng/toast';
33
- import { ToggleButtonModule } from 'primeng/togglebutton';
34
- import { ToolbarModule } from 'primeng/toolbar';
35
- import { TooltipModule } from 'primeng/tooltip';
36
- import { MessagesModule } from 'primeng/messages';
37
- import { ProgressSpinnerModule } from 'primeng/progressspinner';
38
- import { TabViewModule } from 'primeng/tabview';
39
- import { FieldsetModule } from 'primeng/fieldset';
40
- import { CalendarModule } from 'primeng/calendar';
41
- // directives
42
- import { TemplateDirective } from './directives/template.directive';
43
- // pipes
44
- import { PropertyPathPipe } from './pipes/property-path.pipe';
45
- // layout components
46
- import { AppBreadcrumbComponent, AppFooterComponent, AppMainComponent, AppMenuComponent, AppMenuitemComponent, AppTopbarComponent } from './components/layout';
47
- // formly components
48
- import { FormlyFieldWrapperComponent, FormlyTableWrapperComponent } from './components/form/formly/wrappers';
49
- import { FormlyFieldAutocompleteComponent, FormlyFieldDropdownComponent, FormlyFieldFieldsetComponent, FormlyFieldInputComponent, FormlyFieldTableDialogFormComponent, FormlyFieldTableDialogMultiselectComponent, FormlyFieldTabsComponent } from './components/form/formly/fields';
50
- // table components
51
- import { TableComponent, TableviewComponent } from './components/tableview';
52
- // editor components
53
- import { FormEditorComponent } from './components/form';
54
- import { ActionComponent, ActionDialogComponent, ActionRouteComponent } from './components/action';
55
- // services
56
- import { ObjectSerializer } from './api/utils';
57
- import { ActionService, AppBreadcrumbService, AppSettingsService, ConfigurationService, MenuService, NavigationService } from './services';
58
- import { configJsonAppInitializerProvider, configurationServiceProvider, formlyConfigProvider } from './services/providers';
59
- // component services
60
- import { TableviewComponentService } from './components/tableview/tableview.component.service';
61
- import { AppMainComponentService } from './components/layout/app.main.component.service';
62
- // module config
63
- import { MNG_MODULE_CONFIG_IT } from './models/config';
64
- import { TranslateHttpLoader } from '@ngx-translate/http-loader';
65
- import * as i0 from "@angular/core";
66
- import * as i1 from "@ngx-translate/core";
67
- import * as i2 from "@ngx-formly/core";
68
- // primeng modules
69
- export const primeNgModules = [
70
- AutoCompleteModule,
71
- BreadcrumbModule,
72
- ButtonModule,
73
- CalendarModule,
74
- CardModule,
75
- CheckboxModule,
76
- ChipModule,
77
- ConfirmDialogModule,
78
- ConfirmPopupModule,
79
- DialogModule,
80
- DynamicDialogModule,
81
- DropdownModule,
82
- InputNumberModule,
83
- InputMaskModule,
84
- InputSwitchModule,
85
- InputTextModule,
86
- InputTextareaModule,
87
- PaginatorModule,
88
- RadioButtonModule,
89
- RippleModule,
90
- SelectButtonModule,
91
- TableModule,
92
- TagModule,
93
- ToastModule,
94
- ToggleButtonModule,
95
- ToolbarModule,
96
- TooltipModule,
97
- MessagesModule,
98
- ProgressSpinnerModule,
99
- TabViewModule,
100
- FieldsetModule
101
- ];
102
- const declarations = [
103
- // directives
104
- TemplateDirective,
105
- // pipes
106
- PropertyPathPipe,
107
- // layout components
108
- AppBreadcrumbComponent,
109
- AppFooterComponent,
110
- AppMainComponent,
111
- AppMenuComponent,
112
- AppMenuitemComponent,
113
- AppTopbarComponent,
114
- // formly wrappers
115
- FormlyFieldWrapperComponent,
116
- FormlyTableWrapperComponent,
117
- // formly fields
118
- FormlyFieldInputComponent,
119
- FormlyFieldDropdownComponent,
120
- FormlyFieldAutocompleteComponent,
121
- FormlyFieldTableDialogMultiselectComponent,
122
- FormlyFieldTableDialogFormComponent,
123
- FormlyFieldTabsComponent,
124
- FormlyFieldFieldsetComponent,
125
- // table components
126
- TableComponent,
127
- TableviewComponent,
128
- // editor components
129
- FormEditorComponent,
130
- ActionComponent,
131
- ActionDialogComponent,
132
- ActionRouteComponent
133
- ];
134
- export function HttpLoaderFactory(http) {
135
- return new TranslateHttpLoader(http);
136
- }
137
- export class MngCommonsModule {
138
- static forRoot(config) {
139
- return {
140
- ngModule: MngCommonsModule,
141
- providers: [
142
- // primeng services
143
- DialogService,
144
- MessageService,
145
- ConfirmationService,
146
- ActionService,
147
- NavigationService,
148
- AppSettingsService,
149
- AppBreadcrumbService,
150
- MenuService,
151
- // component service
152
- AppMainComponentService,
153
- TableviewComponentService,
154
- {
155
- provide: MNG_MODULE_CONFIG_IT,
156
- useValue: config
157
- },
158
- {
159
- provide: ObjectSerializer,
160
- useFactory: () => ObjectSerializer.get()
161
- },
162
- {
163
- provide: ConfigurationService,
164
- useFactory: configurationServiceProvider,
165
- deps: [HttpClient, MNG_MODULE_CONFIG_IT]
166
- },
167
- {
168
- provide: APP_INITIALIZER,
169
- useFactory: configJsonAppInitializerProvider,
170
- deps: [ConfigurationService, MNG_MODULE_CONFIG_IT],
171
- multi: true
172
- },
173
- {
174
- provide: FORMLY_CONFIG,
175
- multi: true,
176
- useFactory: formlyConfigProvider,
177
- deps: [TranslateService, MNG_MODULE_CONFIG_IT]
178
- }
179
- ]
180
- };
181
- }
182
- }
183
- MngCommonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
184
- MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, declarations: [
185
- // directives
186
- TemplateDirective,
187
- // pipes
188
- PropertyPathPipe,
189
- // layout components
190
- AppBreadcrumbComponent,
191
- AppFooterComponent,
192
- AppMainComponent,
193
- AppMenuComponent,
194
- AppMenuitemComponent,
195
- AppTopbarComponent,
196
- // formly wrappers
197
- FormlyFieldWrapperComponent,
198
- FormlyTableWrapperComponent,
199
- // formly fields
200
- FormlyFieldInputComponent,
201
- FormlyFieldDropdownComponent,
202
- FormlyFieldAutocompleteComponent,
203
- FormlyFieldTableDialogMultiselectComponent,
204
- FormlyFieldTableDialogFormComponent,
205
- FormlyFieldTabsComponent,
206
- FormlyFieldFieldsetComponent,
207
- // table components
208
- TableComponent,
209
- TableviewComponent,
210
- // editor components
211
- FormEditorComponent,
212
- ActionComponent,
213
- ActionDialogComponent,
214
- ActionRouteComponent], imports: [
215
- // angular modules
216
- CommonModule,
217
- RouterModule,
218
- HttpClientModule,
219
- ReactiveFormsModule, i1.TranslateModule, i2.FormlyModule, AutoCompleteModule,
220
- BreadcrumbModule,
221
- ButtonModule,
222
- CalendarModule,
223
- CardModule,
224
- CheckboxModule,
225
- ChipModule,
226
- ConfirmDialogModule,
227
- ConfirmPopupModule,
228
- DialogModule,
229
- DynamicDialogModule,
230
- DropdownModule,
231
- InputNumberModule,
232
- InputMaskModule,
233
- InputSwitchModule,
234
- InputTextModule,
235
- InputTextareaModule,
236
- PaginatorModule,
237
- RadioButtonModule,
238
- RippleModule,
239
- SelectButtonModule,
240
- TableModule,
241
- TagModule,
242
- ToastModule,
243
- ToggleButtonModule,
244
- ToolbarModule,
245
- TooltipModule,
246
- MessagesModule,
247
- ProgressSpinnerModule,
248
- TabViewModule,
249
- FieldsetModule], exports: [
250
- // directives
251
- TemplateDirective,
252
- // pipes
253
- PropertyPathPipe,
254
- // layout components
255
- AppBreadcrumbComponent,
256
- AppFooterComponent,
257
- AppMainComponent,
258
- AppMenuComponent,
259
- AppMenuitemComponent,
260
- AppTopbarComponent,
261
- // formly wrappers
262
- FormlyFieldWrapperComponent,
263
- FormlyTableWrapperComponent,
264
- // formly fields
265
- FormlyFieldInputComponent,
266
- FormlyFieldDropdownComponent,
267
- FormlyFieldAutocompleteComponent,
268
- FormlyFieldTableDialogMultiselectComponent,
269
- FormlyFieldTableDialogFormComponent,
270
- FormlyFieldTabsComponent,
271
- FormlyFieldFieldsetComponent,
272
- // table components
273
- TableComponent,
274
- TableviewComponent,
275
- // editor components
276
- FormEditorComponent,
277
- ActionComponent,
278
- ActionDialogComponent,
279
- ActionRouteComponent] });
280
- MngCommonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, imports: [[
281
- // angular modules
282
- CommonModule,
283
- RouterModule,
284
- HttpClientModule,
285
- ReactiveFormsModule,
286
- // other modules
287
- TranslateModule.forRoot({
288
- defaultLanguage: 'en',
289
- loader: {
290
- provide: TranslateLoader,
291
- useFactory: HttpLoaderFactory,
292
- deps: [HttpClient]
293
- }
294
- }),
295
- FormlyModule.forChild(),
296
- ...primeNgModules
297
- ]] });
298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, decorators: [{
299
- type: NgModule,
300
- args: [{
301
- imports: [
302
- // angular modules
303
- CommonModule,
304
- RouterModule,
305
- HttpClientModule,
306
- ReactiveFormsModule,
307
- // other modules
308
- TranslateModule.forRoot({
309
- defaultLanguage: 'en',
310
- loader: {
311
- provide: TranslateLoader,
312
- useFactory: HttpLoaderFactory,
313
- deps: [HttpClient]
314
- }
315
- }),
316
- FormlyModule.forChild(),
317
- ...primeNgModules
318
- ],
319
- declarations: [
320
- ...declarations
321
- ],
322
- // providers: [
323
- // DialogService,
324
- // MessageService,
325
- // ConfirmationService,
326
- //
327
- // ActionService,
328
- // NavigationService,
329
- // AppSettingsService,
330
- // AppBreadcrumbService,
331
- // MenuService
332
- // ],
333
- exports: [
334
- ...declarations
335
- ]
336
- }]
337
- }] });
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW5nLWNvbW1vbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9tbmctY29tbW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RixrQkFBa0I7QUFDbEIsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMs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LENBQUM7NEJBQ3BCLGVBQWUsRUFBRSxJQUFJOzRCQUNyQixNQUFNLEVBQUU7Z0NBQ0osT0FBTyxFQUFFLGVBQWU7Z0NBQ3hCLFVBQVUsRUFBRSxpQkFBaUI7Z0NBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzs2QkFDckI7eUJBQ0osQ0FBQzt3QkFDRixZQUFZLENBQUMsUUFBUSxFQUFFO3dCQUN2QixHQUFHLGNBQWM7cUJBQ3BCO29CQUNELFlBQVksRUFBRTt3QkFDVixHQUFHLFlBQVk7cUJBQ2xCO29CQUNELGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixzQkFBc0I7b0JBQ3RCLDJCQUEyQjtvQkFDM0IsRUFBRTtvQkFDRixxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsMEJBQTBCO29CQUMxQiw0QkFBNEI7b0JBQzVCLGtCQUFrQjtvQkFDbEIsS0FBSztvQkFDTCxPQUFPLEVBQUU7d0JBQ0wsR0FBRyxZQUFZO3FCQUNsQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHtGT1JNTFlfQ09ORklHLCBGb3JtbHlNb2R1bGV9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbi8vIHByaW1lbmcgbW9kdWxlc1xuaW1wb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtBdXRvQ29tcGxldGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7QnJlYWRjcnVtYk1vZHVsZX0gZnJvbSAncHJpbWVuZy9icmVhZGNydW1iJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQge0NhcmRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2FyZCc7XG5pbXBvcnQge0NoZWNrYm94TW9kdWxlfSBmcm9tICdwcmltZW5nL2NoZWNrYm94JztcbmltcG9ydCB7Q2hpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy9jaGlwJztcbmltcG9ydCB7Q29uZmlybURpYWxvZ01vZHVsZX0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcbmltcG9ydCB7Q29uZmlybVBvcHVwTW9kdWxlfSBmcm9tICdwcmltZW5nL2NvbmZpcm1wb3B1cCc7XG5pbXBvcnQge0RpYWxvZ01vZHVsZX0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlLCBEeW5hbWljRGlhbG9nTW9kdWxlfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZX0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQge0lucHV0TnVtYmVyTW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcbmltcG9ydCB7SW5wdXRNYXNrTW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XG5pbXBvcnQge0lucHV0U3dpdGNoTW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0c3dpdGNoJztcbmltcG9ydCB7SW5wdXRUZXh0TW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5pbXBvcnQge0lucHV0VGV4dGFyZWFNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0YXJlYSc7XG5pbXBvcnQge1BhZ2luYXRvck1vZHVsZX0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHtSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9yYWRpb2J1dHRvbic7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtTZWxlY3RCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvc2VsZWN0YnV0dG9uJztcbmltcG9ydCB7VGFibGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHtUYWdNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdGFnJztcbmltcG9ydCB7VG9hc3RNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHtUb2dnbGVCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9nZ2xlYnV0dG9uJztcbmltcG9ydCB7VG9vbGJhck1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sYmFyJztcbmltcG9ydCB7VG9vbHRpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7TWVzc2FnZXNNb2R1bGV9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xuaW1wb3J0IHtQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcbmltcG9ydCB7VGFiVmlld01vZHVsZX0gZnJvbSAncHJpbWVuZy90YWJ2aWV3JztcbmltcG9ydCB7RmllbGRzZXRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvZmllbGRzZXQnO1xuaW1wb3J0IHtDYWxlbmRhck1vZHVsZX0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XG5cbi8vIGRpcmVjdGl2ZXNcbmltcG9ydCB7VGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHtQcm9wZXJ0eVBhdGhQaXBlfSBmcm9tICcuL3BpcGVzL3Byb3BlcnR5LXBhdGgucGlwZSc7XG5cbi8vIGxheW91dCBjb21wb25lbnRzXG5pbXBvcnQge0FwcEJyZWFkY3J1bWJDb21wb25lbnQsIEFwcEZvb3RlckNvbXBvbmVudCwgQXBwTWFpbkNvbXBvbmVudCwgQXBwTWVudUNvbXBvbmVudCwgQXBwTWVudWl0ZW1Db21wb25lbnQsIEFwcFRvcGJhckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dCc7XG5cbi8vIGZvcm1seSBjb21wb25lbnRzXG5pbXBvcnQge0Zvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudCwgRm9ybWx5VGFibGVXcmFwcGVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvd3JhcHBlcnMnO1xuaW1wb3J0IHtGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgRm9ybWx5RmllbGREcm9wZG93bkNvbXBvbmVudCwgRm9ybWx5RmllbGRGaWVsZHNldENvbXBvbmVudCwgRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCwgRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsIEZvcm1seUZpZWxkVGFibGVEaWFsb2dNdWx0aXNlbGVjdENvbXBvbmVudCwgRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzJztcblxuLy8gdGFibGUgY29tcG9uZW50c1xuaW1wb3J0IHtUYWJsZUNvbXBvbmVudCwgVGFibGV2aWV3Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGV2aWV3JztcblxuLy8gZWRpdG9yIGNvbXBvbmVudHNcbmltcG9ydCB7Rm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnQsIEFjdGlvbkRpYWxvZ0NvbXBvbmVudCwgQWN0aW9uUm91dGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpb24nO1xuXG4vLyBzZXJ2aWNlc1xuaW1wb3J0IHtPYmplY3RTZXJpYWxpemVyfSBmcm9tICcuL2FwaS91dGlscyc7XG5pbXBvcnQge0FjdGlvblNlcnZpY2UsIEFwcEJyZWFkY3J1bWJTZXJ2aWNlLCBBcHBTZXR0aW5nc1NlcnZpY2UsIENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBNZW51U2VydmljZSwgTmF2aWdhdGlvblNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHtjb25maWdKc29uQXBwSW5pdGlhbGl6ZXJQcm92aWRlciwgY29uZmlndXJhdGlvblNlcnZpY2VQcm92aWRlciwgZm9ybWx5Q29uZmlnUHJvdmlkZXJ9IGZyb20gJy4vc2VydmljZXMvcHJvdmlkZXJzJztcblxuLy8gY29tcG9uZW50IHNlcnZpY2VzXG5pbXBvcnQge1RhYmxldmlld0NvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGV2aWV3LmNvbXBvbmVudC5zZXJ2aWNlJztcbmltcG9ydCB7QXBwTWFpbkNvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQvYXBwLm1haW4uY29tcG9uZW50LnNlcnZpY2UnO1xuXG4vLyBtb2R1bGUgY29uZmlnXG5pbXBvcnQge01OR19NT0RVTEVfQ09ORklHX0lULCBNbmdNb2R1bGVDb25maWd9IGZyb20gJy4vbW9kZWxzL2NvbmZpZyc7XG5pbXBvcnQge1RyYW5zbGF0ZUh0dHBMb2FkZXJ9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2h0dHAtbG9hZGVyJztcblxuLy8gcHJpbWVuZyBtb2R1bGVzXG5leHBvcnQgY29uc3QgcHJpbWVOZ01vZHVsZXMgPSBbXG4gICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgIEJyZWFkY3J1bWJNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENhbGVuZGFyTW9kdWxlLFxuICAgIENhcmRNb2R1bGUsXG4gICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgQ2hpcE1vZHVsZSxcbiAgICBDb25maXJtRGlhbG9nTW9kdWxlLFxuICAgIENvbmZpcm1Qb3B1cE1vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgRHluYW1pY0RpYWxvZ01vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBJbnB1dE51bWJlck1vZHVsZSxcbiAgICBJbnB1dE1hc2tNb2R1bGUsXG4gICAgSW5wdXRTd2l0Y2hNb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXG4gICAgUGFnaW5hdG9yTW9kdWxlLFxuICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxuICAgIFJpcHBsZU1vZHVsZSxcbiAgICBTZWxlY3RCdXR0b25Nb2R1bGUsXG4gICAgVGFibGVNb2R1bGUsXG4gICAgVGFnTW9kdWxlLFxuICAgIFRvYXN0TW9kdWxlLFxuICAgIFRvZ2dsZUJ1dHRvbk1vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgTWVzc2FnZXNNb2R1bGUsXG4gICAgUHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIFRhYlZpZXdNb2R1bGUsXG4gICAgRmllbGRzZXRNb2R1bGVcbl07XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtcbiAgICAvLyBkaXJlY3RpdmVzXG4gICAgVGVtcGxhdGVEaXJlY3RpdmUsXG5cbiAgICAvLyBwaXBlc1xuICAgIFByb3BlcnR5UGF0aFBpcGUsXG5cbiAgICAvLyBsYXlvdXQgY29tcG9uZW50c1xuICAgIEFwcEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgQXBwRm9vdGVyQ29tcG9uZW50LFxuICAgIEFwcE1haW5Db21wb25lbnQsXG4gICAgQXBwTWVudUNvbXBvbmVudCxcbiAgICBBcHBNZW51aXRlbUNvbXBvbmVudCxcbiAgICBBcHBUb3BiYXJDb21wb25lbnQsXG5cbiAgICAvLyBmb3JtbHkgd3JhcHBlcnNcbiAgICBGb3JtbHlGaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybWx5VGFibGVXcmFwcGVyQ29tcG9uZW50LFxuXG4gICAgLy8gZm9ybWx5IGZpZWxkc1xuICAgIEZvcm1seUZpZWxkSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybWx5RmllbGREcm9wZG93bkNvbXBvbmVudCxcbiAgICBGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBGb3JtbHlGaWVsZFRhYmxlRGlhbG9nTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsXG4gICAgRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50LFxuICAgIEZvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnQsXG5cbiAgICAvLyB0YWJsZSBjb21wb25lbnRzXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgVGFibGV2aWV3Q29tcG9uZW50LFxuXG4gICAgLy8gZWRpdG9yIGNvbXBvbmVudHNcbiAgICBGb3JtRWRpdG9yQ29tcG9uZW50LFxuICAgIEFjdGlvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgQWN0aW9uUm91dGVDb21wb25lbnRcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2xhdGVIdHRwTG9hZGVyKGh0dHApO1xufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gYW5ndWxhciBtb2R1bGVzXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgICAgIC8vIG90aGVyIG1vZHVsZXNcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgICAgICAgZGVmYXVsdExhbmd1YWdlOiAnZW4nLFxuICAgICAgICAgICAgbG9hZGVyOiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IEh0dHBMb2FkZXJGYWN0b3J5LFxuICAgICAgICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgRm9ybWx5TW9kdWxlLmZvckNoaWxkKCksXG4gICAgICAgIC4uLnByaW1lTmdNb2R1bGVzXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgLi4uZGVjbGFyYXRpb25zXG4gICAgXSxcbiAgICAvLyBwcm92aWRlcnM6IFtcbiAgICAvLyAgICAgRGlhbG9nU2VydmljZSxcbiAgICAvLyAgICAgTWVzc2FnZVNlcnZpY2UsXG4gICAgLy8gICAgIENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgLy9cbiAgICAvLyAgICAgQWN0aW9uU2VydmljZSxcbiAgICAvLyAgICAgTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgLy8gICAgIEFwcFNldHRpbmdzU2VydmljZSxcbiAgICAvLyAgICAgQXBwQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgLy8gICAgIE1lbnVTZXJ2aWNlXG4gICAgLy8gXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIC4uLmRlY2xhcmF0aW9uc1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTW5nQ29tbW9uc01vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBNbmdNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE1uZ0NvbW1vbnNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBNbmdDb21tb25zTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgLy8gcHJpbWVuZyBzZXJ2aWNlc1xuICAgICAgICAgICAgICAgIERpYWxvZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQ29uZmlybWF0aW9uU2VydmljZSxcblxuICAgICAgICAgICAgICAgIEFjdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQXBwU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEFwcEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE1lbnVTZXJ2aWNlLFxuXG4gICAgICAgICAgICAgICAgLy8gY29tcG9uZW50IHNlcnZpY2VcbiAgICAgICAgICAgICAgICBBcHBNYWluQ29tcG9uZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBUYWJsZXZpZXdDb21wb25lbnRTZXJ2aWNlLFxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNTkdfTU9EVUxFX0NPTkZJR19JVCxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBPYmplY3RTZXJpYWxpemVyLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiBPYmplY3RTZXJpYWxpemVyLmdldCgpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBjb25maWd1cmF0aW9uU2VydmljZVByb3ZpZGVyLFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbSHR0cENsaWVudCwgTU5HX01PRFVMRV9DT05GSUdfSVRdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogY29uZmlnSnNvbkFwcEluaXRpYWxpemVyUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtDb25maWd1cmF0aW9uU2VydmljZSwgTU5HX01PRFVMRV9DT05GSUdfSVRdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBGT1JNTFlfQ09ORklHLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogZm9ybWx5Q29uZmlnUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlLCBNTkdfTU9EVUxFX0NPTkZJR19JVF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19