general-library-union 3.0.46 → 3.0.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (653) hide show
  1. package/.browserslistrc +15 -0
  2. package/.editorconfig +16 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/angular.json +143 -0
  7. package/karma.conf.js +44 -0
  8. package/ng-package.json +21 -0
  9. package/package.json +73 -62
  10. package/{public-api.d.ts → public-api.ts} +201 -161
  11. package/src/app/app.component.html +12 -0
  12. package/src/app/app.component.scss +0 -0
  13. package/src/app/app.component.spec.ts +29 -0
  14. package/src/app/app.component.ts +34 -0
  15. package/src/app/app.config.ts +43 -0
  16. package/src/app/app.module.ts +10 -0
  17. package/src/app/app.routes.ts +88 -0
  18. package/src/app/core/componentes/breadcrumb/breadcrumb.component.html +6 -0
  19. package/src/app/core/componentes/breadcrumb/breadcrumb.component.scss +0 -0
  20. package/src/app/core/componentes/breadcrumb/breadcrumb.component.ts +39 -0
  21. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.html +1 -0
  22. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.scss +0 -0
  23. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.ts +31 -0
  24. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.html +9 -0
  25. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.scss +28 -0
  26. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.ts +32 -0
  27. package/src/app/core/componentes/filtro-general/filtro-general.component.html +36 -0
  28. package/src/app/core/componentes/filtro-general/filtro-general.component.scss +3 -0
  29. package/src/app/core/componentes/filtro-general/filtro-general.component.ts +203 -0
  30. package/src/app/core/componentes/footer/footer.component.html +13 -0
  31. package/src/app/core/componentes/footer/footer.component.scss +3 -0
  32. package/src/app/core/componentes/footer/footer.component.ts +20 -0
  33. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.html +267 -0
  34. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.scss +21 -0
  35. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.ts +275 -0
  36. package/src/app/core/componentes/formulariodinamico/objetosformulario/{Cambio.d.ts → Cambio.ts} +13 -7
  37. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.ts +118 -0
  38. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.ts +76 -0
  39. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.ts +67 -0
  40. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.ts +11 -0
  41. package/src/app/core/componentes/inicio-component/inicio-component.component.html +29 -0
  42. package/src/app/core/componentes/inicio-component/inicio-component.component.scss +69 -0
  43. package/src/app/core/componentes/inicio-component/inicio-component.component.ts +70 -0
  44. package/src/app/core/componentes/menu/menu.component.html +13 -0
  45. package/src/app/core/componentes/menu/menu.component.scss +36 -0
  46. package/src/app/core/componentes/menu/menu.component.ts +35 -0
  47. package/src/app/core/componentes/tabla-general/tabla-general.component.html +90 -0
  48. package/src/app/core/componentes/tabla-general/tabla-general.component.scss +0 -0
  49. package/src/app/core/componentes/tabla-general/tabla-general.component.ts +96 -0
  50. package/src/app/core/core.module.ts +22 -0
  51. package/src/app/core/errores/authentication.error.ts +6 -0
  52. package/src/app/core/modelos/error-response.model.ts +9 -0
  53. package/src/app/core/modelos/table-column.model.ts +10 -0
  54. package/src/app/core/modelos/user.model.ts +6 -0
  55. package/src/app/core/plantilla-general/plantilla-general.template.html +139 -0
  56. package/src/app/core/plantilla-general/plantilla-general.template.scss +37 -0
  57. package/src/app/core/plantilla-general/plantilla-general.template.ts +233 -0
  58. package/src/app/core/servicios/auth.service.ts +189 -0
  59. package/src/app/core/servicios/cargar-control-funcionalidad.service.ts +49 -0
  60. package/src/app/core/servicios/data-exporter-table.utils.ts +78 -0
  61. package/src/app/core/servicios/error-interceptor.service.ts +208 -0
  62. package/src/app/core/servicios/guardias/auth.guard.ts +51 -0
  63. package/src/app/core/servicios/guardias/publico.guard.ts +26 -0
  64. package/src/app/core/servicios/interceptores/loading-interceptor.ts +37 -0
  65. package/src/app/core/servicios/interceptores/token-interceptor.service.ts +177 -0
  66. package/src/app/core/servicios/loading.service.ts +48 -0
  67. package/src/app/core/servicios/menu.service.ts +153 -0
  68. package/src/app/core/servicios/spinner-service.ts +18 -0
  69. package/src/app/core/servicios/storage.service.ts +68 -0
  70. package/src/app/core/servicios/template.service.ts +91 -0
  71. package/src/app/core/servicios/toast.service.ts +114 -0
  72. package/src/app/core/servicios/utils.service.ts +367 -0
  73. package/src/app/core/sharedlib.module.ts +11 -0
  74. package/src/app/core/utilidades/color.util.ts +197 -0
  75. package/src/app/layout/api/{menuchangeevent.d.ts → menuchangeevent.ts} +4 -4
  76. package/src/app/layout/app.breadcrumb.component.html +20 -0
  77. package/src/app/layout/app.breadcrumb.component.ts +78 -0
  78. package/src/app/layout/app.footer.component.html +18 -0
  79. package/src/app/layout/app.footer.component.ts +15 -0
  80. package/src/app/layout/app.layout.component.html +20 -0
  81. package/src/app/layout/app.layout.component.ts +201 -0
  82. package/src/app/layout/app.layout.module.ts +9 -0
  83. package/src/app/layout/app.menu.component.html +6 -0
  84. package/src/app/layout/app.menu.component.ts +51 -0
  85. package/src/app/layout/app.menu.service.ts +23 -0
  86. package/src/app/layout/app.menuitem.component.ts +252 -0
  87. package/src/app/layout/app.menuprofile.component.html +35 -0
  88. package/src/app/layout/app.menuprofile.component.ts +60 -0
  89. package/src/app/layout/app.rightmenu.component.html +72 -0
  90. package/src/app/layout/app.rightmenu.component.ts +24 -0
  91. package/src/app/layout/app.sidebar.component.html +40 -0
  92. package/src/app/layout/app.sidebar.component.ts +81 -0
  93. package/src/app/layout/app.topbar.component.html +214 -0
  94. package/src/app/layout/app.topbar.component.ts +336 -0
  95. package/src/app/layout/config/app.config.component.html +125 -0
  96. package/src/app/layout/config/app.config.component.ts +206 -0
  97. package/src/app/layout/config/app.config.module.ts +11 -0
  98. package/src/app/layout/service/app.layout.service.ts +191 -0
  99. package/src/app/publico/pages/login/login.page.html +53 -0
  100. package/src/app/publico/pages/login/login.page.scss +166 -0
  101. package/src/app/publico/pages/login/login.page.ts +128 -0
  102. package/src/app/publico/pages/not-found/not-found.page.html +35 -0
  103. package/src/app/publico/pages/not-found/not-found.page.scss +2 -0
  104. package/src/app/publico/pages/not-found/not-found.page.ts +46 -0
  105. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.html +58 -0
  106. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.scss +49 -0
  107. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.ts +176 -0
  108. package/src/app/publico/pages/timeout/timeout.page.html +24 -0
  109. package/src/app/publico/pages/timeout/timeout.page.scss +2 -0
  110. package/src/app/publico/pages/timeout/timeout.page.ts +18 -0
  111. package/src/app/seguridad/constantes/ConstantesGenerales.ts +30 -0
  112. package/src/app/seguridad/constantes/ReporteEntradaConstantes.ts +18 -0
  113. package/src/app/seguridad/constantes/ReporteFuenteConstantes.ts +13 -0
  114. package/src/app/seguridad/modelos/AplicacionModel.ts +11 -0
  115. package/src/app/seguridad/modelos/ArchivoPortalModel.ts +16 -0
  116. package/src/app/seguridad/modelos/AtributoPuntoModel.ts +9 -0
  117. package/src/app/seguridad/modelos/AtributoSSOportalModel.ts +22 -0
  118. package/src/app/seguridad/modelos/{AuditoriaArchivoModel.d.ts → AuditoriaArchivoModel.ts} +13 -10
  119. package/src/app/seguridad/modelos/CargueLineaModel.ts +17 -0
  120. package/src/app/seguridad/modelos/ColoresRGB.ts +17 -0
  121. package/src/app/seguridad/modelos/ColumnaFuenteModel.ts +9 -0
  122. package/src/app/seguridad/modelos/{ColumnaWraperModel.d.ts → ColumnaWraperModel.ts} +7 -6
  123. package/src/app/seguridad/modelos/ComplementoModel.ts +10 -0
  124. package/src/app/seguridad/modelos/ComponentePaginaModel.ts +22 -0
  125. package/src/app/seguridad/modelos/ConexionModel.ts +15 -0
  126. package/src/app/seguridad/modelos/{ContenidoHtmlPortalModel.d.ts → ContenidoHtmlPortalModel.ts} +25 -20
  127. package/src/app/seguridad/modelos/ControlFuncionModel.ts +10 -0
  128. package/src/app/seguridad/modelos/CorreoModel.ts +45 -0
  129. package/src/app/seguridad/modelos/CorreoWSModel.ts +49 -0
  130. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.ts +14 -0
  131. package/src/app/seguridad/modelos/{DatoInicioModel.d.ts → DatoInicioModel.ts} +7 -6
  132. package/src/app/seguridad/modelos/{EjecucionReporteDataModel.d.ts → EjecucionReporteDataModel.ts} +21 -20
  133. package/src/app/seguridad/modelos/EmpresaModel.ts +25 -0
  134. package/src/app/seguridad/modelos/EmpresaSeguridadModel.ts +19 -0
  135. package/src/app/seguridad/modelos/{EntradaComplementoModel.d.ts → EntradaComplementoModel.ts} +9 -6
  136. package/src/app/seguridad/modelos/EtiquetaModel.ts +4 -0
  137. package/src/app/seguridad/modelos/Etiquetas.ts +14 -0
  138. package/src/app/seguridad/modelos/{ForeingWraperModel.d.ts → ForeingWraperModel.ts} +9 -6
  139. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.ts +21 -0
  140. package/src/app/seguridad/modelos/{FuenteCampoModel.d.ts → FuenteCampoModel.ts} +20 -16
  141. package/src/app/seguridad/modelos/FuenteDato.ts +19 -0
  142. package/src/app/seguridad/modelos/FuenteEntradaModel.ts +9 -0
  143. package/src/app/seguridad/modelos/{FuenteGeneralModel.d.ts → FuenteGeneralModel.ts} +55 -36
  144. package/src/app/seguridad/modelos/FuenteLineaServicioModel.ts +19 -0
  145. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.ts +14 -0
  146. package/src/app/seguridad/modelos/{FuenteServicioModel.d.ts → FuenteServicioModel.ts} +61 -47
  147. package/src/app/seguridad/modelos/FuncionalidadModel.ts +12 -0
  148. package/src/app/seguridad/modelos/GeneralModel.ts +16 -0
  149. package/src/app/seguridad/modelos/{GrupoAccesoModel.d.ts → GrupoAccesoModel.ts} +9 -6
  150. package/src/app/seguridad/modelos/GrupoControlFuncionModel.ts +12 -0
  151. package/src/app/seguridad/modelos/GrupoFuenteModel.ts +17 -0
  152. package/src/app/seguridad/modelos/GrupoPermisoModel.ts +16 -0
  153. package/src/app/seguridad/modelos/{JoinFromModel.d.ts → JoinFromModel.ts} +4 -4
  154. package/src/app/seguridad/modelos/ListaServicioModel.ts +18 -0
  155. package/src/app/seguridad/modelos/LlaveForaneaModel.ts +6 -0
  156. package/src/app/seguridad/modelos/LoginModel.ts +19 -0
  157. package/src/app/seguridad/modelos/MensajeSistemaModel.ts +10 -0
  158. package/src/app/seguridad/modelos/{MenuPortalModel.d.ts → MenuPortalModel.ts} +5 -4
  159. package/src/app/seguridad/modelos/ModulosModel.ts +17 -0
  160. package/src/app/seguridad/modelos/{ObjetoReporteModel.d.ts → ObjetoReporteModel.ts} +6 -5
  161. package/src/app/seguridad/modelos/PaginaPortalModel.ts +23 -0
  162. package/src/app/seguridad/modelos/ParametroComponenteModel.ts +9 -0
  163. package/src/app/seguridad/modelos/ParametrosGeneralModel.ts +16 -0
  164. package/src/app/seguridad/modelos/PermisoFuncionModel.ts +11 -0
  165. package/src/app/seguridad/modelos/PermisocontenidoModel.ts +20 -0
  166. package/src/app/seguridad/modelos/{PeticionModel.d.ts → PeticionModel.ts} +20 -15
  167. package/src/app/seguridad/modelos/PreguntaSeguridadModel.ts +9 -0
  168. package/src/app/seguridad/modelos/PropiedadModel.ts +12 -0
  169. package/src/app/seguridad/modelos/PublicacionWebModel.ts +29 -0
  170. package/src/app/seguridad/modelos/PuntoProcesoModel.ts +7 -0
  171. package/src/app/seguridad/modelos/RecursoPunto.ts +13 -0
  172. package/src/app/seguridad/modelos/RecursoPuntoModel.ts +13 -0
  173. package/src/app/seguridad/modelos/ReporteBanda.ts +9 -0
  174. package/src/app/seguridad/modelos/ReporteColumna.ts +33 -0
  175. package/src/app/seguridad/modelos/ReporteColumnario.ts +82 -0
  176. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.ts +31 -0
  177. package/src/app/seguridad/modelos/{ReporteEntradaModel.d.ts → ReporteEntradaModel.ts} +21 -19
  178. package/src/app/seguridad/modelos/{ReporteFuenteModel.d.ts → ReporteFuenteModel.ts} +141 -87
  179. package/src/app/seguridad/modelos/ReporteMarcador.ts +40 -0
  180. package/src/app/seguridad/modelos/ReporteSoporte.ts +10 -0
  181. package/src/app/seguridad/modelos/ReporteTabla.ts +14 -0
  182. package/src/app/seguridad/modelos/RespuestaModel.ts +10 -0
  183. package/src/app/seguridad/modelos/{RolModel.d.ts → RolModel.ts} +41 -37
  184. package/src/app/seguridad/modelos/ServidorCorreoModel.ts +31 -0
  185. package/src/app/seguridad/modelos/SistemaMensajeModel.ts +11 -0
  186. package/src/app/seguridad/modelos/SitioPortalModel.ts +29 -0
  187. package/src/app/seguridad/modelos/TablaFromModel.ts +5 -0
  188. package/src/app/seguridad/modelos/TareasModel.ts +54 -0
  189. package/src/app/seguridad/modelos/TextoModel.ts +11 -0
  190. package/src/app/seguridad/modelos/TipoEtiqueta.ts +8 -0
  191. package/src/app/seguridad/modelos/UnionModel.ts +14 -0
  192. package/src/app/seguridad/modelos/{UsuarioModel.d.ts → UsuarioModel.ts} +60 -49
  193. package/src/app/seguridad/modelos/UsuariogrupoModel.ts +27 -0
  194. package/src/app/seguridad/modelos/aplicacion-propiedad-model.ts +16 -0
  195. package/src/app/seguridad/modelos/contenidoCorreoModel.ts +13 -0
  196. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.html +47 -0
  197. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.scss +8 -0
  198. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.ts +144 -0
  199. package/src/app/shared/servicios/cargar-archivos.service.ts +51 -0
  200. package/src/app/shared/servicios/cargar-mapas.service.ts +43 -0
  201. package/src/app/shared/servicios/encriptado-basico.service.ts +54 -0
  202. package/src/app/shared/servicios/encriptador-simetrico.service.ts +29 -0
  203. package/src/app/shared/servicios/general.service.ts +124 -0
  204. package/src/app/shared/servicios/parametros-navegacion.service.ts +20 -0
  205. package/src/app/shared/servicios/plantillas.service.ts +22 -0
  206. package/src/app/shared/servicios/tarea.service.ts +71 -0
  207. package/src/app/shared/utilidades/translate-loader.util.ts +44 -0
  208. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.html +175 -0
  209. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.scss +78 -0
  210. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.ts +438 -0
  211. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.html +87 -0
  212. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.scss +0 -0
  213. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.ts +189 -0
  214. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.html +117 -0
  215. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.scss +0 -0
  216. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.ts +87 -0
  217. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.html +158 -0
  218. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.scss +6 -0
  219. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.ts +345 -0
  220. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.html +131 -0
  221. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.scss +0 -0
  222. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.ts +198 -0
  223. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.html +206 -0
  224. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.scss +3 -0
  225. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.ts +330 -0
  226. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.html +2121 -0
  227. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.scss +241 -0
  228. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.ts +1694 -0
  229. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.html +33 -0
  230. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.scss +0 -0
  231. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.ts +96 -0
  232. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.html +54 -0
  233. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.scss +0 -0
  234. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.ts +111 -0
  235. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.html +394 -0
  236. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.scss +10 -0
  237. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.ts +599 -0
  238. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.html +130 -0
  239. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.scss +0 -0
  240. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.ts +172 -0
  241. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.html +403 -0
  242. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.scss +5 -0
  243. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.ts +761 -0
  244. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.html +145 -0
  245. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.scss +0 -0
  246. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.ts +302 -0
  247. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.html +19 -0
  248. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.scss +0 -0
  249. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.ts +89 -0
  250. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.html +714 -0
  251. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.scss +0 -0
  252. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.ts +688 -0
  253. package/src/app/webcommon/pipes/dashboard.pipe.ts +79 -0
  254. package/src/app/webcommon/pipes/fuente.pipe.ts +207 -0
  255. package/src/app/webcommon/pipes/general.pipe.ts +1043 -0
  256. package/src/app/webcommon/pipes/reporte-columnario.pipe.ts +101 -0
  257. package/src/app/webcommon/pipes/reporte-fuente.pipe.ts +306 -0
  258. package/src/app/webcommon/pipes/sara-general.pipe.ts +289 -0
  259. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.html +90 -0
  260. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.scss +0 -0
  261. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.ts +262 -0
  262. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.html +50 -0
  263. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.scss +0 -0
  264. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.ts +135 -0
  265. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.html +44 -0
  266. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.scss +0 -0
  267. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.ts +66 -0
  268. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.html +41 -0
  269. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.scss +0 -0
  270. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.ts +283 -0
  271. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.html +179 -0
  272. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.scss +3 -0
  273. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.ts +266 -0
  274. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.html +273 -0
  275. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.scss +13 -0
  276. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.ts +557 -0
  277. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.html +10 -0
  278. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.scss +5 -0
  279. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.ts +58 -0
  280. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.html +71 -0
  281. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.scss +0 -0
  282. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.ts +154 -0
  283. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.html +11 -0
  284. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.scss +0 -0
  285. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.ts +82 -0
  286. package/src/app/webcommon/services/carguelinea.service.ts +74 -0
  287. package/src/app/webcommon/services/dashboard.service.ts +258 -0
  288. package/src/app/webcommon/services/ejecucionreporte.service.ts +160 -0
  289. package/src/app/webcommon/services/fechaUtils.service.ts +127 -0
  290. package/src/app/webcommon/services/fuentegeneral.service.ts +74 -0
  291. package/src/app/webcommon/services/homologacion.service.ts +49 -0
  292. package/src/app/webcommon/services/plantillas.service.ts +165 -0
  293. package/src/app/webcommon/services/reportes.service.ts +133 -0
  294. package/src/app/webcommon/webcommon.module.ts +11 -0
  295. package/src/environments/environment.prod.ts +3 -0
  296. package/src/environments/environment.ts +25 -0
  297. package/src/favicon.ico +0 -0
  298. package/src/index.html +14 -0
  299. package/src/main.ts +12 -0
  300. package/src/polyfills.ts +53 -0
  301. package/src/styles/primeng/sass/overrides/_theme_styles.scss +3 -0
  302. package/src/test.ts +14 -0
  303. package/tsconfig.app.json +15 -0
  304. package/tsconfig.json +35 -0
  305. package/tsconfig.spec.json +18 -0
  306. package/esm2022/general-library-union.mjs +0 -5
  307. package/esm2022/public-api.mjs +0 -180
  308. package/esm2022/src/app/core/componentes/breadcrumb/breadcrumb.component.mjs +0 -40
  309. package/esm2022/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.mjs +0 -28
  310. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +0 -196
  311. package/esm2022/src/app/core/componentes/footer/footer.component.mjs +0 -16
  312. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +0 -272
  313. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/Cambio.mjs +0 -11
  314. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.mjs +0 -124
  315. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.mjs +0 -73
  316. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.mjs +0 -59
  317. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.mjs +0 -21
  318. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +0 -72
  319. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +0 -37
  320. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +0 -93
  321. package/esm2022/src/app/core/core.module.mjs +0 -23
  322. package/esm2022/src/app/core/errores/authentication.error.mjs +0 -7
  323. package/esm2022/src/app/core/modelos/error-response.model.mjs +0 -2
  324. package/esm2022/src/app/core/modelos/table-column.model.mjs +0 -2
  325. package/esm2022/src/app/core/modelos/user.model.mjs +0 -7
  326. package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +0 -230
  327. package/esm2022/src/app/core/servicios/auth.service.mjs +0 -185
  328. package/esm2022/src/app/core/servicios/cargar-control-funcionalidad.service.mjs +0 -57
  329. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +0 -64
  330. package/esm2022/src/app/core/servicios/error-interceptor.service.mjs +0 -214
  331. package/esm2022/src/app/core/servicios/guardias/auth.guard.mjs +0 -66
  332. package/esm2022/src/app/core/servicios/guardias/publico.guard.mjs +0 -35
  333. package/esm2022/src/app/core/servicios/interceptores/loading-interceptor.mjs +0 -37
  334. package/esm2022/src/app/core/servicios/interceptores/token-interceptor.service.mjs +0 -180
  335. package/esm2022/src/app/core/servicios/loading.service.mjs +0 -43
  336. package/esm2022/src/app/core/servicios/menu.service.mjs +0 -146
  337. package/esm2022/src/app/core/servicios/spinner-service.mjs +0 -22
  338. package/esm2022/src/app/core/servicios/storage.service.mjs +0 -68
  339. package/esm2022/src/app/core/servicios/template.service.mjs +0 -99
  340. package/esm2022/src/app/core/servicios/toast.service.mjs +0 -120
  341. package/esm2022/src/app/core/servicios/utils.service.mjs +0 -338
  342. package/esm2022/src/app/core/sharedlib.module.mjs +0 -16
  343. package/esm2022/src/app/core/utilidades/color.util.mjs +0 -177
  344. package/esm2022/src/app/layout/api/menuchangeevent.mjs +0 -2
  345. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +0 -71
  346. package/esm2022/src/app/layout/app.footer.component.mjs +0 -18
  347. package/esm2022/src/app/layout/app.layout.component.mjs +0 -188
  348. package/esm2022/src/app/layout/app.layout.module.mjs +0 -15
  349. package/esm2022/src/app/layout/app.menu.component.mjs +0 -51
  350. package/esm2022/src/app/layout/app.menu.service.mjs +0 -24
  351. package/esm2022/src/app/layout/app.menuitem.component.mjs +0 -296
  352. package/esm2022/src/app/layout/app.menuprofile.component.mjs +0 -78
  353. package/esm2022/src/app/layout/app.rightmenu.component.mjs +0 -24
  354. package/esm2022/src/app/layout/app.sidebar.component.mjs +0 -92
  355. package/esm2022/src/app/layout/app.topbar.component.mjs +0 -346
  356. package/esm2022/src/app/layout/service/app.layout.service.mjs +0 -134
  357. package/esm2022/src/app/publico/pages/login/login.page.mjs +0 -129
  358. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +0 -51
  359. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +0 -167
  360. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +0 -20
  361. package/esm2022/src/app/seguridad/constantes/ConstantesGenerales.mjs +0 -30
  362. package/esm2022/src/app/seguridad/constantes/ReporteEntradaConstantes.mjs +0 -19
  363. package/esm2022/src/app/seguridad/modelos/AplicacionModel.mjs +0 -8
  364. package/esm2022/src/app/seguridad/modelos/ArchivoPortalModel.mjs +0 -14
  365. package/esm2022/src/app/seguridad/modelos/AtributoPuntoModel.mjs +0 -9
  366. package/esm2022/src/app/seguridad/modelos/AtributoSSOportalModel.mjs +0 -17
  367. package/esm2022/src/app/seguridad/modelos/AuditoriaArchivoModel.mjs +0 -11
  368. package/esm2022/src/app/seguridad/modelos/CargueLineaModel.mjs +0 -13
  369. package/esm2022/src/app/seguridad/modelos/ColoresRGB.mjs +0 -18
  370. package/esm2022/src/app/seguridad/modelos/ColumnaFuenteModel.mjs +0 -9
  371. package/esm2022/src/app/seguridad/modelos/ColumnaWraperModel.mjs +0 -6
  372. package/esm2022/src/app/seguridad/modelos/ComplementoModel.mjs +0 -7
  373. package/esm2022/src/app/seguridad/modelos/ComponentePaginaModel.mjs +0 -21
  374. package/esm2022/src/app/seguridad/modelos/ConexionModel.mjs +0 -14
  375. package/esm2022/src/app/seguridad/modelos/ContenidoHtmlPortalModel.mjs +0 -21
  376. package/esm2022/src/app/seguridad/modelos/ControlFuncionModel.mjs +0 -8
  377. package/esm2022/src/app/seguridad/modelos/CorreoModel.mjs +0 -35
  378. package/esm2022/src/app/seguridad/modelos/CorreoWSModel.mjs +0 -37
  379. package/esm2022/src/app/seguridad/modelos/CruceRecursoPuntoModel.mjs +0 -14
  380. package/esm2022/src/app/seguridad/modelos/DatoInicioModel.mjs +0 -6
  381. package/esm2022/src/app/seguridad/modelos/EjecucionReporteDataModel.mjs +0 -14
  382. package/esm2022/src/app/seguridad/modelos/EmpresaModel.mjs +0 -25
  383. package/esm2022/src/app/seguridad/modelos/EmpresaSeguridadModel.mjs +0 -19
  384. package/esm2022/src/app/seguridad/modelos/EntradaComplementoModel.mjs +0 -7
  385. package/esm2022/src/app/seguridad/modelos/EtiquetaModel.mjs +0 -5
  386. package/esm2022/src/app/seguridad/modelos/Etiquetas.mjs +0 -12
  387. package/esm2022/src/app/seguridad/modelos/ForeingWraperModel.mjs +0 -6
  388. package/esm2022/src/app/seguridad/modelos/FuenteCampoAtributoModel.mjs +0 -16
  389. package/esm2022/src/app/seguridad/modelos/FuenteCampoModel.mjs +0 -17
  390. package/esm2022/src/app/seguridad/modelos/FuenteDato.mjs +0 -19
  391. package/esm2022/src/app/seguridad/modelos/FuenteEntradaModel.mjs +0 -9
  392. package/esm2022/src/app/seguridad/modelos/FuenteGeneralModel.mjs +0 -37
  393. package/esm2022/src/app/seguridad/modelos/FuenteLineaServicioModel.mjs +0 -16
  394. package/esm2022/src/app/seguridad/modelos/FuenteProcesoGeneralModel.mjs +0 -11
  395. package/esm2022/src/app/seguridad/modelos/FuenteServicioModel.mjs +0 -51
  396. package/esm2022/src/app/seguridad/modelos/FuncionalidadModel.mjs +0 -10
  397. package/esm2022/src/app/seguridad/modelos/GeneralModel.mjs +0 -15
  398. package/esm2022/src/app/seguridad/modelos/GrupoAccesoModel.mjs +0 -7
  399. package/esm2022/src/app/seguridad/modelos/GrupoControlFuncionModel.mjs +0 -10
  400. package/esm2022/src/app/seguridad/modelos/GrupoFuenteModel.mjs +0 -13
  401. package/esm2022/src/app/seguridad/modelos/GrupoPermisoModel.mjs +0 -14
  402. package/esm2022/src/app/seguridad/modelos/JoinFromModel.mjs +0 -5
  403. package/esm2022/src/app/seguridad/modelos/ListaServicioModel.mjs +0 -17
  404. package/esm2022/src/app/seguridad/modelos/LlaveForaneaModel.mjs +0 -7
  405. package/esm2022/src/app/seguridad/modelos/LoginModel.mjs +0 -15
  406. package/esm2022/src/app/seguridad/modelos/MensajeSistemaModel.mjs +0 -8
  407. package/esm2022/src/app/seguridad/modelos/MenuPortalModel.mjs +0 -5
  408. package/esm2022/src/app/seguridad/modelos/ModulosModel.mjs +0 -18
  409. package/esm2022/src/app/seguridad/modelos/ObjetoReporteModel.mjs +0 -6
  410. package/esm2022/src/app/seguridad/modelos/PaginaPortalModel.mjs +0 -20
  411. package/esm2022/src/app/seguridad/modelos/ParametroComponenteModel.mjs +0 -9
  412. package/esm2022/src/app/seguridad/modelos/ParametrosGeneralModel.mjs +0 -15
  413. package/esm2022/src/app/seguridad/modelos/PermisoFuncionModel.mjs +0 -9
  414. package/esm2022/src/app/seguridad/modelos/PermisocontenidoModel.mjs +0 -20
  415. package/esm2022/src/app/seguridad/modelos/PeticionModel.mjs +0 -16
  416. package/esm2022/src/app/seguridad/modelos/PreguntaSeguridadModel.mjs +0 -7
  417. package/esm2022/src/app/seguridad/modelos/PropiedadModel.mjs +0 -10
  418. package/esm2022/src/app/seguridad/modelos/PublicacionWebModel.mjs +0 -27
  419. package/esm2022/src/app/seguridad/modelos/PuntoProcesoModel.mjs +0 -7
  420. package/esm2022/src/app/seguridad/modelos/RecursoPunto.mjs +0 -13
  421. package/esm2022/src/app/seguridad/modelos/RecursoPuntoModel.mjs +0 -13
  422. package/esm2022/src/app/seguridad/modelos/ReporteBanda.mjs +0 -8
  423. package/esm2022/src/app/seguridad/modelos/ReporteColumna.mjs +0 -33
  424. package/esm2022/src/app/seguridad/modelos/ReporteColumnario.mjs +0 -69
  425. package/esm2022/src/app/seguridad/modelos/ReporteColumnarioMarcador.mjs +0 -24
  426. package/esm2022/src/app/seguridad/modelos/ReporteEntradaModel.mjs +0 -20
  427. package/esm2022/src/app/seguridad/modelos/ReporteFuenteModel.mjs +0 -124
  428. package/esm2022/src/app/seguridad/modelos/ReporteMarcador.mjs +0 -40
  429. package/esm2022/src/app/seguridad/modelos/ReporteSoporte.mjs +0 -10
  430. package/esm2022/src/app/seguridad/modelos/ReporteTabla.mjs +0 -13
  431. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +0 -9
  432. package/esm2022/src/app/seguridad/modelos/RolModel.mjs +0 -39
  433. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +0 -28
  434. package/esm2022/src/app/seguridad/modelos/SistemaMensajeModel.mjs +0 -9
  435. package/esm2022/src/app/seguridad/modelos/SitioPortalModel.mjs +0 -25
  436. package/esm2022/src/app/seguridad/modelos/TablaFromModel.mjs +0 -5
  437. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +0 -54
  438. package/esm2022/src/app/seguridad/modelos/TextoModel.mjs +0 -9
  439. package/esm2022/src/app/seguridad/modelos/TipoEtiqueta.mjs +0 -8
  440. package/esm2022/src/app/seguridad/modelos/UnionModel.mjs +0 -12
  441. package/esm2022/src/app/seguridad/modelos/UsuarioModel.mjs +0 -53
  442. package/esm2022/src/app/seguridad/modelos/UsuariogrupoModel.mjs +0 -24
  443. package/esm2022/src/app/seguridad/modelos/aplicacion-propiedad-model.mjs +0 -15
  444. package/esm2022/src/app/seguridad/modelos/contenidoCorreoModel.mjs +0 -10
  445. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +0 -154
  446. package/esm2022/src/app/shared/servicios/cargar-archivos.service.mjs +0 -54
  447. package/esm2022/src/app/shared/servicios/cargar-mapas.service.mjs +0 -46
  448. package/esm2022/src/app/shared/servicios/encriptado-basico.service.mjs +0 -53
  449. package/esm2022/src/app/shared/servicios/general.service.mjs +0 -104
  450. package/esm2022/src/app/shared/servicios/parametros-navegacion.service.mjs +0 -21
  451. package/esm2022/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.mjs +0 -378
  452. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +0 -187
  453. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.mjs +0 -85
  454. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.mjs +0 -347
  455. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +0 -206
  456. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +0 -329
  457. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +0 -1583
  458. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.mjs +0 -105
  459. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +0 -114
  460. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +0 -588
  461. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +0 -177
  462. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +0 -767
  463. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +0 -331
  464. package/esm2022/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.mjs +0 -96
  465. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +0 -675
  466. package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +0 -86
  467. package/esm2022/src/app/webcommon/pipes/fuente.pipe.mjs +0 -201
  468. package/esm2022/src/app/webcommon/pipes/general.pipe.mjs +0 -916
  469. package/esm2022/src/app/webcommon/pipes/reporte-columnario.pipe.mjs +0 -115
  470. package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +0 -301
  471. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +0 -267
  472. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +0 -128
  473. package/esm2022/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.mjs +0 -73
  474. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +0 -293
  475. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +0 -269
  476. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +0 -555
  477. package/esm2022/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.mjs +0 -64
  478. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +0 -162
  479. package/esm2022/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.mjs +0 -89
  480. package/esm2022/src/app/webcommon/services/carguelinea.service.mjs +0 -69
  481. package/esm2022/src/app/webcommon/services/dashboard.service.mjs +0 -253
  482. package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +0 -114
  483. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +0 -97
  484. package/esm2022/src/app/webcommon/services/fuentegeneral.service.mjs +0 -68
  485. package/esm2022/src/app/webcommon/services/homologacion.service.mjs +0 -50
  486. package/esm2022/src/app/webcommon/services/plantillas.service.mjs +0 -129
  487. package/esm2022/src/app/webcommon/services/reportes.service.mjs +0 -95
  488. package/esm2022/src/app/webcommon/webcommon.module.mjs +0 -15
  489. package/esm2022/src/environments/environment.mjs +0 -24
  490. package/fesm2022/general-library-union.mjs +0 -16036
  491. package/fesm2022/general-library-union.mjs.map +0 -1
  492. package/index.d.ts +0 -5
  493. package/src/app/core/componentes/breadcrumb/breadcrumb.component.d.ts +0 -18
  494. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.d.ts +0 -14
  495. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +0 -34
  496. package/src/app/core/componentes/footer/footer.component.d.ts +0 -9
  497. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.d.ts +0 -46
  498. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.d.ts +0 -44
  499. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.d.ts +0 -45
  500. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.d.ts +0 -33
  501. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.d.ts +0 -9
  502. package/src/app/core/componentes/inicio-component/inicio-component.component.d.ts +0 -26
  503. package/src/app/core/componentes/menu/menu.component.d.ts +0 -16
  504. package/src/app/core/componentes/tabla-general/tabla-general.component.d.ts +0 -32
  505. package/src/app/core/core.module.d.ts +0 -8
  506. package/src/app/core/errores/authentication.error.d.ts +0 -3
  507. package/src/app/core/modelos/error-response.model.d.ts +0 -9
  508. package/src/app/core/modelos/table-column.model.d.ts +0 -12
  509. package/src/app/core/modelos/user.model.d.ts +0 -6
  510. package/src/app/core/plantilla-general/plantilla-general.template.d.ts +0 -89
  511. package/src/app/core/servicios/auth.service.d.ts +0 -52
  512. package/src/app/core/servicios/cargar-control-funcionalidad.service.d.ts +0 -19
  513. package/src/app/core/servicios/data-exporter-table.utils.d.ts +0 -11
  514. package/src/app/core/servicios/error-interceptor.service.d.ts +0 -41
  515. package/src/app/core/servicios/guardias/auth.guard.d.ts +0 -17
  516. package/src/app/core/servicios/guardias/publico.guard.d.ts +0 -13
  517. package/src/app/core/servicios/interceptores/loading-interceptor.d.ts +0 -11
  518. package/src/app/core/servicios/interceptores/token-interceptor.service.d.ts +0 -26
  519. package/src/app/core/servicios/loading.service.d.ts +0 -22
  520. package/src/app/core/servicios/menu.service.d.ts +0 -35
  521. package/src/app/core/servicios/spinner-service.d.ts +0 -9
  522. package/src/app/core/servicios/storage.service.d.ts +0 -37
  523. package/src/app/core/servicios/template.service.d.ts +0 -20
  524. package/src/app/core/servicios/toast.service.d.ts +0 -48
  525. package/src/app/core/servicios/utils.service.d.ts +0 -43
  526. package/src/app/core/sharedlib.module.d.ts +0 -6
  527. package/src/app/core/utilidades/color.util.d.ts +0 -70
  528. package/src/app/layout/app.breadcrumb.component.d.ts +0 -28
  529. package/src/app/layout/app.footer.component.d.ts +0 -8
  530. package/src/app/layout/app.layout.component.d.ts +0 -39
  531. package/src/app/layout/app.layout.module.d.ts +0 -6
  532. package/src/app/layout/app.menu.component.d.ts +0 -19
  533. package/src/app/layout/app.menu.service.d.ts +0 -12
  534. package/src/app/layout/app.menuitem.component.d.ts +0 -41
  535. package/src/app/layout/app.menuprofile.component.d.ts +0 -18
  536. package/src/app/layout/app.rightmenu.component.d.ts +0 -10
  537. package/src/app/layout/app.sidebar.component.d.ts +0 -34
  538. package/src/app/layout/app.topbar.component.d.ts +0 -79
  539. package/src/app/layout/service/app.layout.service.d.ts +0 -57
  540. package/src/app/publico/pages/login/login.page.d.ts +0 -40
  541. package/src/app/publico/pages/not-found/not-found.page.d.ts +0 -17
  542. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.d.ts +0 -41
  543. package/src/app/publico/pages/timeout/timeout.page.d.ts +0 -10
  544. package/src/app/seguridad/constantes/ConstantesGenerales.d.ts +0 -25
  545. package/src/app/seguridad/constantes/ReporteEntradaConstantes.d.ts +0 -7
  546. package/src/app/seguridad/modelos/AplicacionModel.d.ts +0 -7
  547. package/src/app/seguridad/modelos/ArchivoPortalModel.d.ts +0 -13
  548. package/src/app/seguridad/modelos/AtributoPuntoModel.d.ts +0 -8
  549. package/src/app/seguridad/modelos/AtributoSSOportalModel.d.ts +0 -16
  550. package/src/app/seguridad/modelos/CargueLineaModel.d.ts +0 -12
  551. package/src/app/seguridad/modelos/ColoresRGB.d.ts +0 -17
  552. package/src/app/seguridad/modelos/ColumnaFuenteModel.d.ts +0 -8
  553. package/src/app/seguridad/modelos/ComplementoModel.d.ts +0 -6
  554. package/src/app/seguridad/modelos/ComponentePaginaModel.d.ts +0 -20
  555. package/src/app/seguridad/modelos/ConexionModel.d.ts +0 -13
  556. package/src/app/seguridad/modelos/ControlFuncionModel.d.ts +0 -7
  557. package/src/app/seguridad/modelos/CorreoModel.d.ts +0 -31
  558. package/src/app/seguridad/modelos/CorreoWSModel.d.ts +0 -33
  559. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.d.ts +0 -13
  560. package/src/app/seguridad/modelos/EmpresaModel.d.ts +0 -23
  561. package/src/app/seguridad/modelos/EmpresaSeguridadModel.d.ts +0 -18
  562. package/src/app/seguridad/modelos/EtiquetaModel.d.ts +0 -4
  563. package/src/app/seguridad/modelos/Etiquetas.d.ts +0 -10
  564. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.d.ts +0 -15
  565. package/src/app/seguridad/modelos/FuenteDato.d.ts +0 -18
  566. package/src/app/seguridad/modelos/FuenteEntradaModel.d.ts +0 -8
  567. package/src/app/seguridad/modelos/FuenteLineaServicioModel.d.ts +0 -16
  568. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.d.ts +0 -10
  569. package/src/app/seguridad/modelos/FuncionalidadModel.d.ts +0 -8
  570. package/src/app/seguridad/modelos/GeneralModel.d.ts +0 -8
  571. package/src/app/seguridad/modelos/GrupoControlFuncionModel.d.ts +0 -9
  572. package/src/app/seguridad/modelos/GrupoFuenteModel.d.ts +0 -13
  573. package/src/app/seguridad/modelos/GrupoPermisoModel.d.ts +0 -13
  574. package/src/app/seguridad/modelos/ListaServicioModel.d.ts +0 -16
  575. package/src/app/seguridad/modelos/LlaveForaneaModel.d.ts +0 -6
  576. package/src/app/seguridad/modelos/LoginModel.d.ts +0 -17
  577. package/src/app/seguridad/modelos/MensajeSistemaModel.d.ts +0 -7
  578. package/src/app/seguridad/modelos/ModulosModel.d.ts +0 -14
  579. package/src/app/seguridad/modelos/PaginaPortalModel.d.ts +0 -19
  580. package/src/app/seguridad/modelos/ParametroComponenteModel.d.ts +0 -8
  581. package/src/app/seguridad/modelos/ParametrosGeneralModel.d.ts +0 -8
  582. package/src/app/seguridad/modelos/PermisoFuncionModel.d.ts +0 -8
  583. package/src/app/seguridad/modelos/PermisocontenidoModel.d.ts +0 -18
  584. package/src/app/seguridad/modelos/PreguntaSeguridadModel.d.ts +0 -6
  585. package/src/app/seguridad/modelos/PropiedadModel.d.ts +0 -9
  586. package/src/app/seguridad/modelos/PublicacionWebModel.d.ts +0 -25
  587. package/src/app/seguridad/modelos/PuntoProcesoModel.d.ts +0 -6
  588. package/src/app/seguridad/modelos/RecursoPunto.d.ts +0 -12
  589. package/src/app/seguridad/modelos/RecursoPuntoModel.d.ts +0 -12
  590. package/src/app/seguridad/modelos/ReporteBanda.d.ts +0 -7
  591. package/src/app/seguridad/modelos/ReporteColumna.d.ts +0 -32
  592. package/src/app/seguridad/modelos/ReporteColumnario.d.ts +0 -68
  593. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.d.ts +0 -23
  594. package/src/app/seguridad/modelos/ReporteMarcador.d.ts +0 -39
  595. package/src/app/seguridad/modelos/ReporteSoporte.d.ts +0 -9
  596. package/src/app/seguridad/modelos/ReporteTabla.d.ts +0 -12
  597. package/src/app/seguridad/modelos/RespuestaModel.d.ts +0 -8
  598. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +0 -25
  599. package/src/app/seguridad/modelos/SistemaMensajeModel.d.ts +0 -8
  600. package/src/app/seguridad/modelos/SitioPortalModel.d.ts +0 -24
  601. package/src/app/seguridad/modelos/TablaFromModel.d.ts +0 -4
  602. package/src/app/seguridad/modelos/TareasModel.d.ts +0 -49
  603. package/src/app/seguridad/modelos/TextoModel.d.ts +0 -8
  604. package/src/app/seguridad/modelos/TipoEtiqueta.d.ts +0 -7
  605. package/src/app/seguridad/modelos/UnionModel.d.ts +0 -11
  606. package/src/app/seguridad/modelos/UsuariogrupoModel.d.ts +0 -22
  607. package/src/app/seguridad/modelos/aplicacion-propiedad-model.d.ts +0 -13
  608. package/src/app/seguridad/modelos/contenidoCorreoModel.d.ts +0 -9
  609. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.d.ts +0 -47
  610. package/src/app/shared/servicios/cargar-archivos.service.d.ts +0 -15
  611. package/src/app/shared/servicios/cargar-mapas.service.d.ts +0 -18
  612. package/src/app/shared/servicios/encriptado-basico.service.d.ts +0 -10
  613. package/src/app/shared/servicios/general.service.d.ts +0 -24
  614. package/src/app/shared/servicios/parametros-navegacion.service.d.ts +0 -9
  615. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.d.ts +0 -79
  616. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.d.ts +0 -79
  617. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.d.ts +0 -29
  618. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.d.ts +0 -69
  619. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.d.ts +0 -51
  620. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.d.ts +0 -77
  621. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +0 -278
  622. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.d.ts +0 -42
  623. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +0 -35
  624. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +0 -143
  625. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.d.ts +0 -49
  626. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +0 -131
  627. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.d.ts +0 -64
  628. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.d.ts +0 -33
  629. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.d.ts +0 -149
  630. package/src/app/webcommon/pipes/dashboard.pipe.d.ts +0 -48
  631. package/src/app/webcommon/pipes/fuente.pipe.d.ts +0 -136
  632. package/src/app/webcommon/pipes/general.pipe.d.ts +0 -646
  633. package/src/app/webcommon/pipes/reporte-columnario.pipe.d.ts +0 -59
  634. package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +0 -193
  635. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.d.ts +0 -59
  636. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.d.ts +0 -27
  637. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.d.ts +0 -21
  638. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.d.ts +0 -64
  639. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.d.ts +0 -63
  640. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.d.ts +0 -105
  641. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.d.ts +0 -21
  642. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +0 -42
  643. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.d.ts +0 -30
  644. package/src/app/webcommon/services/carguelinea.service.d.ts +0 -19
  645. package/src/app/webcommon/services/dashboard.service.d.ts +0 -27
  646. package/src/app/webcommon/services/ejecucionreporte.service.d.ts +0 -34
  647. package/src/app/webcommon/services/fechaUtils.service.d.ts +0 -30
  648. package/src/app/webcommon/services/fuentegeneral.service.d.ts +0 -24
  649. package/src/app/webcommon/services/homologacion.service.d.ts +0 -17
  650. package/src/app/webcommon/services/plantillas.service.d.ts +0 -26
  651. package/src/app/webcommon/services/reportes.service.d.ts +0 -35
  652. package/src/app/webcommon/webcommon.module.d.ts +0 -6
  653. package/src/environments/environment.d.ts +0 -7
@@ -1,206 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormControl, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
3
- import { TranslateModule } from '@ngx-translate/core';
4
- import { ConfirmationService, MessageService } from 'primeng/api';
5
- import { ReporteFuentePipe } from '../../../pipes/reporte-fuente.pipe';
6
- import { ReporteEntradaModel } from '../../../../seguridad/modelos/ReporteEntradaModel';
7
- import { GeneralModel } from '../../../../seguridad/modelos/GeneralModel';
8
- import { CommonModule } from '@angular/common';
9
- import { ButtonModule } from 'primeng/button';
10
- import { TableModule } from 'primeng/table';
11
- import { DropdownModule } from 'primeng/dropdown';
12
- import { ConfirmPopupModule } from 'primeng/confirmpopup';
13
- import { PaginatorModule } from 'primeng/paginator';
14
- import { InputTextModule } from 'primeng/inputtext';
15
- import { FloatLabelModule } from 'primeng/floatlabel';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/forms";
18
- import * as i2 from "../../../../core/servicios/toast.service";
19
- import * as i3 from "../../../../shared/servicios/general.service";
20
- import * as i4 from "primeng/api";
21
- import * as i5 from "../../../services/ejecucionreporte.service";
22
- import * as i6 from "../../../pipes/general.pipe";
23
- import * as i7 from "@ngx-translate/core";
24
- import * as i8 from "../../../pipes/reporte-fuente.pipe";
25
- import * as i9 from "@angular/common";
26
- import * as i10 from "primeng/button";
27
- import * as i11 from "primeng/table";
28
- import * as i12 from "primeng/dropdown";
29
- import * as i13 from "primeng/confirmpopup";
30
- import * as i14 from "primeng/inputtext";
31
- import * as i15 from "primeng/floatlabel";
32
- export class DetalleEntradaReporteComponent {
33
- formBuilder;
34
- notificacionesBusService;
35
- generalService;
36
- confirmationService;
37
- reporteService;
38
- generalPipe;
39
- translateService;
40
- reporteFuentePipe;
41
- formReporteEntrada;
42
- listaTipo;
43
- listaTipoDato;
44
- listaSiNo;
45
- reporteEntrada;
46
- submitted = false;
47
- vistaVisualizar;
48
- listaEntrada = [];
49
- listaFuente = [];
50
- llaveReporte;
51
- modificarReporte;
52
- regresar = new EventEmitter;
53
- paginator = {
54
- rows: 10,
55
- totalRecords: 0
56
- };
57
- constructor(formBuilder, notificacionesBusService, generalService, confirmationService, reporteService, generalPipe, translateService, reporteFuentePipe) {
58
- this.formBuilder = formBuilder;
59
- this.notificacionesBusService = notificacionesBusService;
60
- this.generalService = generalService;
61
- this.confirmationService = confirmationService;
62
- this.reporteService = reporteService;
63
- this.generalPipe = generalPipe;
64
- this.translateService = translateService;
65
- this.reporteFuentePipe = reporteFuentePipe;
66
- }
67
- ngOnInit() {
68
- this.listaTipo = this.reporteFuentePipe.TIPOS_ENTRADA;
69
- this.listaTipoDato = this.reporteFuentePipe.TIPOS_DATO;
70
- this.listaSiNo = this.generalPipe.LISTA_SINO;
71
- }
72
- cargarListaEntrada(event) {
73
- this.generalService.queryForList(new GeneralModel('ReporteEntradaDTO', null, false, {
74
- reporteFuente: this.llaveReporte,
75
- paginacionRegistroInicial: event.first,
76
- paginacionRegistroFinal: event.rows,
77
- })).subscribe(data => {
78
- this.listaEntrada = data;
79
- this.generalService.cantidadRegistros(new GeneralModel('ReporteEntradaDTO', null, false, {
80
- reporteFuente: this.llaveReporte,
81
- })).subscribe(data => {
82
- this.paginator.totalRecords = data;
83
- });
84
- this.generalService.queryForList(new GeneralModel('FuenteDatoDTO', null, false, { origen: 'L' })).subscribe(data => {
85
- this.listaFuente = data;
86
- });
87
- });
88
- }
89
- cargarFormularioReporteEntrada() {
90
- this.formReporteEntrada = this.formBuilder.group({
91
- descripcion: new FormControl(this.reporteEntrada.descripcion, [Validators.required]),
92
- parametro: new FormControl(this.reporteEntrada.parametro, [Validators.required]),
93
- tipo: new FormControl(this.reporteEntrada.tipo, [Validators.required]),
94
- tipoDato: new FormControl(this.reporteEntrada.tipoDato, [Validators.required]),
95
- fuenteDato: new FormControl(this.reporteEntrada.fuenteDato),
96
- valorDefecto: new FormControl(this.reporteEntrada.valorDefecto),
97
- orden: new FormControl(this.reporteEntrada.orden),
98
- parametroEntrada: new FormControl(this.reporteEntrada.parametroEntrada),
99
- formato: new FormControl(this.reporteEntrada.formato),
100
- solicitar: new FormControl(this.reporteEntrada.solicitar, [Validators.required]),
101
- llave: new FormControl(this.reporteEntrada.llave),
102
- reporteFuente: new FormControl(this.reporteEntrada.reporteFuente)
103
- });
104
- console.log('cargado form reporte entrada');
105
- }
106
- actualizarTipo() {
107
- console.log(this.formReporteEntrada.value);
108
- if (this.formReporteEntrada.value.tipo === this.reporteFuentePipe.TIPO_DIRECTO) {
109
- this.formReporteEntrada.get('tipoDato').setValidators(Validators.required);
110
- this.formReporteEntrada.get('fuenteDato').clearValidators();
111
- }
112
- else if (this.formReporteEntrada.value.tipo === this.reporteFuentePipe.TIPO_LISTA) {
113
- this.formReporteEntrada.get('fuenteDato').setValidators(Validators.required);
114
- this.formReporteEntrada.get('tipoDato').clearValidators();
115
- }
116
- this.formReporteEntrada.controls['fuenteDato'].updateValueAndValidity();
117
- this.formReporteEntrada.controls['tipoDato'].updateValueAndValidity();
118
- }
119
- verAction(event) {
120
- this.reporteEntrada = event.data;
121
- this.vistaVisualizar = 'detalle';
122
- this.cargarFormularioReporteEntrada();
123
- }
124
- nuevoEntrada() {
125
- this.vistaVisualizar = 'detalle';
126
- this.reporteEntrada = new ReporteEntradaModel();
127
- //this.reporteEntrada.tipo = this.reporteFuentePipe.TIPO_DIRECTO;
128
- this.cargarFormularioReporteEntrada();
129
- }
130
- isDirecto() {
131
- return this.formReporteEntrada.value.tipo != null && this.formReporteEntrada.value.tipo === this.reporteFuentePipe.TIPO_DIRECTO;
132
- }
133
- isLista() {
134
- return this.formReporteEntrada.value.tipo != null && this.formReporteEntrada.value.tipo === this.reporteFuentePipe.TIPO_LISTA;
135
- }
136
- eliminar(event) {
137
- this.confirmationService.confirm({
138
- target: event.target,
139
- message: this.generalPipe.MENSAJE_ELIMINAR_CONFIRMAR,
140
- acceptLabel: this.generalPipe.SI_DESC,
141
- header: this.translateService.instant('confirmar'),
142
- accept: () => {
143
- let entradaEliminar = this.formReporteEntrada.value;
144
- this.generalService.delete(new GeneralModel('ReporteEntradaDTO', null, false, entradaEliminar)).subscribe(data => {
145
- if (data == 1) {
146
- this.notificacionesBusService.showSuccess(this.generalPipe.MENSAJE_ELIMINAR);
147
- this.vistaVisualizar = null;
148
- this.listaEntrada = this.listaEntrada.filter((item) => item.llave !== entradaEliminar.llave);
149
- this.regresar.emit(this.listaEntrada);
150
- }
151
- else {
152
- this.notificacionesBusService.showSuccess(this.generalPipe.MENSAJE_ELIMINAR_NO);
153
- }
154
- }, err => {
155
- var data = JSON.stringify(err.error.mensajeEtiqueta);
156
- if (data.includes('ORA-02292')) {
157
- this.notificacionesBusService.showError('El regitro se utiliza en otros tareas, No es posible eliminarlo');
158
- }
159
- });
160
- }
161
- });
162
- }
163
- actualizar() {
164
- this.submitted = true;
165
- if (!this.formReporteEntrada.valid) {
166
- this.notificacionesBusService.showError('Faltan campos obligatorios');
167
- Object.keys(this.formReporteEntrada.controls).forEach((key) => {
168
- if (this.formReporteEntrada.get(key).errors) {
169
- this.formReporteEntrada.get(key).markAsDirty();
170
- }
171
- });
172
- return;
173
- }
174
- let entradaActualizar = this.formReporteEntrada.value;
175
- let actualizar = entradaActualizar.reporteFuente != null;
176
- entradaActualizar.reporteFuente = this.llaveReporte;
177
- this.reporteService.guardarEntrada(entradaActualizar).subscribe(data => {
178
- if (data != null) {
179
- entradaActualizar = data;
180
- this.vistaVisualizar = null;
181
- if (actualizar) {
182
- this.listaEntrada = this.listaEntrada.filter((item) => item.llave !== entradaActualizar.llave);
183
- }
184
- this.listaEntrada.push(entradaActualizar);
185
- this.regresar.emit(this.listaEntrada);
186
- this.notificacionesBusService.showSuccess(this.generalPipe.MENSAJE_ACTUALIZAR);
187
- }
188
- else {
189
- this.notificacionesBusService.showSuccess(this.generalPipe.MENSAJE_ACTUALIZAR_NO);
190
- }
191
- });
192
- }
193
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DetalleEntradaReporteComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ToastService }, { token: i3.GeneralService }, { token: i4.ConfirmationService }, { token: i5.EjecucionReporteService }, { token: i6.GeneralPipe }, { token: i7.TranslateService }, { token: i8.ReporteFuentePipe }], target: i0.ɵɵFactoryTarget.Component });
194
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: DetalleEntradaReporteComponent, isStandalone: true, selector: "detalle-entrada-reporte", inputs: { llaveReporte: "llaveReporte", modificarReporte: "modificarReporte" }, outputs: { regresar: "regresar" }, providers: [ConfirmationService, MessageService], ngImport: i0, template: "<!--<p-confirmDialog header=\"'confirmar')\" icon=\"pi pi-exclamation-triangle\"></p-confirmDialog>-->\r\n<p-confirmPopup></p-confirmPopup>\r\n<div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\r\n <h1 class=\"text-xl mb-1\">{{'entrada' | translate}}</h1>\r\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\" (click)=\"nuevoEntrada()\" \r\n *ngIf=\"vistaVisualizar != 'detalle'\" label=\"{{'link_nuevo' | translate}}\" >\r\n </button>\r\n <div class=\"flex justify-content-end mb-3 mb-1\" *ngIf=\"vistaVisualizar =='detalle'\">\r\n <button pButton pRipple (click)=\"vistaVisualizar = null\" label= \"{{'listado' | translate}} {{'entrada' | translate}}\" \r\n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\r\n </div>\r\n</div>\r\n\r\n<p-table [value]=\"listaEntrada\" responsiveLayout=\"scroll\" [scrollable]=\"true\" [showCurrentPageReport]=\"true\" *ngIf=\"vistaVisualizar != 'detalle'\"\r\n selectionMode=\"single\" dataKey=\"llave\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\"\r\n (onRowSelect)=\"verAction($event)\" (onRowUnselect)=\"verAction($event)\" [rows]=\"paginator.rows\" [totalRecords]=\"paginator.totalRecords\" [paginator]=\"paginator.totalRecords > paginator.rows\"\r\n [lazy]=\"true\" (onLazyLoad)=\"cargarListaEntrada($event)\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>{{'descripcion' | translate }} </th>\r\n <th>{{'tipo' | translate }} </th>\r\n <th>{{'parametro' | translate }} </th>\r\n <th>{{'valorpordefecto' | translate }} </th>\r\n <th>{{'orden' | translate }} </th>\r\n </tr>\r\n <th>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-entrada>\r\n <tr [pSelectableRow]=\"entrada\">\r\n <td>{{entrada.descripcion}}</td>\r\n <td>{{entrada.tipoDato | reporteFuentePipe: 'listaTipoDato'}}</td>\r\n <td>{{entrada.parametro}}</td>\r\n <td>{{entrada.valorDefecto}}</td>\r\n <td>{{entrada.orden}}</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td colspan=\"100\" class=\"p-3 font-medium emptymessage\">{{'mensajetablavacia' | translate}}</td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n\r\n<div class=\"card mt-3\" *ngIf=\"vistaVisualizar == 'detalle'\">\r\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\r\n <form [formGroup]=\"formReporteEntrada\" >\r\n <div class=\"col-md-12\">\r\n <div class=\"Detallereporte mt-2\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div class=\"field col-12 md:col-6\">\r\n <p-floatLabel>\r\n <input pInputText id=\"descripcion\" type=\"text\" formControlName=\"descripcion\" size=\"40\">\r\n <label htmlFor=\"descripcion\">{{'descripcion' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <p-floatLabel>\r\n <input pInputText id=\"parametro\" type=\"text\" formControlName=\"parametro\" size=\"25\"\r\n maxlength=\"100\">\r\n <label htmlFor=\"parametro\">{{'parametro' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaTipo\" [autoDisplayFirst]=\"false\" formControlName=\"tipo\"\r\n optionLabel=\"nombre\" optionValue=\"codigo\" (onChange)=\"actualizarTipo()\"></p-dropdown>\r\n <label htmlFor=\"tipo\">{{'tipo' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"isDirecto()\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaTipoDato\" [autoDisplayFirst]=\"false\" formControlName=\"tipoDato\"\r\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\r\n <label htmlFor=\"tipoDato\">{{'tipodato' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"isLista()\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaFuente\" [autoDisplayFirst]=\"false\" formControlName=\"fuenteDato\"\r\n optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\r\n <label htmlFor=\"fuenteDato\">{{'fuente' | translate }} {{'dato' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <input pInputText id=\"valorDefecto\" type=\"text\" formControlName=\"valorDefecto\">\r\n <label htmlFor=\"valorDefecto\">{{'valorpordefecto' | translate }}</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <input pInputText id=\"orden\" type=\"text\" formControlName=\"orden\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\">\r\n <label htmlFor=\"orden\">{{'orden' | translate }}</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\" *ngIf=\"isLista()\">\r\n <p-floatLabel>\r\n <input pInputText id=\"parametroEntrada\" type=\"text\" formControlName=\"parametroEntrada\">\r\n <label htmlFor=\"parametroEntrada\">{{'entrada' | translate }}s</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <input pInputText id=\"formato\" type=\"text\" formControlName=\"formato\">\r\n <label htmlFor=\"formato\">{{'formato' | translate }}</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaSiNo\" formControlName=\"solicitar\" optionLabel=\"nombre\" [autoDisplayFirst]=\"false\"\r\n optionValue=\"codigo\">\r\n </p-dropdown>\r\n <label htmlFor=\"solicitar\">{{'solicitar' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n </div>\r\n <!--BOTONES-->\r\n <div class=\"flex justify-content-end mb-3\">\r\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" (click)=\"actualizar()\"\r\n icon=\"glyphicons {{reporteEntrada.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" \r\n label=\"{{reporteEntrada.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" >\r\n </button>\r\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\" *ngIf=\"reporteEntrada.llave != null\"\r\n label=\"{{'link_eliminar' | translate}}\" (click)=\"eliminar($event)\">\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i10.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i11.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i11.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i12.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "pipe", type: ReporteFuentePipe, name: "reporteFuentePipe" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i13.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i14.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i15.FloatLabel, selector: "p-floatLabel" }] });
195
- }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DetalleEntradaReporteComponent, decorators: [{
197
- type: Component,
198
- args: [{ selector: 'detalle-entrada-reporte', imports: [CommonModule, TranslateModule, ButtonModule, TableModule, DropdownModule, FormsModule, ReporteFuentePipe, ReactiveFormsModule, ConfirmPopupModule, PaginatorModule, InputTextModule, FloatLabelModule], standalone: true, providers: [ConfirmationService, MessageService], template: "<!--<p-confirmDialog header=\"'confirmar')\" icon=\"pi pi-exclamation-triangle\"></p-confirmDialog>-->\r\n<p-confirmPopup></p-confirmPopup>\r\n<div class=\"flex justify-content-between align-items-center mt-2 mb-2\">\r\n <h1 class=\"text-xl mb-1\">{{'entrada' | translate}}</h1>\r\n <button pButton pRipple class=\"p-button-secondary font-semibold\" icon=\"pi pi-plus\" (click)=\"nuevoEntrada()\" \r\n *ngIf=\"vistaVisualizar != 'detalle'\" label=\"{{'link_nuevo' | translate}}\" >\r\n </button>\r\n <div class=\"flex justify-content-end mb-3 mb-1\" *ngIf=\"vistaVisualizar =='detalle'\">\r\n <button pButton pRipple (click)=\"vistaVisualizar = null\" label= \"{{'listado' | translate}} {{'entrada' | translate}}\" \r\n icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 \"></button>\r\n </div>\r\n</div>\r\n\r\n<p-table [value]=\"listaEntrada\" responsiveLayout=\"scroll\" [scrollable]=\"true\" [showCurrentPageReport]=\"true\" *ngIf=\"vistaVisualizar != 'detalle'\"\r\n selectionMode=\"single\" dataKey=\"llave\" currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\"\r\n (onRowSelect)=\"verAction($event)\" (onRowUnselect)=\"verAction($event)\" [rows]=\"paginator.rows\" [totalRecords]=\"paginator.totalRecords\" [paginator]=\"paginator.totalRecords > paginator.rows\"\r\n [lazy]=\"true\" (onLazyLoad)=\"cargarListaEntrada($event)\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>{{'descripcion' | translate }} </th>\r\n <th>{{'tipo' | translate }} </th>\r\n <th>{{'parametro' | translate }} </th>\r\n <th>{{'valorpordefecto' | translate }} </th>\r\n <th>{{'orden' | translate }} </th>\r\n </tr>\r\n <th>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-entrada>\r\n <tr [pSelectableRow]=\"entrada\">\r\n <td>{{entrada.descripcion}}</td>\r\n <td>{{entrada.tipoDato | reporteFuentePipe: 'listaTipoDato'}}</td>\r\n <td>{{entrada.parametro}}</td>\r\n <td>{{entrada.valorDefecto}}</td>\r\n <td>{{entrada.orden}}</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td colspan=\"100\" class=\"p-3 font-medium emptymessage\">{{'mensajetablavacia' | translate}}</td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n\r\n<div class=\"card mt-3\" *ngIf=\"vistaVisualizar == 'detalle'\">\r\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-notes\"></i>{{'detalle' | translate}}</h5>\r\n <form [formGroup]=\"formReporteEntrada\" >\r\n <div class=\"col-md-12\">\r\n <div class=\"Detallereporte mt-2\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div class=\"field col-12 md:col-6\">\r\n <p-floatLabel>\r\n <input pInputText id=\"descripcion\" type=\"text\" formControlName=\"descripcion\" size=\"40\">\r\n <label htmlFor=\"descripcion\">{{'descripcion' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <p-floatLabel>\r\n <input pInputText id=\"parametro\" type=\"text\" formControlName=\"parametro\" size=\"25\"\r\n maxlength=\"100\">\r\n <label htmlFor=\"parametro\">{{'parametro' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaTipo\" [autoDisplayFirst]=\"false\" formControlName=\"tipo\"\r\n optionLabel=\"nombre\" optionValue=\"codigo\" (onChange)=\"actualizarTipo()\"></p-dropdown>\r\n <label htmlFor=\"tipo\">{{'tipo' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"isDirecto()\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaTipoDato\" [autoDisplayFirst]=\"false\" formControlName=\"tipoDato\"\r\n optionLabel=\"nombre\" optionValue=\"codigo\"></p-dropdown>\r\n <label htmlFor=\"tipoDato\">{{'tipodato' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"isLista()\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaFuente\" [autoDisplayFirst]=\"false\" formControlName=\"fuenteDato\"\r\n optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\r\n <label htmlFor=\"fuenteDato\">{{'fuente' | translate }} {{'dato' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <input pInputText id=\"valorDefecto\" type=\"text\" formControlName=\"valorDefecto\">\r\n <label htmlFor=\"valorDefecto\">{{'valorpordefecto' | translate }}</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <input pInputText id=\"orden\" type=\"text\" formControlName=\"orden\" oninput=\"this.value = this.value.replace(/[^0-9]/g, '').slice(0, 5);\">\r\n <label htmlFor=\"orden\">{{'orden' | translate }}</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\" *ngIf=\"isLista()\">\r\n <p-floatLabel>\r\n <input pInputText id=\"parametroEntrada\" type=\"text\" formControlName=\"parametroEntrada\">\r\n <label htmlFor=\"parametroEntrada\">{{'entrada' | translate }}s</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <input pInputText id=\"formato\" type=\"text\" formControlName=\"formato\">\r\n <label htmlFor=\"formato\">{{'formato' | translate }}</label>\r\n </p-floatLabel>\r\n </div>\r\n <div class=\"field col-12 md:col-3\">\r\n <p-floatLabel>\r\n <p-dropdown [options]=\"listaSiNo\" formControlName=\"solicitar\" optionLabel=\"nombre\" [autoDisplayFirst]=\"false\"\r\n optionValue=\"codigo\">\r\n </p-dropdown>\r\n <label htmlFor=\"solicitar\">{{'solicitar' | translate }} *</label>\r\n </p-floatLabel>\r\n </div>\r\n </div>\r\n <!--BOTONES-->\r\n <div class=\"flex justify-content-end mb-3\">\r\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" (click)=\"actualizar()\"\r\n icon=\"glyphicons {{reporteEntrada.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" \r\n label=\"{{reporteEntrada.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\" >\r\n </button>\r\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\" *ngIf=\"reporteEntrada.llave != null\"\r\n label=\"{{'link_eliminar' | translate}}\" (click)=\"eliminar($event)\">\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n</div>\r\n" }]
199
- }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ToastService }, { type: i3.GeneralService }, { type: i4.ConfirmationService }, { type: i5.EjecucionReporteService }, { type: i6.GeneralPipe }, { type: i7.TranslateService }, { type: i8.ReporteFuentePipe }], propDecorators: { llaveReporte: [{
200
- type: Input
201
- }], modificarReporte: [{
202
- type: Input
203
- }], regresar: [{
204
- type: Output
205
- }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWxsZS1lbnRyYWRhLXJlcG9ydGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC93ZWJjb21tb24vcGFnZXMvZWplY3VjaW9uLXJlcG9ydGUvZGV0YWxsZS1lbnRyYWRhLXJlcG9ydGUvZGV0YWxsZS1lbnRyYWRhLXJlcG9ydGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC93ZWJjb21tb24vcGFnZXMvZWplY3VjaW9uLXJlcG9ydGUvZGV0YWxsZS1lbnRyYWRhLXJlcG9ydGUvZGV0YWxsZS1lbnRyYWRhLXJlcG9ydGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsV0FBVyxFQUFhLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUkxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxN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QUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBDb25maXJtRXZlbnRUeXBlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgUmVwb3J0ZUZ1ZW50ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9yZXBvcnRlLWZ1ZW50ZS5waXBlJztcclxuaW1wb3J0IHsgRWplY3VjaW9uUmVwb3J0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lamVjdWNpb25yZXBvcnRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGdWVudGVEYXRvTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9GdWVudGVEYXRvJztcclxuaW1wb3J0IHsgUmVwb3J0ZUVudHJhZGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL1JlcG9ydGVFbnRyYWRhTW9kZWwnO1xyXG5pbXBvcnQgeyBHZW5lcmFsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9HZW5lcmFsTW9kZWwnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJhbFBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9nZW5lcmFsLnBpcGUnO1xyXG5pbXBvcnQgeyBHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNpb3MvZ2VuZXJhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBDb25maXJtUG9wdXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NvbmZpcm1wb3B1cCc7XHJcbmltcG9ydCB7IFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5pbXBvcnQgeyBGbG9hdExhYmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9mbG9hdGxhYmVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGV0YWxsZS1lbnRyYWRhLXJlcG9ydGUnLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQnV0dG9uTW9kdWxlLCBUYWJsZU1vZHVsZSwgRHJvcGRvd25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZXBvcnRlRnVlbnRlUGlwZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQ29uZmlybVBvcHVwTW9kdWxlLCBQYWdpbmF0b3JNb2R1bGUsIElucHV0VGV4dE1vZHVsZSwgRmxvYXRMYWJlbE1vZHVsZV0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RldGFsbGUtZW50cmFkYS1yZXBvcnRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kZXRhbGxlLWVudHJhZGEtcmVwb3J0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0NvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGV0YWxsZUVudHJhZGFSZXBvcnRlQ29tcG9uZW50ICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBmb3JtUmVwb3J0ZUVudHJhZGE6IEZvcm1Hcm91cDtcclxuICBwdWJsaWMgbGlzdGFUaXBvO1xyXG4gIHB1YmxpYyBsaXN0YVRpcG9EYXRvO1xyXG4gIHB1YmxpYyBsaXN0YVNpTm87XHJcblxyXG4gIHB1YmxpYyByZXBvcnRlRW50cmFkYTpSZXBvcnRlRW50cmFkYU1vZGVsO1xyXG4gIHB1YmxpYyBzdWJtaXR0ZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgdmlzdGFWaXN1YWxpemFyOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBsaXN0YUVudHJhZGEgOiBSZXBvcnRlRW50cmFkYU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgbGlzdGFGdWVudGUgOiBGdWVudGVEYXRvTW9kZWxbXSA9IFtdICA7XHJcbiAgQElucHV0KCkgcHVibGljIGxsYXZlUmVwb3J0ZSA6IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgbW9kaWZpY2FyUmVwb3J0ZSA6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcjtcclxuXHJcbiAgcGFnaW5hdG9yPXtcclxuICAgIHJvd3M6MTAsXHJcbiAgICB0b3RhbFJlY29yZHM6MFxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBub3RpZmljYWNpb25lc0J1c1NlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGdlbmVyYWxTZXJ2aWNlOiBHZW5lcmFsU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZXBvcnRlU2VydmljZTogRWplY3VjaW9uUmVwb3J0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBnZW5lcmFsUGlwZTogR2VuZXJhbFBpcGUsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVwb3J0ZUZ1ZW50ZVBpcGU6IFJlcG9ydGVGdWVudGVQaXBlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGlzdGFUaXBvID0gdGhpcy5yZXBvcnRlRnVlbnRlUGlwZS5USVBPU19FTlRSQURBIDtcclxuICAgIHRoaXMubGlzdGFUaXBvRGF0byA9IHRoaXMucmVwb3J0ZUZ1ZW50ZVBpcGUuVElQT1NfREFUTztcclxuICAgIHRoaXMubGlzdGFTaU5vID0gdGhpcy5nZW5lcmFsUGlwZS5MSVNUQV9TSU5PXHJcbiAgICBcclxuICB9XHJcblxyXG4gIGNhcmdhckxpc3RhRW50cmFkYShldmVudCl7XHJcbiAgICB0aGlzLmdlbmVyYWxTZXJ2aWNlLnF1ZXJ5Rm9yTGlzdChuZXcgR2VuZXJhbE1vZGVsKCdSZXBvcnRlRW50cmFkYURUTycsIG51bGwsIGZhbHNlLCB7XHJcbiAgICAgIHJlcG9ydGVGdWVudGU6IHRoaXMubGxhdmVSZXBvcnRlLFxyXG4gICAgICBwYWdpbmFjaW9uUmVnaXN0cm9JbmljaWFsOiBldmVudC5maXJzdCxcclxuICAgICAgcGFnaW5hY2lvblJlZ2lzdHJvRmluYWw6IGV2ZW50LnJvd3MsXHJcbiAgICB9KSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLmxpc3RhRW50cmFkYSA9IGRhdGE7XHJcbiAgICAgIHRoaXMuZ2VuZXJhbFNlcnZpY2UuY2FudGlkYWRSZWdpc3Ryb3MobmV3IEdlbmVyYWxNb2RlbCgnUmVwb3J0ZUVudHJhZGFEVE8nLCBudWxsLCBmYWxzZSwge1xyXG4gICAgICAgIHJlcG9ydGVGdWVudGU6IHRoaXMubGxhdmVSZXBvcnRlLFxyXG4gICAgICB9KSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnRvdGFsUmVjb3JkcyA9IGRhdGE7XHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ0Z1ZW50ZURhdG9EVE8nLCBudWxsLCBmYWxzZSwge29yaWdlbjogJ0wnfSkpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICB0aGlzLmxpc3RhRnVlbnRlID0gZGF0YTtcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FyZ2FyRm9ybXVsYXJpb1JlcG9ydGVFbnRyYWRhKCl7XHJcbiAgICB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBkZXNjcmlwY2lvbjogbmV3IEZvcm1Db250cm9sKHRoaXMucmVwb3J0ZUVudHJhZGEuZGVzY3JpcGNpb24sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgIHBhcmFtZXRybzogbmV3IEZvcm1Db250cm9sKHRoaXMucmVwb3J0ZUVudHJhZGEucGFyYW1ldHJvLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICB0aXBvOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5yZXBvcnRlRW50cmFkYS50aXBvLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICB0aXBvRGF0bzogbmV3IEZvcm1Db250cm9sKHRoaXMucmVwb3J0ZUVudHJhZGEudGlwb0RhdG8sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgIGZ1ZW50ZURhdG8gIDogbmV3IEZvcm1Db250cm9sKHRoaXMucmVwb3J0ZUVudHJhZGEuZnVlbnRlRGF0byksXHJcbiAgICAgIHZhbG9yRGVmZWN0bzogbmV3IEZvcm1Db250cm9sKHRoaXMucmVwb3J0ZUVudHJhZGEudmFsb3JEZWZlY3RvKSxcclxuICAgICAgb3JkZW46IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlcG9ydGVFbnRyYWRhLm9yZGVuKSxcclxuICAgICAgcGFyYW1ldHJvRW50cmFkYTogbmV3IEZvcm1Db250cm9sKHRoaXMucmVwb3J0ZUVudHJhZGEucGFyYW1ldHJvRW50cmFkYSksXHJcbiAgICAgIGZvcm1hdG86IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlcG9ydGVFbnRyYWRhLmZvcm1hdG8pLFxyXG4gICAgICBzb2xpY2l0YXI6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlcG9ydGVFbnRyYWRhLnNvbGljaXRhciwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgICAgbGxhdmU6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlcG9ydGVFbnRyYWRhLmxsYXZlKSxcclxuICAgICAgcmVwb3J0ZUZ1ZW50ZTogbmV3IEZvcm1Db250cm9sKHRoaXMucmVwb3J0ZUVudHJhZGEucmVwb3J0ZUZ1ZW50ZSlcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2coJ2NhcmdhZG8gZm9ybSByZXBvcnRlIGVudHJhZGEnKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFjdHVhbGl6YXJUaXBvKCl7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS52YWx1ZSlcclxuICAgIGlmICh0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS52YWx1ZS50aXBvID09PSB0aGlzLnJlcG9ydGVGdWVudGVQaXBlLlRJUE9fRElSRUNUTyl7XHJcbiAgICAgIHRoaXMuZm9ybVJlcG9ydGVFbnRyYWRhLmdldCgndGlwb0RhdG8nKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS5nZXQoJ2Z1ZW50ZURhdG8nKS5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIH1lbHNlIGlmICh0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS52YWx1ZS50aXBvID09PSB0aGlzLnJlcG9ydGVGdWVudGVQaXBlLlRJUE9fTElTVEEpe1xyXG4gICAgICB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS5nZXQoJ2Z1ZW50ZURhdG8nKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS5nZXQoJ3RpcG9EYXRvJykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS5jb250cm9sc1snZnVlbnRlRGF0byddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuZm9ybVJlcG9ydGVFbnRyYWRhLmNvbnRyb2xzWyd0aXBvRGF0byddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdmVyQWN0aW9uKGV2ZW50KXtcclxuICAgIHRoaXMucmVwb3J0ZUVudHJhZGEgPSBldmVudC5kYXRhO1xyXG4gICAgdGhpcy52aXN0YVZpc3VhbGl6YXIgPSAnZGV0YWxsZSc7XHJcbiAgICB0aGlzLmNhcmdhckZvcm11bGFyaW9SZXBvcnRlRW50cmFkYSgpO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBudWV2b0VudHJhZGEoKXtcclxuICAgIHRoaXMudmlzdGFWaXN1YWxpemFyID0gJ2RldGFsbGUnO1xyXG4gICAgdGhpcy5yZXBvcnRlRW50cmFkYSA9IG5ldyBSZXBvcnRlRW50cmFkYU1vZGVsKCk7XHJcbiAgICAvL3RoaXMucmVwb3J0ZUVudHJhZGEudGlwbyA9IHRoaXMucmVwb3J0ZUZ1ZW50ZVBpcGUuVElQT19ESVJFQ1RPO1xyXG4gICAgdGhpcy5jYXJnYXJGb3JtdWxhcmlvUmVwb3J0ZUVudHJhZGEoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0RpcmVjdG8oKTpib29sZWFue1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlcG9ydGVFbnRyYWRhLnZhbHVlLnRpcG8gIT0gbnVsbCAmJiB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS52YWx1ZS50aXBvID09PSB0aGlzLnJlcG9ydGVGdWVudGVQaXBlLlRJUE9fRElSRUNUTztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0xpc3RhKCk6Ym9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS52YWx1ZS50aXBvICE9IG51bGwgJiYgdGhpcy5mb3JtUmVwb3J0ZUVudHJhZGEudmFsdWUudGlwbyA9PT0gdGhpcy5yZXBvcnRlRnVlbnRlUGlwZS5USVBPX0xJU1RBO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVsaW1pbmFyKGV2ZW50OiBFdmVudCl7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0LFxyXG4gICAgICBtZXNzYWdlOiAgdGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0VMSU1JTkFSX0NPTkZJUk1BUixcclxuICAgICAgYWNjZXB0TGFiZWw6IHRoaXMuZ2VuZXJhbFBpcGUuU0lfREVTQyxcclxuICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29uZmlybWFyJyksXHJcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xyXG4gICAgICAgIGxldCBlbnRyYWRhRWxpbWluYXI6UmVwb3J0ZUVudHJhZGFNb2RlbCA9IHRoaXMuZm9ybVJlcG9ydGVFbnRyYWRhLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhbFNlcnZpY2UuZGVsZXRlKG5ldyBHZW5lcmFsTW9kZWwoJ1JlcG9ydGVFbnRyYWRhRFRPJywgbnVsbCwgZmFsc2UsIGVudHJhZGFFbGltaW5hcikpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgIGlmIChkYXRhID09IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5ub3RpZmljYWNpb25lc0J1c1NlcnZpY2Uuc2hvd1N1Y2Nlc3MoIHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9FTElNSU5BUik7XHJcbiAgICAgICAgICAgIHRoaXMudmlzdGFWaXN1YWxpemFyID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5saXN0YUVudHJhZGEgPSB0aGlzLmxpc3RhRW50cmFkYS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ubGxhdmUgIT09IGVudHJhZGFFbGltaW5hci5sbGF2ZSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVncmVzYXIuZW1pdCh0aGlzLmxpc3RhRW50cmFkYSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbmVzQnVzU2VydmljZS5zaG93U3VjY2VzcyggdGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0VMSU1JTkFSX05PKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgICB2YXIgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGVyci5lcnJvci5tZW5zYWplRXRpcXVldGEpO1xyXG4gICAgICAgICAgICBpZiAoZGF0YS5pbmNsdWRlcygnT1JBLTAyMjkyJykpIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbmVzQnVzU2VydmljZS5zaG93RXJyb3IoJ0VsIHJlZ2l0cm8gc2UgdXRpbGl6YSBlbiBvdHJvcyB0YXJlYXMsIE5vIGVzIHBvc2libGUgZWxpbWluYXJsbycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFjdHVhbGl6YXIoKXtcclxuICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuICAgIGlmICghdGhpcy5mb3JtUmVwb3J0ZUVudHJhZGEudmFsaWQpIHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbmVzQnVzU2VydmljZS5zaG93RXJyb3IoJ0ZhbHRhbiBjYW1wb3Mgb2JsaWdhdG9yaW9zJyk7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5mb3JtUmVwb3J0ZUVudHJhZGEuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZm9ybVJlcG9ydGVFbnRyYWRhLmdldChrZXkpLmVycm9ycykge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS5nZXQoa2V5KS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgZW50cmFkYUFjdHVhbGl6YXIgPSB0aGlzLmZvcm1SZXBvcnRlRW50cmFkYS52YWx1ZTtcclxuICAgIGxldCBhY3R1YWxpemFyID0gZW50cmFkYUFjdHVhbGl6YXIucmVwb3J0ZUZ1ZW50ZSAhPSBudWxsO1xyXG4gICAgZW50cmFkYUFjdHVhbGl6YXIucmVwb3J0ZUZ1ZW50ZSA9IHRoaXMubGxhdmVSZXBvcnRlO1xyXG4gICAgdGhpcy5yZXBvcnRlU2VydmljZS5ndWFyZGFyRW50cmFkYShlbnRyYWRhQWN0dWFsaXphcikuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICBpZiAoZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgZW50cmFkYUFjdHVhbGl6YXIgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMudmlzdGFWaXN1YWxpemFyID0gbnVsbDtcclxuICAgICAgICBpZiAoYWN0dWFsaXphcil7XHJcbiAgICAgICAgICB0aGlzLmxpc3RhRW50cmFkYSA9IHRoaXMubGlzdGFFbnRyYWRhLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5sbGF2ZSAhPT0gZW50cmFkYUFjdHVhbGl6YXIubGxhdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RhRW50cmFkYS5wdXNoKGVudHJhZGFBY3R1YWxpemFyKTtcclxuICAgICAgICB0aGlzLnJlZ3Jlc2FyLmVtaXQodGhpcy5saXN0YUVudHJhZGEpO1xyXG4gICAgICAgIHRoaXMubm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlLnNob3dTdWNjZXNzKCB0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfQUNUVUFMSVpBUik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25lc0J1c1NlcnZpY2Uuc2hvd1N1Y2Nlc3MoIHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9BQ1RVQUxJWkFSX05PKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0tPHAtY29uZmlybURpYWxvZyBoZWFkZXI9XCInY29uZmlybWFyJylcIiBpY29uPVwicGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L3AtY29uZmlybURpYWxvZz4tLT5cclxuPHAtY29uZmlybVBvcHVwPjwvcC1jb25maXJtUG9wdXA+XHJcbjxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yIG1iLTJcIj5cclxuICAgIDxoMSBjbGFzcz1cInRleHQteGwgbWItMVwiPnt7J2VudHJhZGEnIHwgdHJhbnNsYXRlfX08L2gxPlxyXG4gICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgY2xhc3M9XCJwLWJ1dHRvbi1zZWNvbmRhcnkgZm9udC1zZW1pYm9sZFwiIGljb249XCJwaSBwaS1wbHVzXCIgKGNsaWNrKT1cIm51ZXZvRW50cmFkYSgpXCIgXHJcbiAgICAgICAgKm5nSWY9XCJ2aXN0YVZpc3VhbGl6YXIgIT0gJ2RldGFsbGUnXCIgbGFiZWw9XCJ7eydsaW5rX251ZXZvJyB8IHRyYW5zbGF0ZX19XCIgPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgbWItMyAgbWItMVwiICpuZ0lmPVwidmlzdGFWaXN1YWxpemFyID09J2RldGFsbGUnXCI+XHJcbiAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwidmlzdGFWaXN1YWxpemFyID0gbnVsbFwiIGxhYmVsPSBcInt7J2xpc3RhZG8nIHwgdHJhbnNsYXRlfX0ge3snZW50cmFkYScgfCB0cmFuc2xhdGV9fVwiIFxyXG4gICAgICAgIGljb249XCJwaSBwaS1jaGV2cm9uLWxlZnRcIiBjbGFzcz1cInAtYnV0dG9uLXRleHQgZm9udC1zZW1pYm9sZCBmbGV4LXNocmluay0wIFwiPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHAtdGFibGUgW3ZhbHVlXT1cImxpc3RhRW50cmFkYVwiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCIgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCIgKm5nSWY9XCJ2aXN0YVZpc3VhbGl6YXIgIT0gJ2RldGFsbGUnXCJcclxuICAgIHNlbGVjdGlvbk1vZGU9XCJzaW5nbGVcIiBkYXRhS2V5PVwibGxhdmVcIiAgY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZT1cIntmaXJzdH0gYWwge2xhc3R9IGRlIHt0b3RhbFJlY29yZHN9IHJlZ2lzdHJvc1wiXHJcbiAgICAob25Sb3dTZWxlY3QpPVwidmVyQWN0aW9uKCRldmVudClcIiAob25Sb3dVbnNlbGVjdCk9XCJ2ZXJBY3Rpb24oJGV2ZW50KVwiIFtyb3dzXT1cInBhZ2luYXRvci5yb3dzXCIgW3RvdGFsUmVjb3Jkc109XCJwYWdpbmF0b3IudG90YWxSZWNvcmRzXCIgW3BhZ2luYXRvcl09XCJwYWdpbmF0b3IudG90YWxSZWNvcmRzID4gcGFnaW5hdG9yLnJvd3NcIlxyXG4gICAgW2xhenldPVwidHJ1ZVwiIChvbkxhenlMb2FkKT1cImNhcmdhckxpc3RhRW50cmFkYSgkZXZlbnQpXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGg+e3snZGVzY3JpcGNpb24nIHwgdHJhbnNsYXRlIH19IDwvdGg+XHJcbiAgICAgICAgICAgIDx0aD57eyd0aXBvJyB8IHRyYW5zbGF0ZSB9fSA8L3RoPlxyXG4gICAgICAgICAgICA8dGg+e3sncGFyYW1ldHJvJyB8IHRyYW5zbGF0ZSB9fSA8L3RoPlxyXG4gICAgICAgICAgICA8dGg+e3sndmFsb3Jwb3JkZWZlY3RvJyB8IHRyYW5zbGF0ZSB9fSA8L3RoPlxyXG4gICAgICAgICAgICA8dGg+e3snb3JkZW4nIHwgdHJhbnNsYXRlIH19IDwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgICA8dGg+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW50cmFkYT5cclxuICAgICAgICA8dHIgW3BTZWxlY3RhYmxlUm93XT1cImVudHJhZGFcIj5cclxuICAgICAgICAgICAgPHRkPnt7ZW50cmFkYS5kZXNjcmlwY2lvbn19PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7ZW50cmFkYS50aXBvRGF0byB8IHJlcG9ydGVGdWVudGVQaXBlOiAnbGlzdGFUaXBvRGF0byd9fTwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZD57e2VudHJhZGEucGFyYW1ldHJvfX08L3RkPlxyXG4gICAgICAgICAgICA8dGQ+e3tlbnRyYWRhLnZhbG9yRGVmZWN0b319PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7ZW50cmFkYS5vcmRlbn19PC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwXCIgY2xhc3M9XCJwLTMgZm9udC1tZWRpdW0gZW1wdHltZXNzYWdlXCI+e3snbWVuc2FqZXRhYmxhdmFjaWEnIHwgdHJhbnNsYXRlfX08L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3AtdGFibGU+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2FyZCBtdC0zXCIgKm5nSWY9XCJ2aXN0YVZpc3VhbGl6YXIgPT0gJ2RldGFsbGUnXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtdC0zXCI+PGkgY2xhc3M9XCJnbHlwaGljb25zIGdseXBoaWNvbnMtbm90ZXNcIj48L2k+e3snZGV0YWxsZScgfCB0cmFuc2xhdGV9fTwvaDU+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1SZXBvcnRlRW50cmFkYVwiID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJEZXRhbGxlcmVwb3J0ZSBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkIGdyaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgcElucHV0VGV4dCBpZD1cImRlc2NyaXBjaW9uXCIgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwY2lvblwiIHNpemU9XCI0MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJkZXNjcmlwY2lvblwiPnt7J2Rlc2NyaXBjaW9uJyB8IHRyYW5zbGF0ZSB9fSAqPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHBJbnB1dFRleHQgaWQ9XCJwYXJhbWV0cm9cIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInBhcmFtZXRyb1wiIHNpemU9XCIyNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cInBhcmFtZXRyb1wiPnt7J3BhcmFtZXRybycgfCB0cmFuc2xhdGUgfX0gKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtZmxvYXRMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImxpc3RhVGlwb1wiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgZm9ybUNvbnRyb2xOYW1lPVwidGlwb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJub21icmVcIiBvcHRpb25WYWx1ZT1cImNvZGlnb1wiIChvbkNoYW5nZSk9XCJhY3R1YWxpemFyVGlwbygpXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ0aXBvXCI+e3sndGlwbycgfCB0cmFuc2xhdGUgfX0gKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIiAqbmdJZj1cImlzRGlyZWN0bygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YVRpcG9EYXRvXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXBvRGF0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJub21icmVcIiBvcHRpb25WYWx1ZT1cImNvZGlnb1wiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPVwidGlwb0RhdG9cIj57eyd0aXBvZGF0bycgfCB0cmFuc2xhdGUgfX0gKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIiAqbmdJZj1cImlzTGlzdGEoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwibGlzdGFGdWVudGVcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGZvcm1Db250cm9sTmFtZT1cImZ1ZW50ZURhdG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwiZGVzY3JpcGNpb25cIiBvcHRpb25WYWx1ZT1cImxsYXZlXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJmdWVudGVEYXRvXCI+e3snZnVlbnRlJyB8IHRyYW5zbGF0ZSB9fSB7eydkYXRvJyB8IHRyYW5zbGF0ZSB9fSAqPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHBJbnB1dFRleHQgaWQ9XCJ2YWxvckRlZmVjdG9cIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInZhbG9yRGVmZWN0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ2YWxvckRlZmVjdG9cIj57eyd2YWxvcnBvcmRlZmVjdG8nIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHBJbnB1dFRleHQgaWQ9XCJvcmRlblwiIHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwib3JkZW5cIiAgb25pbnB1dD1cInRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnJlcGxhY2UoL1teMC05XS9nLCAnJykuc2xpY2UoMCwgNSk7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cIm9yZGVuXCI+e3snb3JkZW4nIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtM1wiICpuZ0lmPVwiaXNMaXN0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgcElucHV0VGV4dCBpZD1cInBhcmFtZXRyb0VudHJhZGFcIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInBhcmFtZXRyb0VudHJhZGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPVwicGFyYW1ldHJvRW50cmFkYVwiPnt7J2VudHJhZGEnIHwgdHJhbnNsYXRlIH19czwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtZmxvYXRMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBwSW5wdXRUZXh0IGlkPVwiZm9ybWF0b1wiIHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiZm9ybWF0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJmb3JtYXRvXCI+e3snZm9ybWF0bycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3AtZmxvYXRMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YVNpTm9cIiBmb3JtQ29udHJvbE5hbWU9XCJzb2xpY2l0YXJcIiBvcHRpb25MYWJlbD1cIm5vbWJyZVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cImNvZGlnb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJzb2xpY2l0YXJcIj57eydzb2xpY2l0YXInIHwgdHJhbnNsYXRlIH19ICo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3AtZmxvYXRMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLUJPVE9ORVMtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIGNsYXNzPVwibWwtMiBwLWJ1dHRvbiBwLWJ1dHRvbi1yYWlzZWRcIiAoY2xpY2spPVwiYWN0dWFsaXphcigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImdseXBoaWNvbnMge3tyZXBvcnRlRW50cmFkYS5sbGF2ZSA/ICdnbHlwaGljb25zLXJlZnJlc2gnIDogJ2dseXBoaWNvbnMtZmxvcHB5LXNhdmUnIH19XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwie3tyZXBvcnRlRW50cmFkYS5sbGF2ZSA/ICgnbGlua19hY3R1YWxpemFyJyB8IHRyYW5zbGF0ZSkgOiAoJ2xpbmtfZ3VhcmRhcicgfCB0cmFuc2xhdGUpfX1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgY2xhc3M9XCJtbC0yIHAtYnV0dG9uLW91dGxpbmVkXCIgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1iaW5cIiAqbmdJZj1cInJlcG9ydGVFbnRyYWRhLmxsYXZlICE9IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cInt7J2xpbmtfZWxpbWluYXInIHwgdHJhbnNsYXRlfX1cIiAoY2xpY2spPVwiZWxpbWluYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==