general-library-union 3.1.76 → 3.1.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/esm2022/general-library-union.mjs +5 -0
  2. package/esm2022/public-api.mjs +181 -0
  3. package/esm2022/src/app/core/componentes/breadcrumb/breadcrumb.component.mjs +40 -0
  4. package/esm2022/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.mjs +28 -0
  5. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +196 -0
  6. package/esm2022/src/app/core/componentes/footer/footer.component.mjs +16 -0
  7. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +283 -0
  8. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/Cambio.mjs +11 -0
  9. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.mjs +124 -0
  10. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.mjs +73 -0
  11. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.mjs +59 -0
  12. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.mjs +21 -0
  13. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +72 -0
  14. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +37 -0
  15. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +93 -0
  16. package/esm2022/src/app/core/core.module.mjs +23 -0
  17. package/esm2022/src/app/core/errores/authentication.error.mjs +7 -0
  18. package/esm2022/src/app/core/modelos/error-response.model.mjs +2 -0
  19. package/esm2022/src/app/core/modelos/table-column.model.mjs +2 -0
  20. package/esm2022/src/app/core/modelos/user.model.mjs +7 -0
  21. package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +230 -0
  22. package/esm2022/src/app/core/servicios/auth.service.mjs +185 -0
  23. package/esm2022/src/app/core/servicios/cargar-control-funcionalidad.service.mjs +54 -0
  24. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +64 -0
  25. package/esm2022/src/app/core/servicios/error-interceptor.service.mjs +214 -0
  26. package/esm2022/src/app/core/servicios/guardias/auth.guard.mjs +66 -0
  27. package/esm2022/src/app/core/servicios/guardias/publico.guard.mjs +35 -0
  28. package/esm2022/src/app/core/servicios/interceptores/loading-interceptor.mjs +37 -0
  29. package/esm2022/src/app/core/servicios/interceptores/token-interceptor.service.mjs +180 -0
  30. package/esm2022/src/app/core/servicios/loading.service.mjs +43 -0
  31. package/esm2022/src/app/core/servicios/menu.service.mjs +146 -0
  32. package/esm2022/src/app/core/servicios/spinner-service.mjs +22 -0
  33. package/esm2022/src/app/core/servicios/storage.service.mjs +68 -0
  34. package/esm2022/src/app/core/servicios/template.service.mjs +99 -0
  35. package/esm2022/src/app/core/servicios/toast.service.mjs +120 -0
  36. package/esm2022/src/app/core/servicios/utils.service.mjs +338 -0
  37. package/esm2022/src/app/core/sharedlib.module.mjs +16 -0
  38. package/esm2022/src/app/core/utilidades/color.util.mjs +177 -0
  39. package/esm2022/src/app/layout/api/menuchangeevent.mjs +2 -0
  40. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +71 -0
  41. package/esm2022/src/app/layout/app.footer.component.mjs +18 -0
  42. package/esm2022/src/app/layout/app.layout.component.mjs +188 -0
  43. package/esm2022/src/app/layout/app.layout.module.mjs +15 -0
  44. package/esm2022/src/app/layout/app.menu.component.mjs +51 -0
  45. package/esm2022/src/app/layout/app.menu.service.mjs +24 -0
  46. package/esm2022/src/app/layout/app.menuitem.component.mjs +296 -0
  47. package/esm2022/src/app/layout/app.menuprofile.component.mjs +78 -0
  48. package/esm2022/src/app/layout/app.rightmenu.component.mjs +24 -0
  49. package/esm2022/src/app/layout/app.sidebar.component.mjs +92 -0
  50. package/esm2022/src/app/layout/app.topbar.component.mjs +346 -0
  51. package/esm2022/src/app/layout/service/app.layout.service.mjs +134 -0
  52. package/esm2022/src/app/publico/pages/login/login.page.mjs +132 -0
  53. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +51 -0
  54. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +167 -0
  55. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +20 -0
  56. package/esm2022/src/app/seguridad/constantes/ConstantesGenerales.mjs +30 -0
  57. package/esm2022/src/app/seguridad/constantes/ReporteEntradaConstantes.mjs +19 -0
  58. package/esm2022/src/app/seguridad/modelos/AplicacionModel.mjs +8 -0
  59. package/esm2022/src/app/seguridad/modelos/ArchivoPortalModel.mjs +14 -0
  60. package/esm2022/src/app/seguridad/modelos/AtributoPuntoModel.mjs +9 -0
  61. package/esm2022/src/app/seguridad/modelos/AtributoSSOportalModel.mjs +17 -0
  62. package/esm2022/src/app/seguridad/modelos/AuditoriaArchivoModel.mjs +11 -0
  63. package/esm2022/src/app/seguridad/modelos/CargueLineaModel.mjs +13 -0
  64. package/esm2022/src/app/seguridad/modelos/ColoresRGB.mjs +18 -0
  65. package/esm2022/src/app/seguridad/modelos/ColumnaFuenteModel.mjs +9 -0
  66. package/esm2022/src/app/seguridad/modelos/ColumnaWraperModel.mjs +6 -0
  67. package/esm2022/src/app/seguridad/modelos/ComplementoModel.mjs +7 -0
  68. package/esm2022/src/app/seguridad/modelos/ComponentePaginaModel.mjs +21 -0
  69. package/esm2022/src/app/seguridad/modelos/ConexionModel.mjs +14 -0
  70. package/esm2022/src/app/seguridad/modelos/ContenidoHtmlPortalModel.mjs +21 -0
  71. package/esm2022/src/app/seguridad/modelos/ControlFuncionModel.mjs +8 -0
  72. package/esm2022/src/app/seguridad/modelos/CorreoModel.mjs +35 -0
  73. package/esm2022/src/app/seguridad/modelos/CorreoWSModel.mjs +37 -0
  74. package/esm2022/src/app/seguridad/modelos/CruceRecursoPuntoModel.mjs +14 -0
  75. package/esm2022/src/app/seguridad/modelos/DatoInicioModel.mjs +6 -0
  76. package/esm2022/src/app/seguridad/modelos/EjecucionReporteDataModel.mjs +14 -0
  77. package/esm2022/src/app/seguridad/modelos/EmpresaModel.mjs +25 -0
  78. package/esm2022/src/app/seguridad/modelos/EmpresaSeguridadModel.mjs +19 -0
  79. package/esm2022/src/app/seguridad/modelos/EntradaComplementoModel.mjs +7 -0
  80. package/esm2022/src/app/seguridad/modelos/EtiquetaModel.mjs +5 -0
  81. package/esm2022/src/app/seguridad/modelos/Etiquetas.mjs +12 -0
  82. package/esm2022/src/app/seguridad/modelos/ForeingWraperModel.mjs +6 -0
  83. package/esm2022/src/app/seguridad/modelos/FuenteCampoAtributoModel.mjs +16 -0
  84. package/esm2022/src/app/seguridad/modelos/FuenteCampoModel.mjs +17 -0
  85. package/esm2022/src/app/seguridad/modelos/FuenteDato.mjs +19 -0
  86. package/esm2022/src/app/seguridad/modelos/FuenteEntradaModel.mjs +9 -0
  87. package/esm2022/src/app/seguridad/modelos/FuenteGeneralModel.mjs +37 -0
  88. package/esm2022/src/app/seguridad/modelos/FuenteLineaServicioModel.mjs +16 -0
  89. package/esm2022/src/app/seguridad/modelos/FuenteProcesoGeneralModel.mjs +11 -0
  90. package/esm2022/src/app/seguridad/modelos/FuenteServicioModel.mjs +51 -0
  91. package/esm2022/src/app/seguridad/modelos/FuncionalidadModel.mjs +10 -0
  92. package/esm2022/src/app/seguridad/modelos/GeneralModel.mjs +15 -0
  93. package/esm2022/src/app/seguridad/modelos/GrupoAccesoModel.mjs +7 -0
  94. package/esm2022/src/app/seguridad/modelos/GrupoControlFuncionModel.mjs +10 -0
  95. package/esm2022/src/app/seguridad/modelos/GrupoFuenteModel.mjs +13 -0
  96. package/esm2022/src/app/seguridad/modelos/GrupoPermisoModel.mjs +14 -0
  97. package/esm2022/src/app/seguridad/modelos/JoinFromModel.mjs +5 -0
  98. package/esm2022/src/app/seguridad/modelos/ListaServicioModel.mjs +17 -0
  99. package/esm2022/src/app/seguridad/modelos/LlaveForaneaModel.mjs +7 -0
  100. package/esm2022/src/app/seguridad/modelos/LoginModel.mjs +15 -0
  101. package/esm2022/src/app/seguridad/modelos/MensajeSistemaModel.mjs +8 -0
  102. package/esm2022/src/app/seguridad/modelos/MenuPortalModel.mjs +5 -0
  103. package/esm2022/src/app/seguridad/modelos/ModulosModel.mjs +18 -0
  104. package/esm2022/src/app/seguridad/modelos/ObjetoReporteModel.mjs +6 -0
  105. package/esm2022/src/app/seguridad/modelos/PaginaPortalModel.mjs +20 -0
  106. package/esm2022/src/app/seguridad/modelos/ParametroComponenteModel.mjs +9 -0
  107. package/esm2022/src/app/seguridad/modelos/ParametrosGeneralModel.mjs +15 -0
  108. package/esm2022/src/app/seguridad/modelos/PermisoFuncionModel.mjs +9 -0
  109. package/esm2022/src/app/seguridad/modelos/PermisocontenidoModel.mjs +20 -0
  110. package/esm2022/src/app/seguridad/modelos/PeticionModel.mjs +16 -0
  111. package/esm2022/src/app/seguridad/modelos/PreguntaSeguridadModel.mjs +7 -0
  112. package/esm2022/src/app/seguridad/modelos/PropiedadModel.mjs +10 -0
  113. package/esm2022/src/app/seguridad/modelos/PublicacionWebModel.mjs +27 -0
  114. package/esm2022/src/app/seguridad/modelos/PuntoProcesoModel.mjs +7 -0
  115. package/esm2022/src/app/seguridad/modelos/RecursoPunto.mjs +13 -0
  116. package/esm2022/src/app/seguridad/modelos/RecursoPuntoModel.mjs +13 -0
  117. package/esm2022/src/app/seguridad/modelos/ReporteBanda.mjs +8 -0
  118. package/esm2022/src/app/seguridad/modelos/ReporteColumna.mjs +33 -0
  119. package/esm2022/src/app/seguridad/modelos/ReporteColumnario.mjs +69 -0
  120. package/esm2022/src/app/seguridad/modelos/ReporteColumnarioMarcador.mjs +24 -0
  121. package/esm2022/src/app/seguridad/modelos/ReporteEntradaModel.mjs +20 -0
  122. package/esm2022/src/app/seguridad/modelos/ReporteFuenteModel.mjs +124 -0
  123. package/esm2022/src/app/seguridad/modelos/ReporteMarcador.mjs +40 -0
  124. package/esm2022/src/app/seguridad/modelos/ReporteSoporte.mjs +10 -0
  125. package/esm2022/src/app/seguridad/modelos/ReporteTabla.mjs +13 -0
  126. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +9 -0
  127. package/esm2022/src/app/seguridad/modelos/RolModel.mjs +39 -0
  128. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +28 -0
  129. package/esm2022/src/app/seguridad/modelos/SistemaMensajeModel.mjs +9 -0
  130. package/esm2022/src/app/seguridad/modelos/SitioPortalModel.mjs +25 -0
  131. package/esm2022/src/app/seguridad/modelos/TablaFromModel.mjs +5 -0
  132. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +54 -0
  133. package/esm2022/src/app/seguridad/modelos/TextoModel.mjs +9 -0
  134. package/esm2022/src/app/seguridad/modelos/TipoEtiqueta.mjs +8 -0
  135. package/esm2022/src/app/seguridad/modelos/UnionModel.mjs +12 -0
  136. package/esm2022/src/app/seguridad/modelos/UsuarioModel.mjs +53 -0
  137. package/esm2022/src/app/seguridad/modelos/UsuariogrupoModel.mjs +24 -0
  138. package/esm2022/src/app/seguridad/modelos/aplicacion-propiedad-model.mjs +15 -0
  139. package/esm2022/src/app/seguridad/modelos/contenidoCorreoModel.mjs +10 -0
  140. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +154 -0
  141. package/esm2022/src/app/shared/servicios/cargar-archivos.service.mjs +54 -0
  142. package/esm2022/src/app/shared/servicios/cargar-mapas.service.mjs +46 -0
  143. package/esm2022/src/app/shared/servicios/encriptado-basico.service.mjs +53 -0
  144. package/esm2022/src/app/shared/servicios/general.service.mjs +104 -0
  145. package/esm2022/src/app/shared/servicios/parametros-navegacion.service.mjs +21 -0
  146. package/esm2022/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.mjs +378 -0
  147. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +187 -0
  148. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.mjs +85 -0
  149. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.mjs +347 -0
  150. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +206 -0
  151. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +329 -0
  152. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +1583 -0
  153. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.mjs +105 -0
  154. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +114 -0
  155. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +588 -0
  156. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +177 -0
  157. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +769 -0
  158. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +331 -0
  159. package/esm2022/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.mjs +95 -0
  160. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +675 -0
  161. package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +86 -0
  162. package/esm2022/src/app/webcommon/pipes/fuente.pipe.mjs +201 -0
  163. package/esm2022/src/app/webcommon/pipes/general.pipe.mjs +918 -0
  164. package/esm2022/src/app/webcommon/pipes/reporte-columnario.pipe.mjs +115 -0
  165. package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +301 -0
  166. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +267 -0
  167. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +128 -0
  168. package/esm2022/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.mjs +73 -0
  169. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +293 -0
  170. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +269 -0
  171. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +555 -0
  172. package/esm2022/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.mjs +64 -0
  173. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +162 -0
  174. package/esm2022/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.mjs +89 -0
  175. package/esm2022/src/app/webcommon/services/carguelinea.service.mjs +69 -0
  176. package/esm2022/src/app/webcommon/services/dashboard.service.mjs +253 -0
  177. package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +114 -0
  178. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +97 -0
  179. package/esm2022/src/app/webcommon/services/fuentegeneral.service.mjs +68 -0
  180. package/esm2022/src/app/webcommon/services/homologacion.service.mjs +50 -0
  181. package/esm2022/src/app/webcommon/services/plantillas.service.mjs +129 -0
  182. package/esm2022/src/app/webcommon/services/reportes.service.mjs +95 -0
  183. package/esm2022/src/app/webcommon/webcommon.module.mjs +15 -0
  184. package/esm2022/src/environments/environment.mjs +24 -0
  185. package/fesm2022/general-library-union.mjs +16050 -0
  186. package/fesm2022/general-library-union.mjs.map +1 -0
  187. package/index.d.ts +5 -0
  188. package/package.json +62 -73
  189. package/{public-api.ts → public-api.d.ts} +162 -203
  190. package/src/app/core/componentes/breadcrumb/breadcrumb.component.d.ts +18 -0
  191. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.d.ts +14 -0
  192. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +34 -0
  193. package/src/app/core/componentes/footer/footer.component.d.ts +9 -0
  194. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.d.ts +50 -0
  195. package/src/app/core/componentes/formulariodinamico/objetosformulario/{Cambio.ts → Cambio.d.ts} +7 -13
  196. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.d.ts +44 -0
  197. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.d.ts +45 -0
  198. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.d.ts +33 -0
  199. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.d.ts +9 -0
  200. package/src/app/core/componentes/inicio-component/inicio-component.component.d.ts +26 -0
  201. package/src/app/core/componentes/menu/menu.component.d.ts +16 -0
  202. package/src/app/core/componentes/tabla-general/tabla-general.component.d.ts +32 -0
  203. package/src/app/core/core.module.d.ts +8 -0
  204. package/src/app/core/errores/authentication.error.d.ts +3 -0
  205. package/src/app/core/modelos/error-response.model.d.ts +9 -0
  206. package/src/app/core/modelos/table-column.model.d.ts +12 -0
  207. package/src/app/core/modelos/user.model.d.ts +6 -0
  208. package/src/app/core/plantilla-general/plantilla-general.template.d.ts +89 -0
  209. package/src/app/core/servicios/auth.service.d.ts +52 -0
  210. package/src/app/core/servicios/cargar-control-funcionalidad.service.d.ts +19 -0
  211. package/src/app/core/servicios/data-exporter-table.utils.d.ts +11 -0
  212. package/src/app/core/servicios/error-interceptor.service.d.ts +41 -0
  213. package/src/app/core/servicios/guardias/auth.guard.d.ts +17 -0
  214. package/src/app/core/servicios/guardias/publico.guard.d.ts +13 -0
  215. package/src/app/core/servicios/interceptores/loading-interceptor.d.ts +11 -0
  216. package/src/app/core/servicios/interceptores/token-interceptor.service.d.ts +26 -0
  217. package/src/app/core/servicios/loading.service.d.ts +22 -0
  218. package/src/app/core/servicios/menu.service.d.ts +35 -0
  219. package/src/app/core/servicios/spinner-service.d.ts +9 -0
  220. package/src/app/core/servicios/storage.service.d.ts +37 -0
  221. package/src/app/core/servicios/template.service.d.ts +20 -0
  222. package/src/app/core/servicios/toast.service.d.ts +48 -0
  223. package/src/app/core/servicios/utils.service.d.ts +43 -0
  224. package/src/app/core/sharedlib.module.d.ts +6 -0
  225. package/src/app/core/utilidades/color.util.d.ts +70 -0
  226. package/src/app/layout/api/{menuchangeevent.ts → menuchangeevent.d.ts} +4 -4
  227. package/src/app/layout/app.breadcrumb.component.d.ts +28 -0
  228. package/src/app/layout/app.footer.component.d.ts +8 -0
  229. package/src/app/layout/app.layout.component.d.ts +39 -0
  230. package/src/app/layout/app.layout.module.d.ts +6 -0
  231. package/src/app/layout/app.menu.component.d.ts +19 -0
  232. package/src/app/layout/app.menu.service.d.ts +12 -0
  233. package/src/app/layout/app.menuitem.component.d.ts +41 -0
  234. package/src/app/layout/app.menuprofile.component.d.ts +18 -0
  235. package/src/app/layout/app.rightmenu.component.d.ts +10 -0
  236. package/src/app/layout/app.sidebar.component.d.ts +34 -0
  237. package/src/app/layout/app.topbar.component.d.ts +79 -0
  238. package/src/app/layout/service/app.layout.service.d.ts +57 -0
  239. package/src/app/publico/pages/login/login.page.d.ts +40 -0
  240. package/src/app/publico/pages/not-found/not-found.page.d.ts +17 -0
  241. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.d.ts +41 -0
  242. package/src/app/publico/pages/timeout/timeout.page.d.ts +10 -0
  243. package/src/app/seguridad/constantes/ConstantesGenerales.d.ts +25 -0
  244. package/src/app/seguridad/constantes/ReporteEntradaConstantes.d.ts +7 -0
  245. package/src/app/seguridad/modelos/AplicacionModel.d.ts +7 -0
  246. package/src/app/seguridad/modelos/ArchivoPortalModel.d.ts +13 -0
  247. package/src/app/seguridad/modelos/AtributoPuntoModel.d.ts +8 -0
  248. package/src/app/seguridad/modelos/AtributoSSOportalModel.d.ts +16 -0
  249. package/src/app/seguridad/modelos/{AuditoriaArchivoModel.ts → AuditoriaArchivoModel.d.ts} +10 -13
  250. package/src/app/seguridad/modelos/CargueLineaModel.d.ts +12 -0
  251. package/src/app/seguridad/modelos/ColoresRGB.d.ts +17 -0
  252. package/src/app/seguridad/modelos/ColumnaFuenteModel.d.ts +8 -0
  253. package/src/app/seguridad/modelos/{ColumnaWraperModel.ts → ColumnaWraperModel.d.ts} +6 -7
  254. package/src/app/seguridad/modelos/ComplementoModel.d.ts +6 -0
  255. package/src/app/seguridad/modelos/ComponentePaginaModel.d.ts +20 -0
  256. package/src/app/seguridad/modelos/ConexionModel.d.ts +13 -0
  257. package/src/app/seguridad/modelos/{ContenidoHtmlPortalModel.ts → ContenidoHtmlPortalModel.d.ts} +20 -25
  258. package/src/app/seguridad/modelos/ControlFuncionModel.d.ts +7 -0
  259. package/src/app/seguridad/modelos/CorreoModel.d.ts +31 -0
  260. package/src/app/seguridad/modelos/CorreoWSModel.d.ts +33 -0
  261. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.d.ts +13 -0
  262. package/src/app/seguridad/modelos/{DatoInicioModel.ts → DatoInicioModel.d.ts} +6 -7
  263. package/src/app/seguridad/modelos/{EjecucionReporteDataModel.ts → EjecucionReporteDataModel.d.ts} +20 -21
  264. package/src/app/seguridad/modelos/EmpresaModel.d.ts +23 -0
  265. package/src/app/seguridad/modelos/EmpresaSeguridadModel.d.ts +18 -0
  266. package/src/app/seguridad/modelos/{EntradaComplementoModel.ts → EntradaComplementoModel.d.ts} +6 -9
  267. package/src/app/seguridad/modelos/EtiquetaModel.d.ts +4 -0
  268. package/src/app/seguridad/modelos/Etiquetas.d.ts +10 -0
  269. package/src/app/seguridad/modelos/{ForeingWraperModel.ts → ForeingWraperModel.d.ts} +6 -9
  270. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.d.ts +15 -0
  271. package/src/app/seguridad/modelos/{FuenteCampoModel.ts → FuenteCampoModel.d.ts} +16 -20
  272. package/src/app/seguridad/modelos/FuenteDato.d.ts +18 -0
  273. package/src/app/seguridad/modelos/FuenteEntradaModel.d.ts +8 -0
  274. package/src/app/seguridad/modelos/{FuenteGeneralModel.ts → FuenteGeneralModel.d.ts} +36 -55
  275. package/src/app/seguridad/modelos/FuenteLineaServicioModel.d.ts +16 -0
  276. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.d.ts +10 -0
  277. package/src/app/seguridad/modelos/{FuenteServicioModel.ts → FuenteServicioModel.d.ts} +47 -61
  278. package/src/app/seguridad/modelos/FuncionalidadModel.d.ts +8 -0
  279. package/src/app/seguridad/modelos/GeneralModel.d.ts +8 -0
  280. package/src/app/seguridad/modelos/{GrupoAccesoModel.ts → GrupoAccesoModel.d.ts} +6 -9
  281. package/src/app/seguridad/modelos/GrupoControlFuncionModel.d.ts +9 -0
  282. package/src/app/seguridad/modelos/GrupoFuenteModel.d.ts +13 -0
  283. package/src/app/seguridad/modelos/GrupoPermisoModel.d.ts +13 -0
  284. package/src/app/seguridad/modelos/{JoinFromModel.ts → JoinFromModel.d.ts} +4 -4
  285. package/src/app/seguridad/modelos/ListaServicioModel.d.ts +16 -0
  286. package/src/app/seguridad/modelos/LlaveForaneaModel.d.ts +6 -0
  287. package/src/app/seguridad/modelos/LoginModel.d.ts +17 -0
  288. package/src/app/seguridad/modelos/MensajeSistemaModel.d.ts +7 -0
  289. package/src/app/seguridad/modelos/{MenuPortalModel.ts → MenuPortalModel.d.ts} +4 -5
  290. package/src/app/seguridad/modelos/ModulosModel.d.ts +14 -0
  291. package/src/app/seguridad/modelos/{ObjetoReporteModel.ts → ObjetoReporteModel.d.ts} +5 -6
  292. package/src/app/seguridad/modelos/PaginaPortalModel.d.ts +19 -0
  293. package/src/app/seguridad/modelos/ParametroComponenteModel.d.ts +8 -0
  294. package/src/app/seguridad/modelos/ParametrosGeneralModel.d.ts +8 -0
  295. package/src/app/seguridad/modelos/PermisoFuncionModel.d.ts +8 -0
  296. package/src/app/seguridad/modelos/PermisocontenidoModel.d.ts +18 -0
  297. package/src/app/seguridad/modelos/{PeticionModel.ts → PeticionModel.d.ts} +15 -20
  298. package/src/app/seguridad/modelos/PreguntaSeguridadModel.d.ts +6 -0
  299. package/src/app/seguridad/modelos/PropiedadModel.d.ts +9 -0
  300. package/src/app/seguridad/modelos/PublicacionWebModel.d.ts +25 -0
  301. package/src/app/seguridad/modelos/PuntoProcesoModel.d.ts +6 -0
  302. package/src/app/seguridad/modelos/RecursoPunto.d.ts +12 -0
  303. package/src/app/seguridad/modelos/RecursoPuntoModel.d.ts +12 -0
  304. package/src/app/seguridad/modelos/ReporteBanda.d.ts +7 -0
  305. package/src/app/seguridad/modelos/ReporteColumna.d.ts +32 -0
  306. package/src/app/seguridad/modelos/ReporteColumnario.d.ts +68 -0
  307. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.d.ts +23 -0
  308. package/src/app/seguridad/modelos/{ReporteEntradaModel.ts → ReporteEntradaModel.d.ts} +19 -21
  309. package/src/app/seguridad/modelos/{ReporteFuenteModel.ts → ReporteFuenteModel.d.ts} +87 -141
  310. package/src/app/seguridad/modelos/ReporteMarcador.d.ts +39 -0
  311. package/src/app/seguridad/modelos/ReporteSoporte.d.ts +9 -0
  312. package/src/app/seguridad/modelos/ReporteTabla.d.ts +12 -0
  313. package/src/app/seguridad/modelos/RespuestaModel.d.ts +8 -0
  314. package/src/app/seguridad/modelos/{RolModel.ts → RolModel.d.ts} +37 -41
  315. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +25 -0
  316. package/src/app/seguridad/modelos/SistemaMensajeModel.d.ts +8 -0
  317. package/src/app/seguridad/modelos/SitioPortalModel.d.ts +24 -0
  318. package/src/app/seguridad/modelos/TablaFromModel.d.ts +4 -0
  319. package/src/app/seguridad/modelos/TareasModel.d.ts +49 -0
  320. package/src/app/seguridad/modelos/TextoModel.d.ts +8 -0
  321. package/src/app/seguridad/modelos/TipoEtiqueta.d.ts +7 -0
  322. package/src/app/seguridad/modelos/UnionModel.d.ts +11 -0
  323. package/src/app/seguridad/modelos/{UsuarioModel.ts → UsuarioModel.d.ts} +49 -60
  324. package/src/app/seguridad/modelos/UsuariogrupoModel.d.ts +22 -0
  325. package/src/app/seguridad/modelos/aplicacion-propiedad-model.d.ts +13 -0
  326. package/src/app/seguridad/modelos/contenidoCorreoModel.d.ts +9 -0
  327. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.d.ts +47 -0
  328. package/src/app/shared/servicios/cargar-archivos.service.d.ts +15 -0
  329. package/src/app/shared/servicios/cargar-mapas.service.d.ts +18 -0
  330. package/src/app/shared/servicios/encriptado-basico.service.d.ts +10 -0
  331. package/src/app/shared/servicios/general.service.d.ts +24 -0
  332. package/src/app/shared/servicios/parametros-navegacion.service.d.ts +9 -0
  333. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.d.ts +79 -0
  334. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.d.ts +79 -0
  335. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.d.ts +29 -0
  336. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.d.ts +69 -0
  337. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.d.ts +51 -0
  338. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.d.ts +77 -0
  339. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +278 -0
  340. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.d.ts +42 -0
  341. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +35 -0
  342. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +143 -0
  343. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.d.ts +49 -0
  344. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +132 -0
  345. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.d.ts +64 -0
  346. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.d.ts +33 -0
  347. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.d.ts +149 -0
  348. package/src/app/webcommon/pipes/dashboard.pipe.d.ts +48 -0
  349. package/src/app/webcommon/pipes/fuente.pipe.d.ts +136 -0
  350. package/src/app/webcommon/pipes/general.pipe.d.ts +647 -0
  351. package/src/app/webcommon/pipes/reporte-columnario.pipe.d.ts +59 -0
  352. package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +193 -0
  353. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.d.ts +59 -0
  354. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.d.ts +27 -0
  355. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.d.ts +21 -0
  356. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.d.ts +64 -0
  357. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.d.ts +63 -0
  358. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.d.ts +105 -0
  359. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.d.ts +21 -0
  360. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +42 -0
  361. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.d.ts +30 -0
  362. package/src/app/webcommon/services/carguelinea.service.d.ts +19 -0
  363. package/src/app/webcommon/services/dashboard.service.d.ts +27 -0
  364. package/src/app/webcommon/services/ejecucionreporte.service.d.ts +34 -0
  365. package/src/app/webcommon/services/fechaUtils.service.d.ts +30 -0
  366. package/src/app/webcommon/services/fuentegeneral.service.d.ts +24 -0
  367. package/src/app/webcommon/services/homologacion.service.d.ts +17 -0
  368. package/src/app/webcommon/services/plantillas.service.d.ts +26 -0
  369. package/src/app/webcommon/services/reportes.service.d.ts +35 -0
  370. package/src/app/webcommon/webcommon.module.d.ts +6 -0
  371. package/src/environments/environment.d.ts +7 -0
  372. package/src/styles/primeng/sass/overrides/_theme_styles.scss +1 -6
  373. package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +2 -1
  374. package/.browserslistrc +0 -15
  375. package/.editorconfig +0 -16
  376. package/.vscode/extensions.json +0 -4
  377. package/.vscode/launch.json +0 -20
  378. package/.vscode/tasks.json +0 -42
  379. package/angular.json +0 -143
  380. package/karma.conf.js +0 -44
  381. package/ng-package.json +0 -21
  382. package/src/app/app.component.html +0 -12
  383. package/src/app/app.component.scss +0 -0
  384. package/src/app/app.component.spec.ts +0 -29
  385. package/src/app/app.component.ts +0 -34
  386. package/src/app/app.config.ts +0 -43
  387. package/src/app/app.module.ts +0 -10
  388. package/src/app/app.routes.ts +0 -88
  389. package/src/app/core/componentes/breadcrumb/breadcrumb.component.html +0 -6
  390. package/src/app/core/componentes/breadcrumb/breadcrumb.component.scss +0 -0
  391. package/src/app/core/componentes/breadcrumb/breadcrumb.component.ts +0 -39
  392. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.html +0 -1
  393. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.scss +0 -0
  394. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.ts +0 -31
  395. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.html +0 -9
  396. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.scss +0 -28
  397. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.ts +0 -32
  398. package/src/app/core/componentes/filtro-general/filtro-general.component.html +0 -36
  399. package/src/app/core/componentes/filtro-general/filtro-general.component.scss +0 -3
  400. package/src/app/core/componentes/filtro-general/filtro-general.component.ts +0 -203
  401. package/src/app/core/componentes/footer/footer.component.html +0 -13
  402. package/src/app/core/componentes/footer/footer.component.scss +0 -3
  403. package/src/app/core/componentes/footer/footer.component.ts +0 -20
  404. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.html +0 -267
  405. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.scss +0 -21
  406. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.ts +0 -285
  407. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.ts +0 -118
  408. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.ts +0 -76
  409. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.ts +0 -67
  410. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.ts +0 -11
  411. package/src/app/core/componentes/inicio-component/inicio-component.component.html +0 -29
  412. package/src/app/core/componentes/inicio-component/inicio-component.component.scss +0 -69
  413. package/src/app/core/componentes/inicio-component/inicio-component.component.ts +0 -70
  414. package/src/app/core/componentes/menu/menu.component.html +0 -13
  415. package/src/app/core/componentes/menu/menu.component.scss +0 -36
  416. package/src/app/core/componentes/menu/menu.component.ts +0 -35
  417. package/src/app/core/componentes/tabla-general/tabla-general.component.html +0 -90
  418. package/src/app/core/componentes/tabla-general/tabla-general.component.scss +0 -0
  419. package/src/app/core/componentes/tabla-general/tabla-general.component.ts +0 -96
  420. package/src/app/core/core.module.ts +0 -22
  421. package/src/app/core/errores/authentication.error.ts +0 -6
  422. package/src/app/core/modelos/error-response.model.ts +0 -9
  423. package/src/app/core/modelos/table-column.model.ts +0 -10
  424. package/src/app/core/modelos/user.model.ts +0 -6
  425. package/src/app/core/plantilla-general/plantilla-general.template.html +0 -139
  426. package/src/app/core/plantilla-general/plantilla-general.template.scss +0 -37
  427. package/src/app/core/plantilla-general/plantilla-general.template.ts +0 -233
  428. package/src/app/core/servicios/auth.service.ts +0 -189
  429. package/src/app/core/servicios/cargar-control-funcionalidad.service.ts +0 -48
  430. package/src/app/core/servicios/data-exporter-table.utils.ts +0 -78
  431. package/src/app/core/servicios/error-interceptor.service.ts +0 -208
  432. package/src/app/core/servicios/guardias/auth.guard.ts +0 -51
  433. package/src/app/core/servicios/guardias/publico.guard.ts +0 -26
  434. package/src/app/core/servicios/interceptores/loading-interceptor.ts +0 -37
  435. package/src/app/core/servicios/interceptores/token-interceptor.service.ts +0 -177
  436. package/src/app/core/servicios/loading.service.ts +0 -48
  437. package/src/app/core/servicios/menu.service.ts +0 -153
  438. package/src/app/core/servicios/spinner-service.ts +0 -18
  439. package/src/app/core/servicios/storage.service.ts +0 -68
  440. package/src/app/core/servicios/template.service.ts +0 -91
  441. package/src/app/core/servicios/toast.service.ts +0 -114
  442. package/src/app/core/servicios/utils.service.ts +0 -367
  443. package/src/app/core/sharedlib.module.ts +0 -11
  444. package/src/app/core/utilidades/color.util.ts +0 -197
  445. package/src/app/layout/app.breadcrumb.component.html +0 -20
  446. package/src/app/layout/app.breadcrumb.component.ts +0 -78
  447. package/src/app/layout/app.footer.component.html +0 -18
  448. package/src/app/layout/app.footer.component.ts +0 -15
  449. package/src/app/layout/app.layout.component.html +0 -20
  450. package/src/app/layout/app.layout.component.ts +0 -201
  451. package/src/app/layout/app.layout.module.ts +0 -9
  452. package/src/app/layout/app.menu.component.html +0 -6
  453. package/src/app/layout/app.menu.component.ts +0 -51
  454. package/src/app/layout/app.menu.service.ts +0 -23
  455. package/src/app/layout/app.menuitem.component.ts +0 -252
  456. package/src/app/layout/app.menuprofile.component.html +0 -35
  457. package/src/app/layout/app.menuprofile.component.ts +0 -60
  458. package/src/app/layout/app.rightmenu.component.html +0 -72
  459. package/src/app/layout/app.rightmenu.component.ts +0 -24
  460. package/src/app/layout/app.sidebar.component.html +0 -40
  461. package/src/app/layout/app.sidebar.component.ts +0 -81
  462. package/src/app/layout/app.topbar.component.html +0 -214
  463. package/src/app/layout/app.topbar.component.ts +0 -336
  464. package/src/app/layout/config/app.config.component.html +0 -125
  465. package/src/app/layout/config/app.config.component.ts +0 -206
  466. package/src/app/layout/config/app.config.module.ts +0 -11
  467. package/src/app/layout/service/app.layout.service.ts +0 -191
  468. package/src/app/publico/pages/login/login.page.html +0 -53
  469. package/src/app/publico/pages/login/login.page.scss +0 -210
  470. package/src/app/publico/pages/login/login.page.ts +0 -130
  471. package/src/app/publico/pages/not-found/not-found.page.html +0 -36
  472. package/src/app/publico/pages/not-found/not-found.page.scss +0 -2
  473. package/src/app/publico/pages/not-found/not-found.page.ts +0 -46
  474. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.html +0 -58
  475. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.scss +0 -49
  476. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.ts +0 -176
  477. package/src/app/publico/pages/timeout/timeout.page.html +0 -24
  478. package/src/app/publico/pages/timeout/timeout.page.scss +0 -2
  479. package/src/app/publico/pages/timeout/timeout.page.ts +0 -18
  480. package/src/app/seguridad/constantes/ConstantesGenerales.ts +0 -30
  481. package/src/app/seguridad/constantes/ReporteEntradaConstantes.ts +0 -18
  482. package/src/app/seguridad/constantes/ReporteFuenteConstantes.ts +0 -13
  483. package/src/app/seguridad/modelos/AplicacionModel.ts +0 -11
  484. package/src/app/seguridad/modelos/ArchivoPortalModel.ts +0 -16
  485. package/src/app/seguridad/modelos/AtributoPuntoModel.ts +0 -9
  486. package/src/app/seguridad/modelos/AtributoSSOportalModel.ts +0 -22
  487. package/src/app/seguridad/modelos/CargueLineaModel.ts +0 -17
  488. package/src/app/seguridad/modelos/ColoresRGB.ts +0 -17
  489. package/src/app/seguridad/modelos/ColumnaFuenteModel.ts +0 -9
  490. package/src/app/seguridad/modelos/ComplementoModel.ts +0 -10
  491. package/src/app/seguridad/modelos/ComponentePaginaModel.ts +0 -22
  492. package/src/app/seguridad/modelos/ConexionModel.ts +0 -15
  493. package/src/app/seguridad/modelos/ControlFuncionModel.ts +0 -10
  494. package/src/app/seguridad/modelos/CorreoModel.ts +0 -45
  495. package/src/app/seguridad/modelos/CorreoWSModel.ts +0 -49
  496. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.ts +0 -14
  497. package/src/app/seguridad/modelos/EmpresaModel.ts +0 -25
  498. package/src/app/seguridad/modelos/EmpresaSeguridadModel.ts +0 -19
  499. package/src/app/seguridad/modelos/EtiquetaModel.ts +0 -4
  500. package/src/app/seguridad/modelos/Etiquetas.ts +0 -14
  501. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.ts +0 -21
  502. package/src/app/seguridad/modelos/FuenteDato.ts +0 -19
  503. package/src/app/seguridad/modelos/FuenteEntradaModel.ts +0 -9
  504. package/src/app/seguridad/modelos/FuenteLineaServicioModel.ts +0 -19
  505. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.ts +0 -14
  506. package/src/app/seguridad/modelos/FuncionalidadModel.ts +0 -12
  507. package/src/app/seguridad/modelos/GeneralModel.ts +0 -16
  508. package/src/app/seguridad/modelos/GrupoControlFuncionModel.ts +0 -12
  509. package/src/app/seguridad/modelos/GrupoFuenteModel.ts +0 -17
  510. package/src/app/seguridad/modelos/GrupoPermisoModel.ts +0 -16
  511. package/src/app/seguridad/modelos/ListaServicioModel.ts +0 -18
  512. package/src/app/seguridad/modelos/LlaveForaneaModel.ts +0 -6
  513. package/src/app/seguridad/modelos/LoginModel.ts +0 -19
  514. package/src/app/seguridad/modelos/MensajeSistemaModel.ts +0 -10
  515. package/src/app/seguridad/modelos/ModulosModel.ts +0 -17
  516. package/src/app/seguridad/modelos/PaginaPortalModel.ts +0 -23
  517. package/src/app/seguridad/modelos/ParametroComponenteModel.ts +0 -9
  518. package/src/app/seguridad/modelos/ParametrosGeneralModel.ts +0 -16
  519. package/src/app/seguridad/modelos/PermisoFuncionModel.ts +0 -11
  520. package/src/app/seguridad/modelos/PermisocontenidoModel.ts +0 -20
  521. package/src/app/seguridad/modelos/PreguntaSeguridadModel.ts +0 -9
  522. package/src/app/seguridad/modelos/PropiedadModel.ts +0 -12
  523. package/src/app/seguridad/modelos/PublicacionWebModel.ts +0 -29
  524. package/src/app/seguridad/modelos/PuntoProcesoModel.ts +0 -7
  525. package/src/app/seguridad/modelos/RecursoPunto.ts +0 -13
  526. package/src/app/seguridad/modelos/RecursoPuntoModel.ts +0 -13
  527. package/src/app/seguridad/modelos/ReporteBanda.ts +0 -9
  528. package/src/app/seguridad/modelos/ReporteColumna.ts +0 -33
  529. package/src/app/seguridad/modelos/ReporteColumnario.ts +0 -82
  530. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.ts +0 -31
  531. package/src/app/seguridad/modelos/ReporteMarcador.ts +0 -40
  532. package/src/app/seguridad/modelos/ReporteSoporte.ts +0 -10
  533. package/src/app/seguridad/modelos/ReporteTabla.ts +0 -14
  534. package/src/app/seguridad/modelos/RespuestaModel.ts +0 -10
  535. package/src/app/seguridad/modelos/ServidorCorreoModel.ts +0 -31
  536. package/src/app/seguridad/modelos/SistemaMensajeModel.ts +0 -11
  537. package/src/app/seguridad/modelos/SitioPortalModel.ts +0 -29
  538. package/src/app/seguridad/modelos/TablaFromModel.ts +0 -5
  539. package/src/app/seguridad/modelos/TareasModel.ts +0 -54
  540. package/src/app/seguridad/modelos/TextoModel.ts +0 -11
  541. package/src/app/seguridad/modelos/TipoEtiqueta.ts +0 -8
  542. package/src/app/seguridad/modelos/UnionModel.ts +0 -14
  543. package/src/app/seguridad/modelos/UsuariogrupoModel.ts +0 -27
  544. package/src/app/seguridad/modelos/aplicacion-propiedad-model.ts +0 -16
  545. package/src/app/seguridad/modelos/contenidoCorreoModel.ts +0 -13
  546. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.html +0 -47
  547. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.scss +0 -8
  548. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.ts +0 -144
  549. package/src/app/shared/servicios/cargar-archivos.service.ts +0 -51
  550. package/src/app/shared/servicios/cargar-mapas.service.ts +0 -43
  551. package/src/app/shared/servicios/encriptado-basico.service.ts +0 -54
  552. package/src/app/shared/servicios/encriptador-simetrico.service.ts +0 -29
  553. package/src/app/shared/servicios/general.service.ts +0 -124
  554. package/src/app/shared/servicios/parametros-navegacion.service.ts +0 -20
  555. package/src/app/shared/servicios/plantillas.service.ts +0 -22
  556. package/src/app/shared/servicios/tarea.service.ts +0 -71
  557. package/src/app/shared/utilidades/translate-loader.util.ts +0 -44
  558. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.html +0 -175
  559. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.scss +0 -78
  560. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.ts +0 -438
  561. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.html +0 -87
  562. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.scss +0 -0
  563. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.ts +0 -189
  564. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.html +0 -117
  565. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.scss +0 -0
  566. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.ts +0 -87
  567. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.html +0 -158
  568. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.scss +0 -6
  569. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.ts +0 -345
  570. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.html +0 -131
  571. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.scss +0 -0
  572. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.ts +0 -198
  573. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.html +0 -206
  574. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.scss +0 -3
  575. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.ts +0 -330
  576. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.html +0 -2121
  577. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.scss +0 -241
  578. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.ts +0 -1694
  579. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.html +0 -33
  580. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.scss +0 -0
  581. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.ts +0 -96
  582. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.html +0 -54
  583. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.scss +0 -0
  584. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.ts +0 -111
  585. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.html +0 -394
  586. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.scss +0 -10
  587. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.ts +0 -599
  588. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.html +0 -130
  589. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.scss +0 -0
  590. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.ts +0 -172
  591. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.html +0 -404
  592. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.scss +0 -5
  593. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.ts +0 -763
  594. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.html +0 -145
  595. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.scss +0 -0
  596. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.ts +0 -302
  597. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.html +0 -19
  598. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.scss +0 -0
  599. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.ts +0 -88
  600. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.html +0 -714
  601. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.scss +0 -0
  602. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.ts +0 -688
  603. package/src/app/webcommon/pipes/dashboard.pipe.ts +0 -79
  604. package/src/app/webcommon/pipes/fuente.pipe.ts +0 -207
  605. package/src/app/webcommon/pipes/general.pipe.ts +0 -1046
  606. package/src/app/webcommon/pipes/reporte-columnario.pipe.ts +0 -101
  607. package/src/app/webcommon/pipes/reporte-fuente.pipe.ts +0 -306
  608. package/src/app/webcommon/pipes/sara-general.pipe.ts +0 -289
  609. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.html +0 -90
  610. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.scss +0 -0
  611. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.ts +0 -262
  612. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.html +0 -50
  613. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.scss +0 -0
  614. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.ts +0 -135
  615. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.html +0 -44
  616. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.scss +0 -0
  617. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.ts +0 -66
  618. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.html +0 -41
  619. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.scss +0 -0
  620. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.ts +0 -283
  621. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.html +0 -179
  622. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.scss +0 -3
  623. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.ts +0 -266
  624. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.html +0 -273
  625. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.scss +0 -13
  626. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.ts +0 -557
  627. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.html +0 -10
  628. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.scss +0 -5
  629. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.ts +0 -58
  630. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.html +0 -71
  631. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.scss +0 -0
  632. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.ts +0 -154
  633. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.html +0 -11
  634. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.scss +0 -0
  635. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.ts +0 -82
  636. package/src/app/webcommon/services/carguelinea.service.ts +0 -74
  637. package/src/app/webcommon/services/dashboard.service.ts +0 -258
  638. package/src/app/webcommon/services/ejecucionreporte.service.ts +0 -160
  639. package/src/app/webcommon/services/fechaUtils.service.ts +0 -127
  640. package/src/app/webcommon/services/fuentegeneral.service.ts +0 -74
  641. package/src/app/webcommon/services/homologacion.service.ts +0 -49
  642. package/src/app/webcommon/services/plantillas.service.ts +0 -165
  643. package/src/app/webcommon/services/reportes.service.ts +0 -133
  644. package/src/app/webcommon/webcommon.module.ts +0 -11
  645. package/src/environments/environment.prod.ts +0 -3
  646. package/src/environments/environment.ts +0 -25
  647. package/src/favicon.ico +0 -0
  648. package/src/index.html +0 -14
  649. package/src/main.ts +0 -12
  650. package/src/polyfills.ts +0 -53
  651. package/src/test.ts +0 -14
  652. package/tsconfig.app.json +0 -15
  653. package/tsconfig.json +0 -35
  654. package/tsconfig.spec.json +0 -18
@@ -0,0 +1,283 @@
1
+ import { Component, Input, ViewChild, ViewContainerRef, ViewChildren } from '@angular/core';
2
+ import { HashDirective } from './objetosformulario/HashDirective';
3
+ import { Cambio } from './objetosformulario/Cambio';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { CalendarModule } from 'primeng/calendar';
6
+ import { CheckboxModule } from 'primeng/checkbox';
7
+ import { InputTextareaModule } from 'primeng/inputtextarea';
8
+ import { InputTextModule } from 'primeng/inputtext';
9
+ import { RadioButtonModule } from 'primeng/radiobutton';
10
+ import { TooltipModule } from 'primeng/tooltip';
11
+ import { DropdownModule } from 'primeng/dropdown';
12
+ import { PasswordModule } from 'primeng/password';
13
+ import { CommonModule } from '@angular/common';
14
+ import { InputNumberModule } from 'primeng/inputnumber';
15
+ import { AutoCompleteModule } from 'primeng/autocomplete';
16
+ import { TableModule } from 'primeng/table';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "../../../core/servicios/utils.service";
19
+ import * as i2 from "../../../shared/servicios/general.service";
20
+ import * as i3 from "../../servicios/auth.service";
21
+ import * as i4 from "@angular/forms";
22
+ import * as i5 from "primeng/calendar";
23
+ import * as i6 from "primeng/api";
24
+ import * as i7 from "primeng/checkbox";
25
+ import * as i8 from "primeng/inputtextarea";
26
+ import * as i9 from "primeng/inputtext";
27
+ import * as i10 from "primeng/radiobutton";
28
+ import * as i11 from "primeng/tooltip";
29
+ import * as i12 from "primeng/dropdown";
30
+ import * as i13 from "primeng/password";
31
+ import * as i14 from "@angular/common";
32
+ import * as i15 from "primeng/inputnumber";
33
+ import * as i16 from "primeng/autocomplete";
34
+ import * as i17 from "primeng/table";
35
+ export class FormulariodinamicoComponent {
36
+ utilsService;
37
+ generalService;
38
+ authService;
39
+ campos;
40
+ listaSiNoRadioButton = [{ name: 'Si', key: 'S' }, { name: 'No', key: 'N' }];
41
+ vcr;
42
+ hashes;
43
+ editable;
44
+ objeto;
45
+ isMensaje = false;
46
+ validando = false;
47
+ verMensajeFuncion = false;
48
+ autoZIndex = 'true';
49
+ listaCompRef = [];
50
+ constructor(utilsService, generalService, authService) {
51
+ this.utilsService = utilsService;
52
+ this.generalService = generalService;
53
+ this.authService = authService;
54
+ }
55
+ ngOnChanges() {
56
+ }
57
+ ngAfterViewInit() {
58
+ this.verMensajeFuncion = false;
59
+ this.listaCompRef = [];
60
+ this.campos.forEach(campo => {
61
+ if (campo.mensajeFuncion) {
62
+ this.verMensajeFuncion = true;
63
+ }
64
+ if (campo.tipo == 'P') {
65
+ if (campo.popupComponent) {
66
+ this.mostrarPopupFormulario(campo).then(data => { });
67
+ }
68
+ }
69
+ });
70
+ this.campos.sort((a, b) => a.orden - b.orden);
71
+ }
72
+ ngOnInit() {
73
+ }
74
+ modificar(objeto, editable) {
75
+ this.limpiar();
76
+ this.objeto = objeto;
77
+ this.editable = editable;
78
+ this.campos.forEach(campo => {
79
+ if (!campo.caracteristica) {
80
+ for (let atributo in objeto) {
81
+ let valor = objeto[atributo];
82
+ if (atributo == campo.campo) {
83
+ this.cargarValor(campo.campo, valor, null);
84
+ }
85
+ }
86
+ }
87
+ if (campo.campoDepende != null) {
88
+ this.campos.forEach(campo2 => {
89
+ if (campo2.campo == campo.campoDepende) {
90
+ campo2.campoReferencia = campo.valor;
91
+ }
92
+ });
93
+ }
94
+ });
95
+ this.campos.sort((a, b) => a.orden - b.orden);
96
+ }
97
+ modificarValorCamposAdicionales(objeto, idGrupo) {
98
+ this.objeto = objeto;
99
+ this.campos.forEach(campo => {
100
+ if (idGrupo == campo.idGrupoPertenece) {
101
+ if (!campo.caracteristica) {
102
+ for (let atributo in objeto) {
103
+ let valor = objeto[atributo];
104
+ if (atributo == campo.campo) {
105
+ this.cargarValor(campo.campo, valor, null);
106
+ }
107
+ }
108
+ }
109
+ if (campo.campoDepende != null) {
110
+ this.campos.forEach(campo2 => {
111
+ if (campo2.campo == campo.campoDepende) {
112
+ campo2.campoReferencia = campo.valor;
113
+ }
114
+ });
115
+ }
116
+ }
117
+ });
118
+ this.campos.sort((a, b) => a.orden - b.orden);
119
+ }
120
+ guardar() {
121
+ this.campos.forEach(data => {
122
+ });
123
+ }
124
+ setValorPopup(objeto) {
125
+ }
126
+ async loadComponentDynamic(campo, component, props) {
127
+ var container = this.getContainerFor(campo.popup);
128
+ container.clear();
129
+ const hasProps = !!Object.keys(props).length;
130
+ const compRef = container.createComponent(component); //Angular 13
131
+ if (hasProps) {
132
+ for (let key of Object.keys(props)) {
133
+ compRef.instance[key] = props[key];
134
+ }
135
+ }
136
+ const componente = new campo.popupComponent();
137
+ if ('getDescripcionLlave' in componente) {
138
+ compRef.instance['label'] = await componente.getDescripcionLlave(this.generalService, this.authService, campo.valor, campo);
139
+ }
140
+ this.listaCompRef.push({ value: compRef, label: campo.popup });
141
+ }
142
+ getContainerFor(name) {
143
+ return this.hashes.find(x => x.hash === name).vcRef;
144
+ }
145
+ async mostrarPopupFormulario(campo) {
146
+ await this.loadComponentDynamic(campo, campo.popupComponent, campo.propiedadesPopupComponent);
147
+ }
148
+ validar() {
149
+ this.validando = true;
150
+ var validador = true;
151
+ this.campos.forEach(campo => {
152
+ if (campo.tipo == 'P') {
153
+ console.log('entra tipo p');
154
+ console.log(campo);
155
+ //var container = this.getContainerFor(campo.popup)
156
+ console.log(this.listaCompRef);
157
+ var filtroComponente = this.listaCompRef.filter(data => data.label == campo.popup)[0].value;
158
+ console.log(filtroComponente);
159
+ /*container.clear()
160
+ let props = campo.propiedadesPopupComponent;
161
+ const hasProps: boolean = !!Object.keys(props).length;
162
+ const compRef: ComponentRef<any> = container.createComponent( campo.popupComponent ); //Angular 13
163
+ if (hasProps) {
164
+ for (let key of Object.keys(props)) {
165
+ compRef.instance[key] = props[key];
166
+ }
167
+ }
168
+ console.log(compRef)*/
169
+ filtroComponente.instance['booleano'] = campo.obligatorio && !this.utilsService.validarCampoObligatorio(campo.valor);
170
+ filtroComponente.changeDetectorRef.detectChanges();
171
+ console.log(filtroComponente);
172
+ }
173
+ if (campo.obligatorio && !this.utilsService.validarCampoObligatorio(campo.valor)) {
174
+ validador = validador && false;
175
+ }
176
+ });
177
+ return validador;
178
+ }
179
+ getObjecto() {
180
+ var campos2 = this.campos.filter(data => !data.caracteristica);
181
+ campos2.forEach(campo => {
182
+ this.objeto[campo.campo] = campo.valor;
183
+ });
184
+ return this.objeto;
185
+ }
186
+ camposCaracteristicaClear() {
187
+ for (let i = 0; i < this.campos.length; i++) {
188
+ if (this.campos[i].caracteristica) {
189
+ this.campos.splice(i, 1);
190
+ }
191
+ }
192
+ }
193
+ cargarValor(campo, valor, dato) {
194
+ this.campos.forEach(campoF => {
195
+ if (campoF.campo == campo) {
196
+ //campoF.cargar(valor);
197
+ campoF.valor = valor;
198
+ campoF.dato = dato;
199
+ }
200
+ });
201
+ }
202
+ getCamposCaracteristica() {
203
+ var camposReturn = [];
204
+ this.campos.forEach(campo => {
205
+ if (campo.caracteristica) {
206
+ camposReturn.push(campo);
207
+ }
208
+ });
209
+ return camposReturn;
210
+ }
211
+ obtenerCampo(campo) {
212
+ var retorno = null;
213
+ this.campos.forEach(cam => {
214
+ if (cam.campo != null && cam.campo == campo) {
215
+ retorno = cam;
216
+ }
217
+ });
218
+ return retorno;
219
+ }
220
+ limpiar() {
221
+ if (this.campos != null && this.campos.length > 0) {
222
+ this.campos.forEach(campo => {
223
+ campo.valor = null;
224
+ campo.resaltado = false;
225
+ campo.mensajeFuncion = null;
226
+ });
227
+ }
228
+ }
229
+ validarVisibilidadCampos(campo) {
230
+ if ((campo.tipo == 'N' && campo.editable == 'N')) {
231
+ return false;
232
+ }
233
+ return true;
234
+ }
235
+ editarPermisoCamposPorIdGrupo(idGrupo, permisoCampo) {
236
+ this.campos.forEach(campo => {
237
+ if (idGrupo != campo.idGrupoPertenece || campo.editable == 'L') {
238
+ return;
239
+ }
240
+ campo.editable = permisoCampo;
241
+ });
242
+ }
243
+ getCambios() {
244
+ const cambios = [];
245
+ for (const campo of this.campos) {
246
+ if (campo.isCambio()) {
247
+ cambios.push(new Cambio(campo.original, campo.valor, campo));
248
+ }
249
+ }
250
+ return cambios;
251
+ }
252
+ removerCamposIdGrupo(idGrupo) {
253
+ var camposRemover = [];
254
+ this.campos.forEach(campo => {
255
+ if (idGrupo != campo.idGrupoPertenece) {
256
+ return;
257
+ }
258
+ camposRemover.push(campo);
259
+ });
260
+ this.campos = this.campos.filter(obj => !camposRemover.some(objEliminar => objEliminar.campo === obj.campo));
261
+ }
262
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormulariodinamicoComponent, deps: [{ token: i1.UtilsService }, { token: i2.GeneralService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
263
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FormulariodinamicoComponent, isStandalone: true, selector: "formulario-dinamico", inputs: { campos: "campos", editable: "editable", objeto: "objeto", isMensaje: "isMensaje" }, viewQueries: [{ propertyName: "vcr", first: true, predicate: ["popup"], descendants: true, read: ViewContainerRef }, { propertyName: "hashes", predicate: HashDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table [value]=\"campos\">\r\n <ng-template pTemplate=\"body\" let-campo>\r\n <tr *ngIf=\"validarVisibilidadCampos(campo)\">\r\n <td style=\"width: 20%;\">\r\n <label *ngIf=\"campo.editable != 'N'\" [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [class]=\"campo.tipo == 'I' ? 'font-bold color-400 mt-7' : ''\">\r\n {{ campo.descripcion }} \r\n <ng-container *ngIf=\"campo.editable != 'N' && campo.obligatorio\">*</ng-container>\r\n </label>\r\n </td>\r\n <td style=\"width: 80%\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div [ngClass]=\"campo.ayuda && campo.editable != 'N' ? 'col-11' : 'col-12'\">\r\n <!--campo tipo FECHA-->\r\n <p-calendar\r\n class=\"w-full\"\r\n appendTo=\"body\" \r\n type=\"text\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n dateFormat=\"dd/mm/yy\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'F' && campo.editable != 'N'\"\r\n [showIcon]=\"true\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n \r\n ></p-calendar>\r\n\r\n <!--campo tipo HORA-->\r\n <p-calendar\r\n class=\"w-full\"\r\n appendTo=\"body\" \r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'X' && campo.editable != 'N'\"\r\n [showTime]=\"true\"\r\n [showSeconds]=\"true\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-calendar>\r\n\r\n <!--campo tipo HORA VALOR-->\r\n <input\r\n pInputText\r\n type=\"time\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'Z' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n />\r\n\r\n <!--campo tipo TEXTO-->\r\n <input\r\n pInputText\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'T' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n />\r\n\r\n <!--campo tipo AREA TEXTO-->\r\n <textarea\r\n pInputTextarea\r\n [(ngModel)]=\"campo.valor\"\r\n rows=\"5\"\r\n cols=\"5\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n *ngIf=\"campo.tipo == 'A' && campo.editable != 'N'\"\r\n class=\"w-full p-inputtextarea p-inputtext p-component p-element min-h-100 max-h-250\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </textarea>\r\n\r\n <!--campo tipo NUMERO-->\r\n <p-inputNumber\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n [maxlength]=\"campo.longitud\"\r\n *ngIf=\"campo.tipo == 'N' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </p-inputNumber>\r\n\r\n <!--campo tipo DECIMAL-->\r\n <p-inputNumber\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n *ngIf=\"campo.tipo == 'D' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </p-inputNumber>\r\n\r\n <!--campo tipo SECRET-->\r\n <p-password\r\n [feedback]=\"false\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'S' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-password>\r\n\r\n <!--campo tipo COMBO-->\r\n <p-dropdown\r\n class=\"w-full\"\r\n appendTo=\"body\"\r\n [options]=\"campo.lista\"\r\n [autoDisplayFirst]=\"false\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n *ngIf=\"campo.tipo == 'C' && campo.editable != 'N'\"\r\n [showClear]=\"!campo.obligatorio\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </p-dropdown>\r\n\r\n <!--campo tipo LOGICO-->\r\n <div *ngIf=\"campo.tipo == 'L' && campo.editable != 'N'\">\r\n <div class=\"col-md-12\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div *ngFor=\"let valor of listaSiNoRadioButton\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\r\n <p-radioButton\r\n [inputId]=\"valor.key\"\r\n name=\"valor\"\r\n [value]=\"valor.key\"\r\n [label]=\"valor.name\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-radioButton>\r\n <label> </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--campo tipo RADIO-->\r\n <div *ngIf=\"campo.tipo == 'R' && campo.editable != 'N'\">\r\n <div class=\"col-md-12\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div *ngFor=\"let valor of campo.lista\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\r\n <p-radioButton\r\n [inputId]=\"valor.value\"\r\n name=\"valor\"\r\n [value]=\"valor.value\"\r\n [label]=\"valor.label\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-radioButton>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--campo tipo CHECKBOX-->\r\n <div *ngIf=\"campo.tipo == 'H' && campo.editable != 'N'\">\r\n <div class=\"col-md-12\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div *ngFor=\"let valor of campo.lista\" class=\"col-12 md:col-3 field-checkbox\">\r\n <p-checkbox\r\n [inputId]=\"valor.value\"\r\n name=\"valor\"\r\n [value]=\"valor\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-checkbox>\r\n <label [for]=\"valor.value\">{{ valor.label }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--campo tipo AUTOCOMPLETAR-->\r\n <p-autoComplete\r\n *ngIf=\"\r\n (campo.tipo == 'O' || campo.tipo == 'Y') && campo.editable != 'N'\r\n \"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [suggestions]=\"campo.listaAutocompleteFiltrada\"\r\n (completeMethod)=\"campo.filtrarAutocomplete($event)\"\r\n field=\"label\"\r\n [dropdown]=\"true\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n <ng-template let-valor pTemplate=\"item\">\r\n <div>\r\n <div>{{ valor.label }}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n\r\n <!--campo tipo POPUP-->\r\n <div class=\"field\" *ngIf=\"campo.tipo == 'P' && campo.editable != 'N'\" >\r\n <ng-container *ngFor=\"let item of campo.listaPopups\" [hash]=\"item\"></ng-container>\r\n </div>\r\n <div *ngIf=\"verMensajeFuncion\" class=\"text-center w-1\">\r\n <label>{{ campo.mensajeFuncion }}</label>\r\n </div>\r\n <div *ngIf=\"isMensaje\">\r\n <label *ngIf=\"campo.mensaje\">{{ campo.mensaje }}</label>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"campo.ayuda && campo.editable != 'N'\" class=\"col-1 contenedor\" >\r\n <span\r\n class=\"w-1rem\"\r\n style=\"color: var(--color-400)\"\r\n tooltipStyleClass=\"tw-250\"\r\n [hideDelay]=\"1800\"\r\n pTooltip=\"{{ campo.ayuda }}\"\r\n tooltipPosition=\"top\"\r\n *ngIf=\"campo.ayuda && campo.editable != 'N'\"\r\n ><i class=\"pi pi-question-circle\"></i\r\n ></span>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>", styles: [".contenedor{display:flex;justify-content:center;align-items:center}:host ::ng-deep .subtitulo{display:table;margin-top:12px;margin-bottom:30px}:host ::ng-deep .subtitulo label{position:absolute;font-weight:600;color:#232323}:host ::ng-deep .p-datatable table{background:#fafafa}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i5.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i7.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i8.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i9.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i10.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i11.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { 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: PasswordModule }, { kind: "component", type: i13.Password, selector: "p-password", inputs: ["ariaLabel", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i15.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i16.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: HashDirective, selector: "[hash]", inputs: ["hash"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i17.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"] }] });
264
+ }
265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormulariodinamicoComponent, decorators: [{
266
+ type: Component,
267
+ args: [{ selector: 'formulario-dinamico', imports: [FormsModule, CalendarModule, CheckboxModule, InputTextareaModule, InputTextModule, RadioButtonModule, TooltipModule, DropdownModule, PasswordModule, CommonModule, InputNumberModule, AutoCompleteModule, HashDirective, TableModule], standalone: true, template: "<p-table [value]=\"campos\">\r\n <ng-template pTemplate=\"body\" let-campo>\r\n <tr *ngIf=\"validarVisibilidadCampos(campo)\">\r\n <td style=\"width: 20%;\">\r\n <label *ngIf=\"campo.editable != 'N'\" [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [class]=\"campo.tipo == 'I' ? 'font-bold color-400 mt-7' : ''\">\r\n {{ campo.descripcion }} \r\n <ng-container *ngIf=\"campo.editable != 'N' && campo.obligatorio\">*</ng-container>\r\n </label>\r\n </td>\r\n <td style=\"width: 80%\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div [ngClass]=\"campo.ayuda && campo.editable != 'N' ? 'col-11' : 'col-12'\">\r\n <!--campo tipo FECHA-->\r\n <p-calendar\r\n class=\"w-full\"\r\n appendTo=\"body\" \r\n type=\"text\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n dateFormat=\"dd/mm/yy\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'F' && campo.editable != 'N'\"\r\n [showIcon]=\"true\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n \r\n ></p-calendar>\r\n\r\n <!--campo tipo HORA-->\r\n <p-calendar\r\n class=\"w-full\"\r\n appendTo=\"body\" \r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'X' && campo.editable != 'N'\"\r\n [showTime]=\"true\"\r\n [showSeconds]=\"true\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-calendar>\r\n\r\n <!--campo tipo HORA VALOR-->\r\n <input\r\n pInputText\r\n type=\"time\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'Z' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n />\r\n\r\n <!--campo tipo TEXTO-->\r\n <input\r\n pInputText\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'T' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n />\r\n\r\n <!--campo tipo AREA TEXTO-->\r\n <textarea\r\n pInputTextarea\r\n [(ngModel)]=\"campo.valor\"\r\n rows=\"5\"\r\n cols=\"5\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n *ngIf=\"campo.tipo == 'A' && campo.editable != 'N'\"\r\n class=\"w-full p-inputtextarea p-inputtext p-component p-element min-h-100 max-h-250\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </textarea>\r\n\r\n <!--campo tipo NUMERO-->\r\n <p-inputNumber\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n [maxlength]=\"campo.longitud\"\r\n *ngIf=\"campo.tipo == 'N' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </p-inputNumber>\r\n\r\n <!--campo tipo DECIMAL-->\r\n <p-inputNumber\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n *ngIf=\"campo.tipo == 'D' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </p-inputNumber>\r\n\r\n <!--campo tipo SECRET-->\r\n <p-password\r\n [feedback]=\"false\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [tabIndex]=\"campo.orden + 1\"\r\n *ngIf=\"campo.tipo == 'S' && campo.editable != 'N'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-password>\r\n\r\n <!--campo tipo COMBO-->\r\n <p-dropdown\r\n class=\"w-full\"\r\n appendTo=\"body\"\r\n [options]=\"campo.lista\"\r\n [autoDisplayFirst]=\"false\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n *ngIf=\"campo.tipo == 'C' && campo.editable != 'N'\"\r\n [showClear]=\"!campo.obligatorio\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n </p-dropdown>\r\n\r\n <!--campo tipo LOGICO-->\r\n <div *ngIf=\"campo.tipo == 'L' && campo.editable != 'N'\">\r\n <div class=\"col-md-12\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div *ngFor=\"let valor of listaSiNoRadioButton\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\r\n <p-radioButton\r\n [inputId]=\"valor.key\"\r\n name=\"valor\"\r\n [value]=\"valor.key\"\r\n [label]=\"valor.name\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-radioButton>\r\n <label> </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--campo tipo RADIO-->\r\n <div *ngIf=\"campo.tipo == 'R' && campo.editable != 'N'\">\r\n <div class=\"col-md-12\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div *ngFor=\"let valor of campo.lista\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\r\n <p-radioButton\r\n [inputId]=\"valor.value\"\r\n name=\"valor\"\r\n [value]=\"valor.value\"\r\n [label]=\"valor.label\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-radioButton>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--campo tipo CHECKBOX-->\r\n <div *ngIf=\"campo.tipo == 'H' && campo.editable != 'N'\">\r\n <div class=\"col-md-12\">\r\n <div class=\"p-fluid p-formgrid grid\">\r\n <div *ngFor=\"let valor of campo.lista\" class=\"col-12 md:col-3 field-checkbox\">\r\n <p-checkbox\r\n [inputId]=\"valor.value\"\r\n name=\"valor\"\r\n [value]=\"valor\"\r\n [(ngModel)]=\"campo.valor\"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n ></p-checkbox>\r\n <label [for]=\"valor.value\">{{ valor.label }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--campo tipo AUTOCOMPLETAR-->\r\n <p-autoComplete\r\n *ngIf=\"\r\n (campo.tipo == 'O' || campo.tipo == 'Y') && campo.editable != 'N'\r\n \"\r\n [disabled]=\"!editable || campo.editable == 'L'\"\r\n [(ngModel)]=\"campo.valor\"\r\n [suggestions]=\"campo.listaAutocompleteFiltrada\"\r\n (completeMethod)=\"campo.filtrarAutocomplete($event)\"\r\n field=\"label\"\r\n [dropdown]=\"true\"\r\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\r\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\r\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\r\n >\r\n <ng-template let-valor pTemplate=\"item\">\r\n <div>\r\n <div>{{ valor.label }}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n\r\n <!--campo tipo POPUP-->\r\n <div class=\"field\" *ngIf=\"campo.tipo == 'P' && campo.editable != 'N'\" >\r\n <ng-container *ngFor=\"let item of campo.listaPopups\" [hash]=\"item\"></ng-container>\r\n </div>\r\n <div *ngIf=\"verMensajeFuncion\" class=\"text-center w-1\">\r\n <label>{{ campo.mensajeFuncion }}</label>\r\n </div>\r\n <div *ngIf=\"isMensaje\">\r\n <label *ngIf=\"campo.mensaje\">{{ campo.mensaje }}</label>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"campo.ayuda && campo.editable != 'N'\" class=\"col-1 contenedor\" >\r\n <span\r\n class=\"w-1rem\"\r\n style=\"color: var(--color-400)\"\r\n tooltipStyleClass=\"tw-250\"\r\n [hideDelay]=\"1800\"\r\n pTooltip=\"{{ campo.ayuda }}\"\r\n tooltipPosition=\"top\"\r\n *ngIf=\"campo.ayuda && campo.editable != 'N'\"\r\n ><i class=\"pi pi-question-circle\"></i\r\n ></span>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>", styles: [".contenedor{display:flex;justify-content:center;align-items:center}:host ::ng-deep .subtitulo{display:table;margin-top:12px;margin-bottom:30px}:host ::ng-deep .subtitulo label{position:absolute;font-weight:600;color:#232323}:host ::ng-deep .p-datatable table{background:#fafafa}\n"] }]
268
+ }], ctorParameters: () => [{ type: i1.UtilsService }, { type: i2.GeneralService }, { type: i3.AuthService }], propDecorators: { campos: [{
269
+ type: Input
270
+ }], vcr: [{
271
+ type: ViewChild,
272
+ args: ['popup', { read: ViewContainerRef }]
273
+ }], hashes: [{
274
+ type: ViewChildren,
275
+ args: [HashDirective]
276
+ }], editable: [{
277
+ type: Input
278
+ }], objeto: [{
279
+ type: Input
280
+ }], isMensaje: [{
281
+ type: Input
282
+ }] } });
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXVsYXJpb2RpbmFtaWNvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9mb3JtdWxhcmlvZGluYW1pY28vZm9ybXVsYXJpb2RpbmFtaWNvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9mb3JtdWxhcmlvZGluYW1pY28vZm9ybXVsYXJpb2RpbmFtaWNvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUE4QixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUV6SyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJB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a0JBQWtCLCtzQ0FBRSxhQUFhLG9FQUFFLFdBQVc7OzJGQUtyTywyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UscUJBQXFCLFdBQ3BCLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLGNBQ25PLElBQUk7d0lBTVQsTUFBTTtzQkFBZCxLQUFLO2dCQUUyQyxHQUFHO3NCQUFuRCxTQUFTO3VCQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDVixNQUFNO3NCQUExQyxZQUFZO3VCQUFDLGFBQWE7Z0JBQ2xCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgSW5wdXQsIE9uSW5pdCwgQ29tcG9uZW50UmVmLCBUeXBlLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhbXBvRm9ybXVsYXJpb01vZGVsIH0gZnJvbSAnLi9vYmpldG9zZm9ybXVsYXJpby9DYW1wb0Zvcm11bGFyaW8nO1xyXG5pbXBvcnQgeyBIYXNoRGlyZWN0aXZlIH0gZnJvbSAnLi9vYmpldG9zZm9ybXVsYXJpby9IYXNoRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2lvcy9nZW5lcmFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYW1iaW8gfSBmcm9tICcuL29iamV0b3Nmb3JtdWxhcmlvL0NhbWJpbyc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgUGFzc3dvcmRNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Bhc3N3b3JkJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmb3JtdWxhcmlvLWRpbmFtaWNvJyxcclxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgQ2FsZW5kYXJNb2R1bGUsIENoZWNrYm94TW9kdWxlLCBJbnB1dFRleHRhcmVhTW9kdWxlLCBJbnB1dFRleHRNb2R1bGUsIFJhZGlvQnV0dG9uTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBEcm9wZG93bk1vZHVsZSwgUGFzc3dvcmRNb2R1bGUsIENvbW1vbk1vZHVsZSwgSW5wdXROdW1iZXJNb2R1bGUsIEF1dG9Db21wbGV0ZU1vZHVsZSwgSGFzaERpcmVjdGl2ZSwgVGFibGVNb2R1bGVdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtdWxhcmlvZGluYW1pY28uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm11bGFyaW9kaW5hbWljby5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtdWxhcmlvZGluYW1pY29Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGNhbXBvczogQ2FtcG9Gb3JtdWxhcmlvTW9kZWxbXTtcclxuICBsaXN0YVNpTm9SYWRpb0J1dHRvbjogYW55W10gPSBbeyBuYW1lOiAnU2knLCBrZXk6ICdTJyB9LCB7IG5hbWU6ICdObycsIGtleTogJ04nIH1dO1xyXG4gIEBWaWV3Q2hpbGQgKCdwb3B1cCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSB2Y3I6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgQFZpZXdDaGlsZHJlbihIYXNoRGlyZWN0aXZlKSBwcml2YXRlIGhhc2hlczogUXVlcnlMaXN0PEhhc2hEaXJlY3RpdmU+O1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG9iamV0bzogYW55O1xyXG4gIEBJbnB1dCgpIGlzTWVuc2FqZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyB2YWxpZGFuZG86IGJvb2xlYW4gPSBmYWxzZTsgIFxyXG4gIHZlck1lbnNhamVGdW5jaW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGF1dG9aSW5kZXg6IHN0cmluZyA9ICd0cnVlJztcclxuICBwdWJsaWMgbGlzdGFDb21wUmVmOiB7dmFsdWU6IENvbXBvbmVudFJlZjxhbnk+LCBsYWJlbDogc3RyaW5nfVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSwgcHJpdmF0ZSBnZW5lcmFsU2VydmljZTogR2VuZXJhbFNlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKXtcclxuICAgXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBcclxuICAgIHRoaXMudmVyTWVuc2FqZUZ1bmNpb24gPSBmYWxzZTtcclxuICAgIHRoaXMubGlzdGFDb21wUmVmID0gW107XHJcbiAgICB0aGlzLmNhbXBvcy5mb3JFYWNoKGNhbXBvID0+IHtcclxuICAgICAgaWYoY2FtcG8ubWVuc2FqZUZ1bmNpb24pe1xyXG4gICAgICAgIHRoaXMudmVyTWVuc2FqZUZ1bmNpb24gPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjYW1wby50aXBvID09ICdQJyl7XHJcbiAgICAgICAgaWYgKGNhbXBvLnBvcHVwQ29tcG9uZW50KXtcclxuICAgICAgICAgIHRoaXMubW9zdHJhclBvcHVwRm9ybXVsYXJpbyhjYW1wbykudGhlbihkYXRhID0+IHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLmNhbXBvcy5zb3J0KChhLCBiKSA9PiBhLm9yZGVuIC0gYi5vcmRlbik7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBtb2RpZmljYXIob2JqZXRvOiBhbnksIGVkaXRhYmxlOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLmxpbXBpYXIoKTtcclxuXHRcdHRoaXMub2JqZXRvID0gb2JqZXRvO1xyXG5cdFx0dGhpcy5lZGl0YWJsZSA9IGVkaXRhYmxlO1xyXG4gICAgdGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbyA9PiB7XHJcbiAgICAgIGlmICghY2FtcG8uY2FyYWN0ZXJpc3RpY2Epe1xyXG4gICAgICAgIGZvciAobGV0IGF0cmlidXRvIGluIG9iamV0bykge1xyXG4gICAgICAgICAgbGV0IHZhbG9yID0gb2JqZXRvW2F0cmlidXRvXTtcclxuICAgICAgICAgIGlmIChhdHJpYnV0byA9PSBjYW1wby5jYW1wbyl7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyZ2FyVmFsb3IoY2FtcG8uY2FtcG8sIHZhbG9yLCBudWxsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYoY2FtcG8uY2FtcG9EZXBlbmRlIT0gbnVsbCl7XHJcblx0XHRcdFx0dGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbzIgPT4ge1xyXG5cdFx0XHRcdFx0aWYoY2FtcG8yLmNhbXBvID09IGNhbXBvLmNhbXBvRGVwZW5kZSl7XHJcblx0XHRcdFx0XHRcdGNhbXBvMi5jYW1wb1JlZmVyZW5jaWEgPSBjYW1wby52YWxvcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcbiAgICB9KVxyXG4gICAgXHJcbiAgICB0aGlzLmNhbXBvcy5zb3J0KChhLCBiKSA9PiBhLm9yZGVuIC0gYi5vcmRlbik7XHJcblx0fVxyXG5cclxuICBtb2RpZmljYXJWYWxvckNhbXBvc0FkaWNpb25hbGVzKG9iamV0bzogYW55LCBpZEdydXBvOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMub2JqZXRvID0gb2JqZXRvO1xyXG4gICAgdGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbyA9PiB7XHJcbiAgICAgIGlmKGlkR3J1cG8gPT0gY2FtcG8uaWRHcnVwb1BlcnRlbmVjZSkge1xyXG4gICAgICAgIGlmICghY2FtcG8uY2FyYWN0ZXJpc3RpY2Epe1xyXG4gICAgICAgICAgZm9yIChsZXQgYXRyaWJ1dG8gaW4gb2JqZXRvKSB7XHJcbiAgICAgICAgICAgIGxldCB2YWxvciA9IG9iamV0b1thdHJpYnV0b107XHJcbiAgICAgICAgICAgIGlmIChhdHJpYnV0byA9PSBjYW1wby5jYW1wbyl7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYXJnYXJWYWxvcihjYW1wby5jYW1wbywgdmFsb3IsIG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGNhbXBvLmNhbXBvRGVwZW5kZSE9IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbzIgPT4ge1xyXG4gICAgICAgICAgICBpZihjYW1wbzIuY2FtcG8gPT0gY2FtcG8uY2FtcG9EZXBlbmRlKXtcclxuICAgICAgICAgICAgICBjYW1wbzIuY2FtcG9SZWZlcmVuY2lhID0gY2FtcG8udmFsb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfSlcclxuICAgIFxyXG4gICAgdGhpcy5jYW1wb3Muc29ydCgoYSwgYikgPT4gYS5vcmRlbiAtIGIub3JkZW4pO1xyXG4gIH1cclxuXHJcbiAgZ3VhcmRhcigpe1xyXG4gICAgdGhpcy5jYW1wb3MuZm9yRWFjaChkYXRhID0+IHtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZXRWYWxvclBvcHVwKG9iamV0byl7XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2FkQ29tcG9uZW50RHluYW1pYzxUPihjYW1wbzogQ2FtcG9Gb3JtdWxhcmlvTW9kZWwsIGNvbXBvbmVudDogVHlwZTxUPiwgcHJvcHM6IFBhcnRpYWw8VD4pIHtcclxuICAgIHZhciBjb250YWluZXIgPSAgIHRoaXMuZ2V0Q29udGFpbmVyRm9yKGNhbXBvLnBvcHVwKVxyXG4gICAgY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICBjb25zdCBoYXNQcm9wczogYm9vbGVhbiA9ICEhT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aDtcclxuICAgIGNvbnN0IGNvbXBSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCggY29tcG9uZW50ICk7IC8vQW5ndWxhciAxM1xyXG4gICAgXHJcbiAgICBpZiAoaGFzUHJvcHMpIHtcclxuICAgICAgZm9yIChsZXQga2V5IG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xyXG4gICAgICAgIGNvbXBSZWYuaW5zdGFuY2Vba2V5XSA9IHByb3BzW2tleV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGNvbXBvbmVudGUgPSBuZXcgY2FtcG8ucG9wdXBDb21wb25lbnQoKTtcclxuICAgIGlmKCdnZXREZXNjcmlwY2lvbkxsYXZlJyBpbiBjb21wb25lbnRlICl7XHJcbiAgICAgIGNvbXBSZWYuaW5zdGFuY2VbJ2xhYmVsJ10gPSBhd2FpdCBjb21wb25lbnRlLmdldERlc2NyaXBjaW9uTGxhdmUodGhpcy5nZW5lcmFsU2VydmljZSwgdGhpcy5hdXRoU2VydmljZSwgY2FtcG8udmFsb3IsIGNhbXBvKVxyXG4gICAgfVxyXG4gICAgdGhpcy5saXN0YUNvbXBSZWYucHVzaCh7dmFsdWU6Y29tcFJlZiwgbGFiZWw6IGNhbXBvLnBvcHVwfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb250YWluZXJGb3IobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNoZXMuZmluZCh4ID0+IHguaGFzaCA9PT0gbmFtZSkudmNSZWY7XHJcbiAgfVxyXG5cclxuICBhc3luYyBtb3N0cmFyUG9wdXBGb3JtdWxhcmlvKGNhbXBvOiBDYW1wb0Zvcm11bGFyaW9Nb2RlbCl7XHJcbiAgICBhd2FpdCB0aGlzLmxvYWRDb21wb25lbnREeW5hbWljKGNhbXBvLCBjYW1wby5wb3B1cENvbXBvbmVudCwgY2FtcG8ucHJvcGllZGFkZXNQb3B1cENvbXBvbmVudClcclxuICAgICAgXHJcbiAgfVxyXG5cclxuICB2YWxpZGFyKCk6IGJvb2xlYW57XHJcbiAgICB0aGlzLnZhbGlkYW5kbyA9IHRydWU7XHJcbiAgICB2YXIgdmFsaWRhZG9yID0gdHJ1ZTtcclxuICAgIHRoaXMuY2FtcG9zLmZvckVhY2goY2FtcG8gPT4ge1xyXG4gICAgICBpZiAoY2FtcG8udGlwbyA9PSAnUCcpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnZW50cmEgdGlwbyBwJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coY2FtcG8pXHJcbiAgICAgICAgLy92YXIgY29udGFpbmVyID0gICB0aGlzLmdldENvbnRhaW5lckZvcihjYW1wby5wb3B1cClcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmxpc3RhQ29tcFJlZilcclxuICAgICAgICB2YXIgZmlsdHJvQ29tcG9uZW50ZSA9IHRoaXMubGlzdGFDb21wUmVmLmZpbHRlcihkYXRhID0+IGRhdGEubGFiZWwgPT0gY2FtcG8ucG9wdXApWzBdLnZhbHVlO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGZpbHRyb0NvbXBvbmVudGUpXHJcbiAgICAgICAgLypjb250YWluZXIuY2xlYXIoKVxyXG4gICAgICAgIGxldCBwcm9wcyA9IGNhbXBvLnByb3BpZWRhZGVzUG9wdXBDb21wb25lbnQ7XHJcbiAgICAgICAgY29uc3QgaGFzUHJvcHM6IGJvb2xlYW4gPSAhIU9iamVjdC5rZXlzKHByb3BzKS5sZW5ndGg7XHJcbiAgICAgICAgY29uc3QgY29tcFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBjb250YWluZXIuY3JlYXRlQ29tcG9uZW50KCBjYW1wby5wb3B1cENvbXBvbmVudCApOyAvL0FuZ3VsYXIgMTNcclxuICAgICAgICBpZiAoaGFzUHJvcHMpIHtcclxuICAgICAgICAgIGZvciAobGV0IGtleSBvZiBPYmplY3Qua2V5cyhwcm9wcykpIHtcclxuICAgICAgICAgICAgY29tcFJlZi5pbnN0YW5jZVtrZXldID0gcHJvcHNba2V5XTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5sb2coY29tcFJlZikqL1xyXG4gICAgICAgIGZpbHRyb0NvbXBvbmVudGUuaW5zdGFuY2VbJ2Jvb2xlYW5vJ10gPSBjYW1wby5vYmxpZ2F0b3JpbyAmJiAhdGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpO1xyXG4gICAgICAgIGZpbHRyb0NvbXBvbmVudGUuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhmaWx0cm9Db21wb25lbnRlKVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChjYW1wby5vYmxpZ2F0b3JpbyAmJiAhdGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICApe1xyXG4gICAgICAgIHZhbGlkYWRvciA9IHZhbGlkYWRvciAmJiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiB2YWxpZGFkb3I7XHJcbiAgfVxyXG5cclxuICBnZXRPYmplY3RvKCk6IGFueXtcclxuICAgIHZhciBjYW1wb3MyID0gdGhpcy5jYW1wb3MuZmlsdGVyKGRhdGEgPT4gIWRhdGEuY2FyYWN0ZXJpc3RpY2EpO1xyXG4gICAgY2FtcG9zMi5mb3JFYWNoKGNhbXBvID0+IHtcclxuICAgICAgdGhpcy5vYmpldG9bY2FtcG8uY2FtcG9dID0gY2FtcG8udmFsb3I7XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHRoaXMub2JqZXRvO1xyXG4gIH1cclxuXHJcbiAgY2FtcG9zQ2FyYWN0ZXJpc3RpY2FDbGVhcigpe1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNhbXBvcy5sZW5ndGg7IGkrKyl7XHJcbiAgICAgIGlmICh0aGlzLmNhbXBvc1tpXS5jYXJhY3RlcmlzdGljYSl7XHJcbiAgICAgICAgdGhpcy5jYW1wb3Muc3BsaWNlKGksIDEpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhcmdhclZhbG9yKGNhbXBvOiBzdHJpbmcsIHZhbG9yOiBhbnksIGRhdG86IGFueSkge1xyXG4gICAgdGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wb0YgPT4ge1xyXG4gICAgICBpZiAoY2FtcG9GLmNhbXBvID09IGNhbXBvKSB7XHJcbiAgICAgICAgLy9jYW1wb0YuY2FyZ2FyKHZhbG9yKTtcclxuICAgICAgICBjYW1wb0YudmFsb3IgPSB2YWxvcjtcclxuICAgICAgICBjYW1wb0YuZGF0byA9IGRhdG87XHJcbiAgICAgIH1cclxuXHRcdH0pXHJcblx0fVxyXG4gIFxyXG4gIGdldENhbXBvc0NhcmFjdGVyaXN0aWNhKCkge1xyXG5cdFx0dmFyIGNhbXBvc1JldHVybjogQ2FtcG9Gb3JtdWxhcmlvTW9kZWxbXSA9IFtdO1xyXG5cdFx0dGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbyA9PiB7XHJcbiAgICAgIGlmIChjYW1wby5jYXJhY3RlcmlzdGljYSkge1xyXG4gICAgICAgIGNhbXBvc1JldHVybi5wdXNoKGNhbXBvKTtcclxuICAgICAgfVxyXG5cdFx0fSlcclxuXHRcdHJldHVybiBjYW1wb3NSZXR1cm47XHJcbiAgfVxyXG5cclxuICBvYnRlbmVyQ2FtcG8oY2FtcG86IHN0cmluZyl7XHJcbiAgICB2YXIgcmV0b3JubyA9IG51bGxcclxuICAgIHRoaXMuY2FtcG9zLmZvckVhY2goY2FtID0+IHtcclxuICAgICAgaWYoY2FtLmNhbXBvICE9IG51bGwgJiYgY2FtLmNhbXBvID09IGNhbXBvKXtcclxuICAgICAgICAgIHJldG9ybm8gPSBjYW07XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblx0XHRyZXR1cm4gcmV0b3JubztcclxuXHR9XHJcblxyXG4gIGxpbXBpYXIoKSB7XHJcbiAgICBpZiAodGhpcy5jYW1wb3MgIT0gbnVsbCAmJiB0aGlzLmNhbXBvcy5sZW5ndGggPiAwKXtcclxuICAgICAgdGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbyA9PiB7XHJcbiAgICAgICAgY2FtcG8udmFsb3IgPSBudWxsO1xyXG4gICAgICAgIGNhbXBvLnJlc2FsdGFkbyA9IGZhbHNlO1xyXG4gICAgICAgIGNhbXBvLm1lbnNhamVGdW5jaW9uID0gbnVsbDtcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgdmFsaWRhclZpc2liaWxpZGFkQ2FtcG9zKGNhbXBvOiBDYW1wb0Zvcm11bGFyaW9Nb2RlbCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGlmICgoY2FtcG8udGlwbyA9PSAnTicgJiYgY2FtcG8uZWRpdGFibGUgPT0gJ04nKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBlZGl0YXJQZXJtaXNvQ2FtcG9zUG9ySWRHcnVwbyhpZEdydXBvOiBzdHJpbmcsIHBlcm1pc29DYW1wbzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNhbXBvcy5mb3JFYWNoKGNhbXBvID0+IHtcclxuICAgICAgaWYgKGlkR3J1cG8gIT0gY2FtcG8uaWRHcnVwb1BlcnRlbmVjZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCcpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY2FtcG8uZWRpdGFibGUgPSBwZXJtaXNvQ2FtcG87XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FtYmlvcygpOiBDYW1iaW9bXSB7XHJcbiAgICBjb25zdCBjYW1iaW9zOiBDYW1iaW9bXSA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBjYW1wbyBvZiB0aGlzLmNhbXBvcykge1xyXG4gICAgICBpZiAoY2FtcG8uaXNDYW1iaW8oKSkge1xyXG4gICAgICAgIGNhbWJpb3MucHVzaChuZXcgQ2FtYmlvKGNhbXBvLm9yaWdpbmFsLCBjYW1wby52YWxvciwgY2FtcG8pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhbWJpb3M7XHJcbiAgfVxyXG5cclxuICByZW1vdmVyQ2FtcG9zSWRHcnVwbyhpZEdydXBvOiBzdHJpbmcpIHtcclxuICAgIHZhciBjYW1wb3NSZW1vdmVyOiBDYW1wb0Zvcm11bGFyaW9Nb2RlbFtdID0gW107XHJcbiAgICB0aGlzLmNhbXBvcy5mb3JFYWNoKGNhbXBvID0+IHtcclxuICAgICAgaWYgKGlkR3J1cG8gIT0gY2FtcG8uaWRHcnVwb1BlcnRlbmVjZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjYW1wb3NSZW1vdmVyLnB1c2goY2FtcG8pO1xyXG4gICAgfSlcclxuICAgIHRoaXMuY2FtcG9zID0gdGhpcy5jYW1wb3MuZmlsdGVyKG9iaiA9PiAhY2FtcG9zUmVtb3Zlci5zb21lKG9iakVsaW1pbmFyID0+IG9iakVsaW1pbmFyLmNhbXBvID09PSBvYmouY2FtcG8pKTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8cC10YWJsZSBbdmFsdWVdPVwiY2FtcG9zXCI+XHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtY2FtcG8+XHJcbiAgICA8dHIgKm5nSWY9XCJ2YWxpZGFyVmlzaWJpbGlkYWRDYW1wb3MoY2FtcG8pXCI+XHJcbiAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiAyMCU7XCI+XHJcbiAgICAgICAgPGxhYmVsICpuZ0lmPVwiY2FtcG8uZWRpdGFibGUgIT0gJ04nXCIgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cImNhbXBvLnRpcG8gID09ICdJJyA/ICdmb250LWJvbGQgY29sb3ItNDAwIG10LTcnIDogJydcIj5cclxuICAgICAgICAgICAge3sgY2FtcG8uZGVzY3JpcGNpb24gfX0gXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW1wby5lZGl0YWJsZSAhPSAnTicgJiYgY2FtcG8ub2JsaWdhdG9yaW9cIj4qPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgPC90ZD5cclxuICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDgwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWQgZ3JpZFwiPlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiY2FtcG8uYXl1ZGEgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nID8gJ2NvbC0xMScgOiAnY29sLTEyJ1wiPlxyXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIEZFQ0hBLS0+XHJcbiAgICAgICAgPHAtY2FsZW5kYXJcclxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcclxuICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXHJcbiAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQvbW0veXlcIlxyXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXHJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ0YnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXHJcbiAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgPjwvcC1jYWxlbmRhcj5cclxuXHJcbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gSE9SQS0tPlxyXG4gICAgICAgIDxwLWNhbGVuZGFyXHJcbiAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXHJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FtcG8udmFsb3JcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxyXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXHJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ1gnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXHJcbiAgICAgICAgICBbc2hvd1RpbWVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc2hvd1NlY29uZHNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICA+PC9wLWNhbGVuZGFyPlxyXG5cclxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBIT1JBIFZBTE9SLS0+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBwSW5wdXRUZXh0XHJcbiAgICAgICAgICB0eXBlPVwidGltZVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNhbXBvLnZhbG9yXCJcclxuICAgICAgICAgIFt0YWJJbmRleF09XCJjYW1wby5vcmRlbiArIDFcIlxyXG4gICAgICAgICAgKm5nSWY9XCJjYW1wby50aXBvID09ICdaJyAmJiBjYW1wby5lZGl0YWJsZSAhPSAnTidcIlxyXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxyXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gVEVYVE8tLT5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHBJbnB1dFRleHRcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FtcG8udmFsb3JcIlxyXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXHJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ1QnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICAvPlxyXG5cclxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBBUkVBIFRFWFRPLS0+XHJcbiAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICBwSW5wdXRUZXh0YXJlYVxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXHJcbiAgICAgICAgICByb3dzPVwiNVwiXHJcbiAgICAgICAgICBjb2xzPVwiNVwiXHJcbiAgICAgICAgICBbdGFiSW5kZXhdPVwiY2FtcG8ub3JkZW4gKyAxXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcclxuICAgICAgICAgICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnQScgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCJcclxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHAtaW5wdXR0ZXh0YXJlYSBwLWlucHV0dGV4dCBwLWNvbXBvbmVudCBwLWVsZW1lbnQgbWluLWgtMTAwIG1heC1oLTI1MFwiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC90ZXh0YXJlYT5cclxuXHJcbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gTlVNRVJPLS0+XHJcbiAgICAgICAgPHAtaW5wdXROdW1iZXJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FtcG8udmFsb3JcIlxyXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXHJcbiAgICAgICAgICBbbWF4bGVuZ3RoXT1cImNhbXBvLmxvbmdpdHVkXCJcclxuICAgICAgICAgICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnTicgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCJcclxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcclxuICAgICAgICAgIFtwVG9vbHRpcF09XCJjYW1wby5ub3ZlZGFkID8gY2FtcG8ubm92ZWRhZCA6IG51bGxcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXHJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcblxyXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIERFQ0lNQUwtLT5cclxuICAgICAgICA8cC1pbnB1dE51bWJlclxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXHJcbiAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXHJcbiAgICAgICAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ0QnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG5cclxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBTRUNSRVQtLT5cclxuICAgICAgICA8cC1wYXNzd29yZFxyXG4gICAgICAgICAgW2ZlZWRiYWNrXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FtcG8udmFsb3JcIlxyXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXHJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ1MnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICA+PC9wLXBhc3N3b3JkPlxyXG5cclxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBDT01CTy0tPlxyXG4gICAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXHJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwiY2FtcG8ubGlzdGFcIlxyXG4gICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ0MnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXHJcbiAgICAgICAgICBbc2hvd0NsZWFyXT1cIiFjYW1wby5vYmxpZ2F0b3Jpb1wiXHJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG5cclxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBMT0dJQ08tLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnTCcgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWQgZ3JpZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHZhbG9yIG9mIGxpc3RhU2lOb1JhZGlvQnV0dG9uXCIgY2xhc3M9XCJtdC00IGNvbC0xMiBtZDpjb2wtMiBmaWVsZC1jaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b25cclxuICAgICAgICAgICAgICAgICAgW2lucHV0SWRdPVwidmFsb3Iua2V5XCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cInZhbG9yXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbG9yLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ2YWxvci5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcclxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxyXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgID48L3AtcmFkaW9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+ICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gUkFESU8tLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnUicgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWQgZ3JpZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHZhbG9yIG9mIGNhbXBvLmxpc3RhXCIgY2xhc3M9XCJtdC00IGNvbC0xMiBtZDpjb2wtMiBmaWVsZC1jaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uXHJcbiAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJ2YWxvci52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidmFsb3JcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbG9yLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ2YWxvci5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNhbXBvLnZhbG9yXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcclxuICAgICAgICAgIFtwVG9vbHRpcF09XCJjYW1wby5ub3ZlZGFkID8gY2FtcG8ubm92ZWRhZCA6IG51bGxcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxyXG4gICAgICAgICAgICAgID48L3AtcmFkaW9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBDSEVDS0JPWC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJjYW1wby50aXBvID09ICdIJyAmJiBjYW1wby5lZGl0YWJsZSAhPSAnTidcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBncmlkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdmFsb3Igb2YgY2FtcG8ubGlzdGFcIiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtMyBmaWVsZC1jaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJ2YWxvci52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidmFsb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FtcG8udmFsb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxyXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvcC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJ2YWxvci52YWx1ZVwiPnt7IHZhbG9yLmxhYmVsIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIEFVVE9DT01QTEVUQVItLT5cclxuICAgICAgICA8cC1hdXRvQ29tcGxldGVcclxuICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgIChjYW1wby50aXBvID09ICdPJyB8fCBjYW1wby50aXBvID09ICdZJykgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXHJcbiAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwiY2FtcG8ubGlzdGFBdXRvY29tcGxldGVGaWx0cmFkYVwiXHJcbiAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiY2FtcG8uZmlsdHJhckF1dG9jb21wbGV0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgIGZpZWxkPVwibGFiZWxcIlxyXG4gICAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxyXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxyXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcclxuICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWxvciBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGRpdj57eyB2YWxvci5sYWJlbCB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cclxuXHJcbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gUE9QVVAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ1AnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjYW1wby5saXN0YVBvcHVwc1wiIFtoYXNoXT1cIml0ZW1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidmVyTWVuc2FqZUZ1bmNpb25cIiBjbGFzcz1cInRleHQtY2VudGVyIHctMVwiPlxyXG4gICAgICAgICAgPGxhYmVsPnt7IGNhbXBvLm1lbnNhamVGdW5jaW9uIH19PC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNNZW5zYWplXCI+XHJcbiAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjYW1wby5tZW5zYWplXCI+e3sgY2FtcG8ubWVuc2FqZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJjYW1wby5heXVkYSAmJiBjYW1wby5lZGl0YWJsZSAhPSAnTidcIiBjbGFzcz1cImNvbC0xIGNvbnRlbmVkb3JcIiAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwidy0xcmVtXCJcclxuICAgICAgICAgIHN0eWxlPVwiY29sb3I6IHZhcigtLWNvbG9yLTQwMClcIlxyXG4gICAgICAgICAgdG9vbHRpcFN0eWxlQ2xhc3M9XCJ0dy0yNTBcIlxyXG4gICAgICAgICAgW2hpZGVEZWxheV09XCIxODAwXCJcclxuICAgICAgICAgIHBUb29sdGlwPVwie3sgY2FtcG8uYXl1ZGEgfX1cIlxyXG4gICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICpuZ0lmPVwiY2FtcG8uYXl1ZGEgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCJcclxuICAgICAgICAgID48aSBjbGFzcz1cInBpIHBpLXF1ZXN0aW9uLWNpcmNsZVwiPjwvaVxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC10YWJsZT4iXX0=
@@ -0,0 +1,11 @@
1
+ export class Cambio {
2
+ viejo;
3
+ nuevo;
4
+ campo;
5
+ constructor(viejo, nuevo, campo) {
6
+ this.viejo = viejo;
7
+ this.nuevo = nuevo;
8
+ this.campo = campo;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtYmlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2Zvcm11bGFyaW9kaW5hbWljby9vYmpldG9zZm9ybXVsYXJpby9DYW1iaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE1BQU07SUFDZixLQUFLLENBQU07SUFDWCxLQUFLLENBQU07SUFDWCxLQUFLLENBQXVCO0lBRTVCLFlBQVksS0FBVSxFQUFFLEtBQVUsRUFBRSxLQUEyQjtRQUM3RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW1wb0Zvcm11bGFyaW9Nb2RlbCB9IGZyb20gXCIuL0NhbXBvRm9ybXVsYXJpb1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENhbWJpbyB7XHJcbiAgICB2aWVqbzogYW55O1xyXG4gICAgbnVldm86IGFueTtcclxuICAgIGNhbXBvOiBDYW1wb0Zvcm11bGFyaW9Nb2RlbDtcclxuICBcclxuICAgIGNvbnN0cnVjdG9yKHZpZWpvOiBhbnksIG51ZXZvOiBhbnksIGNhbXBvOiBDYW1wb0Zvcm11bGFyaW9Nb2RlbCkge1xyXG4gICAgICB0aGlzLnZpZWpvID0gdmllam87XHJcbiAgICAgIHRoaXMubnVldm8gPSBudWV2bztcclxuICAgICAgdGhpcy5jYW1wbyA9IGNhbXBvO1xyXG4gICAgfVxyXG4gIH0iXX0=