{"version":3,"sources":["services/auth-header.js","services/utils.js","services/auth.service.js","components/Fichas/FichaMUH/Apartados/Cismed/Emergente.js","components/Recupera/ModalRecupera.js","components/Recupera/Recupera.js","components/Login.js","services/user.service.js","components/Cabecera/LogoCabecera.js","components/Cabecera/MenuHamburquesa/ItemMenuPrincipalGris.js","components/Cabecera/MenuHamburquesa/MenuPrincipalGris.js","components/Cabecera/MenuHamburquesa/ItemMenuPrincipalMorado.js","components/Cabecera/MenuHamburquesa/MenuPrincipalMorado.js","components/Cabecera/MenuHamburquesa/ItemMenuSecundarioMorado.js","components/Cabecera/MenuHamburquesa/MenuSecundarioMorado.js","components/Cabecera/MenuHamburquesa/ItemMenuTerciarioMorado.js","components/Cabecera/MenuHamburquesa/MenuTerciarioMorado.js","components/Cabecera/MenuHamburquesa/ItemContenidoHistorial.js","components/Cabecera/MenuHamburquesa/ZonaContenidoHistorial.js","components/Cabecera/MenuHamburquesa/MenuHamburguesa.js","components/Cabecera/LogoF.js","components/Cabecera/MenuIconos/ItemMenuIconos.js","components/Cabecera/MenuIconos/MenuIconos.js","components/Cabecera/BandaMoradaZonaMenus.js","components/Utilidades/Animation.js","components/Cabecera/MenuBlanco/ApartadoSimpleSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/SubapartadoSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/ApartadoMultipleSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/ApartadoSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/ColumnaSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/SeccionMenuBlanco.js","components/Cabecera/MenuBlanco/MenuBlanco.js","components/Cabecera/ZonaMenus.js","components/Cabecera/Cabecera.js","components/Inicio/Principal/BFavoritas/BusquedaPreferida.js","components/Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados.js","components/Resultados/CabeceraResultados/VolverCabeceraResultados.js","components/Ayuda/CabeceraAyuda.js","components/Fichas/FichaMUH/Apartados/Composicion/Acordeon.js","components/Fichas/FichaMUH/Apartados/InfoAdicional/DocumentosDeTipo.js","components/Resultados/Loading.Popup.js","components/Ayuda/Ayuda.js","components/Utilidades/Selector/SelectorComboBox.js","components/Configuarcion/AddEmpresa.js","components/Configuarcion/KeyEmpresa.js","components/Configuarcion/CabeceraConfiguracion.js","components/Utilidades/Selector/Selector.js","components/Configuarcion/UsuAdicional.js","components/Configuarcion/PaginaConfiguracion.js","components/Configuarcion/Configuracion.js","components/Configuarcion/EditaBuscadores.js","components/Exporta/CabeceraExporta.js","components/Exporta/Exporta.js","services/sugerencias.service.js","components/Utilidades/Sugerencias/ItemSugerencia.js","components/Utilidades/Sugerencias/Sugerencias.js","components/Inicio/Principal/FormBusqueda/FormBusqueda.js","components/Inicio/Principal/BFavoritas/BusquedasPreferidasInicio.js","components/Inicio/Principal/FormBusquedaYPreferidos.js","components/Inicio/Apartados/Novedades/NovedadCabecera.js","components/Inicio/Apartados/Novedades/NovedadesInicioCabecera.js","components/Inicio/Apartados/Novedades/NovedadResto.js","components/Inicio/Apartados/Novedades/NovedadesInicioCuerpo.js","components/Inicio/Apartados/Novedades/NovedadesInicioPie.js","components/Inicio/Apartados/Novedades/NovedadesInicio.js","components/Inicio/Apartados/ProblemasSuministro/ProblemaSuministro.js","components/Inicio/Apartados/ProblemasSuministro/ProblemasSuministroInicio.js","components/Inicio/Apartados/NovedadesYProblemasSuministro.js","components/Inicio/Apartados/NotasYAlertas/Nota.js","components/Inicio/Apartados/NotasYAlertas/NotasSeguridadYAlertasCalidad.js","components/Inicio/Inicio.js","components/Resultados/CabeceraResultados/FormCabeceraResultados.js","components/Resultados/CabeceraResultados/TituloBusqueda.js","components/Resultados/CabeceraResultados/CabeceraResultados.js","components/Fichas/FichaFM/LinksFichaFM.js","components/Fichas/FichaMUH/InfoPrincipal/AvisoPreciosFuturos.js","components/Fichas/FichaFM/PreciosFM.js","components/Fichas/FichaMUV/LinksFichaMUV.js","components/Fichas/FichaPA/LinksFichaPA.js","components/Fichas/FichaMUH/InfoPrincipal/FilaTablaTipoDyF.js","components/Fichas/FichaPA/TablaInfoPrincipalPA.js","components/Fichas/FichaPAT/LinksFichaPAT.js","components/Fichas/FichaPAT/TablaInfoPrincipalPAT.js","components/Fichas/FichaPPF/LinksFichaPPF.js","components/Fichas/FichaPPF/PreciosPPF.js","components/Fichas/FichaMUH/InfoPrincipal/DispensacionFacturacion.js","components/Fichas/FichaMUH/InfoPrincipal/LinksFichaMUH.js","components/Fichas/FichaMUH/InfoPrincipal/PreciosResumen.js","components/Fichas/FichaMUH/InfoPrincipal/ItemTablaDF.js","components/Fichas/FichaMUH/InfoPrincipal/TablaDatosFarmaceuticos.js","components/Fichas/FichaMUH/InfoPrincipal/ResumenInfo.js","components/Fichas/FichaMUH/InfoPrincipal/FilaPictogramas.js","components/Fichas/FichaMUH/InfoPrincipal/ZonaImagenYPictos.js","components/Fichas/FichaMUH/InfoPrincipal/InfoPrincipalMUH.js","components/Fichas/FichaMUH/MenuIzquierda/FilaMenuIzquierda.js","components/Fichas/FichaMUH/MenuIzquierda/MenuIzquierda.js","components/Fichas/FichaMUH/Apartados/Analisis/FilaAnalisis.js","components/Fichas/FichaMUH/Apartados/Analisis/Analisis.js","components/Fichas/FichaASO/Apartados/Analisis/AnalisisPAAso.js","components/Fichas/FichaASO/Apartados/Analisis/AnalisisAso.js","components/Fichas/FichaMUV/Apartados/TiemposEspera/FilaTE.js","components/Fichas/FichaMUV/Apartados/TiemposEspera/TiemposEsperaEspecie.js","components/Fichas/FichaMUV/Apartados/TiemposEspera/TiemposEspera.js","components/Fichas/FichaPA/Apartados/ConfusionNombres/FilaNombrePA.js","components/Fichas/FichaPA/Apartados/ConfusionNombres/ConfusionNombresPA.js","components/Fichas/FichaMUH/Apartados/Advertencias/Advertencias.js","components/Fichas/FichaMUH/Apartados/Advertencias/AdvertenciasTipo.js","components/Fichas/FichaPA/Apartados/Dopaje/Dopaje.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/FilaNombreValor.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/BloqueNombreValor.js","components/Fichas/FichaPA/Apartados/InfoGeneral/InfoGeneralPA.js","components/Fichas/FichaPA/Apartados/Sinonimias/Sinonimias.js","components/Fichas/FichaPA/Apartados/UsoAnimalesProductores/FilaLMR.js","components/Fichas/FichaPA/Apartados/UsoAnimalesProductores/LMREspecie.js","components/Fichas/FichaPA/Apartados/UsoAnimalesProductores/UsoAnimalesProductores.js","components/Fichas/FichaPAT/Apartados/CIE/cie.js","components/Fichas/FichaPAT/Apartados/InfoGeneral/InfoGeneralPAT.js","components/Fichas/FichaPAT/Apartados/Jerarquia/Jerarquia.js","components/Fichas/FichaPPF/Apartados/ContenidoPack/FilaTablaProductos.js","components/Fichas/FichaPPF/Apartados/ContenidoPack/TablaProductos.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/FilaLotes.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/TablaLotes.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/AlertaCalidad.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/AlertasCalidad.js","components/Fichas/FichaMUH/Apartados/Cismed/GraficaCismed.js","components/Fichas/FichaMUH/Apartados/Cismed/SemaforosCismed.js","components/Fichas/FichaMUH/Apartados/Cismed/TablaFParticipantes.js","components/Fichas/FichaMUH/Apartados/Cismed/CismedKO.js","components/Fichas/FichaMUH/Apartados/Cismed/CismedOK.js","components/Fichas/FichaMUH/Apartados/Cismed/Cismed.js","components/Fichas/FichaMUH/Apartados/Composicion/Componente.js","components/Fichas/FichaMUH/Apartados/Composicion/Composicion.js","components/Fichas/FichaMUH/Apartados/Composicion/Composiciones.js","components/Fichas/FichaMUH/Apartados/ConfusionNombres/FilaNombreMed.js","components/Fichas/FichaMUH/Apartados/ConfusionNombres/ConfusionNombresMed.js","components/Fichas/FichaMUH/Apartados/Conservacion/DatoFarmaceutico.js","components/Fichas/FichaMUH/Apartados/Conservacion/DatosConservacion.js","components/Fichas/FichaMUH/Apartados/Conservacion/Conservacion.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/GrupoPolimorfismos.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/FamacogeneticaBioPA.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/FarmacogeneticaPA.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/Farmacogenetica.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/FilaBloquePrecios.js","components/Fichas/FichaMUH/Apartados/Grupos/AgrupacionHomogenea.js","components/Fichas/FichaMUH/Apartados/Grupos/Grupos.js","components/Fichas/FichaMUH/Apartados/Historico/CambioHistorico.js","components/Fichas/FichaMUH/Apartados/Historico/FechaHistorico.js","components/Fichas/FichaMUH/Apartados/Historico/HIstorico.js","components/Fichas/FichaMUH/Apartados/Identificacion/FilaTitulosIdent.js","components/Fichas/FichaMUH/Apartados/Identificacion/FilaIdent.js","components/Fichas/FichaMUH/Apartados/Identificacion/Identificacion.js","components/Fichas/FichaMUH/Apartados/InfoAdicional/InformacionAdicional.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/BloquePrecios.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/InfoGeneral.js","components/Fichas/FichaMUH/Apartados/PrecaucionExtrema/PrecaucionExtrema.js","components/Fichas/FichaMUH/Apartados/ProblemasS/ProblemaS.js","components/Fichas/FichaMUH/Apartados/ProblemasS/ProblemasS.js","components/Fichas/FichaMUH/Apartados/Textos/EnfermedadesRelacionadas.js","components/Fichas/FichaMUH/Apartados/Textos/Texto.js","components/Fichas/FichaMUH/Apartados/Textos/Textos.js","components/Fichas/FichaMUH/Apartados/Videos/Video.js","components/Fichas/FichaMUH/Apartados/Videos/Videos.js","components/Fichas/FichaMUH/Apartados/Apartado.js","components/Fichas/FichaMUH/Apartados/ContenedorApartados.js","components/Fichas/FichaMUH/MensajesEmergentes.js","components/Fichas/FichaPA/MargenDerechoPA.js","components/Fichas/FichaASO/FichaASO.js","components/Fichas/FichaEXT/LinksFichaExt.js","components/Fichas/FichaEXT/TablaInfoPrincipalExt.js","components/Fichas/FichaEXT/ResumenInfoExt.js","components/Fichas/FichaEXT/ZonaImagenYPictosExt.js","components/Fichas/FichaEXT/InfoPrincipalExt.js","components/Fichas/FichaEXT/MargenDerechoExt.js","components/Fichas/FichaEXT/FichaExt.js","components/Fichas/FichaFM/MargenDerechoFM.js","components/Fichas/FichaFM/FichaFM.js","components/Fichas/FichaING/FichaING.js","components/Fichas/FichaMUH/MargenDerecho/MargenDerecho.js","components/Fichas/FichaMUH/FichaMUH.js","components/Fichas/FichaMUV/MargenDerechoMUV.js","components/Fichas/FichaMUV/FichaMUV.js","components/Fichas/FichaPA/FichaPA.js","components/Fichas/FichaPA/FichaPAH.js","components/Fichas/FichaPA/FichaPAV.js","components/Fichas/FichaPAT/MargenDerechoPAT.js","components/Fichas/FichaPAT/FichaPAT.js","components/Fichas/FichaPPF/MargenDerechoPPF.js","components/Fichas/FichaPPF/FichaPPF.js","components/Fichas/Ficha.js","services/objsAplicacion.js","components/FomulariosBusqueda/CabeceraFormulario/TituloFormularioBusqueda.js","components/FomulariosBusqueda/CabeceraFormulario/CabeceraFormulario.js","components/Utilidades/Selector/SelectorUno.js","components/FomulariosBusqueda/ResumenBusqueda.js","components/Utilidades/Selector/SelectorFecha/SelectorFecha.js","components/Utilidades/Selector/SelectorUno2.js","components/FomulariosBusqueda/Formularios/FBAlertasCalidad.js","components/Utilidades/Selector/SelectorComposicion/SelectorComposicion.js","components/Utilidades/Selector/SelectorMulti2.js","components/Utilidades/Selector/SelectorCHK.js","components/Utilidades/Selector/SelectorSNX.js","components/Utilidades/Selector/SelectorEdad/SelectorEdad.js","components/Utilidades/Selector/SelectorEnfRel/SelectorEnfRel.js","components/Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros.js","components/Utilidades/Selector/SelectorNumero.js","components/Utilidades/Selector/SelectorMulti2No.js","components/Utilidades/Selector/SelectorEnfRel/SelectorAnaRel.js","components/Utilidades/Selector/SelectorTexto.js","components/FomulariosBusqueda/Formularios/FBAvanzadaMUH.js","components/FomulariosBusqueda/Formularios/FBAvanzadaMUV.js","components/FomulariosBusqueda/Formularios/FBAvanzadaPAH.js","components/FomulariosBusqueda/Formularios/FBAvanzadaPPF.js","components/FomulariosBusqueda/Formularios/FBComposicion.js","components/FomulariosBusqueda/Formularios/FBDocumentos.js","components/FomulariosBusqueda/Formularios/FBEspecieIndicacion.js","components/FomulariosBusqueda/Formularios/FBExtranjeros.js","components/FomulariosBusqueda/Formularios/FBFechas.js","components/FomulariosBusqueda/Formularios/PreviewForma.js","components/FomulariosBusqueda/Formularios/FBFormaColor.js","components/FomulariosBusqueda/Formularios/FBPacienteIndicacion.js","components/FomulariosBusqueda/Formularios/FBProblemasSum.js","components/FomulariosBusqueda/Formularios/FBReaccionesAdversas.js","components/Utilidades/Selector/SelectorArbol/AcordeonN1/AcordeonN1.js","components/Utilidades/Selector/SelectorArbol/AcordeonN2/AccordeonN2.js","components/Utilidades/Selector/SelectorArbol/RamaSecundaria.js","components/Utilidades/Selector/SelectorArbol/RamaPrincipal.js","components/Utilidades/Select/OptionSelect.js","components/Utilidades/Selector/SelectorArbol/SelectorTree.js","components/FomulariosBusqueda/Formularios/FBTest.js","components/Utilidades/Selector/SelectorArbol3/ItemRamaArbol3.js","components/Utilidades/Selector/SelectorArbol3/RamaArbol3.js","components/Utilidades/Selector/SelectorArbol3/SelectorArbol3.js","components/FomulariosBusqueda/Formularios/FBusquedaArbol.js","components/Utilidades/Selector/SelectorArbol3/SelectorArbolM.js","components/FomulariosBusqueda/Formularios/FBusquedaArbolMultiple.js","components/FomulariosBusqueda/Formularios/FBusquedaSaborEdad.js","components/FomulariosBusqueda/Formularios/FBusquedaSimple.js","components/FomulariosBusqueda/Formularios/FBusquedaMultiple.js","components/FomulariosBusqueda/IndiceFormularios/ItemIndiceFormularios.js","components/FomulariosBusqueda/IndiceFormularios/IndiceFormularios.js","components/FomulariosBusqueda/ForumularioBusqueda.js","components/Resultados/BInteracciones/Interaccion.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroLista.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroListBox.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroText.js","components/Resultados/FiltrosYBusqueda/Filtros/CheckBoxFiltro.js","components/Resultados/FiltrosYBusqueda/Filtros/GrupoCheckBoxFiltro.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroBusqueda.js","components/Resultados/BInteracciones/MargenIzquierdoInter.js","components/Resultados/BInteracciones/MedsSeleccionados.js","components/Resultados/BInteracciones/BInteracciones.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaResBusqueda.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaFM.js","components/Resultados/FiltrosYBusqueda/Listado/OpcionOrden.js","components/Resultados/FiltrosYBusqueda/Listado/EncabezadoListado.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaEXT.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaDOC.js","components/Resultados/FiltrosYBusqueda/Listado/ListaResBusqueda.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltrosBusqueda.js","components/Resultados/FiltrosYBusqueda/ResumenFiltros/ResumenFiltros.js","components/Resultados/FiltrosYBusqueda/Listado/Exportacion/GrupoCamposExportable.js","components/Resultados/FiltrosYBusqueda/Listado/Exportacion/CamposExportacion.js","components/Configuarcion/AccesoRestringido.js","components/Resultados/FiltrosYBusqueda/FiltrosYResultados.js","components/Resultados/SeccionResultados.js","components/Cuerpo.js","components/Pie.js","components/Licencia.js","components/Contenido.js","components/Credenciales.js","App.js","reportWebVitals.js","index.js"],"names":["authHeader","user","JSON","parse","localStorage","getItem","Token","rootPath","baseURLPictogramas","AnadeApartado","registro","lista","anclas","find","ap","Ancla","push","compruebaAnclas","aptdos","idAncla","i","ancla","anclaNueva","createRef","refAncla","length","anadeAncla","getApiPath","document","location","hostname","divideArrayEnPartes","arr","n","j","res","slice","numberWithCommas","x","parts","toString","split","replace","substring","parseInt","splice","Math","round","parseFloat","pow","aux","pop","join","numberWithCommas2","elementIsOfClass","element","clase","classList","contains","FormatoFechaBonito","fecha","mifecha","Date","dia","getDate","mes","getMonth","ano","getFullYear","toUpperCase","padLeft","upperCaseFirstLetter","str","trim","toLowerCase","Redondea","valor","decimales","FormatoFechaDDMMYYYY","FormatoFechaDDMMYYYYHHMM","hora","getHours","minute","getMinutes","GetIndexFromIndexedClass","item","classModelName","maxIndex","enc","name","GetAntecesorWhithClassName","undefined","parentElement","GetSucesorWhithClassName","hijos","getElementsByClassName","GetLastSucesorWhithClassName","AddClassNameToClassItems","miClase","miClaseHija","miClassName","elements","len","len2","add","RemoveClassNameToClassItems","remove","RemoveClassNameToDoubleClassItems","miClase2","ToggleClassNameToClassItems","toggle","AddClassNameToChildClassItems","padre","RemoveClassNameToChildClassItems","ExistsClassNameChildClassItems","result","nietos","deepEqual","object1","object2","keys1","Object","keys","keys2","key","val1","val2","areObjects","isObject","object","getParam","param","params","value","duo","getCurrentURL","url","window","href","origin","getParamsURL","primerHijoConClase","elemento","posibles","getIdProvincia","lu","botPlusUser","idProvincia","getIdCCAA","idCCAA","getStringCCAA","CCAA","getListaFormularios","tipo","codigoPagina","display","getDescripcionTipo","codFormulario","getTipoFromCodigoPagina","scrollSiNoVisible","container","offset","offsetTop","cTop","scrollTop","cBottom","clientHeight","eTop","eBottom","fromListaPAsComposToParamURL","pas","pa","codigo","sales","cants","cant","cod","fromListaOpsAvanzadaToParamURL","ops","op","valores","fromParmaURLToListaPAsCompos","listaPAs","sPA","partesPA","strSales","codigosSales","map","it","cv","strCants","cantsAsStr","k","partesCant","fromParamURLToListaOpsAvanzada","listaOps","sOp","partesOp","handleClasesCheckbox","marcado","excluyente","id","items","grupoActivo","getElementById","checked","GetFiltrosStr","filtros","filtro","idGrupo","activo","idValor","PerfilUsuario","AuthService","getUserRol","DevuelveTextoAsHTML","info","textosInfo","subs","idxsubs","indexOf","partes","subInfo","substr","HTMLAux","API_URL","getLocalUser","loginService","login","username","password","fb","ma","axios","post","Username","Password","FuerzaBruta","MantenerAbierta","headers","then","response","data","Status","setItem","stringify","logout","get","reload","error","removeItem","getNetworkUser","getSpecialAuthentication","getIPAuthentication","buscaClaves","dni","nfact","guardaDatosCorreo","cliente","correo","desea","Cliente","Correo","Desea","actualizaKey","idPedido","IdPedido","isSesionOk","rol","Rol","infoCredenciales","tieneLicenciaLocal","aceptaLicencia","openDeferredSesion","token","Emergente","props","contenido","keyName","titulo","ancho","alto","imagen","claseLightbox","estiloancho","width","height","hiddenOverflow","overflow","class","style","opacity","visibility","pointerEvents","ocultaAspa","onClick","e","cerrar","textAlign","src","ModalRecupera","useState","setDni","setNfact","setCorreo","confirma","setConfirma","opt1","setOpt1","opt2","setOpt2","mensaje","setMensaje","estado","setEstado","datosAcceso","setDatosAcceso","getRecuperaInfo","xdni","xnfact","BP2022AuthService","ok","mail","Mail","usuarioActual","UsuarioActual","passActual","PassActual","deseaRecibirInfo","DeseaRecibirInfo","codigoGrupo","CodigoGrupo","msg","catch","console","log","message","useEffect","nfactura","clickAceptar","String","match","cambiaAlto","estiloCheckBox","cursor","overflowY","className","marginTop","onSubmit","preventDefault","marginBottom","fontFamily","type","placeholder","onChange","txt","target","backgroundColor","color","verticalAlign","paddingBottom","fontSize","lineHeight","paddingRight","fontWeight","paddingLeft","cancela","marginLeft","Recupera","muestraEmergente","setMuestraEmergente","altoEmergente","setAltoEmergente","cancelaProceso","modalContent","Login","setUsername","setPassword","mantActiva","setMantActiva","cerrarAnt","setCerrarAnte","status","setStatus","isHelpActive","setHelpActive","handleHelpToggle","alt","chk","onChangeMantActiva","onChangeCerrarAnt","Mensaje","Info","descargaInfoSalesYCantidadesIng","descargaListaInfoSalesYCantidadesIng","ids","userService","getMedsByName","opb","idxOrden","primero","max","strorden","encodeURIComponent","getFichaMUH","getFichaMUV","getFichaFM","getFichaPF","getFichaPA","getFichaING","getFichaASO","getFichaPAT","getComposM","idCPor","idFF","getComposPF","getGruposMUH","codGrupoATC","nivelGrupo","codGrupoVMPP","getGruposPF","getTextosMUH","getTextosPF","getTextosPA","getTextosING","getAdvertenciasMUH","getAdvertenciasPF","getAdvertenciasPA","getAdvertenciasING","getAdvertenciasASO","getConsejosMUH","getPrecaucionExtremaMUH","getPrecaucionExtremaPAH","getInterferenciasMUH","getInterferenciasPA","getInterferenciasASO","getInterferenciasPAT","getCismedMUH","getConservacionMUH","getConservacionPF","getFarmacogeneticaMUH","getFarmacogeneticaPA","getFarmacogeneticaASO","getHistoricoMUH","getHistoricoPF","getHistoricoPA","getHistoricoING","getHistoricoASO","getIdentificacionMUH","getInformacionAdicionalMUH","getInformacionAdicionalPF","getInformacionAdicionalPA","getInformacionAdicionalING","getInformacionAdicionalASO","getInformacionAdicionalPAT","getProblemasSuministroMUH","getVideosMUH","getVideosPF","getVideosPA","getVideosING","getVideosASO","getVideosPAT","getAlertasCalidadMUH","getAlertasCalidadPF","getMensajesEmergentesMUH","getMensajesEmergentesPPF","getMensajesEmergentesPAH","getTiemposEsperaMUV","getContenidoPackPF","getPacksContenedoresPF","getSinonimiasPA","getSinonimiasING","getSinonimiasPAT","getDopajeInfoPA","getDopajeInfoASO","getProductoresInfoPA","getJerarquiaInfoPAT","getCIEInfoPAT","getBuscadoresPreferidos","getNovedades","getProductosConPS","num","getUltimasNotasYAlertas","getHistorial","emptyHistorial","getDatosConfiguracion","setDatosConfiguracion","idProv","numFarm","getLaboratorios","medicamentosLaboratorio","medicamentosLaboratorios","productosLaboratorio","productosLaboratorios","getAgrupaciones","auto","getFormasFarma","getActividades","tipoActividad","getAnalisis","getBiomarcadores","getGruposATC","getGruposVMPP","getArbolGruposVMPP","getGruposCon","getGruposSan","medicamentosAgrupacionAuto","productosAgrupacionAuto","medicamentosAgrupacioNac","productosAgrupacionNac","medicamentosFormaFarma","idb","productosFormaFarma","medicamentosFormasFarma","productosFormasFarma","principiosActividad","ingredientesActividad","principiosActividadesY","ingredientesActividadesY","principiosActividadesO","ingredientesActividadesO","medicamentosAnalisis","medicamentosBiomarcador","medicamentosConPA","medicamentosConAso","productosConIng","productosTipo","productosSubtipo","medicamentosPorEnf","idepi","productosPorEnf","medicamentosGTATC","medicamentos2GTATC","medicamentosGTVMPP","productosGTCon","productosGTSan","datosFormularioSaborEdad","datosFormularioTest","descargaInfoSalesYCantidades","descargaListaInfoSalesYCantidades","productosSaborEdad","strParams","idDieto","idsSabores","saborSolo","edad","undEdad","datosFormularioEspecieIndicacion","medicamentosEspecieIndicacion","idEnf","idEsp","datosFormularioProblemasSuministro","medicamentosProblemasSuministro","idLab","idPA","medExt","noSust","iniciod","getTime","inicioh","finh","datosFormularioAlertasCalidad","medicamentosAlertasCalidad","txtLote","inicio","fin","PFAlertasCalidad","datosFormularioReaccionesAdversas","medicamentosReaccionesAdversas","idEpi","idsEnfs","idsMeds","datosFormularioComposicion","tipoProd","strTipoProd","actualizaFFyVias","productosPorComposicion","solo","idVia","uds","pv","ints","datosFormularioAvanzadaMUH","medicamentosAvanzadaMUH","idsLab","idsGT","emr","fechaAutoIni","fechaAutoFin","fechaComerIni","fechaComerFin","fechaBajaIni","fechaBajaFin","fechaInSNSIni","fechaInSNSFin","fechaExSNSIni","fechaExSNSFin","fechaExFIIni","fechaExFIFin","pre","idOpP","idCampoP","trunc","idPredefP","idsAA","idsAN","idsDC","idsMen","texto","encodeURI","noTexto","enfsRel","strEnf","epi","anasRel","strAna","datosFormularioAvanzadaMUV","medicamentosAvanzadaMUV","idEspecie","datosFormularioAvanzadaPAH","principiosActivosAvanzadaPAH","idsAF","idsAM","datosFormularioAvanzadaPPF","idTipo","strDieto","viasFormularioAvanzadaPPF","productosAvanzadaPPF","idsTipo","idsSubtipo","datosFormularioPacienteIndicacion","medicamentosPacienteIndicacion","idsPat","idsMed","idsAlg","listaPosiblesInteractores","idsSel","strParam","buscaInteracciones","medicamentosFM","medicamentosHomeo","datosFormularioFormaColor","medicamentosFormaColor","tipoFF","idForma","idColor1","idColor2","idSabor","tamanos","CO1","CO2","ranura","logo","difCol","col2","anycol","ins1","ins2","datosFormularioEXT","medicamentosEXT","idPais","getFichaEXT","medicamentosEspanoles","productosConGluten","productosConLactosa","productosSinGluten","productosSinLactosa","medicamentosDopantes","productosNoLentes","medicamentosConPrecioSupMenor","medicamentosConPrecioSupMasBajo","medicamentosConPrecioNotificado","medicamentosSeguimientoAdicional","medicamentosDispositivoSeguridad","medicamentosLibroRecetario","medicamentosLibroEstupefacientes","medicamentosNotificacionESVAC","enfermedadesH","enfermedadesV","medicamentosNoSustituibles","medicamentosDeduccionesRDL","productosCambioNombre","productosCambioLaboratorio","medicamentosCambioPrecio","medicamentosDesfinanciados","productosFechaAlta","productosUltimoMes","auxdate","setMonth","medicamentosCambioPrecioPrevisto","medicamentosPSUltimoMes","productosHistorialUsuario","strrandom","floor","random","datosFormularioDocumentos","documentosPorMedFecha","idMed","datosFormularioBucadoresPreferidos","setDatosBuscadoresPreferidos","obtenCamposExportables","codTipoExporta","codBusqueda","strCodBusqueda","obtenRegistrosAExportar","campos","campoOrden","tipoBusqueda","ini","includes","tipoRegistros","lfini","lffin","getEmpresa","setEmpresa","idEmpresa","getFormAddEmpresa","addEmpresa","delEmpresa","getDocumentosAyuda","getOpcionBusqueda","setOpcionBusqueda","borraProductoHistorial","getUsuAdicional","enableUsuAdicional","pass","disableUsuAdicional","obtenListadosExportables","obtenExportacionExcel","codDocExporta","getNombresSimilaresPAH","getNombresSimilaresMUH","medicamentosMismoNombre","getBackVersion","LogoCabecera","frontVersion","Version","packageJson","version","Dateversion","dateversion","Serial","serial","backVersion","setBackVersion","ConsultaBackVersion","BP2022Service","trigger","arrow","theme","delay","content","cambiaPagina","newpagina","ItemMenuPrincipalGris","HandleHover_OpcionMenunGris","hayclick","documentElement","clientWidth","miCursor","parametro","title","AlClick","alHacerClick","onMouseOver","imagenGris","MenuPrincipalGris","itemsMenu","opcionesMenu","ItemMenuPrincipalMorado","clasesItemA","idx","HandleHover_OpcionMenunMoradaNivel1","itemMenu","namechild","namechildtmp","HandleClick_OpcionMenunMoradaNivel1","viewBox","d","stroke","fill","xlinkHref","transform","MenuPrincipalMorado","seccionesMenu","perfil","ItemMenuSecundarioMorado","HandleHover_OpcionMenunMoradaNivel2","itemMenuPadre","idxMenuPadre","tieneHijos","subapartados","estilo","nameParent","nameparenttmp","HandleClick_OpcionMenunMoradaNivel2","pagina","MenuSecundarioMorado","clasesItemUL","idxPadre","ItemMenuTerciarioMorado","MenuTerciarioMorado","ItemContenidoHistorial","FechaVisita","NombreCompleto","CodTipoRegistro","newid","Id","TipoRegistro","ZonaContenidoHistorial","listaItems","historial","miHistorial","fila","MenuHamburguesa","menusSecundarios","apartados","itemsMenusTerciarios","forEach","seccion","apartado","menusTerciarios","opcionesMenuGris","padresanteriores","HandleClick_BackItem2","LogoF","ItemMenuIconos","MenuIconos","elementosMenuIconos","BandaMoradaZonaMenus","provincia","setProvvincia","textoProvincia","Animation","imgIndex","initIdx","fileNameActual","path","filename","ext","msTotal","t","nImg","interval","timer","setInterval","CambiaNombreImg","refresh","up","clearInterval","border","ApartadoSimpleSeccionMenuBlanco","SubapartadoSeccionMenuBlanco","ApartadoMultipleSeccionMenuBlanco","ApartadoSeccionMenuBlanco","ColumnaSeccionMenuBlanco","SeccionMenuBlanco","nCol","numColumnas","estiloMenu","left","itemscolumnas","filasPorColumna","columnas","MenuBlanco","elementosMenu","ZonaMenus","estadoMenu","setEstadoMenu","cargaInicial","setCargaInicial","doRefresh","miImgIndex","elem","miN","estaActivo","cierraMenuBurguer","prev","handleClickMenuBurger","Cabecera","CambiaPaginaSimple","setOpcionesMenu","mostrarHomeopatia","nuevoMenu","BusquedaPreferida","sourceImage","colorLupa","CodigoPagina","Titulo","MisBuscadoresCabeceraResultados","listaBuscadores","setListaBuscadores","estadoMenuMisBuscadores","setEstadoMenuMisBuscadores","descargaBuscadores","busquedas","handleClickMisBuscadores","xmlns","VolverCabeceraResultados","miestilo","textoVolver","atras","CabeceraAyuda","justifyContent","Acordeon","completo","setCompleto","clasDiv","htmlTitulo","htmlArrow","claseContenido","estiloHeader","newActivo","handleClickAcordeonHeader","DocumentosDeTipo","grupoDocs","Tipo","documentos","Documentos","doc","URL","onMouseOut","LoadingPopup","maxItems","esPorcentaje","numItems","lastPaso","paso","fraccionRestoDelPaso","miEstado","setMiEstado","pasito","porcentaje","setTimeout","DaUnPaso","Ayuda","documentosAyuda","setDocumentosAyuda","documentosFiltrados","setDocumentosFiltrados","filtroAyuda","setFiltroAyuda","filtraDocumentos","DescargaDatos","documentosAux","filter","gd","htmlDocsAyuda","grupodocs","tabIndex","margin","onChangeTextoFiltro","SelectorComboBox","valueSelected","propiedades","setPropiedades","idHTML","optionsHTML","selected","classInputSelector","disabled","maxLengthNormal","estiloPetit","textTransform","whiteSpace","estiloNormal","estiloModuleSelect","optionsDisplayed","ClickEnOpcion","clasesCoverSelect","textSelected","option","SeleccionaOpcion","getAttribute","html","innerHTML","select","input","idEsStr","alCambiar","remove_accents","normalize","FiltraOpciones","search","search2","found","labeloptions","label","ddowns","children","hijosNiOcultosNiActivos","onKeyDown","ddown","keyCode","miItem","previousSibling","nextSibling","stopPropagation","KeyDownSelector","ClickEnCoverSelect","onKeyUp","KeyUpInput","AddEmpresa","setIdEmpresa","listaEmpresas","setListaEmpresas","Empresas","Codigo","Valor","guardaEmpresa","alAnadir","listaEmpresasCodValor","nuevoId","paddingTop","alCerrar","KeyEmpresa","idCurrentEmpresa","setIdCurrentEmpresa","listaColaboradoras","setListaColaboradoras","sKey","setSKey","mostrarAddEmpresa","setMostrarAddEmpresa","setAlto","colaboradoras","emp","Nombre","Key","quitaEmpresa","IdEmpresa","Colaboradoras","Msg","refrescaColaboradoras","nuevalista","idEmp","textArea","createElement","position","top","padding","outline","boxShadow","background","body","appendChild","execCommand","err","removeChild","copiaClave","CabeceraConfiguracion","tieneLicenciaBot","mostrarEmpresa","setMostrarEmpresa","muestraEmpresa","infoPagina","Selector","UsuAdicional","enabledUsuAdicional","setEnableUsuAdicional","usuAdicional","setUsuAdicional","newPassword","setNewPassword","confPassword","setConfPassword","Habilitado","Usuario","txtboton","autocomplete","CambiaEnabled","s","PaginaConfiguracion","datosConf","setDatosConf","setTieneLicenciaBot","mostrarUsuAdicional","setMostrarUsuAdicional","provincias","Provincias","ccaas","CCAAs","guardando","refdate","date","days","setDate","addDays","toJSON","fechaLicencia","LicenciaHasta","esUsuarioPrincipal","EsUsuarioPrincipal","DescargaDatosConfiguracion","returnTo","getTieneLicenciaBot","muestraUsuAdicional","IdProvincia","NombreProvincia","IdCCAA","NombreComunidad","modalContentAvisoInicial","modalKeyName","modalAvisoInicialActivo","muestraAviso","modalContent2","modalKeyName2","isMobile","innerWidth","listaProvinciasCodValor","prov","listaCCAACodValor","ca","tempDatosConf","NumFarmacia","CambiaNumFarmacia","Provincia","AccesoCisMED","IdProvinciaCisMED","Configuracion","refresca","EditaBuscadores","listaBH","listaBV","listaBF","datosFormulario","setDatosFormulario","idsBusc","seleccionFormulario","setSeleccionFormulario","df","BuscadoresMUH","BuscadoresMUV","BuscadoresPPF","EsVisible","IdBuscador","checkBuscador","nuevaSeleccion","disabledAdd","HTMLHumanas","busc","HTMLVeterinaria","HTMLParafarmacia","cx","cy","r","y","CabeceraExporta","Exporta","documentosExporta","setDocumentosExporta","docSel","setDocSel","datosAExportar","setDatosAExportar","txtExportar","setTxtExportar","loading","setLoading","DescargaExporta","htmlDocsExporta","minWidth","nuevosDatosAExportar","cabeceras","datos","marginRight","separator","decimalSeparator","sugerenciasService","getPalabras","ItemSugerencia","Sugerencias","identificador","missugerencias","filas","FormBusqueda","setTexto","listaSugerencias","setListaSugerencias","BusqMedsService","opcionBusqueda","busqueda","auxtexto","CambiaPagina","estiloOptions","estiloDiv","autoFocus","SugerenciasService","list","BusquedasPreferidasInicio","FormBusquedaYPreferidos","estiloContainer","maxWidth","NovedadCabecera","picto","FechaAlta","NovedadesInicioCabecera","listaNovedades","novedades","NovedadResto","NovedadesInicioCuerpo","NovedadesInicioPie","NovedadesInicio","setListaNovedades","descargaNovedades","Resultados","primerasNovedades","restoNovedades","ProblemaSuministro","FechaFinPS","ProblemasSuministroInicio","setListaItems","descargaPS","problemas","vesAUltimoMes","classButton","NovedadesYProblemasSuministro","Nota","Fecha","tipoDoc","IdTipo","endsWith","NotasSeguridadYAlertasCalidad","descargaNotasYAlertas","notas","Inicio","FormCabeceraResultados","fuerzaTexto","newlista","compruebaSiEnter","TituloBusqueda","CabeceraResultados","tipoPagina","LinksFichaFM","ficha","AvisoPriciosFuturos","xmlns_xlink","PreciosFM","tienePreciosFuturos","PFuturos","tienePMenorCCAA","AgrupacionCCAA","PVPMenor","literalPMenor","LiteralPMenor","AvisoPreciosFuturos","LiteralPrecioFM","PVPIVA","LinksFichaMUV","mouseOverLink","textDecoration","mouseOutLink","Prospecto","FichaTecnica","LinksFichaPA","CambiaPaginaPorId","link","Interactua","idInter","CambiaPaginaInteracciones","FilaTablaTipoDyF","claseValor","valorPositivo","estiloValor","TablaInfoPrincipalPA","valorPsicotropo","Psicotropo","EstupefacientePsicotropo","DescripcionPsicotropo","tabla","Dopaje","DescripcionDopaje","tablaHTML","LinksFichaPAT","linkIndic","TipoPat","VisibleEnPF","TieneProductos","borderTop","TablaInfoPrincipalPAT","EspecialidadMedica","borderBottom","LinksFichaPPF","DatosComposicion","Composiciones","IFU","FolletoInformativo","PreciosPPF","tienePMasBajoCCAA","PVPMasBajo","LiteralPMasBajo","estiloPrecio","estiloCuadroPrecios","estiloOtrosPrecios","literalPVPIVA","LiteralPrecio","precioAMostrar","PVPsinIVA","IdTipoPF","preciofuturoAMostrar","alignItems","InfoPrecio","float","abreEmergenteInfoPrecio","DispensacionFacturacion","Receta","Dispensable","Financiado","TipoAportacion","Visado","Sustituible","tablaV","tablaFM","Interoperable","LibroRecetario","tablaPF","LinksFichaMUH","colorlink","PreciosResumen","tienePFacturacion","PFact","ambitoHospitalario","DatosF","some","CodigoDato","PVL","precioAComparar","precioAComparar2","mostrarAvisoPMenorAuto","mostrarAvisoPMasBajoAuto","mostrarAvisoPMenorNac","AgrupacionNacional","mostrarAvisoPMasBajoNac","avisoprecioauto","avisoprecionac","infoAvisoPrecio","ItemTablaDF","claseDiv","srcImgTooltip","sigla","TablaDatosFarmaceuticos","ResumenInfo","textoEncabezado","TipoPF","Homeopatico","svgImagenH","svgImagenV","svgImagenPF","svgImagenPAT","svgImagenPATV","svgImagen","PreciosFuturos","FilaPictogramas","pictogramas","Texto","Archivo","ZonaImagenYPictos","sliderRef","literalCodigo","imgDefecto","srcImagen","ImagenEnvase","URLFull","ImagenFormula","srcImagenFF","ImagenMatAcond","ImagenFormaF","tieneImagenes","arrayImgs","imagenesHTML","srcImg","onLoad","loadImageGrande","tieneImagen","maxHeight","estilhorizontal","h","w","maxHeightG","innerHeight","maxWidthG","seccionImagen","clickImagen","loadImage","ref","slidesToShow","slidesToScroll","infinite","speed","arrows","touchMove","accessibility","adaptativeHeight","dots","focusOnSelect","pictogramasEnFilas","Pictogramas","literalNumRegistro","tieneCodigoUdi","CodUDIDI","estiloCodigos1","estiloCodigos2","CodCAS","CodCIE","NumRegistro","InfoPrincipalMUH","FilaMenuIzquierda","iddiv","current","scrollIntoView","behavior","block","inline","cambiaImgIndex","MenuIzquierda","seccionActiva","apartadosHTML","FilaAnalisis","interferencia","Observaciones","tieneInfo","tooltip","handleMouseOverIcon","handleMouseOutIcon","clasesDivAnalisis","clasesDivEfecto","itemImg","itemTooltip","itemAccordionContent","itemInfoContent","rect","getBoundingClientRect","rectdiv","rectdiv2","finYdiv","finYdiv2","finYtootip","incremento","newAltura","idAnalisis","IdAnalisis","Analisis","Efecto","HTMLAnalisis","datosAnalisis","AnalisisPAAso","ContAcordeon","Causa","AnalisisAso","HTMLAnalisisAso","datosAnalisisAso","FilaTE","tiempoEspera","clasesDiv","itemDropdownContent","rectdiv3","finYdiv3","Tejido","Tiempo","IdUnidad","Unidad","TiemposEsperaEspecie","tiemposEspera","Especie","HTMLTiemposEsperaTejidos","TiemposEsperaTejido","tet","contenidoAcordeon","TiemposEspera","tiemposEsperaEspecie","tee","FilaNombrePA","nombre","IdPA","NombrePA","ConfusionNombresPA","HTMLNombresPA","nombresPA","Advertencias","datosAdver","datosAdvertencias","advertenciasPorTipo","tipoAdver","advertenciasTipo","textosSeccion","Textos","Epigrafe","AdvertenciasTipo","advertencias","Mensajes","mensa","URLPictograma","HTMLImagen","datosDopaje","FilaNombreValor","claseFila","claseColI","claseCol","claseColD","esCodigoONumero","esNumero","conValoresNumericos","test","MostrarAvisoOCambiaPagina","aviso","letterSpacing","overflowWrap","contenidoValor","BloqueNombreValor","claseBloque","estiloEspecial","filasNumericas","filasHTML","bloque","InfoGeneralPA","formula","FormulaEmpirica","regex","RegExp","formulaPartida","formulaBonita","isNaN","bloque1","EstadoAuto","Descripcion","PesoMolecular","estiloGrupos","bloqueATC","nombreCampo","DatosGrupos","contEP","busquedaActividad","HTMLAF","ActividadesFarmacologicas","af","HTMLCM","CaracteristicasMetabolicas","HTMLSin","Sinonimias","sino","HTMLAING","Actividades","contAF","contCM","contSin","contAING","DenQuiHTML","DenominacionQuimica","sonValoresNumericos","HTMLSinonimias","sinonimias","FilaLMR","lmr","LMR","LMREspecie","HTMLLMRTejidos","LMRsTejidos","lmrtej","estiloUltimaFila","UsoAnimalesProductores","datosAnimalesProductores","HTMLLMREspecie","LMRsEspecies","lmre","IngestaDiariaAceptada","bloqueComun","ResiduoMarcador","Cie","HTMLFila","HTMLTablaCie","InfoGeneralPAT","DescripcionCIE","Jerarquias","nivelSuperior","datosJerarquia","NivelSuperior","nivelInferior","NivelInferior","HTMLNS","enf","Enfermedad","HTMLNI","contNS","contNI","FilaTablaProductos","producto","TablaProductos","productos","prod","FilaLotes","lote","NumLote","FechaCaducidad","TablaLotes","HTMLLotes","lotes","AlertaCalidad","alerta","bloqueAlerta","NumAlerta","FechaAlerta","Todos","codTipoRegistro","LotesAfectados","htmlInfoAdicional","InfoAdicional","AlertasCalidad","datosAlertas","htmlAlertas","Alertas","ChartJS","register","CategoryScale","LinearScale","BarElement","Title","Tooltip","Legend","GraficaCismed","inactivo","datosCismed","estiloImg","WebkitFilter","datosGraph","labels","datasets","PorcentajeNacional","PorcentajeCCAA","PorcentajeProvincia","borderColor","borderWidth","optionsGraph","responsive","maintainAspectRatio","legend","text","scales","stacked","min","suggestedMin","suggestedMax","plugins","options","SemaforosCismed","getImagenFromEstado","getTextoFromEstado","imgSemaforoAnt","EstadoSemanaAnterior","imgSemaforoAct","EstadoSemanaActual","txtSemaforoAnt","txtSemaforoAct","EsInicioSemana","borderRadius","TablaFParticipantes","textShadow","abreEmergenteCismed","NFarmaciasNacional","NFarmaciasCCAA","NFarmaciasProvincia","NoConsolidada","FechaConsolidacion","CismedKO","yesterday","HayConexion","EstaAutorizado","DatosVisibles","NoConsolidado","CumpleCriterioDia","CumpleCriterioSemanaPasada","CumpleCriterioSemanaActual","AbreEmergenteCismed","CismedOK","textJustify","Cismed","Componente","alturadivinicial","PA","componente","PrincipioActivo","IdPrincipioActivo","sal","Sal","Cantidad","uni","codUnidad","CodUnidad","sub","resto","dangerouslySetInnerHTML","__html","classdivPA","unidadesLargas","sizeFontUnidades","IdPrincipal","estiloNombreComponente","siguiente","estiloCantidadComponente","estiloUnidadComponente","estiloP","CambiaPaginaFichaPA","Composicion","composicion","por","componentes","Componentes","excipientes","Excipientes","excipientesB","ExcipientesB","tituloE","NombreExcipientes","tituloE2","NombreExcipientesB","nombreComponentes","datosCompos","ComposicionPor","composiciones","compo","FilaNombreMed","clasesDivCompos","HTMLNombresComponentes","IdMed","NombreMed","ConfusionNombresMed","HTMLNombresMed","nombresMed","DatoFarmaceutico","dato","tienePicto","Dato","DatosConservacion","htmlConservacion","datosConservacion","Conservacion","infoConservacion","mensajesConservacion","MensajesConservacion","datosValidez","mensajecomodato","GrupoPolimorfismos","grupo","polimorfismos","Polimorfismos","recos","RecomendacionesTerapeuticas","estiloObservaciones","estiloRecomendaciones","estiloPrimeraFila","ultimaFila","Fenotipo","FarmacogeneticaBioPA","biomarcador","gruposPolimorfismos","FarmacogeneticaPA","farmacogenetica","biomarcadores","Biomarcadores","biom","esAcordeon","Farmacogenetica","farmacogeneticaComponentes","farmacogeneticas","fgpa","FilaBloquePrecios","estilopfuturo","valor2","colSpan","tienePFuturos","valor1","gridTemplateColumns","valor3","AgrupacionHomogenea","agrupFutura","claseDivTabla","Filas","agrup","tipoReg","literalAgrupacion","literalFecha","mostrarPExtra","PVPExtra","LiteralPExtra","TablaHTML","estilobordes","noBordeSup","ccaa","Grupos","msgAviso","setMsgAviso","strPaginaTrasAviso","setStrPaginaTrasAviso","idPaginaTrasAviso","setIdPaginaTrasAviso","nombreGrupos","tituloGrupos","tipoRegLink","datosGrupos","bloqueVTM","descClinica","GVTM","GVMP","GVMPP","sustituible","exceptSust","estiloSinBorde","estiloGTATC","hayPFuturos","pFuturos","hayAgrupAuto","agrupCCAA","hayAgrupNac","agrupNac","pFuturosHTML","GNomenclator","CambiaPaginaBusquedaGrupo","CambioHistorico","cambio","esCambioPrecio","PreAnterior","esCambioNombre","NomAnterior","esCambioLab","LabAnterior","tieneObservaciones","esECoH","abierto","FechaHistorico","htmlCambios","Cambios","Historico","htmlHistorico","datosHistorico","FilaTitulosIdent","htmlFila","idxBloque","borderTopWidth","FilaIdent","colsperrow","idxForma","URLForma","line","titulos","Identificacion","datosIdentificacion","tablas","iaux","Titulos","Identificaciones","Valores","htmlTablas","InformacionAdicional","datosInfoAdicional","BloquePrecios","PRef","PVLRef","literalPVPsinIVA","literalPVL","precioReferencia","IVA","CjtoRef","InfoGeneral","bloque1H","CodEAN13","MaxEnvReceta","bloque1V","bloque1PF","LiteralSubtipo","SubtipoPF","IdSubtipoPF","LiteralCodigoRegistro","precioAuto","formaFarma","FormaFarma","Formafarmaceutica","via","Via","bloque1FM","lab","Laboratorio","bloque1HO","abreEmergenteLabo","bloque2","datosLaboratorio","Direccion","CodigoPostal","Localidad","Pais","Telefono","Fax","Email","IdPais","bloque2PF","Esteril","bloque3","EstadoNom","FechaAutorizacion","fecha0","FechaComercializacion","IdEstadoAuto","FechaInclusionSNS","FechaBajaInclusionFinanIndiv","IdEstadoNomPF","EstadoNomPF","FechaBajaEfectoYAccesorio","FechaExclusionSNS","FechaBaja","ocultaPrecios","modalTitulo","NombreLargo","PrecaucionExtrema","textos","formatedtexto","ProblemaS","problema","bloqueProblema","Estado","FechaInicio","FechaFin","ProblemasS","datosProblemasS","htmlProblemas","Problemas","EnfermedadesRelacionadas","enfermedadesHTML","enfermedades","CambiaAFichaEnf","codigoEnf","epigrafe","epigrafeActivo","IdEpigrafe","epigrafesActivos","datosTextos","TextosHTML","Epigrafes","anclasEpis","anc","hayIndicaciones","PatologiasIndicadas","hayContraindicaciones","PatologiasContraindicadas","hayPrecauciones","PatologiasPrecaucion","hayRA","EfectosAdversos","hayEnfermedades","Video","video","IdDocumento","idFrame","idMask","itemFrame","itemMask","handleVideoClick","Videos","datosVideos","htmlVideos","Apartado","detalleApartado","muestraEmergenteSimil","setMuestraEmergenteSimil","handleClickTitulo","DatosTextos","DatosAdvertencias","DatosConsejos","DatosPrecaucionExtrema","Interferencias","NombresSimilares","FarmacogeneticaComponentes","InfoConservacion","DatosHistorico","DatosIdentificacion","DatosAlertas","DatosProblemasS","DatosInfoAdicional","DatosCismed","DatosVideos","PackContiene","PackContenidoEn","DatosDopaje","DatosAnimalesProductores","Jerarquia","DatosJerarquia","DatosCIE","clickTop","scroll","ContenedorApartados","setRefresh","Apartados","aptdo","MensajesEmergentes","restoMensajes","mensajes","primerMensaje","keyME","URLImagen","htmlResto","mostrado","setMostrado","MargenDerechoPA","estildefecto","valorDopaje","FichaASO","setFicha","descargaFicha","descargaAdvertencias","descargaDopaje","descargaInterferencias","descargaFarmacogenetica","descargaHistorico","descargaInformacionAdicional","descargaUsoAnimalesProductores","descargaVideos","auxFicha","TipoPA","miId","miFicha","descargaHistorial","LinksFichaExt","TablaInfoPrincipalExt","ResumenInfoExt","ZonaImagenYPictosExt","InfoPrincipalExt","MargenDerechoExt","minHeight","FichaEXT","descargaCompos","IdComposicionPor","miIdCPor","miIdFF","MargenDerechoFM","literalPrecio","ShortFinanciado","FichaFM","descargaMensajesEmergentes","IdFormaFarma","codGrupo","CodATCN5","nivel","CodATCN4","CodATCN3","descargaGrupos","CodVMPP","descargaDatosConservacion","miGTATC","nivelGTATC","miGTVMPP","l","FichaING","descargaTextos","MargenDerecho","useRef","notificado","precioFuturoAMostrar","textoDispensable","FichaMUH","setImgIndex","muestraAmpliada","setMuestraAmpliada","sliderRef2","idxSlider","setIdxSlider","muestraEmergentePrecios","setMuestraEmergentePrecios","sEpigrafes","createBrowserHistory","Number","seHaHechoScroll","SetSeHaHechoScroll","estiloImagenFlotante","alignContent","slickGoTo","descargaConsejos","descargaPrecaucionExtrema","descargaIdentificacion","descargaNombresSimilares","descargaAlertasCalidad","descargaProblemasSuministro","descargaDatosCismed","currentAncla","eAnt","eAct","leyenda","getLeyendaPictoCismed","IdPictograma","anadeIconoCismed","MargenDerchoMUV","txtDispensable","FichaMUV","descargaTiemposEspera","FichaPA","linkRef","FichaPAH","FichaPAV","MargenDerechoPAT","CodEspecialidadMedica","FichaPAT","descargaJerarquiaInfo","descargaSinonimias","descargaCieInfo","MargenDerechoPPF","FichaPPF","descargaFichaPF","descargaComposPF","CodConN5","CodConN4","CodConN3","descargaGruposPF","CodNom","descargaTextosPF","descargaAdvertenciasPF","descargaDatosConservacionPF","descargaHistoricoPF","descargaAlertasCalidadPF","descargaContenidoPackPF","descargaPacksContenedoresPF","descargaInformacionAdicionalPF","descargaVideosPF","rectpie","finpie","scrollHeight","offsetHeight","GConNivel1","GConNivel2","GConNivel3","GConNivel4","GConNivel5","AgrpacionCCAA","AgrpacionNacional","Ficha","visitados","findIndex","getDatosFormulario","tipoForm","seleccionados","descarga","idSelect","tituloSelect","valorNulo","esIdStr","tipoFiltradoLista","seleccionado","ocultaCodigo","OpcionesDG","tit","tip","val","OpcionesDGPF","OpcionesDGPA","OpcionesDISP","OpcionesDISPPPF","OpcionesCON","OpcionesPAC","OpcionesADM","OpcionesESP","OpcionesOTR","OpcionesOTRV","OpcionesDISPV","OpcionesESPV","OpcionesCONV","OpcionesCONPF","OpcionesPacientePI","OpcionesPatologiasPI","IconosListadosPI","img","filtrosInteracciones","campolista","tipoCampolista","otrosValores","paginasRestringidas","TituloFormularioBusqueda","codPagina","textoGen","CabeceraFormulario","SelectorUno","textPlaceholder","BorraItem","HTMLTagSelected","strlabel","bMostrar","textoDividido","alBorrar","ResumenBusqueda","condiciones","HTMLCondicionesBusqueda","cond","SelectorFechas","seleccion","setSeleccion","idHMTL","idDesde","idHasta","cambiaSeleccion","keyDateDown","charCode","estiloTitulo","registerLocale","es","createAutoCorrectedDatePipe","estilosubtitulos","fontFace","subtitulodesde","subtitulohasta","locale","cambioInicio","dateFormat","placeholderText","customInput","cambioFin","SelectorUno2","listavisible","setListaVisible","search1","dropdownclases","multiple","FBAlertasCalidad","listaLab","listaPA","tituloPA","placeholderNombre","PrincipiosActivos","Laboratorios","resumen","construyeResumenBusqueda","clickBuscar","BorraBusqueda","inputs","itemContainer","copiaFechas","origen","destino","estiloBotonesSup","estiloBotonesInf","listaCodValorLab","listaCodValorPA","arbol","KeyDownForm","CambiaTxt","CambiaTxtLote","nuevovalor","SelectorFecha","SelectorComposicion","valuesSelected","infoComponentes","setInfoComponentes","codiog","currentComponente","setCurrentComponente","negado","setNegado","itemsSelected","vs","vsitem","abs","infoComponente","salesPosibles","Sales","cantsPosibles","Cantidades","HTMLTagsSelected","SeleccionaItem","des","HTMLTags","borderLeft","borderLeftColor","borderLeftStyle","currentItemSelected","HTMLSalesYCantidades","ocultaNegado","alUpdatePA","ClickNegado","clickEnCabeceraSC","cp","cs","Cant","Cod","alBorrarCant","Des","alAnadirCant","sp","ss","alBorrarSal","alAnadirSal","DescargaInfoValuesSelected","listaCodigos","itemdescarga","itemvs","salvs","saldescarga","cantvs","cantdescarga","alCambiarPASolo","pasolo","alAnadirPA","tag","alBorrarPA","strComponente","opcionesComposHTML","muestraChecks","SelectorMulti2","small","classInputName","estrecho","ocultaTags","SelectorCHK","valoresCHK","opcionesCHK","idOrigen","HTMLChecks","opt","check","cambiaCheck","pie","SelectorSNX","valorSNX","setValorSNX","idChkAct","idChkSN","txtS","txtN","checkedChkAct","checkedChkSN","calculaSNX","act","SN","checkAct","checkSN","cambiaCheckActivo","cambiaCheckSN","for","SelectorEdad","unidad","ivalue","cambioEdad","newunidad","SelectorEnfRel","setEpigrafe","currentEnf","setCurrentEnf","EpigrafeByCod","ClickEpigrafe","alUpdate","itemepi","codEpi","esNegado","ItemResumenFiltros","descripcion","borraFiltro","idFiltro","SelectorNumero","setNum","valorVacio","sufijo","numNull","pulsaPunto","HTMLSufijo","cambioNum","checkDot","SelectorMulti2No","currentValue","ClickTag","nuevaProps","pal","alNegar","SelectorAnaRel","SelectorTexto","listaEpigrafes","estiloLab","tituloTexto","tituloEpigrafe","FBAvanzadaMUH","listaFFs","listaVias","listaIntsV","listaIntsNV","listaEnfs","listaGTs","listaLabs","listaCamposPrecio","listaOperadoresPrecio","listaPredefinidasPrecio","listaAgrupAuto","listaAgrupNac","listaDescrip","listaAnas","listaMens","listaEpis","ocultaIntolerancias","setOcultaIntolerancias","claseIntoleranciasOcultas","claseBotonIntolerancias","txtbotonIntolerancias","Vias","FormasFarma","IntoleranciasV","IntoleranciasNoV","Enfermedades","CamposPrecio","OperadoresPrecio","PredefinidasPrecio","AgrupacionesAutonomicas","AgrupacionesNacionales","DescripcionesClinicas","obtenDatoResumen","opciones","strValores","itemOpcion","itemSel","strVal","idxEstado","itemEstado","strValor","idxCom","itemCom","c","o","hayBusqueda","CambioIntolerancia","idInt","CambiaValorSNX","idSNX","CambiaValorCHK","idCHK","newitem","listaCodValorLabs","listaCodValorGTs","listaCodValorPAs","listaCodValorFFs","listaCodValorVias","listaCodValorEnfs","listaCodValorAnas","listaCodValorCPs","listaCodValorOPs","listaCodValorPPs","listaCodValorAAs","listaCodValorANs","listaCodValorDCs","listaCodValorMens","listaCodValorEpis","HTMLIntoleranciasV","int","HTMLIntoleranciasNV","clasedivmodulefilters","HTMLOpcionesDG","HTMLOpcionesDISP1","HTMLOpcionesDISP2","HTMLOpcionesDISP3","HTMLOpcionesDISP4","HTMLOpcionesDISP5","HTMLOpcionesPAC","HTMLOpcionesESP","HTMLOpcionesESP2","HTMLOpcionesOTR1","HTMLOpcionesOTR2","HTMLOpcionesCONV","HTMLDatosGenContenido","nuevonumero","HTMLFechasContenido","HTMLPrecioContenido","HTMLGruposContenido","HTMLDatosCompos","idSal","idUnd","cantidad","HTMLDatosDisp","HTMLDatosPac","nuevaedad","nuevaunidad","HTMLDatosOtr","HTMLDatosCon","HTMLAdvertenciasContenido","HTMLDatosEnf","idEnfermedad","HTMLDatosAna","HTMLDatosBusquedaTexto","nuevoepi","nuevotexto","FBAvanzadaMUV","listaEsps","Especies","listaCodValorEsps","HTMLOpcionesDISP","estiloFF","estiloVia","HTMLDatosEspInd","FBAvanzadaPAH","listaAFs","listaAMs","ActividadesF","ActividadesM","listaCodValorAFs","listaCodValorAMs","FBAvanzadaPPF","listaTipos","listaSubtipos","Tipos","Subtipos","listaCodValorTipos","listaCodValorSubtipos","HTMLOpcionesCON","FBComposicion","setMuestraAviso","nombreComponente","nombreComponentePlural","ActualizaFormasYVias","formularioVacio","FBDocumentos","listaMed","Medicamentos","listaCodValorMed","FBEspecieIndicacion","listaEnf","listaEspecie","listaCodValorEnf","listaCodValorEspecie","FBExtranjeros","listaPaises","Paises","CodPais","CambiaSolo","listaCodValorPais","FBFechas","PreviewForma","color1","color2","ListaFormas","xmlnsXlink","points","strokeWidth","FBFormaColor","listaFormas","listaColores","listaSabores","setTipoFF","col1","col1c","sab","ftr","ins","Formas","Colores","Sabores","getStrColor","idColor","col","AuxStr","getStrColorDesc","co","clasesHeaderColor2","clasesContentColor2","CambioColor1","CambioColor2","ToggleTamano","RemoveTamano","AddTamano","CambiaCO1","CambiaCO2","CambiaRanura","CambiaLogo","CambiaCol2","listaTamanos","listaCodValorSabores","listaCodValorColores","estiloSeleccionado","estiloTamanoSeleccionado","textoTamanoSeleccionado","estiloTamanoVacio","textoTamanoVacio","estiloVacio","HTMLFormas","forma","ClickForma","nomForma","HTMLTamanos","tam","HTMLColores","ClickColor1","HTMLColores2","estiloFormaMin","CambiaIns1","CambiaIns2","clickCambiaCol2","despliegaColor2","CambiaAnycol","CambiaDifCol","getStrTamanos","getStrInscripciones","backgroundImage","getStrSabor","getStrIndicacion","getStrPrincipiosActivos","FBPacienteIndicacion","listaMeds","listaAlgs","Alergias","itemPat","obtenDatoResumenPatologias","valSel","obtenDatoResumenPaciente","listaCodValorMeds","listaCodValorAlgs","HTMLPiePat","HTMLOpcionesPat","HTMLPiePac","HTMLOpcionesPac","HTMLDatosGeneral","HTMLColumna1","HTMLColumna2","HTMLDosColumnas","FBProblemasSum","finoh","CambiaCheckMedExt","CambiaCheckNoSust","FBReaccionesAdversas","TituloByEpicod","AcordeonN1","handleClickAcordeonCheck","parent","checks","AcordeonN2","RamaSecundaria","contenidoHTML","hijo","abierta","RamaPrincipal","OptionSelect","SelectorTree","i1","i2","i3","i4","i5","arbolHTML","FBTest","lista1","lista2","lista3","lista4","itemA","idA","idL1","idL2","idsL3","snx","Dietoterapicos","NombresMeds","listaCodValor1","listaCodValor2","listaCodValor3","listaCodValor4","ocultaInputText","nuevoTexto","nuevoSNX","ItemRamaArbol3","accion","cierraRama","abreRama","clasesSubdiv","estilodisabled","estilodisabledtexto","miHTML","muestraCodigo","RamaArbol3","SelectorArbolM","valorSeleccionado","datosSeleccion","setDatosSeleccion","listaCompleta","setListaCompleta","listaFiltrada","setListaFiltrada","numMostrar","setNumMostrar","bMostrarMas","codigoJerarquico","nuevalistafiltrada","filtraLista","filtraValorSeleccionado","filtraListaConTexto","pendientes","currentlista","listaLlena","itemContieneTxt","encontrado","textoSeparado","itemContienePalabra","txt2","EsCodigoPadre","codigoRama","nuevaListaFiltrada","itemListaFiltrada","itemListaCompleta","nuevosDatosSeleccion","newtxt","cambiaTxt","cambiaTexto","FBusquedaArbol","setArbol","setTxt","DescargaLista","SelectorArbol3","EsAlgunCodigoPadre","newitem2","newitem3","newitem4","m","newitem5","FBusquedaArbolMultiple","buscaItemArbol","codigoBuscado","FBusquedaSaborEdad","arbolDieto","itemDieto","txtInputDieto","setTxtInputDieto","DescargaDatosSaborEdad","CambiaCheckSolo","listaCodValor","FBusquedaSimple","setLista","BorraValor","FBusquedaMultiple","ItemIndiceFormularios","claseli","colorFill","estiloSpan","IndiceFormularios","listaFormularios","tipoDesc","HTMLIndice","FormularioBusqueda","setInfoPagina","f","getTituloFromCodigoPagina","formulario","cambiaTab","codTab","nuevaInfoPagina","tabsComposPF","tiposFF","HTMLTabs","Interaccion","itemInteraccion","claseMask","IdSemaforo","imgSentido","txtSentido","PA1","PA2","Sentido","clickDescripcion","header","covercard","anchos","HTMLSemaforoInter","mixBlendMode","TxtSel1","TipoRegistro1","IdSel1","IdPA1","DesSemaforo","TxtSel2","TipoRegistro2","IdSel2","IdPA2","clickDetalles","Significacion","Naturaleza","Medidas","Importancia","Mecanismo","Evidencias","Referencias","FiltroLista","opcionesLista","opcion","idInput","cambiaLista","handleCambioLista","which","blur","avoidEnter","FiltroListBox","FiltroText","CheckBoxFiltro","claseCheckBox","claseLabel","idCheckBox","valueCheckBox","handleCambioCheckBox","GrupoCheckBoxFiltro","listaCheckBox","FiltroBusqueda","claseAcordeon","handleClickAcordeonFiltro","MargenIzquierdoInter","htmlFiltros","listaPosibles","MedsSeleccionados","itemsHtml","nFiltrados","alLimpiar","BInteracciones","setListaPosibles","setIdsSel","listaResultados","setListaResultados","filtrosActivos","configuracionVista","setConfiguracionVista","setItemsSelected","filtrosInt","nuevosItemsSelected","ActulizaItemsSelected","BuscaInteracciones","AplicaFiltrosInteracciones","newpath","history","replaceState","nuevaListaPosibles","nuevaListaResultados","AplicaFiltro","filtroInter","filtroSel","RemoveMedicamento","nuevosIdsSel","HTMLListaInteracciones","inter","tempVar","nTotal","muestraMas","FilaListaResBusqueda","tiposPersona","Array","tiposAnimal","tiposParafar","patologias","conPrecio","conEstado","conLaboratorio","claseEstado","IdEstadoAutorizacion","claseTextoEstado","pictogramatipo","problemaSuministro","vesAFicha","infoPacienteIndica","mostrarPI","ListaAux1","icon","mostrarAuxStr","infoAuxStr","mensStrAux2","AuxStr2","infoAuxStr2","infoListaAuxStr","mostrarListaAuxStr","ListaStr","mostrarAuxFecha","infoAuxFecha","AuxFecha","infoAuxFecha2","AuxFecha2","infoFechaAlta","mostrarFechaAlta","infoFechaEntrada","mostrarFechaEntrada","infoFechaVisita","mostrarFVisita","infoBorrarItem","mostrarBotonBorrar","mostrarAvisoPrecio","mostrarAvisoPMenor","pvpMenor","AuxDbl","mostrarAvisoPMasBajo","pvpMasBajo","infoAvisoPrecioMenor","infoAvisoPrecioMasBajo","literalPVP","precio","AmbitoHospitalario","PFacturacion","mostrarHist","AuxStr3","estiloItem","oculto","visitado","espacioPrimero","espacioPrimeroPrecio","estiloNombre","textOverflow","estiloLaborat","comoPackList","EstadoAutorizacion","comoGrid","NombreAnterior","AuxInt","mostrarFuturo","FilaListaFM","txtFina","txtApor","txtVisa","OpcionOrden","index","currentIndex","getIndexSetOrden","obj","setOrden","EncabezadoListado","estadoOpcionesOrden","setEstadoOpcionesOrden","ordenesPosibles","mostrarDocumentos","cambioOrden","muestraBotonTabla","mostrarFM","mostrarEXT","claseSwitchGrid","claseSwitchList","claseSwitchPackList","listaPack","listaitems","nDescargados","numDescargados","numTotal","alExportar","mostrarLimpiaHistorial","alVaciar","borderLeftWidth","clickComoPackList","clickComoList","clickComoGrid","FilaListaEXT","FilaListaDOC","ListaResBusqueda","filtrosYlista","estadoVerComoGrid","setEstadoVerComoGrid","estadoVerListaPack","setEstadoVerListaPack","numColsGrid","numMostrados","unoOculto","divisor","claseContentResults","muestraTabla","borraDeLista","newLength","borderSpacing","maginBottom","sytle","FiltrosBusqueda","estiloAsideConPMenores","borderTopStyle","estiloAside","conPreciosMenores","estiloSegundoAside","borderBottomStyle","borderBottomColor","borderBottomWidth","literalPMasBajo","ResumenFiltros","displayValor","borraTodosFiltros","GrupoCamposExportables","campo","CodCampo","onCheck","HTMLAcordeon","CamposExportacion","listasPosibles","setListasPosibles","listasResultados","setCodTipoExporta","codsSeleccionados","setCodsSeleccionados","txtCancelar","setTxtCancelar","numTotalCampos","Campos","literalTitulo","maxCampos","lp","nuevasListasPosibles","checkCampo","HTMLGruposExportables","GrupoCamposExportable","CodGrupo","getTipoFromCodTipo","codTipo","abreEmergenteMaxRegs","tiposRegs","aux1","aux2","alSalir","AccesoRestringido","idUltimaBusqueda","FiltrosYResultados","listaRes","total","setFiltrosYLista","setCodigoPagina","verCamposExporta","setVerCamposExporta","infoExportacion","setInfoExportacion","ascendente","compare","xa","xb","a","b","sort","aplicaFiltros","orden","aplicaFiltro","relacion","comparacion","valorlista","mostrarCamposExporta","infoExport","tieneMUH","tieneMUV","tienePPF","defaultTipoExporta","ie","cambioFiltroCheck","cambioFiltroList","completa","ChequeaPosiblesFiltros","MuestraResultados","resultados","incompleta","idBusqueda","rutaAlInicioBusqueda","idGT","idSubtipo","numMax","miListaBusqeda","filtroscp","filtropm","v","filtropmb","AuxDbl2","IdBusqueda","Completo","Total","hayFiltros","align","SeccionResultados","filtroNombre","filtroTitulo","valorFiltroFinanciadoSegun","filtroAportacionFM","filtroVisadoFM","filtroTipoFM","filtroPaises","getPosibles","pais","filtroEspecies","listaEspecies","especie","filtroPAHomeo","filtrosStandard","listaLaboratorios","IdLaboratorio","laboratorio","filtroCompos","filtroAnalisis","filtroEfectoFG","filtroRecoFG","filtroIntolerancias","filtroDeduccionesRDL","filtroHuerfano","filtroNoSustituible","filtroComparaPrecios","Cuerpo","Pie","hacernada","urlLicencia","estiloLinks","estiloLiRRSSs","estiloLiMenus","Licencia","checkedAceptar","setCheckedAcpetar","licencia","alAceptar","alLogout","Contenido","myTimeout","pageYOffset","isTopWindow","setIsTopWindow","setHistorial","setProvincia","lastVisitedPath","setLastVisitedPath","haAceptadoLicencia","setHaAceptadoLicencia","licenciaAAceptar","setLicenciaAAceptar","tiempoCheck","accesoRestringido","setAccesoRestringido","ChequeaSesion","checkSesion","clearTimeout","construyeInfoPaginaFromPath","removeEventListener","AlHacerScroll","onBackButtonEvent","addEventListener","passive","RefrescaProvincia","getStringProvincia","HaAceptadoLicencia","LicenciaAAceptar","ParseaFiltros","strFiltros","arrayFiltros","arrayFiltro","validaAcceso","newInfoPagina","ruta","auxIds","auxIdsSabores","misFiltros","snumMostrar","sidxOrden","decodeURI","auxPas","auxIdsEnfs","auxIdsMeds","auxInts","auxIdsPat","auxIdsMed","auxIdsAlg","auxTamanos","auxIdsLab","auxIdsGT","enfsRelAux","anasRelAux","auxIdsAA","auxIdsAN","auxIdsDC","auxIdsMen","auxAF","auxAM","auxIdsTipo","auxIdsSubtipo","auxIdsSel","listaIds","AccionesComunesBusqueda","datosPagina","CompletaURLBusqueda","addToUrl","filtrosStr","CambiaAPagina","CierraMenuBurguer","currentpath","pathname","miUrl","newUrl","QuitaFiltrosURL","AccionesComunesFicha","alert","url1","url2","sinparametros1","sinparametros2","params1","params2","txt1","MismaURL","Atras","goBack","getElementsByTagName","infogenItems","secciones","menus","y0","modalContentLicencia","pos","infoAux","Credenciales","getInfoCredenciales","App","currentUser","setCurrentUser","sesionOK","setSesionOk","CheckNetworkUser","keypass","OpenDeferredSession","SpecialAuthentication","IPAuthentication","bpu","host","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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AAO,IACPogC,SAAW,gBACXg8B,aAAep5D,EACf84D,SAAW72C,GAAc5P,gBACzB0mD,SAAW,WAAaH,EACxBI,aAAe,6BACfxvD,YAAc,oDACdyvD,UAAY,GACZxiE,IAAM,IACNsO,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAID,mBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,gBACXg8B,aAAep5D,EACf84D,SAAW72C,GAAc5P,gBACzB0mD,SAAW,WAAaH,EACxBI,aAAe,sCACfxvD,YAAc,oDACdyvD,UAAY,GACZxiE,IAAM,IACNsO,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAID,uBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,oBACXg8B,aAAep5D,EACf84D,SAAW72C,GAAc5P,gBACzB0mD,SAAW,WAAaH,EACxBI,aAAe,6BACfxvD,YAAc,oDACdyvD,UAAY,GACZxiE,IAAM,IACNsO,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAID,uBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,oBACXg8B,aAAep5D,EACf84D,SAAW72C,GAAc5P,gBACzB0mD,SAAW,WAAaH,EACxBI,aAAe,6BACfxvD,YAAc,oDACdyvD,UAAY,GACZxiE,IAAM,IACNsO,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAID,gBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,aACXg8B,aAAep5D,EACf84D,SAAW72C,GAAcnP,mBACzBimD,SAAW,UAAYH,EACvBI,aAAe,kCACfxvD,YAAc,2CACdyvD,UAAY,GACZxiE,IAAM,GACNsO,OAAQ,EACRo0D,kBAAoB,EACpBE,cAAc,EACdH,SAAU,IAID,iBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,aACXg8B,aAAep5D,EACf84D,SAAW72C,GAAcpP,cACzBkmD,SAAW,UAAYH,EACvBI,aAAe,kCACfxvD,YAAc,2CACdyvD,UAAY,GACZxiE,IAAM,GACNsO,OAAQ,EACRo0D,kBAAoB,EACpBE,cAAc,EACdH,SAAU,IAID,oBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,kBACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAc1P,eACzBwmD,SAAW,WAAaH,EACxBI,aAAe,wBACfxvD,YAAc,mCACdyvD,UAAY,EACZxiE,IAAM,GACNyiE,SAAU,EACVC,kBAAmB,KAIV,oBAAbP,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,kBACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAc1P,eACzBwmD,SAAW,WAAaH,EACxBI,aAAe,wBACfxvD,YAAc,mCACdyvD,UAAY,EACZxiE,IAAM,GACNyiE,SAAU,EACVC,kBAAmB,KAIV,oBAAbP,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,kBACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAc1P,eACzBwmD,SAAW,WAAaH,EACxBI,aAAe,wBACfxvD,YAAc,mCACdyvD,UAAY,EACZxiE,IAAM,GACNyiE,SAAU,EACVC,kBAAmB,KAIV,YAAbP,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,UACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAczP,eACzBumD,SAAW,WAAaH,EACxBI,aAAe,6BACfxvD,YAAc,wCACdyvD,UAAY,EACZxiE,IAAM,KACNyiE,SAAU,IAID,YAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,UACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAczP,eACzBumD,SAAW,WAAaH,EACxBI,aAAe,6BACfxvD,YAAc,wCACdyvD,UAAY,EACZxiE,IAAM,KACNyiE,SAAU,IAID,YAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,UACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAczP,eACzBumD,SAAW,WAAaH,EACxBI,aAAe,iDACfxvD,YAAc,0EACdyvD,UAAY,EACZxiE,IAAM,KACNyiE,SAAU,IAID,aAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,WACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAczP,eACzBumD,SAAW,WAAaH,EACxBI,aAAe,YACfxvD,YAAc,uBACdyvD,UAAY,EACZxiE,IAAM,GACNyiE,SAAU,IAID,kBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,eACXg8B,aAAep5D,EACf84D,SAAW72C,GAAcvP,YACzBqmD,SAAW,WAAaH,EACxBI,aAAe,yBACfxvD,YAAc,oCACdyvD,UAAY,EACZxiE,IAAM,GACNyiE,SAAU,IAID,yBAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,sBACXg8B,aAAep5D,EACf84D,SAAW72C,GAActP,iBACzBomD,SAAW,WAAaH,EACxBI,aAAe,cACfxvD,YAAc,yBACdyvD,UAAY,EACZxiE,IAAM,GACNyiE,SAAU,IAID,eAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,aACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAcrP,aACzBmmD,SAAW,UAAYH,EACvBI,aAAe,2BACfxvD,YAAc,0CACdyvD,UAAY,GACZl0D,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAID,eAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,aACXy7B,cAAgB74D,EAChB84D,SAAW72C,GAAcrP,aACzBmmD,SAAW,UAAYH,EACvBI,aAAe,2BACfxvD,YAAc,0CACdyvD,UAAY,GACZxiE,IAAM,GACNsO,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAID,eAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,YACXg8B,aAAep5D,EACf84D,SAAW72C,GAAclP,aACzBgmD,SAAW,UAAYH,EACvBI,aAAe,kCACfxvD,YAAc,mDACdyvD,UAAY,GACZl0D,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAID,eAAbN,IACAljE,EAAM,CACFkjE,SAAWA,EACX57D,KAAO,IACPogC,SAAW,YACXg8B,aAAep5D,EACf84D,SAAW72C,GAAcjP,aACzB+lD,SAAW,UAAYH,EACvBI,aAAe,wCACfxvD,YAAc,0CACdyvD,UAAY,GACZl0D,OAAQ,EACRo0D,kBAAoB,EACpBD,SAAU,IAwBXxjE,EAIJ,IAAM4jE,GAAa,CACtB,CACI/6D,IAAK,MACLg7D,IAAK,yBACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,aACLE,IAAK,KAET,CACIF,IAAK,aACLE,IAAK,KAET,CACIF,IAAK,UACLE,IAAK,OAIjB,CACIl7D,IAAK,MACLg7D,IAAK,iBACLC,IAAK,QAIAE,GAAe,CACxB,CACIn7D,IAAK,MACLg7D,IAAK,SACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,OACLE,IAAK,KAET,CACIF,IAAK,aACLE,IAAK,KAET,CACIF,IAAK,OACLE,IAAK,OAIjB,CACIl7D,IAAK,MACLg7D,IAAK,iBACLC,IAAK,QAIAG,GAAe,CACxB,CACIp7D,IAAK,MACLg7D,IAAK,yBACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,aACLE,IAAK,KAET,CACIF,IAAK,aACLE,IAAK,KAET,CACIF,IAAK,UACLE,IAAK,OAIjB,CACIl7D,IAAK,MACLg7D,IAAK,iBACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,aACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,iBACLC,IAAK,QAIAI,GAAe,CACxB,CACIr7D,IAAK,IACLg7D,IAAK,SACLC,IAAK,OAET,CACIj7D,IAAK,IACLg7D,IAAK,2CACLC,IAAK,OAqBT,CACIj7D,IAAK,IACLg7D,IAAK,0CACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,WACLC,IAAK,OAET,CACIj7D,IAAK,OACLg7D,IAAK,6CACLC,IAAK,OAET,CACIj7D,IAAK,IACLg7D,IAAK,cACLC,IAAK,OAET,CACIj7D,IAAK,IACLg7D,IAAK,gBACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,WACLE,IAAK,MAET,CACIF,IAAK,SACLE,IAAK,MAET,CACIF,IAAK,kBACLE,IAAK,SAIjB,CACIl7D,IAAK,IACLg7D,IAAK,SACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,QACLE,IAAK,KAET,CACIF,IAAK,oBACLE,IAAK,OAET,CACIF,IAAK,KACLE,IAAK,MAET,CACIF,IAAK,6BACLE,IAAK,QAIjB,CACIl7D,IAAK,MACLg7D,IAAK,gCACLC,IAAK,OAET,CACIj7D,IAAK,IACLg7D,IAAK,mBACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,8BACLC,IAAK,OAET,CACIj7D,IAAK,QACLg7D,IAAK,4CACLC,IAAK,OAET,CACIj7D,IAAK,QACLg7D,IAAK,wBACLC,IAAK,OAET,CACIj7D,IAAK,OACLg7D,IAAK,gDACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,oBACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,+BACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,0CACLC,IAAK,QAIAK,GAAkB,CAC3B,CACIt7D,IAAK,IACLg7D,IAAK,SACLC,IAAK,OAET,CACIj7D,IAAK,IACLg7D,IAAK,aACLC,IAAK,OAET,CACIj7D,IAAK,IACLg7D,IAAK,gBACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,WACLE,IAAK,MAET,CACIF,IAAK,SACLE,IAAK,MAET,CACIF,IAAK,OACLE,IAAK,UAIjB,CACIl7D,IAAK,IACLg7D,IAAK,SACLC,IAAK,QAIAM,GAAc,CACvB,CACIv7D,IAAK,KACLg7D,IAAK,SACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,aACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,kBACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,sBACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,sBACLC,IAAK,QAIAO,GAAc,CACvB,CACIx7D,IAAK,MACLg7D,IAAK,WACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,aACLE,IAAK,KAET,CACIF,IAAK,gBACLE,IAAK,KAET,CACIF,IAAK,iBACLE,IAAK,OAIjB,CACIl7D,IAAK,MACLg7D,IAAK,YACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,aACLE,IAAK,KAET,CACIF,IAAK,gBACLE,IAAK,KAET,CACIF,IAAK,iBACLE,IAAK,QAMRO,GAAc,CACvB,CACIz7D,IAAK,KACLg7D,IAAK,eACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,kCACLC,IAAK,MACL/6D,IAAK,CACD,CACI86D,IAAK,gBACLE,IAAK,MAET,CACIF,IAAK,YACLE,IAAK,MAET,CACIF,IAAK,cACLE,IAAK,QAIjB,CACIl7D,IAAK,MACLg7D,IAAK,wBACLC,IAAK,QAIAS,GAAc,CACvB,CACI17D,IAAK,IACLg7D,IAAK,eACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,eACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,UACLC,IAAK,OAET,CACIj7D,IAAK,OACLg7D,IAAK,6BACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,gBACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,eACLC,IAAK,QAGAU,GAAc,CACvB,CACI37D,IAAK,IACLg7D,IAAK,iBACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,aACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,cACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,eACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,oBACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,0BACLC,IAAK,OAET,CACIj7D,IAAK,OACLg7D,IAAK,WACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,sBACLC,IAAK,QAIAW,GAAe,CACxB,CACI57D,IAAK,IACLg7D,IAAK,iBACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,aACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,6BACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,0BACLC,IAAK,QAIAY,GAAgB,CACzB,CACI77D,IAAK,IACLg7D,IAAK,SACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,0CACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,wCACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,+BACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,qCACLC,IAAK,QAIAa,GAAe,CACxB,CACI97D,IAAK,QACLg7D,IAAK,wBACLC,IAAK,QAIAc,GAAe,CACxB,CACI/7D,IAAK,KACLg7D,IAAK,SACLC,IAAK,OAET,CACIj7D,IAAK,KACLg7D,IAAK,aACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,kBACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,sBACLC,IAAK,OAET,CACIj7D,IAAK,MACLg7D,IAAK,sBACLC,IAAK,QAIAe,GAAgB,CACzB,CACIh8D,IAAK,KACLg7D,IAAK,SACLC,IAAK,QAIAgB,GAAqB,CAC9B,CACIj8D,IAAK,MACLg7D,IAAK,8BACLC,IAAK,QACL/6D,IAAK,CACD,CACI86D,IAAK,aACLE,IAAK,OAET,CACIF,IAAK,4BACLE,IAAK,OAET,CACIF,IAAK,YACLE,IAAK,OAET,CACIF,IAAK,6BACLE,IAAK,OAET,CACIF,IAAK,UACLE,IAAK,OAET,CACIF,IAAK,0BACLE,IAAK,UAMRgB,GAAuB,CAChC,CACIl8D,IAAK,MACLg7D,IAAK,sBACLC,IAAK,QACL/6D,IAAK,CACD,CACI86D,IAAK,OACLE,IAAK,KAET,CACIF,IAAK,kBACLE,IAAK,KAET,CACIF,IAAK,qBACLE,IAAK,KAET,CACIF,IAAK,WACLE,IAAK,KAET,CACIF,IAAK,eACLE,IAAK,KAET,CACIF,IAAK,qBACLE,IAAK,QAMRiB,GAAmB,CAC5B,CACIn8D,IAAK,EACLmL,IAAK,kDACLixD,IAAK7mE,oDAET,CACIyK,IAAK,EACLmL,IAAK,mDACLixD,IAAK7mE,qDAET,CACIyK,IAAK,EACLmL,IAAK,uCACLixD,IAAK7mE,kDAET,CACIyK,IAAK,EACLmL,IAAK,wCACLixD,IAAK7mE,mDAET,CACIyK,IAAK,EACLmL,IAAK,yCACLixD,IAAK7mE,+CAET,CACIyK,IAAK,EACLmL,IAAK,qCACLixD,IAAK7mE,yCAET,CACIyK,IAAK,EACLmL,IAAK,oCACLixD,IAAK7mE,gDAET,CACIyK,IAAK,EACLmL,IAAK,0CACLixD,IAAK7mE,4CAET,CACIyK,IAAK,EACLmL,IAAK,uCACLixD,IAAK7mE,6CAIA8mE,GAAuB,CAChC,CACIp6D,QAAU,OACV+uC,OAAS,WACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,aACZC,eAAgB,MAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,QACN3d,MAAM,EACNm/D,aAAc,CAAC,GACft6D,QAAQ,EAIRoyD,MAAM,GAEV,CACIt5C,MAAM,WACN3d,MAAM,EACNm/D,aAAc,GACdt6D,QAAQ,EAIRoyD,MAAM,GAEV,CACIt5C,MAAM,OACN3d,MAAM,EACNm/D,aAAc,GACdt6D,QAAQ,EAIRoyD,MAAM,KAIlB,CACIryD,QAAU,MACV+uC,OAAS,kBACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,YACZC,eAAgB,MAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,uBACN3d,MAAM,EACNm/D,aAAc,GACdt6D,QAAQ,EAIRoyD,MAAM,GAEV,CACIt5C,MAAM,qBACN3d,MAAM,EACNm/D,aAAc,GACdt6D,QAAQ,EAIRoyD,MAAM,GAEV,CACIt5C,MAAM,6BACN3d,MAAM,EACNm/D,aAAc,GACdt6D,QAAQ,EAIRoyD,MAAM,GAEV,CACIt5C,MAAM,8BACN3d,MAAM,EACNm/D,aAAc,GACdt6D,QAAQ,EAIRoyD,MAAM,MAMTmI,GAAsB,CAC/B,kBACA,kBACA,kBACA,oBACA,gBACA,oBACA,gBACA,iBACA,iBACA,iBACA,SACA,SACA,UACA,SACA,eACA,sBAMA,WACA,cACA,iBACA,iBACA,uBACA,iBACA,sBACA,YACA,YACA,aACA,YACA,YACA,oBACA,mBACA,aACA,cACA,aACA,cACA,eACA,YACA,yBACA,uBACA,2BACA,2BACA,mBACA,yBACA,wBACA,oBACA,oBACA,qBACA,qBACA,2BACA,gBACA,mBACA,eACA,eACA,eACA,gBACA,qBACA,mBACA,qBACA,2BACA,kBACA,wBACA,yBACA,kBACA,kBACA,kBACA,yBACA,iBACA,eACA,eACA,eACA,eACA,kBACA,mBACA,mBACA,mBACA,qBACA,iBACA,qBACA,iBACA,kBACA,kBACA,kBACA,UACA,UACA,WACA,UACA,gBACA,uBACA,aACA,aACA,cACA,aACA,aACA,iBACA,yBACA,oBACA,gBACA,gBACA,gBACA,0BACA,mBACA,mBACA,mBACA,0BACA,kBACA,gBACA,gBACA,gBACA,gBACA,mBACA,iBACA,sBACA,oBACA,sBACA,qBC3tCWC,GA/BkB,SAACt2D,GAC9B,IAAMM,EAAyB,MAAfN,EAAM3H,KAClB,qBACiB,OAAb2H,EAAM3H,MAA4B,MAAb2H,EAAM3H,MAA2B,MAAb2H,EAAM3H,KACnD,uBACqB,iBAAlB2H,EAAMu2D,UACT,yBAEA,uBACAC,EAAWh+D,EAAmBwH,EAAM3H,KAAM2H,EAAMu2D,WAIpD,MAHuB,YAAlBv2D,EAAMu2D,WAA2C,2BAAlBv2D,EAAMu2D,WAA0D,aAAlBv2D,EAAMu2D,WAA4C,mBAAlBv2D,EAAMu2D,YACpHC,EAAS,IAGT,qBAAK31D,MAAM,iCAAX,SACI,sBAAKA,MAAM,oBAAX,UACI,qBAAKA,MAAM,OAAX,SACI,qBAAKU,IAAKjB,EAAQyG,IAAI,OAE1B,qBAAKlG,MAAM,OAAX,SACkB,IAAZ21D,EACE,oBAAG31D,MAAM,8BAAT,UAAyC21D,EAAzC,KAAoD,iCAASx2D,EAAMG,YAEnE,mBAAGU,MAAM,8BAAT,SAAwC,iCAASb,EAAMG,mBCN9Ds2D,GAfU,SAACz2D,GACxB,IAAM2wB,EAAa3wB,EAAM2wB,WACrBt4B,EAAO2H,EAAM3H,KACb8H,EAASH,EAAMG,OACnB,OACE,qBAAKU,MAAM,sCAAX,SACE,sBAAKA,MAAM,sCAAX,UACE,cAAC,GAAD,CAA0BomB,MAAOjnB,EAAMinB,MAAOD,YAAY,KAC1D,cAAC,GAAD,CAA0B3uB,KAAMA,EAAM8H,OAAQA,EAAQo2D,UAAW5lC,EAAWr4B,eAC5E,cAAC,GAAD,CAAkCq4B,WAAY3wB,EAAM2wB,WAAY/S,aAAc5d,EAAM4d,qBC0R/E84C,OAjSf,SAAqB12D,GACjB,MAAsCyB,mBAAS,CAC3ClS,MAAOyQ,EAAMzQ,MACb86B,cAAerqB,EAAMqqB,gBAFzB,mBAAOC,EAAP,KAAoBC,EAApB,KAIMh7B,EAAQ+6B,EAAY/6B,MACpB86B,EAAgBC,EAAYD,cAC5BG,EAASxqB,EAAMwqB,OACfC,EAAcH,EAAY/6B,MAAMgL,KAAI,SAAAtG,GAAI,OAAKA,EAAKuF,SAAW8wB,EAAYD,cAC3E,wBAAQK,UAAQ,EAACzzB,MAAOhD,EAAKuF,OAA7B,SAAsCvF,EAAKT,QAC1C,wBAAQyD,MAAOhD,EAAKuF,OAApB,SAA6BvF,EAAKT,WAGjC03B,EAAsBlrB,EAAMI,MAAQ,CAACK,MAAOT,EAAMI,OAAS,GAE3D+qB,EAAmB57B,EAAMyB,MAAM,GAAGuJ,KAAI,SAAAtG,GAAI,OAC5CA,EAAKuF,SAAS6wB,EACV,uBAAOxpB,MAAM,qBAAqB,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAAzF,SAA8FnN,EAAKT,QAClG,uBAAOqN,MAAM,cAAc,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAAlF,SAAuFnN,EAAKT,WAG/FghE,EAAqBx0D,EAAMw0D,kBAAqBx0D,EAAMw0D,kBAAoB,EAE1EnpC,EAAqBrrB,EAAM4qB,SAAW,mEAAqE,0DAE7GU,EAAe,GAEbqrC,EAAmBpnE,GAASA,EAAMc,OAAO,EAAKd,EAAM,GAAGiE,MAAQ,GAEjEjE,GACIA,EAAMc,OAAO,IACbi7B,EAAe/7B,EAAM,GAAGiE,OA/BT,qBAiCNjE,GAjCM,IAiCvB,2BAAuB,CAAC,IAAf0E,EAAc,QACfA,EAAKuF,SAAS6wB,IACdiB,EAAer3B,EAAKT,QAnCL,8BAsCvB,IAAMw4C,EAAa,qBAAKnrC,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAW5F,QAAS,SAACC,GAAD,OAAOw1D,EAAUx1D,MACpIy1D,EAAmBxsC,EAAiB,uBAAMxpB,MAAM,MAAM,aAAYwpB,EAA9B,UACOiB,EACA0gB,KACK,yBAEtDnoC,qBAAU,WACD5N,EAAU+J,EAAMzQ,MAAO+6B,EAAY/6B,QAAWyQ,EAAMqqB,gBAAkBA,GACvEE,EAAe,CACXh7B,MAAOyQ,EAAMzQ,MACb86B,cAAerqB,EAAMqqB,kBAI7B,CAACrqB,EAAMzQ,MAAOyQ,EAAMqqB,gBAGxB,IAQMe,EAAiB,SAAChqB,GACvB,IAAImqB,EAASnqB,EAAE4D,OACZwmB,EAAiBD,IAGfC,EAAmB,SAACD,GACtB,IAAIt0B,EAAQs0B,EAAOE,aAAa,cAC5BC,EAAOH,EAAOI,UAEd/yB,EAAYtE,EAA2Bi3B,EAAQ,2BAC/CK,EAASn0B,EAAmBmB,EAAU,iBACtCizB,EAAQp3B,EAAyBmE,EAAW,iBAEhDA,EAAUvG,UAAUiD,OAAO,UAC3Bs2B,EAAO30B,MAAMA,EAEbpB,EAAiC+C,EAAW,mBAAoB,cAAe,UAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,eAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,QAC/E2yB,EAAOl5B,UAAU+C,IAAI,UAEjBy2B,IACAA,EAAM50B,MAAM,GACZq0B,EAAeI,GAGd51B,EAA+B8C,EAAU,WAAW,cAAc,SAAW9C,EAA+B8C,EAAU,WAAW,cAAc,WAChJ/C,EAAiC+C,EAAU,WAAW,KAAK,QAG1DoH,EAAM8rB,UACP70B,EAAQzF,SAASyF,IACjB+I,EAAM+rB,WACN/rB,EAAM+rB,UAAU90B,IAKlB+0B,EAAiB,SAAC54B,GACpB,OAAOA,EAAI64B,UAAU,OAAO36B,QAAQ,mBAAoB,KAUtD46B,EAAiB,SAACtzB,EAAWgc,GAC/B,IAAIuX,EAASH,EAAepX,EAAMthB,eAC9B84B,EAAU,IAAMD,EAEnBE,GAAQ,EAEZ,GAAa,IAAVF,EAAa,CACT,IADS,EACLG,EAAe1zB,EAAUjE,uBAAuB,eAD3C,eAEY23B,GAFZ,IAET,2BAAmC,CAAC,IACrCC,EADU70B,EAA0B,QAEpCg0B,EAAOM,EAAeO,EAAMZ,UAAUr4B,eAC7BwjE,EAAWvqC,EAAMd,aAAa,cAAcr6B,WAC5C2lE,GAAW,EACXC,EAAgB7qC,EAAO96B,MAAM,KACjC,GAA6B,IAAzB2lE,EAAc3mE,OACd,OAAQmkE,GACJ,KAAK,EACDuC,EAAsC,IAAzBrrC,EAAKlvB,QAAQ2vB,GAC1B,MACJ,KAAK,EACD4qC,EAAsC,IAAzBrrC,EAAKlvB,QAAQ2vB,IAAmBT,EAAKlvB,QAAQ4vB,GAAS,EACnE,MACJ,KAAK,EACD2qC,EAAsC,IAAzBrrC,EAAKlvB,QAAQ2vB,IAAgD,IAA7B2qC,EAASt6D,QAAQ2vB,GAC9D,MACJ,KAAK,EACD4qC,EAAsC,IAAzBrrC,EAAKlvB,QAAQ2vB,IAAgD,IAA7B2qC,EAASt6D,QAAQ2vB,IAAmBT,EAAKlvB,QAAQ4vB,GAAS,MAG9G,CACD2qC,GAAW,EACX,IAAI,IAAI/mE,EAAE,EAAGA,EAAEgnE,EAAc3mE,QAAU0mE,EAAU/mE,IAC7C+mE,EAAgD,IAAnCrrC,EAAKlvB,QAAQw6D,EAAchnE,KAAe07B,EAAKp6B,QAAQ,IAAI,KAAKA,QAAQ,KAAK,KAAKkL,QAAQ,IAAMw6D,EAAchnE,IAAI,EAG7I+mE,GACF1qC,GAAQ,EACXE,EAAMl6B,UAAUiD,OAAO,SAEvBi3B,EAAMl6B,UAAU+C,IAAI,SAjCJ,+BAuChB,GAAGi3B,EAAM,CACF12B,EAA8BiD,EAAU,WAAW,KAAK,QACxD,IAFE,EAEE4zB,EAAS5zB,EAAUjE,uBAAuB,SAF5C,eAGmB63B,GAHnB,IAGF,2BAA6B,CAAC,IAArB90B,EAAoB,EACrBhD,GADCgD,EAAoB,SACJ+0B,SACjBC,GAA0B,EAFL,eAGRh4B,GAHQ,IAGzB,2BAAuB,SACfxC,EAAiB,iBACZA,EAAiB,SAAYA,EAAiB,YAC/Cw6B,GAA0B,KANb,8BAUpBA,GACDh1B,EAASrF,UAAUiD,OAAO,SAdhC,oCAkBFsD,EAAUvG,UAAUiD,OAAO,WAwE7BshE,EAAY,SAACx1D,GACf,IAAI40D,EAAM50D,EAAE4D,OAER/N,EADQ3C,EAA2B0hE,EAAI,OAC3BvqC,aAAa,cACzBzrB,EAAMi3D,UACNj3D,EAAMi3D,SAAShgE,IAMvB,OACI,sBAAK4J,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,SAAuCb,EAAMG,SAC7C,qBAAKU,MAAM,wBAAyBC,MAAOoqB,EAA3C,SACI,qBAAKrqB,MAAM,UAAX,SACI,sBAAKA,MAAM,qDAAqDxF,GAAG,iBAAiBsxB,UAAW,SAACvrB,GAAD,OAlFvF,SAACA,GACrB,IAAMxI,EAAYtE,EAA2B8M,EAAE4D,OAAQ,2BACjD4nB,EAAQn4B,EAAyBmE,EAAW,oBAC5CizB,EAAQp0B,EAAmBmB,EAAW,iBAE5C,GAAIg0B,EAAMv6B,UAAUC,SAAS,QAAQ,CACvC,IACUw6B,EADND,EAAUzrB,EAAEyrB,QAaV,GATgB,KAAZA,IACAD,EAAMv6B,UAAUiD,OAAO,QACvBu2B,EAAM50B,MAAQ,KAGlB61B,EAASr4B,EAAyBm4B,EAAM,kBAEpCE,EAASr4B,EAAyBm4B,EAAM,WAE7B,KAAXC,EAAc,CAMd,IAJIC,IACAA,EAASA,EAAOC,iBACfD,IACDA,EAASl4B,EAA6Bg4B,EAAM,gBACzCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOC,mBAEZD,EAASl4B,EAA6Bg4B,EAAM,gBAGhDE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAG7B,GAAgB,KAAZy3B,EAAe,CAMf,IAJIC,IACAA,EAASA,EAAOE,aACfF,IACDA,EAASr4B,EAAyBm4B,EAAM,gBACrCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOE,eAEZF,EAASr4B,EAAyBm4B,EAAM,gBAG5CE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAGb,KAAZy3B,IACAzrB,EAAEqD,iBACFrD,EAAE6rB,mBACFH,EAAUr4B,EAAyBm4B,EAAM,iBAErCpB,EAAiBsB,KAsBqFI,CAAgB9rB,IAAtH,UACI,sBAAKP,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa8xD,EAAiBryD,UAAU,gBAAgB8oB,QAAS,SAAChsB,GAAD,OAjKzF,SAACA,GACtB,IAAIyqB,EAAQzqB,EAAE4D,OACFpM,EAAYtE,EAA2Bu3B,EAAO,2BAChDjX,EAAQiX,EAAM50B,MAClBi1B,EAAetzB,EAAUgc,GA6JsFyY,CAAWjsB,SAE1G,wBAAQP,MAAM,gBAAgBxF,GAAImvB,EAAQ1pB,MAAO,CAACvI,QAAQ,QAAU,cAAY,SAAhF,SACKkyB,IAEL,qBAAK5pB,MAAOwqB,EAAmBlqB,QAAS,SAACC,GAAD,OAxNhC,SAACA,GACzB,IAAKpB,EAAM4qB,SAAS,CAChB,IAAM32B,EAAOmN,EAAE4D,OACO1Q,EAA2BL,EAAM,2BACzC5B,UAAUqD,OAAO,WAoN4By3B,CAAmB/rB,IAAlE,SACI,qBAAKP,MAAM,eAAX,SACKyqB,MAGT,qBAAKzqB,MAAM,4BAAX,SACKsqB,WAKjB,qBAAKtqB,MAAM,OAAOxF,GAAG,SAArB,SACKw7D,QCzPFK,GAxCS,SAACl3D,GACrB,IAAMm3D,EAAcn3D,EAAMm3D,YACpBC,EAA2BD,GAAeA,EAAY9mE,OAAO,EAC3D8mE,EAAY58D,KAAI,SAAA88D,GAAI,OACfA,EAAK7jE,OAAwB,KAAf6jE,EAAK7jE,MAChB,sBAAKqN,MAAM,OAAX,UACMw2D,EAAKl3D,QAA0B,KAAhBk3D,EAAKl3D,OAClB,qBAAIU,MAAM,QAAV,UAAmBw2D,EAAKl3D,OAAxB,OAEA,yBAEJ,4BAAG,8BAAMk3D,EAAK7jE,aAGlB,qBAAKqN,MAAM,OAAX,SACI,oBAAIA,MAAM,QAAV,SAAmBw2D,EAAKl3D,cAIpC,wBAGR,OACI,8BACMg3D,GAAeA,EAAY9mE,OAAO,EAChC,sBAAKwQ,MAAM,WAAX,UACI,qBAAKA,MAAM,QAAX,SACI,oBAAIA,MAAM,qBAAV,+BAEJ,qBAAKA,MAAM,OAAX,SACKu2D,OAIT,2B,wDCqGDE,OA/Hf,SAAwBt3D,GACpB,MAAkCyB,mBAAS,CACvCuQ,OAAQhS,EAAMgS,OACdC,IAAKjS,EAAMiS,MAFf,mBAAOslD,EAAP,KAAkBC,EAAlB,KAMMn8D,GAFSk8D,EAAUvlD,OACbulD,EAAUtlD,IACXjS,EAAMy3D,QACXC,EAAUr8D,EAAK,SACfs8D,EAAUt8D,EAAK,SAGrBwI,qBAAU,WACN2zD,EAAa,CACTxlD,OAAQhS,EAAMgS,OACdC,IAAKjS,EAAMiS,QAGf,CAACjS,EAAMgS,OAAQhS,EAAMiS,MAEzB,IAYM2lD,EAAkB,SAAC5lD,EAAQC,GAC7BjS,EAAM+rB,UAAU/Z,EAAQC,IAGtB4lD,EAAc,SAACz2D,GACjB,IAAI2D,EAAM3D,EAAE4D,OAAO/N,MACfT,EAAM4K,EAAEyrB,SAAWzrB,EAAE02D,SACb,IAARthE,GAAqB,KAARA,IACT,eAAek2C,KAAK3nC,KACpB3D,EAAE4D,OAAO/N,MAAQ8N,EAAM,KAEvB,2BAA2B2nC,KAAK3nC,KAChC3D,EAAE4D,OAAO/N,MAAQ8N,EAAM,KAEf,MAARvO,GAAuB,KAARA,IACX,YAAYk2C,KAAK3nC,KACjB3D,EAAE4D,OAAO/N,MAAQ,IAAM8N,GAEvB,wBAAwB2nC,KAAK3nC,KAC7B3D,EAAE4D,OAAO/N,MAAQ8N,EAAIxT,UAAU,EAAE,GAAK,IAAMwT,EAAIxT,UAAU,IAE9D6P,EAAE4D,OAAO/N,MAAQmK,EAAE4D,OAAO/N,MAAM3F,QAAQ,KAAK,QAKnDymE,EAAgB/3D,EAAM+3D,aAAe/3D,EAAM+3D,aAAe,GAEhEC,0BAAe,KAAMC,MAESC,uCAA4B,cAA1D,IAEMC,EAAmB,CACrBC,SAAW,oBACX7zD,UAAY,OACZG,aAAe,MACfW,SAAW,OACXG,WAAa,OAIX6yD,EAAkBr4D,EAAMq4D,eAC1B,mBAAGv3D,MAAOq3D,EAAV,SAA6Bn4D,EAAMq4D,iBAAsB,6BACvDC,EAAkBt4D,EAAMs4D,eAC1B,mBAAGx3D,MAAOq3D,EAAV,SAA6Bn4D,EAAMs4D,iBAAsB,6BAG7D,OACI,sBAAKz3D,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAA2BC,MAAOi3D,EAA5C,SAA4D/3D,EAAMG,SAClE,sBAAKU,MAAM,YAAX,UACI,sBAAKA,MAAM,WAAX,UACKw3D,EACD,cAAC,KAAD,CACAE,OAAO,KACP7tC,SAAU6sC,EAAUvlD,OACpBlN,SAAU,SAAC0tB,GAAD,OApEL,SAACA,GAGlBolC,EAAgBplC,EAAM+kC,EAAUtlD,KAiEAumD,CAAahmC,IACjCluB,UAAU,gBACVm0D,WAAW,aACXC,gBAAgB,aAChBr9D,GAAMq8D,EACNiB,YAAe,uBAAO/zD,KAAK,OAAO/D,MAAM,yCAAyCusB,QAAS,SAAAhsB,GAAC,OAAEy2D,EAAYz2D,WAU7G,sBAAKP,MAAM,WAAX,UACKy3D,EACD,cAAC,KAAD,CACAC,OAAO,KACP7tC,SAAU6sC,EAAUtlD,IACpBnN,SAAU,SAAC0tB,GAAD,OAlFR,SAACA,GAGfolC,EAAgBL,EAAUvlD,OAAQwgB,GA+EFomC,CAAUpmC,IAC9BluB,UAAU,gBACVm0D,WAAW,aACXC,gBAAgB,aAChBr9D,GAAMs8D,EACNgB,YAAe,uBAAO/zD,KAAK,OAAO/D,MAAM,yCAAyCusB,QAAS,SAAAhsB,GAAC,OAAEy2D,EAAYz2D,kBCqJ9Gy3D,OAxQf,SAAsB74D,GAClB,MAAsCyB,mBAAS,CAC3ClS,MAAOyQ,EAAMzQ,MACb86B,cAAerqB,EAAMqqB,gBAFzB,mBAAOC,EAAP,KAAoBC,EAApB,KAIMh7B,EAAQ+6B,EAAY/6B,MAC1B,EAAwCkS,mBAAS,IAAjD,mBAAOq3D,EAAP,KAAqBC,EAArB,KACM1uC,EAAgBC,EAAYD,cAC5BG,EAASxqB,EAAMwqB,OACfC,EAAcH,EAAY/6B,MAAMgL,KAAI,SAAAtG,GAAI,OAAKA,EAAKuF,SAAW8wB,EAAYD,cAC3E,wBAAQK,UAAQ,EAACzzB,MAAOhD,EAAKuF,OAA7B,SAAsCvF,EAAKT,QAC1C,wBAAQyD,MAAOhD,EAAKuF,OAApB,SAA6BvF,EAAKT,WAGjC03B,EAAsBlrB,EAAMI,MAAQ,CAACK,MAAOT,EAAMI,OAAS,GAE3DyqB,EAAmB7qB,EAAM6qB,gBAAkB7qB,EAAM6qB,gBAAkB,GACnEC,EAAc,CAACzlB,SAAS,OAAQ0lB,cAAe,OAAQC,WAAY,UACnEC,EAAe,CAACF,cAAe,OAAQC,WAAY,UAEnDG,EAAmB2tC,EAAav+D,KAAI,SAAAtG,GAAI,OACtC,uBAAO4M,MAAO,gBAAkB5M,EAAKuF,SAAS6wB,EAAe,SAAW,IAChEvpB,MAAQ7M,EAAKT,MAAMnD,OAAOw6B,EAAiBC,EAAYG,EACvD,aAAYh3B,EAAKuF,OACjB2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAC9Bid,MAASpqB,EAAKT,MAJtB,SAKES,EAAKT,WAGTghE,EAAqBx0D,EAAMw0D,mBAAmB,EAAKx0D,EAAMw0D,kBAAoB,EAE7EnpC,EAAqBrrB,EAAM4qB,SAAW,mEAAqE,0DAE7GU,EAAe,GAEbqrC,EAAmBpnE,GAASA,EAAMc,OAAO,EAAKd,EAAM,GAAGiE,MAAQ,GAGjEjE,GACIA,EAAMc,OAAO,IACbi7B,EAAe/7B,EAAM,GAAGiE,OAxCR,qBA0CPjE,GA1CO,IA0CxB,2BAAuB,CAAC,IAAf0E,EAAc,QACfA,EAAKuF,SAAS6wB,IACdiB,EAAer3B,EAAKT,QA5CJ,8BAgDxB,IAAMw4C,EAAa,qBAAKnrC,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAW5F,QAAS,SAACC,GAAD,OAAOw1D,EAAUx1D,MACpIy1D,EAAmBxsC,EAAiB,uBAAMxpB,MAAM,MAAM,aAAYwpB,EAA9B,UACOiB,EACA0gB,KACK,yBAEtDnoC,qBAAU,WAEFk1D,EAAgB,IAChBxuC,EAAe,CACXh7B,MAAOyQ,EAAMzQ,MACb86B,cAAerqB,EAAMqqB,kBAI7B,CAACrqB,EAAMzQ,MAAOyQ,EAAMqqB,gBAGxB,IAQMe,EAAiB,SAAChqB,GACvB,IAAImqB,EAASnqB,EAAE4D,OACZwmB,EAAiBD,IAGfC,EAAmB,SAACD,GACtB,IAAIt0B,EAAQs0B,EAAOE,aAAa,cAG5B7yB,GAFO2yB,EAAOI,UAEFr3B,EAA2Bi3B,EAAQ,4BAE/CM,GADSp0B,EAAmBmB,EAAU,iBAC9BnE,EAAyBmE,EAAW,kBAEhDA,EAAUvG,UAAUiD,OAAO,UAG3BO,EAAiC+C,EAAW,mBAAoB,cAAe,eAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,QAC/E2yB,EAAOl5B,UAAU+C,IAAI,UAEjBy2B,IACAA,EAAM50B,MAAM,IAGXnB,EAA+B8C,EAAU,WAAW,cAAc,SAAW9C,EAA+B8C,EAAU,WAAW,cAAc,WAChJ/C,EAAiC+C,EAAU,WAAW,KAAK,QAG1DoH,EAAM8rB,UACP70B,EAAQzF,SAASyF,IACjB+I,EAAM+rB,WACN/rB,EAAM+rB,UAAU90B,IAKlB+0B,EAAiB,SAAC54B,GACpB,OAAOA,EAAI64B,UAAU,OAAO36B,QAAQ,mBAAoB,KAUtD46B,EAAiB,SAACtzB,EAAWgc,GAC/B,IAAIuX,EAASH,EAAepX,EAAMthB,eAC9B84B,EAAU,IAAMD,EAEvB,GAAa,IAAVA,EAAa,CAGT,IAFA,IAAImD,EAAa//B,EAAMyB,MAAM,GACzBgmE,EAAgB7qC,EAAO96B,MAAM,KACzBrB,EAAE,EAAGA,EAAEgnE,EAAc3mE,OAASL,IAAI,CACtC,IAAIgpE,EAAUhC,EAAchnE,GACxBo8B,EAAU,IAAM4qC,EAAchnE,GAClC,OAAQwkE,GACJ,KAAK,EACDllC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAgE,IAA5D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,MACxF,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KACxK,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,MAChJ,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KAC9N,MACJ,KAAK,GACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAM+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAY,MAIlHD,EAAgBzpC,QAEhBypC,EAAgB,KAuElBnC,EAAY,SAACx1D,GACf,IAAI40D,EAAM50D,EAAE4D,OAER/N,EADQ3C,EAA2B0hE,EAAI,OAC3BvqC,aAAa,cACzBzrB,EAAMi3D,UACNj3D,EAAMi3D,SAAShgE,IAKjBgiE,EAAkBH,EAAazoE,OAAO,EAAK,iCAAmC,4BAEpF,OACI,gCACI,qBAAKwQ,MAAM,wBAAyBC,MAAOoqB,EAA3C,SACI,qBAAKrqB,MAAM,UAAX,SACI,sBAAKA,MAAM,qDAAqDxF,GAAG,iBAAiBsxB,UAAW,SAACvrB,GAAD,OAjFvF,SAACA,GACrB,IAAMxI,EAAYtE,EAA2B8M,EAAE4D,OAAQ,2BACjD4nB,EAAQn4B,EAAyBmE,EAAW,oBAC5CizB,EAAQp0B,EAAmBmB,EAAW,iBAE5C,GAAIg0B,EAAMv6B,UAAUC,SAAS,QAAQ,CACvC,IACUw6B,EADND,EAAUzrB,EAAEyrB,QAYV,IATAC,EAASr4B,EAAyBm4B,EAAM,kBAEpCE,EAASr4B,EAAyBm4B,EAAM,WAE5B,KAAZC,IACAksC,EAAgB,IAChBltC,EAAM50B,MAAQ,IAGH,KAAX41B,EAAc,CAMd,IAJIC,IACAA,EAASA,EAAOC,iBACfD,IACDA,EAASl4B,EAA6Bg4B,EAAM,gBACzCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOC,mBAEZD,EAASl4B,EAA6Bg4B,EAAM,gBAGhDE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAG7B,GAAgB,KAAZy3B,EAAe,CAMf,IAJIC,IACAA,EAASA,EAAOE,aACfF,IACDA,EAASr4B,EAAyBm4B,EAAM,gBACrCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOE,eAEZF,EAASr4B,EAAyBm4B,EAAM,gBAG5CE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAGb,KAAZy3B,IACAzrB,EAAEqD,iBACFrD,EAAE6rB,mBACFH,EAAUr4B,EAAyBm4B,EAAM,iBAErCpB,EAAiBsB,KAsBqFI,CAAgB9rB,IAAtH,UACI,sBAAKP,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa8xD,EAAiBryD,UAAU,gBAAgB8oB,QAAS,SAAChsB,GAAD,OA/HzF,SAACA,GACtB,IAAIyqB,EAAQzqB,EAAE4D,OACFpM,EAAYtE,EAA2Bu3B,EAAO,2BAChDjX,EAAQiX,EAAM50B,MAClBi1B,EAAetzB,EAAUgc,GA2HsFyY,CAAWjsB,SAE1G,wBAAQP,MAAM,gBAAgBxF,GAAImvB,EAAQ1pB,MAAO,CAACvI,QAAQ,QAAU,cAAY,SAAS2gE,UAAQ,EAAjG,SACKzuC,IAEL,qBAAK5pB,MAAOwqB,EAAmBlqB,QAAS,SAACC,GAAD,OApLhC,SAACA,GACzB,IAAKpB,EAAM4qB,SAAS,CAChB,IAAM32B,EAAOmN,EAAE4D,OACO1Q,EAA2BL,EAAM,2BACzC5B,UAAUqD,OAAO,WAgL4By3B,CAAmB/rB,IAAlE,SACI,qBAAKP,MAAM,mBAIf,qBAAKA,MAAOo4D,EAAZ,SACK9tC,WAKjB,qBAAKtqB,MAAM,OAAOxF,GAAG,SAArB,SACKw7D,QC2BFsC,GA1RS,SAACn5D,GACrB,MAA8CyB,mBAAS,CACnD23D,SAAU,KACVC,QAAS,OAFb,mBAAOpkC,EAAP,KAAwBC,EAAxB,KAIA,EAAsDzzB,mBAAS,CAC3DsD,IAAK/E,EAAM+E,IACXgN,QAAS/R,EAAM+R,QACfV,MAAOrR,EAAMqR,MACbC,KAAMtR,EAAMsR,KACZU,OAAQhS,EAAMgS,OACdC,IAAKjS,EAAMiS,MANf,mBAAOmjB,EAAP,KAA4BC,EAA5B,KASMikC,EAA2B,MAAft5D,EAAM3H,KAAe,cAAgB,mBACjDkhE,EAAoC,MAAfv5D,EAAM3H,KAAe,0BAA4B,6BAG5EwL,qBAAU,WAC0B,OAA5BoxB,EAAgBokC,SAEhB1vC,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAczL,8BAA8B7R,EAAM3H,MACjDuF,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACL+jC,QAAUx7D,EAASC,KAAK07D,kBACxBJ,SAAWv7D,EAASC,KAAK27D,cAE7BnkC,EAAG8jC,SAAS3nE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,2BACxC0H,EAAG+jC,QAAQ5nE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,cAAgB0rC,EAAShmE,gBAChE4hC,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aA6C7B81D,EAxC2B,WAC7B,IAmBYzlE,EAnBRlD,EAAM,IACNqkC,EAAoBrwB,KAAkC,IAA3BqwB,EAAoBrwB,KAC/ChU,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBrwB,MAGjEqwB,EAAoBrjB,SAA0C,IAA/BqjB,EAAoBrjB,SACnDhhB,EAAInB,KAAM,CAACuQ,OAAQ,6BAA2B3M,MAAO4hC,EAAoBrjB,UAGzEqjB,EAAoB/jB,MAAM,KACtB4jB,EAAgBmkC,WACZnlE,EAAOghC,EAAgBmkC,SAAS3pE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/jB,WAE3EtgB,EAAInB,KAAM,CAACuQ,OAAQ,cAAe3M,MAAOS,EAAK25B,SAItDwH,EAAoB9jB,KAAK,IACrB2jB,EAAgBokC,UACZplE,EAAOghC,EAAgBokC,QAAQ5pE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB9jB,UAE1EvgB,EAAInB,KAAM,CAACuQ,OAAQ,mBAAoB3M,MAAOS,EAAK25B,SAe/D,OAXIwH,EAAoBpjB,OAChBojB,EAAoBnjB,IACpBlhB,EAAInB,KAAM,CAACuQ,OAAQ,qBAAsB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBpjB,QAAU,MAAQte,EAAqB0hC,EAAoBnjB,OAE1KlhB,EAAInB,KAAM,CAACuQ,OAAQ,qBAAsB3M,MAAO,eAAiBE,EAAqB0hC,EAAoBpjB,UAExGojB,EAAoBnjB,KAC1BlhB,EAAInB,KAAM,CAACuQ,OAAQ,qBAAsB3M,MAAO,cAAgBE,EAAqB0hC,EAAoBnjB,OAItGlhB,EAGK4oE,GAEVlhC,EAA2B,MAAfz4B,EAAM3H,KAAe,eAAgC,MAAf2H,EAAM3H,KAAe,eAAiB,eAIxFuhE,EAAc,SAACx4D,GACjBpB,EAAM4d,aAAa,CACfC,UAAW4a,EACX1zB,IAAKqwB,EAAoBrwB,IACzBgN,QAASqjB,EAAoBrjB,QAC7BV,MAAO+jB,EAAoB/jB,MAC3BC,KAAM8jB,EAAoB9jB,KAC1BU,OAAQojB,EAAoBpjB,OAC5BC,IAAKmjB,EAAoBnjB,OAI3B4nD,EAAgB,SAACz4D,GASnBi0B,EARsB,CAClBtwB,IAAK,GACLgN,QAAS,GACTV,MAAO,EACPC,KAAM,EACNU,OAAQ,KACRC,IAAK,OAGT,IAAI6nD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAMzC0kE,EAAc,SAACC,EAAOC,GACxBA,EAAQjoD,IAAMgoD,EAAOhoD,IACrBioD,EAAQloD,OAASioD,EAAOjoD,QAmEtBmoD,EAAkC,CAACz5D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAChFizC,EAAkC,CAAC15D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAGhFkzC,EAAoBplC,EAAgBmkC,SAAYnkC,EAAgBmkC,SAAS7+D,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC7H0sC,EAAmBrlC,EAAgBokC,QAAWpkC,EAAgBokC,QAAQ9+D,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAIhI,OACI,qBAAK/sB,MAAM,UAAX,SAEiC,OAA1Bo0B,EAAgBslC,MACf,cAAC,GAAD,CAAcp6D,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,8CAA8CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OAtBrH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAmBwIY,CAAYp5D,IAAI6oB,SAAS,IAA7J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAKJ,sBAAKh5D,MAAM,8DAAX,UACI,sBAAKA,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,oBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,qBAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrwB,IAAKF,YAAa00D,EAAqBz0D,SAAU,SAAC1D,GAAD,OA7DzH,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9wB,IAAMvR,EACrB6hC,EAAuBQ,IAsDmH4kC,CAAUr5D,eAKxI,sBAAKP,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,+BACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,qBAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrjB,QAASlN,YAAY,4BAA2BC,SAAU,SAAC1D,GAAD,OA5D9H,SAACA,GACnB,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9jB,QAAUve,EACzB6hC,EAAuBQ,IAqD4H6kC,CAAct5D,kBAOzJ,sBAAKP,MA1CS,wFA0Cd,UACA,sBAAKA,MAAM,yBAAX,UACQ,oBAAIA,MAAM,2BAAV,yBACA,cAAC,GAAD,CAActR,MAAS8qE,EACX7vC,OAAO,YACPH,cAAe+K,EAAoB/jB,MACnC0a,UA/GV,SAAC4uC,GACvB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexkB,MAAQspD,EACvBtlC,EAAuBQ,IA4GSohC,SAzGX,WACrB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexkB,MAAQ,EACvBgkB,EAAuBQ,IAsGSz1B,MAAM,YAGtB,sBAAKS,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,SAAuCy4D,IACvC,cAAC,GAAD,CAAc/pE,MAAS+qE,EACX9vC,OAAO,WACPH,cAAe+K,EAAoB9jB,KACnCya,UA5GnB,SAAC4uC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAevkB,KAAOqpD,EACtBtlC,EAAuBQ,IAyGSohC,SAtGpB,WACZ,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAevkB,KAAO,EACtB+jB,EAAuBQ,IAmGSz1B,MAAM,eAI1B,qBAAKS,MAAM,iGAAX,SACI,cAAC+5D,GAAD,CACYz6D,OAAO,qBACP4rB,UA1Ib,SAAC/Z,EAAQC,GACxB,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe7jB,OAASA,EACxB6jB,EAAe5jB,IAAMA,EACrBojB,EAAuBQ,IAsIK7jB,OAAQojB,EAAoBpjB,OAC5BC,IAAKmjB,EAAoBnjB,IACzBuY,OAAS,kBAIzB,qBAAK3pB,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCwKnCmB,OA5bf,SAA6B76D,GACzB,IAD+B,EAC/B,EAAsCyB,mBAAS,CAC3ClS,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,iBAF1B,mBAAOxwC,EAAP,KAAoBC,EAApB,KAIMh7B,EAAQ+6B,EAAY/6B,MAC1B,EAAwCkS,mBAAS,IAAjD,mBAAOq3D,EAAP,KAAqBC,EAArB,KACM+B,EAAkBxwC,EAAYwwC,eAAkBxwC,EAAYwwC,eAAiB,GACnF,EAA8Cr5D,mBAAS,IAAvD,mBAAOs5D,EAAP,KAAwBC,EAAxB,KACMxwC,EAASxqB,EAAMwqB,OACfC,EAAcquC,EAAav+D,KAAI,SAAAtG,GAAI,OACrC6mE,EAAe7/C,SAAShnB,EAAKgnE,QAC7B,wBAAQvwC,UAAQ,EAACzzB,MAAOhD,EAAKuF,OAA7B,SAAsCvF,EAAKT,QAC1C,wBAAQyD,MAAOhD,EAAKuF,OAApB,SAA6BvF,EAAKT,WAEvC,EAAkDiO,mBAAS,GAA3D,mBAAOy5D,EAAP,KAA0BC,EAA1B,KACA,EAA4B15D,oBAAS,GAArC,mBAAO25D,EAAP,KAAeC,EAAf,KACMnwC,EAAsBlrB,EAAMI,MAAQ,CAACK,MAAOT,EAAMI,OAAS,GAE3D+qB,EAAmB2tC,EAAav+D,KAAI,SAAAtG,GAAI,OAC1C6mE,EAAe7/C,SAAShnB,EAAKgnE,QACzB,uBAAOp6D,MAAM,sBAAsB,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAA1F,SAA+FnN,EAAKT,QACnG,uBAAOqN,MAAM,eAAe,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAAnF,SAAwFnN,EAAKT,WAGhGghE,EAAqBx0D,EAAMw0D,mBAAmB,EAAKx0D,EAAMw0D,kBAAoB,EAC7EnpC,EAAqBrrB,EAAM4qB,SAAW,qDAAuD,0DAE7F+rC,EAAmBpnE,GAASA,EAAMc,OAAO,EAAKd,EAAM,GAAGiE,MAAQ,GAEjE8nE,EAAgB,GA9BW,eAgChBR,GAhCgB,IAgC/B,2BAA8B,CAAC,IAAtBS,EAAqB,QACtBtnE,EAAO1E,EAAME,MAAK,SAAA+rE,GAAM,OAAGA,EAAOhiE,SAAW9H,KAAK+pE,IAAIF,EAAG/hE,WACzDkiE,EAAiBX,EAAgBtrE,MAAK,SAAA2M,GAAI,OAAGA,EAAKuxB,SAAWj8B,KAAK+pE,IAAIF,EAAG/hE,WACzEvF,IACIynE,EACAJ,EAAc1rE,KAAK,CAAC4J,OAAQvF,EAAKuF,OAAQhG,MAAOS,EAAKT,MAAOiG,MAAO8hE,EAAG9hE,MAAOC,MAAO6hE,EAAG7hE,MAAOiiE,cAAgBD,EAAeE,MAAOC,cAAgBH,EAAeI,WAAYV,OAAUG,EAAG/hE,OAAO,IAEnM8hE,EAAc1rE,KAAK,CAAC4J,OAAQvF,EAAKuF,OAAQhG,MAAOS,EAAKT,MAAOiG,MAAO8hE,EAAG9hE,MAAOC,MAAO6hE,EAAG7hE,MAAOiiE,cAAgB,GAAIE,cAAgB,GAAIT,OAAUG,EAAG/hE,OAAO,MAvCvI,gCA8C/B,IAAMwyC,EAAa,qBAAKnrC,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAW5F,QAAS,SAACC,GAAD,OAAOw1D,GAAUx1D,MACpI26D,EAAmBT,EAAc/gE,KAAI,SAAAtG,GAAI,OACnB,uBAAMqQ,UAAYrQ,EAAKuF,SAAS0hE,EAAqB,aAAc,MAAO,aAAYjnE,EAAKuF,OAAQ,cAAcvF,EAAKmnE,OAAQ,IAAI,IAAKj6D,QAAS,SAACC,GAAD,OAAM46D,GAAe56D,IAArK,UACKnN,EAAKmnE,OAAS,MAAQ,GACtBnnE,EAAKT,MACLw4C,EACC/3C,EAAKwF,OAAWxF,EAAKwF,MAAMpJ,OAAO,EAChC,sBAAMwQ,MAAM,cAAZ,SACI,sBAAMA,MAAM,eAAZ,4BAGN5M,EAAKwF,OAA+B,IAApBxF,EAAKwF,MAAMpJ,OACzB,sBAAMwQ,MAAM,cAAZ,SACI,sBAAMA,MAAM,eAAZ,SAA4B5M,EAAKwF,MAAM,GAAGjG,UAI9C,yBAEFS,EAAKyF,OAAWzF,EAAKyF,MAAMrJ,OAAO,EAChC,sBAAMwQ,MAAM,cAAZ,SACI,sBAAMA,MAAM,eAAZ,iCAGN5M,EAAKyF,OAA+B,IAApBzF,EAAKyF,MAAMrJ,OACzB,sBAAMwQ,MAAM,cAAZ,SACI,sBAAMA,MAAM,eAAZ,SAA4B5M,EAAKyF,MAAM,GAAGuiE,QAI9C,+BAI9BC,EAAaZ,GAAiBA,EAAcjrE,OAAO,EACrD,qBAAKwQ,MAAM,yBAAyBxF,GAAG,eAAeyF,MAAO,CAACq7D,WAAY,MAAOC,gBAAiB,UAAWC,gBAAiB,QAAS52D,YAAa,OAAQF,aAAc,QAA1K,SACI,qBAAK1E,MAAM,OAAOxF,GAAG,SAArB,SACK0gE,MAIT,qBAAKl7D,MAAM,yBAAyBxF,GAAG,eAAvC,SACI,qBAAKwF,MAAM,OAAOxF,GAAG,aAKvBihE,EAAsBhB,EAAc7rE,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAW0hE,KAUjEqB,EAA0BrB,EAAkB,GAAOoB,EAGrD,sBAAKz7D,MAAM,yBAAyBxF,GAAG,eAAeyF,MAAO,CAACq7D,WAAY,MAAOC,gBAAiB,UAAWC,gBAAiB,QAAS52D,YAAa,QAApJ,UACI,oBAAI5E,MAAM,oCAAV,SAA+Cy7D,EAAoB9oE,QAChEwM,EAAMw8D,aAQT,6BAPA,qBAAKl4D,UAAU,SAAf,SACQ,wBAAOxD,MAAO,CAACuE,SAAS,QAAxB,UACI,uBAAOT,KAAK,WAAWvQ,KAAK,SAASoH,QAAS2/D,EAASj6D,QAAS,SAACC,GAAD,OAhBhE,SAACA,GACb85D,GACAl7D,EAAMy8D,WAAWvB,EAAkB95D,EAAE4D,OAAOvJ,SAEhD4/D,EAAUj6D,EAAE4D,OAAOvJ,SAYoEihE,CAAYt7D,MADvF,oBAEsBk7D,EAAoB9oE,WAM9C8oE,EAAoBT,eAAmBS,EAAoBT,cAAcxrE,OAAO,IAAO+qE,EACvF,sBAAKv6D,MAAM,4DAA4DxF,GAAG,oBAAoB,mBAAiB,WAA/G,UACI,qBAAKwF,MAAM,0DAA0DM,QAAS,SAACC,GAAD,OAAOu7D,EAAkBv7D,IAAvG,SACI,qBAAKP,MAAM,eAAX,wBAEJ,qBAAKA,MAAM,4BAAX,SACMy7D,EAAoBT,cAActhE,KAAI,SAAAqiE,GAAE,OACrCN,EAAoB5iE,MAAMjK,MAAK,SAAAotE,GAAE,OAAKA,EAAGljE,OAASijE,EAAGE,MAAQD,EAAGjjE,MAAQgjE,EAAGG,OACxE,uBAAOl8D,MAAM,SAAS,WAAU+7D,EAAGG,IAAK,YAAWH,EAAGE,KAAM37D,QAAS,SAACC,GAAD,OAAOpB,EAAMg9D,aAAa9B,EAAkB0B,EAAGG,IAAIH,EAAGE,OAA3H,SAAmIF,EAAGK,MAEtI,uBAAsB,WAAUL,EAAGG,IAAK,YAAWH,EAAGE,KAAM37D,QAAS,SAACC,GAAD,OAAOpB,EAAMk9D,aAAahC,EAAkB0B,EAAGG,IAAIH,EAAGE,KAAMF,EAAGK,IAAI3pE,gBAAxI,SAAyJspE,EAAGK,cAM5K,wBAEAX,EAAoBX,eAAmBW,EAAoBX,cAActrE,OAAO,IAAQ+qE,EACxF,sBAAKv6D,MAAM,4DAA4DxF,GAAG,oBAAoB,mBAAiB,MAA/G,UACI,qBAAKwF,MAAM,0DAA0DM,QAAS,SAACC,GAAD,OAAOu7D,EAAkBv7D,IAAvG,SACI,qBAAKP,MAAM,eAAX,mBAEJ,qBAAKA,MAAM,4BAAX,SACMy7D,EAAoBX,cAAcphE,KAAI,SAAA4iE,GAAE,OACrCb,EAAoB7iE,MAAMhK,MAAK,SAAA2tE,GAAE,OAAKA,EAAG5jE,SAAW2jE,EAAGxvC,UACpD,uBAAO9sB,MAAM,SAAS,cAAas8D,EAAGxvC,OAAQxsB,QAAS,SAACC,GAAD,OAAOpB,EAAMq9D,YAAYnC,EAAkBiC,EAAGxvC,SAArG,SAA+GwvC,EAAGvvC,QAElH,uBAAsB,cAAauvC,EAAGxvC,OAAQxsB,QAAS,SAACC,GAAD,OAAOpB,EAAMs9D,YAAYpC,EAAkBiC,EAAGxvC,OAAQwvC,EAAGvvC,MAAMt6B,gBAAtH,SAAuI6pE,EAAGvvC,gBAM1J,2BAIR,qBAAK/sB,MAAM,yBAAyBxF,GAAG,iBAK3CwI,qBAAU,WAEDymB,EAAY/6B,OAAUurE,GAAmB7kE,EAAU+J,EAAMzQ,MAAO+6B,EAAY/6B,QAAW0G,EAAU+J,EAAM86D,eAAgBA,KACxH/B,EAAgB,IAChBxuC,EAAe,CACXh7B,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,iBAE1ByC,KAEAv9D,EAAM86D,gBAAkB96D,EAAM86D,eAAezqE,OAAO,KAAO0qE,GAA2C,GAAxBA,EAAgB1qE,SAC9FktE,MAEJ,CAACv9D,EAAMzQ,MAAOyQ,EAAM86D,iBAExB,IAAM6B,EAAmB,SAACv7D,GACtB,IAAInN,EAAOmN,EAAE4D,OACA1Q,EAA2BL,EAAK,2BACtC5B,UAAUqD,OAAO,WAGtB6nE,EAA6B,WAC/B,IAAIC,EAAex9D,EAAM86D,eAAevgE,KAAI,SAAAtG,GAAI,OAAIA,EAAKuF,UAErDgkE,EAAantE,OAAO,GACpBitB,GAAc/M,kCAAkCitD,EAAax9D,EAAM3H,MAClEuF,MAAK,SAACC,GACH,IAAIs2D,EAAWt2D,EAASC,KACxB,GAAIq2D,EAAS,CACT,IAAK,IAAInkE,EAAE,EAAGA,EAAEmkE,EAAS9jE,OAAQL,IAAI,CACjC,IAAIytE,EAAetJ,EAASnkE,GACxB0tE,EAAS19D,EAAM86D,eAAerrE,MAAK,SAAAwE,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAYikE,EAAa9vC,UACtF,GAAI+vC,EAAOjkE,MACP,IAAK,IAAI3I,EAAE,EAAGA,EAAE4sE,EAAOjkE,MAAMpJ,OAAQS,IAAI,CACrC,IAAI6sE,EAAQD,EAAOjkE,MAAM3I,GACrB8sE,EAAcH,EAAa7B,MAAMnsE,MAAK,SAAAwE,GAAI,OAAIA,EAAK05B,SAAWgwC,EAAMnkE,UACpEokE,IACAD,EAAMnqE,MAAQoqE,EAAYhwC,MAAMt6B,eAI5C,GAAIoqE,EAAOhkE,MACP,IAAS5I,EAAE,EAAGA,EAAE4sE,EAAOhkE,MAAMrJ,OAAQS,IAAI,CACrC,IAAI+sE,EAASH,EAAOhkE,MAAM5I,GACtBgtE,EAAeL,EAAa3B,WAAWrsE,MAAK,SAAAwE,GAAI,OAAIA,EAAK6oE,OAASe,EAAOlkE,MAAQ1F,EAAK8oE,MAAQc,EAAOjkE,OACrGkkE,IACAD,EAAO5B,IAAM6B,EAAab,IAAI3pE,gBAK9C0nE,EAAmB7G,GACnBn0D,EAAM+9D,gBAAgB/9D,EAAMg+D,YAGnCv6D,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAajCwnB,EAAiB,SAAChqB,GACvB,IAAImqB,EAASnqB,EAAE4D,OACZwmB,GAAiBD,IAGfC,GAAmB,SAACD,GACtB,IAAIt0B,EAAQs0B,EAAOE,aAAa,cAE5B7yB,EAAYtE,EAA2Bi3B,EAAQ,2BAE/CM,GADSp0B,EAAmBmB,EAAU,iBAC9BnE,EAAyBmE,EAAW,kBAEhDA,EAAUvG,UAAUiD,OAAO,UAG3BO,EAAiC+C,EAAW,mBAAoB,cAAe,eAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,QAC/E2yB,EAAOl5B,UAAU+C,IAAI,UAEjBy2B,IACAA,EAAM50B,MAAM,IAGXnB,EAA+B8C,EAAU,WAAW,cAAc,SAAW9C,EAA+B8C,EAAU,WAAW,cAAc,WAChJ/C,EAAiC+C,EAAU,WAAW,KAAK,QAE1DoH,EAAM8rB,UACP70B,EAAQzF,SAASyF,IACjB+I,EAAMi+D,aACNj+D,EAAMi+D,WAAWhnE,GACjBkkE,EAAqBlkE,KAKvB+0B,GAAiB,SAAC54B,GACpB,OAAOA,EAAI64B,UAAU,OAAO36B,QAAQ,mBAAoB,KAUtD46B,GAAiB,SAACtzB,EAAWgc,GAC/B,IAAIuX,EAASH,GAAepX,EAAMthB,eAC9B84B,EAAU,IAAMD,EAEvB,GAAa,IAAVA,EAAa,CAGT,IAFA,IAAImD,EAAa//B,EAAMyB,MAAM,GACzBgmE,EAAgB7qC,EAAO96B,MAAM,KACzBrB,EAAE,EAAGA,EAAEgnE,EAAc3mE,OAASL,IAAI,CACtC,IAAIgpE,EAAUhC,EAAchnE,GACxBo8B,EAAU,IAAM4qC,EAAchnE,GAClC,OAAQwkE,GACJ,KAAK,EACDllC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAgE,IAA5D+3B,GAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,MACxF,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,GAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAoBhtC,GAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KACxK,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,GAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,MAChJ,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,GAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,IAAoBhtC,GAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KAC9N,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAK+3B,GAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAY,MAIjHD,EAAgBzpC,QAEhBypC,EAAgB,KAyDlBnC,GAAY,SAACx1D,GACf,IAAI40D,EAAM50D,EAAE4D,OACNk5D,EAAM5pE,EAA2B0hE,EAAI,OACvC/+D,EAAQinE,EAAIzyC,aAAa,cACzB2vC,EAA2C,MAAlC8C,EAAIzyC,aAAa,eAC1Bx0B,IAAUikE,GACVC,EAAqB,GACzBE,GAAU,GACNr7D,EAAMm+D,aACF/C,EACAp7D,EAAMm+D,WAAW3sE,SAASyF,IAE1B+I,EAAMm+D,YAA6B,EAAlB3sE,SAASyF,MAKhC+kE,GAAiB,SAAC56D,GACpB,IAAI40D,EAAM50D,EAAE4D,OACZ,IAAKgxD,EAAI3jE,UAAUC,SAAS,qBAAqB,CAC7C,IAAM4rE,EAAM5pE,EAA2B0hE,EAAI,OACvC/+D,EAAQinE,EAAIzyC,aAAa,cACzB2vC,EAA2C,MAAlC8C,EAAIzyC,aAAa,eAC9B0vC,EAAqB3pE,SAASyF,IAC9BokE,EAAUD,KAIZnC,GAAkBH,EAAazoE,OAAO,EAAK,iCAAmC,4BAG9E+tE,GAAgBp+D,EAAM85C,kBAAkBxmD,cAExC+qE,GAAuBr+D,EAAMs+D,cACzBt+D,EAAMg+D,OACJ,sBAAKn9D,MAAM,4CAAX,UACI,kCAAO,uBAAO+D,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,OAAOwE,SAAO,EAAC0F,QAAS,SAACC,GAAD,OAAOpB,EAAM+9D,iBAAgB,MAA1G,qBAAkIK,GAAlI,oBACA,kCAAO,uBAAOx5D,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,MAAekK,QAAS,SAACC,GAAD,OAAOpB,EAAM+9D,iBAAgB,MAA1G,kBAAmIK,GAAnI,qBAGJ,sBAAKv9D,MAAM,4CAAX,UACI,kCAAO,uBAAO+D,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,OAAckK,QAAS,SAACC,GAAD,OAAOpB,EAAM+9D,iBAAgB,MAAzG,qBAAiIK,GAAjI,oBACA,kCAAO,uBAAOx5D,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,MAAMwE,SAAO,EAAC0F,QAAS,SAACC,GAAD,OAAOpB,EAAM+9D,iBAAgB,MAAzG,kBAAkIK,GAAlI,qBAGX,wBAGL,OACI,gCACI,oBAAIv9D,MAAM,2BAA2BC,MAAO,CAACsE,cAAc,QAA3D,SAAqEpF,EAAMG,SAC3E,sBAAKU,MAAM,wCAAX,UACI,sBAAKyD,UAAU,yBAAyBxD,MAAO,CAACyE,aAAc,QAA9D,UACI,qBAAK1E,MAAM,wBAAyBC,MAAOoqB,EAA3C,SACI,sBAAKrqB,MAAM,wCAAwCxF,GAAG,iBAAiBsxB,UAAW,SAACvrB,GAAD,OA1G9E,SAACA,GACrB,IAAMxI,EAAYtE,EAA2B8M,EAAE4D,OAAQ,2BACjD4nB,EAAQn4B,EAAyBmE,EAAW,oBAC5CizB,EAAQp0B,EAAmBmB,EAAW,iBAE5C,GAAIg0B,EAAMv6B,UAAUC,SAAS,QAAQ,CACvC,IACUw6B,EADND,EAAUzrB,EAAEyrB,SAEVC,EAASr4B,EAAyBm4B,EAAM,kBAEpCE,EAASr4B,EAAyBm4B,EAAM,WAE5B,KAAZC,IACAD,EAAMv6B,UAAUiD,OAAO,QACvBu2B,EAAM50B,MAAQ,IAGH,KAAX41B,IAEIC,IACAA,EAASA,EAAOC,iBACfD,IACDA,EAASl4B,EAA6Bg4B,EAAM,gBAC5CE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,iBAGb,KAAZy3B,IAEIC,IACAA,EAASA,EAAOE,aACfF,IACDA,EAASr4B,EAAyBm4B,EAAM,gBACxCE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,iBAGb,KAAZy3B,IACAzrB,EAAEqD,iBACFrD,EAAE6rB,mBACFH,EAAUr4B,EAAyBm4B,EAAM,iBAErCpB,GAAiBsB,KA4D4EI,CAAgB9rB,IAAzG,UACI,sBAAKP,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa8xD,EAAiBryD,UAAU,gBAAgB8oB,QAAS,SAAChsB,GAAD,OAvJ7F,SAACA,GACtB,IAAIyqB,EAAQzqB,EAAE4D,OACFpM,EAAYtE,EAA2Bu3B,EAAO,2BAChDjX,EAAQiX,EAAM50B,MAClBi1B,GAAetzB,EAAUgc,GAmJ0FyY,CAAWjsB,SAE1G,wBAAQP,MAAM,gBAAgBxF,GAAImvB,EAAQ1pB,MAAO,CAACvI,QAAQ,QAAU,cAAY,SAAS2gE,UAAQ,EAAjG,SACKzuC,IAEL,qBAAK5pB,MAAOwqB,EAAmBlqB,QAAS,SAACC,GAAD,OA3MpC,SAACA,GACzB,IAAKpB,EAAM4qB,SAAS,CAChB,IAAM32B,EAAOmN,EAAE4D,OACO1Q,EAA2BL,EAAM,2BACzC5B,UAAUqD,OAAO,WAuMgCy3B,CAAmB/rB,IAAlE,SACI,qBAAKP,MAAM,mBAIf,qBAAKA,MAAOo4D,GAAZ,SACK9tC,SAIZkzC,MAEJnC,EACAK,SC3KFgC,OA7Qf,SAAwBv+D,GACpB,IAD0B,EAC1B,EAAsCyB,mBAAS,CAC3ClS,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,iBAF1B,mBAAOxwC,EAAP,KAAoBC,EAApB,KAIMh7B,EAAQ+6B,EAAY/6B,MAC1B,EAAwCkS,mBAAS,IAAjD,mBAAOq3D,EAAP,KAAqBC,EAArB,KACM+B,EAAkBxwC,EAAYwwC,eAAkBxwC,EAAYwwC,eAAiB,GAC7EtwC,EAASxqB,EAAMwqB,OACfC,EAAcquC,EAAav+D,KAAI,SAAAtG,GAAI,OACrC6mE,EAAe7/C,SAAShnB,EAAKuF,QAC7B,wBAAQkxB,UAAQ,EAACzzB,MAAOhD,EAAKuF,OAA7B,SAAsCvF,EAAKT,QAC1C,wBAAQyD,MAAOhD,EAAKuF,OAApB,SAA6BvF,EAAKT,WAGjC03B,EAAsBlrB,EAAMI,MAAQ,CAACK,MAAOT,EAAMI,OAAS,GAI3DyqB,EAAmB7qB,EAAM6qB,gBAAkB7qB,EAAM6qB,gBAAkB,GACnEC,EAAc,CAACzlB,SAAS,OAAQ0lB,cAAe,OAAQC,WAAY,UACnEC,EAAe,CAACF,cAAe,OAAQC,WAAY,UAEnDG,EAAmB2tC,EAAav+D,KAAI,SAAAtG,GAAI,OAC1C,uBAAO4M,MAAO,gBAAkBi6D,EAAe7/C,SAAShnB,EAAKgnE,QAAU,SAAW,IAC1En6D,MAAQ7M,EAAKT,MAAMnD,OAAOw6B,GAAmB7qB,EAAMw+D,MAAO1zC,EAAYG,EACtE,aAAYh3B,EAAKuF,OACjB2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAC9Bid,MAASpqB,EAAKT,MAJtB,SAKES,EAAKT,WAGLghE,EAAqBx0D,EAAMw0D,mBAAmB,EAAKx0D,EAAMw0D,kBAAoB,EAE7EnpC,EAAqBrrB,EAAM4qB,SAAW,mEAAqE,0DAE3G+rC,EAAmBpnE,GAASA,EAAMc,OAAO,EAAKd,EAAM,GAAGiE,MAAQ,GAEjE8nE,EAAgB,GAtCM,eAwCT/rE,GAxCS,IAwC1B,2BAAuB,CAAC,IAAf0E,EAAc,QACf6mE,EAAe7/C,SAAShnB,EAAKuF,SAC7B8hE,EAAc1rE,KAAKqE,IA1CD,8BA8C1B,IACM8nE,EAAmBT,EAAc/gE,KAAI,SAAAtG,GAAI,OAC3C,uBAAMqQ,UAAU,MAAM,aAAYrQ,EAAKuF,OAAvC,UACKvF,EAAKT,MACN,qBAAKqN,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAW5F,QAAS,SAACC,GAAD,OAAOpB,EAAMi3D,SAAShjE,EAAKuF,iBAGzIqK,qBAAU,WACD5N,EAAU+J,EAAMzQ,MAAO+6B,EAAY/6B,QAAWyQ,EAAM86D,iBAAmBA,IACxE/B,EAAgB,IAChBxuC,EAAe,CACXh7B,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,oBAI9B,CAAC96D,EAAMzQ,MAAOyQ,EAAMqqB,gBAGxB,IAQMe,EAAiB,SAAChqB,GACvB,IAAImqB,EAASnqB,EAAE4D,OACZwmB,EAAiBD,IAGfC,EAAmB,SAACD,GACtB,IAAIt0B,EAAQs0B,EAAOE,aAAa,cAG5B7yB,GAFO2yB,EAAOI,UAEFr3B,EAA2Bi3B,EAAQ,4BAE/CM,GADSp0B,EAAmBmB,EAAU,iBAC9BnE,EAAyBmE,EAAW,kBAEhDA,EAAUvG,UAAUiD,OAAO,UAG3BO,EAAiC+C,EAAW,mBAAoB,cAAe,eAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,QAC/E2yB,EAAOl5B,UAAU+C,IAAI,UAEjBy2B,IACAA,EAAM50B,MAAM,IAGXnB,EAA+B8C,EAAU,WAAW,cAAc,SAAW9C,EAA+B8C,EAAU,WAAW,cAAc,WAChJ/C,EAAiC+C,EAAU,WAAW,KAAK,QAE1DoH,EAAM8rB,UACP70B,EAAQzF,SAASyF,IACjB+I,EAAM8tB,UACN9tB,EAAM8tB,SAAS72B,IAKjB+0B,EAAiB,SAAC54B,GACpB,OAAOA,EAAI64B,UAAU,OAAO36B,QAAQ,mBAAoB,KAUtD46B,EAAiB,SAACtzB,EAAWgc,GAC/B,IAAIuX,EAASH,EAAepX,EAAMthB,eAC9B84B,EAAU,IAAMD,EAEvB,GAAa,IAAVA,EAAa,CAGT,IAFA,IAAImD,EAAa//B,EAAMyB,MAAM,GACzBgmE,EAAgB7qC,EAAO96B,MAAM,KACzBrB,EAAE,EAAGA,EAAEgnE,EAAc3mE,OAASL,IAAI,CACtC,IAAIgpE,EAAUhC,EAAchnE,GACxBo8B,EAAU,IAAM4qC,EAAchnE,GAClC,OAAQwkE,GACJ,KAAK,EACDllC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAgE,IAA5D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,MACxF,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KACxK,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,MAChJ,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KAC9N,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAK+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAY,MAIjHD,EAAgBzpC,QAEhBypC,EAAgB,KAgFlBE,EAAkBH,EAAazoE,OAAO,EAAK,iCAAmC,4BAEhFouE,EAAe,gBAInB,OAHIz+D,EAAM0+D,WACND,GAAkB,aAGlB,gCACI,qBAAK59D,MAAM,wBAAyBC,MAAOoqB,EAA3C,SACI,qBAAKrqB,MAAM,UAAX,SACI,sBAAKA,MAAM,wCAAwCxF,GAAG,iBAAiBsxB,UAAW,SAACvrB,GAAD,OArF1E,SAACA,GACrB,IAAMxI,EAAYtE,EAA2B8M,EAAE4D,OAAQ,2BACjD4nB,EAAQn4B,EAAyBmE,EAAW,oBAC5CizB,EAAQp0B,EAAmBmB,EAAW,iBAE5C,GAAIg0B,EAAMv6B,UAAUC,SAAS,QAAQ,CACvC,IACUw6B,EADND,EAAUzrB,EAAEyrB,QAYV,IATAC,EAASr4B,EAAyBm4B,EAAM,kBAEpCE,EAASr4B,EAAyBm4B,EAAM,WAE5B,KAAZC,IACAksC,EAAgB,IAChBltC,EAAM50B,MAAQ,IAGH,KAAX41B,EAAc,CAMd,IAJIC,IACAA,EAASA,EAAOC,iBACfD,IACDA,EAASl4B,EAA6Bg4B,EAAM,gBACzCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOC,mBAEZD,EAASl4B,EAA6Bg4B,EAAM,gBAGhDE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAG7B,GAAgB,KAAZy3B,EAAe,CAMf,IAJIC,IACAA,EAASA,EAAOE,aACfF,IACDA,EAASr4B,EAAyBm4B,EAAM,gBACrCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOE,eAEZF,EAASr4B,EAAyBm4B,EAAM,gBAG5CE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAGb,KAAZy3B,IACAzrB,EAAEqD,iBACFrD,EAAE6rB,mBACFH,EAAUr4B,EAAyBm4B,EAAM,iBAErCpB,EAAiBsB,KA0BwEI,CAAgB9rB,IAAzG,UACI,sBAAKP,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa8xD,EAAiBryD,UAAWm6D,EAAgBrxC,QAAS,SAAChsB,GAAD,OAlI1F,SAACA,GACtB,IAAIyqB,EAAQzqB,EAAE4D,OACFpM,EAAYtE,EAA2Bu3B,EAAO,2BAChDjX,EAAQiX,EAAM50B,MAClBi1B,EAAetzB,EAAUgc,GA8HuFyY,CAAWjsB,SAE3G,wBAAQP,MAAM,gBAAgBxF,GAAImvB,EAAQ1pB,MAAO,CAACvI,QAAQ,QAAU,cAAY,SAAS2gE,UAAQ,EAAjG,SACKzuC,IAEL,qBAAK5pB,MAAOwqB,EAAmBlqB,QAAS,SAACC,GAAD,OAtLhC,SAACA,GACzB,IAAKpB,EAAM4qB,SAAS,CAChB,IAAM32B,EAAOmN,EAAE4D,OACO1Q,EAA2BL,EAAM,2BACzC5B,UAAUqD,OAAO,WAkL4By3B,CAAmB/rB,IAAlE,SACI,qBAAKP,MAAM,mBAIf,qBAAKA,MAAOo4D,EAAZ,SACK9tC,WAKdnrB,EAAM2+D,WAKT,qBAAK99D,MAAM,OAAOxF,GAAG,WAJrB,qBAAKwF,MAAM,OAAOxF,GAAG,SAArB,SACK0gE,QCjOF6C,OAvCf,SAAqB5+D,GACjB,IAAM6+D,EAAc7+D,EAAM6+D,WACpBC,EAAc9+D,EAAM8+D,YACpB3+D,EAASH,EAAMG,OACf4+D,EAAW/+D,EAAM++D,SAcjBC,EAAaF,EAAYvkE,KAAI,SAAA0kE,GAAG,OAC9B,kCACI,uBAAOr6D,KAAK,WAAW3N,MAAOgoE,EAAInK,IAAKr5D,QAASojE,GAAcA,EAAWriE,QAAQyiE,EAAInK,MAAM,EAAGhwD,SAAU,SAAA1D,GAAC,OAdlG,SAACA,EAAG5N,GACnB,IAAI0rE,EAAS99D,EAAE4D,OACX+Z,EAAM8/C,EAAWriE,QAAQhJ,GACzB0rE,EAAMzjE,QACFsjB,EAAI,GAAG8/C,EAAWjvE,KAAK4D,GAExBurB,GAAK,GAAG8/C,EAAWptE,OAAOstB,EAAI,GAGrC/e,EAAM+rB,UAAU8yC,EAAWE,GAKyFI,CAAY/9D,EAAG69D,EAAInK,QAC9HmK,EAAIrK,UAIjB,OACI,sBAAK/zD,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAA2BC,MAAO,CAACwE,WAAW,QAAxD,SAAkEnF,IAClE,qBAAKU,MAAM,SAAX,SACKm+D,IAEHh/D,EAAMo/D,IACJp/D,EAAMo/D,IAEN,4BCkCDC,OApEf,SAAqBr/D,GACjB,MAAgCyB,mBAASzB,EAAMs/D,UAA/C,mBAAOA,EAAP,KAAiBC,EAAjB,KACMC,EAAWx/D,EAAMwqB,OAAO,QACxBi1C,EAAUz/D,EAAMwqB,OAAO,OAGvBrqB,GAFQH,EAAM0/D,MAAO1/D,EAAM0/D,KACnB1/D,EAAM2/D,MAAO3/D,EAAM2/D,KAClB3/D,EAAMG,QACf4+D,EAAW/+D,EAAM++D,SAEjBa,EAA8B,MAAbN,EACjBO,EAA6B,MAAbP,EAGtBz7D,qBAAU,WACN07D,EAAYv/D,EAAMs/D,YAClB,CAACt/D,EAAMs/D,WAEX,IAAMQ,EAAa,SAACC,EAAKC,GACrB,IAAIxsE,EAAM,IAQV,OAPIusE,IAEIvsE,EADAwsE,EACQ,IAEA,KAGTxsE,GAiBLokE,EAAkB,SAACpkE,GACrB+rE,EAAY/rE,GACZwM,EAAM+rB,UAAUv4B,EAAMurE,IAGpBlmC,EAAa74B,EAAM64B,UAAY74B,EAAM64B,UAAY,GAEvD,OACI,sBAAKh4B,MAAM,iDAAiDC,MAAO+3B,EAAnE,UACI,qBAAKh4B,MAAM,uBAAX,SACI,wBAAOC,MAAO,CAAC6D,WAAW,QAAUU,SAAU,OAAQ5E,MAAO,OAAQ6E,WAAW,QAAhF,UACI,uBAAOV,KAAK,WAAWvJ,GAAImkE,EAAU/jE,QAASmkE,EAAe96D,SAAU,SAAA1D,GAAC,OAzB9D,SAACA,GACvB,IAAI6+D,EAAY7+D,EAAE4D,OACdk7D,EAAU1vE,SAASgL,eAAeikE,GAClCjsE,EAAQssE,EAAWG,EAASxkE,QAASykE,EAAQzkE,SACjDm8D,EAAgBpkE,GAqBwE2sE,CAAkB/+D,IAAIN,MAAO,CAACsD,OAAO,aACjH,sBAAMi0C,wBAAyB,CAACC,OAAOn4C,UAG/C,sBAAKU,MAAM,YAAX,UACI,uBAAO+D,KAAK,WAAWvJ,GAAIokE,EAAShkE,QAASokE,EAAcj1C,UAAag1C,EAAe96D,SAAU,SAAA1D,GAAC,OAvBxF,SAACA,GACnB,IAAI8+D,EAAW9+D,EAAE4D,OACbi7D,EAAWzvE,SAASgL,eAAegkE,GACnChsE,EAAQssE,EAAWG,EAASxkE,QAASykE,EAAQzkE,SACjDm8D,EAAgBpkE,GAmB8F4sE,CAAch/D,IAAIN,MAAO,CAACsD,OAAO,aAEvI,uBAAOvD,MAAM,KAAKw/D,IAAKZ,EAAU3+D,MAAO,CAACgvB,UAAU,QAAnD,SACI,qBAAKjvB,MAAM,oBCRhBy/D,OAnDf,SAAsBtgE,GAClB,MAAkCyB,mBAAS,CACvCoP,KAAM7Q,EAAM6Q,KACZ0vD,OAAQvgE,EAAMugE,SAFlB,mBAAOhJ,EAAP,KAAkBC,EAAlB,KAIaD,EAAU1mD,KAGvBhN,qBAAU,WACN2zD,EAAa,CACT3mD,KAAM7Q,EAAM6Q,KACZ0vD,OAAQvgE,EAAMugE,WAGlB,CAACvgE,EAAM6Q,KAAM7Q,EAAMugE,SAEvB,IAWM3I,EAAkB,SAAC/mD,EAAM0vD,GAC3BvgE,EAAM+rB,UAAUlb,EAAM0vD,IAG1B,OACI,sBAAK1/D,MAAM,eAAX,UACI,qBAAKA,MAAM,SAAX,SACI,qBAAKA,MAAM,qBAAX,SACI,uBAAO+D,KAAK,SAASvJ,GAAG,aAAapE,MAAOsgE,EAAU1mD,KAAK,EAAI0mD,EAAU1mD,KAAO,GACxExc,KAAK,GAAG6gD,IAAI,IAAIrtC,IAAI,MACpBvD,UAAY,kBACZQ,SAAU,SAAC1D,GAAD,OAtBf,SAACA,GAChB,IACInK,EADOmK,EAAE4D,OACI/N,MACbupE,EAAShvE,SAASyF,GACtB2gE,EAAgB4I,EAAQjJ,EAAUgJ,QAkBGE,CAAWr/D,UAG5C,cAAC,GAAD,CAAkB/F,GAAG,oBACb9L,MAAO,CAAC,CAACiK,OAAO,IAAKhG,MAAM,IAAI,CAACgG,OAAO,IAAKhG,MAAM,WAAQ,CAACgG,OAAO,IAAKhG,MAAM,UAC7E62B,cAAektC,EAAUgJ,OACzBngE,MAAM,MACN2rB,UAtBK,SAAC20C,GAClB9I,EAAgBL,EAAU1mD,KAAM6vD,IAsBpB50C,SAAW,QCkUhB60C,OA/Wf,SAAwB3gE,GACpB,IAD0B,EAC1B,EAAsCyB,mBAAS,CAC3ClS,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,iBAF1B,mBAAOxwC,EAAP,KAAoBC,EAApB,KAIMh7B,EAAQ+6B,EAAY/6B,MAC1B,EAAwCkS,mBAAS,IAAjD,mBAAOq3D,EAAP,KAAqBC,EAArB,KACM+B,EAAkBxwC,EAAYwwC,eAAkBxwC,EAAYwwC,eAAiB,GAC7EtwC,EAASxqB,EAAMwqB,OACfC,EAAcquC,EAAav+D,KAAI,SAAAtG,GAAI,OACrC6mE,EAAe7/C,SAAShnB,EAAKuF,QAC7B,wBAAQkxB,UAAQ,EAACzzB,MAAOhD,EAAKuF,OAA7B,SAAsCvF,EAAKT,QAC1C,wBAAQyD,MAAOhD,EAAKuF,OAApB,SAA6BvF,EAAKT,WAEvC,EAAgCiO,mBAAS,GAAzC,mBAAO2lD,EAAP,KAAiBwZ,EAAjB,KACA,EAAoCn/D,mBAAS,GAA7C,mBAAOo/D,EAAP,KAAmBC,EAAnB,KACA,EAA4Br/D,oBAAS,GAArC,mBAAO25D,EAAP,KAAeC,EAAf,KAEMnwC,EAAsBlrB,EAAMI,MAAQ,CAACK,MAAOT,EAAMI,OAAS,GAE3D+qB,EAAmB2tC,EAAav+D,KAAI,SAAAtG,GAAI,OAC1C6mE,EAAe7/C,SAAShnB,EAAKgnE,QACzB,uBAAOp6D,MAAM,sBAAsB,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAA1F,SAA+FnN,EAAKT,QACnG,uBAAOqN,MAAM,eAAe,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAAnF,SAAwFnN,EAAKT,WAGhGghE,EAAqBx0D,EAAMw0D,mBAAmB,EAAKx0D,EAAMw0D,kBAAoB,EAE7EnpC,EAAqBrrB,EAAM4qB,SAAW,mEAAqE,0DAG3G+rC,EAAmBpnE,GAASA,EAAMc,OAAO,EAAKd,EAAM,GAAGiE,MAAQ,GAEjE8nE,EAAgB,GAjCM,eA2CXR,GA3CW,IA2C1B,2BAA8B,CAAC,IAAtBS,EAAqB,QACtBtnE,EAAO1E,EAAME,MAAK,SAAA+rE,GAAM,OAAGA,EAAOhiE,SAAW+hE,EAAG/hE,UAChDvF,GACAqnE,EAAc1rE,KAAK,CAAC4J,OAAQvF,EAAKuF,OAAQhG,MAAOS,EAAKT,MAAOyhB,IAAKvjB,KAAK+pE,IAAIF,EAAGtmD,KAAMmmD,OAASG,EAAGtmD,IAAI,KA9CjF,gCAmD1B,IAAM8rD,EAAgB,SAAC9rD,GACnB,IAAIlkB,EAAM,GACV,OAAQkkB,GACJ,KAAK,EACDlkB,EAAM,WACV,MACA,KAAK,EACDA,EAAM,sBACV,MACA,KAAK,GACDA,EAAM,iBACV,MACA,KAAK,GACDA,EAAM,gBAGd,OAAOA,GAKLi7C,EAAa,qBAAKnrC,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAW5F,QAAS,SAACC,GAAD,OAAOw1D,EAAUx1D,MACpI26D,EAAmBT,EAAc/gE,KAAI,SAAAtG,GAAI,OACnB,uBAAMqQ,UAAYrQ,EAAKuF,SAASqnE,EAAc,aAAc,MAAO,aAAY5sE,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAM46D,GAAe56D,IAA1H,UACKnN,EAAKT,MACLw4C,EACD,sBAAMnrC,MAAM,cAAZ,SACI,uBAAMA,MAAM,eAAe,WAAU5M,EAAKghB,IAAK,cAAahhB,EAAKmnE,OAAS,IAAK,IAA/E,UACKnnE,EAAKmnE,OAAS,uCAAmB,6BACjC2F,EAAc9sE,EAAKghB,gBAM5DpR,qBAAU,WAMDymB,EAAY/6B,OAAUurE,GAAmB7kE,EAAU+J,EAAMzQ,MAAO+6B,EAAY/6B,QAAW0G,EAAU+J,EAAM86D,eAAgBA,KACxH/B,EAAgB,IAChBxuC,EAAe,CACXh7B,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,oBAI9B,CAAC96D,EAAMzQ,MAAOyQ,EAAMqqB,gBAExB,IAAM22C,EAAiB,SAAC5/D,GACpB,IAAI89D,EAAQ99D,EAAE4D,OACV/N,EAAQzF,SAAS0tE,EAAMjoE,OACvBioE,EAAMzjE,UACFolE,EAAW,IACNzF,EAGDp7D,EAAMihE,SAASJ,GAAc,EAAK5pE,GAFlC+I,EAAMihE,SAASJ,EAAY5pE,IAInC2pE,EAAY3pE,KAyBdm0B,EAAiB,SAAChqB,GACvB,IAAImqB,EAASnqB,EAAE4D,OACZwmB,EAAiBD,IAGfC,EAAmB,SAACD,GACtB,IAAIt0B,EAAQs0B,EAAOE,aAAa,cAG5B7yB,GAFO2yB,EAAOI,UAEFr3B,EAA2Bi3B,EAAQ,4BAE/CM,GADSp0B,EAAmBmB,EAAU,iBAC9BnE,EAAyBmE,EAAW,kBAEhDA,EAAUvG,UAAUiD,OAAO,UAG3BO,EAAiC+C,EAAW,mBAAoB,cAAe,eAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,QAC/E2yB,EAAOl5B,UAAU+C,IAAI,UAEjBy2B,IACAA,EAAM50B,MAAM,IAGXnB,EAA+B8C,EAAU,WAAW,cAAc,SAAW9C,EAA+B8C,EAAU,WAAW,cAAc,WAChJ/C,EAAiC+C,EAAU,WAAW,KAAK,QAE1DoH,EAAM8rB,UACP70B,EAAQzF,SAASyF,IACjB+I,EAAMihE,WACD7F,EAGDp7D,EAAMihE,SAAShqE,GAAS,EAAKmwD,GAF7BpnD,EAAMihE,SAAShqE,EAAMmwD,KAO3Bp7B,EAAiB,SAAC54B,GACpB,OAAOA,EAAI64B,UAAU,OAAO36B,QAAQ,mBAAoB,KAUtD46B,EAAiB,SAACtzB,EAAWgc,GAC/B,IAAIuX,EAASH,EAAepX,EAAMthB,eAC9B84B,EAAU,IAAMD,EAEvB,GAAa,IAAVA,EAAa,CAGT,IAFA,IAAImD,EAAa//B,EAAMyB,MAAM,GACzBgmE,EAAgB7qC,EAAO96B,MAAM,KACzBrB,EAAE,EAAGA,EAAEgnE,EAAc3mE,OAASL,IAAI,CACtC,IAAIgpE,EAAUhC,EAAchnE,GACxBo8B,EAAU,IAAM4qC,EAAchnE,GAClC,OAAQwkE,GACJ,KAAK,EACDllC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAgE,IAA5D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,MACxF,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KACxK,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,MAChJ,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,MAI1O2sC,EAAgBzpC,QAEhBypC,EAAgB,KAqElBnC,EAAY,SAACx1D,GACf,IAAI40D,EAAM50D,EAAE4D,OAER/N,EADQ3C,EAA2B0hE,EAAI,OAC3BvqC,aAAa,cAC7Bq1C,EAAc,GACV9gE,EAAMi3D,UACNj3D,EAAMi3D,SAASzlE,SAASyF,KAK1B+kE,GAAiB,SAAC56D,GACpB,IAAI40D,EAAM50D,EAAE4D,OACZ,IAAKgxD,EAAI3jE,UAAUC,SAAS,qBAAqB,CAC7C,IAAM4rE,EAAM5pE,EAA2B0hE,EAAI,OACvC/+D,EAAQinE,EAAIzyC,aAAa,cACzBy1C,EAAUzsE,EAAyBypE,EAAI,gBACvCiD,EAAS3vE,SAAS0vE,EAAQz1C,aAAa,aACvC21C,EAAkD,MAAtCF,EAAQz1C,aAAa,eACrCq1C,EAActvE,SAASyF,IACvB2pE,EAAYO,GACZ9F,EAAU+F,KAIZnI,GAAkBH,EAAazoE,OAAO,EAAK,iCAAmC,4BAGpF,OACI,sBAAKwQ,MAAM,kEAAkEC,MAAO,CAACqmB,eAAgB,cAArG,UACI,sBAAK7iB,UAAU,yBAAyBxD,MAAO,CAACyE,aAAa,QAA7D,UACI,qBAAK1E,MAAM,wBAAyBC,MAAOoqB,EAA3C,SACI,qBAAKrqB,MAAM,UAAX,SACI,sBAAKA,MAAM,wCAAwCxF,GAAG,iBAAiBsxB,UAAW,SAACvrB,GAAD,OAjG9E,SAACA,GACrB,IAAMxI,EAAYtE,EAA2B8M,EAAE4D,OAAQ,2BACjD4nB,EAAQn4B,EAAyBmE,EAAW,oBAC5CizB,EAAQp0B,EAAmBmB,EAAW,iBAE5C,GAAIg0B,EAAMv6B,UAAUC,SAAS,QAAQ,CACvC,IACUw6B,EADND,EAAUzrB,EAAEyrB,SAEVC,EAASr4B,EAAyBm4B,EAAM,kBAEpCE,EAASr4B,EAAyBm4B,EAAM,WAE5B,KAAZC,IACAD,EAAMv6B,UAAUiD,OAAO,QACvBu2B,EAAM50B,MAAQ,IAGH,KAAX41B,IAEIC,IACAA,EAASA,EAAOC,iBACfD,IACDA,EAASl4B,EAA6Bg4B,EAAM,gBAO5CE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,iBAGb,KAAZy3B,IAEIC,IACAA,EAASA,EAAOE,aACfF,IACDA,EAASr4B,EAAyBm4B,EAAM,gBAOxCE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,iBAGb,KAAZy3B,IACAzrB,EAAEqD,iBACFrD,EAAE6rB,mBACFH,EAAUr4B,EAAyBm4B,EAAM,iBAErCpB,EAAiBsB,KAuC4EI,CAAgB9rB,IAAzG,UACI,sBAAKP,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa8xD,EAAiBryD,UAAU,gBAAgB8oB,QAAS,SAAChsB,GAAD,OA3I7F,SAACA,GACtB,IAAIyqB,EAAQzqB,EAAE4D,OACFpM,EAAYtE,EAA2Bu3B,EAAO,2BAChDjX,EAAQiX,EAAM50B,MAClBi1B,EAAetzB,EAAUgc,GAuI0FyY,CAAWjsB,SAE1G,wBAAQP,MAAM,gBAAgBxF,GAAImvB,EAAQ1pB,MAAO,CAACvI,QAAQ,QAAU,cAAY,SAAS2gE,UAAQ,EAAjG,SACKzuC,IAEL,qBAAK5pB,MAAOwqB,EAAmBlqB,QAAS,SAACC,GAAD,OAlMpC,SAACA,GACzB,IAAKpB,EAAM4qB,SAAS,CAChB,IAAM32B,EAAOmN,EAAE4D,OACO1Q,EAA2BL,EAAM,2BACzC5B,UAAUqD,OAAO,WA8LgCy3B,CAAmB/rB,IAAlE,SACI,qBAAKP,MAAM,mBAIf,qBAAKA,MAAOo4D,GAAZ,SACK9tC,WAKjB,qBAAKtqB,MAAM,OAAOxF,GAAG,SAArB,SACK0gE,OAGT,qBAAKl7D,MAAM,yBAAyBC,MAAO,CAACu2B,SAAS,SAArD,SACI,sBAAKx2B,MAAM,qCAAX,UACI,kCACI,uBAAO+D,KAAK,WAAWvQ,KAAK,SAASoH,QAAS2/D,EAASj6D,QAAS,SAACC,GAAD,OAjO/D,SAACA,GAClB,IACInK,EADQmK,EAAE4D,OACIvJ,QACdolE,EAAW,IACN5pE,EAGD+I,EAAMihE,SAASJ,GAAc,EAAKzZ,GAFlCpnD,EAAMihE,SAASJ,EAAYzZ,IAInCiU,EAAUpkE,GAwN6EylE,CAAYt7D,MADvF,QAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,EAAGwE,QAAoB,IAAX2rD,EAAejmD,QAAS,SAACC,GAAD,OAAO4/D,EAAc5/D,MADxG,cAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,GAAIwE,QAAoB,KAAX2rD,EAAejmD,QAAU,SAACC,GAAD,OAAO4/D,EAAc5/D,MAD1G,oBAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,GAAIwE,QAAoB,KAAX2rD,EAAgBjmD,QAAS,SAACC,GAAD,OAAO4/D,EAAc5/D,MAD1G,mBAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,EAAGwE,QAAoB,IAAX2rD,EAAcjmD,QAAS,SAACC,GAAD,OAAO4/D,EAAc5/D,MADvG,kCChWLigE,OAVf,SAA4BrhE,GACxB,IAAM/L,EAAO+L,EAAM/L,KACnB,OACI,uBAAM4M,MAAM,MAAM,WAAS,SAA3B,UACK5M,EAAKqtE,YACN,qBAAKzgE,MAAM,QAAQU,IAAI,sBAAsBwF,IAAI,WAAW5F,QAAS,SAAAC,GAAC,OAAIpB,EAAMuhE,YAAYttE,EAAKutE,SAAUvtE,EAAKT,cCgE7GiuE,OAjEf,SAAwBzhE,GACpB,MAAsByB,mBAASzB,EAAM6M,KAArC,mBAAOA,EAAP,KAAY60D,EAAZ,KAGMC,EAAa3hE,EAAM2hE,WACnBC,EAAS5hE,EAAM4hE,OACfC,EAAkB,OAAPh1D,QAAsBtY,GAAPsY,EAC5Bi1D,GAAW,EAGfj+D,qBAAU,WACN69D,EAAO1hE,EAAM6M,OACb,CAAC7M,EAAM6M,MAEX,IAqBM1M,EAA2B,WAAjBH,EAAMG,OAAsB,wCAAsBH,EAAMG,OAElE4hE,EAAc/hE,EAAM4hE,OACtB,sBAAM9gE,MAAO,CAACmtB,WAAW,MAAOxoB,YAAY,QAA5C,SAAsDm8D,IACtD,6BAKJ,OACI,sBAAK/gE,MAAM,gBAAX,UACI,oBAAIA,MAAM,2BAAV,SAAuCV,IACvC,sBAAKU,MAAM,qBAAqBC,MAAO,CAACvI,QAAQ,OAAQ4uB,eAAe,SAAvE,UACI,uBAAOviB,KAAK,SACJvJ,GAAG,YACHpE,MAAU4qE,EAA6C,GAAjCh1D,IAAQ80D,EAAc90D,EAAM,GAClDxY,KAAK,GAGLyQ,SAAU,SAAC1D,GAAD,OAxCZ,SAACA,GACf,IACInK,EADOmK,EAAE4D,OACI/N,MACjB,IAAK6qE,EAAW,CACZJ,EAAOzqE,GACP,IAAIupE,EAAS5uE,WAAWqF,EAAM3F,QAAQ,IAAI,MAC1C0O,EAAM+rB,UAAUy0C,IAkCawB,CAAU5gE,IAC3BkD,UAAY,kBACZqoB,UAAW,SAACvrB,GAAD,OAhCf,SAACA,GACb,IAAIyrB,EAAUzrB,EAAEyrB,QACD,MAAVA,GAA2B,MAAVA,GAClBzrB,EAAE6rB,kBACF7rB,EAAEqD,iBACFq9D,GAAW,GAEXA,GAAW,EAyBmBG,CAAS7gE,MAIlC2gE,SC4PFG,OAtTf,SAA0BliE,GACtB,IAD4B,EAC5B,EAAsCyB,mBAAS,CAC3ClS,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,eACtBqH,aAAc,KACd/G,QAAQ,IAJZ,mBAAO9wC,EAAP,KAAoBC,EAApB,KAMMh7B,EAAQ+6B,EAAY/6B,MAC1B,EAAwCkS,mBAAS,IAAjD,mBAAOq3D,EAAP,KAAqBC,EAArB,KACM+B,EAAkBxwC,EAAYwwC,eAAkBxwC,EAAYwwC,eAAiB,GAC7EtwC,EAASxqB,EAAMwqB,OACfC,EAAcquC,EAAav+D,KAAI,SAAAtG,GAAI,OACrC6mE,EAAe7/C,SAAShnB,EAAKuF,QAC7B,wBAAQkxB,UAAQ,EAACzzB,MAAOhD,EAAKuF,OAA7B,SAAsCvF,EAAKT,QAC1C,wBAAQyD,MAAOhD,EAAKuF,OAApB,SAA6BvF,EAAKT,WAGjC03B,EAAsBlrB,EAAMI,MAAQ,CAACK,MAAOT,EAAMI,OAAS,GAI3DyqB,EAAmB7qB,EAAM6qB,gBAAkB7qB,EAAM6qB,gBAAkB,GACnEC,EAAc,CAACzlB,SAAS,OAAQ0lB,cAAe,OAAQC,WAAY,UACnEC,EAAe,CAACF,cAAe,OAAQC,WAAY,UAEnDG,EAAmB2tC,EAAav+D,KAAI,SAAAtG,GAAI,OAC1C,uBAAO4M,MAAO,gBAAkBi6D,EAAe7/C,SAAShnB,EAAKgnE,QAAU,SAAW,IAC1En6D,MAAQ7M,EAAKT,MAAMnD,OAAOw6B,GAAmB7qB,EAAMw+D,MAAO1zC,EAAYG,EACtE,aAAYh3B,EAAKuF,OACjB2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAC9Bid,MAASpqB,EAAKT,MAJtB,SAKES,EAAKT,WAGLghE,EAAqBx0D,EAAMw0D,mBAAmB,EAAKx0D,EAAMw0D,kBAAoB,EAE7EnpC,EAAqBrrB,EAAM4qB,SAAW,mEAAqE,0DAE3G+rC,EAAmBpnE,GAASA,EAAMc,OAAO,EAAKd,EAAM,GAAGiE,MAAQ,GAEjE8nE,EAAgB,GAxCQ,eA0CX/rE,GA1CW,IA0C5B,2BAAuB,CAAC,IAAf0E,EAAc,QACf6mE,EAAe7/C,SAAShnB,EAAKuF,SAC7B8hE,EAAc1rE,KAAKqE,GACnB6mE,EAAe7/C,UAAwB,EAAfhnB,EAAKuF,SAC7B8hE,EAAc1rE,KAAK,CAAC4J,QAAwB,EAAfvF,EAAKuF,OAAahG,MAAQ,MAAQS,EAAKT,SA9ChD,8BAqD5B,IAAMuoE,EAAmBT,EAAc/gE,KAAI,SAAAtG,GAAI,OAC3C,uBAAMqQ,UAAYrQ,EAAKuF,OAAO,EAAMvF,EAAKuF,SAAS8wB,EAAY63C,aAAgB,gBAAkB,SAAYluE,EAAKuF,SAAS8wB,EAAY63C,aAAgB,kBAAoB,WACpK,aAAYluE,EAAKuF,OACjB2H,QAAS,SAACC,GAAD,OAAOghE,EAASnuE,EAAKuF,SAFpC,UAGKvF,EAAKT,MACN,qBAAKqN,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAW5F,QAAS,SAACC,GAAD,OAAOpB,EAAMi3D,SAAShjE,EAAKuF,iBAGzIqK,qBAAU,WACD5N,EAAU+J,EAAMzQ,MAAO+6B,EAAY/6B,QAAWyQ,EAAM86D,iBAAmBA,IACxE/B,EAAgB,IAChBxuC,EAAe,CACXh7B,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,oBAI9B,CAAC96D,EAAMzQ,MAAOyQ,EAAMqqB,gBAGxB,IAQM+3C,EAAY,SAAC5oE,GACf,IAAM6oE,EAAavzE,KAAKC,MAAMD,KAAKmP,UAAUqsB,IAC7C+3C,EAAWjH,OAAU5hE,EAAO,EAC5B6oE,EAAWF,aAAe3oE,EAC1B+wB,EAAe83C,IAsBbj3C,EAAiB,SAAChqB,GACvB,IAAImqB,EAASnqB,EAAE4D,OACZwmB,EAAiBD,IAGfC,EAAmB,SAACD,GACtB,IAzBc/xB,EAyBVvC,EAAQs0B,EAAOE,aAAa,cAG5B7yB,GAFO2yB,EAAOI,UAEFr3B,EAA2Bi3B,EAAQ,4BAE/CM,GADSp0B,EAAmBmB,EAAU,iBAC9BnE,EAAyBmE,EAAW,kBAEhDA,EAAUvG,UAAUiD,OAAO,UAG3BO,EAAiC+C,EAAW,mBAAoB,cAAe,eAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,QAC/E2yB,EAAOl5B,UAAU+C,IAAI,UAEjBy2B,IACAA,EAAM50B,MAAM,IAGXnB,EAA+B8C,EAAU,WAAW,cAAc,SAAW9C,EAA+B8C,EAAU,WAAW,cAAc,WAChJ/C,EAAiC+C,EAAU,WAAW,KAAK,QA5CjDY,EA8CNhI,SAASyF,GA7Cb+I,EAAM8tB,WACFxD,EAAY8wC,OACZp7D,EAAM8tB,UAAmB,EAAVt0B,GAEfwG,EAAM8tB,SAASt0B,KA4CrBwyB,EAAiB,SAAC54B,GACpB,OAAOA,EAAI64B,UAAU,OAAO36B,QAAQ,mBAAoB,KAUtD46B,EAAiB,SAACtzB,EAAWgc,GAC/B,IAAIuX,EAASH,EAAepX,EAAMthB,eAC9B84B,EAAU,IAAMD,EAEvB,GAAa,IAAVA,EAAa,CAGT,IAFA,IAAImD,EAAa//B,EAAMyB,MAAM,GACzBgmE,EAAgB7qC,EAAO96B,MAAM,6DACzBrB,EAAE,EAAGA,EAAEgnE,EAAc3mE,OAASL,IAAI,CACtC,IAAIgpE,EAAUhC,EAAchnE,GACxBo8B,EAAU,IAAM4qC,EAAchnE,GAClC,OAAQwkE,GACJ,KAAK,EACDllC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAgE,IAA5D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,MACxF,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KACxK,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,MAChJ,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KAC9N,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAK+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAY,KACrG,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAIA,EAAKT,MAAMnC,MAAM,6DAAkD5B,MAAK,SAAA6yE,GAAG,OAAyC,IAArCA,EAAIhvE,cAAckJ,QAAQw8D,UAI5JD,EAAgBzpC,QAEhBypC,EAAgB,KAgFlBE,EAAkBH,EAAazoE,OAAO,EAAK,iCAAmC,4BAEhFouE,EAAe,gBAInB,OAHIz+D,EAAM0+D,WACND,GAAkB,aAGlB,qBAAK39D,MAAO,CAACL,MAAMT,EAAMI,OAAzB,SACI,sBAAKkE,UAAU,yBAAyBxD,MAAO,CAACyE,aAAa,QAA7D,UACI,oBAAI1E,MAAM,2BAAV,SAAuCb,EAAMG,SAC7C,qBAAKU,MAAM,wBAAyBC,MAAOoqB,EAA3C,SACI,qBAAKrqB,MAAM,UAAX,SACI,sBAAKA,MAAM,wCAAwCxF,GAAG,iBAAiBsxB,UAAW,SAACvrB,GAAD,OAvF9E,SAACA,GACrB,IAAMxI,EAAYtE,EAA2B8M,EAAE4D,OAAQ,2BACjD4nB,EAAQn4B,EAAyBmE,EAAW,oBAC5CizB,EAAQp0B,EAAmBmB,EAAW,iBAE5C,GAAIg0B,EAAMv6B,UAAUC,SAAS,QAAQ,CACvC,IACUw6B,EADND,EAAUzrB,EAAEyrB,QAYV,IATAC,EAASr4B,EAAyBm4B,EAAM,kBAEpCE,EAASr4B,EAAyBm4B,EAAM,WAE5B,KAAZC,IACAksC,EAAgB,IAChBltC,EAAM50B,MAAQ,IAGH,KAAX41B,EAAc,CAMd,IAJIC,IACAA,EAASA,EAAOC,iBACfD,IACDA,EAASl4B,EAA6Bg4B,EAAM,gBACzCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOC,mBAEZD,EAASl4B,EAA6Bg4B,EAAM,gBAGhDE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAG7B,GAAgB,KAAZy3B,EAAe,CAMf,IAJIC,IACAA,EAASA,EAAOE,aACfF,IACDA,EAASr4B,EAAyBm4B,EAAM,gBACrCE,GAAUA,EAAOz6B,UAAUC,SAAS,UACvCw6B,EAASA,EAAOE,eAEZF,EAASr4B,EAAyBm4B,EAAM,gBAG5CE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,gBAGb,KAAZy3B,IACAzrB,EAAEqD,iBACFrD,EAAE6rB,mBACFH,EAAUr4B,EAAyBm4B,EAAM,iBAErCpB,EAAiBsB,KA4B4EI,CAAgB9rB,IAAzG,UACI,sBAAKP,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa8xD,EAAiBryD,UAAWm6D,EAAgBrxC,QAAS,SAAChsB,GAAD,OAvI9F,SAACA,GACtB,IAAIyqB,EAAQzqB,EAAE4D,OACFpM,EAAYtE,EAA2Bu3B,EAAO,2BAChDjX,EAAQiX,EAAM50B,MAClBi1B,EAAetzB,EAAUgc,GAmI2FyY,CAAWjsB,SAE3G,wBAAQP,MAAM,gBAAgBxF,GAAImvB,EAAQ1pB,MAAO,CAACvI,QAAQ,QAAU,cAAY,SAAS2gE,UAAQ,EAAjG,SACKzuC,IAEL,qBAAK5pB,MAAOwqB,EAAmBlqB,QAAS,SAACC,GAAD,OAhNpC,SAACA,GACzB,IAAKpB,EAAM4qB,SAAS,CAChB,IAAM32B,EAAOmN,EAAE4D,OACO1Q,EAA2BL,EAAM,2BACzC5B,UAAUqD,OAAO,WA4MgCy3B,CAAmB/rB,IAAlE,SACI,qBAAKP,MAAM,mBAIf,qBAAKA,MAAOo4D,EAAZ,SACK9tC,WAKjB,qBAAKtqB,MAAM,qCAAX,SACI,kCACI,uBAAO+D,KAAK,WAAWvQ,KAAK,SAASoH,QAAS6uB,EAAY8wC,OAASj6D,QAAS,SAACC,GAAD,OApM3E,SAACA,GAClB,IAAMihE,EAAavzE,KAAKC,MAAMD,KAAKmP,UAAUqsB,IAC7C+3C,EAAWjH,QAAU9wC,EAAY8wC,OAC7BiH,EAAWF,cAA4C,IAA5BE,EAAWF,cAAsBniE,EAAMuiE,QAClEviE,EAAMuiE,QAAQF,EAAWF,cAEzB53C,EAAe83C,GA8LgF3F,MADvF,UAKD18D,EAAM2+D,WAKT,qBAAK99D,MAAM,OAAOxF,GAAG,WAJrB,qBAAKwF,MAAM,OAAOxF,GAAG,SAArB,SACK0gE,UC0ENyG,OAtXf,SAAwBxiE,GACpB,IAD0B,EAC1B,EAAsCyB,mBAAS,CAC3ClS,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,iBAF1B,mBAAOxwC,EAAP,KAAoBC,EAApB,KAIMh7B,EAAQ+6B,EAAY/6B,MAC1B,EAAwCkS,mBAAS,IAAjD,mBAAOq3D,EAAP,KAAqBC,EAArB,KACM+B,EAAkBxwC,EAAYwwC,eAAkBxwC,EAAYwwC,eAAiB,GAC7EtwC,EAASxqB,EAAMwqB,OACfC,EAAcquC,EAAav+D,KAAI,SAAAtG,GAAI,OACrC6mE,EAAe7/C,SAAShnB,EAAKuF,QAC7B,wBAAQkxB,UAAQ,EAACzzB,MAAOhD,EAAKuF,OAA7B,SAAsCvF,EAAKT,QAC1C,wBAAQyD,MAAOhD,EAAKuF,OAApB,SAA6BvF,EAAKT,WAEvC,EAAgCiO,mBAAS,IAAzC,mBAAO2lD,EAAP,KAAiBwZ,EAAjB,KACA,EAAoCn/D,mBAAS,GAA7C,mBAAOo/D,EAAP,KAAmBC,EAAnB,KACA,EAA4Br/D,oBAAS,GAArC,mBAAO25D,EAAP,KAAeC,EAAf,KAEMnwC,EAAsBlrB,EAAMI,MAAQ,CAACK,MAAOT,EAAMI,OAAS,GAE3D+qB,EAAmB2tC,EAAav+D,KAAI,SAAAtG,GAAI,OAC1C6mE,EAAe7/C,SAAShnB,EAAKgnE,QACzB,uBAAOp6D,MAAM,sBAAsB,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAA1F,SAA+FnN,EAAKT,QACnG,uBAAOqN,MAAM,eAAe,aAAY5M,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAOgqB,EAAchqB,IAAnF,SAAwFnN,EAAKT,WAGhGghE,EAAqBx0D,EAAMw0D,mBAAmB,EAAKx0D,EAAMw0D,kBAAoB,EAE7EnpC,EAAqBrrB,EAAM4qB,SAAW,mEAAqE,0DAG3G+rC,EAAmBpnE,GAASA,EAAMc,OAAO,EAAKd,EAAM,GAAGiE,MAAQ,GAEjE8nE,EAAgB,GAjCM,eA2CXR,GA3CW,IA2C1B,2BAA8B,CAAC,IAAtBS,EAAqB,QACtBtnE,EAAO1E,EAAME,MAAK,SAAA+rE,GAAM,OAAGA,EAAOhiE,SAAW+hE,EAAG/hE,UAChDvF,GACAqnE,EAAc1rE,KAAK,CAAC4J,OAAQvF,EAAKuF,OAAQhG,MAAOS,EAAKT,MAAOyhB,IAAKvjB,KAAK+pE,IAAIF,EAAGtmD,KAAMmmD,OAASG,EAAGtmD,IAAI,KA9CjF,gCAmD1B,IAAM8rD,EAAgB,SAAC9rD,GACnB,IAAIlkB,EAAM,GACV,OAAQkkB,GACJ,KAAK,GACDlkB,EAAM,0BACV,MACA,KAAK,EACDA,EAAM,UACV,MACA,KAAK,EACDA,EAAM,iBACV,MACA,KAAK,EACDA,EAAM,WACV,MACA,KAAK,EACDA,EAAM,WAGd,OAAOA,GAKLi7C,EAAa,qBAAKnrC,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAW5F,QAAS,SAACC,GAAD,OAAOw1D,EAAUx1D,MACpI26D,EAAmBT,EAAc/gE,KAAI,SAAAtG,GAAI,OACnB,uBAAMqQ,UAAYrQ,EAAKuF,SAASqnE,EAAc,aAAc,MAAO,aAAY5sE,EAAKuF,OAAQ2H,QAAS,SAACC,GAAD,OAAM46D,GAAe56D,IAA1H,UACKnN,EAAKT,MACLw4C,EACD,sBAAMnrC,MAAM,cAAZ,SACI,uBAAMA,MAAM,eAAe,WAAU5M,EAAKghB,IAAK,cAAahhB,EAAKmnE,OAAS,IAAK,IAA/E,UACKnnE,EAAKmnE,OAAS,uCAAmB,6BACjC2F,EAAc9sE,EAAKghB,gBAM5DpR,qBAAU,WAMDymB,EAAY/6B,OAAUurE,GAAmB7kE,EAAU+J,EAAMzQ,MAAO+6B,EAAY/6B,QAAW0G,EAAU+J,EAAM86D,eAAgBA,KACxH/B,EAAgB,IAChBxuC,EAAe,CACXh7B,MAAOyQ,EAAMzQ,MACburE,eAAgB96D,EAAM86D,oBAI9B,CAAC96D,EAAMzQ,MAAOyQ,EAAMqqB,gBAExB,IAAM22C,EAAiB,SAAC5/D,GACpB,IAAI89D,EAAQ99D,EAAE4D,OACV/N,EAAQzF,SAAS0tE,EAAMjoE,OACvBioE,EAAMzjE,UACFolE,EAAW,IACNzF,EAGDp7D,EAAMihE,SAASJ,GAAc,EAAK5pE,GAFlC+I,EAAMihE,SAASJ,EAAY5pE,IAInC2pE,EAAY3pE,KAyBdm0B,EAAiB,SAAChqB,GACvB,IAAImqB,EAASnqB,EAAE4D,OACZwmB,EAAiBD,IAGfC,EAAmB,SAACD,GACtB,IAAIt0B,EAAQs0B,EAAOE,aAAa,cAG5B7yB,GAFO2yB,EAAOI,UAEFr3B,EAA2Bi3B,EAAQ,4BAE/CM,GADSp0B,EAAmBmB,EAAU,iBAC9BnE,EAAyBmE,EAAW,kBAEhDA,EAAUvG,UAAUiD,OAAO,UAG3BO,EAAiC+C,EAAW,mBAAoB,cAAe,eAC/E/C,EAAiC+C,EAAW,mBAAoB,cAAe,QAC/E2yB,EAAOl5B,UAAU+C,IAAI,UAEjBy2B,IACAA,EAAM50B,MAAM,IAGXnB,EAA+B8C,EAAU,WAAW,cAAc,SAAW9C,EAA+B8C,EAAU,WAAW,cAAc,WAChJ/C,EAAiC+C,EAAU,WAAW,KAAK,QAE1DoH,EAAM8rB,UACP70B,EAAQzF,SAASyF,IACjB+I,EAAMihE,WACD7F,EAGDp7D,EAAMihE,SAAShqE,GAAS,EAAKmwD,GAF7BpnD,EAAMihE,SAAShqE,EAAMmwD,KAO3Bp7B,EAAiB,SAAC54B,GACpB,OAAOA,EAAI64B,UAAU,OAAO36B,QAAQ,mBAAoB,KAUtD46B,EAAiB,SAACtzB,EAAWgc,GAC/B,IAAIuX,EAASH,EAAepX,EAAMthB,eAC9B84B,EAAU,IAAMD,EAEvB,GAAa,IAAVA,EAAa,CAGT,IAFA,IAAImD,EAAa//B,EAAMyB,MAAM,GACzBgmE,EAAgB7qC,EAAO96B,MAAM,KACzBrB,EAAE,EAAGA,EAAEgnE,EAAc3mE,OAASL,IAAI,CACtC,IAAIgpE,EAAUhC,EAAchnE,GACxBo8B,EAAU,IAAM4qC,EAAchnE,GAClC,OAAQwkE,GACJ,KAAK,EACDllC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAgE,IAA5D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,MACxF,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,KACxK,MACJ,KAAK,EACDkD,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,MAChJ,MACJ,KAAK,EACD1pC,EAAaA,EAAWzF,QAAO,SAAA51B,GAAI,OAAoE,IAA9D+3B,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQw8D,IAAmE,IAA/C/kE,EAAKuF,OAAOlG,cAAckJ,QAAQw8D,IAAoBhtC,EAAe/3B,EAAKT,MAAMF,eAAekJ,QAAQ4vB,GAAS,MAI1O2sC,EAAgBzpC,QAEhBypC,EAAgB,KAqElBnC,EAAY,SAACx1D,GACf,IAAI40D,EAAM50D,EAAE4D,OAER/N,EADQ3C,EAA2B0hE,EAAI,OAC3BvqC,aAAa,cAC7Bq1C,EAAc,GACV9gE,EAAMi3D,UACNj3D,EAAMi3D,SAASzlE,SAASyF,KAK1B+kE,GAAiB,SAAC56D,GACpB,IAAI40D,EAAM50D,EAAE4D,OACZ,IAAKgxD,EAAI3jE,UAAUC,SAAS,qBAAqB,CAC7C,IAAM4rE,EAAM5pE,EAA2B0hE,EAAI,OACvC/+D,EAAQinE,EAAIzyC,aAAa,cACzBy1C,EAAUzsE,EAAyBypE,EAAI,gBACvCiD,EAAS3vE,SAAS0vE,EAAQz1C,aAAa,aACvC21C,EAAkD,MAAtCF,EAAQz1C,aAAa,eACrCq1C,EAActvE,SAASyF,IACvB2pE,EAAYO,GACZ9F,EAAU+F,KAIZnI,GAAkBH,EAAazoE,OAAO,EAAK,iCAAmC,4BAGpF,OACI,sBAAKwQ,MAAM,kEAAkEC,MAAO,CAACqmB,eAAgB,cAArG,UACI,sBAAK7iB,UAAU,yBAAyBxD,MAAO,CAACyE,aAAa,QAA7D,UACI,qBAAK1E,MAAM,wBAAyBC,MAAOoqB,EAA3C,SACI,qBAAKrqB,MAAM,UAAX,SACI,sBAAKA,MAAM,wCAAwCxF,GAAG,iBAAiBsxB,UAAW,SAACvrB,GAAD,OAjG9E,SAACA,GACrB,IAAMxI,EAAYtE,EAA2B8M,EAAE4D,OAAQ,2BACjD4nB,EAAQn4B,EAAyBmE,EAAW,oBAC5CizB,EAAQp0B,EAAmBmB,EAAW,iBAE5C,GAAIg0B,EAAMv6B,UAAUC,SAAS,QAAQ,CACvC,IACUw6B,EADND,EAAUzrB,EAAEyrB,SAEVC,EAASr4B,EAAyBm4B,EAAM,kBAEpCE,EAASr4B,EAAyBm4B,EAAM,WAE5B,KAAZC,IACAD,EAAMv6B,UAAUiD,OAAO,QACvBu2B,EAAM50B,MAAQ,IAGH,KAAX41B,IAEIC,IACAA,EAASA,EAAOC,iBACfD,IACDA,EAASl4B,EAA6Bg4B,EAAM,gBAO5CE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,iBAGb,KAAZy3B,IAEIC,IACAA,EAASA,EAAOE,aACfF,IACDA,EAASr4B,EAAyBm4B,EAAM,gBAOxCE,IACAn0B,GAAkBi0B,EAAME,GACxBj3B,EAAiC+2B,EAAM,cAAc,KAAK,eAC1DE,EAAOz6B,UAAU+C,IAAI,iBAGb,KAAZy3B,IACAzrB,EAAEqD,iBACFrD,EAAE6rB,mBACFH,EAAUr4B,EAAyBm4B,EAAM,iBAErCpB,EAAiBsB,KAuC4EI,CAAgB9rB,IAAzG,UACI,sBAAKP,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa8xD,EAAiBryD,UAAU,gBAAgB8oB,QAAS,SAAChsB,GAAD,OA3I7F,SAACA,GACtB,IAAIyqB,EAAQzqB,EAAE4D,OACFpM,EAAYtE,EAA2Bu3B,EAAO,2BAChDjX,EAAQiX,EAAM50B,MAClBi1B,EAAetzB,EAAUgc,GAuI0FyY,CAAWjsB,SAE1G,wBAAQP,MAAM,gBAAgBxF,GAAImvB,EAAQ1pB,MAAO,CAACvI,QAAQ,QAAU,cAAY,SAAS2gE,UAAQ,EAAjG,SACKzuC,IAEL,qBAAK5pB,MAAOwqB,EAAmBlqB,QAAS,SAACC,GAAD,OAlMpC,SAACA,GACzB,IAAKpB,EAAM4qB,SAAS,CAChB,IAAM32B,EAAOmN,EAAE4D,OACO1Q,EAA2BL,EAAM,2BACzC5B,UAAUqD,OAAO,WA8LgCy3B,CAAmB/rB,IAAlE,SACI,qBAAKP,MAAM,mBAIf,qBAAKA,MAAOo4D,GAAZ,SACK9tC,WAKjB,qBAAKtqB,MAAM,OAAOxF,GAAG,SAArB,SACK0gE,OAGT,qBAAKl7D,MAAM,yBAAyBC,MAAO,CAACu2B,SAAS,SAArD,SACI,sBAAKx2B,MAAM,qCAAX,UACI,kCACI,uBAAO+D,KAAK,WAAWvQ,KAAK,SAASoH,QAAS2/D,EAASj6D,QAAS,SAACC,GAAD,OAjO/D,SAACA,GAClB,IACInK,EADQmK,EAAE4D,OACIvJ,QACdolE,EAAW,IACN5pE,EAGD+I,EAAMihE,SAASJ,GAAc,EAAKzZ,GAFlCpnD,EAAMihE,SAASJ,EAAYzZ,IAInCiU,EAAUpkE,GAwN6EylE,CAAYt7D,MADvF,QAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,GAAIwE,QAAoB,KAAX2rD,EAAgBjmD,QAAS,SAACC,GAAD,OAAO4/D,EAAc5/D,MAD1G,6BAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,EAAGwE,QAAoB,IAAX2rD,EAAejmD,QAAS,SAACC,GAAD,OAAO4/D,EAAc5/D,MADxG,aAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,EAAGwE,QAAoB,IAAX2rD,EAAcjmD,QAAU,SAACC,GAAD,OAAO4/D,EAAc5/D,MADxG,oBAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,EAAGwE,QAAoB,IAAX2rD,EAAejmD,QAAS,SAACC,GAAD,OAAO4/D,EAAc5/D,MADxG,cAIA,kCACI,uBAAOwD,KAAK,QAAQvQ,KAAK,WAAW4C,MAAO,EAAGwE,QAAoB,IAAX2rD,EAAcjmD,QAAS,SAACC,GAAD,OAAO4/D,EAAc5/D,MADvG,uBCjRLqhE,OA5Ff,SAAuBziE,GACnB,MAAsCyB,mBAAS,CAC3CihE,eAAgB1iE,EAAM0iE,eACtB9tD,MAAO5U,EAAM4U,MACbvC,MAAOrS,EAAMqS,MACb+oD,OAAQp7D,EAAMo7D,SAJlB,mBAAO9wC,EAAP,KAAoBC,EAApB,KAMMC,EAASxqB,EAAMwqB,OAEfuJ,EADQ18B,OAAO28B,WACG,IAExBnwB,qBAAU,WACD5N,EAAU+J,EAAM0iE,eAAgBp4C,EAAYo4C,iBAAoB1iE,EAAMqS,QAAUiY,EAAYjY,OAAWrS,EAAM4U,QAAU0V,EAAY1V,OACpI2V,EAAe,CACXm4C,eAAgB1iE,EAAM0iE,eACtB9tD,MAAO5U,EAAM4U,MACbvC,MAAOrS,EAAMqS,UAIrB,CAACrS,EAAM0iE,eAAgB1iE,EAAM4U,MAAO5U,EAAMqS,QAE9C,IAIMswD,EAAa5uC,EAAY,GAAK,CAACtzB,MAAO,OAkC5C,OACI,gCACA,sBAAKI,MArCqB,uFAqCSC,MAAO,CAAC4D,aAAa,QAAxD,UACI,sBAAK7D,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,SAAsCb,EAAM4iE,cAC5C,qBAAK/hE,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,QAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOqzB,EAAY1V,MAAO/P,YAAa7E,EAAM6E,YAAaC,SAAU,SAAC1D,GAAD,OAhCrG,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUqsB,IACjDuL,EAAejhB,MAAQphB,EACvB+2B,EAAesL,GACX71B,EAAM+rB,WACN/rB,EAAM+rB,UAAU8J,EAAexjB,MAAMwjB,EAAejhB,QAwB8D6lD,CAAUr5D,eAKhI,sBAAKP,MAAM,yBAAyBC,MAAO6hE,EAA3C,UACI,oBAAI9hE,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,SAAoE1E,EAAM6iE,iBAC1E,cAAC,GAAD,CAAkBtzE,MAAS+6B,EAAYo4C,eAC/Bl4C,OAAQA,EAAS,QACjBH,cAAeC,EAAYjY,MAC3B0Z,UAlDF,SAAC4uC,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUqsB,IACjDuL,EAAexjB,MAAQsoD,EACvBpwC,EAAesL,GACX71B,EAAM+rB,WACN/rB,EAAM+rB,UAAU4uC,EAAW9kC,EAAejhB,QA8C9BxU,MAAM,OACNyqB,gBAAmB,WAInC,wBAAO/pB,MAAO,CAACoE,MAAO,WAAtB,UACI,uBAAON,KAAK,WAAWvQ,KAAK,SAASoH,QAAS6uB,EAAY8wC,OAASj6D,QAAS,SAACC,GAAD,OArC/D,SAACA,GAClB,IACInK,EADQmK,EAAE4D,OACIvJ,QACZo6B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUqsB,IACjDuL,EAAeulC,OAASnkE,EACxBszB,EAAesL,GACX71B,EAAM+rB,WACN/rB,EAAM+rB,UAAU8J,EAAexjB,MAAMwjB,EAAejhB,MAAMihB,EAAeulC,QA8BUsB,CAAYt7D,MADnG,qBCm+DO0hE,GAriEM,SAAC9iE,GAClB,MAA8CyB,mBAAS,CACnDvH,SAAU,KACV6oE,SAAU,KACVC,UAAW,KACXC,WAAY,KACZC,YAAa,KACbC,UAAW,KACXC,SAAU,KACVC,UAAW,KACXC,kBAAmB,KACnBC,sBAAuB,KACvBC,wBAAyB,KACzBC,eAAe,KACfC,cAAc,KACdC,aAAa,KACbC,UAAW,KACXC,UAAW,KACXC,UAAW,OAjBf,mBAAO7uC,EAAP,KAAwBC,EAAxB,KAmBA,EAAsDzzB,mBAAS,CAC3DsD,IAAK/E,EAAM+E,IACXqO,OAAQpT,EAAMoT,OACdC,MAAOrT,EAAMqT,MACb/Z,IAAK0G,EAAM1G,IACXuZ,KAAM7S,EAAM6S,KACZC,MAAO9S,EAAM8S,MACbpK,KAAM1I,EAAM0I,KACZqK,IAAK/S,EAAM+S,IACXO,IAAKtT,EAAMsT,IACXL,KAAMjT,EAAMiT,KACZpC,KAAM7Q,EAAM6Q,KACZC,QAAS9Q,EAAM8Q,QACfiE,QAAU/U,EAAM+U,QAAU/U,EAAM+U,QAAU,GAC1CG,QAAUlV,EAAMkV,QAAUlV,EAAMkV,QAAU,GAC1Cpb,IAAMkG,EAAMlG,IAAMkG,EAAMlG,IAAM,GAC9ByZ,aAAcvT,EAAMuT,aACpBC,aAAcxT,EAAMwT,aACpBK,cAAe7T,EAAM6T,cACrBC,cAAe9T,EAAM8T,cACrBL,cAAezT,EAAMyT,cACrBC,cAAe1T,EAAM0T,cACrBC,aAAc3T,EAAM2T,aACpBC,aAAc5T,EAAM4T,aACpBG,cAAe/T,EAAM+T,cACrBC,cAAehU,EAAMgU,cACrBC,aAAcjU,EAAMiU,aACpBC,aAAclU,EAAMkU,aACpBG,SAAUrU,EAAMqU,SAChBD,MAAOpU,EAAMoU,MACbD,IAAKnU,EAAMmU,IACXI,UAAWvU,EAAMuU,UACjBC,MAAOxU,EAAMwU,MACbC,MAAOzU,EAAMyU,MACbC,MAAO1U,EAAM0U,MACbC,OAAQ3U,EAAM2U,OACdC,MAAO5U,EAAM4U,MACbvC,MAAOrS,EAAMqS,MACbyC,QAAS9U,EAAM8U,UAtCnB,mBAAOsgB,EAAP,KAA4BC,EAA5B,KA0CA,EAAsD5zB,oBAAS,GAA/D,mBAAOsiE,EAAP,KAA4BC,EAA5B,KAEMC,EAA6BF,EAAuB,aAAe,oBACnEG,EAA2BH,EAAuB,+DAAiE,sEACnHI,EAAyBJ,EAAuB,aAAY,YAElElgE,qBAAU,WAC2B,OAA7BoxB,EAAgB/6B,UAChByvB,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcpK,6BACbtV,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLp7B,SAAW2D,EAASC,KAAKu7C,YACzBgqB,UAAWxlE,EAASC,KAAK27D,aACzB2J,SAAUvlE,EAASC,KAAKygD,OACxBykB,UAAYnlE,EAASC,KAAKsmE,KAC1BrB,SAAWllE,EAASC,KAAKumE,YACzBpB,WAAaplE,EAASC,KAAKwmE,eAC3BpB,YAAcrlE,EAASC,KAAKymE,iBAC5BpB,UAAYtlE,EAASC,KAAK0mE,aAC1BZ,UAAY/lE,EAASC,KAAK+qC,SAC1By6B,kBAAmBzlE,EAASC,KAAK2mE,aACjClB,sBAAuB1lE,EAASC,KAAK4mE,iBACrClB,wBAAyB3lE,EAASC,KAAK6mE,mBACvClB,eAAgB5lE,EAASC,KAAK8mE,wBAC9BlB,cAAe7lE,EAASC,KAAK+mE,uBAC7BlB,aAAc9lE,EAASC,KAAKgnE,sBAC5BjB,UAAWhmE,EAASC,KAAK+tC,SACzBi4B,UAAWjmE,EAASC,KAAK4pD,WAE7BpyB,EAAGp7B,SAASzI,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,6BACxC0H,EAAG+tC,UAAU5xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAG8tC,SAAS3xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,GAAIC,MAAM,wCACzC0H,EAAG6tC,UAAU1xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAGsuC,UAAUnyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,yBACzC0H,EAAG0tC,UAAUvxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,yBAAsB,CAACD,OAAO,EAAGC,MAAM,MACjF0H,EAAGytC,SAAStxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,wCAAqC,CAACD,OAAO,EAAGC,MAAM,MAC/F0H,EAAGguC,kBAAkB7xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,IAAKC,MAAM,qBAAqB,CAACD,OAAO,GAAIC,MAAM,MAC1F0H,EAAGiuC,sBAAsB9xE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,uBAAuB,CAACD,OAAO,EAAGC,MAAM,MAC9F0H,EAAGkuC,wBAAwB/xE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,2BAA2B,CAACD,OAAO,EAAGC,MAAM,MACpG0H,EAAGmuC,eAAehyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,GAAIC,MAAM,mDAC/C0H,EAAGouC,cAAcjyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,GAAIC,MAAM,mDAC9C0H,EAAGquC,aAAalyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,GAAIC,MAAM,sCAC7C0H,EAAGuuC,UAAUpyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAGwuC,UAAUryE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,8BAA2B,CAACD,OAAO,EAAGC,MAAM,MACtFsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAQ7BmhE,EAAmB,SAACC,GAEtB,IADA,IAAIC,EAAW,GACPj1E,EAAE,EAAGA,EAAGg1E,EAAS30E,OAAQL,IAAI,CACjC,IAAIk1E,EAAaF,EAASh1E,GAC1B,GAAqB,QAAjBk1E,EAAWrQ,KAEX,IADIsQ,EAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAMsrE,EAAWtrE,SAC1DurE,EAAQnrE,SAAWmrE,EAAQnrE,QAAQ3J,OAAO,EAAE,CAEvD,IADA,IAAI+0E,EAAS,GACLt0E,EAAE,EAAGA,EAAEq0E,EAAQnrE,QAAQ3J,OAAQS,IAAI,CAC9Bs0E,GAALt0E,EAAE,EAAa,MACJo0E,EAAWtQ,IAAM,KAEhCwQ,GADaF,EAAWprE,IAAIrK,MAAK,SAAAqlE,GAAG,OAAGA,EAAIA,MAAQqQ,EAAQnrE,QAAQlJ,MAClD8jE,IAEN,KAAXwQ,GACAH,EAAWr1E,KAAKw1E,SAEtB,GAAqB,QAAjBF,EAAWrQ,IAAY,CAC7B,IAAIsQ,KAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAGA,EAAK2F,MAAMsrE,EAAWtrE,SACzDurE,EAAQ3xE,OAA2B,KAAlB2xE,EAAQ3xE,OAAkC,MAAlB2xE,EAAQ3xE,QACtC,MAAlB2xE,EAAQ3xE,MACRyxE,EAAWr1E,KAAKs1E,EAAWtQ,IAAItjE,QAAQ,QAAQ,KACvB,MAAlB6zE,EAAQ3xE,OACdyxE,EAAWr1E,KAAK,MAAQs1E,EAAWtQ,IAAIthE,cAAchC,QAAQ,QAAQ,OAKrF,IAAIP,EAAI,GACR,GAAIk0E,EAAW50E,OAAO,EAElB,IADIU,EAAMk0E,EAAW,GACZj1E,EAAE,EAAGA,EAAEi1E,EAAW50E,OAAQL,IAC/Be,GAAO,KAAOk0E,EAAWj1E,GAGjC,OAAOe,GAybP2oE,EAtb6B,WAC7B,IAAI3oE,EAAM,GAuBV,GArBIqkC,EAAoBrwB,KAAkC,IAA3BqwB,EAAoBrwB,KAC/ChU,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBrwB,MAoBhEqwB,EAAoBhiB,QAAYgiB,EAAoBhiB,OAAO/iB,OAAO,GAC/D4kC,EAAgBouC,UAAU,CAE1B,IADA,IAAI7vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBhiB,OAAO/iB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgBouC,UAAU5zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBhiB,OAAOpjB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAOA,IAIvD,GAAK4hC,EAAoB/hB,OAAW+hB,EAAoB/hB,MAAMhjB,OAAO,GAC7D4kC,EAAgBmuC,SAAS,CAEzB,IADI5vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB/hB,MAAMhjB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgBmuC,SAAS3zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/hB,MAAMrjB,SAEnE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAOA,IAI/D4hC,EAAoB1sB,KAAK,IACrBusB,EAAgB8tC,WACZ9uE,EAAOghC,EAAgB8tC,SAAStzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB1sB,UAE3E3X,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAOS,EAAK25B,SAI7DwH,EAAoBtiB,MAAM,IACtBmiB,EAAgB+tC,YACZ/uE,EAAOghC,EAAgB+tC,UAAUvzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBtiB,WAE5E/hB,EAAInB,KAAM,CAACuQ,OAAQ,SAAO3M,MAAOS,EAAK25B,SAI9CwH,EAAoBriB,IAAI,GACxBhiB,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBriB,IAAI3hB,aAGrEgkC,EAAoB9hB,IAAI,GACxBviB,EAAInB,KAAM,CAACuQ,OAAQ,gCAA8B3M,MAAO4hC,EAAoB9hB,IAAIliB,aAGpF,IAAIi0E,EAAYjwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OAC3D,GAAIyrE,GAAa,EAAE,CACf,IAAIC,EAAWlwC,EAAoBt7B,IAAIurE,GACvC,GAAIC,EAAWtrE,QAAQ3J,OAAO,EAAE,CAC5B,IAAIk1E,EAAW,GACf,IAASv1E,EAAE,EAAGA,EAAEs1E,EAAWtrE,QAAQ3J,OAAQL,IACnCA,EAAE,IAAGu1E,GAAY,OACrBA,GAAY5Q,GAAW,GAAG76D,IAAIrK,MAAK,SAAAsK,GAAE,OAAGA,EAAG+6D,MAAQwQ,EAAWtrE,QAAQhK,MAAI4kE,IAE9E7jE,EAAInB,KAAK,CAACuQ,OAAQ,SAAU3M,MAAO+xE,KAI3C,IAAIC,EAASpwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OACxD,GAAI4rE,GAAU,EAAE,CACZ,IAAIC,EAAQrwC,EAAoBt7B,IAAI0rE,GAChB,MAAhBC,EAAQjyE,MACRzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,UACrB,MAAhBiyE,EAAQjyE,OACdzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,OA+DnD,GA3DI4hC,EAAoB7hB,aAChB6hB,EAAoB5hB,aACpBziB,EAAInB,KAAM,CAACuQ,OAAQ,2BAAyB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoB7hB,cAAgB,MAAQ7f,EAAqB0hC,EAAoB5hB,gBAEnLziB,EAAInB,KAAM,CAACuQ,OAAQ,2BAAyB3M,MAAO,eAAiBE,EAAqB0hC,EAAoB7hB,gBAE3G6hB,EAAoB5hB,cAC1BziB,EAAInB,KAAM,CAACuQ,OAAQ,2BAAyB3M,MAAO,cAAgBE,EAAqB0hC,EAAoB5hB,gBAG5G4hB,EAAoBvhB,cAChBuhB,EAAoBthB,cACpB/iB,EAAInB,KAAM,CAACuQ,OAAQ,4BAA0B3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBvhB,eAAiB,MAAQngB,EAAqB0hC,EAAoBthB,iBAErL/iB,EAAInB,KAAM,CAACuQ,OAAQ,4BAA0B3M,MAAO,eAAiBE,EAAqB0hC,EAAoBvhB,iBAE5GuhB,EAAoBthB,eAC1B/iB,EAAInB,KAAM,CAACuQ,OAAQ,4BAA0B3M,MAAO,cAAgBE,EAAqB0hC,EAAoBthB,iBAG7GshB,EAAoB3hB,cAChB2hB,EAAoB1hB,cACpB3iB,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAO,oBAAsBE,EAAqB0hC,EAAoB3hB,eAAiB,MAAQ/f,EAAqB0hC,EAAoB1hB,iBAExL3iB,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAO,eAAiBE,EAAqB0hC,EAAoB3hB,iBAE/G2hB,EAAoB1hB,eAC1B3iB,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAO,cAAgBE,EAAqB0hC,EAAoB1hB,iBAGhH0hB,EAAoBzhB,aAChByhB,EAAoBxhB,aACpB7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBzhB,cAAgB,MAAQjgB,EAAqB0hC,EAAoBxhB,gBAE3K7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,eAAiBE,EAAqB0hC,EAAoBzhB,gBAEnGyhB,EAAoBxhB,cAC1B7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,cAAgBE,EAAqB0hC,EAAoBxhB,gBAGpGwhB,EAAoBrhB,cAChBqhB,EAAoBphB,cACpBjjB,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBrhB,eAAiB,MAAQrgB,EAAqB0hC,EAAoBphB,iBAEjLjjB,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAO,eAAiBE,EAAqB0hC,EAAoBrhB,iBAExGqhB,EAAoBphB,eAC1BjjB,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAO,cAAgBE,EAAqB0hC,EAAoBphB,iBAGzGohB,EAAoBnhB,aAChBmhB,EAAoBlhB,aACpBnjB,EAAInB,KAAM,CAACuQ,OAAQ,wDAAmD3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBnhB,cAAgB,MAAQvgB,EAAqB0hC,EAAoBlhB,gBAE7MnjB,EAAInB,KAAM,CAACuQ,OAAQ,wDAAmD3M,MAAO,eAAiBE,EAAqB0hC,EAAoBnhB,gBAErImhB,EAAoBlhB,cAC1BnjB,EAAInB,KAAM,CAACuQ,OAAQ,wDAAmD3M,MAAO,cAAgBE,EAAqB0hC,EAAoBlhB,gBAEtIkhB,EAAoB/gB,UAA2C,KAA/B+gB,EAAoB/gB,UAAiB+gB,EAAoBhhB,MAAQ,GAAKghB,EAAoBjhB,KAAOihB,EAAoBjhB,IAAM,GACvJ8gB,EAAgBquC,mBAAqBruC,EAAgBsuC,sBAAsB,CAC3E,IAAImC,EAAIzwC,EAAgBquC,kBAAkB7zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/gB,YACjFsxD,EAAI1wC,EAAgBsuC,sBAAsB9zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBhhB,SACzF,GAAIsxD,GAAKC,EAAE,CACP,IAAI7Q,EAAM6Q,EAAE/3C,MAAQ,QAAUwH,EAAoBjhB,IAAI/iB,WAAa,UAClD,IAAbu0E,EAAEh4C,SAAcmnC,EAAM6Q,EAAE/3C,MAAQ,MAAQwH,EAAoBjhB,IAAI/iB,WAAa,WACjFL,EAAInB,KAAM,CAACuQ,OAAQulE,EAAE93C,MAAOp6B,MAAOshE,KAI3C1/B,EAAoB7gB,UAAY,IAC5B0gB,EAAgBuuC,0BACZvvE,EAAOghC,EAAgBuuC,wBAAwB/zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB7gB,eAE1FxjB,EAAInB,KAAM,CAACuQ,OAAQ,SAAU3M,MAAOS,EAAK25B,SAIrD,GAAKwH,EAAoB5gB,OAAW4gB,EAAoB5gB,MAAMnkB,OAAO,GAC7D4kC,EAAgBwuC,eAAe,CAE/B,IADIjwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB5gB,MAAMnkB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgBwuC,eAAeh0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB5gB,MAAMxkB,SAEzE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,mCAA8B3M,MAAOA,IAGpE,GAAK4hC,EAAoB3gB,OAAW2gB,EAAoB3gB,MAAMpkB,OAAO,GAC7D4kC,EAAgByuC,cAAc,CAE9B,IADIlwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB3gB,MAAMpkB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgByuC,cAAcj0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB3gB,MAAMzkB,SAExE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAOA,IAGnE,GAAK4hC,EAAoB1gB,OAAW0gB,EAAoB1gB,MAAMrkB,OAAO,GAC7D4kC,EAAgB0uC,aAAa,CAE7B,IADInwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB1gB,MAAMrkB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgB0uC,aAAal0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB1gB,MAAM1kB,SAEvE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,iCAA4B3M,MAAOA,IAIlE,GAAK4hC,EAAoBzgB,QAAYygB,EAAoBzgB,OAAOtkB,OAAO,GAC/D4kC,EAAgB4uC,UAAU,CAE1B,IADIrwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBzgB,OAAOtkB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgB4uC,UAAUp0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoBzgB,OAAO3kB,UAE9E,KAAVwD,IACAA,GAAS,OACT4hC,EAAoBzgB,OAAO3kB,GAAG,IAC9BwD,GAAS,OACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,iBAAkB3M,MAAOA,IAIxD,GAAK4hC,EAAoB97B,KAAS87B,EAAoB97B,IAAIjJ,OAAO,GACzD4kC,EAAgB/6B,SAAS,CACzB,IAAIiG,EAAS,iBACb,IAASnQ,EAAG,EAAGA,EAAEolC,EAAoB97B,IAAIjJ,OAAQL,IAAI,CAC7CwD,EAAQ,GAEZ,GADIS,EAAOghC,EAAgB/6B,SAASzK,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoB97B,IAAItJ,GAAGwJ,WACtF,CACD47B,EAAoB97B,IAAItJ,GAAGwJ,OAAO,IAClChG,GAAS,gBACbA,GAASS,EAAK25B,MACd,IAAIn0B,EAAQ27B,EAAoB97B,IAAItJ,GAAGyJ,MACvC,GAAIA,GAASA,EAAMpJ,OAAO,EACtB,IAAK,IAAIS,EAAE,EAAGA,EAAE2I,EAAMpJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMiG,EAAM3I,GAAG0C,MAGhC,IAAIkG,EAAQ07B,EAAoB97B,IAAItJ,GAAG0J,MACvC,GAAIA,GAASA,EAAMrJ,OAAO,EACtB,IAASS,EAAE,EAAGA,EAAE4I,EAAMrJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMkG,EAAM5I,GAAGmrE,IAIpClrE,EAAInB,KAAK,CAACuQ,OAAOA,EAAQ3M,MAAOA,IAChC2M,EAAS,GAETi1B,EAAoBviB,KACpB9hB,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,uDAG7BzC,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,kDAM7B,MADRJ,EAAM2xE,EAAiB9P,MAEvBlkE,EAAInB,KAAK,CAACuQ,OAAQ,8CAAyC3M,MAAMJ,IAErE,IAAIA,EAAM2xE,EAAiB3P,IAa3B,GAZIhgC,EAAoBvkB,MAAQukB,EAAoBvkB,KAAK,GAAKukB,EAAoBtkB,SAA0C,IAA/BskB,EAAoBtkB,UAClG,IAAP1d,IAAWA,GAAO,MACtBA,GAAO,6BAA4BgiC,EAAoBvkB,KAAKzf,WACZ,MAA5CgkC,EAAoBtkB,QAAQxd,cAC5BF,GAAO,SAEPA,GAAO,YAGH,KAARA,GACArC,EAAInB,KAAK,CAACuQ,OAAQ,kCAAgC3M,MAAMJ,IAEvDgiC,EAAoBniB,MAAUmiB,EAAoBniB,KAAK5iB,OAAO,GAC3D4kC,EAAgBguC,WAAW,CAE3B,IADIzvE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBniB,KAAK5iB,OAAQL,IAAI,EAC9CiE,EAAOghC,EAAgBguC,WAAWxzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,SAC3EiE,EAAOghC,EAAgBiuC,YAAYzzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,OAC1FiE,IACc,KAAVT,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,4CAA6C3M,MAAOA,IAqBnF,GAhBY,MADRJ,EAAM2xE,EAAiB1P,MAEvBtkE,EAAInB,KAAK,CAACuQ,OAAQ,sCAAiC3M,MAAMJ,IAGjD,MADRA,EAAM2xE,EAAiBzP,MAEvBvkE,EAAInB,KAAK,CAACuQ,OAAQ,0BAA2B3M,MAAMJ,IAI3C,MADRA,EAAM2xE,EAAiBxP,MAEvBxkE,EAAInB,KAAK,CAACuQ,OAAQ,sBAAuB3M,MAAMJ,IAGvC,MADRA,EAAM2xE,EAAiB5P,MAEvBpkE,EAAInB,KAAK,CAACuQ,OAAQ,kBAAgB3M,MAAMJ,IAExCgiC,EAAoBrgB,SAAWqgB,EAAoBrgB,QAAQ1kB,OAAO,GAC9D4kC,EAAgBkuC,UAAU,CAE1B,IADI3vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBrgB,QAAQ1kB,OAAQL,IAAI,CAErD,GADIiE,EAAOghC,EAAgBkuC,UAAU1zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBrgB,QAAQ/kB,GAAGwJ,UAClF,CACS,KAAVhG,IAAcA,GAAS,MAC3B,IAAIyhB,EAAMmgB,EAAoBrgB,QAAQ/kB,GAAGilB,IACrB,IAAhBvjB,KAAK+pE,IAAIxmD,GAELzhB,GADAyhB,EAAI,EACK,oBAAsBhhB,EAAK25B,MAE3B,iBAAmB35B,EAAK25B,MACf,KAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,wBAA0BhhB,EAAK25B,MAE/B,qBAAuB35B,EAAK25B,MACnB,KAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,0BAA4BhhB,EAAK25B,MAEjC,sBAAwB35B,EAAK25B,MACpB,IAAhBl8B,KAAK+pE,IAAIxmD,KAEXzhB,GADAyhB,EAAI,EACK,OAAShhB,EAAK25B,MAAQ,4BAEtB,OAAS35B,EAAK25B,MAAQ,8BAIlC,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAOA,IAInE,GAAI4hC,EAAoBlgB,SAAWkgB,EAAoBlgB,QAAQ7kB,OAAO,GAC9D4kC,EAAgB2uC,UAAU,CAE1B,IADIpwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBlgB,QAAQ7kB,OAAQL,IAAI,CAErD,GADIiE,EAAOghC,EAAgB2uC,UAAUn0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBlgB,QAAQllB,GAAGwJ,UAClF,CACS,KAAVhG,IAAcA,GAAS,MACvByhB,EAAMmgB,EAAoBlgB,QAAQllB,GAAGilB,IACrB,KAAhBvjB,KAAK+pE,IAAIxmD,GAELzhB,GADAyhB,EAAI,EACK,oBAAsBhhB,EAAK25B,MAE3B,iBAAmB35B,EAAK25B,MACf,IAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,yBAA2BhhB,EAAK25B,MAEhC,sBAAwB35B,EAAK25B,MACpB,IAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,gCAA+BhhB,EAAK25B,MAEpC,6BAA4B35B,EAAK25B,MACxB,IAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,0BAA4BhhB,EAAK25B,MAEjC,oBAAsB35B,EAAK25B,MAClB,IAAhBl8B,KAAK+pE,IAAIxmD,KAEXzhB,GADAyhB,EAAI,EACK,0BAA4BhhB,EAAK25B,MAEjC,oBAAsB35B,EAAK25B,QAIvC,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,2CAAsC3M,MAAOA,IAI5E,GAAI4hC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvhB,OAAOhD,OAAO,GACjE4kC,EAAgB6uC,UAAU,CAC1B,IAIQ7vE,EAJJnC,EAAM,0CAGV,GAFIsjC,EAAoBtgB,UACpBhjB,EAAM,2CACNsjC,EAAoB/iB,OAAS+iB,EAAoB/iB,MAAM,GACnDpe,EAAOghC,EAAgB6uC,UAAUr0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/iB,YAGxEvgB,EADAsjC,EAAoBtgB,QACd7gB,EAAK25B,MAAMv6B,OAAS,yBAEpBY,EAAK25B,MAAMv6B,OAAS,uBAGtCvB,GAAO,IAAOsjC,EAAoBxgB,MAAQ,IAC1C7jB,EAAInB,KAAK,CAACuQ,OAAQ,yBAAuB3M,MAAO1B,IAIxD,OAAOf,EAGG4oE,GAERiM,EAAexwC,EAAoB97B,KAAO87B,EAAoB97B,IAAIjJ,OAAO,GAC3E+kC,EAAoBrwB,KAAOqwB,EAAoBrwB,IAAI1U,QAAQ,GAC3D+kC,EAAoBhiB,QAAUgiB,EAAoBhiB,OAAO/iB,OAAO,GAChE+kC,EAAoB/hB,OAAS+hB,EAAoB/hB,MAAMhjB,OAAO,GAC9D+kC,EAAoB1sB,KAAK,GACzB0sB,EAAoBtiB,MAAM,GAC1BsiB,EAAoBt7B,KAAOs7B,EAAoBt7B,IAAIzJ,OAAO,GAC1D+kC,EAAoBvkB,KAAK,GAAoC,IAA/BukB,EAAoBtkB,SAClDskB,EAAoBniB,MAAQmiB,EAAoBniB,KAAK5iB,OAAO,GAC5D+kC,EAAoBrgB,SAAWqgB,EAAoBrgB,QAAQ1kB,OAAO,GAClE+kC,EAAoBlgB,SAAWkgB,EAAoBlgB,QAAQ7kB,OAAO,GAClE+kC,EAAoBriB,IAAM,GAC1BqiB,EAAoB9hB,IAAM,GAC1B8hB,EAAoB7hB,cAAkB6hB,EAAoB5hB,cAC1D4hB,EAAoBvhB,eAAmBuhB,EAAoBthB,eAC3DshB,EAAoB3hB,eAAmB2hB,EAAoB1hB,eAC3D0hB,EAAoBzhB,cAAkByhB,EAAoBxhB,cAC1DwhB,EAAoBrhB,eAAmBqhB,EAAoBphB,eAC3DohB,EAAoBnhB,cAAkBmhB,EAAoBlhB,cAC1DkhB,EAAoB/gB,UAA2C,KAA/B+gB,EAAoB/gB,UAAiB+gB,EAAoBhhB,MAAQ,GAAKghB,EAAoBjhB,IAAM,GAChIihB,EAAoB7gB,UAAY,GAChC6gB,EAAoB5gB,OAAS4gB,EAAoB5gB,MAAMnkB,OAAO,GAC9D+kC,EAAoB3gB,OAAS2gB,EAAoB3gB,MAAMpkB,OAAO,GAC9D+kC,EAAoB1gB,OAAS0gB,EAAoB1gB,MAAMrkB,OAAO,GAC9D+kC,EAAoBzgB,QAAUygB,EAAoBzgB,OAAOtkB,OAAO,GAChE+kC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvkB,OAAO,EAI5DupE,EAAc,SAACx4D,GACjB,GAAIwkE,EAAY,CAGZ5lE,EAAM4d,aAAa,CACfC,UAHY,eAIZ9Y,IAAKqwB,EAAoBrwB,IACzBqO,OAAQgiB,EAAoBhiB,OAC5BC,MAAO+hB,EAAoB/hB,MAC3B/Z,IAAK87B,EAAoB97B,IACzBuZ,KAAMuiB,EAAoBviB,KAC1BC,MAAOsiB,EAAoBtiB,MAC3BpK,KAAM0sB,EAAoB1sB,KAC1BqK,IAAKqiB,EAAoBriB,IACzBO,IAAK8hB,EAAoB9hB,IACzBzC,KAAMukB,EAAoBvkB,KAC1BC,QAASskB,EAAoBtkB,QAC7BiE,QAASqgB,EAAoBrgB,QAC7BG,QAASkgB,EAAoBlgB,QAC7BjC,KAAMmiB,EAAoBniB,KAC1BnZ,IAAKs7B,EAAoBt7B,IACzB0Z,aAAc4hB,EAAoB5hB,aAClCD,aAAc6hB,EAAoB7hB,aAClCK,aAAcwhB,EAAoBxhB,aAClCD,aAAcyhB,EAAoBzhB,aAClCD,cAAe0hB,EAAoB1hB,cACnCD,cAAe2hB,EAAoB3hB,cACnCS,aAAckhB,EAAoBlhB,aAClCD,aAAcmhB,EAAoBnhB,aAClCD,cAAeohB,EAAoBphB,cACnCD,cAAeqhB,EAAoBrhB,cACnCD,cAAeshB,EAAoBthB,cACnCD,cAAeuhB,EAAoBvhB,cACnCQ,SAAU+gB,EAAoB/gB,SAC9BD,MAAOghB,EAAoBhhB,MAC3BD,IAAKihB,EAAoBjhB,IACzBI,UAAW6gB,EAAoB7gB,UAC/BC,MAAO4gB,EAAoB5gB,MAC3BC,MAAO2gB,EAAoB3gB,MAC3BC,MAAO0gB,EAAoB1gB,MAC3BC,OAAQygB,EAAoBzgB,OAC5BC,MAAOwgB,EAAoBxgB,MAC3BvC,MAAO+iB,EAAoB/iB,MAC3ByC,QAASsgB,EAAoBtgB,YAKnC+kD,EAAgB,SAACz4D,GAyCnBi0B,EAxCsB,CAClB/7B,IAAK,GACLyL,IAAK,GACLqO,OAAQ,GACRC,MAAO,GACPR,KAAM,IACNC,MAAO,EACPpK,KAAM,EACNqK,IAAK,EACLO,IAAK,EACLzC,KAAM,EACNC,QAAS,GACTmC,KAAM,GACN8B,QAAS,GACTG,QAAS,GACTpb,IAAK,GACL0Z,aAAc,KACdD,aAAc,KACdK,aAAc,KACdD,aAAc,KACdD,cAAe,KACfD,cAAe,KACfS,aAAc,KACdD,aAAc,KACdD,cAAe,KACfD,cAAe,KACfD,cAAe,KACfD,cAAe,KACfQ,SAAU,GACVD,MAAO,EACPD,IAAK,EACLI,UAAW,EACXC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPvC,MAAO,EACPyC,SAAS,IAGb,IAAIglD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,UAK3C,GADAwkE,EAAStpE,SAASmE,uBAAuB,mBAErC,IAAS3E,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAC3B8pE,EAAO9pE,GAAGiH,MAAQ,KAKxB+iE,EAAc,SAACC,EAAOC,GACxBA,EAAQ1mD,aAAeymD,EAAOzmD,aAC9B0mD,EAAQ3mD,aAAe0mD,EAAO1mD,aAC9B2mD,EAAQxmD,cAAgBumD,EAAOvmD,cAC/BwmD,EAAQzmD,cAAgBwmD,EAAOxmD,cAC/BymD,EAAQtmD,aAAeqmD,EAAOrmD,aAC9BsmD,EAAQvmD,aAAesmD,EAAOtmD,aAC9BumD,EAAQpmD,cAAgBmmD,EAAOnmD,cAC/BomD,EAAQrmD,cAAgBomD,EAAOpmD,cAC/BqmD,EAAQlmD,cAAgBimD,EAAOjmD,cAC/BkmD,EAAQnmD,cAAgBkmD,EAAOlmD,cAC/BmmD,EAAQhmD,aAAe+lD,EAAO/lD,aAC9BgmD,EAAQjmD,aAAegmD,EAAOhmD,cAsV5B4xD,EAAqB,SAACzkE,EAAG0kE,GAC3B,IAAI7xE,EAAOmN,EAAE4D,OACT+Z,EAAOqW,EAAoBniB,KAAQmiB,EAAoBniB,KAAKzW,QAAQspE,IAAU,EAC5EjwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC7B5hC,EAAKwH,SACAo6B,EAAe5iB,OAAM4iB,EAAe5iB,KAAO,IAC5C8L,EAAI,GAAG8W,EAAe5iB,KAAKrjB,KAAKk2E,IAEhC/mD,GAAK,GAAG8W,EAAe5iB,KAAKxhB,OAAOstB,EAAI,GAE/CsW,EAAuBQ,IAwErBkwC,EAAiB,SAACzG,EAAU0G,GAC9B,IAAMnwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMosE,KAClD,GAAI/xE,EACA,GAAiB,MAAbqrE,EACArrE,EAAKT,MAAQ8rE,MACZ,CACD,IAAIvgD,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,OAGlB,MAAZugD,GACAzpC,EAAe/7B,IAAIlK,KAAK,CAACgK,IAAIosE,EAAOxyE,MAAM8rE,IAGlDjqC,EAAuBQ,IAIrBowC,EAAiB,SAACpH,EAAWqH,GAC/B,IAAMrwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMssE,KAClD,GAAIjyE,EACA,GAAI4qE,EAAWxuE,OAAO,EAClB4D,EAAK+F,QAAU6kE,MACd,CACD,IAAI9/C,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,QAGlC,GAAI8/C,EAAWxuE,OAAO,EAAE,CACpB,IAAI81E,EAAU,CACVvsE,IAAKssE,EACLlsE,QAAS6kE,GAEbhpC,EAAe/7B,IAAIlK,KAAKu2E,GAGhC9wC,EAAuBQ,IAkCrBuwC,EAAuBnxC,EAAgBouC,UAAapuC,EAAgBouC,UAAU9oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIy4C,EAAuBpxC,EAAgBmuC,SAAanuC,EAAgBmuC,SAAS7oE,KAAI,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI04C,EAAuBrxC,EAAgB/6B,SAAY+6B,EAAgB/6B,SAASK,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChI24C,EAAuBtxC,EAAgB8tC,SAAY9tC,EAAgB8tC,SAASxoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChI44C,EAAuBvxC,EAAgB+tC,UAAa/tC,EAAgB+tC,UAAUzoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI64C,EAAuBxxC,EAAgBkuC,UAAaluC,EAAgBkuC,UAAU5oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI84C,EAAuBzxC,EAAgB2uC,UAAa3uC,EAAgB2uC,UAAUrpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI+4C,EAAuB1xC,EAAgBquC,kBAAqBruC,EAAgBquC,kBAAkB/oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClJg5C,EAAuB3xC,EAAgBsuC,sBAAyBtuC,EAAgBsuC,sBAAsBhpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC1Ji5C,EAAuB5xC,EAAgBuuC,wBAA2BvuC,EAAgBuuC,wBAAwBjpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC9Jk5C,EAAuB7xC,EAAgBwuC,eAAmBxuC,EAAgBwuC,eAAelpE,KAAI,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC9Im5C,EAAuB9xC,EAAgByuC,cAAmBzuC,EAAgByuC,cAAcnpE,KAAK,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC9Io5C,EAAuB/xC,EAAgB0uC,aAAiB1uC,EAAgB0uC,aAAappE,KAAI,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC1Iq5C,EAAuBhyC,EAAgB4uC,UAAa5uC,EAAgB4uC,UAAUtpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIs5C,EAAuBjyC,EAAgB6uC,UAAa7uC,EAAgB6uC,UAAUvpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAElIu5C,EAAwBlyC,EAAgBguC,YAAgBhuC,EAAgBguC,WAAW5yE,OAAO,EAC5F4kC,EAAgBguC,WAAW1oE,KAAI,SAAA6sE,GAAG,OAC9B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAEEy5C,EAAyBpyC,EAAgBiuC,aAAiBjuC,EAAgBiuC,YAAY7yE,OAAO,EAC/F4kC,EAAgBiuC,YAAY3oE,KAAI,SAAA6sE,GAAG,OAC/B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAEE05C,EAAwB,uFAExBC,EAAiB5S,GAAWp6D,KAAI,SAAA0kE,GAAG,MACxB,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGAyB,EAAoBvS,GAAajkE,MAAM,EAAE,GAAGuJ,KAAI,SAAA0kE,GAAG,MACxC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA0B,EAAoBxS,GAAajkE,MAAM,EAAE,GAAGuJ,KAAI,SAAA0kE,GAAG,MACxC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA2B,EAAoBzS,GAAajkE,MAAM,EAAE,IAAIuJ,KAAI,SAAA0kE,GAAG,MACzC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA4B,GAAoB1S,GAAajkE,MAAM,GAAG,IAAIuJ,KAAI,SAAA0kE,GAAG,MAC1C,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA6B,GAAoB3S,GAAajkE,MAAM,IAAIuJ,KAAI,SAAA0kE,GAAG,MACvC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA8B,GAAkBzS,GAAY76D,KAAI,SAAA0kE,GAAG,MAC1B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAuBA+B,IApBkBzS,GAAY96D,KAAI,SAAA0kE,GAAG,MAC1B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGkBzQ,GAAYtkE,MAAM,EAAE,GAAGuJ,KAAI,SAAA0kE,GAAG,MACrC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,4BAGAgC,GAAmBzS,GAAYtkE,MAAM,GAAGuJ,KAAI,SAAA0kE,GAAG,MACpC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGAiC,GAAmBzS,GAAYvkE,MAAM,EAAE,GAAGuJ,KAAI,SAAA0kE,GAAG,MACtC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGAkC,GAAmB1S,GAAYvkE,MAAM,GAAGuJ,KAAI,SAAA0kE,GAAG,MACpC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGAmC,GAAmB/S,GAAY56D,KAAI,SAAA0kE,GAAG,MAC3B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAIAhyC,GADQ18B,OAAO28B,WACG,IAElB2uC,GAAa5uC,GAAY,GAAK,CAACtzB,MAAO,OActC0nE,GACF,gCACI,qBAAKtnE,MAAM,4CAAX,SACI,sBAAKA,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,oBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,QAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrwB,IAAKF,YAAY,yBAA2BC,SAAU,SAAC1D,GAAD,OA/nBtH,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9wB,IAAMvR,EACrB6hC,EAAuBQ,IAwnBgH4kC,CAAUr5D,iBAMjJ,sBAAKP,MAAOymE,EAAZ,UACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,GAA3C,UACI,oBAAI9hE,MAAM,2BAAV,yBACA,cAAC,GAAD,CAAgBtR,MAAS62E,EACb57C,OAAO,qBACPswC,eAAgB1lC,EAAoBhiB,OACpC0a,SAxvBL,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAeziB,SAAUyiB,EAAeziB,OAAS,IACtDyiB,EAAeziB,OAAOxjB,KAAK+qE,GAC3BtlC,EAAuBQ,IAovBCohC,SAjvBF,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAeziB,OAAO5W,QAAQhL,SAASgC,IAC/CqiC,EAAeziB,OAAO3hB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IA6uBCz1B,MAAM,YAGtB,sBAAKS,MAAM,yBAA0BC,MAAO,CAACL,MAAO,OAApD,UACI,oBAAII,MAAM,2BAAV,sCACA,cAAC,GAAD,CAAgBtR,MAAS82E,EACb77C,OAAO,oBACPswC,eAAgB1lC,EAAoB/hB,MACpCya,SAlvBX,SAAC6sC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAexiB,QAASwiB,EAAexiB,MAAQ,IACpDwiB,EAAexiB,MAAMzjB,KAAK+qE,EAAWtnE,QACrCgiC,EAAuBQ,IA8uBCohC,SA3uBR,SAACzjE,GACjB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAexiB,MAAM7W,QAAQhJ,EAAMH,QAC3CwiC,EAAexiB,MAAM5hB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IAuuBCz1B,MAAM,OACN0rB,SAAS,UAI7B,sBAAKjrB,MAAOymE,EAAZ,UACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,GAA3C,UACI,oBAAI9hE,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,mCACA,cAAC,GAAD,CAAkBnV,MAASg3E,EACnB/7C,OAAO,eACPH,cAAe+K,EAAoB1sB,KACnCqjB,UA1iBP,SAAC4uC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAentB,KAAOiyD,EACtBtlC,EAAuBQ,IAuiBHz1B,MAAM,OACNyqB,gBAAmB,QAG/B,sBAAKhqB,MAAM,yBAAyBC,MAAO6hE,GAA3C,UACI,oBAAI9hE,MAAM,2BAA4BC,MAAO,CAAC4D,aAAa,QAA3D,yCACA,cAAC,GAAD,CAAkBnV,MAASi3E,EACnBh8C,OAAO,gBACPH,cAAe+K,EAAoBtiB,MACnCiZ,UA3jBN,SAAC4uC,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe/iB,MAAQ6nD,EACvBtlC,EAAuBQ,IAwjBHz1B,MAAM,eAItB,sBAAKS,MAAM,yCAAX,UACI,cAAC,GAAD,CACYkrB,UA1gBN,SAACq8C,GACf,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9iB,IAAMq1D,EACrB/yC,EAAuBQ,IAugBHhpB,IAAKuoB,EAAoBriB,IACzB4uD,WAAY,EACZxhE,OAAS,wBAErB,cAAC,GAAD,CACY4rB,UAzgBN,SAACq8C,GACf,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAeviB,IAAM80D,EACrB/yC,EAAuBQ,IAsgBHhpB,IAAKuoB,EAAoB9hB,IACzBquD,WAAY,EACZxhE,OAAS,kCAGzB,qBAAKU,MAAM,yCAAX,SACK0mE,OAIPc,GACF,gCACI,sBAAKxnE,MAAOymE,EAAZ,UACI,cAAC1M,GAAD,CACYz6D,OAAO,2BACP4rB,UAj4BD,SAAC/Z,EAAQC,GAC5B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAetiB,aAAevB,EAC9B6jB,EAAeriB,aAAevB,EAC9BojB,EAAuBQ,IA63BH7jB,OAAQojB,EAAoB7hB,aAC5BtB,IAAKmjB,EAAoB5hB,aACzBgX,OAAS,aACT6tC,eAAiB,cACjBC,eAAiB,eAE7B,cAACsC,GAAD,CACYz6D,OAAO,4BACP4rB,UAl3BA,SAAC/Z,EAAQC,GAC7B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAehiB,cAAgB7B,EAC/B6jB,EAAe/hB,cAAgB7B,EAC/BojB,EAAuBQ,IA82BH7jB,OAAQojB,EAAoBvhB,cAC5B5B,IAAKmjB,EAAoBthB,cACzB0W,OAAS,cACT6tC,eAAiB,cACjBC,eAAiB,kBAGjC,sBAAKz3D,MAAOymE,EAAZ,UACI,cAAC1M,GAAD,CACYz6D,OAAO,+BACP4rB,UA74BA,SAAC/Z,EAAQC,GAC7B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAepiB,cAAgBzB,EAC/B6jB,EAAeniB,cAAgBzB,EAC/BojB,EAAuBQ,IAy4BH7jB,OAAQojB,EAAoB3hB,cAC5BxB,IAAKmjB,EAAoB1hB,cACzB8W,OAAS,cACT6tC,eAAiB,cACjBC,eAAiB,eAE7B,cAACsC,GAAD,CACYz6D,OAAO,gBACP4rB,UA94BD,SAAC/Z,EAAQC,GAC5B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAeliB,aAAe3B,EAC9B6jB,EAAejiB,aAAe3B,EAC9BojB,EAAuBQ,IA04BH7jB,OAAQojB,EAAoBzhB,aAC5B1B,IAAKmjB,EAAoBxhB,aACzB4W,OAAS,aACT6tC,eAAiB,cACjBC,eAAiB,kBAGjC,sBAAKz3D,MAAOymE,EAAZ,UACI,cAAC1M,GAAD,CACYz6D,OAAO,wBACP4rB,UAz4BA,SAAC/Z,EAAQC,GAC7B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9hB,cAAgB/B,EAC/B6jB,EAAe7hB,cAAgB/B,EAC/BojB,EAAuBQ,IAq4BH7jB,OAAQojB,EAAoBrhB,cAC5B9B,IAAKmjB,EAAoBphB,cACzBwW,OAAS,cACT6tC,eAAiB,cACjBC,eAAiB,eAE7B,cAACsC,GAAD,CACYz6D,OAAO,wDACP4rB,UA14BD,SAAC/Z,EAAQC,GAC5B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe5hB,aAAejC,EAC9B6jB,EAAe3hB,aAAejC,EAC9BojB,EAAuBQ,IAs4BH7jB,OAAQojB,EAAoBnhB,aAC5BhC,IAAKmjB,EAAoBlhB,aACzBsW,OAAS,aACT6tC,eAAiB,cACjBC,eAAiB,qBAMnCgQ,GACF,gCACI,sBAAKznE,MAAM,yCAAX,UACI,sBAAKA,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,oBACA,cAAC,GAAD,CAAkBnV,MAASo3E,EACnBn8C,OAAO,eACPH,cAAe+K,EAAoB/gB,SACnC0X,UA9oBE,SAAC4uC,GACvB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexhB,SAAWsmD,EAC1BtlC,EAAuBQ,IA2oBHz1B,MAAM,OACN0rB,SAAS,EACTjB,gBAAmB,QAG/B,sBAAKhqB,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAA4BC,MAAO,CAAC4D,aAAa,QAA3D,kBACA,cAAC,GAAD,CAAkBnV,MAASq3E,EACnBp8C,OAAO,eACPH,cAAe+K,EAAoBhhB,MACnC2X,UAlpBK,SAAC4uC,GAC1B,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAezhB,MAAQumD,EACvBtlC,EAAuBQ,IA+oBHz1B,MAAM,YAGlB,cAAC,GAAD,CACY2rB,UAhpBH,SAACq8C,GAClB,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe1hB,IAAMi0D,EACrB/yC,EAAuBQ,IA6oBHhpB,IAAKuoB,EAAoBjhB,IACzBwtD,WAAY,EACZxhE,OAAS,OACTyhE,OAAS,cAGzB,qBAAK/gE,MAAOymE,EAAZ,SACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,GAA3C,UACI,oBAAI9hE,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,sDACA,cAAC,GAAD,CAAkBnV,MAASs3E,EACnBr8C,OAAO,eACPH,cAAe+K,EAAoB7gB,UACnCwX,UAtpBQ,SAAC4uC,GAC7B,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAethB,UAAYomD,EAC3BtlC,EAAuBQ,IAmpBHz1B,MAAM,OACNyqB,gBAAmB,aAOrC09C,GACF,gCACI,sBAAK1nE,MAAOymE,EAAZ,UACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,GAA3C,UACI,oBAAI9hE,MAAM,2BAAV,iDACA,cAAC,GAAD,CAAgBtR,MAASw3E,EACbv8C,OAAO,oBACPswC,eAAgB1lC,EAAoB3gB,MACpCqZ,SAx3BR,SAAC6sC,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAephB,QAASohB,EAAephB,MAAQ,IACpDohB,EAAephB,MAAM7kB,KAAK+qE,EAAWtnE,QACrCgiC,EAAuBQ,IAo3BCohC,SAj3BL,SAACzjE,GACpB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAephB,MAAMjY,QAAQhJ,EAAMH,QAC3CwiC,EAAephB,MAAMhjB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IA62BCz1B,MAAM,OACN0rB,SAAS,OAGzB,sBAAKjrB,MAAM,yBAA0BC,MAAO,CAACL,MAAO,OAApD,UACI,oBAAII,MAAM,2BAAV,sDACA,cAAC,GAAD,CAAgBtR,MAASu3E,EACbt8C,OAAO,oBACPswC,eAAgB1lC,EAAoB5gB,MACpCsZ,SAn5BP,SAAC6sC,GAClB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAerhB,QAASqhB,EAAerhB,MAAQ,IACpDqhB,EAAerhB,MAAM5kB,KAAK+qE,EAAWtnE,QACrCgiC,EAAuBQ,IA+4BCohC,SA54BJ,SAACzjE,GACrB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAerhB,MAAMhY,QAAQhJ,EAAMH,QAC3CwiC,EAAerhB,MAAM/iB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IAw4BCz1B,MAAM,OACN0rB,SAAS,UAI7B,qBAAKjrB,MAAOymE,EAAZ,SACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,GAA3C,UACI,oBAAI9hE,MAAM,2BAAV,6CACA,cAAC,GAAD,CAAgBtR,MAASy3E,EACbx8C,OAAO,0BACPswC,eAAgB1lC,EAAoB1gB,MACpCoZ,SAh4BR,SAAC6sC,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAenhB,QAASmhB,EAAenhB,MAAQ,IACpDmhB,EAAenhB,MAAM9kB,KAAK+qE,EAAWtnE,QACrCgiC,EAAuBQ,IA43BCohC,SAz3BL,SAACzjE,GACpB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAenhB,MAAMlY,QAAQhJ,EAAMH,QAC3CwiC,EAAenhB,MAAMjjB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IAq3BCz1B,MAAM,OACN0rB,SAAS,YAO/B08C,GACE,cAAC,GAAD,CAAqBj5E,MAAS+2E,EAC1B97C,OAAO,mBACPswC,eAAgB1lC,EAAoB97B,IACpC0kE,OAAQ5oC,EAAoBviB,KAC5BorD,WA7xBE,SAAC3sD,GACX,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACxBA,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,MAEnDukB,EAAev8B,IAAI1J,KAAK,CACpB4J,OAAQ8X,EACR7X,MAAO,GACPC,MAAO,KAGf27B,EAAuBQ,IAmxBfsoC,WAhwBK,SAAC7sD,GACd,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAev8B,IAAMu8B,EAAev8B,IAAIuwB,QAAO,SAAA51B,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACxF+jB,EAAuBQ,IA6vBf4mC,WAjxBK,SAACnrD,EAAM8pD,GACpB,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAIt8B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACtE/X,IACI6hE,GACA7hE,EAAGC,QAA4B,EAAnB9H,KAAK+pE,IAAInqD,GACrB/X,EAAGE,MAAQ,GACXF,EAAGG,MAAQ,IAEXH,EAAGC,OAAS9H,KAAK+pE,IAAInqD,IAG7B+jB,EAAuBQ,IAqwBfynC,YA11BG,SAAChsD,EAAMm3D,EAAOxM,GACzB,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAIt8B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAELF,EAAGE,MAAMhK,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWivE,MAE5ClvE,EAAGE,MAAM7J,KAAK,CAAC4J,OAAOivE,EAAOj1E,MAAOyoE,KAG5C5mC,EAAuBQ,IA80BfwnC,YA30BM,SAAC/rD,EAAMm3D,GACrB,IAAM5yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAIt8B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAEfF,EAAGE,MAAQF,EAAGE,MAAMowB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAWivE,MAEvDpzC,EAAuBQ,IAk0BfqnC,aA/zBI,SAAC5rD,EAAMo3D,EAAOC,EAAU1M,GACpC,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAIt8B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEJH,EAAGG,MAAMjK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAEjEpvE,EAAGG,MAAM9J,KAAK,CAACgK,IAAK8uE,EAAO/uE,KAAMgvE,EAAU1M,IAAKA,KAGxD5mC,EAAuBQ,IAmzBfmnC,aAhzBO,SAAC1rD,EAAMo3D,EAAOC,GAC7B,IAAM9yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAIt8B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEfH,EAAGG,MAAQH,EAAGG,MAAMmwB,QAAO,SAAA51B,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAE3EtzC,EAAuBQ,IAuyBfkoC,gBA/vBS,SAACvqE,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAehjB,KAAOrf,EACtB6hC,EAAuBQ,IA4vBfz1B,MAAM,OACND,OAAQ,GACRm+D,eAAe,EACfxkB,kBAAqB,qBACrBzhD,KAAM,MAIZuwE,GACF,gCACI,qBAAK/nE,MAAM,yCAAX,SACK2mE,IAEL,qBAAK3mE,MAAM,yCAAX,SACK4mE,IAEL,qBAAK5mE,MAAM,yCAAX,SACK6mE,IAEL,qBAAK7mE,MAAM,yCAAX,SACK8mE,KAEL,qBAAK9mE,MAAM,yCAAX,SACK+mE,QAKPiB,GACF,gCACI,sBAAKhoE,MAAM,qFAAX,UACKgnE,GACD,sBAAKhnE,MAAM,uCAAX,UACI,qBAAKA,MAAM,uBAAX,SACQ,+CAER,cAAC,GAAD,CACIgQ,KAAMukB,EAAoBvkB,KAC1B0vD,OAAQnrC,EAAoBtkB,QAC5Bib,UA1tBD,SAAC+8C,EAAWC,GAC3B,IAAMlzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAehlB,KAAOi4D,EACtBjzC,EAAe/kB,QAAUi4D,EACzB1zC,EAAuBQ,YAytBnB,qBAAKh1B,MAAM,8CAAX,SACI,sBAAKA,MAAM,wBAAuBC,MAAO,CAACL,MAAM,QAAhD,UACI,oBAAII,MAAM,2BAAV,2BACA,sBAAKA,MAAM,SAAX,UACI,qBAAKA,MAAM,QAAX,SACKsmE,IAEL,qBAAKtmE,MAAOojE,EAA2B5oE,GAAG,uBAA1C,SACKgsE,YAKjB,qBAAKxmE,MAAM,iDAAX,SACI,uBAAMA,MAAOqjE,EAA2B/iE,QAAS,SAACC,GAptD1D4iE,GAAwBD,IAotDhB,UAAmFI,EAAnF,IAA0G,qBAAK5iE,IAAI,6BAA6BwF,IAAI,6BAsB1JiiE,GACF,gCACI,qBAAKnoE,MAAM,yCAAX,SACKmnE,KAEL,qBAAKnnE,MAAM,yCAAX,SACKonE,QAKPgB,GACF,qBAAKpoE,MAAM,yCAAX,SACKqnE,KAIHgB,GACF,gCACI,qBAAKroE,MAAM,yCAAX,SACKinE,KAEL,qBAAKjnE,MAAM,yCAAX,SACKknE,KAEL,qBAAKzjE,UAAU,uBAAf,SACI,cAAC,GAAD,CAAkB/U,MAAS03E,EACfz8C,OAAO,mBACPswC,eAAgB1lC,EAAoBzgB,OACpCmZ,SAn/BD,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAelhB,SAAUkhB,EAAelhB,OAAS,IACjDkhB,EAAelhB,OAAOsG,SAAS0/C,KAChC9kC,EAAelhB,OAAO/kB,KAAK+qE,GAC3BtlC,EAAuBQ,KA8+BPohC,SA/9BE,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAelhB,OAAOnY,QAAQhL,SAASgC,IAC/CqiC,EAAelhB,OAAOljB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IA29BH0sC,QA3+BC,SAAC5H,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAGjD,GAFA4kC,EAAY5kC,EAAqBS,GAC5BA,EAAelhB,SAAUkhB,EAAelhB,OAAS,IAClDkhB,EAAelhB,OAAOsG,SAAS0/C,GAAY,CAC3C,IAAI57C,EAAM8W,EAAelhB,OAAOnY,QAAQm+D,GACxC9kC,EAAelhB,OAAOljB,OAAOstB,EAAI,GAAgB,EAAd47C,GACnCtlC,EAAuBQ,KAq+BP11B,OAAQ,qBACRC,MAAM,OACNyqB,gBAAmB,UAMrCs+C,GACF,cAAC,GAAD,CAAgB55E,MAASk3E,EACrBj8C,OAAO,uBACPswC,eAAgB1lC,EAAoBrgB,QACpCksD,SAtyBiB,SAACmI,EAAchiB,GACpC,IAAMvxB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI5hC,EAAO4hC,EAAe9gB,QAAQtlB,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS4vE,KACzDn1E,EACAA,EAAKghB,IAAMmyC,EAEXvxB,EAAe9gB,QAAQnlB,KAAK,CAAC4J,OAAQ4vE,EAAcn0D,IAAKmyC,IAE5D/xB,EAAuBQ,IA8xBnBohC,SA3xBiB,SAACmS,GACtB,IAAMvzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9gB,QAAU8gB,EAAe9gB,QAAQ8U,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAS4vE,KAC7E/zC,EAAuBQ,IAwxBnBz1B,MAAM,SAIRipE,GACF,cAAC,GAAD,CAAgB95E,MAASm3E,EACrBl8C,OAAO,uBACPswC,eAAgB1lC,EAAoBlgB,QACpC+rD,SA7xBe,SAACmI,EAAchiB,GAClC,IAAMvxB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI5hC,EAAO4hC,EAAe3gB,QAAQzlB,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS4vE,KACzDn1E,EACAA,EAAKghB,IAAMmyC,EAEXvxB,EAAe3gB,QAAQtlB,KAAK,CAAC4J,OAAQ4vE,EAAcn0D,IAAKmyC,IAE5D/xB,EAAuBQ,IAqxBnBohC,SAlxBe,SAACmS,GACpB,IAAMvzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe3gB,QAAU2gB,EAAe3gB,QAAQ2U,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAS4vE,KAC7E/zC,EAAuBQ,IA+wBnBz1B,MAAM,SAIRkpE,GACF,cAAC,GAAD,CAAe5G,eAAkBwE,EAC7B18C,OAAO,uBACP5V,MAASwgB,EAAoBxgB,MAC7BvC,MAAS+iB,EAAoB/iB,MAC7B+oD,OAAUhmC,EAAoBtgB,QAC9BjQ,YAAc,+BACd+9D,YAAc,uBACdC,eAAiB,YACjB92C,UAzxBoB,SAACw9C,EAAUC,EAAYpO,GAC/C,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexjB,MAAQk3D,EACvB1zC,EAAejhB,MAAQ40D,EACvB3zC,EAAe/gB,QAAUsmD,EACzB/lC,EAAuBQ,IAoxBnBz1B,MAAM,SAIR+5D,GAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,GAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAGlK,OACI,qBAAKsI,MAAM,UAAX,SACoC,OAA7Bo0B,EAAgB/6B,SACf,cAAC,GAAD,CAAciG,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OA9ZpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IA2ZuIY,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,GAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,sBAAKh5D,MAAM,SAAX,UACI,cAAC,GAAD,CACI/E,QAAQ,EACRqE,OAAS,kBACTF,UAAakoE,GACb9vE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,SACTF,UAAaooE,GACbhwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,UACTF,UAAaqoE,GACbjwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,wCACTF,UAAasoE,GACblwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,iBACTF,UAAauoE,GACbnwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,sBACTF,UAAa+oE,GACb3wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,mDACTF,UAAa2oE,GACbvwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,0BACTF,UAAaipE,GACb7wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,kCACTF,UAAa4oE,GACbxwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,iCACTF,UAAagpE,GACb5wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,4BACTF,UAAakpE,GACb9wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,0BACTF,UAAaopE,GACbhxE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,QACTF,UAAaqpE,GACbjxE,KAAQ,OAIhB,qBAAKwI,MAAM,iDAAiDC,MAAOs5D,GAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAER,cAAC,GAAD,CAAiBzC,YAAauC,UCj3B/B+P,GA9qCM,SAACzpE,GAClB,MAA8CyB,mBAAS,CACnDvH,SAAU,KACV6oE,SAAU,KACVC,UAAW,KACXG,UAAW,KACXuG,UAAW,KACXtG,SAAU,KACVC,UAAW,KACXQ,UAAW,KACXC,UAAW,OATf,mBAAO7uC,EAAP,KAAwBC,EAAxB,KAWA,EAAsDzzB,mBAAS,CAC3DsD,IAAK/E,EAAM+E,IACXqO,OAAQpT,EAAMoT,OACdC,MAAOrT,EAAMqT,MACb/Z,IAAK0G,EAAM1G,IACXuZ,KAAM7S,EAAM6S,KACZC,MAAO9S,EAAM8S,MACbpK,KAAM1I,EAAM0I,KACZuI,MAAOjR,EAAMiR,MACbqE,UAAWtV,EAAMsV,UACjBxb,IAAMkG,EAAMlG,IAAMkG,EAAMlG,IAAM,GAC9BiZ,IAAK/S,EAAM+S,IACXQ,aAAcvT,EAAMuT,aACpBC,aAAcxT,EAAMwT,aACpBG,aAAc3T,EAAM2T,aACpBC,aAAc5T,EAAM4T,aACpBe,OAAQ3U,EAAM2U,OACdC,MAAO5U,EAAM4U,MACbvC,MAAOrS,EAAMqS,MACbyC,QAAS9U,EAAM8U,UAnBnB,mBAAOsgB,EAAP,KAA4BC,EAA5B,KAuBAxxB,qBAAU,WAC2B,OAA7BoxB,EAAgB/6B,UAChByvB,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAclI,6BACbxX,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLp7B,SAAW2D,EAASC,KAAKu7C,YACzBgqB,UAAWxlE,EAASC,KAAK27D,aACzB2J,SAAUvlE,EAASC,KAAKygD,OACxBykB,UAAYnlE,EAASC,KAAKsmE,KAC1BrB,SAAWllE,EAASC,KAAKumE,YACzBqF,UAAY7rE,EAASC,KAAK6rE,SAC1BxG,UAAYtlE,EAASC,KAAK0mE,aAC1BX,UAAWhmE,EAASC,KAAK+tC,SACzBi4B,UAAWjmE,EAASC,KAAK4pD,WAE7BpyB,EAAGp7B,SAASzI,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,6BACxC0H,EAAG+tC,UAAU5xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAG8tC,SAAS3xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wCACxC0H,EAAG6tC,UAAU1xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,2BACzC0H,EAAGo0C,UAAUj4E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,6BACzC0H,EAAG0tC,UAAUvxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,yBAAsB,CAACD,OAAO,EAAGC,MAAM,MACjF0H,EAAGytC,SAAStxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,wCAAqC,CAACD,OAAO,EAAGC,MAAM,MAC/F0H,EAAGuuC,UAAUpyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAGwuC,UAAUryE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,8BAA2B,CAACD,OAAO,EAAGC,MAAM,MACtFsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAK7BmhE,EAAmB,SAACC,GAEtB,IADA,IAAIC,EAAW,GACPj1E,EAAE,EAAGA,EAAGg1E,EAAS30E,OAAQL,IAAI,CACjC,IAAIk1E,EAAaF,EAASh1E,GAC1B,GAAqB,QAAjBk1E,EAAWrQ,KAEX,IADIsQ,EAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAMsrE,EAAWtrE,SAC1DurE,EAAQnrE,SAAWmrE,EAAQnrE,QAAQ3J,OAAO,EAAE,CAEvD,IADA,IAAI+0E,EAAS,GACLt0E,EAAE,EAAGA,EAAEq0E,EAAQnrE,QAAQ3J,OAAQS,IAAI,CAC9Bs0E,GAALt0E,EAAE,EAAa,MACJo0E,EAAWtQ,IAAM,KAEhCwQ,GADaF,EAAWprE,IAAIrK,MAAK,SAAAqlE,GAAG,OAAGA,EAAIA,MAAQqQ,EAAQnrE,QAAQlJ,MAClD8jE,IAEN,KAAXwQ,GACAH,EAAWr1E,KAAKw1E,SAEtB,GAAqB,QAAjBF,EAAWrQ,IAAY,CAC7B,IAAIsQ,KAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAGA,EAAK2F,MAAMsrE,EAAWtrE,SACzDurE,EAAQ3xE,OAA2B,KAAlB2xE,EAAQ3xE,OAAkC,MAAlB2xE,EAAQ3xE,QACtC,MAAlB2xE,EAAQ3xE,MACRyxE,EAAWr1E,KAAKs1E,EAAWtQ,KACH,MAAlBuQ,EAAQ3xE,OACdyxE,EAAWr1E,KAAK,MAAQs1E,EAAWtQ,IAAIthE,iBAKvD,IAAIvC,EAAI,GACR,GAAIk0E,EAAW50E,OAAO,EAElB,IADIU,EAAMk0E,EAAW,GACZj1E,EAAE,EAAGA,EAAEi1E,EAAW50E,OAAQL,IAC/Be,GAAO,KAAOk0E,EAAWj1E,GAGjC,OAAOe,GA6OP2oE,EA1O6B,WAC7B,IAAI3oE,EAAM,GAOV,GALIqkC,EAAoBrwB,KAAkC,IAA3BqwB,EAAoBrwB,KAC/ChU,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBrwB,MAIhEqwB,EAAoBhiB,QAAYgiB,EAAoBhiB,OAAO/iB,OAAO,GAC/D4kC,EAAgBouC,UAAU,CAE1B,IADA,IAAI7vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBhiB,OAAO/iB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgBouC,UAAU5zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBhiB,OAAOpjB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAOA,IAIvD,GAAK4hC,EAAoB/hB,OAAW+hB,EAAoB/hB,MAAMhjB,OAAO,GAC7D4kC,EAAgBmuC,SAAS,CAEzB,IADI5vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB/hB,MAAMhjB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgBmuC,SAAS3zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/hB,MAAMrjB,SAEnE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAOA,IAoB/D4hC,EAAoB1sB,KAAK,IACrBusB,EAAgB8tC,WACZ9uE,EAAOghC,EAAgB8tC,SAAStzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB1sB,UAE3E3X,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAOS,EAAK25B,SAI7DwH,EAAoBtiB,MAAM,IACtBmiB,EAAgB+tC,YACZ/uE,EAAOghC,EAAgB+tC,UAAUvzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBtiB,WAE5E/hB,EAAInB,KAAM,CAACuQ,OAAQ,SAAO3M,MAAOS,EAAK25B,SAIlD,IAAIy3C,EAAYjwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OAC3D,GAAIyrE,GAAa,EAAE,CACf,IAAIC,EAAWlwC,EAAoBt7B,IAAIurE,GACvC,GAAIC,EAAWtrE,QAAQ3J,OAAO,EAAE,CAC5B,IAAIk1E,EAAW,GACf,IAASv1E,EAAE,EAAGA,EAAEs1E,EAAWtrE,QAAQ3J,OAAQL,IACnCA,EAAE,IAAGu1E,GAAY,OACrBA,GAAY5Q,GAAW,GAAG76D,IAAIrK,MAAK,SAAAsK,GAAE,OAAGA,EAAG+6D,MAAQwQ,EAAWtrE,QAAQhK,MAAI4kE,IAE9E7jE,EAAInB,KAAK,CAACuQ,OAAQ,SAAU3M,MAAO+xE,KAI3C,IA+HInyE,EA/HAoyE,EAASpwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OACxD,GAAI4rE,GAAU,EAAE,CACZ,IAAIC,EAAQrwC,EAAoBt7B,IAAI0rE,GAChB,MAAhBC,EAAQjyE,MACRzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,UACrB,MAAhBiyE,EAAQjyE,OACdzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,OA6BnD,GAzBI4hC,EAAoBriB,IAAI,GACxBhiB,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBriB,IAAI3hB,aAGrEgkC,EAAoB7hB,aAChB6hB,EAAoB5hB,aACpBziB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoB7hB,cAAgB,MAAQ7f,EAAqB0hC,EAAoB5hB,gBAE3KziB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,eAAiBE,EAAqB0hC,EAAoB7hB,gBAEnG6hB,EAAoB5hB,cAC1BziB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,cAAgBE,EAAqB0hC,EAAoB5hB,gBAIpG4hB,EAAoBzhB,aAChByhB,EAAoBxhB,aACpB7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBzhB,cAAgB,MAAQjgB,EAAqB0hC,EAAoBxhB,gBAE3K7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,eAAiBE,EAAqB0hC,EAAoBzhB,gBAEnGyhB,EAAoBxhB,cAC1B7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,cAAgBE,EAAqB0hC,EAAoBxhB,gBAGnGwhB,EAAoBzgB,QAAYygB,EAAoBzgB,OAAOtkB,OAAO,GAC/D4kC,EAAgB4uC,UAAU,CAE1B,IADIrwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBzgB,OAAOtkB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgB4uC,UAAUp0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoBzgB,OAAO3kB,UAE9E,KAAVwD,IACAA,GAAS,OACT4hC,EAAoBzgB,OAAO3kB,GAAG,IAC9BwD,GAAS,OACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,iBAAkB3M,MAAOA,IAIxD,GAAK4hC,EAAoB97B,KAAS87B,EAAoB97B,IAAIjJ,OAAO,GACzD4kC,EAAgB/6B,SAAS,CACzB,IAAIiG,EAAS,iBACb,IAASnQ,EAAG,EAAGA,EAAEolC,EAAoB97B,IAAIjJ,OAAQL,IAAI,CAC7CwD,EAAQ,GAEZ,GADIS,EAAOghC,EAAgB/6B,SAASzK,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoB97B,IAAItJ,GAAGwJ,WACtF,CACD47B,EAAoB97B,IAAItJ,GAAGwJ,OAAO,IAClChG,GAAS,gBACbA,GAASS,EAAK25B,MACd,IAAIn0B,EAAQ27B,EAAoB97B,IAAItJ,GAAGyJ,MACvC,GAAIA,GAASA,EAAMpJ,OAAO,EACtB,IAAK,IAAIS,EAAE,EAAGA,EAAE2I,EAAMpJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMiG,EAAM3I,GAAG0C,MAGhC,IAAIkG,EAAQ07B,EAAoB97B,IAAItJ,GAAG0J,MACvC,GAAIA,GAASA,EAAMrJ,OAAO,EACtB,IAASS,EAAE,EAAGA,EAAE4I,EAAMrJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMkG,EAAM5I,GAAGmrE,IAIpClrE,EAAInB,KAAK,CAACuQ,OAAOA,EAAQ3M,MAAOA,IAChC2M,EAAS,GAETi1B,EAAoBviB,KACpB9hB,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,uDAG7BzC,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,kDAKzC,GAAI4hC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvhB,OAAOhD,OAAO,GACjE4kC,EAAgB6uC,UAAU,CAC1B,IAIQ7vE,EAJJnC,EAAM,0CAGV,GAFIsjC,EAAoBtgB,UACpBhjB,EAAM,2CACNsjC,EAAoB/iB,OAAS+iB,EAAoB/iB,MAAM,GACnDpe,EAAOghC,EAAgB6uC,UAAUr0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/iB,YAGxEvgB,EADAsjC,EAAoBtgB,QACd7gB,EAAK25B,MAAMv6B,OAAS,yBAEpBY,EAAK25B,MAAMv6B,OAAS,uBAGtCvB,GAAO,IAAOsjC,EAAoBxgB,MAAQ,IAC1C7jB,EAAInB,KAAK,CAACuQ,OAAQ,yBAAuB3M,MAAO1B,KAK5C,MADRsB,EAAM2xE,EAAiBvP,MAEvBzkE,EAAInB,KAAK,CAACuQ,OAAQ,sBAAuB3M,MAAMJ,IAGvC,MADRA,EAAM2xE,EAAiBtP,MAEvB1kE,EAAInB,KAAK,CAACuQ,OAAQ,kBAAgB3M,MAAMJ,IAGhC,MADRA,EAAM2xE,EAAiBrP,MAEvB3kE,EAAInB,KAAK,CAACuQ,OAAQ,0BAA2B3M,MAAMJ,IAG3C,MADRA,EAAM2xE,EAAiBpP,MAEvB5kE,EAAInB,KAAK,CAACuQ,OAAQ,kBAAgB3M,MAAMJ,IAExCgiC,EAAoBnkB,MAAM,KACtBgkB,EAAgBkuC,YACZlvE,EAAOghC,EAAgBkuC,UAAU1zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBnkB,WAE5ElgB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAc3M,MAAOS,EAAK25B,SAGrDwH,EAAoB9f,UAAU,IAC1B2f,EAAgBy0C,YACZz1E,EAAOghC,EAAgBy0C,UAAUj6E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB9f,eAE5EvkB,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAOS,EAAK25B,SAI9D,OAAO78B,EAGG4oE,GAERiM,EAAexwC,EAAoB97B,KAAO87B,EAAoB97B,IAAIjJ,OAAO,GACvE+kC,EAAoBrwB,KAAOqwB,EAAoBrwB,IAAI1U,QAAQ,GAC3D+kC,EAAoBhiB,QAAUgiB,EAAoBhiB,OAAO/iB,OAAO,GAChE+kC,EAAoB/hB,OAAS+hB,EAAoB/hB,MAAMhjB,OAAO,GAC9D+kC,EAAoBnkB,MAAM,GAC1BmkB,EAAoB9f,UAAU,GAC9B8f,EAAoB1sB,KAAK,GACzB0sB,EAAoBtiB,MAAM,GAC1BsiB,EAAoBt7B,KAAOs7B,EAAoBt7B,IAAIzJ,OAAO,GAC1D+kC,EAAoBriB,IAAM,GAC1BqiB,EAAoB7hB,cAAkB6hB,EAAoB5hB,cAC1D4hB,EAAoBzhB,cAAkByhB,EAAoBxhB,cAC1DwhB,EAAoBzgB,QAAUygB,EAAoBzgB,OAAOtkB,OAAO,GAChE+kC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvkB,OAAO,EAEhEupE,EAAc,SAACx4D,GACjB,GAAIwkE,EAAY,CAGZ5lE,EAAM4d,aAAa,CACfC,UAHY,eAIZ9Y,IAAKqwB,EAAoBrwB,IACzBqO,OAAQgiB,EAAoBhiB,OAC5BC,MAAO+hB,EAAoB/hB,MAC3BpC,MAAOmkB,EAAoBnkB,MAC3BqE,UAAW8f,EAAoB9f,UAC/Bhc,IAAK87B,EAAoB97B,IACzBuZ,KAAMuiB,EAAoBviB,KAC1BC,MAAOsiB,EAAoBtiB,MAC3BpK,KAAM0sB,EAAoB1sB,KAC1B5O,IAAKs7B,EAAoBt7B,IACzBiZ,IAAKqiB,EAAoBriB,IACzBS,aAAc4hB,EAAoB5hB,aAClCD,aAAc6hB,EAAoB7hB,aAClCK,aAAcwhB,EAAoBxhB,aAClCD,aAAcyhB,EAAoBzhB,aAClCgB,OAAQygB,EAAoBzgB,OAC5BC,MAAOwgB,EAAoBxgB,MAC3BvC,MAAO+iB,EAAoB/iB,MAC3ByC,QAASsgB,EAAoBtgB,YAKnC+kD,EAAgB,SAACz4D,GAsBnBi0B,EArBsB,CAClB/7B,IAAK,GACLyL,IAAK,GACLqO,OAAQ,GACRC,MAAO,GACPpC,MAAO,EACPqE,UAAW,EACXzC,KAAM,IACNC,MAAO,EACPpK,KAAM,EACN5O,IAAK,GACLiZ,IAAK,EACLS,aAAc,KACdD,aAAc,KACdK,aAAc,KACdD,aAAc,KACdgB,OAAQ,GACRC,MAAO,GACPvC,MAAO,EACPyC,SAAS,IAGb,IAAIglD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAMzC0kE,EAAc,SAACC,EAAOC,GACxBA,EAAQ1mD,aAAeymD,EAAOzmD,aAC9B0mD,EAAQ3mD,aAAe0mD,EAAO1mD,aAC9B2mD,EAAQtmD,aAAeqmD,EAAOrmD,aAC9BsmD,EAAQvmD,aAAesmD,EAAOtmD,cAuQ5BoyD,EAAiB,SAACzG,EAAU0G,GAC9B,IAAMnwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMosE,KAClD,GAAI/xE,EACA,GAAiB,MAAbqrE,EACArrE,EAAKT,MAAQ8rE,MACZ,CACD,IAAIvgD,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,OAGlB,MAAZugD,GACAzpC,EAAe/7B,IAAIlK,KAAK,CAACgK,IAAIosE,EAAOxyE,MAAM8rE,IAGlDjqC,EAAuBQ,IAIrBowC,EAAiB,SAACpH,EAAWqH,GAC/B,IAAMrwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMssE,KAClD,GAAIjyE,EACA,GAAI4qE,EAAWxuE,OAAO,EAClB4D,EAAK+F,QAAU6kE,MACd,CACD,IAAI9/C,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,QAGlC,GAAI8/C,EAAWxuE,OAAO,EAAE,CACpB,IAAI81E,EAAU,CACVvsE,IAAKssE,EACLlsE,QAAS6kE,GAEbhpC,EAAe/7B,IAAIlK,KAAKu2E,GAGhC9wC,EAAuBQ,IAWrBuwC,EAAuBnxC,EAAgBouC,UAAapuC,EAAgBouC,UAAU9oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIy4C,EAAuBpxC,EAAgBmuC,SAAanuC,EAAgBmuC,SAAS7oE,KAAI,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI04C,EAAuBrxC,EAAgB/6B,SAAY+6B,EAAgB/6B,SAASK,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChI24C,EAAuBtxC,EAAgB8tC,SAAY9tC,EAAgB8tC,SAASxoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChI44C,EAAuBvxC,EAAgB+tC,UAAa/tC,EAAgB+tC,UAAUzoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI64C,EAAuBxxC,EAAgBkuC,UAAaluC,EAAgBkuC,UAAU5oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIg8C,EAAuB30C,EAAgBy0C,UAAaz0C,EAAgBy0C,UAAUnvE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIq5C,EAAuBhyC,EAAgB4uC,UAAa5uC,EAAgB4uC,UAAUtpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIs5C,EAAuBjyC,EAAgB6uC,UAAa7uC,EAAgB6uC,UAAUvpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAElI05C,EAAwB,uFAExBC,EAAiB5S,GAAWp6D,KAAI,SAAA0kE,GAAG,MACxB,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAIAiC,EAAmBxS,GAAaxkE,MAAM,EAAE,GAAGuJ,KAAI,SAAA0kE,GAAG,MACvC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BA0BA8D,EAAmBpU,GAAczkE,MAAM,EAAE,GAAGuJ,KAAI,SAAA0kE,GAAG,MACxC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA0B,EAAoBhS,GAAczkE,MAAM,GAAGuJ,KAAI,SAAA0kE,GAAG,MACvC,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAuBAmC,GApBmBxS,GAAan7D,KAAI,SAAA0kE,GAAG,MAC5B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGmBpQ,GAAap7D,KAAI,SAAA0kE,GAAG,MAC5B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,4BAIAhyC,EADQ18B,OAAO28B,WACG,IAElB2uC,EAAa5uC,EAAY,GAAK,CAACtzB,MAAO,OACtCqpE,EAAY/1C,EAAY,GAAK,CAACtzB,MAAO,OACrCspE,EAAah2C,EAAY,GAAK,CAACtzB,MAAO,OAItC0nE,EACF,gCACI,qBAAKtnE,MAAM,4CAAX,SACI,sBAAKA,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,oBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,QAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrwB,IAAKF,YAAY,yBAA2BC,SAAU,SAAC1D,GAAD,OAxWtH,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe9wB,IAAMvR,EACrB6hC,EAAuBQ,IAkWgH4kC,CAAUr5D,iBAMjJ,sBAAKP,MAAOymE,EAAZ,UACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,EAA3C,UACI,oBAAI9hE,MAAM,2BAAV,yBACA,cAAC,GAAD,CAAgBtR,MAAS62E,EACb57C,OAAO,qBACPswC,eAAgB1lC,EAAoBhiB,OACpC0a,SAlbL,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAeziB,SAAUyiB,EAAeziB,OAAS,IACtDyiB,EAAeziB,OAAOxjB,KAAK+qE,GAC3BtlC,EAAuBQ,IA8aCohC,SA3aF,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAeziB,OAAO5W,QAAQhL,SAASgC,IAC/CqiC,EAAeziB,OAAO3hB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IAuaCz1B,MAAM,YAGtB,sBAAKS,MAAM,yBAA0BC,MAAO,CAACL,MAAO,OAApD,UACI,oBAAII,MAAM,2BAAV,sCACA,cAAC,GAAD,CAAgBtR,MAAS82E,EACb77C,OAAO,oBACPswC,eAAgB1lC,EAAoB/hB,MACpCya,SA5aX,SAAC6sC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAexiB,QAASwiB,EAAexiB,MAAQ,IACpDwiB,EAAexiB,MAAMzjB,KAAK+qE,EAAWtnE,QACrCgiC,EAAuBQ,IAwaCohC,SAraR,SAACzjE,GACjB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAexiB,MAAM7W,QAAQhJ,EAAMH,QAC3CwiC,EAAexiB,MAAM5hB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IAiaCz1B,MAAM,OACN0rB,SAAS,UAI7B,sBAAKjrB,MAAM,yCAAX,UACI,sBAAKA,MAAM,yBAAyBC,MAAOgpE,EAA3C,UACI,oBAAIjpE,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,mCACA,cAAC,GAAD,CAAkBnV,MAASg3E,EACnB/7C,OAAO,eACPH,cAAe+K,EAAoB1sB,KACnCqjB,UA7RP,SAAC4uC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAentB,KAAOiyD,EACtBtlC,EAAuBQ,IA2RHz1B,MAAM,OACNyqB,gBAAiB,QAG7B,sBAAKhqB,MAAM,yBAAyBC,MAAOipE,EAA3C,UACI,oBAAIlpE,MAAM,2BAA4BC,MAAO,CAAC4D,aAAa,QAA3D,yCACA,cAAC,GAAD,CAAkBnV,MAASi3E,EACnBh8C,OAAO,gBACPH,cAAe+K,EAAoBtiB,MACnCiZ,UA7SN,SAAC4uC,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe/iB,MAAQ6nD,EACvBtlC,EAAuBQ,IA2SHz1B,MAAM,OACNyqB,gBAAiB,QAG7B,cAAC,GAAD,CACYkB,UAvSN,SAACq8C,GACf,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9iB,IAAMq1D,EACrB/yC,EAAuBQ,IAoSHhpB,IAAKuoB,EAAoBriB,IACzB4uD,WAAY,EACZxhE,OAAS,2BAGzB,qBAAKU,MAAM,yCAAX,SACK0mE,IAEL,sBAAK1mE,MAAOymE,EAAZ,UACI,cAAC1M,GAAD,CACYz6D,OAAO,gBACP4rB,UAviBD,SAAC/Z,EAAQC,GAC5B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAetiB,aAAevB,EAC9B6jB,EAAeriB,aAAevB,EAC9BojB,EAAuBQ,IAmiBH7jB,OAAQojB,EAAoB7hB,aAC5BtB,IAAKmjB,EAAoB5hB,aACzBgX,OAAS,aACT6tC,eAAiB,cACjBC,eAAiB,eAE7B,cAACsC,GAAD,CACYz6D,OAAO,gBACP4rB,UAxiBD,SAAC/Z,EAAQC,GAC5B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAeliB,aAAe3B,EAC9B6jB,EAAejiB,aAAe3B,EAC9BojB,EAAuBQ,IAoiBH7jB,OAAQojB,EAAoBzhB,aAC5B1B,IAAKmjB,EAAoBxhB,aACzB4W,OAAS,aACT6tC,eAAiB,cACjBC,eAAiB,qBAMnCkQ,EACE,cAAC,GAAD,CAAqBj5E,MAAS+2E,EAC1B97C,OAAO,mBACPswC,eAAgB1lC,EAAoB97B,IACpC0kE,OAAQ5oC,EAAoBviB,KAC5BorD,WAhYE,SAAC3sD,GACX,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACxCS,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,MAEnDukB,EAAev8B,IAAI1J,KAAK,CACpB4J,OAAQ8X,EACR7X,MAAO,GACPC,MAAO,KAGf27B,EAAuBQ,IAuXfsoC,WArWK,SAAC7sD,GACd,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAev8B,IAAMu8B,EAAev8B,IAAIuwB,QAAO,SAAA51B,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACxF+jB,EAAuBQ,IAmWf4mC,WArXK,SAACnrD,EAAM8pD,GACpB,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACtE/X,IACI6hE,GACA7hE,EAAGC,QAA4B,EAAnB9H,KAAK+pE,IAAInqD,GACrB/X,EAAGE,MAAQ,GACXF,EAAGG,MAAQ,IAEXH,EAAGC,OAAS9H,KAAK+pE,IAAInqD,IAG7B+jB,EAAuBQ,IA0WfynC,YAzbG,SAAChsD,EAAMm3D,EAAOxM,GACzB,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAELF,EAAGE,MAAMhK,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWivE,MAE5ClvE,EAAGE,MAAM7J,KAAK,CAAC4J,OAAOivE,EAAOj1E,MAAOyoE,KAG5C5mC,EAAuBQ,IA8afwnC,YA3aM,SAAC/rD,EAAMm3D,GACrB,IAAM5yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAEfF,EAAGE,MAAQF,EAAGE,MAAMowB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAWivE,MAEvDpzC,EAAuBQ,IAmafqnC,aAhaI,SAAC5rD,EAAMo3D,EAAOC,EAAU1M,GACpC,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEJH,EAAGG,MAAMjK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAEjEpvE,EAAGG,MAAM9J,KAAK,CAACgK,IAAK8uE,EAAO/uE,KAAMgvE,EAAU1M,IAAKA,KAGxD5mC,EAAuBQ,IAqZfmnC,aAlZO,SAAC1rD,EAAMo3D,EAAOC,GAC7B,IAAM9yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEfH,EAAGG,MAAQH,EAAGG,MAAMmwB,QAAO,SAAA51B,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAE3EtzC,EAAuBQ,IA0YfkoC,gBArWS,SAACvqE,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehjB,KAAOrf,EACtB6hC,EAAuBQ,IAmWfz1B,MAAM,OACND,OAAQ,GACRm+D,eAAe,EACfxkB,kBAAqB,qBACrBzhD,KAAM,MAIZ2wE,EACF,8BACI,qBAAKnoE,MAAM,yCAAyCC,MAAO,CAAC4D,aAAa,QAAzE,SACKsjE,MAKPY,EACF,gCACI,qBAAK/nE,MAAM,yCAAyCC,MAAO,CAAC4D,aAAa,QAAzE,SACKmlE,IAEL,sBAAKhpE,MAAM,yCAAyCC,MAAO,CAAC4D,aAAa,QAAzE,UACK+iE,EACD,8BAWNwB,EACF,qBAAKpoE,MAAM,yCAAX,SACKqnE,IAIHgB,EACF,8BACI,qBAAK5kE,UAAU,uBAAf,SACI,cAAC,GAAD,CAAkB/U,MAAS03E,EACfz8C,OAAO,mBACPswC,eAAgB1lC,EAAoBzgB,OACpCmZ,SAphBD,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAelhB,SAAUkhB,EAAelhB,OAAS,IACjDkhB,EAAelhB,OAAOsG,SAAS0/C,KAChC9kC,EAAelhB,OAAO/kB,KAAK+qE,GAC3BtlC,EAAuBQ,KA+gBPohC,SAhgBE,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAelhB,OAAOnY,QAAQhL,SAASgC,IAC/CqiC,EAAelhB,OAAOljB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IA4fH0sC,QA5gBC,SAAC5H,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAGjD,GAFA4kC,EAAY5kC,EAAqBS,GAC5BA,EAAelhB,SAAUkhB,EAAelhB,OAAS,IAClDkhB,EAAelhB,OAAOsG,SAAS0/C,GAAY,CAC3C,IAAI57C,EAAM8W,EAAelhB,OAAOnY,QAAQm+D,GACxC9kC,EAAelhB,OAAOljB,OAAOstB,EAAI,GAAgB,EAAd47C,GACnCtlC,EAAuBQ,KAsgBP11B,OAAQ,0BACRC,MAAM,OACNyqB,gBAAmB,SAMrCy+C,EACF,cAAC,GAAD,CAAe5G,eAAkBwE,EAC7B18C,OAAO,uBACP5V,MAASwgB,EAAoBxgB,MAC7BvC,MAAS+iB,EAAoB/iB,MAC7B+oD,OAAUhmC,EAAoBtgB,QAC9BjQ,YAAc,+BACd+9D,YAAc,uBACdC,eAAiB,YACjB92C,UA/YoB,SAACw9C,EAAUC,EAAYpO,GAC/C,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexjB,MAAQk3D,EACvB1zC,EAAejhB,MAAQ40D,EACvB3zC,EAAe/gB,QAAUsmD,EACzB/lC,EAAuBQ,IA0YnBz1B,MAAM,SAIR4pE,EACF,sBAAKnpE,MAAM,uFAAX,UACI,sBAAKA,MAAM,yBAA0BC,MAAO6hE,EAA5C,UACI,oBAAI9hE,MAAM,2BAAV,6BACA,cAAC,GAAD,CAActR,MAASq6E,EACXp/C,OAAO,8BACPH,cAAe+K,EAAoB9f,UACnCyW,UAhoBF,SAAC4uC,GACnB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAevgB,UAAYqlD,EAC3BtlC,EAAuBQ,IA8nBHohC,SArnBH,WACjB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAevgB,UAAY,EAC3B+f,EAAuBQ,IAmnBHz1B,MAAM,YAGtB,sBAAKS,MAAM,yBAA0BC,MAAO,CAACL,MAAO,OAApD,UACI,oBAAII,MAAM,2BAAV,2BACA,cAAC,GAAD,CAActR,MAASk3E,EACXj8C,OAAO,iCACPH,cAAe+K,EAAoBnkB,MACnC8a,UAhpBC,SAAC4uC,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ0pD,EACvBtlC,EAAuBQ,IA8oBHohC,SAroBA,WACpB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ,EACvBokB,EAAuBQ,IAmoBHz1B,MAAM,eAMxB+5D,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAElK,OACI,qBAAKsI,MAAM,UAAX,SACoC,OAA7Bo0B,EAAgB/6B,SACf,cAAC,GAAD,CAAciG,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OA7XpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IA0XuIY,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,sBAAKh5D,MAAM,SAAX,UACI,cAAC,GAAD,CACI/E,QAAQ,EACRqE,OAAS,kBACTF,UAAakoE,EACb9vE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,iBACTF,UAAauoE,EACbnwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,sBACTF,UAAa+oE,EACb3wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,iCACTF,UAAa2oE,EACbvwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,0BACTF,UAAaipE,EACb7wE,KAAQ,IAIZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,iCACTF,UAAagpE,EACb5wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,kCACTF,UAAa+pE,EACb3xE,KAAQ,IAEZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,QACTF,UAAaqpE,EACbjxE,KAAQ,OAIhB,qBAAKwI,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UC5WnCuQ,GA5zBM,SAACjqE,GAClB,MAA8CyB,mBAAS,CACnD0hE,UAAW,KACXC,SAAU,KACV8G,SAAU,KACVC,SAAU,KACVvG,UAAW,KACXC,UAAW,KACXC,UAAW,OAPf,mBAAO7uC,EAAP,KAAwBC,EAAxB,KASA,EAAsDzzB,mBAAS,CAC3DsD,IAAK/E,EAAM+E,IACX0Q,MAAOzV,EAAMyV,MACbC,MAAO1V,EAAM0V,MACbrC,MAAOrT,EAAMqT,MACb0B,QAAU/U,EAAM+U,QAAU/U,EAAM+U,QAAU,GAC1CG,QAAUlV,EAAMkV,QAAUlV,EAAMkV,QAAU,GAC1Cpb,IAAMkG,EAAMlG,IAAMkG,EAAMlG,IAAM,GAC9B6a,OAAQ3U,EAAM2U,OACdC,MAAO5U,EAAM4U,MACbvC,MAAOrS,EAAMqS,MACbyC,QAAS9U,EAAM8U,UAXnB,mBAAOsgB,EAAP,KAA4BC,EAA5B,KAcAxxB,qBAAU,WAC2B,OAA7BoxB,EAAgBmuC,UAChBz5C,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAc/H,6BACb3X,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACL40C,SAAUrsE,EAASC,KAAKssE,aACxBD,SAAUtsE,EAASC,KAAKusE,aACxBjH,SAAUvlE,EAASC,KAAKygD,OACxB4kB,UAAYtlE,EAASC,KAAK0mE,aAC1BZ,UAAY/lE,EAASC,KAAK+qC,SAC1Bg7B,UAAWhmE,EAASC,KAAK+tC,SACzBi4B,UAAWjmE,EAASC,KAAK4pD,WAE7BpyB,EAAG8tC,SAAS3xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,yCACxC0H,EAAG6tC,UAAU1xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,2BACzC0H,EAAG40C,SAASz4E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,0BACxC0H,EAAG60C,SAAS14E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,qCACxC0H,EAAGsuC,UAAUnyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,yBACzC0H,EAAGuuC,UAAUpyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAGwuC,UAAUryE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,8BAA2B,CAACD,OAAO,EAAGC,MAAM,MACtFsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAI7BmhE,EAAmB,SAACC,GAEtB,IADA,IAAIC,EAAW,GACPj1E,EAAE,EAAGA,EAAGg1E,EAAS30E,OAAQL,IAAI,CACjC,IAAIk1E,EAAaF,EAASh1E,GAC1B,GAAqB,QAAjBk1E,EAAWrQ,KAEX,IADIsQ,EAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAMsrE,EAAWtrE,SAC1DurE,EAAQnrE,SAAWmrE,EAAQnrE,QAAQ3J,OAAO,EAAE,CAEvD,IADA,IAAI+0E,EAAS,GACLt0E,EAAE,EAAGA,EAAEq0E,EAAQnrE,QAAQ3J,OAAQS,IAAI,CAC9Bs0E,GAALt0E,EAAE,EAAa,MACJo0E,EAAWtQ,IAAM,KAEhCwQ,GADaF,EAAWprE,IAAIrK,MAAK,SAAAqlE,GAAG,OAAGA,EAAIA,MAAQqQ,EAAQnrE,QAAQlJ,MAClD8jE,IAEN,KAAXwQ,GACAH,EAAWr1E,KAAKw1E,SAEtB,GAAqB,QAAjBF,EAAWrQ,IAAY,CAC7B,IAAIsQ,KAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAGA,EAAK2F,MAAMsrE,EAAWtrE,SACzDurE,EAAQ3xE,OAA2B,KAAlB2xE,EAAQ3xE,OAAkC,MAAlB2xE,EAAQ3xE,QACtC,MAAlB2xE,EAAQ3xE,MACRyxE,EAAWr1E,KAAKs1E,EAAWtQ,KACH,MAAlBuQ,EAAQ3xE,OACdyxE,EAAWr1E,KAAK,MAAQs1E,EAAWtQ,IAAIthE,iBAKvD,IAAIvC,EAAI,GACR,GAAIk0E,EAAW50E,OAAO,EAElB,IADIU,EAAMk0E,EAAW,GACZj1E,EAAE,EAAGA,EAAEi1E,EAAW50E,OAAQL,IAC/Be,GAAO,KAAOk0E,EAAWj1E,GAGjC,OAAOe,GA6NP2oE,EA1N6B,WAC7B,IAAI3oE,EAAM,GAgBV,GAdIqkC,EAAoBrwB,KAAkC,IAA3BqwB,EAAoBrwB,KAC/ChU,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBrwB,MAahEqwB,EAAoB/hB,OAAW+hB,EAAoB/hB,MAAMhjB,OAAO,GAC7D4kC,EAAgBmuC,SAAS,CAEzB,IADA,IAAI5vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB/hB,MAAMhjB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgBmuC,SAAS3zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/hB,MAAMrjB,SAEnE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAOA,IAInE,GAAK4hC,EAAoB3f,OAAW2f,EAAoB3f,MAAMplB,OAAO,GAC7D4kC,EAAgBi1C,SAAS,CAEzB,IADI12E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB3f,MAAMplB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgBi1C,SAASz6E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB3f,MAAMzlB,SAEnE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,uDAAqD3M,MAAOA,IAI3F,GAAK4hC,EAAoB1f,OAAW0f,EAAoB1f,MAAMrlB,OAAO,GAC7D4kC,EAAgBk1C,SAAS,CAEzB,IADI32E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB1f,MAAMrlB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgBk1C,SAAS16E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB1f,MAAM1lB,SAEnE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,+EAA6E3M,MAAOA,IAKnH,IAAI6xE,EAAYjwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OAC3D,GAAIyrE,GAAa,EAAE,CACf,IAAIC,EAAWlwC,EAAoBt7B,IAAIurE,GACvC,GAAIC,EAAWtrE,QAAQ3J,OAAO,EAAE,CAC5B,IAAIk1E,EAAW,GACf,IAASv1E,EAAE,EAAGA,EAAEs1E,EAAWtrE,QAAQ3J,OAAQL,IACnCA,EAAE,IAAGu1E,GAAY,OACrBA,GAAY5Q,GAAW,GAAG76D,IAAIrK,MAAK,SAAAsK,GAAE,OAAGA,EAAG+6D,MAAQwQ,EAAWtrE,QAAQhK,MAAI4kE,IAE9E7jE,EAAInB,KAAK,CAACuQ,OAAQ,SAAU3M,MAAO+xE,KAI3C,IAkBInyE,EAlBAoyE,EAASpwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OACxD,GAAI4rE,GAAU,EAAE,CACZ,IAAIC,EAAQrwC,EAAoBt7B,IAAI0rE,GAChB,MAAhBC,EAAQjyE,MACRzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,UACrB,MAAhBiyE,EAAQjyE,OACdzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,OAiBnD,GAZY,MADRJ,EAAM2xE,EAAiB9P,MAEvBlkE,EAAInB,KAAK,CAACuQ,OAAQ,8CAAyC3M,MAAMJ,IAGzD,MADRA,EAAM2xE,EAAiB3P,MAEvBrkE,EAAInB,KAAK,CAACuQ,OAAQ,kCAAgC3M,MAAMJ,IAGhD,MADRA,EAAM2xE,EAAiBzP,MAEvBvkE,EAAInB,KAAK,CAACuQ,OAAQ,0BAA2B3M,MAAMJ,IAGlDgiC,EAAoBzgB,QAAYygB,EAAoBzgB,OAAOtkB,OAAO,GAC/D4kC,EAAgB4uC,UAAU,CAE1B,IADIrwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBzgB,OAAOtkB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgB4uC,UAAUp0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoBzgB,OAAO3kB,UAE9E,KAAVwD,IACAA,GAAS,OACT4hC,EAAoBzgB,OAAO3kB,GAAG,IAC9BwD,GAAS,OACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,iBAAkB3M,MAAOA,IAIxD,GAAI4hC,EAAoBrgB,SAAWqgB,EAAoBrgB,QAAQ1kB,OAAO,GAC9D4kC,EAAgBkuC,UAAU,CAE1B,IADI3vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBrgB,QAAQ1kB,OAAQL,IAAI,CAErD,GADIiE,EAAOghC,EAAgBkuC,UAAU1zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBrgB,QAAQ/kB,GAAGwJ,UAClF,CACS,KAAVhG,IAAcA,GAAS,MAC3B,IAAIyhB,EAAMmgB,EAAoBrgB,QAAQ/kB,GAAGilB,IACrB,IAAhBvjB,KAAK+pE,IAAIxmD,GAELzhB,GADAyhB,EAAI,EACK,oBAAsBhhB,EAAK25B,MAE3B,iBAAmB35B,EAAK25B,MACf,KAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,wBAA0BhhB,EAAK25B,MAE/B,qBAAuB35B,EAAK25B,MACnB,KAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,0BAA4BhhB,EAAK25B,MAEjC,sBAAwB35B,EAAK25B,MACpB,IAAhBl8B,KAAK+pE,IAAIxmD,KAEXzhB,GADAyhB,EAAI,EACK,OAAShhB,EAAK25B,MAAQ,4BAEtB,OAAS35B,EAAK25B,MAAQ,8BAIlC,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,+BAA6B3M,MAAOA,IAInE,GAAI4hC,EAAoBlgB,SAAWkgB,EAAoBlgB,QAAQ7kB,OAAO,GAC9D4kC,EAAgB2uC,UAAU,CAE1B,IADIpwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBlgB,QAAQ7kB,OAAQL,IAAI,CAErD,GADIiE,EAAOghC,EAAgB2uC,UAAUn0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBlgB,QAAQllB,GAAGwJ,UAClF,CACS,KAAVhG,IAAcA,GAAS,MACvByhB,EAAMmgB,EAAoBlgB,QAAQllB,GAAGilB,IACrB,KAAhBvjB,KAAK+pE,IAAIxmD,GAELzhB,GADAyhB,EAAI,EACK,oBAAsBhhB,EAAK25B,MAE3B,iBAAmB35B,EAAK25B,MACf,IAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,yBAA2BhhB,EAAK25B,MAEhC,sBAAwB35B,EAAK25B,MACpB,IAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,gCAA+BhhB,EAAK25B,MAEpC,6BAA4B35B,EAAK25B,MACxB,IAAhBl8B,KAAK+pE,IAAIxmD,GAEXzhB,GADAyhB,EAAI,EACK,0BAA4BhhB,EAAK25B,MAEjC,oBAAsB35B,EAAK25B,MAClB,IAAhBl8B,KAAK+pE,IAAIxmD,KAEXzhB,GADAyhB,EAAI,EACK,0BAA4BhhB,EAAK25B,MAEjC,oBAAsB35B,EAAK25B,QAIvC,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,2CAAsC3M,MAAOA,IAI5E,GAAI4hC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvhB,OAAOhD,OAAO,GACjE4kC,EAAgB6uC,UAAU,CAC1B,IAIQ7vE,EAJJnC,EAAM,0CAGV,GAFIsjC,EAAoBtgB,UACpBhjB,EAAM,2CACNsjC,EAAoB/iB,OAAS+iB,EAAoB/iB,MAAM,GACnDpe,EAAOghC,EAAgB6uC,UAAUr0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/iB,YAGxEvgB,EADAsjC,EAAoBtgB,QACd7gB,EAAK25B,MAAMv6B,OAAS,yBAEpBY,EAAK25B,MAAMv6B,OAAS,uBAGtCvB,GAAO,IAAOsjC,EAAoBxgB,MAAQ,IAC1C7jB,EAAInB,KAAK,CAACuQ,OAAQ,yBAAuB3M,MAAO1B,IAGxD,OAAOf,EAGG4oE,GAERiM,EAAexwC,EAAoBrwB,IAAI1U,QAAQ,GAC7C+kC,EAAoB/hB,OAAS+hB,EAAoB/hB,MAAMhjB,OAAO,GAC9D+kC,EAAoB3f,OAAS2f,EAAoB3f,MAAMplB,OAAO,GAC9D+kC,EAAoB1f,OAAS0f,EAAoB1f,MAAMrlB,OAAO,GAC9D+kC,EAAoBt7B,KAAOs7B,EAAoBt7B,IAAIzJ,OAAO,GAC1D+kC,EAAoBrgB,SAAWqgB,EAAoBrgB,QAAQ1kB,OAAO,GAClE+kC,EAAoBlgB,SAAWkgB,EAAoBlgB,QAAQ7kB,OAAO,GAClE+kC,EAAoBzgB,QAAUygB,EAAoBzgB,OAAOtkB,OAAO,GAChE+kC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvkB,OAAO,EAIhEupE,EAAc,SAACx4D,GACjB,GAAIwkE,EAAY,CAGZ5lE,EAAM4d,aAAa,CACfC,UAHY,eAIZ9Y,IAAKqwB,EAAoBrwB,IACzB0Q,MAAO2f,EAAoB3f,MAC3BC,MAAO0f,EAAoB1f,MAC3BrC,MAAO+hB,EAAoB/hB,MAC3B0B,QAASqgB,EAAoBrgB,QAC7BG,QAASkgB,EAAoBlgB,QAC7Bpb,IAAKs7B,EAAoBt7B,IACzB6a,OAAQygB,EAAoBzgB,OAC5BC,MAAOwgB,EAAoBxgB,MAC3BvC,MAAO+iB,EAAoB/iB,MAC3ByC,QAASsgB,EAAoBtgB,YAKnC+kD,EAAgB,SAACz4D,GAcnBi0B,EAbsB,CAClBtwB,IAAK,GACLsO,MAAO,GACPoC,MAAO,GACPC,MAAO,GACPX,QAAS,GACTG,QAAS,GACTpb,IAAK,GACL6a,OAAQ,GACRC,MAAO,GACPvC,MAAO,EACPyC,SAAS,IAGb,IAAIglD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YA4IzCywE,EAAiB,SAACzG,EAAU0G,GAC9B,IAAMnwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMosE,KAClD,GAAI/xE,EACA,GAAiB,MAAbqrE,EACArrE,EAAKT,MAAQ8rE,MACZ,CACD,IAAIvgD,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,OAGlB,MAAZugD,GACAzpC,EAAe/7B,IAAIlK,KAAK,CAACgK,IAAIosE,EAAOxyE,MAAM8rE,IAGlDjqC,EAAuBQ,IAIrBowC,EAAiB,SAACpH,EAAWqH,GAC/B,IAAMrwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMssE,KAClD,GAAIjyE,EACA,GAAI4qE,EAAWxuE,OAAO,EAClB4D,EAAK+F,QAAU6kE,MACd,CACD,IAAI9/C,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,QAGlC,GAAI8/C,EAAWxuE,OAAO,EAAE,CACpB,IAAI81E,EAAU,CACVvsE,IAAKssE,EACLlsE,QAAS6kE,GAEbhpC,EAAe/7B,IAAIlK,KAAKu2E,GAGhC9wC,EAAuBQ,IAIrBy0C,EAAuBr1C,EAAgBi1C,SAAYj1C,EAAgBi1C,SAAS3vE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChI28C,EAAuBt1C,EAAgBk1C,SAAYl1C,EAAgBk1C,SAAS5vE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChIy4C,EAAuBpxC,EAAgBmuC,SAAanuC,EAAgBmuC,SAAS7oE,KAAI,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI64C,EAAuBxxC,EAAgBkuC,UAAaluC,EAAgBkuC,UAAU5oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI84C,EAAuBzxC,EAAgB2uC,UAAa3uC,EAAgB2uC,UAAUrpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIq5C,EAAuBhyC,EAAgB4uC,UAAa5uC,EAAgB4uC,UAAUtpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIs5C,EAAuBjyC,EAAgB6uC,UAAa7uC,EAAgB6uC,UAAUvpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAElI05C,EAAwB,+DAExBC,EAAiBvS,GAAaz6D,KAAI,SAAA0kE,GAAG,MAC1B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA8B,EAAkBzS,GAAY76D,KAAI,SAAA0kE,GAAG,MAC1B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAgCAoC,GA7BkB7S,GAAY/6D,KAAI,SAAA0kE,GAAG,MAC1B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAaF,gCACI,sBAAKllE,MAAOymE,EAAuBxmE,MAAO,CAAC4D,aAAc,QAAzD,UACI,sBAAK7D,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAA2BC,MAAO,CAACmtB,WAAY,OAAQvpB,aAAc,QAA/E,oBACA,qBAAK7D,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,QAAQC,MAAO,CAAC6E,WAAW,MAAO8xB,YAAa,OAA1D,SACI,uBAAO7yB,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrwB,IAAKF,YAAY,8BAAgCC,SAAU,SAAC1D,GAAD,OAnN3H,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe9wB,IAAMvR,EACrB6hC,EAAuBQ,IA6MqH4kC,CAAUr5D,eAKlJ,sBAAKP,MAAM,yBAA0BC,MAAO,CAACL,MAAO,OAApD,UACI,oBAAII,MAAM,2BAA4BC,MAAO,CAACmtB,WAAY,OAAQvpB,aAAc,QAAhF,sCACA,cAAC,GAAD,CAAgBnV,MAAS82E,EACb77C,OAAO,oBACPswC,eAAgB1lC,EAAoB/hB,MACpCya,SA3OX,SAAC6sC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAexiB,QAASwiB,EAAexiB,MAAQ,IACpDwiB,EAAexiB,MAAMzjB,KAAK+qE,EAAWtnE,QACrCgiC,EAAuBQ,IAwOCohC,SArOR,SAACzjE,GACjB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAexiB,MAAM7W,QAAQhJ,EAAMH,QAC3CwiC,EAAexiB,MAAM5hB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IAkOCz1B,MAAM,OACN0rB,SAAS,UAI7B,sBAAKjrB,MAAOymE,EAAZ,UACI,sBAAKzmE,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,4CACA,cAAC,GAAD,CACYtR,MAAS+6E,EACT9/C,OAAO,aACPswC,eAAgB1lC,EAAoB3f,MACpCqY,SApRN,SAAC6sC,GACnB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAepgB,QAASogB,EAAepgB,MAAQ,IACpDogB,EAAepgB,MAAM7lB,KAAK+qE,GAC1BtlC,EAAuBQ,IAiRCohC,SA9QH,SAACzjE,GACtB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAepgB,MAAMjZ,QAAQhL,SAASgC,IAC9CqiC,EAAepgB,MAAMhkB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IA2QCz1B,MAAM,OACNo0D,kBAAmB,OAGnC,sBAAK3zD,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,qCACA,cAAC,GAAD,CACYtR,MAASg7E,EACT//C,OAAO,aACPswC,eAAgB1lC,EAAoB1f,MACpCoY,SA9SN,SAAC6sC,GACnB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAengB,QAASmgB,EAAengB,MAAQ,IACpDmgB,EAAengB,MAAM9lB,KAAK+qE,GAC1BtlC,EAAuBQ,IA2SCohC,SAxSH,SAACzjE,GACtB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAengB,MAAMlZ,QAAQhL,SAASgC,IAC9CqiC,EAAengB,MAAMjkB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IAqSCz1B,MAAM,OACNo0D,kBAAmB,UAIvC,qBAAK3zD,MAAM,yCAAX,SACK0mE,QAYPsB,EACF,8BACI,qBAAKhoE,MAAM,qFAAX,SACKgnE,MAKPqB,EACF,8BACI,qBAAK5kE,UAAU,uBAAf,SACI,cAAC,GAAD,CAAkB/U,MAAS03E,EACfz8C,OAAO,mBACPswC,eAAgB1lC,EAAoBzgB,OACpCmZ,SA9PD,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAelhB,SAAUkhB,EAAelhB,OAAS,IACjDkhB,EAAelhB,OAAOsG,SAAS0/C,KAChC9kC,EAAelhB,OAAO/kB,KAAK+qE,GAC3BtlC,EAAuBQ,KA0PPohC,SA5OE,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAelhB,OAAOnY,QAAQhL,SAASgC,IAC/CqiC,EAAelhB,OAAOljB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IAyOH0sC,QAvPC,SAAC5H,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAEjD,GADKS,EAAelhB,SAAUkhB,EAAelhB,OAAS,IAClDkhB,EAAelhB,OAAOsG,SAAS0/C,GAAY,CAC3C,IAAI57C,EAAM8W,EAAelhB,OAAOnY,QAAQm+D,GACxC9kC,EAAelhB,OAAOljB,OAAOstB,EAAI,GAAgB,EAAd47C,GACnCtlC,EAAuBQ,KAkPP11B,OAAQ,0BACRC,MAAM,OACNyqB,gBAAmB,SAMrCs+C,EACF,cAAC,GAAD,CAAgB55E,MAASk3E,EACrBj8C,OAAO,uBACPswC,eAAgB1lC,EAAoBrgB,QACpCksD,SA9RiB,SAACmI,EAAchiB,GACpC,IAAMvxB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CnhC,EAAO4hC,EAAe9gB,QAAQtlB,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS4vE,KACzDn1E,EACAA,EAAKghB,IAAMmyC,EAEXvxB,EAAe9gB,QAAQnlB,KAAK,CAAC4J,OAAQ4vE,EAAcn0D,IAAKmyC,IAE5D/xB,EAAuBQ,IAuRnBohC,SApRiB,SAACmS,GACtB,IAAMvzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe9gB,QAAU8gB,EAAe9gB,QAAQ8U,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAS4vE,KAC7E/zC,EAAuBQ,IAkRnBz1B,MAAM,SAIRipE,EACF,cAAC,GAAD,CAAgB95E,MAASm3E,EACrBl8C,OAAO,uBACPswC,eAAgB1lC,EAAoBlgB,QACpC+rD,SA7Pe,SAACmI,EAAchiB,GAClC,IAAMvxB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CnhC,EAAO4hC,EAAe3gB,QAAQzlB,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS4vE,KACzDn1E,EACAA,EAAKghB,IAAMmyC,EAEXvxB,EAAe3gB,QAAQtlB,KAAK,CAAC4J,OAAQ4vE,EAAcn0D,IAAKmyC,IAE5D/xB,EAAuBQ,IAsPnBohC,SAnPe,SAACmS,GACpB,IAAMvzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe3gB,QAAU2gB,EAAe3gB,QAAQ2U,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAS4vE,KAC7E/zC,EAAuBQ,IAiPnBz1B,MAAM,SAIRkpE,EACF,cAAC,GAAD,CAAe5G,eAAkBwE,EAC7B18C,OAAO,uBACP5V,MAASwgB,EAAoBxgB,MAC7BvC,MAAS+iB,EAAoB/iB,MAC7B+oD,OAAUhmC,EAAoBtgB,QAC9BjQ,YAAc,+BACd+9D,YAAc,uBACdC,eAAiB,YACjB92C,UA3PoB,SAACw9C,EAAUC,EAAYpO,GAC/C,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAexjB,MAAQk3D,EACvB1zC,EAAejhB,MAAQ40D,EACvB3zC,EAAe/gB,QAAUsmD,EACzB/lC,EAAuBQ,IAuPnBz1B,MAAM,SAIR+5D,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAElK,OACI,qBAAKsI,MAAM,UAAX,SACoC,OAA7Bo0B,EAAgBmuC,SACf,cAAC,GAAD,CAAcjjE,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OA5IpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAyIuIY,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,sBAAKh5D,MAAM,SAAX,UACI,cAAC,GAAD,CACI/E,QAAQ,EACRqE,OAAS,kBACTF,UAAakoE,EACb9vE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,0BACTF,UAAaipE,EACb7wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,kCACTF,UAAa4oE,EACbxwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,4BACTF,UAAakpE,EACb9wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,0BACTF,UAAaopE,EACbhxE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,QACTF,UAAaqpE,EACbjxE,KAAQ,OAIhB,qBAAKwI,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCwbnC8Q,GA5uCM,SAACxqE,GAClB,MAA8CyB,mBAAS,CACnDvH,SAAU,KACV6oE,SAAU,KACVC,UAAW,KACXC,WAAY,KACZC,YAAa,KACbuH,WAAY,KACZC,cAAe,KACftH,SAAU,KACVC,UAAW,KACXQ,UAAW,KACXC,UAAW,OAXf,mBAAO7uC,EAAP,KAAwBC,EAAxB,KAaA,EAAsDzzB,mBAAS,CAC3DsD,IAAK/E,EAAM+E,IACXqO,OAAQpT,EAAMoT,OACdC,MAAOrT,EAAMqT,MACb/Z,IAAK0G,EAAM1G,IACXuZ,OAAO7S,EAAM6S,MAAO7S,EAAM6S,KAC1BC,MAAO9S,EAAM8S,MACbpK,KAAM1I,EAAM0I,KACZsN,QAAShW,EAAMgW,QACfC,WAAYjW,EAAMiW,WAClBhD,KAAMjT,EAAMiT,KACZ8B,QAAU/U,EAAM+U,QAAU/U,EAAM+U,QAAU,GAC1Cjb,IAAMkG,EAAMlG,IAAMkG,EAAMlG,IAAM,GAC9BiZ,IAAK/S,EAAM+S,IACXQ,aAAcvT,EAAMuT,aACpBC,aAAcxT,EAAMwT,aACpBG,aAAc3T,EAAM2T,aACpBC,aAAc5T,EAAM4T,aACpBe,OAAQ3U,EAAM2U,OACdC,MAAO5U,EAAM4U,MACbvC,MAAOrS,EAAMqS,MACbyC,QAAS9U,EAAM8U,UArBnB,mBAAOsgB,EAAP,KAA4BC,EAA5B,KAyBA,EAAsD5zB,oBAAS,GAA/D,mBAAOsiE,EAAP,KAA4BC,EAA5B,KAEMC,EAA6BF,EAAuB,aAAe,oBACnEG,EAA2BH,EAAuB,+DAAiE,sEACnHI,EAAyBJ,EAAuB,aAAY,YAElElgE,qBAAU,WAC2B,OAA7BoxB,EAAgB/6B,UAChByvB,EAAcyL,EAAoBxf,UAExC,IAEF,IAAM+T,EAAgB,SAAC/T,GACnB0H,GAAc3H,2BAA2BC,GACxChY,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLp7B,SAAW2D,EAASC,KAAKu7C,YACzBgqB,UAAWxlE,EAASC,KAAK27D,aACzB2J,SAAUvlE,EAASC,KAAKygD,OACxBykB,UAAYnlE,EAASC,KAAKsmE,KAC1BrB,SAAWllE,EAASC,KAAKumE,YACzBoG,WAAa5sE,EAASC,KAAK6sE,MAC3BD,cAAgB7sE,EAASC,KAAK8sE,SAC9B3H,WAAaplE,EAASC,KAAKwmE,eAC3BpB,YAAcrlE,EAASC,KAAKymE,iBAC5BV,UAAWhmE,EAASC,KAAK+tC,SAEzBi4B,UAAW,IAEfxuC,EAAGp7B,SAASzI,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,2BACxC0H,EAAG+tC,UAAU5xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAG8tC,SAAS3xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,yBACxC0H,EAAG0tC,UAAUvxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,yBAAsB,CAACD,OAAO,EAAGC,MAAM,MACjF0H,EAAGytC,SAAStxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,wCAAqC,CAACD,OAAO,EAAGC,MAAM,MAC/F0H,EAAGm1C,WAAWh5E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,oBAC1C0H,EAAGo1C,cAAcj5E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,uBAC7C0H,EAAGuuC,UAAUpyE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACzC0H,EAAGwuC,UAAUryE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,8BAA2B,CAACD,OAAO,EAAGC,MAAM,2BACtFsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAgC7BmhE,EAAmB,SAACC,GAEtB,IADA,IAAIC,EAAW,GACPj1E,EAAE,EAAGA,EAAGg1E,EAAS30E,OAAQL,IAAI,CACjC,IAAIk1E,EAAaF,EAASh1E,GAC1B,GAAqB,QAAjBk1E,EAAWrQ,KAEX,IADIsQ,EAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAMsrE,EAAWtrE,SAC1DurE,EAAQnrE,SAAWmrE,EAAQnrE,QAAQ3J,OAAO,EAAE,CAEvD,IADA,IAAI+0E,EAAS,GACLt0E,EAAE,EAAGA,EAAEq0E,EAAQnrE,QAAQ3J,OAAQS,IAAI,CAC9Bs0E,GAALt0E,EAAE,EAAa,MACJo0E,EAAWtQ,IAAM,KAEhCwQ,GADaF,EAAWprE,IAAIrK,MAAK,SAAAqlE,GAAG,OAAGA,EAAIA,MAAQqQ,EAAQnrE,QAAQlJ,MAClD8jE,IAEN,KAAXwQ,GACAH,EAAWr1E,KAAKw1E,SAEtB,GAAqB,QAAjBF,EAAWrQ,IAAY,CAC7B,IAAIsQ,KAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAGA,EAAK2F,MAAMsrE,EAAWtrE,SACzDurE,EAAQ3xE,OAA2B,KAAlB2xE,EAAQ3xE,OAAkC,MAAlB2xE,EAAQ3xE,QACtC,MAAlB2xE,EAAQ3xE,MACRyxE,EAAWr1E,KAAKs1E,EAAWtQ,KACH,MAAlBuQ,EAAQ3xE,OACdyxE,EAAWr1E,KAAK,MAAQs1E,EAAWtQ,IAAIthE,iBAKvD,IAAIvC,EAAI,GACR,GAAIk0E,EAAW50E,OAAO,EAElB,IADIU,EAAMk0E,EAAW,GACZj1E,EAAE,EAAGA,EAAEi1E,EAAW50E,OAAQL,IAC/Be,GAAO,KAAOk0E,EAAWj1E,GAGjC,OAAOe,GA6RP2oE,EA1R6B,WAC7B,IAAI3oE,EAAM,GAyBV,GAvBIqkC,EAAoBrwB,KAAkC,IAA3BqwB,EAAoBrwB,KAC/ChU,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBrwB,MAsBhEqwB,EAAoBhiB,QAAYgiB,EAAoBhiB,OAAO/iB,OAAO,GAC/D4kC,EAAgBouC,UAAU,CAE1B,IADA,IAAI7vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBhiB,OAAO/iB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgBouC,UAAU5zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBhiB,OAAOpjB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAOA,IAIvD,GAAK4hC,EAAoB/hB,OAAW+hB,EAAoB/hB,MAAMhjB,OAAO,GAC7D4kC,EAAgBmuC,SAAS,CAEzB,IADI5vE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB/hB,MAAMhjB,OAAQL,IAAI,EAC/CiE,EAAOghC,EAAgBmuC,SAAS3zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/hB,MAAMrjB,SAEnE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,yBAAuB3M,MAAOA,IAsB7D,GAAK4hC,EAAoBpf,SAAaof,EAAoBpf,QAAQ3lB,OAAO,GACjE4kC,EAAgBw1C,WAAW,CAE3B,IADIj3E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBpf,QAAQ3lB,OAAQL,IAAI,EACjDiE,EAAOghC,EAAgBw1C,WAAWh7E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBpf,QAAQhmB,SAEvE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,SAAU3M,MAAOA,IAIhD,GAAK4hC,EAAoBnf,YAAgBmf,EAAoBnf,WAAW5lB,OAAO,GACvE4kC,EAAgBy1C,cAAc,CAE9B,IADIl3E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBnf,WAAW5lB,OAAQL,IAAI,EACpDiE,EAAOghC,EAAgBy1C,cAAcj7E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBnf,WAAWjmB,SAE7E,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,YAAa3M,MAAOA,IAM/C4hC,EAAoB1sB,KAAK,IACrBusB,EAAgB8tC,WACZ9uE,EAAOghC,EAAgB8tC,SAAStzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB1sB,UAE3E3X,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAOS,EAAK25B,SAI7DwH,EAAoBtiB,MAAM,IACtBmiB,EAAgB+tC,YACZ/uE,EAAOghC,EAAgB+tC,UAAUvzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBtiB,WAE5E/hB,EAAInB,KAAM,CAACuQ,OAAQ,SAAO3M,MAAOS,EAAK25B,SAIlD,IAAIy3C,EAAYjwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OAC3D,GAAIyrE,GAAa,EAAE,CACf,IAAIC,EAAWlwC,EAAoBt7B,IAAIurE,GACvC,GAAIC,EAAWtrE,QAAQ3J,OAAO,EAAE,CAC5B,IAAIk1E,EAAW,GACf,IAASv1E,EAAE,EAAGA,EAAEs1E,EAAWtrE,QAAQ3J,OAAQL,IACnCA,EAAE,IAAGu1E,GAAY,OACrBA,GAAYxQ,GAAa,GAAGj7D,IAAIrK,MAAK,SAAAsK,GAAE,OAAGA,EAAG+6D,MAAQwQ,EAAWtrE,QAAQhK,MAAI4kE,IAEhF7jE,EAAInB,KAAK,CAACuQ,OAAQ,SAAU3M,MAAO+xE,KAI3C,IAoGInyE,EApGAoyE,EAASpwC,EAAoBt7B,IAAIi6D,WAAU,SAAAh6D,GAAE,MAAa,QAATA,EAAGH,OACxD,GAAI4rE,GAAU,EAAE,CACZ,IAAIC,EAAQrwC,EAAoBt7B,IAAI0rE,GAChB,MAAhBC,EAAQjyE,MACRzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,UACrB,MAAhBiyE,EAAQjyE,OACdzC,EAAInB,KAAK,CAACuQ,OAAQ,iBAAkB3M,MAAO,OA6BnD,GAzBI4hC,EAAoBriB,IAAI,GACxBhiB,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBriB,IAAI3hB,aAGrEgkC,EAAoB7hB,aAChB6hB,EAAoB5hB,aACpBziB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoB7hB,cAAgB,MAAQ7f,EAAqB0hC,EAAoB5hB,gBAE3KziB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,eAAiBE,EAAqB0hC,EAAoB7hB,gBAEnG6hB,EAAoB5hB,cAC1BziB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,cAAgBE,EAAqB0hC,EAAoB5hB,gBAIpG4hB,EAAoBzhB,aAChByhB,EAAoBxhB,aACpB7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBzhB,cAAgB,MAAQjgB,EAAqB0hC,EAAoBxhB,gBAE3K7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,eAAiBE,EAAqB0hC,EAAoBzhB,gBAEnGyhB,EAAoBxhB,cAC1B7iB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAiB3M,MAAO,cAAgBE,EAAqB0hC,EAAoBxhB,gBAGnGwhB,EAAoBzgB,QAAYygB,EAAoBzgB,OAAOtkB,OAAO,GAC/D4kC,EAAgB4uC,UAAU,CAE1B,IADIrwE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBzgB,OAAOtkB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgB4uC,UAAUp0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoBzgB,OAAO3kB,UAE9E,KAAVwD,IACAA,GAAS,OACT4hC,EAAoBzgB,OAAO3kB,GAAG,IAC9BwD,GAAS,OACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,iBAAkB3M,MAAOA,IAIxD,GAAK4hC,EAAoB97B,KAAS87B,EAAoB97B,IAAIjJ,OAAO,GACzD4kC,EAAgB/6B,SAAS,CACzB,IAAIiG,EAAS,iBACb,IAASnQ,EAAG,EAAGA,EAAEolC,EAAoB97B,IAAIjJ,OAAQL,IAAI,CAC7CwD,EAAQ,GAEZ,GADIS,EAAOghC,EAAgB/6B,SAASzK,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoB97B,IAAItJ,GAAGwJ,WACtF,CACD47B,EAAoB97B,IAAItJ,GAAGwJ,OAAO,IAClChG,GAAS,gBACbA,GAASS,EAAK25B,MACd,IAAIn0B,EAAQ27B,EAAoB97B,IAAItJ,GAAGyJ,MACvC,GAAIA,GAASA,EAAMpJ,OAAO,EACtB,IAAK,IAAIS,EAAE,EAAGA,EAAE2I,EAAMpJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMiG,EAAM3I,GAAG0C,MAGhC,IAAIkG,EAAQ07B,EAAoB97B,IAAItJ,GAAG0J,MACvC,GAAIA,GAASA,EAAMrJ,OAAO,EACtB,IAASS,EAAE,EAAGA,EAAE4I,EAAMrJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMkG,EAAM5I,GAAGmrE,IAIpClrE,EAAInB,KAAK,CAACuQ,OAAOA,EAAQ3M,MAAOA,IAChC2M,EAAS,GAETi1B,EAAoBviB,KACpB9hB,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,uDAG7BzC,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,kDAazC,GAPY,MADRJ,EAAM2xE,EAAiB7P,MAEvBnkE,EAAInB,KAAK,CAACuQ,OAAQ,8CAAyC3M,MAAMJ,IAGzD,MADRA,EAAM2xE,EAAiBnP,MAEvB7kE,EAAInB,KAAK,CAACuQ,OAAQ,8BAA4B3M,MAAMJ,IAEnDgiC,EAAoBniB,MAAUmiB,EAAoBniB,KAAK5iB,OAAO,GAC3D4kC,EAAgBguC,WAAW,CAE3B,IADIzvE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBniB,KAAK5iB,OAAQL,IAAI,EAC9CiE,EAAOghC,EAAgBguC,WAAWxzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,SAC3EiE,EAAOghC,EAAgBiuC,YAAYzzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,OAC1FiE,IACc,KAAVT,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,4CAA6C3M,MAAOA,IAInF,GAAI4hC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvhB,OAAOhD,OAAO,GACjE4kC,EAAgB6uC,UAAU,CAC1B,IAIQ7vE,EAJJnC,EAAM,0CAGV,GAFIsjC,EAAoBtgB,UACpBhjB,EAAM,2CACNsjC,EAAoB/iB,OAAS+iB,EAAoB/iB,MAAM,GACnDpe,EAAOghC,EAAgB6uC,UAAUr0E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/iB,YAGxEvgB,EADAsjC,EAAoBtgB,QACd7gB,EAAK25B,MAAMv6B,OAAS,yBAEpBY,EAAK25B,MAAMv6B,OAAS,uBAGtCvB,GAAO,IAAOsjC,EAAoBxgB,MAAQ,IAC1C7jB,EAAInB,KAAK,CAACuQ,OAAQ,yBAAuB3M,MAAO1B,IAIxD,OAAOf,EAGG4oE,GAERiM,EAAexwC,EAAoB97B,KAAO87B,EAAoB97B,IAAIjJ,OAAO,GACvE+kC,EAAoBrwB,KAAOqwB,EAAoBrwB,IAAI1U,QAAQ,GAC3D+kC,EAAoBhiB,QAAUgiB,EAAoBhiB,OAAO/iB,OAAO,GAChE+kC,EAAoB/hB,OAAS+hB,EAAoB/hB,MAAMhjB,OAAO,GAC9D+kC,EAAoB1sB,KAAK,GACzB0sB,EAAoBtiB,MAAM,GAC1BsiB,EAAoBpf,SAAWof,EAAoBpf,QAAQ3lB,OAAO,GAClE+kC,EAAoBnf,YAAcmf,EAAoBnf,WAAW5lB,OAAO,GACxE+kC,EAAoBt7B,KAAOs7B,EAAoBt7B,IAAIzJ,OAAO,GAC1D+kC,EAAoBniB,MAAQmiB,EAAoBniB,KAAK5iB,OAAO,GAC5D+kC,EAAoBriB,IAAM,GAC1BqiB,EAAoB7hB,cAAkB6hB,EAAoB5hB,cAC1D4hB,EAAoBzhB,cAAkByhB,EAAoBxhB,cAC1DwhB,EAAoBzgB,QAAUygB,EAAoBzgB,OAAOtkB,OAAO,GAChE+kC,EAAoBxgB,OAASwgB,EAAoBxgB,MAAMvkB,OAAO,EAGhEupE,EAAc,SAACx4D,GACjB,GAAIwkE,EAAY,CAGZ5lE,EAAM4d,aAAa,CACfC,UAHY,eAIZ9Y,IAAKqwB,EAAoBrwB,IACzBqO,OAAQgiB,EAAoBhiB,OAC5BC,MAAO+hB,EAAoB/hB,MAC3B2C,QAASof,EAAoBpf,QAC7BC,WAAYmf,EAAoBnf,WAChC3c,IAAK87B,EAAoB97B,IACzBuZ,KAAMuiB,EAAoBviB,KAC1BC,MAAOsiB,EAAoBtiB,MAC3BpK,KAAM0sB,EAAoB1sB,KAC1BuK,KAAMmiB,EAAoBniB,KAC1BnZ,IAAKs7B,EAAoBt7B,IACzBiZ,IAAKqiB,EAAoBriB,IACzBS,aAAc4hB,EAAoB5hB,aAClCD,aAAc6hB,EAAoB7hB,aAClCK,aAAcwhB,EAAoBxhB,aAClCD,aAAcyhB,EAAoBzhB,aAClCgB,OAAQygB,EAAoBzgB,OAC5BC,MAAOwgB,EAAoBxgB,MAC3BvC,MAAO+iB,EAAoB/iB,MAC3ByC,QAASsgB,EAAoBtgB,YAKnC+kD,EAAgB,SAACz4D,GACnB,IA9YkBwU,EAoalByf,EAtBsB,CAClB/7B,IAAK,GACLyL,IAAK,GACLqO,OAAQ,GACRC,MAAO,GACP2C,QAAS,GACTC,WAAY,GACZpD,KAAM,IACNC,MAAO,EACPpK,KAAM,EACNuK,KAAM,GACNnZ,IAAK,GACLiZ,IAAK,EACLS,aAAc,KACdD,aAAc,KACdK,aAAc,KACdD,aAAc,KACdgB,OAAQ,GACRC,MAAO,GACPvC,MAAO,EACPyC,SAAS,IAlaKc,EAqaL,EApab0H,GAAcxH,0BAA0BF,GACvChY,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLp7B,SAAW+6B,EAAgB/6B,SAC3BmpE,UAAWpuC,EAAgBouC,UAC3BD,SAAUnuC,EAAgBmuC,SAC1BJ,UAAYnlE,EAASC,KAAKsmE,KAC1BrB,SAAW9tC,EAAgB8tC,SAC3B0H,WAAax1C,EAAgBw1C,WAC7BC,cAAgBz1C,EAAgBy1C,cAChCzH,WAAahuC,EAAgBguC,WAC7BC,YAAcjuC,EAAgBiuC,YAC9BW,UAAW5uC,EAAgB4uC,UAC3BC,UAAW7uC,EAAgB6uC,WAE/BxuC,EAAG0tC,UAAUvxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,yBAAsB,CAACD,OAAO,EAAGC,MAAM,MACjFsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,YAkZ/B,IAAIk2D,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAMzC0kE,EAAc,SAACC,EAAOC,GACxBA,EAAQ1mD,aAAeymD,EAAOzmD,aAC9B0mD,EAAQ3mD,aAAe0mD,EAAO1mD,aAC9B2mD,EAAQtmD,aAAeqmD,EAAOrmD,aAC9BsmD,EAAQvmD,aAAesmD,EAAOtmD,cA+R5BkyD,EAAqB,SAACzkE,EAAG0kE,GAC3B,IAAI7xE,EAAOmN,EAAE4D,OACT+Z,EAAOqW,EAAoBniB,KAAQmiB,EAAoBniB,KAAKzW,QAAQspE,IAAU,EAC5EjwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CnhC,EAAKwH,SACAo6B,EAAe5iB,OAAM4iB,EAAe5iB,KAAO,IAC5C8L,EAAI,GAAG8W,EAAe5iB,KAAKrjB,KAAKk2E,IAEhC/mD,GAAK,GAAG8W,EAAe5iB,KAAKxhB,OAAOstB,EAAI,GAE/CsW,EAAuBQ,IAYrBkwC,EAAiB,SAACzG,EAAU0G,GAC9B,IAAMnwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMosE,KAClD,GAAI/xE,EACA,GAAiB,MAAbqrE,EACArrE,EAAKT,MAAQ8rE,MACZ,CACD,IAAIvgD,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,OAGlB,MAAZugD,GACAzpC,EAAe/7B,IAAIlK,KAAK,CAACgK,IAAIosE,EAAOxyE,MAAM8rE,IAGlDjqC,EAAuBQ,IAIrBowC,EAAiB,SAACpH,EAAWqH,GAC/B,IAAMrwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMssE,KAClD,GAAIjyE,EACA,GAAI4qE,EAAWxuE,OAAO,EAClB4D,EAAK+F,QAAU6kE,MACd,CACD,IAAI9/C,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,QAGlC,GAAI8/C,EAAWxuE,OAAO,EAAE,CACpB,IAAI81E,EAAU,CACVvsE,IAAKssE,EACLlsE,QAAS6kE,GAEbhpC,EAAe/7B,IAAIlK,KAAKu2E,GAGhC9wC,EAAuBQ,IAGrBuwC,EAAuBnxC,EAAgBouC,UAAapuC,EAAgBouC,UAAU9oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIy4C,EAAuBpxC,EAAgBmuC,SAAanuC,EAAgBmuC,SAAS7oE,KAAI,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI04C,EAAuBrxC,EAAgB/6B,SAAY+6B,EAAgB/6B,SAASK,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChI24C,EAAuBtxC,EAAgB8tC,SAAY9tC,EAAgB8tC,SAASxoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAChI44C,EAAuBvxC,EAAgB+tC,UAAa/tC,EAAgB+tC,UAAUzoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIi9C,EAAwB51C,EAAgBw1C,WAAcx1C,EAAgBw1C,WAAWlwE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GACrIk9C,EAA2B71C,EAAgBy1C,cAAiBz1C,EAAgBy1C,cAAcnwE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC9Iq5C,EAAuBhyC,EAAgB4uC,UAAa5uC,EAAgB4uC,UAAUtpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIs5C,EAAuBjyC,EAAgB6uC,UAAa7uC,EAAgB6uC,UAAUvpE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAElIu5C,EAAwBlyC,EAAgBguC,YAAgBhuC,EAAgBguC,WAAW5yE,OAAO,EAC5F4kC,EAAgBguC,WAAW1oE,KAAI,SAAA6sE,GAAG,OAC9B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAEEy5C,EAAyBpyC,EAAgBiuC,aAAiBjuC,EAAgBiuC,YAAY7yE,OAAO,EAC/F4kC,EAAgBiuC,YAAY3oE,KAAI,SAAA6sE,GAAG,OAC/B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAEE05C,EAAwB,uFAExBC,EAAiBxS,GAAax6D,KAAI,SAAA0kE,GAAG,MAC1B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGA8D,EAAmB3U,GAAgB36D,KAAI,SAAA0kE,GAAG,MAC/B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAGAgF,EAAkBnV,GAAcr7D,KAAI,SAAA0kE,GAAG,MAC5B,QAAZA,EAAIpK,IACD,cAAC,GAAD,CACIgK,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKI,QAAU,GACrI8kE,YAAeG,EAAInlE,IACnBqG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAak6C,IAEN,QAAZhH,EAAIpK,IACC,cAAC,GAAD,CACAyK,SAAalqC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMqlE,EAAIrlE,OAAKpG,MAAQ,IACjIg3B,OAAU,gBAAiBy0C,EAAIrlE,IAC/BuG,OAAU8+D,EAAIrK,IACdmK,SAAYE,EAAIrlE,IAChBmyB,UAAag6C,IAEnB,2BAIAhyC,EADQ18B,OAAO28B,WACG,IAElB2uC,EAAa5uC,EAAY,GAAK,CAACtzB,MAAO,OACtCqpE,EAAY/1C,EAAY,GAAK,CAACtzB,MAAO,OACrCspE,EAAah2C,EAAY,GAAK,CAACtzB,MAAO,OAWtC0nE,EACF,gCACI,qBAAKtnE,MAAM,4CAAX,SACI,sBAAKA,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,oBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,QAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrwB,IAAKF,YAAY,sBAAwBC,SAAU,SAAC1D,GAAD,OApTnH,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe9wB,IAAMvR,EACrB6hC,EAAuBQ,IA8S6G4kC,CAAUr5D,iBAM9I,sBAAKP,MAAOymE,EAAZ,UACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,EAA3C,UACI,oBAAI9hE,MAAM,2BAAV,yBACA,cAAC,GAAD,CAAgBtR,MAAS62E,EACb57C,OAAO,oBACPswC,eAAgB1lC,EAAoBhiB,OACpC0a,SA9ZL,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAeziB,SAAUyiB,EAAeziB,OAAS,IACtDyiB,EAAeziB,OAAOxjB,KAAK+qE,GAC3BtlC,EAAuBQ,IA0ZCohC,SAvZF,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAeziB,OAAO5W,QAAQhL,SAASgC,IAC/CqiC,EAAeziB,OAAO3hB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IAmZCz1B,MAAM,YAGtB,sBAAKS,MAAM,yBAA0BC,MAAO,CAACL,MAAO,OAApD,UACI,oBAAII,MAAM,2BAAV,+CACA,cAAC,GAAD,CAAgBtR,MAAS82E,EACb77C,OAAO,mBACPswC,eAAgB1lC,EAAoB/hB,MACpCya,SAxZX,SAAC6sC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAexiB,QAASwiB,EAAexiB,MAAQ,IACpDwiB,EAAexiB,MAAMzjB,KAAK+qE,EAAWtnE,QACrCgiC,EAAuBQ,IAoZCohC,SAjZR,SAACzjE,GACjB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAexiB,MAAM7W,QAAQhJ,EAAMH,QAC3CwiC,EAAexiB,MAAM5hB,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IA6YCz1B,MAAM,OACN0rB,SAAS,UAI7B,sBAAKjrB,MAAOymE,EAAZ,UACI,sBAAKzmE,MAAM,yBAAyBC,MAAO6hE,EAA3C,UACI,oBAAI9hE,MAAM,2BAAV,8BACA,cAAC,GAAD,CAAgBtR,MAASs7E,EACbrgD,OAAO,qBACPswC,eAAgB1lC,EAAoBpf,QACpC8X,SArZZ,SAAC6sC,GACb,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe7f,UAAW6f,EAAe7f,QAAU,IACxD6f,EAAe7f,QAAQpmB,KAAK+qE,GAC5BtlC,EAAuBQ,IAiZCohC,SA9YT,SAACzjE,GAChB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAe7f,QAAQxZ,QAAQhL,SAASgC,IAChDqiC,EAAe7f,QAAQvkB,OAAOzB,EAAE,GAChCqlC,EAAuBQ,IA0YCz1B,MAAM,YAGtB,sBAAKS,MAAM,yBAA0BC,MAAO,CAACL,MAAO,OAApD,UACI,oBAAII,MAAM,2BAAV,iCACA,cAAC,GAAD,CAAgBtR,MAASu7E,EACbtgD,OAAO,wBACPswC,eAAgB1lC,EAAoBnf,WACpC6X,SA/YT,SAAC6sC,GAChB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAe5f,aAAc4f,EAAe5f,WAAa,IAC9D4f,EAAe5f,WAAWrmB,KAAK+qE,GAC/BtlC,EAAuBQ,IA2YCohC,SAxYN,SAACzjE,GACnB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAe5f,WAAWzZ,QAAQhL,SAASgC,IACnDqiC,EAAe5f,WAAWxkB,OAAOzB,EAAE,GACnCqlC,EAAuBQ,IAoYCz1B,MAAM,eAI1B,sBAAKS,MAAM,yCAAX,UACI,sBAAKA,MAAM,yBAAyBC,MAAOgpE,EAA3C,UACI,oBAAIjpE,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,mCACA,cAAC,GAAD,CAAkBnV,MAASg3E,EACnB/7C,OAAO,eACPH,cAAe+K,EAAoB1sB,KACnCqjB,UA/PP,SAAC4uC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAentB,KAAOiyD,EACtBtlC,EAAuBQ,IA6PHz1B,MAAM,YAGlB,sBAAKS,MAAM,yBAAyBC,MAAOipE,EAA3C,UACI,oBAAIlpE,MAAM,2BAA4BC,MAAO,CAAC4D,aAAa,QAA3D,yCACA,cAAC,GAAD,CAAkBnV,MAASi3E,EACnBh8C,OAAO,gBACPH,cAAe+K,EAAoBtiB,MACnCiZ,UA9QN,SAAC4uC,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe/iB,MAAQ6nD,EACvBtlC,EAAuBQ,IA4QHz1B,MAAM,YAGlB,cAAC,GAAD,CACY2rB,UAvQN,SAACq8C,GACf,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9iB,IAAMq1D,EACrB/yC,EAAuBQ,IAoQHhpB,IAAKuoB,EAAoBriB,IACzB4uD,WAAY,EACZxhE,OAAS,2BAGzB,qBAAKU,MAAM,yCAAX,SACK0mE,IAEL,sBAAK1mE,MAAOymE,EAAZ,UACI,cAAC1M,GAAD,CACYz6D,OAAO,gBACP4rB,UAxiBD,SAAC/Z,EAAQC,GAC5B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAetiB,aAAevB,EAC9B6jB,EAAeriB,aAAevB,EAC9BojB,EAAuBQ,IAoiBH7jB,OAAQojB,EAAoB7hB,aAC5BtB,IAAKmjB,EAAoB5hB,aACzBgX,OAAS,aACT6tC,eAAiB,cACjBC,eAAiB,eAE7B,cAACsC,GAAD,CACYz6D,OAAO,gBACP4rB,UAziBD,SAAC/Z,EAAQC,GAC5B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAeliB,aAAe3B,EAC9B6jB,EAAejiB,aAAe3B,EAC9BojB,EAAuBQ,IAqiBH7jB,OAAQojB,EAAoBzhB,aAC5B1B,IAAKmjB,EAAoBxhB,aACzB4W,OAAS,aACT6tC,eAAiB,cACjBC,eAAiB,qBAMnCkQ,EACE,cAAC,GAAD,CAAqBj5E,MAAS+2E,EAC1B97C,OAAO,sBACPswC,eAAgB1lC,EAAoB97B,IACpC0kE,OAAQ5oC,EAAoBviB,KAC5BorD,WAhWE,SAAC3sD,GACX,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACxCS,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,MAEnDukB,EAAev8B,IAAI1J,KAAK,CACpB4J,OAAQ8X,EACR7X,MAAO,GACPC,MAAO,KAGf27B,EAAuBQ,IAuVfsoC,WArUK,SAAC7sD,GACd,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAev8B,IAAMu8B,EAAev8B,IAAIuwB,QAAO,SAAA51B,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACxF+jB,EAAuBQ,IAmUf4mC,WArVK,SAACnrD,EAAM8pD,GACpB,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACtE/X,IACI6hE,GACA7hE,EAAGC,QAA4B,EAAnB9H,KAAK+pE,IAAInqD,GACrB/X,EAAGE,MAAQ,GACXF,EAAGG,MAAQ,IAEXH,EAAGC,OAAS9H,KAAK+pE,IAAInqD,IAG7B+jB,EAAuBQ,IA0UfynC,YAzZG,SAAChsD,EAAMm3D,EAAOxM,GACzB,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAELF,EAAGE,MAAMhK,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWivE,MAE5ClvE,EAAGE,MAAM7J,KAAK,CAAC4J,OAAOivE,EAAOj1E,MAAOyoE,KAG5C5mC,EAAuBQ,IA8YfwnC,YA3YM,SAAC/rD,EAAMm3D,GACrB,IAAM5yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAEfF,EAAGE,MAAQF,EAAGE,MAAMowB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAWivE,MAEvDpzC,EAAuBQ,IAmYfqnC,aAhYI,SAAC5rD,EAAMo3D,EAAOC,EAAU1M,GACpC,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEJH,EAAGG,MAAMjK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAEjEpvE,EAAGG,MAAM9J,KAAK,CAACgK,IAAK8uE,EAAO/uE,KAAMgvE,EAAU1M,IAAKA,KAGxD5mC,EAAuBQ,IAqXfmnC,aAlXO,SAAC1rD,EAAMo3D,EAAOC,GAC7B,IAAM9yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEfH,EAAGG,MAAQH,EAAGG,MAAMmwB,QAAO,SAAA51B,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAE3EtzC,EAAuBQ,IA0WfkoC,gBArUS,SAACvqE,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehjB,KAAOrf,EACtB6hC,EAAuBQ,IAmUfz1B,MAAM,OACND,OAAQ,GACRm+D,eAAe,EACfxkB,kBAAqB,eACrBzhD,KAAM,MAIZuwE,EACF,qBAAK/nE,MAAM,yCAAX,SACKgpE,IAIHZ,GACF,qBAAKpoE,MAAM,yCAAX,SACKkqE,IAIHlC,GACF,gCACI,qBAAKhoE,MAAM,8CAAX,SACI,sBAAKA,MAAM,wBAAuBC,MAAO,CAACL,MAAM,QAAhD,UACI,oBAAII,MAAM,2BAAV,2BACA,sBAAKA,MAAM,SAAX,UACI,qBAAKA,MAAM,QAAX,SACKsmE,IAEL,qBAAKtmE,MAAOojE,EAA2B5oE,GAAG,uBAA1C,SACKgsE,YAKjB,qBAAKxmE,MAAM,iDAAX,SACI,uBAAMA,MAAOqjE,EAA2B/iE,QAAS,SAACC,GA7gC1D4iE,GAAwBD,IA6gChB,UAAmFI,EAAnF,IAA0G,qBAAK5iE,IAAI,6BAA6BwF,IAAI,6BAK1JmiE,GACF,8BACI,qBAAK5kE,UAAU,uBAAf,SACI,cAAC,GAAD,CAAkB/U,MAAS03E,EACfz8C,OAAO,mBACPswC,eAAgB1lC,EAAoBzgB,OACpCmZ,SArfD,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GAC5BA,EAAelhB,SAAUkhB,EAAelhB,OAAS,IACjDkhB,EAAelhB,OAAOsG,SAAS0/C,KAChC9kC,EAAelhB,OAAO/kB,KAAK+qE,GAC3BtlC,EAAuBQ,KAgfPohC,SAjeE,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjC,IAAI7lC,EAAI6lC,EAAelhB,OAAOnY,QAAQhL,SAASgC,IAC/CqiC,EAAelhB,OAAOljB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IA6dH0sC,QA7eC,SAAC5H,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAGjD,GAFA4kC,EAAY5kC,EAAqBS,GAC5BA,EAAelhB,SAAUkhB,EAAelhB,OAAS,IAClDkhB,EAAelhB,OAAOsG,SAAS0/C,GAAY,CAC3C,IAAI57C,EAAM8W,EAAelhB,OAAOnY,QAAQm+D,GACxC9kC,EAAelhB,OAAOljB,OAAOstB,EAAI,GAAgB,EAAd47C,GACnCtlC,EAAuBQ,KAueP11B,OAAQ,0BACRC,MAAM,OACNyqB,gBAAmB,SAMrCy+C,GACF,cAAC,GAAD,CAAe5G,eAAkBwE,EAC7B18C,OAAO,uBACP5V,MAASwgB,EAAoBxgB,MAC7BvC,MAAS+iB,EAAoB/iB,MAC7B+oD,OAAUhmC,EAAoBtgB,QAC9BjQ,YAAc,+BACd+9D,YAAc,uBACdC,eAAiB,YACjB92C,UAnWoB,SAACw9C,EAAUC,EAAYpO,GAC/C,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexjB,MAAQk3D,EACvB1zC,EAAejhB,MAAQ40D,EACvB3zC,EAAe/gB,QAAUsmD,EACzB/lC,EAAuBQ,IA8VnBz1B,MAAM,SAIR+5D,GAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,GAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAElK,OACI,qBAAKsI,MAAM,UAAX,SACoC,OAA7Bo0B,EAAgB/6B,SACf,cAAC,GAAD,CAAciG,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OArNpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAkNuIY,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,GAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,sBAAKh5D,MAAM,SAAX,UACI,cAAC,GAAD,CACI/E,QAAQ,EACRqE,OAAS,kBACTF,UAAakoE,EACb9vE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,iBACTF,UAAauoE,EACbnwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,mDACTF,UAAa2oE,EACbvwE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,0BACTF,UAAaipE,GACb7wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,iCACTF,UAAagpE,GACb5wE,KAAQ,IAGZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,6BACTF,UAAa4oE,GACbxwE,KAAQ,IAEZ,cAAC,GAAD,CACIyD,QAAQ,EACRqE,OAAS,QACTF,UAAaqpE,GACbjxE,KAAQ,OAIhB,qBAAKwI,MAAM,iDAAiDC,MAAOs5D,GAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UC9sBnCsR,GAjiBM,SAAChrE,GAClB,MAA8CyB,mBAAS,CACnDvH,SAAU,KACV6oE,SAAU,KACVC,UAAW,KACXC,WAAY,KACZC,YAAa,KACb7qE,KAAO2H,EAAM3H,OANjB,mBAAO48B,EAAP,KAAwBC,EAAxB,KAQA,EAAsDzzB,mBAAS,CAC3DgR,SAAUzS,EAAMyS,SAChBnZ,IAAK0G,EAAM1G,IACXuZ,KAAM7S,EAAM6S,KACZC,MAAO9S,EAAM8S,MACbpK,KAAM1I,EAAM0I,KACZqK,IAAK/S,EAAM+S,IACXC,GAAIhT,EAAMgT,GACVC,KAAMjT,EAAMiT,OARhB,mBAAOmiB,EAAP,KAA4BC,EAA5B,KAUA,EAAsD5zB,oBAAS,GAA/D,mBAAOsiE,EAAP,KAA4BC,EAA5B,KACA,EAAwCviE,oBAAS,GAAjD,mBAAOmyB,EAAP,KAAqBq3C,EAArB,KAEMhH,EAA6BF,EAAuB,aAAe,oBACnEG,EAA2BH,EAAuB,+DAAiE,sEACnHI,EAAyBJ,EAAuB,aAAY,YAElElgE,qBAAU,WACN,GAAkC,OAA7BoxB,EAAgB/6B,UAAsB8F,EAAMyS,UAAY2iB,EAAoB3iB,UAAYzS,EAAM3H,MAAQ48B,EAAgB58B,KAC3H,CACI,GAAK+8B,EAAoB3iB,UAAYzS,EAAMyS,UAAYzS,EAAM3H,MAAQ48B,EAAgB58B,KAAM,CACvF,IAAMw9B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAev8B,IAAI,GACnBu8B,EAAepjB,SAAWzS,EAAMyS,SAChC4iB,EAAuBQ,GAE3BlM,OAEN,CAAC3pB,EAAMyS,SAASzS,EAAM3H,OAExB,IAAM6yE,EAA4C,MAAvBj2C,EAAgB58B,KAAe,cAAgB,mBACpE8yE,EAAkD,MAAvBl2C,EAAgB58B,KAAe,eAAiB,qBAE3EsxB,EAAgB,WAClBrM,GAAc9K,2BAA2BxS,EAAM3H,KAAM2H,EAAMyS,SAAUzS,EAAM1G,KAC1EsE,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLj9B,KAAM2H,EAAM3H,KACZ6B,SAAW2D,EAASC,KAAKu7C,YACzB2pB,UAAYnlE,EAASC,KAAKsmE,KAC1BrB,SAAWllE,EAASC,KAAKumE,YACzBpB,WAAaplE,EAASC,KAAKwmE,eAC3BpB,YAAcrlE,EAASC,KAAKymE,kBAEhCjvC,EAAGp7B,SAASzI,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,WAAas9C,EAAiB53E,gBACtEgiC,EAAG0tC,UAAUvxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,yBAAsB,CAACD,OAAO,EAAGC,MAAM,MACjF0H,EAAGytC,SAAStxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,wCAAqC,CAACD,OAAO,EAAGC,MAAM,MAC/FsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAI7BwnE,EAAuB,SAAC9xE,GAC1BgkB,GAAc3K,iBAAiB3S,EAAM3H,KAAM2H,EAAMyS,SAAUnZ,GAC1DsE,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLj9B,KAAM48B,EAAgB58B,KACtB6B,SAAW+6B,EAAgB/6B,SAC3B8oE,UAAYnlE,EAASC,KAAKsmE,KAC1BrB,SAAWllE,EAASC,KAAKumE,YACzBpB,WAAahuC,EAAgBguC,WAC7BC,YAAcjuC,EAAgBiuC,aAElC5tC,EAAG0tC,UAAUvxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,yBAAsB,CAACD,OAAO,EAAGC,MAAM,MACjF0H,EAAGytC,SAAStxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,wCAAqC,CAACD,OAAO,EAAGC,MAAM,MAC/FsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAmH/B81D,EA1F6B,WAC7B,IAAI3oE,EAAM,GAEV,GAAKqkC,EAAoB97B,KAAS87B,EAAoB97B,IAAIjJ,OAAO,GACzD4kC,EAAgB/6B,SAAS,CAEzB,IADA,IAAIiG,EAAS,iBACJnQ,EAAG,EAAGA,EAAEolC,EAAoB97B,IAAIjJ,OAAQL,IAAI,CACjD,IAAIwD,EAAQ,GAEZ,GADIS,EAAOghC,EAAgB/6B,SAASzK,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoB97B,IAAItJ,GAAGwJ,WACtF,CACD47B,EAAoB97B,IAAItJ,GAAGwJ,OAAO,IAClChG,GAAS,gBACbA,GAASS,EAAK25B,MACd,IAAIn0B,EAAQ27B,EAAoB97B,IAAItJ,GAAGyJ,MACvC,GAAIA,GAASA,EAAMpJ,OAAO,EACtB,IAAK,IAAIS,EAAE,EAAGA,EAAE2I,EAAMpJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMiG,EAAM3I,GAAG0C,MAGhC,IAAIkG,EAAQ07B,EAAoB97B,IAAItJ,GAAG0J,MACvC,GAAIA,GAASA,EAAMrJ,OAAO,EACtB,IAASS,EAAE,EAAGA,EAAE4I,EAAMrJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMkG,EAAM5I,GAAGmrE,IAIpClrE,EAAInB,KAAK,CAACuQ,OAAOA,EAAQ3M,MAAOA,IAChC2M,EAAS,GASb,GAPIi1B,EAAoBviB,KACpB9hB,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,qBAAoB23E,EAAuB73E,cAAgB,mBAGxFvC,EAAInB,KAAK,CAACuQ,OAAQ,GAAI3M,MAAO,kBAAoB23E,EAAuB73E,cAAgB,iBAGxF8hC,EAAoBtiB,MAAM,EAC1B,GAAImiB,EAAgB+tC,WACZ/uE,EAAOghC,EAAgB+tC,UAAUvzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBtiB,WAE5E/hB,EAAInB,KAAM,CAACuQ,OAAQ,SAAO3M,MAAOS,EAAK25B,QAIlD,GAAIwH,EAAoB1sB,KAAK,EACzB,GAAIusB,EAAgB8tC,UACZ9uE,EAAOghC,EAAgB8tC,SAAStzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB1sB,UAE3E3X,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAOS,EAAK25B,QAajE,GATIwH,EAAoBriB,IAAI,GACxBhiB,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBriB,IAAI3hB,aAGrEgkC,EAAoBpiB,GAAG,GACvBjiB,EAAInB,KAAM,CAACuQ,OAAQ,iBAAkB3M,MAAO4hC,EAAoBpiB,GAAG5hB,WAAa,YAI/EgkC,EAAoBniB,MAAUmiB,EAAoBniB,KAAK5iB,OAAO,GAC3D4kC,EAAgBguC,WAAW,CAE3B,IADIzvE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBniB,KAAK5iB,OAAQL,IAAI,CAClD,IAAIiE,KAAOghC,EAAgBguC,WAAWxzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,SAC3EiE,EAAOghC,EAAgBiuC,YAAYzzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,OAC1FiE,IACc,KAAVT,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,6BAA8B3M,MAAOA,KAK5E,OAAOzC,EAGG4oE,GAERiM,EAAcxwC,EAAoB97B,KAAQ87B,EAAoB97B,IAAIuwB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,OAAO,KAAGnJ,OAAO,EAEvGupE,EAAc,SAACx4D,GACjB,GAAIwkE,EAAY,CACZ,IAAI/nD,EAAY,eACW,MAAvBoX,EAAgB58B,KAChBwlB,GAAa,MACe,MAAvBoX,EAAgB58B,KACrBwlB,GAAa,MAEbA,GAAa,MAEjB7d,EAAM4d,aAAa,CACfC,UAAWA,EACXvkB,IAAK87B,EAAoB97B,IACzBmZ,SAAU2iB,EAAoB3iB,SAC9BI,KAAMuiB,EAAoBviB,KAC1BC,MAAOsiB,EAAoBtiB,MAC3BpK,KAAM0sB,EAAoB1sB,KAC1BqK,IAAKqiB,EAAoBriB,IACzBC,GAAIoiB,EAAoBpiB,GACxBC,KAAMmiB,EAAoBniB,YAI9Bg4D,GAAgB,IAIlBpR,EAAgB,SAACz4D,GACnB,IAAMiqE,EAAgB,CAClB/xE,IAAK,GACLmZ,SAAU2iB,EAAoB3iB,SAC9BI,KAA8B,MAAvBoiB,EAAgB58B,KAAa,IAAI,IACxCya,MAAO,EACPpK,KAAM,EACNqK,IAAK,EACLC,GAAI,EACJC,KAAM,IAEVoiB,EAAuBg2C,GACvBD,EAAqB,IACrB,IAAItR,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YA8HzCuwE,EAAqB,SAACzkE,EAAG0kE,GAC3B,IAAI7xE,EAAOmN,EAAE4D,OACT+Z,EAAOqW,EAAoBniB,KAAQmiB,EAAoBniB,KAAKzW,QAAQspE,IAAU,EAC5EjwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CnhC,EAAKwH,SACAo6B,EAAe5iB,OAAM4iB,EAAe5iB,KAAO,IAC5C8L,EAAI,GAAG8W,EAAe5iB,KAAKrjB,KAAKk2E,IAEhC/mD,GAAK,GAAG8W,EAAe5iB,KAAKxhB,OAAOstB,EAAI,GAE/CsW,EAAuBQ,IAYrBywC,EAAoBrxC,EAAgB/6B,SAAY+6B,EAAgB/6B,SAASK,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC7H24C,EAAoBtxC,EAAgB8tC,SAAY9tC,EAAgB8tC,SAASxoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC7H44C,EAAqBvxC,EAAgB+tC,UAAa/tC,EAAgB+tC,UAAUzoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAIhIu5C,EAAwBlyC,EAAgBguC,YAAgBhuC,EAAgBguC,WAAW5yE,OAAO,EAC5F4kC,EAAgBguC,WAAW1oE,KAAI,SAAA6sE,GAAG,OAC9B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAEEy5C,EAAyBpyC,EAAgBiuC,aAAiBjuC,EAAgBiuC,YAAY7yE,OAAO,EAC/F4kC,EAAgBiuC,YAAY3oE,KAAI,SAAA6sE,GAAG,OAC/B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAME1nB,EACE,8BACI,oBAAG5B,UAAU,uCAAuCxD,MAAO,CAACQ,UAAU,SAAUiD,UAAW,OAA3F,sCAA6H2mE,EAAiB53E,mBAOpJ6mE,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAElK,OACI,qBAAKsI,MAAM,UAAX,SAEoC,OAA7Bo0B,EAAgB/6B,SACf,cAAC,GAAD,CAAciG,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OAzDpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAsDuIY,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACK2J,EACG,cAAC,GAAD,CACI3zB,UAAWiG,EACXhG,QAvBH,gBAwBGC,OAAO,GACPrE,QAAQ,EACRuE,KAAM,QACNgB,OArBJ,WAChB4pE,GAAgB,MAsBA,6BAEJ,sBAAKpqE,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,cAAC,GAAD,CAAqBtqE,MAAS+2E,EAClB97C,OAAO,iBACPswC,eAAgB1lC,EAAoB97B,IACpC0kE,OAAQ5oC,EAAoBviB,KAC5BorD,WAjKd,SAAC3sD,GACX,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACxCS,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,MAEnDukB,EAAev8B,IAAI1J,KAAK,CACpB4J,OAAQ8X,EACR7X,MAAO,GACPC,MAAO,KAGf27B,EAAuBQ,GACvBu1C,EAAqBv1C,EAAev8B,MAuJZ6kE,WArIX,SAAC7sD,GACd,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAev8B,IAAMu8B,EAAev8B,IAAIuwB,QAAO,SAAA51B,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACxF+jB,EAAuBQ,GACvBu1C,EAAqBv1C,EAAev8B,MAkIZmjE,WArJX,SAACnrD,EAAM8pD,GACpB,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACtE/X,IACI6hE,GACA7hE,EAAGC,QAA4B,EAAnB9H,KAAK+pE,IAAInqD,GACrB/X,EAAGE,MAAQ,GACXF,EAAGG,MAAQ,IAEXH,EAAGC,OAAS9H,KAAK+pE,IAAInqD,IAG7B+jB,EAAuBQ,IA0ICynC,YA1Nb,SAAChsD,EAAMm3D,EAAOxM,GACzB,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAELF,EAAGE,MAAMhK,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWivE,MAE5ClvE,EAAGE,MAAM7J,KAAK,CAAC4J,OAAOivE,EAAOj1E,MAAOyoE,KAG5C5mC,EAAuBQ,IA+MCwnC,YA5MV,SAAC/rD,EAAMm3D,GACrB,IAAM5yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAEfF,EAAGE,MAAQF,EAAGE,MAAMowB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAWivE,MAEvDpzC,EAAuBQ,IAoMCqnC,aAjMZ,SAAC5rD,EAAMo3D,EAAOC,EAAU1M,GACpC,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEJH,EAAGG,MAAMjK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAEjEpvE,EAAGG,MAAM9J,KAAK,CAACgK,IAAK8uE,EAAO/uE,KAAMgvE,EAAU1M,IAAKA,KAGxD5mC,EAAuBQ,IAsLCmnC,aAnLT,SAAC1rD,EAAMo3D,EAAOC,GAC7B,IAAM9yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEfH,EAAGG,MAAQH,EAAGG,MAAMmwB,QAAO,SAAA51B,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAE3EtzC,EAAuBQ,IA2KCkoC,gBApIP,SAACvqE,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehjB,KAAOrf,EACtB6hC,EAAuBQ,IAkICz1B,MAAM,OACND,OAAQgrE,EACR7M,eAAe,EACfxkB,kBAAqBqxB,EACrB9yE,KAAM48B,EAAgB58B,KACtBm8D,kBAAmB,IAE/B,sBAAK3zD,MA9DS,uFA8Dd,UACA,sBAAKA,MAAM,yBAAX,UACQ,oBAAIA,MAAM,2BAA4BC,MAAO,CAAC4D,aAAa,QAA3D,yCACA,cAAC,GAAD,CAAkBnV,MAASi3E,EACnBh8C,OAAO,cACPH,cAAe+K,EAAoBtiB,MACnCiZ,UA5Id,SAAC4uC,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe/iB,MAAQ6nD,EACvBtlC,EAAuBQ,IA0IKz1B,MAAM,YAGlB,sBAAKS,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,mCACA,cAAC,GAAD,CAAkBnV,MAASg3E,EACnB/7C,OAAO,aACPH,cAAe+K,EAAoB1sB,KACnCqjB,UA/If,SAAC4uC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAentB,KAAOiyD,EACtBtlC,EAAuBQ,IA6IKz1B,MAAM,eAItB,sBAAKS,MAAM,6CAAX,UACI,cAAC,GAAD,CACIkrB,UAhJH,SAACq8C,GAClB,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe9iB,IAAMq1D,EACrB/yC,EAAuBQ,IA8IHhpB,IAAKuoB,EAAoBriB,IACzB4uD,WAAY,EACZxhE,OAAS,wBAEb,cAAC,GAAD,CACI4rB,UAhJP,SAACq8C,GACd,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe7iB,GAAKo1D,EACpB/yC,EAAuBQ,IA8IHhpB,IAAKuoB,EAAoBpiB,GACzB7S,OAAS,+BAGA,MAAfH,EAAM3H,MAAgC,MAAf2H,EAAM3H,MAAmC,IAAnB2H,EAAMyS,SACjD,gCACA,qBAAK5R,MAAM,8CAAX,SACI,sBAAKA,MAAM,wBAAuBC,MAAO,CAACL,MAAM,QAAhD,UACI,oBAAII,MAAM,2BAAV,2BACA,sBAAKA,MAAM,SAAX,UACI,qBAAKA,MAAM,QAAX,SACKsmE,IAEL,qBAAKtmE,MAAOojE,EAA2B5oE,GAAG,uBAA1C,SACKgsE,YAKjB,qBAAKxmE,MAAM,iDAAX,SACI,uBAAMA,MAAOqjE,EAA2B/iE,QAAS,SAACC,GA5atE4iE,GAAwBD,IA4aJ,UAAmFI,EAAnF,IAA0G,qBAAK5iE,IAAI,6BAA6BwF,IAAI,6BAIxJ,wBAEJ,qBAAKlG,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCxWnC4R,GArLK,SAACtrE,GACjB,MAA8CyB,mBAAS,CACnD8pE,SAAU,OADd,mBAAOt2C,EAAP,KAAwBC,EAAxB,KAGA,EAAsDzzB,mBAAS,CAC3D4Y,MAAOra,EAAMqa,MACbrI,OAAQhS,EAAMgS,OACdC,IAAKjS,EAAMiS,MAHf,mBAAOmjB,EAAP,KAA4BC,EAA5B,KAMAxxB,qBAAU,WAC2B,OAA7BoxB,EAAgBs2C,UAEhB5hD,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcnD,4BACbvc,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLi2C,SAAW1tE,EAASC,KAAK0tE,cAE7Bl2C,EAAGi2C,SAAS95E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,8CACxCsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aA8B7B81D,EAzB2B,WAC7B,IAAI3oE,EAAM,GAEV,GAAIqkC,EAAoB/a,MAAM,GACtB4a,EAAgBs2C,SAAS,CACzB,IAAIt3E,EAAOghC,EAAgBs2C,SAAS97E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/a,SAC3EpmB,GACAlD,EAAInB,KAAM,CAACuQ,OAAQ,mBAAoB3M,MAAOS,EAAK25B,QAe/D,OAXIwH,EAAoBpjB,OAChBojB,EAAoBnjB,IACpBlhB,EAAInB,KAAM,CAACuQ,OAAQ,sBAAuB3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBpjB,QAAU,MAAQte,EAAqB0hC,EAAoBnjB,OAE3KlhB,EAAInB,KAAM,CAACuQ,OAAQ,sBAAuB3M,MAAO,eAAiBE,EAAqB0hC,EAAoBpjB,UAEzGojB,EAAoBnjB,KAC1BlhB,EAAInB,KAAM,CAACuQ,OAAQ,sBAAuB3M,MAAO,cAAgBE,EAAqB0hC,EAAoBnjB,OAIvGlhB,EAGK4oE,GAIVC,EAAc,SAACx4D,GACjBpB,EAAM4d,aAAa,CACfC,UAAW,cACXxD,MAAO+a,EAAoB/a,MAC3BrI,OAAQojB,EAAoBpjB,OAC5BC,IAAKmjB,EAAoBnjB,OAI3B4nD,EAAgB,SAACz4D,GAMnBi0B,EALsB,CAClBhb,MAAO,EACPrI,OAAQ,KACRC,IAAK,OAGT,IAAI6nD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAMzC0kE,EAAc,SAACC,EAAOC,GACxBA,EAAQjoD,IAAMgoD,EAAOhoD,IACrBioD,EAAQloD,OAASioD,EAAOjoD,QAgCtBmoD,EAAkC,CAACz5D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAChFizC,EAAkC,CAAC15D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAGhFskD,EAAoBx2C,EAAgBs2C,SAAYt2C,EAAgBs2C,SAAShxE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAInI,OACI,qBAAK/sB,MAAM,UAAX,SAEoC,OAA7Bo0B,EAAgBs2C,SACf,cAAC,GAAD,CAAcprE,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,8CAA8CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OArBrH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAkBwIY,CAAYp5D,IAAI6oB,SAAS,IAA7J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAKJ,qBAAKh5D,MAnBS,wFAmBd,SACI,sBAAKA,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,0CACA,cAAC,GAAD,CAActR,MAASk8E,EACXjhD,OAAO,YACPH,cAAe+K,EAAoB/a,MACnC0R,UApDlB,SAAC4uC,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexb,MAAQsgD,EACvBtlC,EAAuBQ,IAiDSohC,SA9CnB,WACb,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexb,MAAQ,EACvBgb,EAAuBQ,IA2CSz1B,MAAM,OACND,OAAO,sCAI3B,qBAAKU,MAAM,iGAAX,SACI,cAAC+5D,GAAD,CACYz6D,OAAO,sBACP4rB,UAtEb,SAAC/Z,EAAQC,GACxB,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe7jB,OAASA,EACxB6jB,EAAe5jB,IAAMA,EACrBojB,EAAuBQ,IAkEK7jB,OAAQojB,EAAoBpjB,OAC5BC,IAAKmjB,EAAoBnjB,IACzBuY,OAAS,mBAIzB,qBAAK3pB,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCTnCgS,GArKY,SAAC1rE,GACxB,MAA8CyB,mBAAS,CACnDkqE,SAAU,KACVC,aAAc,OAFlB,mBAAO32C,EAAP,KAAwBC,EAAxB,KAIA,EAAsDzzB,mBAAS,CAC3D6T,UAAWtV,EAAMsV,UACjBrE,MAAOjR,EAAMiR,QAFjB,mBAAOmkB,EAAP,KAA4BC,EAA5B,KAKAxxB,qBAAU,WAC2B,OAA7BoxB,EAAgB02C,UAEhBhiD,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcvM,mCACbnT,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLq2C,SAAW9tE,EAASC,KAAK0mE,aACzBoH,aAAe/tE,EAASC,KAAK6rE,UAEjCr0C,EAAGq2C,SAASl6E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,2BACxC0H,EAAGs2C,aAAan6E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,+BAC5CsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAgC7B81D,EAnB2B,WAC7B,IAUYzlE,EAVRlD,EAAM,GACNqkC,EAAoBnkB,MAAM,IACtBgkB,EAAgB02C,WACZ13E,EAAOghC,EAAgB02C,SAASl8E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBnkB,WAE3ElgB,EAAInB,KAAM,CAACuQ,OAAQ,gBAAc3M,MAAOS,EAAK25B,SAGrDwH,EAAoB9f,UAAU,IAC1B2f,EAAgB22C,eACZ33E,EAAOghC,EAAgB22C,aAAan8E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB9f,eAE/EvkB,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAOS,EAAK25B,SAG9D,OAAO78B,EAGK4oE,GAEViM,EAAcxwC,EAAoBnkB,MAAM,GAAKmkB,EAAoB9f,UAAU,EAE3EskD,EAAc,SAACx4D,GACbwkE,GACA5lE,EAAM4d,aAAa,CACfC,UAAW,wBACX5M,MAAOmkB,EAAoBnkB,MAC3BqE,UAAW8f,EAAoB9f,aA+CrC6kD,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,QAAU,CAACC,OAAO,OAAQD,MAAM,OAAQO,WAAW,UAC3Go5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAE5JszE,EAAoB52C,EAAgB02C,SAAY12C,EAAgB02C,SAASpxE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC7Hk+C,EAAwB72C,EAAgB22C,aAAgB32C,EAAgB22C,aAAarxE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAI/I,OACI,qBAAK/sB,MAAM,UAAX,SAEiC,OAA1Bo0B,EAAgBslC,MACf,cAAC,GAAD,CAAcp6D,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OAlGpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,EAAYx4D,GA+F2Ho5D,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACI,qBAAKppB,MAAM,yBAAyBC,MAAOq5D,EAA3C,SACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OA1DjI,SAACA,GAKnBi0B,EAJsB,CAClBpkB,MAAO,EACPqE,UAAW,IAGf,IAAIwkD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,WA8C+GukE,IAA1I,kCAIJ,sBAAKh5D,MAdS,uFAcd,UACI,cAAC,GAAD,CAAatR,MAASu8E,EACVthD,OAAO,8BACPH,cAAe+K,EAAoB9f,UACnCyW,UA1CV,SAAC4uC,GACnB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAevgB,UAAYqlD,EAC3BtlC,EAAuBQ,IAwCKohC,SA/BX,WACjB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAevgB,UAAY,EAC3B+f,EAAuBQ,IA6BKz1B,MAAM,OACND,OAAO,oBAEnB,cAAC,GAAD,CAAa5Q,MAASs8E,EACVrhD,OAAO,iCACPH,cAAe+K,EAAoBnkB,MACnC8a,UAxDP,SAAC4uC,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ0pD,EACvBtlC,EAAuBQ,IAsDKohC,SA7CR,WACpB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ,EACvBokB,EAAuBQ,IA2CKz1B,MAAM,OACND,OAAO,qBAGvB,qBAAKU,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,EAAYx4D,IAA5G,sBAEJ,cAAC,GAAD,CAAiB+1D,YAAauC,UCoFnCqS,GAhPM,SAAC/rE,GAClB,MAA8CyB,mBAAS,CACnDuqE,YAAa,KACb3S,QAAS,OAFb,mBAAOpkC,EAAP,KAAwBC,EAAxB,KAIA,EAAsDzzB,mBAAS,CAC3DsD,IAAK/E,EAAM+E,IACXiT,OAAQhY,EAAMgY,OACdnF,MAAO7S,EAAM6S,MAAO7S,EAAM6S,KAC1BvZ,IAAM0G,EAAM1G,IAAM0G,EAAM1G,IAAM,KAJlC,mBAAO87B,EAAP,KAA4BC,EAA5B,KAOAxxB,qBAAU,WAC0B,OAA5BoxB,EAAgBokC,SAEhB1vC,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcxF,qBACbla,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACL+jC,QAAUx7D,EAASC,KAAK07D,kBACxBwS,YAAcnuE,EAASC,KAAKmuE,QAEhC32C,EAAG02C,YAAYv6E,OAAO,EAAE,EAAE,CAACy6E,QAAQ,EAAGn9C,OAAO,uBAC7CuG,EAAG+jC,QAAQ5nE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,gCACvCsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAuC7B81D,EAlC2B,WAC7B,IAAI3oE,EAAM,IACNqkC,EAAoBrwB,KAAkC,IAA3BqwB,EAAoBrwB,KAC/ChU,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBrwB,MAGjEqwB,EAAoBpd,OAAO,KACvBid,EAAgB+2C,cACZ/3E,EAAOghC,EAAgB+2C,YAAYv8E,MAAK,SAAAyB,GAAC,OAAIA,EAAEg7E,UAAY92C,EAAoBpd,YAE/EjnB,EAAInB,KAAM,CAACuQ,OAAQ,UAAQ3M,MAAOS,EAAK86B,UAInD,GAAKqG,EAAoB97B,KAAS87B,EAAoB97B,IAAIjJ,OAAO,GACzD4kC,EAAgBokC,QAAQ,CAExB,IADA,IAAI7lE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB97B,IAAIjJ,OAAQL,IAAI,CACjD,IAAIiE,KAAOghC,EAAgBokC,QAAQ5pE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB97B,IAAItJ,SAEhE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,iBAAe3M,MAAOA,IAKrD,OAAOzC,EAGK4oE,GAEViM,EAAcxwC,EAAoBpd,OAAO,GAAgC,IAA3Bod,EAAoBrwB,KAAcqwB,EAAoB97B,KAAO87B,EAAoB97B,IAAIjJ,OAAS,EAE5IupE,EAAc,SAACx4D,GACbwkE,GACJ5lE,EAAM4d,aAAa,CACfC,UAAW,kBACX9Y,IAAKqwB,EAAoBrwB,IACzBiT,OAAQod,EAAoBpd,OAC5B1e,IAAK87B,EAAoB97B,IACzBuZ,KAAMuiB,EAAoBviB,QAI5BgnD,EAAgB,SAACz4D,GAOnBi0B,EANsB,CAClBtwB,IAAK,GACLiT,OAAQ,EACR1e,IAAK,GACLuZ,MAAM,IAGV,IAAIinD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAyCzC62E,EAAY,SAACxR,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehjB,KAAO8nD,EACtBtlC,EAAuBQ,IAWrBskC,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAG5J6zE,EAAqBn3C,EAAgB+2C,YAAe/2C,EAAgB+2C,YAAYzxE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAG0xE,QAAS14E,MAAOgH,EAAGu0B,WAAY,GACtIurC,EAAqBrlC,EAAgBokC,QAAepkC,EAAgBokC,QAAQ9+D,KAAI,SAAAC,GAAE,MAAS,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAI1I,OACI,qBAAK/sB,MAAM,UAAX,SAEmC,OAA5Bo0B,EAAgBokC,QACf,cAAC,GAAD,CAAcl5D,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,8CAA8CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OAvBrH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAoBwIY,CAAYp5D,IAAI6oB,SAAS,IAA7J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAKJ,sBAAKh5D,MAAM,8DAAX,UACI,sBAAKA,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,oBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,qBAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrwB,IAAKF,YAAY,6BAA+BC,SAAU,SAAC1D,GAAD,OAtElI,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe9wB,IAAMvR,EACrB6hC,EAAuBQ,IAgE4H4kC,CAAUr5D,eAKjJ,sBAAKkD,UAAY,cAAjB,UACI,oBAAIzD,MAAM,2BAAV,sBAEQ,cAAC,GAAD,CAActR,MAAS68E,EACX5hD,OAAO,YACPH,cAAe+K,EAAoBpd,OACnC+T,UA5FzB,SAAC4uC,GAChB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe7d,OAAS2iD,EACxBtlC,EAAuBQ,IA0FiBohC,SAvF1B,WACd,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe7d,OAAS,EACxBqd,EAAuBQ,IAqFiBz1B,MAAM,eAKlC,qBAAKS,MA3CS,wFA2Cd,SACI,sBAAKyD,UAAY,cAAjB,UACI,oBAAIzD,MAAM,2BAAV,gCACA,cAAC,GAAD,CACYtR,MAAS+qE,EACT9vC,OAAO,UACPswC,eAAgB1lC,EAAoB97B,IACpCw0B,SArFtB,SAAC6sC,GACX,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAev8B,MAAOu8B,EAAev8B,IAAM,IAChDu8B,EAAev8B,IAAI1J,KAAK+qE,GACxBtlC,EAAuBQ,IAkFSohC,SA/EnB,SAACzjE,GACd,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAev8B,IAAIkD,QAAQhL,SAASgC,IAC5CqiC,EAAev8B,IAAI7H,OAAOzB,EAAE,GAC5BqlC,EAAuBQ,IA4ESz1B,MAAM,OACNo0D,kBAAmB,IAE5Bp/B,EAAoBviB,KAEnB,sBAAKhS,MAAM,4CAA4CC,MAAO,CAACyD,UAAU,QAAzE,UACI,wBAAOzD,MAAO,CAAC4D,aAAa,QAA5B,UAAqC,uBAAOE,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,OAAOwE,SAAO,EAAC0F,QAAS,SAACC,GAAD,OAAO+qE,GAAW,MAA7H,wDACA,wBAAOrrE,MAAO,CAAC4D,aAAa,QAA5B,UAAqC,uBAAOE,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,MAAekK,QAAS,SAACC,GAAD,OAAO+qE,GAAW,MAA7H,sDAGJ,sBAAKtrE,MAAM,4CAA4CC,MAAO,CAACyD,UAAU,QAAzE,UACI,wBAAOzD,MAAO,CAAC4D,aAAa,QAA5B,UAAqC,uBAAOE,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,OAAckK,QAAS,SAACC,GAAD,OAAO+qE,GAAW,MAA5H,wDACA,wBAAOrrE,MAAO,CAAC4D,aAAa,QAA5B,UAAqC,uBAAOE,KAAK,QAAQvQ,KAAK,eAAe4C,MAAM,MAAMwE,SAAO,EAAC0F,QAAS,SAACC,GAAD,OAAO+qE,GAAW,MAA5H,2DAKhB,qBAAKtrE,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UC3HnC2S,GAnHC,SAACrsE,GACb,IAAMxN,EAAQ,IAAIE,KAClBF,EAAMonB,SAASpnB,EAAMM,WAAa,GAIlC,IAAMwF,EAAe0H,EAAM1H,aAC3B,EAAsDmJ,mBAAS,CAE3DuQ,OAAQhS,EAAMgS,OACdC,IAAKjS,EAAMiS,MAHf,mBAAOmjB,EAAP,KAA4BC,EAA5B,KAMAxxB,qBAAU,cACR,IAEF,IAgBM61D,EAhB2B,WAC7B,IAAI3oE,EAAM,GAYV,OAXIqkC,EAAoBpjB,OAChBojB,EAAoBnjB,IACpBlhB,EAAInB,KAAM,CAACuQ,OAAQ,SAAU3M,MAAO,oBAAsBE,EAAqB0hC,EAAoBpjB,QAAU,MAAQte,EAAqB0hC,EAAoBnjB,OAE9JlhB,EAAInB,KAAM,CAACuQ,OAAQ,SAAU3M,MAAO,eAAiBE,EAAqB0hC,EAAoBpjB,UAE5FojB,EAAoBnjB,KAC1BlhB,EAAInB,KAAM,CAACuQ,OAAQ,SAAU3M,MAAO,cAAgBE,EAAqB0hC,EAAoBnjB,OAI1FlhB,EAGK4oE,GAEVC,EAAc,SAACx4D,GACjB,IAAIyc,EAAYvlB,EAAa/G,UAAU,GACvCyO,EAAM4d,aAAa,CACfC,UAAWA,EACX7L,OAAQojB,EAAoBpjB,OAC5BC,IAAKmjB,EAAoBnjB,OA8CjC,OACI,qBAAKpR,MAAM,UAAX,SAEI,uBAAMA,MAAM,8CAA8CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OAdjH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAWoIY,CAAYp5D,IAAI6oB,SAAS,IAA7J,UACI,qBAAKppB,MAAM,yBAAX,SACI,sBAAMA,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OA/C7H,SAACA,GAKnBi0B,EAJsB,CAClBrjB,OAAQ,KACRC,IAAK,OAGT,IAAI6nD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,WAmC2GukE,IAA1I,kCAKJ,qBAAKh5D,MAAM,iDAAX,SACI,cAAC+5D,GAAD,CACYz6D,OAAO,iCACP4rB,UAhCT,SAAC/Z,EAAQC,GACxB,IANiBgoD,EAAOC,EAMlBrkC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IANhC6kC,EAOL7kC,GAPY8kC,EAOSrkC,GANzB5jB,IAAMgoD,EAAOhoD,IACrBioD,EAAQloD,OAASioD,EAAOjoD,OAMxB6jB,EAAe7jB,OAASA,EACxB6jB,EAAe5jB,IAAMA,EACrBojB,EAAuBQ,IA4BC7jB,OAAQojB,EAAoBpjB,OAC5BC,IAAKmjB,EAAoBnjB,IACzBuY,OAAU,OAASlyB,EACnBy/D,aAAgB,CAAC3yD,cAAc,YAI/C,qBAAKvE,MAAM,iDAAX,SACI,wBAAQA,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCiM/B4S,GAnTM,SAACtsE,GAClB,IAAMgX,EAAUhX,EAAMgX,QAChBu1D,EAAUvsE,EAAMusE,OAASvsE,EAAMusE,OAAS,cACxCC,EAAUxsE,EAAMwsE,OAASxsE,EAAMwsE,OAAS,cAoRxCC,EAAc,CAjRZ,qBAAK5rE,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SACI,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SACI,8BACI,0BAAUhkB,GAAG,SAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,8eAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,sBAAMI,MAAM,eAAeye,EAAE,yIACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,kXAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,ueAO7C,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,wJAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,sBAAMI,MAAM,eAAeye,EAAE,uEACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,6EAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,yJAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,iBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,6JAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,sBAAMI,MAAM,eAAeye,EAAE,sEACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,oFAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,8JAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,wdAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,sBAAMI,MAAM,eAAeye,EAAE,6JACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,oTAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,idAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,yBAASwF,MAAM,eAAe8rE,OAAO,kFAEzC,uBAAO,aAAW,IAAI9rE,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,yBAASI,MAAM,eAAe8rE,OAAO,8CACjC7rE,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,yBAAS1rE,MAAM,gBAAgB8rE,OAAO,0DAClC7rE,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,yBAAS3rE,MAAM,eAAe8rE,OAAO,uFAM7C,qBAAK9rE,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,yBAASwF,MAAM,eAAe8rE,OAAO,0FAEzC,uBAAO,aAAW,IAAI9rE,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,yBAASI,MAAM,eAAe8rE,OAAO,kDACjC7rE,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,yBAAS1rE,MAAM,gBAAgB8rE,OAAO,sDAClC7rE,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,yBAAS3rE,MAAM,eAAe8rE,OAAO,+FAM7C,qBAAK9rE,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,iBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,kJAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,sBAAMI,MAAM,eAAeye,EAAE,wFACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,uDAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,mJAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,iBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,2KAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,sBAAMI,MAAM,eAAeye,EAAE,4HACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,6DAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,4KAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,iBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,SAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,0NAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,eAAe7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACrK,sBAAMI,MAAM,eAAeye,EAAE,2FACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,gJAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,2NAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,UAAb,SACI,yBAASwF,MAAM,eAAe8rE,OAAO,sEAEzC,uBAAO,aAAW,IAAI9rE,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,gBAAgB7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACtK,yBAASI,MAAM,eAAe8rE,OAAO,kDACjC7rE,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,yBAAS1rE,MAAM,gBAAgB8rE,OAAO,8CAClC7rE,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,yBAAS3rE,MAAM,eAAe8rE,OAAO,2EAM7C,qBAAK9rE,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,iBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,UAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,8MAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,gBAAgB7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACtK,sBAAMI,MAAM,eAAeye,EAAE,sFACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,+HAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,+MAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,iBAAiB5e,MAAM,KAAjI,SAC1D,8BACI,0BAAUpF,GAAG,UAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,wDAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,gBAAgB7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACtK,sBAAMI,MAAM,eAAeye,EAAE,uCACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,+CAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,6DAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,UAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,sOAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,gBAAgB7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACtK,sBAAMI,MAAM,eAAeye,EAAE,2HACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,iIAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,uOAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,UAAb,SACI,yBAASwF,MAAM,eAAe8rE,OAAO,4IAEzC,uBAAO,aAAW,IAAI9rE,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,gBAAgB7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACtK,yBAASI,MAAM,eAAe8rE,OAAO,sDACjC7rE,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,yBAAS1rE,MAAM,gBAAgB8rE,OAAO,8EAClC7rE,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,yBAAS3rE,MAAM,eAAe8rE,OAAO,6IAM7C,qBAAK9rE,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,kBAA1G,SAC1D,8BACI,0BAAUhkB,GAAG,UAAb,SACI,sBAAMwF,MAAM,eAAeye,EAAE,6RAEjC,uBAAO,aAAW,IAAIze,MAAM,2BAA2BJ,MAAM,MAAMC,OAAO,MAAMxP,EAAE,IAAIolC,EAAE,OAAO,YAAU,gBAAgB7W,UAAU,oBAAoB3e,MAAO,CAACL,MAAO,UACtK,sBAAMI,MAAM,eAAeye,EAAE,0IACzBxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,sBAAM1rE,MAAM,gBAAgBye,EAAE,wJAC1Bxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,sBAAM3rE,MAAM,eAAeye,EAAE,0RAMrC,qBAAKze,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,iBAA1G,SAC1D,8BACI,yBAASxe,MAAM,eAAe8rE,OAAO,sDACjC7rE,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAChC,yBAAS1rE,MAAM,gBAAgB8rE,OAAO,8DAClC7rE,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAChC,yBAAS3rE,MAAM,eAAe8rE,OAAO,mFAK7C,qBAAK9rE,MAAM,WAAWC,MAAO,CAACL,MAAO,QAAQypB,OAAQ,QAArD,SAA8D,qBAAKrD,MAAM,6BAA6B6lD,WAAW,+BAA+Bx7E,EAAE,MAAMolC,EAAE,MAAMjX,QAAQ,cAA1G,SAC1D,oBAAG,eAAa,IAAhB,UACI,sBAAMxe,MAAM,eACRye,EAAE,8EACFxe,MAAO,CAAC0e,KAAK+sD,EAAQhtD,OAAOgtD,KAEhC,sBAAM1rE,MAAM,gBACRye,EAAE,kFACFxe,MAAO,CAAC0e,KAAKgtD,EAAQjtD,OAAOitD,KAEhC,sBAAM3rE,MAAM,eAAeC,MAAO,CAAC8rE,YAAa,OAC5CttD,EAAE,sKA8BlB,OACI,qBAAKjkB,GAAG,gBAAR,SACKoxE,EAAYz1D,EAAQ,MC07BlB61D,GArtCK,SAAC7sE,GAAW,IAAD,EAC3B,EAA8CyB,mBAAS,CACnDqrE,YAAa,KACbC,aAAc,KACdC,aAAc,KACd7J,UAAW,KACXjpE,SAAU,OALd,mBAAO+6B,EAAP,KAAwBC,EAAxB,KAOA,EAAsDzzB,mBAAS,CAC3DuV,QAAShX,EAAMgX,QACfC,SAAUjX,EAAMiX,SAChBC,SAAUlX,EAAMkX,SAChBC,QAASnX,EAAMmX,QACflG,MAAOjR,EAAMiR,MACbmG,QAAUpX,EAAMoX,QAAUpX,EAAMoX,QAAU,GAC1CC,IAAKrX,EAAMqX,IACXC,IAAKtX,EAAMsX,IACXI,KAAM1X,EAAM0X,KACZC,OAAQ3X,EAAM2X,OACdJ,OAAQvX,EAAMuX,OACdC,KAAMxX,EAAMwX,KACZC,OAAQzX,EAAMyX,OACd5E,MAAO7S,EAAM6S,MAAO7S,EAAM6S,KAC1B+E,KAAM5X,EAAM4X,KACZC,KAAM7X,EAAM6X,KACZve,IAAM0G,EAAM1G,IAAM0G,EAAM1G,IAAM,KAjBlC,mBAAO87B,EAAP,KAA4BC,EAA5B,KAmBA,EAA4B5zB,mBAASzB,EAAM+W,QAA3C,mBAAOA,EAAP,KAAek2D,EAAf,KAEAppE,qBAAU,WAC4B,OAA9BoxB,EAAgBkuC,WAChBx5C,IAEA5S,IAAW/W,EAAM+W,QACjBk2D,EAAUjtE,EAAM+W,QACpB,IAAIm2D,EAAO18E,SAASgL,eAAe,kBAC/B2xE,EAAQ38E,SAASgL,eAAe,wBAChCkc,EAAOlnB,SAASgL,eAAe,kBAC/B4xE,EAAM58E,SAASgL,eAAe,iBAC9B6xE,EAAM78E,SAASgL,eAAe,+BAC9B8xE,EAAM98E,SAASgL,eAAe,yBAC9B0xE,IACmB,OAAfltE,EAAM+W,SACNm2D,EAAKpsE,MAAMvI,QAAQ,QACnB40E,EAAMrsE,MAAMvI,QAAQ,OACpBmf,EAAK5W,MAAMvI,QAAQ,QACnB60E,EAAItsE,MAAMvI,QAAQ,QAClB80E,EAAIvsE,MAAMvI,QAAQ,QAClB+0E,EAAIxsE,MAAMvI,QAAQ,SAEH,OAAfyH,EAAM+W,SACNm2D,EAAKpsE,MAAMvI,QAAQ,OACnB40E,EAAMrsE,MAAMvI,QAAQ,QACpBmf,EAAK5W,MAAMvI,QAAQ,QACnB60E,EAAItsE,MAAMvI,QAAQ,OAClB80E,EAAIvsE,MAAMvI,QAAQ,OAClB+0E,EAAIxsE,MAAMvI,QAAQ,SAEH,OAAfyH,EAAM+W,SACNm2D,EAAKpsE,MAAMvI,QAAQ,OACnB40E,EAAMrsE,MAAMvI,QAAQ,QACpBmf,EAAK5W,MAAMvI,QAAQ,OACnB60E,EAAItsE,MAAMvI,QAAQ,QAClB80E,EAAIvsE,MAAMvI,QAAQ,OAClB+0E,EAAIxsE,MAAMvI,QAAQ,SAGtByH,EAAM+W,QAAUA,GAChB8iD,MACN,CAAC75D,EAAM+W,OAAQke,EAAiBG,IAElC,IAAMzL,EAAgB,WAClBrM,GAAczG,4BACbjZ,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLw3C,YAAcjvE,EAASC,KAAKyvE,OAC5BR,aAAelvE,EAASC,KAAK0vE,QAC7BR,aAAenvE,EAASC,KAAK2vE,QAC7BtK,UAAYtlE,EAASC,KAAK0mE,aAC1BtqE,SAAW2D,EAASC,KAAK07D,mBAE7BlkC,EAAG03C,aAAav7E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,qBAC5C0H,EAAG6tC,UAAU1xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,4BACzC0H,EAAGp7B,SAASzI,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,iCACxCsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAa7B8pE,EAAY,SAACC,GACf,GAAIA,EAAQ,CACR,IAAIzoE,EAAQ+vB,EAAgB83C,aAAat9E,MAAK,SAAAm+E,GAAG,OAAIA,EAAIjgD,SAASggD,KAClE,OAAIzoE,EACIA,EAAM2oE,OACC3oE,EAAM2oE,OAEN,cAEJ,UAEX,MAAO,WAkDTC,EAAgB,SAACH,EAASI,GAC5B,IAAIh9E,EAAM,GACV,GAAgB,KAAZ48E,EAAgB,CAChB,IAAIzoE,EAAQ+vB,EAAgB83C,aAAat9E,MAAK,SAAAm+E,GAAG,OAAIA,EAAIjgD,SAASggD,KAC9DzoE,IACAnU,EAAMoC,EAAqB+R,EAAM0oB,QAC5B,MAALmgD,EACAh9E,GAAO,SACG,MAALg9E,IACLh9E,GAAO,WAEf,OAAOA,GAiGLi9E,EAAsB54C,EAAoB1d,KAAQ,uCAAyC,gCAC3Fu2D,EAAuB74C,EAAoB1d,KAAQ,4CAA8C,qCAEjGkuD,EAAcxwC,EAAoBnkB,MAAM,GAAKmkB,EAAoBpe,QAAQ,GAAoC,KAA/Boe,EAAoBne,UAAiBme,EAAoBje,QAAQ,GAAkC,KAA7Bie,EAAoBxd,MAAgBwd,EAAoB97B,KAAO87B,EAAoB97B,IAAIjJ,OAAO,EAElPupE,EAAc,SAACx4D,GACjB,GAAKwkE,EAAY,CAGb5lE,EAAM4d,aAAa,CACfC,UAHY,iBAIZ9G,OAAQA,EACRC,QAASoe,EAAoBpe,QAC7BC,SAAUme,EAAoBne,SAC9BC,SAAUke,EAAoBle,SAC9BC,QAASie,EAAoBje,QAC7BlG,MAAOmkB,EAAoBnkB,MAC3BmG,QAASge,EAAoBhe,QAC7BC,IAAK+d,EAAoB/d,IACzBC,IAAK8d,EAAoB9d,IACzBC,OAAQ6d,EAAoB7d,OAC5BC,KAAM4d,EAAoB5d,KAC1BC,OAAQ2d,EAAoB3d,OAC5BE,OAAQyd,EAAoBzd,OAC5BD,KAAM0d,EAAoB1d,KAC1BE,KAAMwd,EAAoBxd,KAC1BC,KAAMud,EAAoBvd,KAC1Bve,IAAK87B,EAAoB97B,IACzBuZ,KAAMuiB,EAAoBviB,SAKhCgnD,EAAgB,SAACz4D,GAoBnBi0B,EAnBsB,CAClBre,QAAS,EACTC,SAAU,GACVC,SAAU,GACVC,QAAS,EACTlG,MAAO,EACPmG,QAAS,GACTC,IAAK,GACLC,IAAK,GACLC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRE,QAAQ,EACRD,MAAM,EACNE,KAAM,GACNC,KAAM,GACNve,IAAK,GACLuZ,MAAM,IAGV,IAAIinD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAqDzC44E,EAAe,SAACvT,GAClB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5e,SAAW0jD,EAC1BtlC,EAAuBQ,IAGrBs4C,EAAe,SAACxT,GAClB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe3e,SAAWyjD,EAC1B9kC,EAAele,QAAS,EACxBke,EAAene,MAAO,EACtB2d,EAAuBQ,IA6BrBu4C,EAAe,SAAC56E,GACd4hC,EAAoBhe,QAAQ6D,SAASznB,GARxB,SAACA,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAeze,QAAQ5a,QAAQhJ,GACvCqiC,EAAeze,QAAQ3lB,OAAOzB,EAAE,GAChCqlC,EAAuBQ,GAKnBw4C,CAAa76E,GAhBJ,SAACmnE,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAeze,UAAWye,EAAeze,QAAU,IACxDye,EAAeze,QAAQxnB,KAAK+qE,GAC5BtlC,EAAuBQ,GAcnBy4C,CAAU96E,IAGZ+6E,EAAW,SAAC5T,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAexe,IAAMsjD,EACrBtlC,EAAuBQ,IAGrB24C,EAAW,SAAC7T,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAeve,IAAMqjD,EACrBtlC,EAAuBQ,IAGrB44C,EAAc,SAAC9T,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAete,OAASojD,EACxBtlC,EAAuBQ,IAGrB64C,EAAY,SAAC/T,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAere,KAAOmjD,EACtBtlC,EAAuBQ,IAmBrB84C,EAAY,SAAChU,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAene,KAAOijD,GACjBA,GAAiB9kC,EAAe3e,UAAuC,IAA3B2e,EAAe3e,WAC5D2e,EAAele,QAAS,GACvBgjD,IACD9kC,EAAele,QAAS,EACxBke,EAAe3e,SAAW,IAG9Bme,EAAuBQ,IAsIrB+4C,EAAe,CACjB,CACIh1E,IAAK,IACLmL,IAAK,QACLixD,IAAK,oBAET,CACIp8D,IAAK,IACLmL,IAAK,UACLixD,IAAK,oBAET,CACIp8D,IAAK,IACLmL,IAAK,SACLixD,IAAK,qBAKP6Y,EAA0B55C,EAAgB+3C,aAAgB/3C,EAAgB+3C,aAAazyE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC3IkhD,EAA0B75C,EAAgB83C,aAAgB93C,EAAgB83C,aAAaxyE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC3I04C,EAA0BrxC,EAAgB/6B,SAAgB+6B,EAAgB/6B,SAASK,KAAQ,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC3I64C,EAA0BxxC,EAAgBkuC,UAAgBluC,EAAgBkuC,UAAU5oE,KAAO,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAEjJkhD,EAAqBr9E,OAAO,EAAE,EAAE,CAAC+H,OAAO,GAAIhG,MAAM,KAClDs7E,EAAqBr9E,OAAO,EAAE,EAAE,CAAC+H,OAAO,GAAIhG,MAAM,yBAElD,IAAMu7E,EAAqB,CACvB9pE,gBAAiB,UACjBwvC,YAAa,WAEXu6B,EAA2B,CAC7B/pE,gBAAiB,UACjBwvC,YAAa,UACbh0C,MAAO,OACPC,OAAQ,QAENuuE,EAA0B,CAC5B/pE,MAAO,UACPM,WAAY,OAEV0pE,EAAoB,CACtBzuE,MAAO,OACPC,OAAQ,QAENyuE,EAAmB,GAEnBC,EAAc,GAEdC,EAAep6C,EAAgB63C,YACjC73C,EAAgB63C,YAAYvyE,KAAI,SAAA+0E,GAAK,OACjC,qBAAMxuE,MAAQwuE,EAAM3hD,SAAWyH,EAAoBpe,QAAU+3D,EAAqBK,EAAcjuE,QAAS,SAACC,GAAD,OAzT9F,SAACu5D,GAChB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CS,EAAe7e,UAAY2jD,EAC3B9kC,EAAe7e,QAAU,EAEzB6e,EAAe7e,QAAU2jD,EAC7BtlC,EAAuBQ,GAmT6F05C,CAAWD,EAAM3hD,SAAjI,SACI,gCACI,qBAAKtP,MAAOixD,EAAM1hD,MAAOrsB,IAAKpS,mBAA+BmgF,EAAM3hD,OAAS,gBAKxF,wBAGE6hD,EAAYp6C,EAAoBpe,SAAWoe,EAAoBpe,QAAQ,GAAKie,EAAgB63C,YAAc73C,EAAgB63C,YAAYr9E,MAAK,SAAA6/E,GAAK,OAAIA,EAAM3hD,SAAWyH,EAAoBpe,WAAS4W,MAAQ,GAE1M6hD,EAAgBb,EAClBA,EAAar0E,KAAI,SAAAm1E,GAAG,OAChB,qBAAKvuE,QAAS,SAACC,GAAD,OAAOgtE,EAAasB,EAAI91E,MAAtC,SACI,kCACI,qBAAKiH,MAAM,OAAOC,MAAQs0B,EAAoBhe,QAAQ6D,SAASy0D,EAAI91E,KAAOo1E,EAA2BE,EAArG,SACI,qBAAK7wD,MAAOqxD,EAAI1Z,IAAKz0D,IAAKpS,cAA0BugF,EAAI1Z,QAE5D,qBAAKn1D,MAAM,OAAOC,MAAQs0B,EAAoBhe,QAAQ6D,SAASy0D,EAAI91E,KAAOq1E,EAA0BE,EAApG,SACI,mBAAGtuE,MAAM,UAAUC,MAAO,CAACQ,UAAU,UAArC,SAAiDouE,EAAI3qE,gBAMrE,wBAGE4qE,EAAgB16C,EAAgB83C,aAClC93C,EAAgB83C,aAAaxyE,KAAI,SAAA2K,GAAK,MAChB,OAAjBA,EAAMyoB,QAA8B,OAAX5W,EAC1B,uBAAOjW,MAAuB,OAAfoE,EAAMyoB,OAAiB,GAAK,CAAC1oB,gBAAiBC,EAAM2oE,QAC3DvpE,UAA2B,OAAfY,EAAMyoB,OAAiB,UAAY,QAC/CxsB,QAAS,SAACC,GAAD,OA5UL,SAACu5D,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CS,EAAe5e,WAAa0jD,EAC5B9kC,EAAe5e,SAAW,GAE1B4e,EAAe5e,SAAW0jD,EAC9BtlC,EAAuBQ,GAsUK+5C,CAAY1qE,EAAMyoB,SAClCtP,MAASnZ,EAAM0oB,MAHvB,SAIMwH,EAAoBne,WAAa/R,EAAMyoB,OACrC,qBAAKtP,MAAOnZ,EAAM0oB,MAAOrsB,IAAI,+BAA+BT,MAAO,CAACC,QAAQ,OAE5E,qBAAKsd,MAAOnZ,EAAM0oB,MAAOrsB,IAAI,+BAA+BT,MAAO,CAACC,QAAQ,SAIpF,gCAGJ,wBAIE8uE,EAAiB56C,EAAgB83C,aACnC93C,EAAgB83C,aAAaxyE,KAAI,SAAA2K,GAAK,MAChB,OAAjBA,EAAMyoB,QAA8B,OAAX5W,EACtB,uBAAOjW,MAAuB,OAAfoE,EAAMyoB,OAAiB,GAAK,CAAC1oB,gBAAiBC,EAAM2oE,QAC/DvpE,UAA2B,OAAfY,EAAMyoB,OAAiB,UAAY,QAC/CxsB,QAAS,SAACC,GAAD,OAAO+sE,EAAajpE,EAAMyoB,SACnCtP,MAASnZ,EAAM0oB,MAHnB,SAIEwH,EAAoBle,WAAahS,EAAMyoB,OACrC,qBAAKtP,MAAOnZ,EAAM0oB,MAAOrsB,IAAI,+BAA+BT,MAAO,CAACC,QAAQ,OAE5E,qBAAKsd,MAAOnZ,EAAM0oB,MAAOrsB,IAAI,+BAA+BT,MAAO,CAACC,QAAQ,SAIpF,gCAGJ,wBAGEo5D,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAC5Ju3E,GAAkD,KAAhC16C,EAAoBpe,QAAiB,CAACvW,MAAO,MAAOg3B,YAAa,OAAQ9xB,WAAY,OAAQ,CAAClF,MAAO,OAAQg3B,YAAa,OAAQ9xB,WAAY,OAEtK,OACI,qBAAK9E,MAAM,UAAX,SACqC,OAA9Bo0B,EAAgBkuC,UACf,cAAC,GAAD,CAAchjE,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAcmJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OA5oBnH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,EAAYx4D,GAyoB0Ho5D,CAAYp5D,IAAI6oB,SAAS,IAA3J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,EAAcz4D,IAAIN,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,EAAYx4D,IAA5G,oBACA,sBAAMP,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,EAAcz4D,IAA5M,mCAIJ,qBAAKP,MAAM,kDAAX,SACI,sBAAKA,MAAM,sBAAX,UACI,sBAAKA,MAAM,cAAX,UACI,sBAAKA,MAAM,gBAAiBC,MAAO,CAAC+9B,aAAa,QAAjD,UACI,sBAAKh+B,MAAM,mBAAmBxF,GAAG,gBAAjC,UACI,sBAAKA,GAAG,8BAAR,UACA,oBAAIwF,MAAM,2BAAV,oBACA,qBAAKA,MAAM,cAAX,SACI,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,qCAAqCxF,GAAG,iBAAnD,SACKg0E,QAIb,sBAAKxuE,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,wBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,6DAAX,SACK4uE,SAIb,sBAAK5uE,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,qBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACMu0B,EAAoB7d,OAClB,uBAAO1W,MAAM,sBACTC,MAAO,CAACmE,gBAAgB,UAAWwvC,YAAY,UAAWvvC,MAAO,WACjE/D,QAAS,SAACC,GAAD,OAAOqtE,GAAa,IAFjC,mBAIA,uBAAO5tE,MAAM,sBACTM,QAAS,SAACC,GAAD,OAAOqtE,GAAa,IADjC,6BAOhB,sBAAKpzE,GAAG,uBAAuByF,MAAO,CAACvI,QAAQ,QAA/C,UACA,sBAAKsI,MAAM,cAAcC,MAAO,CAACsE,cAAc,QAA/C,UACI,oBAAIvE,MAAM,2BAAV,sBACA,qBAAKA,MAAM,sCAAX,SACI,qBAAKA,MAAM,sCAAsCxF,GAAG,iBAApD,SACKs0E,SAIb,sBAAK9uE,MAAM,wBAAX,UACI,cAAC,GAAD,CAAkBtR,MAASu/E,EACnBtkD,OAAO,qBACPH,cAAe+K,EAAoBne,SACnC8U,UAAWmiD,EACX9tE,MAAM,OACN0rB,SAAS,IAEjB,qBAAKjrB,MAAM,yBAAX,SACI,sBAAKA,MAAM,6DAAX,UACkC,MAA5Bu0B,EAAoB/d,IAClB,uBAAOvW,MAAOkuE,EAA0B7tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,KAAlE,SACI,iCACI,qBAAKlwD,MAAM,QAAQ9c,IAAKpS,uBACxB,mBAAG2R,MAAO,CAACoE,MAAO,WAAYrE,MAAM,mBAApC,wBAIR,uBAAOC,MAAOouE,EAAmB/tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,MAA3D,SACI,iCACI,qBAAKlwD,MAAM,QAAQ9c,IAAKpS,uBACxB,mBAAG0R,MAAM,mBAAT,wBAIkB,MAA5Bu0B,EAAoB/d,IAClB,uBAAOvW,MAAOkuE,EAA0B7tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,KAAlE,SACI,iCACI,qBAAKlwD,MAAM,SAAS9c,IAAKpS,wBACzB,mBAAG2R,MAAO,CAACoE,MAAO,WAAYrE,MAAM,mBAApC,yBAIR,uBAAOC,MAAOouE,EAAmB/tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,MAA3D,SACI,iCACI,qBAAKlwD,MAAM,SAAS9c,IAAKpS,wBACzB,mBAAG0R,MAAM,mBAAT,oCAQxB,qBAAKA,MAAM,cAAX,SACA,sBAAKxF,GAAG,wBAAwByF,MAAO,CAACmtB,WAAW,QAAnD,UACI,oBAAIptB,MAAM,2BAAV,4BACA,sBAAKA,MAAM,yBAAX,UACI,sBAAKA,MAAM,kBAAX,UACI,qBAAKA,MAAM,QAAX,SACI,0BAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAM,GACzB4N,YAAY,yBACZhE,MAAM,gBAFd,sBAGiBu0B,EAAoBxd,MAHrC,0BAIkB,SAACxW,GAAD,OA/WpD,SAACu5D,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAeje,KAAO+iD,EACtBtlC,EAAuBQ,GA4WkDk6C,CAAW3uE,EAAE4D,OAAO/N,UAJ7C,MAMJ,qBAAK4J,MAAM,QAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAChBwM,MAAM,eACNgE,YAAY,2BACZ5N,MAASm+B,EAAoBvd,KAC7B/S,SAAU,SAAC1D,GAAD,OAhXpD,SAACu5D,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehe,KAAO8iD,EACtBtlC,EAAuBQ,GA6WkDm6C,CAAW5uE,EAAE4D,OAAO/N,eAGrD,qBAAK4J,MAAM,kBAAX,SACMu0B,EAAoB5d,KAClB,uBAAO3W,MAAM,sBACTC,MAAO,CAACmE,gBAAgB,UAAWwvC,YAAY,UAAWvvC,MAAO,WACjE/D,QAAS,SAACC,GAAD,OAAOstE,GAAW,IAF/B,iCAIA,uBAAO7tE,MAAM,sBACTM,QAAS,SAACC,GAAD,OAAOstE,GAAW,IAD/B,8CASpB,sBAAK7tE,MAAM,mBAAmBxF,GAAG,gBAAjC,UACI,sBAAKA,GAAG,iBAAR,UACA,sBAAKwF,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,sBACA,qBAAKA,MAAM,sCAAX,SACI,qBAAKA,MAAM,sCAAsCxF,GAAG,iBAApD,SACKs0E,SAIb,qBAAK9uE,MAAM,wBAAX,SACI,cAAC,GAAD,CAAkBtR,MAASu/E,EACnBtkD,OAAO,qBACPH,cAAe+K,EAAoBne,SACnC8U,UAAWmiD,EACX9tE,MAAM,OACN0rB,SAAS,MAGrB,qBAAKjrB,MAAM,cAAX,SACI,qBAAKA,MAAM,yBAAX,SACI,sBAAKA,MAAM,6DAAX,UACkC,MAA5Bu0B,EAAoB/d,IAClB,uBAAOvW,MAAOkuE,EAA0B7tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,KAAlE,SACI,iCACI,qBAAKlwD,MAAM,QAAQ9c,IAAKpS,uBACxB,mBAAG2R,MAAO,CAACoE,MAAO,WAAYrE,MAAM,mBAApC,wBAIR,uBAAOC,MAAOouE,EAAmB/tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,MAA3D,SACI,iCACI,qBAAKlwD,MAAM,QAAQ9c,IAAKpS,uBACxB,mBAAG0R,MAAM,mBAAT,wBAIkB,MAA5Bu0B,EAAoB/d,IAClB,uBAAOvW,MAAOkuE,EAA0B7tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,KAAlE,SACI,iCACI,qBAAKlwD,MAAM,SAAS9c,IAAKpS,wBACzB,mBAAG2R,MAAO,CAACoE,MAAO,WAAYrE,MAAM,mBAApC,yBAIR,uBAAOC,MAAOouE,EAAmB/tE,QAAS,SAACC,GAAD,OAAOmtE,EAAU,MAA3D,SACI,iCACI,qBAAKlwD,MAAM,SAAS9c,IAAKpS,wBACzB,mBAAG0R,MAAM,mBAAT,mCAQxB,sBAAKA,MAAM,0BAA0BxF,GAAG,iBAAxC,UACI,qBAAKwF,MAAM,sBAAsBC,MAAO,CAACmtB,WAAW,QAApD,SACI,kCACI,uBAAOrpB,KAAK,WAAWvJ,GAAG,gBAAgBI,QAAS25B,EAAoB1d,KAAMvW,QAAS,SAACC,GAAD,OAprB9G,SAACA,GACrB,IAAI89D,EAAQ99D,EAAE4D,OACV/Q,EAAOK,EAA2B4qE,EAAO,gBAEzCvhD,GADJ1pB,EAAOA,EAAK+4B,aACOA,YACfkyC,EAAMzjE,SACNxH,EAAK5B,UAAU+C,IAAI,UACnBuoB,EAAQtrB,UAAU+C,IAAI,YAEtBnB,EAAK5B,UAAUiD,OAAO,UACtBqoB,EAAQtrB,UAAUiD,OAAO,WAE7Bq5E,EAAWzP,EAAMzjE,SAwqBwHw0E,CAAiB7uE,MADlH,uBAKJ,sBAAKP,MAAOmtE,EAAoB3yE,GAAG,mBAAmB8F,QAAW,SAACC,GAAD,OAzqBlF,SAACA,GACpB,IAAInN,EAAOmN,EAAE4D,OAET2Y,GADJ1pB,EAAOK,EAA2BL,EAAK,uBACpB+4B,YACnB/4B,EAAK5B,UAAUqD,OAAO,UACtBioB,EAAQtrB,UAAUqD,OAAO,UAoqBmFw6E,CAAgB9uE,IAAxF,UACI,oBAAIP,MAAM,2BAAV,sBAAkD,sBAAMA,MAAM,OAAOxF,GAAG,qBAE5E,sBAAKwF,MAAOotE,EAAZ,UACI,qBAAKptE,MAAM,sBAAsBC,MAAO,CAACmtB,WAAW,QAApD,SACI,kCACI,uBAAOrpB,KAAK,WAAWvJ,GAAG,sBAAsBI,QAAS25B,EAAoBzd,OAAQxW,QAAS,SAACC,GAAD,OAze9H,SAACu5D,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAele,OAASgjD,EACpBA,EACA9kC,EAAe3e,SAAW,GACpB2e,EAAe3e,UAAsC,KAA1B2e,EAAe3e,WAChD2e,EAAene,MAAO,GAC1B2d,EAAuBQ,GAke8Hs6C,CAAc/uE,EAAE4D,OAAOvJ,YADhI,uBAKJ,qBAAKoF,MAAM,mDAAmDxF,GAAG,kBAAjE,SACKw0E,IAEL,qBAAKhvE,MAAM,wBAAwBC,MAAO,CAAC2E,YAAY,KAAvD,SACI,cAAC,GAAD,CAAkBlW,MAASu/E,EACnBtkD,OAAO,qBACPH,cAAe+K,EAAoBle,SACnC6U,UAAWoiD,EACX/tE,MAAM,OACN0rB,SAAS,MAGrB,qBAAKjrB,MAAM,cAAcC,MAAO,CAAC2E,YAAY,IAAKL,cAAc,QAAhE,SACI,qBAAKvE,MAAM,yBAAX,SACI,sBAAKA,MAAM,6DAAX,UACkC,MAA5Bu0B,EAAoB9d,IAClB,uBAAOxW,MAAOkuE,EAA0B7tE,QAAS,SAACC,GAAD,OAAOotE,EAAU,KAAlE,SACI,iCACI,qBAAKnwD,MAAM,QAAQ9c,IAAKpS,uBACxB,mBAAG2R,MAAO,CAACoE,MAAO,WAAYrE,MAAM,mBAApC,wBAIR,uBAAOC,MAAOouE,EAAmB/tE,QAAS,SAACC,GAAD,OAAOotE,EAAU,MAA3D,SACI,iCACI,qBAAKnwD,MAAM,QAAQ9c,IAAKpS,uBACxB,mBAAG0R,MAAM,mBAAT,wBAIkB,MAA5Bu0B,EAAoB9d,IAClB,uBAAOxW,MAAOkuE,EAA0B7tE,QAAS,SAACC,GAAD,OAAOotE,EAAU,KAAlE,SACI,iCACI,qBAAKnwD,MAAM,SAAS9c,IAAKpS,wBACzB,mBAAG2R,MAAO,CAACoE,MAAO,WAAYrE,MAAM,mBAApC,yBAIR,uBAAOC,MAAOouE,EAAmB/tE,QAAS,SAACC,GAAD,OAAOotE,EAAU,MAA3D,SACI,iCACI,qBAAKnwD,MAAM,SAAS9c,IAAKpS,wBACzB,mBAAG0R,MAAM,mBAAT,mCAQ5B,qBAAKA,MAAM,sBAAsBC,MAAO,CAACmtB,WAAW,QAApD,SACI,kCACI,uBAAOrpB,KAAK,WAAWvQ,KAAK,WAAW4C,MAAM,YAAYwE,QAAS25B,EAAoB3d,OAAQtW,QAAS,SAACC,GAAD,OAtiBnI,SAACu5D,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAepe,OAASkjD,EACxBtlC,EAAuBQ,GAmiBmIu6C,CAAchvE,EAAE4D,OAAOvJ,YADzI,sFAQhB,qBAAKoF,MAAM,8DAA8DxF,GAAG,gBAA5E,SACI,sBAAKwF,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,oBAEA,cAAC,GAAD,CAActR,MAASs/E,EACXrkD,OAAO,wBACPH,cAAe+K,EAAoBje,QACnC4U,UA7mB5B,SAAC4uC,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe1e,QAAUwjD,EACzBtlC,EAAuBQ,IA2mBqBohC,SAxmB7B,WACf,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe1e,QAAU,EACzBke,EAAuBQ,IAsmBqBz1B,MAAM,cAK1B,oBAAIS,MAAM,2BAAV,yBAEA,cAAC,GAAD,CAActR,MAASk3E,EACXj8C,OAAO,sBACPH,cAAe+K,EAAoBnkB,MACnC8a,UAlrBf,SAAC4uC,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ0pD,EACvBtlC,EAAuBQ,IAgrBaohC,SA7qBhB,WACpB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ,EACvBokB,EAAuBQ,IA2qBaz1B,MAAM,YAGtB,sBAAKS,MAAM,aAAX,UACI,oBAAIA,MAAM,2BAAV,4CACA,sBAAKA,MAAM,SAAX,UACMu0B,EAAoBpe,QAAQ,GAAe,OAATD,EACpC,qBAAKlW,MAAM,gBAAgBxF,GAAG,eAA9B,SACI,cAAC,GAAD,CACI2b,QAAWoe,EAAoBpe,QAC/Bu1D,OAAUmB,EAAYt4C,EAAoBne,UAC1Cu1D,OAAWp3C,EAAoBle,SAAYw2D,EAAYt4C,EAAoBle,UAAWw2D,EAAYt4C,EAAoBne,cAI9H,wBAEA,sBAAKpW,MAAM,gBAAX,UACMu0B,EAAoBpe,QAAQ,GAAe,OAATD,EAChC,sBAAKlW,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,yCAEJ,qBAAKA,MAAM,6BAAX,SACI,oBAAGxF,GAAG,cAAcyF,MAAO,CAACqE,cAAc,UAA1C,UACI,qBAAKkZ,MAAOmxD,EAAU1uE,MAAOgvE,GAAgBvuE,IAAKpS,mBAA+BimC,EAAoBpe,QAAU,SAC9Gw4D,UAKb,wBAEFp6C,EAAoBhe,SAAWge,EAAoBhe,QAAQ/mB,OAAO,GAAc,OAAT0mB,EACrE,sBAAKlW,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,6CAEJ,qBAAKA,MAAM,6BAAX,SACI,mBAAGxF,GAAG,cAAN,SA37B5B,WAChB,IAAItK,EAAM,GACV,GAAIqkC,EAAoBhe,QACpB,IAAK,IAAIpnB,EAAE,EAAGA,EAAEolC,EAAoBhe,QAAQ/mB,OAAQL,IAAI,CACpD,IAAI8B,EAAM,GAC2B,MAAjCsjC,EAAoBhe,QAAQpnB,KAC5B8B,EAAM,cAE2B,MAAjCsjC,EAAoBhe,QAAQpnB,KAC5B8B,EAAM,WAE2B,MAAjCsjC,EAAoBhe,QAAQpnB,KAC5B8B,EAAM,UAEE,KAARf,EACIf,IAAIolC,EAAoBhe,QAAQ/mB,OAAO,EACvCU,GAAO,MAAQe,EAEff,GAAO,KAAOe,EAElBf,GAAOoC,EAAqBrB,GAGxC,OAAOf,EAo6B2Ds/E,UAI9B,wBAEFj7C,EAAoB7d,QAAmB,OAATR,EAC5B,sBAAKlW,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,0CAEJ,qBAAKA,MAAM,6BAAX,SACI,mBAAGxF,GAAG,cAAN,wBAIR,0BAEA+5B,EAAoBxd,MAAqC,KAA7Bwd,EAAoBxd,MAC5Cwd,EAAoBvd,MAAqC,KAA7Bud,EAAoBvd,MAChDud,EAAoB5d,OACf,OAATT,GAA0B,OAATA,EAUjB,wBATA,sBAAKlW,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,iDAEJ,qBAAKA,MAAM,6BAAX,SACI,mBAAGxF,GAAG,cAAcyF,MAAO,CAACkqB,WAAY,YAAxC,SA57BtB,WACtB,IAAIj6B,EAAM,GAgBV,OAfIqkC,EAAoBxd,MAAqC,KAA7Bwd,EAAoBxd,OACrC,IAAP7mB,IACAA,GAAO,MACXA,GAAOqkC,EAAoBxd,MAE3Bwd,EAAoBvd,MAAqC,KAA7Bud,EAAoBvd,OACrC,IAAP9mB,IACAA,GAAO,MACXA,GAAOqkC,EAAoBvd,MAE3Bud,EAAoB5d,OACT,IAAPzmB,IACAA,GAAO,MACXA,GAAO,cAEJA,EA26B2Fu/E,UAMhEl7C,EAAoBne,UAA6C,KAAjCme,EAAoBne,SAElD,sBAAKpW,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,yCAEJ,qBAAKA,MAAM,6BAAX,SACI,oBAAGxF,GAAG,cAAN,UACuC,OAAjC+5B,EAAoBne,SAClB,sBAAMpW,MAAM,OAAOC,MAAO,CAACgvB,UAAW,UAEtC,sBAAMjvB,MAAM,OAAOC,MAAO,CAACmE,gBAAiByoE,EAAYt4C,EAAoBne,UAAWs5D,gBAAiB,OAAQzgD,UAAW,UAE/H,sBAAMjvB,MAAM,OAAZ,SACK1N,EAAqB26E,EAAgB14C,EAAoBne,SAAUme,EAAoB/d,gBAMxG,0BAEA+d,EAAoBle,UAA6C,KAAjCke,EAAoBle,UAAoBke,EAAoB1d,OACjF,OAAXX,GAA8B,OAAXA,EA0BnB,wBAxBA,sBAAKlW,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,2CAEJ,qBAAKA,MAAM,6BAAX,SACI,oBAAGxF,GAAG,cAAN,UACM+5B,EAAoBzd,OAClB,sBAAM9W,MAAM,OAAOC,MAAO,CAACgvB,UAAW,OAAOygD,gBAAiB,UAC9B,OAAjCn7C,EAAoBle,SACnB,sBAAMrW,MAAM,OAAOC,MAAO,CAACgvB,UAAW,UAEtC,sBAAMjvB,MAAM,OAAOC,MAAO,CAACmE,gBAAgByoE,EAAYt4C,EAAoBle,UAAWq5D,gBAAiB,OAAQzgD,UAAW,UAE9H,sBAAMjvB,MAAM,OAAZ,SACMu0B,EAAoBzd,OAClB,aAEAxkB,EAAqB26E,EAAgB14C,EAAoBle,SAAUke,EAAoB9d,gBAS7G8d,EAAoBje,QAAU,IAAe,OAATJ,GAA0B,OAATA,GACnD,sBAAKlW,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,yCAEJ,qBAAKA,MAAM,6BAAX,SACI,mBAAGxF,GAAG,cAAN,SAz9B9B,WACd,IAAItK,EAAM,GACV,GAAIqkC,EAAoBje,QAAU,EAAG,CACjC,IAAIljB,EAAOghC,EAAgB+3C,aAAav9E,MAAK,SAAAm+E,GAAG,OAAIA,EAAIjgD,SAASyH,EAAoBje,WACjFljB,IACAlD,EAAMoC,EAAqBc,EAAK25B,QAExC,OAAO78B,EAk9B2Dy/E,UAI9B,wBAGFp7C,EAAoBnkB,MAAQ,EAC1B,sBAAKpQ,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,iDAEJ,qBAAKA,MAAM,6BAAX,SACI,mBAAGxF,GAAG,cAAN,SA59BzB,WACnB,IAAItK,EAAM,GACV,GAAIqkC,EAAoBnkB,MAAQ,EAAG,CAC/B,IAAIhd,EAAOghC,EAAgBkuC,UAAU1zE,MAAK,SAAAm+E,GAAG,OAAIA,EAAIjgD,SAASyH,EAAoBnkB,SAC9Ehd,IACAlD,EAAMoC,EAAqBc,EAAK25B,QAExC,OAAO78B,EAq9B2D0/E,UAI9B,wBAGFr7C,EAAoB97B,KAAO87B,EAAoB97B,IAAIjJ,OAAS,EAC1D,sBAAKwQ,MAAM,MAAX,UACI,qBAAKA,MAAM,qCAAX,SACI,sDAEJ,qBAAKA,MAAM,6BAAX,SACI,mBAAGxF,GAAG,cAAayF,MAAO,CAACkqB,WAAY,YAAvC,SA/9BlB,WAC1B,IAAIj6B,EAAM,GACV,GAAIqkC,EAAoB97B,KAAO87B,EAAoB97B,IAAIjJ,OAAS,EAAG,CAW/D,IAAK,IAAIL,EAAG,EAAGA,EAAEolC,EAAoB97B,IAAIjJ,OAAQL,IAAI,CACjD,IAAIwD,EAAQ,GACRS,EAAOghC,EAAgB/6B,SAASzK,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWj8B,KAAK+pE,IAAIrmC,EAAoB97B,IAAItJ,GAAGwJ,WAC/F,GAAIvF,EAAK,CACDmhC,EAAoB97B,IAAItJ,GAAGwJ,OAAO,IAClChG,GAAS,gBACbA,GAASS,EAAK25B,MACd,IAAIn0B,EAAQ27B,EAAoB97B,IAAItJ,GAAGyJ,MACvC,GAAIA,GAASA,EAAMpJ,OAAO,EACtB,IAAK,IAAIS,EAAE,EAAGA,EAAE2I,EAAMpJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMiG,EAAM3I,GAAG0C,MAGhC,IAAIkG,EAAQ07B,EAAoB97B,IAAItJ,GAAG0J,MACvC,GAAIA,GAASA,EAAMrJ,OAAO,EACtB,IAASS,EAAE,EAAGA,EAAE4I,EAAMrJ,OAAQS,IAEtB0C,GADA1C,EAAE,EACO,KAEA,WACb0C,GAAS,IAAMkG,EAAM5I,GAAGmrE,IAIpClrE,EAAMyC,EAEN4hC,EAAoBviB,KACpB9hB,GAAO,oDAEPA,GAAO,8CAEf,OAAOA,EA+6B2F2/E,UAI9D,yBAEFt7C,EAAoB3d,QAAoB,OAATV,GAA0B,OAATA,EAO9C,wBANA,qBAAKlW,MAAM,MAAX,SACI,qBAAKA,MAAM,8BAA8BC,MAAO,CAAC2E,YAAY,QAA7D,SACI,+EAYhC,cAAC,GAAD,CAAqBlW,MAAS+2E,EAClB97C,OAAO,aACPswC,eAAgB1lC,EAAoB97B,IACpC0kE,OAAQ5oC,EAAoBviB,KAC5BorD,WAloBd,SAAC3sD,GACX,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACxCS,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,MAEnDukB,EAAev8B,IAAI1J,KAAK,CACpB4J,OAAQ8X,EACR7X,MAAO,GACPC,MAAO,KAGf27B,EAAuBQ,IAynBCsoC,WAtmBX,SAAC7sD,GACd,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAev8B,IAAMu8B,EAAev8B,IAAIuwB,QAAO,SAAA51B,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACxF+jB,EAAuBQ,IAomBC4mC,WAtnBX,SAACnrD,EAAM8pD,GACpB,IAAMvlC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIvC,KAAK+pE,IAAIxnE,EAAKuF,UAAU9H,KAAK+pE,IAAInqD,MACtE/X,IACI6hE,GACA7hE,EAAGC,QAA4B,EAAnB9H,KAAK+pE,IAAInqD,GACrB/X,EAAGE,MAAQ,GACXF,EAAGG,MAAQ,IAEXH,EAAGC,OAAS9H,KAAK+pE,IAAInqD,IAG7B+jB,EAAuBQ,IA2mBCynC,YA3rBb,SAAChsD,EAAMm3D,EAAOxM,GACzB,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAELF,EAAGE,MAAMhK,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWivE,MAE5ClvE,EAAGE,MAAM7J,KAAK,CAAC4J,OAAOivE,EAAOj1E,MAAOyoE,KAG5C5mC,EAAuBQ,IAgrBCwnC,YA7qBV,SAAC/rD,EAAMm3D,GACrB,IAAM5yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAEfF,EAAGE,MAAQF,EAAGE,MAAMowB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAWivE,MAEvDpzC,EAAuBQ,IAqqBCqnC,aAlqBZ,SAAC5rD,EAAMo3D,EAAOC,EAAU1M,GACpC,IAAMpmC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEJH,EAAGG,MAAMjK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAEjEpvE,EAAGG,MAAM9J,KAAK,CAACgK,IAAK8uE,EAAO/uE,KAAMgvE,EAAU1M,IAAKA,KAGxD5mC,EAAuBQ,IAupBCmnC,aAppBT,SAAC1rD,EAAMo3D,EAAOC,GAC7B,IAAM9yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEfH,EAAGG,MAAQH,EAAGG,MAAMmwB,QAAO,SAAA51B,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAE3EtzC,EAAuBQ,IA4oBCkoC,gBArmBP,SAACvqE,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehjB,KAAOrf,EACtB6hC,EAAuBQ,IAmmBCz1B,MAAM,OACND,OAAO,sBACPm+D,eAAe,EACfxkB,kBAAoB,qBACpBzhD,KAAK,IACLm8D,kBAAmB,EACnBgI,cAAgB,IAE5B,qBAAK37D,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,EAAYx4D,IAA5G,4BCrfTuvE,GAxtBa,SAAC3wE,GACzB,MAA8CyB,mBAAS,CACnD0hE,UAAW,KACXyN,UAAW,KACXC,UAAW,KACX9N,SAAU,KACVC,UAAW,KACXC,WAAY,KACZC,YAAa,OAPjB,mBAAOjuC,EAAP,KAAwBC,EAAxB,KASA,EAAsDzzB,mBAAS,CAC3DwP,MAAOjR,EAAMiR,MACbmF,OAAQpW,EAAMoW,OACdC,OAAQrW,EAAMqW,OACdC,OAAQtW,EAAMsW,OACdxD,MAAO9S,EAAM8S,MACbpK,KAAM1I,EAAM0I,KACZuK,KAAMjT,EAAMiT,KACZpC,KAAM7Q,EAAM6Q,KACZC,QAAU9Q,EAAM8Q,QAAU9Q,EAAM8Q,QAAU,IAC1ChX,IAAMkG,EAAMlG,IAAMkG,EAAMlG,IAAM,KAVlC,mBAAOs7B,EAAP,KAA4BC,EAA5B,KAaA,EAAsD5zB,oBAAS,GAA/D,mBAAOsiE,EAAP,KAA4BC,EAA5B,KAEMC,EAA6BF,EAAuB,aAAe,oBACnEG,EAA2BH,EAAuB,+DAAiE,sEACnHI,EAAyBJ,EAAuB,aAAY,YAElElgE,qBAAU,WAC4B,OAA9BoxB,EAAgBkuC,WAChBx5C,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcpH,oCACbtY,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACL6tC,UAAYtlE,EAASC,KAAK0mE,aAC1BoM,UAAY/yE,EAASC,KAAK0tE,aAC1BqF,UAAYhzE,EAASC,KAAKgzE,SAC1B9N,UAAYnlE,EAASC,KAAKsmE,KAC1BrB,SAAWllE,EAASC,KAAKumE,YACzBpB,WAAaplE,EAASC,KAAKwmE,eAC3BpB,YAAcrlE,EAASC,KAAKymE,kBAEhCjvC,EAAGs7C,UAAUn/E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,8CACzC0H,EAAG6tC,UAAU1xE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,4BACzC0H,EAAGu7C,UAAUp/E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,yBACzC0H,EAAG0tC,UAAUvxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,yBAAsB,CAACD,OAAO,EAAGC,MAAM,MACjF0H,EAAGytC,SAAStxE,OAAO,EAAE,EAAE,CAACk8B,QAAQ,EAAGC,MAAM,wCAAqC,CAACD,OAAO,EAAGC,MAAM,MAC/FsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aA0M/B81D,EAtG6B,WAC7B,IAAI3oE,EAAM,GAEV,GAAIqkC,EAAoBnkB,MAAM,EAAE,CAC5B,GAAIgkB,EAAgBkuC,WACZlvE,EAAOghC,EAAgBkuC,UAAU1zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBnkB,WAE5ElgB,EAAInB,KAAM,CAACuQ,OAAQ,+BAAgC3M,MAAOS,EAAK25B,QAGvE,IAAImjD,EAAU37C,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,MAAe,QAAXA,EAAK2F,OACxD,IAAMw7B,EAAoBhf,QAAYgf,EAAoBhf,OAAO/lB,OAAO,GAAO0gF,IACvE97C,EAAgBkuC,UAAU,CAC1B,IAAI3vE,EArCe,SAAC0xE,GAChC,IAAID,EAAW,GACXE,EAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAMsrE,EAAWtrE,OACzE,GAAIurE,GAAWA,EAAQnrE,SAAWmrE,EAAQnrE,QAAQ3J,OAAO,EAAE,CAEvD,IADA,IAAI+0E,EAAS,GACLt0E,EAAE,EAAGA,EAAEq0E,EAAQnrE,QAAQ3J,OAAQS,IAC1Bs0E,GAALt0E,EAAE,EAAa,KACJ,GAEfs0E,GADaF,EAAWprE,IAAIrK,MAAK,SAAAqlE,GAAG,OAAGA,EAAIA,MAAQqQ,EAAQnrE,QAAQlJ,MAClD8jE,IAEN,KAAXwQ,GACAH,EAAWr1E,KAAKw1E,GAExB,IAAIr0E,EAAI,GACR,GAAIk0E,EAAW50E,OAAO,EAClB,CAAIU,EAAMk0E,EAAW,GACrB,IADA,IACSj1E,EAAE,EAAGA,EAAEi1E,EAAW50E,OAAQL,IAC/Be,GAAO,KAAOk0E,EAAWj1E,GAGjC,OAAOe,EAgBiBigF,CAA2Blb,GAAqB,IAC5D,GAAI1gC,EAAoBhf,OACpB,IAAK,IAAIpmB,EAAG,EAAGA,EAAEolC,EAAoBhf,OAAO/lB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgBkuC,UAAU1zE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBhf,OAAOpmB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAIb,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,mCAAiC3M,MAAOA,IAIvE,GAAK4hC,EAAoB/e,QAAY+e,EAAoB/e,OAAOhmB,OAAO,GAC/D4kC,EAAgB27C,UAAU,CAE1B,IADIp9E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB/e,OAAOhmB,OAAQL,IAAI,EAChDiE,EAAOghC,EAAgB27C,UAAUnhF,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/e,OAAOrmB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,kCAAgC3M,MAAOA,IAIlEA,EAnGqB,SAAC0xE,GAC9B,IAAID,EAAW,GACXE,EAAU/vC,EAAoBt7B,IAAIrK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAMsrE,EAAWtrE,OACzE,GAAIurE,GAAWA,EAAQnrE,SAAWmrE,EAAQnrE,QAAQ3J,OAAO,EAAE,CAEvD,IADA,IAAI+0E,EAAS,GACLt0E,EAAE,EAAGA,EAAEq0E,EAAQnrE,QAAQ3J,OAAQS,IAAI,CAC9Bs0E,GAALt0E,EAAE,EAAa,KACJ,GACf,IAAImgF,EAAS/L,EAAWprE,IAAIrK,MAAK,SAAAqlE,GAAG,OAAGA,EAAIA,MAAQqQ,EAAQnrE,QAAQlJ,MACnEs0E,GAAU6L,EAAOrc,IACE,QAAfqc,EAAOnc,KACF1/B,EAAoBvkB,KAAK,GAAOukB,EAAoBtkB,SAA2C,KAA9BskB,EAAoBtkB,UACtFs0D,GAAU,OAAShwC,EAAoBvkB,KAAKzf,YAA4C,MAA9BgkC,EAAoBtkB,QAAgB,SAAU,aAIrG,KAAXs0D,GACAH,EAAWr1E,KAAKw1E,GAGxB,IAAIr0E,EAAI,GACR,GAAIk0E,EAAW50E,OAAO,EAClB,CAAIU,EAAMk0E,EAAW,GACrB,IADA,IACSj1E,EAAE,EAAGA,EAAEi1E,EAAW50E,OAAQL,IAC/Be,GAAO,KAAOk0E,EAAWj1E,GAGjC,OAAOe,EAwESmgF,CAAyBrb,GAAmB,IAIxD,GAHa,IAATriE,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,kCAAgC3M,MAAOA,IAE1D4hC,EAAoB1sB,KAAK,EACzB,GAAIusB,EAAgB8tC,UACZ9uE,EAAOghC,EAAgB8tC,SAAStzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB1sB,UAE3E3X,EAAInB,KAAM,CAACuQ,OAAQ,wBAAsB3M,MAAOS,EAAK25B,QAIjE,GAAIwH,EAAoBtiB,MAAM,EAC1B,GAAImiB,EAAgB+tC,WACZ/uE,EAAOghC,EAAgB+tC,UAAUvzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBtiB,WAE5E/hB,EAAInB,KAAM,CAACuQ,OAAQ,SAAO3M,MAAOS,EAAK25B,QAIlD,GAAKwH,EAAoBniB,MAAUmiB,EAAoBniB,KAAK5iB,OAAO,GAC3D4kC,EAAgBguC,WAAW,CAE3B,IADIzvE,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBniB,KAAK5iB,OAAQL,IAAI,EAC9CiE,EAAOghC,EAAgBguC,WAAWxzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,SAC3EiE,EAAOghC,EAAgBiuC,YAAYzzE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBniB,KAAKjjB,OAC1FiE,IACc,KAAVT,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,6BAA8B3M,MAAOA,IAIpE,GAAK4hC,EAAoB9e,QAAY8e,EAAoB9e,OAAOjmB,OAAO,GAC/D4kC,EAAgB47C,UAAU,CAE1B,IADIr9E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB9e,OAAOjmB,OAAQL,IAAI,CACpD,IAAIiE,KAAOghC,EAAgB47C,UAAUphF,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB9e,OAAOtmB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,wBAAyB3M,MAAOA,KAKnE,OAAOzC,EAGG4oE,GAERiM,EAAcxwC,EAAoBnkB,MAAM,EAExC2oD,EAAc,SAACx4D,GACjB,GAAMwkE,EAAY,CAGd5lE,EAAM4d,aAAa,CACfC,UAHY,yBAIZ5M,MAAOmkB,EAAoBnkB,MAC3BmF,OAAQgf,EAAoBhf,OAC5BC,OAAQ+e,EAAoB/e,OAC5BC,OAAQ8e,EAAoB9e,OAC5BxD,MAAOsiB,EAAoBtiB,MAC3BpK,KAAM0sB,EAAoB1sB,KAC1BmI,KAAMukB,EAAoBvkB,KAC1BC,QAASskB,EAAoBtkB,QAC7BmC,KAAMmiB,EAAoBniB,KAC1BnZ,IAAKs7B,EAAoBt7B,QAK/B+/D,EAAgB,SAACz4D,GAanBi0B,EAZsB,CAClBpkB,MAAO,EACPmF,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRxD,MAAO,EACPpK,KAAM,EACNmI,KAAM,EACNC,QAAS,GACTmC,KAAM,GACNnZ,IAAK,KAGT,IAAIggE,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAwEzCuwE,EAAqB,SAACzkE,EAAG0kE,GAC3B,IAAI7xE,EAAOmN,EAAE4D,OACT+Z,EAAOqW,EAAoBniB,KAAQmiB,EAAoBniB,KAAKzW,QAAQspE,IAAU,EAC5EjwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CnhC,EAAKwH,SACAo6B,EAAe5iB,OAAM4iB,EAAe5iB,KAAO,IAC5C8L,EAAI,GAAG8W,EAAe5iB,KAAKrjB,KAAKk2E,IAEhC/mD,GAAK,GAAG8W,EAAe5iB,KAAKxhB,OAAOstB,EAAI,GAE/CsW,EAAuBQ,IA+BrBowC,EAAiB,SAACpH,EAAWqH,GAC/B,IAAMrwC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAe/7B,MAChB+7B,EAAe/7B,IAAM,IACzB,IAAI7F,EAAO4hC,EAAe/7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMssE,KAClD,GAAIjyE,EACA,GAAI4qE,EAAWxuE,OAAO,EAClB4D,EAAK+F,QAAU6kE,MACd,CACD,IAAI9/C,EAAM8W,EAAe/7B,IAAI0C,QAAQvI,GACrC4hC,EAAe/7B,IAAIrI,OAAOstB,EAAI,QAGlC,GAAI8/C,EAAWxuE,OAAO,EAAE,CACpB,IAAI81E,EAAU,CACVvsE,IAAKssE,EACLlsE,QAAS6kE,GAEbhpC,EAAe/7B,IAAIlK,KAAKu2E,GAGhC9wC,EAAuBQ,IAYrB4wC,EAAuBxxC,EAAgBkuC,UAAaluC,EAAgBkuC,UAAU5oE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIujD,EAAuBl8C,EAAgB27C,UAAa37C,EAAgB27C,UAAUr2E,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClIwjD,EAAuBn8C,EAAgB47C,UAAa57C,EAAgB47C,UAAUt2E,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI24C,EAAuBtxC,EAAgB8tC,SAAa9tC,EAAgB8tC,SAASxoE,KAAI,SAAAC,GAAE,MAAM,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAClI44C,EAAuBvxC,EAAgB+tC,UAAa/tC,EAAgB+tC,UAAUzoE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAElIu5C,EAAwBlyC,EAAgBguC,YAAgBhuC,EAAgBguC,WAAW5yE,OAAO,EAC5F4kC,EAAgBguC,WAAW1oE,KAAI,SAAA6sE,GAAG,OAC9B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAEEy5C,EAAyBpyC,EAAgBiuC,aAAiBjuC,EAAgBiuC,YAAY7yE,OAAO,EAC/F4kC,EAAgBiuC,YAAY3oE,KAAI,SAAA6sE,GAAG,OAC/B,kCACI,uBAAOxiE,KAAK,WAAW3N,MAAOmwE,EAAIz5C,OAAQlyB,QAAY25B,EAAoBniB,MAAQmiB,EAAoBniB,KAAKzW,QAAQ4qE,EAAIz5C,SAAS,EAAIxsB,QAAS,SAACC,GAAD,OAAOykE,EAAmBzkE,EAAGgmE,EAAIz5C,WAC7Kx6B,EAAqBi0E,EAAIx5C,aAIlC,wBAwBEyjD,EACF,sBAAKxwE,MAAM,mBAAX,UACI,qBAAKU,IAAI,gBAAgBwF,IAAI,QAC7B,mBAAGlG,MAAM,oBAAT,qHAIFywE,EACF,qBAAKzwE,MAAM,8DAAX,SACI,cAAC,GAAD,CACIg+D,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMk8D,GAAqB,GAAGl8D,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMk8D,GAAqB,GAAGl8D,OAAKI,QAAU,GAC7K8kE,YAAehJ,GAAqB,GAAGh8D,IACvCqG,OAAU21D,GAAqB,GAAGlB,IAClCmK,SAAYjJ,GAAqB,GAAGl8D,IACpCmyB,UAAak6C,EACb7G,IAAOiS,MAKbE,EAAen8C,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,MAAW,QAATA,EAAGZ,QAC7Cw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,MAAW,QAATA,EAAGZ,OAAaI,SACjDo7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,MAAW,QAATA,EAAGZ,OAAaI,QAAQihB,SAAS,OACtE,gCACI,qBAAKpa,MAAM,uBAAuBC,MAAO,CAAC4D,aAAa,OAAvD,SACI,qBAAK7D,MAAM,6DAAX,SACI,cAAC,GAAD,CACIgQ,KAAMukB,EAAoBvkB,KAC1B0vD,OAAQnrC,EAAoBtkB,QAC5Bib,UA1IL,SAAC+8C,EAAWC,GAC3B,IAAMlzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehlB,KAAOi4D,EACtBjzC,EAAe/kB,QAAUi4D,EACzB1zC,EAAuBQ,UA0IbT,EAAoBvkB,MAAqC,IAA7BukB,EAAoBvkB,KAM9C,wBALA,sBAAKhQ,MAAM,mBAAX,UACI,qBAAKU,IAAI,0BAA0BwF,IAAI,QACvC,mBAAGlG,MAAM,oBAAT,oDAOZ,wBAGF2wE,EACF,qBAAK3wE,MAAM,yCAAX,SACI,cAAC,GAAD,CACIg+D,WAAezpC,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMi8D,GAAmB,GAAGj8D,OAAOw7B,EAAoBt7B,IAAIrK,MAAK,SAAA+K,GAAE,OAAIA,EAAGZ,MAAMi8D,GAAmB,GAAGj8D,OAAKI,QAAU,GACzK8kE,YAAejJ,GAAmB,GAAG/7D,IACrCqG,OAAU01D,GAAmB,GAAGjB,IAChCmK,SAAYlJ,GAAmB,GAAGj8D,IAClCmyB,UAAak6C,EACb7G,IAAOmS,MA0BbE,EACF,gCACI,qBAAK5wE,MAAM,8DAAX,SACI,sBAAKA,MAAM,yBAAX,UACI,oBAAIA,MAAM,iCAAV,2BAEA,cAAC,GAAD,CAActR,MAASk3E,EACXj8C,OAAO,kBACPH,cAAe+K,EAAoBnkB,MACnC8a,UArRH,SAAC4uC,GACtB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ0pD,EACvBtlC,EAAuBQ,IAmRCohC,SAhRJ,WACpB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe5kB,MAAQ,EACvBokB,EAAuBQ,IA8QCz1B,MAAM,cAI1B,sBAAKS,MAAM,uFAAX,UACI,sBAAKA,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAA4BC,MAAO,CAAC4D,aAAa,QAA3D,yCACA,cAAC,GAAD,CAAkBnV,MAASi3E,EACnBh8C,OAAO,cACPH,cAAe+K,EAAoBtiB,MACnCiZ,UA3ON,SAAC4uC,GACf,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe/iB,MAAQ6nD,EACvBtlC,EAAuBQ,IAyOHz1B,MAAM,YAGlB,sBAAKS,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,mCACA,cAAC,GAAD,CAAkBnV,MAASg3E,EACnB/7C,OAAO,aACPH,cAAe+K,EAAoB1sB,KACnCqjB,UA9OP,SAAC4uC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAentB,KAAOiyD,EACtBtlC,EAAuBQ,IA4OHz1B,MAAM,kBAOxBsxE,EACF,sBAAK7wE,MAAM,SAAX,UACKywE,EACD,qBAAKzwE,MAAM,yCAAX,SACI,qBAAKA,MAAM,yBAAX,SACI,cAAC,GAAD,CACYtR,MAASk3E,EACTj8C,OAAO,cACPswC,eAAgB1lC,EAAoBhf,OACpC0X,SA/SP,SAAC6sC,GAClB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAezf,SAAUyf,EAAezf,OAAS,IACtDyf,EAAezf,OAAOxmB,KAAK+qE,GAC3BtlC,EAAuBQ,IA4SCohC,SAzSJ,SAACzjE,GACrB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAezf,OAAO5Z,QAAQhL,SAASgC,IAC/CqiC,EAAezf,OAAO3kB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IAsSCz1B,MAAM,OACNo0D,kBAAmB,QAIvC,qBAAK3zD,MAAM,yCAAX,SACI,sBAAKA,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,gCACA,cAAC,GAAD,CACYtR,MAAS4hF,EACT3mD,OAAO,gBACPswC,eAAgB1lC,EAAoB/e,OACpCyX,SA/SL,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAexf,SAAUwf,EAAexf,OAAS,IACtDwf,EAAexf,OAAOzmB,KAAK+qE,GAC3BtlC,EAAuBQ,IA4SCohC,SAzSF,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAexf,OAAO7Z,QAAQhL,SAASgC,IAC/CqiC,EAAexf,OAAO5kB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IAsSCz1B,MAAM,OACNo0D,kBAAmB,YAOzCmd,EACF,sBAAK9wE,MAAM,SAAX,UACK2wE,EACD,qBAAK3wE,MAAM,8CAAX,SACI,sBAAKA,MAAM,wBAAuBC,MAAO,CAACL,MAAM,QAAhD,UACI,oBAAII,MAAM,2BAAV,2BACA,sBAAKA,MAAM,SAAX,UACI,qBAAKA,MAAM,QAAX,SACKsmE,IAEL,qBAAKtmE,MAAOojE,EAA2B5oE,GAAG,uBAA1C,SACKgsE,YAKjB,qBAAKxmE,MAAM,iDAAX,SACI,uBAAMA,MAAOqjE,EAA2B/iE,QAAS,SAACC,GA3lB1D4iE,GAAwBD,IA2lBhB,UAAmFI,EAAnF,IAA0G,qBAAK5iE,IAAI,6BAA6BwF,IAAI,0BAExJ,sBAAKlG,MAAM,sCAAX,UACI,qBAAKU,IAAI,gBAAgBwF,IAAI,QAAQ,mBAAGlG,MAAM,oBAAT,yEAGzC,qBAAKA,MAAM,yCAAX,SACI,qBAAKA,MAAM,yBAAX,SACI,cAAC,GAAD,CACYtR,MAAS6hF,EACT5mD,OAAO,gBACPswC,eAAgB1lC,EAAoB9e,OACpCwX,SAxUT,SAAC6sC,GAChB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAevf,SAAUuf,EAAevf,OAAS,IACtDuf,EAAevf,OAAO1mB,KAAK+qE,GAC3BtlC,EAAuBQ,IAqUCohC,SAlUN,SAACzjE,GACnB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAevf,OAAO9Z,QAAQhL,SAASgC,IAC/CqiC,EAAevf,OAAO7kB,OAAOzB,EAAE,GAC/BqlC,EAAuBQ,IA+TCz1B,MAAM,OACNo0D,kBAAmB,WAQzCod,EACF,sBAAK/wE,MAAM,wBAAX,UACI,qBAAKA,MAAM,qBAAX,SACI,oBAAIA,MAAM,4BAAV,+CAEJ,sBAAKA,MAAM,qBAAX,UACK6wE,EACAC,QAKPxX,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAElK,OACI,qBAAKsI,MAAM,UAAX,SACqC,OAA9Bo0B,EAAgBkuC,UACf,cAAC,GAAD,CAAchjE,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OA5QpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAyQuIY,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIH4X,EACAG,EACD,qBAAK/wE,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCrZnCmY,GAtUO,SAAC7xE,GACnB,MAA8CyB,mBAAS,CACnD23D,SAAU,KACVC,QAAS,OAFb,mBAAOpkC,EAAP,KAAwBC,EAAxB,KAIA,EAAsDzzB,mBAAS,CAC3DsD,IAAK/E,EAAM+E,IACXsM,MAAOrR,EAAMqR,MACbC,KAAMtR,EAAMsR,KACZC,OAAQvR,EAAMuR,OACdC,OAAQxR,EAAMwR,OACdC,QAASzR,EAAMyR,QACfE,QAAS3R,EAAM2R,QACfliB,KAAMuQ,EAAMvQ,KACZmiB,KAAM5R,EAAM4R,OAThB,mBAAOwjB,EAAP,KAA4BC,EAA5B,KAYAxxB,qBAAU,WAC0B,OAA5BoxB,EAAgBokC,SAEhB1vC,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcnM,qCACbvT,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACL+jC,QAAUx7D,EAASC,KAAK07D,kBACxBJ,SAAWv7D,EAASC,KAAK27D,cAE7BnkC,EAAG8jC,SAAS3nE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,2BACxC0H,EAAG+jC,QAAQ5nE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,gCACvCsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aA0D7B81D,EArD2B,WAC7B,IAeYzlE,EAfRlD,EAAM,IACNqkC,EAAoBrwB,KAAkC,IAA3BqwB,EAAoBrwB,KAC/ChU,EAAInB,KAAM,CAACuQ,OAAQ,kBAAmB3M,MAAO4hC,EAAoBrwB,MAGjEqwB,EAAoB/jB,MAAM,KACtB4jB,EAAgBmkC,WACZnlE,EAAOghC,EAAgBmkC,SAAS3pE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB/jB,WAE3EtgB,EAAInB,KAAM,CAACuQ,OAAQ,cAAe3M,MAAOS,EAAK25B,SAItDwH,EAAoB9jB,KAAK,IACrB2jB,EAAgBokC,UACZplE,EAAOghC,EAAgBokC,QAAQ5pE,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB9jB,UAE1EvgB,EAAInB,KAAM,CAACuQ,OAAQ,mBAAoB3M,MAAOS,EAAK25B,SAgC/D,OA5BIwH,EAAoB3jB,QAChB2jB,EAAoBzjB,QACpB5gB,EAAInB,KAAM,CAACuQ,OAAQ,+BAAgC3M,MAAO,oBAAsBE,EAAqB0hC,EAAoB3jB,SAAW,MAAQ/d,EAAqB0hC,EAAoBzjB,WAErL5gB,EAAInB,KAAM,CAACuQ,OAAQ,+BAAgC3M,MAAO,eAAiBE,EAAqB0hC,EAAoB3jB,WAElH2jB,EAAoBzjB,SAC1B5gB,EAAInB,KAAM,CAACuQ,OAAQ,+BAAgC3M,MAAO,cAAgBE,EAAqB0hC,EAAoBzjB,WAGnHyjB,EAAoB3lC,KAChB2lC,EAAoBxjB,KACpB7gB,EAAInB,KAAM,CAACuQ,OAAQ,iDAA+C3M,MAAO,oBAAsBE,EAAqB0hC,EAAoB3lC,MAAQ,MAAQiE,EAAqB0hC,EAAoBxjB,QAEjM7gB,EAAInB,KAAM,CAACuQ,OAAQ,iDAA+C3M,MAAO,eAAiBE,EAAqB0hC,EAAoB3lC,QAEjI2lC,EAAoB08C,OAC1B/gF,EAAInB,KAAM,CAACuQ,OAAQ,iDAA+C3M,MAAO,cAAgBE,EAAqB0hC,EAAoBxjB,QAGlIwjB,EAAoB5jB,QACpBzgB,EAAInB,KAAK,CAACuQ,OAAQ,+BAGlBi1B,EAAoB7jB,QACpBxgB,EAAInB,KAAK,CAACuQ,OAAQ,8DAGfpP,EAGK4oE,GAIVC,EAAc,SAACx4D,GACjBpB,EAAM4d,aAAa,CACfC,UAAW,mBACX9Y,IAAKqwB,EAAoBrwB,IACzBsM,MAAO+jB,EAAoB/jB,MAC3BC,KAAM8jB,EAAoB9jB,KAC1BG,QAAS2jB,EAAoB3jB,QAC7BE,QAASyjB,EAAoBzjB,QAC7BliB,KAAM2lC,EAAoB3lC,KAC1BmiB,KAAMwjB,EAAoBxjB,KAC1BJ,OAAQ4jB,EAAoB5jB,OAC5BD,OAAQ6jB,EAAoB7jB,UAI9BsoD,EAAgB,SAACz4D,GAYnBi0B,EAXsB,CAClBtwB,IAAK,GACLsM,MAAO,EACPC,KAAM,EACNG,QAAS,KACTE,QAAS,KACTliB,KAAM,KACNmiB,KAAM,KACNJ,QAAQ,EACRD,QAAQ,IAGZ,IAAIuoD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YAMzC0kE,EAAc,SAACC,EAAOC,GACxBA,EAAQzqE,KAAOwqE,EAAOxqE,KACtByqE,EAAQtoD,KAAOqoD,EAAOroD,KACtBsoD,EAAQzoD,QAAUwoD,EAAOxoD,QACzByoD,EAAQvoD,QAAUsoD,EAAOtoD,SA+CvBogE,EAAoB,SAACv+E,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAetkB,OAAS/d,EACxB6hC,EAAuBQ,IAGrBm8C,EAAoB,SAACx+E,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAerkB,OAAShe,EACxB6hC,EAAuBQ,IAqBrBskC,EAAkC,CAACz5D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAChFizC,EAAkC,CAAC15D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAEhFkzC,EAAoBplC,EAAgBmkC,SAAYnkC,EAAgBmkC,SAAS7+D,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC7H0sC,EAAmBrlC,EAAgBokC,QAAWpkC,EAAgBokC,QAAQ9+D,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAIhI,OACI,qBAAK/sB,MAAM,UAAX,SAEiC,OAA1Bo0B,EAAgBslC,MACf,cAAC,GAAD,CAAcp6D,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,8CAA8CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OArBrH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAkBwIY,CAAYp5D,IAAI6oB,SAAS,IAA7J,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAKJ,qBAAKh5D,MAAM,8DAAX,SACI,qBAAKA,MAAM,4CAAX,SACI,sBAAKA,MAAM,cAAX,UACI,oBAAIA,MAAM,2BAAV,oBACA,qBAAKA,MAAM,yBAAX,SACI,qBAAKA,MAAM,kBAAX,SACI,qBAAKA,MAAM,qBAAX,SACI,uBAAO+D,KAAK,OAAOvQ,KAAK,GAAG4C,MAAOm+B,EAAoBrwB,IAAKF,YAAY,6BAA+BC,SAAU,SAAC1D,GAAD,OAlDtI,SAACA,GACf,IAAMnN,EAAOmN,EAAE4D,OACf,GAAI/Q,EAAK,CACL,IAAMT,EAAQS,EAAKgD,MACb4+B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAe9wB,IAAMvR,EACrB6hC,EAAuBQ,IA2CgI4kC,CAAUr5D,mBAQzJ,sBAAKP,MAlCS,wFAkCd,UACI,cAAC,GAAD,CAAatR,MAAS8qE,EACV7vC,OAAO,YACPH,cAAe+K,EAAoB/jB,MACnC0a,UAvGN,SAAC4uC,GACvB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexkB,MAAQspD,EACvBtlC,EAAuBQ,IAoGKohC,SAjGP,WACrB,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAexkB,MAAQ,EACvBgkB,EAAuBQ,IA8FKz1B,MAAM,OACND,OAAO,gBAEnB,cAAC,GAAD,CAAa5Q,MAAS+qE,EACV9vC,OAAO,WACPH,cAAe+K,EAAoB9jB,KACnCya,UAlGf,SAAC4uC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAevkB,KAAOqpD,EACtBtlC,EAAuBQ,IA+FKohC,SA5FhB,WACZ,IAAMphC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAevkB,KAAO,EACtB+jB,EAAuBQ,IAyFKz1B,MAAM,OACND,OAAO,wBAGvB,qBAAKU,MAAM,iGAAX,SACA,cAAC+5D,GAAD,CACQz6D,OAAO,mBACP4rB,UAxIC,SAAC/Z,EAAQC,GAC9B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAepkB,QAAUO,EACzB6jB,EAAelkB,QAAUM,EACzBojB,EAAuBQ,IAoIH7jB,OAAQojB,EAAoB3jB,QAC5BQ,IAAKmjB,EAAoBzjB,QACzB6Y,OAAS,kBAGjB,qBAAK3pB,MAAM,iGAAX,SACI,cAAC+5D,GAAD,CACIz6D,OAAO,qCACP4rB,UAzIF,SAAC/Z,EAAQC,GAC3B,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjD4kC,EAAY5kC,EAAqBS,GACjCA,EAAepmC,KAAOuiB,EACtB6jB,EAAejkB,KAAOK,EACtBojB,EAAuBQ,IAqIH7jB,OAAQojB,EAAoB3lC,KAC5BwiB,IAAKmjB,EAAoBxjB,KACzB4Y,OAAS,eAIjB,qBAAK3pB,MAAM,4CAAX,SACI,qBAAKA,MAAM,yBAAX,SACI,sBAAKA,MAAM,SAAX,UACMu0B,EAAoB7jB,OACd,kCAAO,uBAAO3M,KAAK,WAAWvQ,KAAK,SAAS8M,QAAS,SAACC,GAAD,OAAO2wE,GAAkB,IAAQt2E,SAAO,IAA7F,mDAEA,kCAAO,uBAAOmJ,KAAK,WAAWvQ,KAAK,SAAS8M,QAAS,SAACC,GAAD,OAAO2wE,GAAkB,MAA9E,mDAEN38C,EAAoB5jB,OACd,kCAAO,uBAAO5M,KAAK,WAAWvQ,KAAK,SAAS8M,QAAS,SAACC,GAAD,OAAO4wE,GAAkB,IAAQv2E,SAAO,IAA7F,kCAEA,kCAAO,uBAAOmJ,KAAK,WAAWvQ,KAAK,SAAS8M,QAAS,SAACC,GAAD,OAAO4wE,GAAkB,MAA9E,yCAOpB,qBAAKnxE,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCtFnCuY,GAvOa,SAACjyE,GACzB,MAA8CyB,mBAAS,CACnDkqE,SAAU,KACVJ,SAAU,OAFd,mBAAOt2C,EAAP,KAAwBC,EAAxB,KAIA,EAAsDzzB,mBAAS,CAC3D4Q,MAAQrS,EAAMqS,MAAQrS,EAAMqS,MAAQ,EACpCC,QAAStS,EAAMsS,QACfC,QAASvS,EAAMuS,UAHnB,mBAAO6iB,EAAP,KAA4BC,EAA5B,KAMAxxB,qBAAU,WAC2B,OAA7BoxB,EAAgB02C,UAEhBhiD,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcnL,oCACbvU,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLq2C,SAAW9tE,EAASC,KAAK0mE,aACzB+G,SAAW1tE,EAASC,KAAK0tE,cAE7Bl2C,EAAGq2C,SAASl6E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,uCACxC0H,EAAGi2C,SAAS95E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,+CACxCsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAI7BsuE,EAAiB,SAACj9D,GACpB,IAAIlkB,EAAM,GACV,OAAQkkB,GACJ,KAAK,EACDlkB,EAAM,eACV,MACA,KAAK,EACDA,EAAM,sBACV,MACA,KAAK,GACDA,EAAM,qBACV,MACA,KAAK,GACDA,EAAM,kBAGd,OAAOA,GA2CL2oE,EAtC2B,WAC7B,IAAI3oE,EAAM,GAEV,GAAKqkC,EAAoB9iB,SAAa8iB,EAAoB9iB,QAAQjiB,OAAO,GACjE4kC,EAAgB02C,SAAS,CAEzB,IADA,IAAIn4E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB9iB,QAAQjiB,OAAQL,IAAI,EACjDiE,EAAOghC,EAAgB02C,SAASl8E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB9iB,QAAQtiB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ+xE,EAAe98C,EAAoB/iB,OAAQ7e,MAAOA,IAIjF,GAAK4hC,EAAoB7iB,SAAa6iB,EAAoB7iB,QAAQliB,OAAO,GACjE4kC,EAAgBs2C,SAAS,CAEzB,IADI/3E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB7iB,QAAQliB,OAAQL,IAAI,CACrD,IAAIiE,KAAOghC,EAAgBs2C,SAAS97E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB7iB,QAAQviB,SAErE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,oCAAqC3M,MAAOA,IAI3E,OAAOzC,EAGK4oE,GAEViM,EAAcxwC,EAAoB9iB,SAAW8iB,EAAoB9iB,QAAQjiB,OAAO,GAAK+kC,EAAoB7iB,SAAW6iB,EAAoB7iB,QAAQliB,OAAO,EAEvJupE,EAAc,SAACx4D,GACbwkE,GACA5lE,EAAM4d,aAAa,CACfC,UAAW,yBACXxL,MAAO+iB,EAAoB/iB,MAC3BC,QAAS8iB,EAAoB9iB,QAC7BC,QAAS6iB,EAAoB7iB,WAiEnC4nD,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,QAAU,CAACC,OAAO,OAAQD,MAAM,OAAQO,WAAW,UAC3Go5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAE5JszE,EAAoB52C,EAAgB02C,SAAY12C,EAAgB02C,SAASpxE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAC7H69C,EAAoBx2C,EAAgBs2C,SAAYt2C,EAAgBs2C,SAAShxE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAInI,OACI,qBAAK/sB,MAAM,UAAX,SAEiC,OAA1Bo0B,EAAgBslC,MACf,cAAC,GAAD,CAAcp6D,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OArBpH,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAkBuIY,CAAYp5D,IAAI6oB,SAAS,IAA5J,UACI,qBAAKppB,MAAM,yBAAyBC,MAAOq5D,EAA3C,SACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OA5EjI,SAACA,GAMnBi0B,EALsB,CAClBhjB,MAAO,EACPC,QAAS,GACTC,QAAS,KAGb,IAAIunD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,WA+D+GukE,IAA1I,kCAIJ,sBAAKh5D,MAdS,yCAcd,UACI,sBAAKA,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,yCACA,cAAC,GAAD,CACYtR,MAASs8E,EACTrhD,OAAO,UACPswC,eAAgB1lC,EAAoB9iB,QACpCwb,SA9Dd,SAAC6sC,GACnB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAevjB,UAAWujB,EAAevjB,QAAU,IACxDujB,EAAevjB,QAAQ1iB,KAAK+qE,GAC5BtlC,EAAuBQ,IA2DSohC,SAxDX,SAACzjE,GACtB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAevjB,QAAQ9V,QAAQhL,SAASgC,IAChDqiC,EAAevjB,QAAQ7gB,OAAOzB,EAAE,GAChCqlC,EAAuBQ,IAqDSz1B,MAAM,OACNo0D,kBAAmB,OAGnC,sBAAK3zD,MAAM,yBAAX,UAQI,oBAAIA,MAAM,2BAAV,iDACA,cAAC,GAAD,CACYtR,MAASk8E,EACTjhD,OAAO,UACPswC,eAAgB1lC,EAAoB7iB,QACpCub,SAnEb,SAAC6sC,GACpB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAetjB,UAAWsjB,EAAetjB,QAAU,IACxDsjB,EAAetjB,QAAQ3iB,KAAK+qE,GAC5BtlC,EAAuBQ,IAgESohC,SA7DV,SAACzjE,GACvB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAetjB,QAAQ/V,QAAQhL,SAASgC,IAChDqiC,EAAetjB,QAAQ9gB,OAAOzB,EAAE,GAChCqlC,EAAuBQ,IA0DSz1B,MAAM,OACNo0D,kBAAmB,UAIvC,qBAAK3zD,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCpKnCyY,GApEI,SAACnyE,GAChB,IAAMunB,EAAWvnB,EAAMlE,OAAS,2BAA6B,oBACzD0rB,EAAcxnB,EAAM00D,aACnB,uBAAO7zD,MAAM,qCAAb,SAAmDb,EAAMG,SACvD,wBAAOU,MAAM,qCAAb,UAAmDb,EAAMxG,OAAzD,IAAkEwG,EAAMG,UAC3EsnB,EAAa,qBAAK5mB,MAAM,QAAQU,IAAOpS,uBAAkC4X,IAAI,gBAW3EqrE,EAA2B,SAAChxE,GAC9B,IAAInN,EAAOmN,EAAE4D,OACb5D,EAAE6rB,kBACF,IAAIolD,EAASp+E,EAAKO,cAClBe,EAAkC,SAAS,sBAAsB,UAEjE,IADA,IAAI+8E,EAAS9hF,SAASmE,uBAAuB,sBACpC3E,EAAI,EAAGA,EAAEsiF,EAAOjiF,OAAQL,IACzBsiF,EAAOtiF,KAAOiE,IACdq+E,EAAOtiF,GAAGyL,SAAU,GAExBxH,EAAKwH,QACLuE,EAAM43D,gBAAgB53D,EAAMxG,OAAQwG,EAAMG,QAE1CH,EAAM43D,gBAAgB,GAAG,IAEzBya,IACIp+E,EAAKwH,QACL42E,EAAOhgF,UAAU+C,IAAI,UAErBi9E,EAAOhgF,UAAUiD,OAAO,YAMpC,OACI,sBAAKuL,MAAO0mB,EAAZ,UACI,sBAAK1mB,MAAM,2BAA4BM,QAAS,SAACC,GAAD,OAnCtB,SAACA,GAE/B,IADA,IAAInN,EAAOmN,EAAE4D,OACN/Q,IAAS/B,EAAiB+B,EAAK,6BAClCA,EAAOA,EAAKO,cACZP,GACAA,EAAKO,cAAcnC,UAAUqD,OAAO,UA8BoBmyB,CAA0BzmB,IAAlF,UACMpB,EAAMC,UACJ,+BAAOwnB,IAEP,yBAEJ,sBAAK5mB,MAAM,2BAAX,UACMb,EAAMvE,SAAauE,EAAMxG,SAASwG,EAAMqqB,cACtC,uBAAOzlB,KAAK,WAAW3N,MAAO+I,EAAMxG,OAAQqH,MAAM,qBAAqBM,QAAS,SAACC,GAAD,OAAQgxE,EAAyBhxE,IAAI3F,SAAO,IAE5H,uBAAOmJ,KAAK,WAAW3N,MAAO+I,EAAMxG,OAAQqH,MAAM,qBAAqBM,QAAS,SAACC,GAAD,OAAQgxE,EAAyBhxE,MAEpHomB,QAGPxnB,EAAMC,UACJ,qBAAKY,MArDI,2BAqDT,SACKb,EAAMC,YAGX,4BCJDsyE,GA3DI,SAACvyE,GAChB,IAAMunB,EAAUvnB,EAAMunB,QAClBC,EAAcxnB,EAAM00D,aACnB,uBAAO7zD,MAAM,qCAAb,SAAmDb,EAAMG,SACxD,wBAAOU,MAAM,qCAAb,UAAkD,+BAAOb,EAAMxG,SAA/D,IAA+EwG,EAAMG,UAcrFiyE,EAA2B,SAAChxE,GAC9B,IAAInN,EAAOmN,EAAE4D,OACb5D,EAAE6rB,kBACF,IAAIolD,EAASp+E,EAAKO,cAClBe,EAAkC,SAAS,sBAAsB,UAEjE,IADA,IAAI+8E,EAAS9hF,SAASmE,uBAAuB,sBACpC3E,EAAI,EAAGA,EAAEsiF,EAAOjiF,OAAQL,IACzBsiF,EAAOtiF,KAAOiE,IACdq+E,EAAOtiF,GAAGyL,SAAU,GAExBxH,EAAKwH,QACLuE,EAAM43D,gBAAgB53D,EAAMxG,OAAQwG,EAAMG,QAE1CH,EAAM43D,gBAAgB,GAAG,IAEzBya,IACIp+E,EAAKwH,QACL42E,EAAOhgF,UAAU+C,IAAI,UAErBi9E,EAAOhgF,UAAUiD,OAAO,YAIpC,OACI,sBAAKuL,MAAO0mB,EAAZ,UACI,qBAAK1mB,MAAM,yBAA0BM,QAAS,SAACC,GAAD,OAlCpB,SAACA,GAE/B,IADA,IAAInN,EAAOmN,EAAE4D,OACN/Q,IAAS/B,EAAiB+B,EAAK,2BAClCA,EAAOA,EAAKO,cACZP,GACAA,EAAKO,cAAcnC,UAAUqD,OAAO,UA6BkBmyB,CAA0BzmB,IAAhF,SACI,sBAAKP,MAAM,2BAAX,UACEb,EAAMvE,SAAcuE,EAAMxG,SAASwG,EAAMqqB,cACnC,uBAAOzlB,KAAK,WAAW3N,MAAO+I,EAAMxG,OAAQqH,MAAM,qBAAsBM,QAAS,SAACC,GAAD,OAAQgxE,EAAyBhxE,IAAI3F,SAAO,IAE7H,uBAAOmJ,KAAK,WAAW3N,MAAO+I,EAAMxG,OAAQqH,MAAM,qBAAsBM,QAAS,SAACC,GAAD,OAAQgxE,EAAyBhxE,MAErHomB,OAGT,qBAAK3mB,MA/CQ,0BA+CeC,MA9Cd,CAACvI,QAAS,QAAS01B,WAAY,MAAO7oB,cAAe,OA8CnE,SACKpF,EAAMC,gBChCRuyE,OAtBf,SAASA,EAAexyE,GACpB,IAAM/L,EAAO+L,EAAM/L,KACbuF,EAASvF,EAAK05B,OACdxtB,EAAUH,EAAM00D,aAAgBzgE,EAAK25B,MAAQ35B,EAAK25B,MAAMr8B,UAAUiI,EAAOnJ,QAAQgD,OAGjFo/E,EAAkBx+E,EAAKS,MAAST,EAAKS,MAAM6F,KAAI,SAAAm4E,GAAI,OAAI,cAACF,EAAD,CAAgBv+E,KAAQy+E,EAAM9a,gBAAmB53D,EAAM43D,gBAAiBlD,aAAgB10D,EAAM00D,aAAcrqC,cAAerqB,EAAMqqB,mBAAqC,wBAC7N9C,EACJtzB,EAAK0+E,SAAW1+E,EAAKS,OAAST,EAAKS,MAAMrE,OAAO,EAC9C,wBACD4D,EAAK0+E,QACJ,6CACG1+E,EAAKS,OAAST,EAAKS,MAAMrE,OAAO,EAC/B,iBAEA,sCAGR,OACQ,cAAC,GAAD,CAAY8P,OAAQA,EAAQ3G,OAAQA,EAAQyG,UAAWwyE,EAAeh3E,QAAWxH,EAAKwH,QAAS8rB,QAAWA,EAASqwC,gBAAmB53D,EAAM43D,gBAAiBlD,aAAgB10D,EAAM00D,aAAcrqC,cAAerqB,EAAMqqB,iBCRnNuoD,OAVf,SAAuB5yE,GACnB,IAAM/L,EAAO+L,EAAM/L,KACbuF,EAASvF,EAAK05B,OACdxtB,EAAUH,EAAM00D,aAAgBzgE,EAAK25B,MAAQ35B,EAAK25B,MAAMr8B,UAAUiI,EAAOnJ,QAAQgD,OACjFo/E,EAAiBx+E,EAAKS,MAAST,EAAKS,MAAM6F,KAAI,SAAAm4E,GAAI,OAAI,cAAC,GAAD,CAAgBz+E,KAAQy+E,EAAMroD,cAAerqB,EAAMqqB,cAAeutC,gBAAmB53D,EAAM43D,gBAAiBlD,aAAgB10D,EAAM00D,kBAAoC,KAElO,OACI,cAAC,GAAD,CAAYv0D,OAAQA,EAAQ3G,OAAQA,EAAQyG,UAAWwyE,EAAe32E,OAAQ7H,EAAK0+E,QAASl3E,QAAWxH,EAAKwH,QAASm8D,gBAAmB53D,EAAM43D,gBAAiBlD,aAAgB10D,EAAM00D,aAAcrqC,cAAerqB,EAAMqqB,iBCAjNwoD,OATf,YAA6B,IAAN5T,EAAK,EAALA,IACnB,OAAW,MAAPA,EAEI,wBAAQ,aAAYA,EAAI5jE,GAAxB,SAA6B4jE,EAAIr0B,SAG7B,MCgFDkoC,OAnFf,SAAsB9yE,GAClB,MAAsCyB,mBAAS,CAC3C84D,MAAOv6D,EAAMu6D,MACblwC,cAAerqB,EAAMqqB,cACrBiB,aAAc,KAHlB,mBAAOhB,EAAP,KAAoBC,EAApB,KAKMF,EAAgBC,EAAYD,cACnBrqB,EAAMwqB,OAKrB3mB,qBAAU,WACN,IAAIynB,EAAetrB,EAAMsrB,aACzB,GAAKtrB,EAAMu6D,OAAWv6D,EAAMqqB,eAA2C,KAAxBrqB,EAAMqqB,cACjD,IAAK,IAAI0oD,EAAG,EAAGA,EAAI/yE,EAAMu6D,MAAMlqE,OAAQ0iF,IAAK,CACxC,GAA0D,IAAtD/yE,EAAMqqB,cAAc7tB,QAAQwD,EAAMu6D,MAAMwY,GAAIplD,SAAgB3tB,EAAMqqB,gBAAkBrqB,EAAMu6D,MAAMwY,GAAIplD,OAAQ,CAC5G3tB,EAAMu6D,MAAMwY,GAAIJ,SAAU,EAC1B,IAAK,IAAIK,EAAG,EAAGA,EAAIhzE,EAAMu6D,MAAMwY,GAAIr+E,MAAMrE,OAAQ2iF,IAAK,CAClD,GAAoE,IAAhEhzE,EAAMqqB,cAAc7tB,QAAQwD,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIrlD,SAAgB3tB,EAAMqqB,gBAAkBrqB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIrlD,OAAQ,CAChI3tB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIL,SAAU,EACpC,IAAK,IAAIM,EAAG,EAAGA,EAAIjzE,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMrE,OAAQ4iF,IAAK,CAC5D,GAA8E,IAA1EjzE,EAAMqqB,cAAc7tB,QAAQwD,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAItlD,SAAgB3tB,EAAMqqB,gBAAkBrqB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAItlD,OAAQ,CACpJ3tB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIN,SAAU,EAC9C,IAAK,IAAIO,EAAG,EAAGA,EAAIlzE,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMrE,OAAQ6iF,IAAK,CACtE,GAAwF,IAApFlzE,EAAMqqB,cAAc7tB,QAAQwD,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAIvlD,SAAgB3tB,EAAMqqB,gBAAkBrqB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAIvlD,OAAQ,CACxK3tB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAIP,SAAU,EACxD,IAAK,IAAIQ,EAAG,EAAGA,EAAInzE,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAIx+E,MAAMrE,OAAQ8iF,IACvEnzE,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAIx+E,MAAM,GAAGi5B,SAAStD,IAChEiB,EAAetrB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAIx+E,MAAM,GAAGk5B,OAG9E5tB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAIvlD,SAAStD,IACvDiB,EAAetrB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIv+E,MAAMw+E,GAAItlD,QAGrE5tB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAItlD,SAAStD,IAC7CiB,EAAetrB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIt+E,MAAMu+E,GAAIrlD,QAG3D5tB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIrlD,SAAStD,IACnCiB,EAAetrB,EAAMu6D,MAAMwY,GAAIr+E,MAAMs+E,GAAIplD,QAGjD5tB,EAAMu6D,MAAMwY,GAAIplD,SAAStD,IACzBiB,EAAetrB,EAAMu6D,MAAMwY,GAAInlD,OAIhB,KAAvB5tB,EAAMsrB,cAA+C,KAAxBtrB,EAAMqqB,eAAyC,KAAjBiB,GAC3DssC,EAAgBvtC,EAAeiB,EAAa/5B,UAAUyO,EAAMqqB,cAAch6B,SAC9Ek6B,EAAe,CACXgwC,MAAOv6D,EAAMu6D,MACblwC,cAAerqB,EAAMqqB,cACrBiB,aAAcA,MAGlB,CAACtrB,EAAMu6D,MAAOv6D,EAAMqqB,gBAGxB,IAAMutC,EAAkB,SAACp+D,EAAQhG,GAC7B,GAAe,KAAXgG,EAAc,CAETwG,EAAM00D,cACCl7D,EAAS,IAAMhG,EAE/BwM,EAAM+rB,UAAUvyB,EAAOhG,IAGtBwM,EAAMu6D,OAAgC,IAArBv6D,EAAMu6D,MAAMlqE,SAC9B2P,EAAMu6D,MAAM,GAAGoY,SAAQ,GAG3B,IAAMS,EAAc9oD,EAAYiwC,OAAWjwC,EAAYiwC,MAAMlqE,OAAO,EAChEi6B,EAAYiwC,MAAMvpE,MAAM,EAAE,KAAKuJ,KAAI,SAAAtG,GAAI,OAAI,cAAC,GAAD,CAAeA,KAAQA,EAAMo2B,cAAeC,EAAYD,cAAeutC,gBAAmBA,EAAiBlD,aAAgB10D,EAAM00D,kBAC1K,wBAEN,OACI,8BACK0e,KCsWEC,GAraD,SAACrzE,GACX,MAA8CyB,mBAAS,CACnD84D,MAAO,KACP+Y,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,OALZ,mBAAOx+C,EAAP,KAAwBC,EAAxB,KAOA,EAAsDzzB,mBAAS,CAC3DiyE,MAAQ1zE,EAAM2zE,IAAO,CAACn6E,OAASwG,EAAM2zE,IAAKngF,MAAQ,IAAM,KACxDogF,KAAM5zE,EAAM4zE,KACZC,KAAM7zE,EAAM6zE,KACZC,MAAO9zE,EAAM8zE,MACb/+D,QAAU/U,EAAM+U,QAAU/U,EAAM+U,QAAU,GAC1Cg/D,IAAK/zE,EAAM+zE,IACXljE,KAAM7Q,EAAM6Q,KACZ0vD,OAAQvgE,EAAMugE,OACdvuD,OAAQhS,EAAMgS,OACdC,IAAKjS,EAAMiS,IACXpF,IAAK,GACLvT,IAAM0G,EAAM1G,IAAM0G,EAAM1G,IAAM,GAC9B0kE,OAASh+D,EAAMg+D,OAASh+D,EAAMg+D,OAAS,KAb3C,mBAAO5oC,EAAP,KAA4BC,EAA5B,KAgBAxxB,qBAAU,WACwB,OAA1BoxB,EAAgBslC,OAEhB5wC,MAEN,IAEF,IAAMA,EAAgB,WAClBrM,GAAcjN,sBACbzS,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACLilC,MAAQ,CAAC18D,EAASC,KAAKk2E,gBACvBV,OAASz1E,EAASC,KAAK2vE,QACvB8F,OAASzkF,KAAKC,MAAMD,KAAKmP,UAAUJ,EAASC,KAAK2vE,UACjD+F,OAAS31E,EAASC,KAAKm2E,YACvBR,OAAS51E,EAASC,KAAK0mE,aACvBnL,QAAUx7D,EAASC,KAAK07D,mBAE5BlkC,EAAGg+C,OAAO7hF,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACtC0H,EAAGi+C,OAAO9hF,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBACtC0H,EAAGk+C,OAAO/hF,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,uBACtC0H,EAAGm+C,OAAOhiF,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,0BACtC0H,EAAG+jC,QAAQ5nE,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAO,0BACxCsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aA0C7B81D,EArC2B,WAC7B,IAAI3oE,EAAM,IACuB,MAA7BqkC,EAAoBs+C,OACpB3iF,EAAInB,KAAM,CAACuQ,OAAQ,QAAS3M,MAAO4hC,EAAoBs+C,MAAMl6E,OAAS,IAAM47B,EAAoBs+C,MAAMlgF,QAEtG4hC,EAAoBw+C,KAAK,KACrB3+C,EAAgBq+C,SACZr/E,EAAOghC,EAAgBq+C,OAAO7jF,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBw+C,UAEzE7iF,EAAInB,KAAM,CAACuQ,OAAQ,UAAW3M,MAAOS,EAAK25B,SAGlDwH,EAAoBy+C,KAAK,IACrB5+C,EAAgBs+C,SACZt/E,EAAOghC,EAAgBs+C,OAAO9jF,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBy+C,UAEzE9iF,EAAInB,KAAM,CAACuQ,OAAQ,UAAW3M,MAAOS,EAAK25B,SAGtD,GAAKwH,EAAoB0+C,OAAW1+C,EAAoB0+C,MAAMzjF,OAAO,GAC7D4kC,EAAgBu+C,OAAO,CAEvB,IADA,IAAIhgF,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoB0+C,MAAMzjF,OAAQL,IAAI,CACnD,IAAIiE,KAAOghC,EAAgBu+C,OAAO/jF,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoB0+C,MAAM9jF,SAEjE,KAAVwD,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,UAAW3M,MAAOA,IAGjD,OAAOzC,EAGK4oE,GAgNVua,EAAkBj/C,EAAgBq+C,OAAUr+C,EAAgBq+C,OAAO/4E,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GACvHumD,EAAkBl/C,EAAgBs+C,OAAUt+C,EAAgBs+C,OAAOh5E,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GACvHwmD,EAAkBn/C,EAAgBu+C,OAAUv+C,EAAgBu+C,OAAOj5E,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GACvHymD,EAAkBp/C,EAAgBw+C,OAAUx+C,EAAgBw+C,OAAOl5E,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GACvH0sC,EAAmBrlC,EAAgBokC,QAAWpkC,EAAgBokC,QAAQ9+D,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAE1H05C,EAAyBryC,EAAgB70B,MAAS,oEAAsE,8DAE9H,OACI,qBAAKS,MAAM,UAAX,SAEiC,OAA1Bo0B,EAAgBslC,MACf,cAAC,GAAD,CAAcp6D,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,kEAAkExF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAnH,UACI,qBAAK5D,MAAM,yBAAX,SACI,sBAAMA,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GA1LpJi0B,EAjBsB,CAClBq+C,MAAO,KACPE,KAAM,EACNC,KAAM,EACNC,MAAO,GACPC,IAAK,IACLljE,KAAM,KACN0vD,OAAQ,GACRvuD,OAAQ,KACRC,IAAK,KACLpF,IAAK,EACLkI,QAAU,GACVzb,IAAM,GACN0kE,QAAS,KA8LG,kCAIJ,qBAAKn9D,MAAM,mCAAX,SACI,qBAAKA,MAAM,wGAAX,SACI,cAAC,GAAD,CAAc05D,MAAStlC,EAAgBslC,MAAOl/D,GAAG,cAAcgvB,cAAgB+K,EAAoBs+C,MAASt+C,EAAoBs+C,MAAMl6E,OAAQ,GAAI8xB,aAAe8J,EAAoBs+C,MAASt+C,EAAoBs+C,MAAMlgF,MAAO,GAAIkhE,cAAc,EAAO4f,iBAAiB,EAAMvoD,UApKnR,SAAC4uC,EAAY4Z,GAC7B,IAAM1+C,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAE7CS,EAAe69C,MADA,KAAf/Y,EACuB,CAACnhE,OAAQmhE,EAAYnnE,MAAO+gF,GAE5B,KACvBl/C,EAAuBQ,UAiKf,sBAAKh1B,MAAM,mBAAX,UACI,qBAAKA,MAAM,QAAX,SACI,oBAAIA,MAAM,sBAAV,uBAEJ,qBAAKA,MAAM,uBAAX,SACI,qBAAKA,MAAM,6DAAX,SACI,qBAAKA,MAAM,eAAX,SACI,cAAC,GAAD,CAAkBtR,MAAS2kF,EACvB1pD,OAAO,eACPH,cAAe+K,EAAoBw+C,KACnC7nD,UAxKf,SAAC4uC,GAClB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe+9C,KAAOjZ,EACtBtlC,EAAuBQ,IAsKSz1B,MAAM,iBAM1B,qBAAKS,MAAOymE,EAAZ,SACI,sBAAKzmE,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,yCAGA,cAAC,GAAD,CAAatR,MAAS4kF,EACV3pD,OAAO,gBACPH,cAAe+K,EAAoBy+C,KACnC9nD,UAjLf,SAAC4uC,GAClB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAeg+C,KAAOlZ,EACtBtlC,EAAuBQ,IA8KkCohC,SA3KzC,SAAC0D,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAeg+C,KAAO,KACtBx+C,EAAuBQ,IAyKSz1B,MAAM,cAI1B,qBAAKS,MAAOymE,EAAZ,SACI,sBAAKzmE,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,8CAGA,cAAC,GAAD,CAAgBtR,MAAS6kF,EACb5pD,OAAO,WACPswC,eAAgB1lC,EAAoB0+C,MACpChmD,SAlLd,SAAC6sC,GACnB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAei+C,MAAMlkF,KAAK+qE,GAC1BtlC,EAAuBQ,IAgLSohC,SA7KX,SAACzjE,GACtB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAei+C,MAAMt3E,QAAQhJ,GACrCqiC,EAAei+C,MAAMriF,OAAOzB,EAAE,GAC9BqlC,EAAuBQ,IA0KSz1B,MAAM,OACNo0D,kBAAmB,SAIvC,sBAAK3zD,MAAM,0CAAX,UACI,qBAAKA,MAAM,QAAX,SACI,oBAAIA,MAAM,sBAAV,oBAEJ,qBAAKA,MAAM,uBAAX,SACI,qBAAKA,MAAM,6DAAX,SACI,cAAC,GAAD,CAAcgQ,KAAMukB,EAAoBvkB,KAAM0vD,OAAQnrC,EAAoBmrC,OAAQx0C,UAxO3F,SAAC+8C,EAAWC,GAC3B,IAAMlzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehlB,KAAOi4D,EACtBjzC,EAAe0qC,OAASwI,EACxB1zC,EAAuBQ,aAwOX,sBAAKh1B,MAAM,iGAAX,UACI,cAAC+5D,GAAD,CAAgBz6D,OAAO,oBAAoB4rB,UAtO3C,SAAC/Z,EAAQC,GACzB,IAAM4jB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe7jB,OAASA,EACxB6jB,EAAe5jB,IAAMA,EACrBojB,EAAuBQ,IAkO6D7jB,OAAQojB,EAAoBpjB,OAAQC,IAAKmjB,EAAoBnjB,MACjI,cAAC,GAAD,CAAgB8Z,UAzPf,SAACq8C,GAClB,IAAMvyC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehpB,IAAMu7D,EACrB/yC,EAAuBQ,IAsPkChpB,IAAKuoB,EAAoBvoB,IAAK80D,WAAY,IACnF,cAAC,GAAD,CAAa51C,UArPf,SAACyoD,GACf,IAAM3+C,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAek+C,IAAMS,EACrBn/C,EAAuBQ,IAkP4BypC,SAAYlqC,EAAoB2+C,IAAK5zE,OAAQ,YAAYqqB,OAAO,gBAEvG,cAAC,GAAD,CAAgBj7B,MAAS8kF,EACb7pD,OAAO,WACPswC,eAAgB1lC,EAAoBrgB,QACpCksD,SA9LH,SAACmI,EAAchiB,GACpC,IAAMvxB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CnhC,EAAO4hC,EAAe9gB,QAAQtlB,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS4vE,KACzDn1E,EACAA,EAAKghB,IAAMmyC,EAEXvxB,EAAe9gB,QAAQnlB,KAAK,CAAC4J,OAAQ4vE,EAAcn0D,IAAKmyC,IAE5D/xB,EAAuBQ,IAuLCohC,SApLH,SAACmS,GACtB,IAAMvzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAe9gB,QAAU8gB,EAAe9gB,QAAQ8U,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAS4vE,KAC7E/zC,EAAuBQ,IAkLCz1B,MAAM,SAGlB,cAAC,GAAD,CAAqB7Q,MAAS+qE,EAClB9vC,OAAO,gBACPswC,eAAgB1lC,EAAoB97B,IACpC0kE,OAAQ5oC,EAAoB4oC,OAC5BC,WAhId,SAAC3sD,GACX,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACxCS,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,MAEnDukB,EAAev8B,IAAI1J,KAAK,CACpB4J,OAAQ8X,EACR7X,MAAO,GACPC,MAAO,KAGf27B,EAAuBQ,IAuHCsoC,WApHX,SAAC7sD,GACd,IAAMukB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAev8B,IAAMu8B,EAAev8B,IAAIuwB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAS8X,KACrE+jB,EAAuBQ,IAkHCynC,YAxLb,SAAChsD,EAAMm3D,GAClB,IAAM5yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAELF,EAAGE,MAAMhK,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWivE,MAE5ClvE,EAAGE,MAAM7J,KAAK,CAAC4J,OAAOivE,KAG9BpzC,EAAuBQ,IA6KCwnC,YA1KV,SAAC/rD,EAAMm3D,GACrB,IAAM5yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGE,QACJF,EAAGE,MAAQ,IAEfF,EAAGE,MAAQF,EAAGE,MAAMowB,QAAO,SAAA51B,GAAI,OAAIA,EAAKuF,SAAWivE,MAEvDpzC,EAAuBQ,IAkKCqnC,aA/JZ,SAAC5rD,EAAMo3D,EAAOC,GAC1B,IAAM9yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEJH,EAAGG,MAAMjK,MAAK,SAAAwE,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAEjEpvE,EAAGG,MAAM9J,KAAK,CAACgK,IAAK8uE,EAAO/uE,KAAMgvE,KAGzCtzC,EAAuBQ,IAoJCmnC,aAjJT,SAAC1rD,EAAMo3D,EAAOC,GAC7B,IAAM9yC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7C77B,EAAKs8B,EAAev8B,IAAI7J,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAS8X,KACnD/X,IACKA,EAAGG,QACJH,EAAGG,MAAQ,IAEfH,EAAGG,MAAQH,EAAGG,MAAMmwB,QAAO,SAAA51B,GAAI,OAAIA,EAAK2F,MAAQ8uE,GAASz0E,EAAK0F,OAASgvE,MAE3EtzC,EAAuBQ,IAyICkoC,gBAnHP,SAACvqE,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAemoC,OAASxqE,EACxB6hC,EAAuBQ,IAiHCz1B,MAAM,OACND,OAAQ,qBACRm+D,eAAe,EACfxkB,kBAAqB,qBACrBzhD,KAAM,MAGlB,qBAAKwI,MAAM,iDAAX,SACI,wBAAQA,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OA3T/Fg0B,EAAoBs+C,OAASt+C,EAAoBs+C,MAAMl6E,OACvD47B,EAAoBw+C,KACpBx+C,EAAoBy+C,KACnBz+C,EAAoB0+C,MACtB1+C,EAAoB2+C,IACnB3+C,EAAoBvkB,KAClBukB,EAAoBmrC,OACpBnrC,EAAoBpjB,OACvBojB,EAAoBnjB,IAChBmjB,EAAoBrgB,QACxBqgB,EAAoB97B,SACjB87B,EAAoB4oC,QAgThB,sBAEJ,cAAC,GAAD,CAAiB7G,YAAauC,UC7XnC+a,OAnDf,SAAwBz0E,GAEpB,IAAM/L,EAAO+L,EAAM/L,KACb6sD,EAAU7sD,EAAK6sD,QACfpsD,EAAQT,EAAKS,MACbk2C,EAAS32C,EAAKT,MACdgG,EAASvF,EAAKuF,OACdi7D,EAAexgE,EAAKwgE,aACpBv0C,EAAajsB,EAAKisB,WAElBw0D,EAAU5zB,EAAU9gD,EAAM20E,WAAY30E,EAAM40E,SAE9CnrC,EAAY,iBACZorC,EAAe,2BACf/zB,IAASrX,GAAa,WACrBvpB,IACDupB,GAAa,yBAEbgrB,IAAcogB,GAAgB,YAElC,IAAMC,EAAkB7gF,EAAK22B,SAAY,CAAC3lB,gBAAiB,UAAW6e,OAAQ,qBAAuB,GAC/FixD,EAAuB9gF,EAAK22B,SAAY,CAAC1lB,MAAO,WAAa,GAE7D8vE,EACF,sBAAKn0E,MAAO4oC,EAAZ,UACI,qBAAK5oC,MAAM,yBAAyBM,QAAS,SAACC,GAAD,OAAQszE,EAAOl7E,IAA5D,SACI,sBAAKqH,MAAOg0E,EAAZ,UACI,uBAAOjwE,KAAK,WAAW/D,MAAM,qBAAqB5J,MAAOuC,EAAQiC,QAASg5D,EAAc7pC,SAAU32B,EAAK22B,SAAU9pB,MAAOg0E,EAAgB3zE,QAAS,SAACC,GAAD,OAAOpB,EAAM43D,gBAAgBx2D,EAAE4D,OAAOvJ,QAAQjC,EAAOoxC,MACtM,wBAAO/pC,MAAM,qCAAqCC,MAAOi0E,EAAzD,UACM/0E,EAAMi1E,cAAiB,iCAAOz7E,EAAP,UAA8B,6BACtDoxC,UAIb,qBAAK/pC,MAAM,0BAA0BC,MAAO,CAACvI,QAAS,QAAS01B,WAAY,MAAO7oB,cAAe,OAAjG,SACM07C,EACE,cAAC,GAAD,CAAYyZ,MAAO7lE,EAAOkgF,SAAY50E,EAAM40E,SAAUD,WAAc30E,EAAM20E,WAAY/c,gBAAmB53D,EAAM43D,gBAAiBqd,cAAiBj1E,EAAMi1E,gBAGvJ,kCAMhB,OACI,8BACKD,KC9BEE,OAjBf,SAAoBl1E,GAChB,IAAMu6D,EAAQv6D,EAAMu6D,MAEd6Y,EAAe7Y,GAAWA,EAAMlqE,OAAO,EACzCkqE,EAAMhgE,KAAI,SAAAtG,GAAI,OACV,cAAC,GAAD,CAAgBA,KAAQA,EAAO2gF,SAAY50E,EAAM40E,SAAUD,WAAc30E,EAAM20E,WAAY/c,gBAAmB53D,EAAM43D,gBAAiBqd,cAAiBj1E,EAAMi1E,mBAGhK,6BAGJ,OACI,8BACK7B,KC+QE+B,OAzRf,SAAwBn1E,GACpB,MAA4CyB,mBAAS,CACjD2zE,kBAAmBp1E,EAAMo1E,kBACzBxgE,MAAO5U,EAAM4U,QAFjB,mBAAOygE,EAAP,KAAuBC,EAAvB,KAIA,EAA0C7zE,mBAASzB,EAAMu1E,eAAzD,mBAAOA,EAAP,KAAsBC,EAAtB,KACA,EAA0C/zE,mBAAS,IAAnD,mBAAOg0E,EAAP,KAAsBC,EAAtB,KACA,EAAoCj0E,mBAAS,IAA7C,mBAAOk0E,EAAP,KAAmBC,EAAnB,KACIC,EAAeJ,EAAcplF,QAAQslF,EAEnCG,EAAmB91E,EAAM81E,iBAE/BjyE,qBAAU,WAIF,IAAMgyB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUo3E,IACjDx/C,EAAeu/C,kBAAoBp1E,EAAMo1E,kBAAoBp1E,EAAMo1E,kBAAoB,GACvFv/C,EAAejhB,MAAQ5U,EAAM4U,MAC7B,IAAImhE,EAAqBC,EAAYh2E,EAAMu1E,cAAcv1E,EAAMo1E,kBAAmBp1E,EAAM4U,OACxF4gE,EAAiBx1E,EAAMu1E,eACvBG,EAAiBK,GACjBT,EAAkBz/C,KAEtB,CAAC71B,EAAMo1E,kBAAmBp1E,EAAM4U,MAAO5U,EAAMu1E,cAAcI,IAG/D,IAAMK,EAAc,SAACzmF,EAAOiE,EAAOohB,GAC/B,OAAIphB,GAAkB,IAATA,EACFyiF,EAAwB1mF,EAAOiE,GAE/B0iF,EAAoB3mF,EAAOqlB,IAIpCshE,EAAsB,SAAC3mF,EAAOqlB,GAEhC,IAAM0a,EAAa,GACb6mD,EAAa,GACnBA,EAAWvmF,KAAKL,GAGhB,IAFA,IAAI6mF,EAAeD,EAAWpkF,MAC1BskF,GAAa,GACRD,GAAgBA,EAAa/lF,OAAO,GAAO8lF,GAAcA,EAAW9lF,OAAO,KAAQgmF,GAAW,CACnG,GAAID,GAAgBA,EAAa/lF,OAAO,EACpC,IAAK,IAAIL,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWgmF,EAAYrmF,IAChD,GAAIsmF,EAAgBF,EAAapmF,GAAG4kB,GAAO,CACvC,IAAIuxD,EAAU,CACV3sE,OAAQ48E,EAAapmF,GAAG29B,OACxBn6B,MAAO4iF,EAAapmF,GAAG49B,MACvBkzB,SAAS,EACT2T,cAAc,EACdv0C,WAAak2D,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GAEvEi/B,EAAW1/B,KAAKu2E,GAChBkQ,EAAa/mD,EAAWj/B,QAAQslF,OAGhCQ,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAIvC2hF,IACDD,EAAeD,EAAWpkF,OAGlC,OADA8jF,EAAcQ,EACP/mD,GAGL2mD,EAA0B,SAAC1mF,EAAOgoE,GACpC,IAAMjoC,EAAa,GACb6mD,EAAa,GACnBA,EAAWvmF,KAAKL,GAGhB,IAFA,IAAI6mF,EAAeD,EAAWpkF,MAC1BwkF,GAAa,GACRH,GAAgBA,EAAa/lF,OAAO,GAAO8lF,GAAcA,EAAW9lF,OAAO,KAAQkmF,GAAW,CACnG,GAAIH,GAAgBA,EAAa/lF,OAAO,EACpC,IAAK,IAAIL,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAChD,GAAIomF,EAAapmF,GAAG29B,SAAW4pC,EAAU,CACrC,IAAI4O,EAAU,CACV3sE,OAAQ48E,EAAapmF,GAAG29B,OACxBn6B,MAAO4iF,EAAapmF,GAAG49B,MACvBkzB,SAAS,EACT2T,cAAc,EACdv0C,WAAak2D,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GAEvEi/B,EAAW1/B,KAAKu2E,GAChBoQ,GAAW,OAGXJ,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAIvC6hF,IACDH,EAAeD,EAAWpkF,OAGlC,OADA8jF,GAAc,EACPvmD,GAgGLgnD,EAAkB,SAACriF,EAAM8Q,GAI3B,IAFA,IAAIyxE,GADJzxE,EAAMA,EAAIzT,QAAQ,IAAI,KAAKA,QAAQ,IAAK,KAAKA,QAAQ,KAAK,KAAKA,QAAQ,IAAI,MACnDD,MAAM,KAC1BN,GAAM,EACDf,EAAE,EAAGA,EAAEwmF,EAAcnmF,OAAQL,IAClCe,EAAMA,GAAO0lF,EAAoBxiF,EAAMuiF,EAAcxmF,IAEzD,OAAOe,GAGL0lF,EAAsB,SAACxiF,EAAM8Q,GAC/B,GAAIA,EAAI,CAEJ,IAAI2xE,EAAO,KADX3xE,EAAMA,EAAI1R,OAAOC,eAEjB,OAAkD,IAAzCW,EAAK05B,OAAOr6B,cAAckJ,QAAQuI,IAAsD,IAAxC9Q,EAAK25B,MAAMt6B,cAAckJ,QAAQuI,IAAc9Q,EAAK25B,MAAMt6B,cAAckJ,QAAQk6E,IAAO,EAC9I,OAAO,GAGXC,EAAgB,SAAC/gF,EAAO88E,GAC1B,GAAKA,GAAmB,KAATA,EAAa,CACxB,GAAI98E,GAAmB,KAAVA,EAAa,CACtB,IAAI7E,EAA6B,IAAtB2hF,EAAKl2E,QAAQ5G,GAUxB,OATK7E,IACDA,EAAiB,MAAV6E,IACoB,IAApB88E,EAAKl2E,QAAQ,MACW,IAApBk2E,EAAKl2E,QAAQ,MACO,IAApBk2E,EAAKl2E,QAAQ,MACO,IAApBk2E,EAAKl2E,QAAQ,OAIrBzL,EACL,OAAO,EACX,OAAO,GA6BXqiF,EAAY,cAAC,GAAD,CAAY7Y,MAASkb,EAAeb,SA3JrC,SAACgC,GACd,IAAMC,EAAqB/nF,KAAKC,MAAMD,KAAKmP,UAAUw3E,IACjDU,EAAa,GACjBA,EAAWvmF,KAAKinF,GAIhB,IAHA,IAAIT,EAAeD,EAAWpkF,MAC1BwkF,GAAa,EACbO,EAAoB,KACjBV,GAAgBA,EAAa/lF,OAAO,IAAMkmF,GAAW,CACxD,IAAK,IAAIvmF,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAC5ComF,EAAapmF,GAAGwJ,SAAWo9E,GAC3BE,EAAoBV,EAAapmF,GACjCumF,GAAW,GAEPH,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GACtD8lF,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAIvC6hF,IACDH,EAAeD,EAAWpkF,QAElCokF,EAAa,IACFvmF,KAAK2lF,GACZa,EAAeD,EAAWpkF,MAC1BwkF,GAAa,EAEjB,IAHA,IAEIQ,EAAoB,KACjBX,GAAgBA,EAAa/lF,OAAO,IAAMkmF,GAAW,CACxD,IAASvmF,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAC5ComF,EAAapmF,GAAG29B,SAAWipD,GAC3BG,EAAoBX,EAAapmF,GACjCumF,GAAW,GAEPH,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,IAClDylF,EACIa,EAAcP,EAAapmF,GAAG29B,OAAOipD,IACrCT,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAGpCyhF,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,QAK3C6hF,IACDH,EAAeD,EAAWpkF,OAElC,GAAI+kF,GAAqBC,IACrBD,EAAkBpiF,MAAQ,GACtBqiF,EAAkBriF,OAASqiF,EAAkBriF,MAAMrE,OAAO,GAAE,CAC5D,IAASL,EAAE,EAAGA,EAAE+mF,EAAkBriF,MAAMrE,OAAQL,IAAI,CAChD,IAAIm2E,EAAU,CACV3sE,OAAQu9E,EAAkBriF,MAAM1E,GAAG29B,OACnCn6B,MAAOujF,EAAkBriF,MAAM1E,GAAG49B,MAClCkzB,SAAS,EACT2T,cAAc,EACdv0C,WAAa62D,EAAkBriF,MAAM1E,GAAG0E,OAASqiF,EAAkBriF,MAAM1E,GAAG0E,MAAMrE,OAAO,GAE7FymF,EAAkBpiF,MAAM9E,KAAKu2E,GAEjC2Q,EAAkBh2B,SAAU,EAGpC40B,EAAiBmB,IA6FuDlC,WA1FzD,SAACiC,GAChB,IAAMC,EAAqB/nF,KAAKC,MAAMD,KAAKmP,UAAUw3E,IAC/CU,EAAa,GACnBA,EAAWvmF,KAAKinF,GAIhB,IAHA,IAAIT,EAAeD,EAAWpkF,MAC1BwkF,GAAa,EACbO,EAAoB,KACjBV,GAAgBA,EAAa/lF,OAAO,IAAMkmF,GAAW,CACxD,IAAK,IAAIvmF,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAC5ComF,EAAapmF,GAAGwJ,SAAWo9E,GAC3BE,EAAoBV,EAAapmF,GACjCumF,GAAW,GAEPH,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GACtD8lF,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAIvC6hF,IACDH,EAAeD,EAAWpkF,OAE9B+kF,IACAA,EAAkBpiF,MAAQ,GAC1BoiF,EAAkBh2B,SAAU,GAEhC40B,EAAiBmB,IAiEiFjf,gBAjB9E,SAACn8D,EAASjC,EAAQhG,GACtC,IAAMwjF,EAAuBloF,KAAKC,MAAMD,KAAKmP,UAAUo3E,IAEnD2B,EAAqB5B,kBADrB35E,EACyCjI,EAEA,GAC7C8hF,EAAkB0B,GACdv7E,EACAuE,EAAM+rB,UAAUvyB,EAAOhG,GAEvBwM,EAAM+rB,UAAU,GAAG,KAO+GkpD,cAAiBj1E,EAAMi1E,gBAEjK,OACI,gCACI,sBAAKp0E,MAAM,qDAAX,UACI,qBAAKA,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAWjG,MAAO,CAACvI,QAAQ,UAC7G,sBAAKsI,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa7E,EAAM6E,YAAa5N,MAASo+E,EAAezgE,MAAOtQ,UAAU,gBAAgBQ,SAAU,SAAC1D,GAAD,OAlClH,SAAC61E,GACjB,IAAMD,EAAuBloF,KAAKC,MAAMD,KAAKmP,UAAUo3E,IACvD2B,EAAqBpiE,MAAQqiE,EAC7B,IAAIlB,EAAqBG,EAAoBX,EAAc0B,GAC3DvB,EAAiBK,GACjBT,EAAkB0B,GAClBh3E,EAAMk3E,UAAUD,GA4ByHE,CAAY/1E,EAAE4D,OAAO/N,QAAQ6J,MAAO,CAACs4B,SAAS,iBAGlLg6C,EACD,qBAAKvyE,MAAM,4BAAX,SACA,qBAAKA,MAAM,iDAAX,SACKg1E,EACG,uBAAMh1E,MAAM,+DAA+Dwd,MAAM,aAAWld,QAAS,WAlBjHy0E,EAAcD,EAAa,KAkB0G70E,MAAO,CAACsD,OAAO,WAAxI,wBACY,qBAAK7C,IAAKpS,4BAAuC4X,IAAI,wBAGjE,gCC7HLqwE,GAlJQ,SAACp3E,GAEpB,MAA8CyB,mBAASzB,EAAMi1B,iBAA7D,mBAAOA,EAAP,KAAwBC,EAAxB,KACA,EAA0BzzB,mBAAS,IAAnC,mBAAO84D,EAAP,KAAc8c,EAAd,KACA,EAA8B51E,mBAAS,GAAvC,mBACA,GADA,UACsBA,mBAAS,KAA/B,mBAAOsD,EAAP,KAAYuyE,EAAZ,KAEI7iB,EAAex/B,EAAgBw/B,aAI/Bh8B,GAF2BxD,EAAgB70B,MAEhC60B,EAAgBwD,UAEzBm/B,EAAkB,SAACh+D,EAAKgb,GAC1B,IAAMihB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IACjDY,EAAe4+B,aAAe76D,EAC9Bs7B,EAAmBW,IAGvBhyB,qBAAU,WACgB,IAAjB02D,EAAMlqE,QACJ2P,EAAMi1B,gBAAgB58B,OAAS48B,EAAgB58B,MAC/C2H,EAAMi1B,gBAAgBg/B,WAAah/B,EAAgBg/B,UACnDj0D,EAAMi1B,gBAAgBnjC,MAAQmjC,EAAgBnjC,KAEjDylF,EAAcv3E,EAAMi1B,gBAAgB58B,KAAM2H,EAAMi1B,gBAAgBnjC,OAEtE,CAACkO,EAAMi1B,kBAET,IAAMsiD,EAAgB,SAACl/E,EAAMvG,GACzBkO,EAAMi1B,gBAAgBk/B,SAAS97D,EAAMvG,EAAKmjC,EAAgBw/B,aAAc,IACvE72D,MAAK,SAACC,GACoC,gBAAnCmC,EAAMi1B,gBAAgBg/B,UACtBj0D,EAAMi1B,gBAAgBk/B,SAAS97D,EAAMvG,EAAK,GAAI,GAC7C8L,MAAK,SAACC,GACH,IAAI29B,EAAW39B,EAASC,KACxBu5E,EAAS77C,MAGjBtG,EAAmBl1B,EAAMi1B,iBACzB,IAAIuG,EAAW39B,EAASC,KACxBu5E,EAAS77C,MAGZ/3B,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAQ7BgiE,EAA6C,IAAhC3wC,EAAgBw/B,aAE7BmF,EAAc,SAACx4D,GACbwkE,GACA5lE,EAAM4d,aAAa,CACfC,UAAW4a,EACXvX,MAAO+T,EAAgBw/B,gBAc7BoF,EAAgB,SAACz4D,GACnBk2E,EAAO,IACP1f,EAAgB,KAUduC,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAIlK,OACI,qBAAKsI,MAAM,UAAX,SAEyB,IAAjB05D,EAAMlqE,QACP2P,EAAMi1B,gBAAgB58B,OAAS48B,EAAgB58B,MAC/C2H,EAAMi1B,gBAAgBg/B,WAAah/B,EAAgBg/B,UACnDj0D,EAAMi1B,gBAAgBnjC,MAAQmjC,EAAgBnjC,IAC7C,cAAC,GAAD,CAAcqO,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,kEAAkExF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OArBzI,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAkB4JY,CAAYp5D,IAAI6oB,SAAS,IAAjL,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,sBAAKh5D,MAAM,wGAAwGC,MAAO,CAACyD,UAAU,QAArI,UACmC,gBAA7B0wB,EAAgBg/B,SACd,qBAAIpzD,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,UACKuwB,EAAgBo/B,aADrB,OAIA,6BAUJ,cAACmjB,GAAD,CACIjC,cAAgBhb,EAChB6a,kBAAmB3gB,EACnB1oC,UAAW6rC,EACXke,iBAA+C,eAA3B7gD,EAAgBg/B,UAAsD,eAA3Bh/B,EAAgBg/B,UAAsD,eAA3Bh/B,EAAgBg/B,UAAsD,eAA3Bh/B,EAAgBg/B,SACrKghB,eAAkBhgD,EAAgBy/B,aAClC7vD,YAAeowB,EAAgBpwB,YAC/B+P,MAAS7P,EACTmyE,UApFN,SAACD,GACfK,EAAOL,SAuFK,qBAAKp2E,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,4BC+NT4d,OA5Wf,SAAwBx3E,GACpB,MAA4CyB,mBAAS,CACjDq5D,eAAgB96D,EAAM86D,eACtBlmD,MAAO5U,EAAM4U,QAFjB,mBAAOygE,EAAP,KAAuBC,EAAvB,KAIA,EAA0C7zE,mBAASzB,EAAMu1E,eAAzD,mBAAOA,EAAP,KAAsBC,EAAtB,KACA,EAA0C/zE,mBAAS,IAAnD,mBAAOg0E,EAAP,KAAsBC,EAAtB,KACA,EAAoCj0E,mBAAS,IAA7C,mBAAOk0E,EAAP,KAAmBC,EAAnB,KACIC,EAAeJ,EAAcplF,QAAQslF,EAEnCG,EAAmB91E,EAAM81E,iBAE/BjyE,qBAAU,WAIF,IAAMgyB,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUo3E,IACjDx/C,EAAeilC,eAAiB96D,EAAM86D,eAAiB96D,EAAM86D,eAAiB,GAC9EjlC,EAAejhB,MAAQ5U,EAAM4U,MAC7B,IAAImhE,EAAqBC,EAAYh2E,EAAMu1E,cAAcv1E,EAAM86D,eAAgB96D,EAAM4U,OACrF4gE,EAAiBx1E,EAAMu1E,eACvBG,EAAiBK,GACjBT,EAAkBz/C,KAEtB,CAAC71B,EAAM86D,eAAgB96D,EAAM4U,MAAO5U,EAAMu1E,cAAcI,IAG5D,IAAMK,EAAc,SAACzmF,EAAOyK,EAAS4a,GAI7B,OAAOshE,EAAoB3mF,EAAOqlB,EAAO5a,IAI3Ck8E,EAAsB,SAAC3mF,EAAOqlB,EAAO5a,GAEvC,IAAMs1B,EAAa,GACb6mD,EAAa,GACnBA,EAAWvmF,KAAKL,GAGhB,IAFA,IAAI6mF,EAAeD,EAAWpkF,MAC1BskF,GAAa,GACRD,GAAgBA,EAAa/lF,OAAO,GAAO8lF,GAAcA,EAAW9lF,OAAO,KAAQgmF,GAAW,CACnG,GAAID,GAAgBA,EAAa/lF,OAAO,EACpC,IAAK,IAAIL,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWgmF,EAAYrmF,IAChD,GAAIsmF,EAAgBF,EAAapmF,GAAG4kB,IAAW5a,GAAYA,EAAQihB,SAASm7D,EAAapmF,GAAG29B,SAAY8pD,EAAmBrB,EAAapmF,GAAG29B,OAAO3zB,GAAU,CACxJ,IAAImsE,EAAU,CACV3sE,OAAQ48E,EAAapmF,GAAG29B,OACxBn6B,MAAO4iF,EAAapmF,GAAG49B,MACvBkzB,QAAS9mD,IAAaA,EAAQihB,SAASm7D,EAAapmF,GAAG29B,SAAY8pD,EAAmBrB,EAAapmF,GAAG29B,OAAO3zB,GAC7Gy6D,aAAez6D,GAAWA,EAAQihB,SAASm7D,EAAapmF,GAAG29B,QAC3D/C,UAAU,EACV1K,WAAak2D,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GAEvE,GAAI81E,EAAQrlB,UACRqlB,EAAQzxE,MAAQ,GACZ0hF,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GACtD,IAAK,IAAIS,EAAE,EAAGA,EAAEslF,EAAapmF,GAAG0E,MAAMrE,OAAQS,IAAI,CAC9C,IAAI4mF,EAAW,CACXl+E,OAAQ48E,EAAapmF,GAAG0E,MAAM5D,GAAG68B,OACjCn6B,MAAO4iF,EAAapmF,GAAG0E,MAAM5D,GAAG88B,MAChCkzB,QAAS9mD,IAAaA,EAAQihB,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG68B,SAAY8pD,EAAmBrB,EAAapmF,GAAG0E,MAAM5D,GAAG68B,OAAO3zB,GAC/Hy6D,aAAc0R,EAAQ1R,cAAiB4gB,EAAeva,gBAAkBua,EAAeva,eAAe7/C,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG68B,QACxI/C,SAAUu7C,EAAQ1R,aAClBv0C,WAAak2D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,OAAS0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMrE,OAAO,GAEzF,GAAIqnF,EAAS52B,UACT42B,EAAShjF,MAAQ,GACb0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,OAAS0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMrE,OAAO,GACxE,IAAK,IAAIuK,EAAE,EAAGA,EAAEw7E,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMrE,OAAQuK,IAAI,CACvD,IAAI+8E,EAAW,CACXn+E,OAAQ48E,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAG+yB,OAC1Cn6B,MAAO4iF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGgzB,MACzCkzB,QAAS9mD,IAAaA,EAAQihB,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAG+yB,SAAY8pD,EAAmBrB,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAG+yB,OAAO3zB,GACjJy6D,aAAcijB,EAASjjB,cAAiB4gB,EAAeva,gBAAkBua,EAAeva,eAAe7/C,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAG+yB,QAClJ/C,SAAU8sD,EAASjjB,aACnBv0C,WAAak2D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,OAAS0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMrE,OAAO,GAE3G,GAAIsnF,EAAS72B,UACT62B,EAASjjF,MAAQ,GACb0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,OAAS0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMrE,OAAO,GAC1F,IAAK,IAAIs+D,EAAE,EAAGA,EAAEynB,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMrE,OAAQs+D,IAAI,CAChE,IAAIipB,EAAW,CACXp+E,OAAQ48E,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGhhC,OACnDn6B,MAAO4iF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAG/gC,MAClDkzB,QAAS9mD,IAAaA,EAAQihB,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGhhC,SAAY8pD,EAAmBrB,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGhhC,OAAO3zB,GACnKy6D,aAAckjB,EAASljB,cAAiB4gB,EAAeva,gBAAkBua,EAAeva,eAAe7/C,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGhhC,QAC3J/C,SAAU+sD,EAASljB,aACnBv0C,WAAak2D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,OAAS0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMrE,OAAO,GAE7H,GAAIunF,EAAS92B,UACT82B,EAASljF,MAAQ,GACb0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,OAAS0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMrE,OAAO,GAC5G,IAAK,IAAIwnF,EAAE,EAAGA,EAAEzB,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMrE,OAAQwnF,IAAI,CACzE,IAAIC,EAAW,CACXt+E,OAAQ48E,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMmjF,GAAGlqD,OAC5Dn6B,MAAO4iF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMmjF,GAAGjqD,MAC3DkzB,QAAS9mD,IAAaA,EAAQihB,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMmjF,GAAGlqD,SAAY8pD,EAAmBrB,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMmjF,GAAGlqD,OAAO3zB,GACrLy6D,aAAcmjB,EAASnjB,cAAiB4gB,EAAeva,gBAAkBua,EAAeva,eAAe7/C,SAASm7D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMmjF,GAAGlqD,QACpK/C,SAAUgtD,EAASnjB,aACnBv0C,WAAak2D,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMmjF,GAAGnjF,OAAS0hF,EAAapmF,GAAG0E,MAAM5D,GAAG4D,MAAMkG,GAAGlG,MAAMi6D,GAAGj6D,MAAMmjF,GAAGnjF,MAAMrE,OAAO,GAE/IunF,EAASljF,MAAM9E,KAAKkoF,GAIhCH,EAASjjF,MAAM9E,KAAKgoF,GAIhCF,EAAShjF,MAAM9E,KAAK+nF,GAIhCxR,EAAQzxE,MAAM9E,KAAK8nF,GAI/BpoD,EAAW1/B,KAAKu2E,GAChBkQ,EAAa/mD,EAAWj/B,QAAQslF,OAGhCQ,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAIvC2hF,IACDD,EAAeD,EAAWpkF,OAGlC,OADA8jF,EAAcQ,EACP/mD,GAiILgnD,EAAkB,SAACriF,EAAM8Q,GAI3B,IAFA,IAAIyxE,GADJzxE,EAAMA,EAAIzT,QAAQ,IAAI,KAAKA,QAAQ,IAAK,KAAKA,QAAQ,KAAK,KAAKA,QAAQ,IAAI,MACnDD,MAAM,KAC1BN,GAAM,EACDf,EAAE,EAAGA,EAAEwmF,EAAcnmF,OAAQL,IAClCe,EAAMA,GAAO0lF,EAAoBxiF,EAAMuiF,EAAcxmF,IAEzD,OAAOe,GAGL0lF,EAAsB,SAACxiF,EAAM8Q,GAC/B,GAAIA,EAAI,CAEJ,IAAI2xE,EAAO,KADX3xE,EAAMA,EAAI1R,OAAOC,eAEjB,OAAkD,IAAzCW,EAAK05B,OAAOr6B,cAAckJ,QAAQuI,IAAsD,IAAxC9Q,EAAK25B,MAAMt6B,cAAckJ,QAAQuI,IAAc9Q,EAAK25B,MAAMt6B,cAAckJ,QAAQk6E,IAAO,EAC9I,OAAO,GAGXC,EAAgB,SAAC/gF,EAAO88E,GAC1B,GAAKA,GAAmB,KAATA,EAAa,CACxB,GAAI98E,GAAmB,KAAVA,EAAa,CACtB,IAAI7E,EAA6B,IAAtB2hF,EAAKl2E,QAAQ5G,GAUxB,OATK7E,IACDA,EAAiB,MAAV6E,IACoB,IAApB88E,EAAKl2E,QAAQ,MACW,IAApBk2E,EAAKl2E,QAAQ,MACO,IAApBk2E,EAAKl2E,QAAQ,MACO,IAApBk2E,EAAKl2E,QAAQ,OAIrBzL,EACL,OAAO,EACX,OAAO,GAGX0mF,EAAqB,SAAC7hF,EAAOlB,GAC/B,GAAIA,GAASA,EAAMrE,OAAO,EAAE,CAExB,IADA,IAAIU,GAAM,EACFf,EAAE,EAAGA,EAAE0E,EAAMrE,SAAWU,EAAKf,IAAI,CACrC,IAAI0iF,EAAOh+E,EAAM1E,GACjBe,EAAMA,GAAO4lF,EAAc/gF,EAAM88E,GAErC,OAAO3hF,EAEP,OAAO,GAkCTqiF,EAAY,cAAC,GAAD,CAAY7Y,MAASkb,EAAeb,SA7KrC,SAACgC,GACd,IAAMC,EAAqB/nF,KAAKC,MAAMD,KAAKmP,UAAUw3E,IACjDU,EAAa,GACjBA,EAAWvmF,KAAKinF,GAIhB,IAHA,IAAIT,EAAeD,EAAWpkF,MAC1BwkF,GAAa,EACbO,EAAoB,KACjBV,GAAgBA,EAAa/lF,OAAO,IAAMkmF,GAAW,CACxD,IAAK,IAAIvmF,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAC5ComF,EAAapmF,GAAGwJ,SAAWo9E,GAC3BE,EAAoBV,EAAapmF,GACjCumF,GAAW,GAEPH,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GACtD8lF,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAIvC6hF,IACDH,EAAeD,EAAWpkF,QAElCokF,EAAa,IACFvmF,KAAK2lF,GACZa,EAAeD,EAAWpkF,MAC1BwkF,GAAa,EAEjB,IAHA,IAEIQ,EAAoB,KACjBX,GAAgBA,EAAa/lF,OAAO,IAAMkmF,GAAW,CACxD,IAASvmF,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAC5ComF,EAAapmF,GAAG29B,SAAWipD,GAC3BG,EAAoBX,EAAapmF,GACjCumF,GAAW,GAEPH,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,IAClDylF,EACIa,EAAcP,EAAapmF,GAAG29B,OAAOipD,IACrCT,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAGpCyhF,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,QAK3C6hF,IACDH,EAAeD,EAAWpkF,OAElC,GAAI+kF,GAAqBC,IACrBD,EAAkBpiF,MAAQ,GACtBqiF,EAAkBriF,OAASqiF,EAAkBriF,MAAMrE,OAAO,GAAE,CAC5D,IAASL,EAAE,EAAGA,EAAE+mF,EAAkBriF,MAAMrE,OAAQL,IAAI,CAChD,IAAIm2E,EAAU,CACV3sE,OAAQu9E,EAAkBriF,MAAM1E,GAAG29B,OACnCn6B,MAAOujF,EAAkBriF,MAAM1E,GAAG49B,MAClCkzB,SAAS,EACT2T,aAAcqiB,EAAkBriB,cAAiB4gB,EAAeva,gBAAkBua,EAAeva,eAAe7/C,SAAS87D,EAAkBriF,MAAM1E,GAAG29B,QACpJ/C,SAAUksD,EAAkBriB,aAC5Bv0C,WAAa62D,EAAkBriF,MAAM1E,GAAG0E,OAASqiF,EAAkBriF,MAAM1E,GAAG0E,MAAMrE,OAAO,GAE7FymF,EAAkBpiF,MAAM9E,KAAKu2E,GAEjC2Q,EAAkBh2B,SAAU,EAGpC40B,EAAiBmB,IA8GuDlC,WA3GzD,SAACiC,GAChB,IAAMC,EAAqB/nF,KAAKC,MAAMD,KAAKmP,UAAUw3E,IAC/CU,EAAa,GACnBA,EAAWvmF,KAAKinF,GAIhB,IAHA,IAAIT,EAAeD,EAAWpkF,MAC1BwkF,GAAa,EACbO,EAAoB,KACjBV,GAAgBA,EAAa/lF,OAAO,IAAMkmF,GAAW,CACxD,IAAK,IAAIvmF,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAC5ComF,EAAapmF,GAAGwJ,SAAWo9E,GAC3BE,EAAoBV,EAAapmF,GACjCumF,GAAW,GAEPH,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,GACtD8lF,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAIvC6hF,IACDH,EAAeD,EAAWpkF,OAE9B+kF,IACAA,EAAkBpiF,MAAQ,GAC1BoiF,EAAkBh2B,SAAU,GAEhC40B,EAAiBmB,IAkFiFjf,gBApB9E,SAACn8D,EAASjC,EAAQhG,GACtC,IAAMwjF,EAAuBloF,KAAKC,MAAMD,KAAKmP,UAAUo3E,IACvD,GAAI55E,EACAu7E,EAAqBlc,eAAelrE,KAAK4J,OACzC,CACA,IAAIulB,EAAMi4D,EAAqBlc,eAAet+D,QAAQhD,GAClDulB,EAAI,GACJi4D,EAAqBlc,eAAerpE,OAAOstB,EAAI,GAEvDu2D,EAAkB0B,GACdv7E,EACAuE,EAAM8tB,SAASt0B,EAAOhG,GAEtBwM,EAAMi3D,SAASz9D,EAAOhG,IAO4GyhF,cAAiBj1E,EAAMi1E,gBAEjK,OACI,gCACI,sBAAKp0E,MAAM,qDAAX,UACI,qBAAKA,MAAM,0BAA0BU,IAAI,sBAAsBlG,GAAG,YAAY0L,IAAI,WAAWjG,MAAO,CAACvI,QAAQ,UAC7G,sBAAKsI,MAAM,sBAAX,UACI,qBAAKA,MAAM,OAAOU,IAAI,+BACtB,uBAAOqD,KAAK,OAAOC,YAAa7E,EAAM6E,YAAa5N,MAASo+E,EAAezgE,MAAOtQ,UAAU,gBAAgBQ,SAAU,SAAC1D,GAAD,OArClH,SAAC61E,GACjB,IAAMD,EAAuBloF,KAAKC,MAAMD,KAAKmP,UAAUo3E,IACvD2B,EAAqBpiE,MAAQqiE,EAC7B,IAAIlB,EAAqBG,EAAoBX,EAAc0B,GAC3DvB,EAAiBK,GACjBT,EAAkB0B,GAClBh3E,EAAMk3E,UAAUD,GA+ByHE,CAAY/1E,EAAE4D,OAAO/N,QAAQ6J,MAAO,CAACs4B,SAAS,iBAGlLg6C,EACD,qBAAKvyE,MAAM,4BAAX,SACA,qBAAKA,MAAM,iDAAX,SACKg1E,EACG,uBAAMh1E,MAAM,+DAA+Dwd,MAAM,aAAWld,QAAS,WAlBjHy0E,EAAcD,EAAa,KAkB0G70E,MAAO,CAACsD,OAAO,WAAxI,wBACY,qBAAK7C,IAAKpS,4BAAuC4X,IAAI,wBAGjE,gCChHLgxE,GAhPgB,SAAC/3E,GAE5B,MAA8CyB,mBAASzB,EAAMi1B,iBAA7D,mBAAOA,EAAP,KAAwBC,EAAxB,KACA,EAA0BzzB,mBAAS,IAAnC,mBAAO84D,EAAP,KAAc8c,EAAd,KACA,EAA8B51E,mBAAS,GAAvC,mBACA,GADA,UACsBA,mBAAS,KAA/B,mBAAOsD,EAAP,KAAYuyE,EAAZ,KAKMxB,GAHc7gD,EAAgBi/B,cAELj/B,EAAgB70B,MACK,eAA3B60B,EAAgBg/B,UAAsD,eAA3Bh/B,EAAgBg/B,UAAsD,eAA3Bh/B,EAAgBg/B,UAAsD,eAA3Bh/B,EAAgBg/B,UAEtKx7B,EAAWxD,EAAgBwD,SAyB/B50B,qBAAU,WACgB,IAAjB02D,EAAMlqE,QACJ2P,EAAMi1B,gBAAgB58B,OAAS48B,EAAgB58B,MAC/C2H,EAAMi1B,gBAAgBg/B,WAAah/B,EAAgBg/B,UACnDj0D,EAAMi1B,gBAAgBnjC,MAAQmjC,EAAgBnjC,KAEjDylF,EAAcv3E,EAAMi1B,gBAAgB58B,KAAM2H,EAAMi1B,gBAAgBnjC,OAEtE,CAACkO,EAAMi1B,kBAET,IAAMsiD,EAAgB,SAACl/E,EAAMvG,GACzBkO,EAAMi1B,gBAAgBk/B,SAAS97D,EAAMvG,EAAKmjC,EAAgBw/B,aAAc,IACvE72D,MAAK,SAACC,GACoC,gBAAnCmC,EAAMi1B,gBAAgBg/B,UACtBj0D,EAAMi1B,gBAAgBk/B,SAAS97D,EAAMvG,EAAK,GAAI,GAC7C8L,MAAK,SAACC,GACH,IAAI29B,EAAW39B,EAASC,KACxBu5E,EAAS77C,MAGjBtG,EAAmBl1B,EAAMi1B,iBACzB,IAAIuG,EAAW39B,EAASC,KACxBu5E,EAAS77C,MAGZ/3B,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAQ7B+yE,EAAgB,SAAC/gF,EAAO88E,GAC1B,GAAKA,GAAmB,KAATA,EAAa,CACxB,GAAI98E,GAAmB,KAAVA,EAAa,CACtB,IAAI7E,EAA6B,IAAtB2hF,EAAKl2E,QAAQ5G,GAUxB,OATK7E,IACDA,EAAiB,MAAV6E,IACoB,IAApB88E,EAAKl2E,QAAQ,MACW,IAApBk2E,EAAKl2E,QAAQ,MACO,IAApBk2E,EAAKl2E,QAAQ,MACO,IAApBk2E,EAAKl2E,QAAQ,OAIrBzL,EACL,OAAO,EACX,OAAO,GAGXinF,EAAiB,SAACzC,EAAe0C,GACnC,IAAI9B,EAAa,GACjBA,EAAWvmF,KAAK2lF,GAIhB,IAHA,IAAIa,EAAeD,EAAWpkF,MAC1BwkF,GAAa,EACbQ,EAAoB,KACjBX,GAAgBA,EAAa/lF,OAAO,IAAMkmF,GAAW,CACxD,IAAK,IAAIvmF,EAAE,EAAGA,EAAEomF,EAAa/lF,SAAWkmF,EAAYvmF,IAC5ComF,EAAapmF,GAAG29B,SAAWsqD,GAC3BlB,EAAoBX,EAAapmF,GACjCumF,GAAW,GAEPH,EAAapmF,GAAG0E,OAAS0hF,EAAapmF,GAAG0E,MAAMrE,OAAO,IAClDylF,EACIa,EAAcP,EAAapmF,GAAG29B,OAAOsqD,IACrC9B,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,OAGpCyhF,EAAWvmF,KAAKwmF,EAAapmF,GAAG0E,QAK3C6hF,IACDH,EAAeD,EAAWpkF,OAElC,OAAOglF,GAwBLrd,EArB2B,WAC7B,IAAI3oE,EAAM,GACNe,EAAM,GACV,GAAImjC,EAAgBi/B,eAAiBj/B,EAAgBi/B,cAAc7jE,OAAO,EAAE,CACxE,IAAK,IAAIL,EAAE,EAAGA,EAAEilC,EAAgBi/B,cAAc7jE,OAAQL,IAAI,CACtD,IAAIiE,EAAO+jF,EAAezd,EAAMtlC,EAAgBi/B,cAAclkE,IAC1DiE,IACY,KAARnC,IACAA,GAAO,MAEPA,GADAgkF,EACO7hF,EAAK05B,OAAS,IAAM15B,EAAK25B,MAEzB35B,EAAK25B,OAGZ,KAAR97B,GACAf,EAAInB,KAAM,CAACuQ,OAAQ80B,EAAgBo/B,aAAc7gE,MAAO1B,IAEhE,OAAOf,EAGK4oE,GAEViM,EAAa3wC,EAAgBi/B,eAAiBj/B,EAAgBi/B,cAAc7jE,OAAO,EAEnFupE,EAAc,SAACx4D,GACbwkE,GACA5lE,EAAM4d,aAAa,CACfC,UAAW4a,EAEXy7B,cAAej/B,EAAgBi/B,iBAcrC2F,EAAgB,SAACz4D,GAGnB,IAAMy0B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IACjDY,EAAeq+B,cAAgB,GAC/Bh/B,EAAmBW,IAUjBskC,EAAoByL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAAmB,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,gBAAiBnmB,WAAW,UAC7Ko5D,EAAoBwL,EAAc,CAACllE,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAAY,CAACzmB,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,SAAU5uB,QAAQ,QAIlK,OACI,qBAAKsI,MAAM,UAAX,SAEyB,IAAjB05D,EAAMlqE,QACP2P,EAAMi1B,gBAAgB58B,OAAS48B,EAAgB58B,MAC/C2H,EAAMi1B,gBAAgBg/B,WAAah/B,EAAgBg/B,UACnDj0D,EAAMi1B,gBAAgBnjC,MAAQmjC,EAAgBnjC,IAC7C,cAAC,GAAD,CAAcqO,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,kEAAkExF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OArBzI,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAkB4JY,CAAYp5D,IAAI6oB,SAAS,IAAjL,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,sBAAKh5D,MAAM,wGAAwGC,MAAO,CAACyD,UAAU,QAArI,UACmC,gBAA7B0wB,EAAgBg/B,SACd,qBAAIpzD,MAAM,2BAA2BC,MAAO,CAAC4D,aAAa,QAA1D,UACKuwB,EAAgBo/B,aADrB,OAIA,6BAUJ,cAAC,GAAD,CACIkhB,cAAgBhb,EAChBO,eAAgB7lC,EAAgBi/B,cAChCpmC,SAvMP,SAAC6sC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IAC5CY,EAAeq+B,gBAAiBr+B,EAAeq+B,cAAgB,IACpEr+B,EAAeq+B,cAActkE,KAAK+qE,GAClCzlC,EAAmBW,IAoMCohC,SAjMJ,SAACzjE,GACjB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IAC7CjlC,EAAI6lC,EAAeq+B,cAAc13D,QAAQhJ,GAC7CqiC,EAAeq+B,cAAcziE,OAAOzB,EAAE,GACtCklC,EAAmBW,IA8LCigD,iBAAoBA,EACpBb,eAAkBhgD,EAAgBy/B,aAClC7vD,YAAeowB,EAAgBpwB,YAC/B+P,MAAS7P,EACTmyE,UA/JN,SAACD,GACfK,EAAOL,SAkKK,qBAAKp2E,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UC6CnCwe,GAnRY,SAACl4E,GACxB,MAA8CyB,mBAAS,CACnD02E,WAAY,KACZnL,aAAc,OAFlB,mBAAO/3C,EAAP,KAAwBC,EAAxB,KAIA,EAAsDzzB,mBAAS,CAC3D22E,UAAYp4E,EAAM0Q,QAAW,CAAClX,OAASwG,EAAM0Q,QAASld,MAAQ,IAAM,KACpEmd,WAAY3Q,EAAM2Q,WAClBE,KAAM7Q,EAAM6Q,KACZC,QAAS9Q,EAAM8Q,QACfF,UAAW5Q,EAAM4Q,YALrB,mBAAOwkB,EAAP,KAA4BC,EAA5B,KAOA,EAA0C5zB,mBAAS,IAAnD,mBAAO42E,EAAP,KAAsBC,EAAtB,KAGAz0E,qBAAU,WAC6B,OAA/BoxB,EAAgBkjD,YAEhBI,MAEN,IAEF,IAMMA,EAAyB,WAC3Bj7D,GAAclN,2BACbxS,MAAK,SAACC,GACH,IAAIy3B,EAAK,CACL6iD,WAAa,CAACt6E,EAASC,KAAKk2E,gBAC5BhH,aAAenvE,EAASC,KAAK2vE,SAEjCn4C,EAAG03C,aAAav7E,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,wBAC5CsH,EAAmBI,MAEtB7xB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAM7Bg2D,EAAc,SAACx4D,GACjBpB,EAAM4d,aAAa,CACfC,UAAW,gBACXnN,QAAU0kB,EAAoBgjD,UAAahjD,EAAoBgjD,UAAU5+E,OAAS,GAClFmX,WAAYykB,EAAoBzkB,WAChCE,KAAMukB,EAAoBvkB,KAC1BC,QAASskB,EAAoBtkB,QAC7BF,UAAWwkB,EAAoBxkB,aAIjCipD,EAAgB,SAACz4D,GAQnBk3E,EAAiB,IACjBjjD,EARsB,CAClB+iD,UAAU,CAAC5+E,OAAQ,GAAIhG,MAAO,IAC9Bmd,WAAY,GACZE,KAAM,KACNC,QAAS,KACTF,WAAW,IAIf,IAAIkpD,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,YA+BzCkjF,EAAkB,SAAChlF,GACrB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAejlB,UAAYpd,EAC3B6hC,EAAuBQ,IA2DrBskC,EAAkC,CAACz5D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,iBAChFizC,EAAkC,CAAC15D,OAAO,OAAQD,MAAM,OAAQ0mB,eAAgB,UAEhFuyC,EApD2B,WAC7B,IAAI3oE,EAAM,GAIV,GAHIqkC,EAAoBgjD,WACpBrnF,EAAInB,KAAM,CAACuQ,OAAQ,mBAAiB3M,MAAO4hC,EAAoBgjD,UAAU5+E,OAAS,IAAM47B,EAAoBgjD,UAAU5kF,QAErH4hC,EAAoBzkB,YAAgBykB,EAAoBzkB,WAAWtgB,OAAO,EAAG,CAC9E,GAAI4kC,EAAgB+3C,aAAa,CAE7B,IADA,IAAIx5E,EAAQ,GACHxD,EAAG,EAAGA,EAAEolC,EAAoBzkB,WAAWtgB,OAAQL,IAAI,CACxD,IAAIiE,EAAOghC,EAAgB+3C,aAAav9E,MAAK,SAAAyB,GAAC,OAAIA,EAAEy8B,SAAWyH,EAAoBzkB,WAAW3gB,MAC1FiE,IACc,KAAVT,IACAA,GAAS,MACbA,GAASS,EAAK25B,OAGT,IAATp6B,GACAzC,EAAInB,KAAM,CAACuQ,OAAQ,UAAW3M,MAAOA,IAGzC4hC,EAAoBxkB,UACpB7f,EAAInB,KAAK,CAACuQ,OAAQ,kDAElBpP,EAAInB,KAAK,CAACuQ,OAAQ,mCAI1B,GAAIi1B,EAAoBvkB,MAAQukB,EAAoBvkB,KAAK,GAAKukB,EAAoBtkB,SAA0C,IAA/BskB,EAAoBtkB,QAAc,CAC3H,IAAI1d,EAAMgiC,EAAoBvkB,KAAKzf,WACa,MAA5CgkC,EAAoBtkB,QAAQxd,cAC5BF,GAAO,SAEPA,GAAO,WAEXrC,EAAInB,KAAK,CAACuQ,OAAQ,OAAQ3M,MAAOJ,IAIrC,OAAOrC,EAcK4oE,GAEV8e,EAAiBxjD,EAAgB+3C,aAAgB/3C,EAAgB+3C,aAAazyE,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAExI,OACI,qBAAK/sB,MAAM,UAAX,SAEsC,OAA/Bo0B,EAAgBkjD,WACf,cAAC,GAAD,CAAch4E,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAE9E,uBAAM3nB,MAAM,kEAAkExF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OApBzI,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAiB4JY,CAAYp5D,IAAI6oB,SAAS,IAAjL,UACI,sBAAKppB,MAAM,iDAAiDC,MAAOq5D,EAAnE,UACI,sBAAMt5D,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAAkB/4D,MAAO,CAACE,WAAW,UAA/K,gCAGA,wBAAQH,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,oBACA,sBAAM/4D,MAAM,gDAAgD,YAAU,eAAeC,MAAO,CAACiqB,cAAc,OAAQ1lB,SAAU,OAAQ5E,MAAM,SAAU4d,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAAOy4D,KAA9L,mCAIJ,qBAAKh5D,MAAM,mCAAX,SACI,qBAAKA,MAAM,wGAAX,SAkBI,cAAC22E,GAAD,CACIjC,cAAiBtgD,EAAgBkjD,YAAcljD,EAAgBkjD,WAAW,IAAMljD,EAAgBkjD,WAAW,GAAGzjF,MAASugC,EAAgBkjD,WAAW,GAAGzjF,MAAQ,GAC7J0gF,kBAAoBhgD,EAAoBgjD,UAAahjD,EAAoBgjD,UAAU5+E,OAAS,GAC5FuyB,UApIR,SAAC4uC,EAAY4Z,GAC7B,IAAM1+C,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAE7CS,EAAeuiD,UADA,KAAfzd,EAC2B,CAACnhE,OAAQmhE,EAAYnnE,MAAO+gF,GAE5B,KAC3Bl/C,EAAuBQ,IA+HHigD,kBAAoB,EACpBb,eAAiB,EACjBpwE,YAAc,0CACd+P,MAASyjE,EACTnB,UAjMV,SAACD,GACfqB,EAAiBrB,UAqML,sBAAKp2E,MAAM,mBAAmBC,MAAO,CAACyD,UAAU,QAAhD,UACI,qBAAK1D,MAAM,QAAX,SACI,oBAAIA,MAAM,sBAAV,uBAEJ,qBAAKA,MAAM,uBAAX,SACI,sBAAKA,MAAM,6DAAX,UACI,qBAAKA,MAAM,eAAX,SACI,cAAC,GAAD,CACItR,MAASkpF,EACTjuD,OAAO,eACPswC,eAAgB1lC,EAAoBzkB,WACpCmd,SAhJjB,SAAC6sC,GAChB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC5CS,EAAellB,aAChBklB,EAAellB,WAAa,IAEhCklB,EAAellB,WAAW/gB,KAAK+qE,GAC/BtlC,EAAuBQ,IA2ISohC,SAxIjB,SAACzjE,GAChB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IAC7CplC,EAAI6lC,EAAellB,WAAWnU,QAAQhJ,GAC1CqiC,EAAellB,WAAWlf,OAAOzB,EAAE,GACnCqlC,EAAuBQ,IAqISz1B,MAAM,OACNo0D,kBAAmB,MAGzBp/B,EAAoBxkB,UAClB,sBAAK/P,MAAM,oBAAoBC,MAAO,CAACyD,UAAU,QAAjD,UACI,kCAAO,uBAAOK,KAAK,QAAQvQ,KAAK,WAAW4C,MAAM,YAAYkK,QAAS,SAACC,GAAD,OAAOo3E,GAAgB,IAAO/8E,SAAO,IAA3G,8CACA,kCAAO,uBAAOmJ,KAAK,QAAQvQ,KAAK,WAAW4C,MAAM,YAAYkK,QAAS,SAACC,GAAD,OAAOo3E,GAAgB,MAA7F,gDAGJ,sBAAK33E,MAAM,oBAAoBC,MAAO,CAACyD,UAAU,QAAjD,UACI,kCAAO,uBAAOK,KAAK,QAAQvQ,KAAK,WAAW4C,MAAM,YAAYkK,QAAS,SAACC,GAAD,OAAOo3E,GAAgB,MAA7F,8CACA,kCAAO,uBAAO5zE,KAAK,QAAQvQ,KAAK,WAAW4C,MAAM,YAAYkK,QAAS,SAACC,GAAD,OAAOo3E,GAAgB,IAAQ/8E,SAAO,IAA5G,wDAMpB,sBAAKoF,MAAM,0CAAX,UACI,qBAAKA,MAAM,QAAX,SACI,oBAAIA,MAAM,sBAAV,oBAEJ,qBAAKA,MAAM,uBAAX,SACI,qBAAKA,MAAM,6DAAX,SACI,cAAC,GAAD,CACIgQ,KAAMukB,EAAoBvkB,KAC1B0vD,OAAQnrC,EAAoBtkB,QAC5Bib,UAvJb,SAAC+8C,EAAWC,GAC3B,IAAMlzC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUm3B,IACjDS,EAAehlB,KAAOi4D,EACtBjzC,EAAe/kB,QAAUi4D,EACzB1zC,EAAuBQ,aAwJX,qBAAKh1B,MAAM,iDAAiDC,MAAOs5D,EAAnE,SACI,wBAAQv5D,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,sBAEJ,cAAC,GAAD,CAAiBzC,YAAauC,UCxHnCgf,GA5JS,SAAC14E,GACrB,MAAyByB,mBAAS,IAAlC,mBAAOlS,EAAP,KAAaopF,EAAb,KACA,EAA8Cl3E,mBAASzB,EAAMi1B,iBAA7D,mBAAOA,EAAP,KAAwBC,EAAxB,KAEMoyC,EAAyBryC,EAAgB70B,MAAS,oEAAsE,8DAE1Hq0D,EAAex/B,EAAgBw/B,aAE/Bh8B,EAAWxD,EAAgBwD,UAEzBxD,EAAgBs/B,SAAaE,IAC/BA,EAAejjE,SAASijE,IAEvBA,IACDA,EAAe,GAEnB,IAAMgkB,EAAgBlpF,EAAMgL,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAGrE/pB,qBAAU,WACgB,IAAjBtU,EAAMc,QACJ2P,EAAMi1B,gBAAgB58B,OAAS48B,EAAgB58B,MAC/C2H,EAAMi1B,gBAAgBg/B,WAAah/B,EAAgBg/B,UACnDj0D,EAAMi1B,gBAAgBnjC,MAAQmjC,EAAgBnjC,KAEjDylF,EAAcv3E,EAAMi1B,gBAAgB58B,KAAM2H,EAAMi1B,gBAAgBnjC,OAEtE,CAACkO,EAAMi1B,kBAET,IAAMsiD,EAAgB,SAACl/E,EAAMvG,GACzBkO,EAAMi1B,gBAAgBk/B,SAAS97D,EAAMvG,GACpC8L,MAAK,SAACC,GACHq3B,EAAmBl1B,EAAMi1B,iBACzB,IAAIuG,EAAW39B,EAASC,KACxB09B,EAAS/pC,OAAO,EAAE,EAAE,CAACk8B,OAAO3tB,EAAMi1B,gBAAgBq/B,UAAW1mC,MAAM5tB,EAAMi1B,gBAAgBpwB,cACzF8zE,EAASn9C,MAEZ/3B,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAiB7Bg2D,EAAc,SAACx4D,GACjB,GAAI6zB,EAAgBw/B,eAAex/B,EAAgBq/B,UAAU,CACzD,IAAI9gE,EAAQyhC,EAAgBw/B,aAC5Bz0D,EAAM4d,aAAa,CACfC,UAAW4a,EACXvX,MAAO1tB,MAYbolF,EAAa,WACf,IAAM/iD,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IACjDY,EAAe4+B,aAAex/B,EAAgBq/B,UAC9Cp/B,EAAmBW,IA2CjB9B,EADQ18B,OAAO28B,WACG,IAECiB,EAAgB70B,MAEzC,OACI,qBAAKS,MAAM,UAAX,SACI,uBAAMA,MAAM,kEAAkExF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OAdrI,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAWwJY,CAAYp5D,IAAI6oB,SAAS,IAAjL,UACI,qBAAKppB,MAAM,yBAAX,SACI,sBAAMA,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OA9C7H,SAACA,GACnBw3E,IACA,IAAI9e,EAAStpE,SAASmE,uBAAuB,iBAC7C,GAAImlE,EACA,IAAK,IAAI9pE,EAAE,EAAGA,EAAE8pE,EAAOzpE,OAAQL,IAAI,CAC/B8pE,EAAO9pE,GAAGiH,MAAQ,GAClB,IAAM8iE,EAAgBzlE,EAA2BwlE,EAAO9pE,GAAI,2BACxD+pE,GACAA,EAAc1nE,UAAUiD,OAAO,WAsC2GukE,IAA1I,kCAIJ,qBAAKh5D,MAAOymE,EAAZ,SACI,sBAAKzmE,MAAM,yBAAX,UACI,qBAAIA,MAAM,2BAAV,UACKo0B,EAAgBo/B,aADrB,OAIA,cAAC,GAAD,CAAc9kE,MAASkpF,EACfjuD,OAAQ,UAAWyK,EAAgBg/B,SACnC5pC,cAAeoqC,EACf1oC,UA1ER,SAAC4uC,GACjB,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IACjDY,EAAe4+B,aAAekG,EAC9BzlC,EAAmBW,IAwEKohC,SAAU2hB,EACVx4E,MAAM,OACN0rB,QAAWmJ,EAAgBs/B,QAC3BC,kBAAqBv/B,EAAgBu/B,yBAKrD,qBAAK3zD,MAAM,iDAAX,SACI,wBAAQA,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,4BCwBLif,GA5KW,SAAC74E,GACvB,MAAyByB,mBAAS,IAAlC,mBAAOlS,EAAP,KAAaopF,EAAb,KACA,EAA8Cl3E,mBAASzB,EAAMi1B,iBAA7D,mBAAOA,EAAP,KAAwBC,EAAxB,KAEMoyC,EAAyBryC,EAAgB70B,MAAS,oEAAsE,8DAE1H8zD,EAAgBj/B,EAAgBi/B,cAEhCz7B,EAAWxD,EAAgBwD,UAEzBxD,EAAgBs/B,SAAaL,IAC/BA,EAAgBA,EAAc35D,KAAI,SAAAvK,GAAC,OAAIwB,SAASxB,OAE/CkkE,IACDA,EAAgB,IAEpB,IAAMukB,EAAgBlpF,EAAMgL,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAGrE/pB,qBAAU,WACgB,IAAjBtU,EAAMc,QACJ2P,EAAMi1B,gBAAgB58B,OAAS48B,EAAgB58B,MAC/C2H,EAAMi1B,gBAAgBg/B,WAAah/B,EAAgBg/B,UACnDj0D,EAAMi1B,gBAAgBnjC,MAAQmjC,EAAgBnjC,KAEjDylF,EAAcv3E,EAAMi1B,gBAAgB58B,KAAM2H,EAAMi1B,gBAAgBnjC,OAEtE,CAACkO,EAAMi1B,kBAET,IAAMsiD,EAAgB,SAACl/E,EAAMvG,GACzBkO,EAAMi1B,gBAAgBk/B,SAAS97D,EAAMvG,GACpC8L,MAAK,SAACC,GACHq3B,EAAmBl1B,EAAMi1B,iBACzB,IAAIuG,EAAW39B,EAASC,KACxB09B,EAAS/pC,OAAO,EAAE,EAAE,CAACk8B,OAAO3tB,EAAMi1B,gBAAgBq/B,UAAW1mC,MAAM5tB,EAAMi1B,gBAAgBpwB,cACzF8zE,EAASn9C,MAEZ/3B,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAiB7Bg2D,EAAc,SAACx4D,GACb6zB,EAAgBi/B,eAAiBj/B,EAAgBi/B,cAAc7jE,OAAO,GAEtE2P,EAAM4d,aAAa,CACfC,UAAW4a,EAEXy7B,cAAej/B,EAAgBi/B,iBA2ErCngC,EADQ18B,OAAO28B,WACG,IAECiB,EAAgB70B,MAEzC,OACI,qBAAKS,MAAM,UAAX,SACI,uBAAMA,MAAM,kEAAkExF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAmBkoB,UAAW,SAACvrB,GAAD,OAdrI,SAACA,GAED,KADFA,EAAEyrB,SAEZ+sC,IAWwJY,CAAYp5D,IAAI6oB,SAAS,IAAjL,UACI,qBAAKppB,MAAM,yBAAX,SACI,sBAAMA,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAmBld,QAAS,SAACC,GAAD,OAjD7H,SAACA,GACnB,IAAMy0B,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IACjDY,EAAeq+B,cAAgB,GAC/Bh/B,EAAmBW,GA8CmIgkC,IAA1I,kCAIJ,qBAAKh5D,MAAOymE,EAAZ,SACI,sBAAKzmE,MAAM,yBAAX,UACI,qBAAIA,MAAM,2BAAV,UACKo0B,EAAgBo/B,aADrB,OAIA,cAAC,GAAD,CAAgB9kE,MAASkpF,EACbjuD,OAAQ,WAAYyK,EAAgBg/B,SACpC6G,eAAgB7lC,EAAgBi/B,cAChCpmC,SA7Ef,SAAC6sC,GACd,IAAM9kC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IAC5CY,EAAeq+B,gBAAiBr+B,EAAeq+B,cAAgB,IACpEr+B,EAAeq+B,cAActkE,KAAK+qE,GAClCzlC,EAAmBW,IA0ESohC,SAvEZ,SAACzjE,GACjB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAUg3B,IAC7CjlC,EAAI6lC,EAAeq+B,cAAc13D,QAAQhL,SAASgC,IACtDqiC,EAAeq+B,cAAcziE,OAAOzB,EAAE,GACtCklC,EAAmBW,IAoES/J,QAAWmJ,EAAgBs/B,QAC3Bn0D,MAAM,cAI1B,qBAAKS,MAAM,iDAAX,SACI,wBAAQA,MAAM,kDAAkDwd,MAAM,SAAUld,QAAS,SAACC,GAAD,OAAOw4D,KAAhG,4BC3ILkf,GAhCe,SAAC94E,GAC3B,IAAM/L,EAAO+L,EAAM/L,KACb6H,EAASkE,EAAMlE,OACfi9E,EAAWj9E,EAAS,SAAW,GAC/Bk9E,EAAal9E,EAAS,UAAY,UAClCm9E,EAAcn9E,EAAS,CAACsI,OAAO,WAAa,CAACA,OAAO,WAE1D,OACI,oBAAIE,UAAWy0E,EAAf,SACI,uBAAM16D,MAAOpqB,EAAKsE,QAAS4I,QAAS,SAAAC,GAAC,OAAIpB,EAAM4d,aAAa,CAACC,UAAY5pB,EAAKqE,gBAAgBwI,MAAOm4E,EAArG,UAAkHhlF,EAAKsE,QACnH,sBAAK,YAAU,iBAAiBsuB,MAAM,6BAA6BmV,YAAY,+BAA+Bv7B,MAAM,KAAKC,OAAO,KAAK2e,QAAQ,YAA7I,UACI,+BACI,0BAAUhkB,GAAG,YAAb,SACI,sBAAMwF,MAAM,OAAOxF,GAAG,iBAAiB,YAAU,iBAAiBikB,EAAE,0EAA0EI,UAAU,sCAAsCF,KAAK,gBAG3M,oBAAGnkB,GAAG,QAAQqkB,UAAU,qBAAxB,UACI,sBAAMrkB,GAAG,mBAAmB,YAAU,iBAAiBikB,EAAE,0EACrDI,UAAU,sCAAsCF,KAAMw5D,IAC1D,mBAAG39E,GAAG,UAAU,YAAU,QAAQqkB,UAAU,iBAAiB,YAAU,kBAAvE,SACI,oBAAGrkB,GAAG,oBAAoB,YAAU,oBAAoBqkB,UAAU,uBAAlE,UACI,sBAAMrkB,GAAG,2BAA2B,YAAU,2BAA2BoF,MAAM,KAAKC,OAAO,KAAK8e,KAAK,SACrG,sBAAM3e,MAAM,OAAOxF,GAAG,YAAYoF,MAAM,KAAKC,OAAO,KAAK8e,KAAMw5D,qBCGhFE,GAtBW,SAACl5E,GACvB,IAAM3H,EAAO2H,EAAM3H,KACbC,EAAe0H,EAAM1H,aACrB6gF,EAAmB/gF,EAAoBC,GACvC+gF,EAAW5gF,EAAmBH,GAC9BghF,EAAaF,EAAiB5+E,KAAI,SAAAtG,GAAI,OACxC,cAAC,GAAD,CAAuBA,KAAQA,EAAM6H,OAAQ7H,EAAKqE,eAAiBA,EAAcslB,aAAgB5d,EAAM4d,kBAG3G,OACI,wBAAO/c,MAAM,sBAAb,UAEI,qBAAKA,MAAM,SAAX,SACI,qBAAIA,MAAM,+BAAV,4CAAmE,sBAAMA,MAAM,iBAAZ,SAA8Bu4E,SAErG,oBAAIv4E,MAAM,6CAAV,SACKw4E,QC0ZFC,GAnZY,SAACt5E,GACxB,MAAoCyB,mBAASzB,EAAM2wB,YAAnD,mBAAOA,EAAP,KAAmB4oD,EAAnB,KACMlhF,EAAOK,EAAwBi4B,EAAWr4B,cAC5C6H,E/OusBA,SAAmC1H,GACvC,IAAI1H,EAAM,GACV,GAAoB,kBAAhB0H,EACA1H,EAAM,4BACJ,GAAoB,qBAAhB0H,EACN1H,EAAM,gCACJ,GAAoB,mBAAhB0H,EACN1H,EAAM,sCACJ,GAAoB,wBAAhB0H,EACN1H,EAAM,2CACJ,GAAoB,sBAAhB0H,EACN1H,EAAM,sCACJ,GAAoB,wBAAhB0H,EACN1H,EAAM,mCACJ,GAAoB,gBAAhB0H,EACN1H,EAAM,mCACJ,GAAoB,iBAAhB0H,EACN1H,EAAM,+CACJ,GAAoB,kBAAhB0H,EACN1H,EAAM,4BACJ,GAAoB,kBAAhB0H,EACN1H,EAAM,4BACJ,GAAoB,kBAAhB0H,EACN1H,EAAM,4BACJ,GAAoB,YAAhB0H,EACN1H,EAAM,sEACJ,GAAoB,2BAAhB0H,EACN1H,EAAM,uDACJ,GAAoB,mBAAhB0H,EACN1H,EAAM,qCACJ,GAAoB,sBAAhB0H,EACN1H,EAAM,yCACJ,GAAoB,kBAAhB0H,GAAmD,kBAAhBA,GAAmD,kBAAhBA,EAC5E1H,EAAM,8CACJ,GAAoB,uBAAhB0H,GACF6lD,EAAOpmD,MACU,IAARomD,IACTA,EAAO,iBACXvtD,EAAM,mBAAkButD,OACtB,GAAoB,uBAAhB7lD,EAAqC,CAC3C,IAAI6lD,KAAOpmD,MACU,IAARomD,IACTA,EAAO,iBACXvtD,EAAM,mBAAkButD,OACtB,GAAoB,kBAAhB7lD,EACN1H,EAAM,iDACL,CACD,IAEIkD,EADQmE,EADDM,EAAwBD,IAElBhJ,MAAK,SAAA+pF,GAAC,OAAIA,EAAElhF,eAAiBG,KAC1CxE,IACAlD,EAAMkD,EAAKsE,SAEnB,OAAOxH,E+O5vBM0oF,CAA0B9oD,EAAWr4B,cAEhB,YAA7Bq4B,EAAWr4B,eACZ6H,EAAS,kEAEb,IAAM80B,EAAmBtE,EAAWujC,cAAiBF,GAAmBrjC,EAAWr4B,aAAcq4B,EAAWujC,eAAiBF,GAAmBrjC,EAAWr4B,aAAcq4B,EAAWt1B,IAE9Kq+E,EAC2B,uBAA5B/oD,EAAWr4B,cACoB,mBAA5Bq4B,EAAWr4B,cACiB,uBAA5Bq4B,EAAWr4B,cACiB,mBAA5Bq4B,EAAWr4B,cACiB,kBAA5Bq4B,EAAWr4B,cACiB,iBAA5Bq4B,EAAWr4B,cACiB,yBAA5Bq4B,EAAWr4B,aACX,cAAC,GAAD,CAAiB28B,gBAAmBA,EAAiBrX,aAAgB5d,EAAM4d,eAElD,qBAA5B+S,EAAWr4B,cACoB,qBAA5Bq4B,EAAWr4B,cACiB,qBAA5Bq4B,EAAWr4B,cACiB,oBAA5Bq4B,EAAWr4B,cACiB,oBAA5Bq4B,EAAWr4B,cACiB,oBAA5Bq4B,EAAWr4B,cACiB,YAA5Bq4B,EAAWr4B,cACiB,YAA5Bq4B,EAAWr4B,cACiB,aAA5Bq4B,EAAWr4B,cACiB,YAA5Bq4B,EAAWr4B,aAEX,cAAC,GAAD,CAAmB28B,gBAAmBA,EAAiBrX,aAAgB5d,EAAM4d,eAErD,eAA5B+S,EAAWr4B,cACqB,eAA5Bq4B,EAAWr4B,cACiB,gBAA5Bq4B,EAAWr4B,aAEX,cAAC,GAAD,CAAgB28B,gBAAmBA,EAAiBrX,aAAgB5d,EAAM4d,eAEjD,eAA5B+S,EAAWr4B,cACoB,eAA5Bq4B,EAAWr4B,aAEX,cAAC,GAAD,CAAwB28B,gBAAmBA,EAAiBrX,aAAgB5d,EAAM4d,eAIvD,mBAA5B+S,EAAWr4B,aACV,cAAC,GAAD,CACIoY,QAAWigB,EAAWjgB,QACtBC,WAAcggB,EAAWhgB,WACzBE,KAAQ8f,EAAW9f,KACnBC,QAAW6f,EAAW7f,QACtBF,UAAa+f,EAAW/f,UACxBgN,aAAgB5d,EAAM4d,eAEC,2BAA5B+S,EAAWr4B,aACV,cAAC,GAAD,CACI2Y,MAAS0f,EAAW1f,MACpBqE,UAAaqb,EAAWrb,UACxBsI,aAAgB5d,EAAM4d,eAEC,WAA5B+S,EAAWr4B,aACV,cAAC,GAAD,CACIq7E,IAAOhjD,EAAWgjD,IAClBC,KAAQjjD,EAAWijD,KACnBC,KAAQljD,EAAWkjD,KACnBC,MAASnjD,EAAWmjD,MACpBC,IAAOpjD,EAAWojD,IAClBljE,KAAQ8f,EAAW9f,KACnB0vD,OAAU5vC,EAAW4vC,OACrBvuD,OAAU2e,EAAW3e,OACrBC,IAAO0e,EAAW1e,IAClB8C,QAAW4b,EAAW5b,UAEC,sBAA5B4b,EAAWr4B,aACV,cAAC,GAAD,CACAyM,IAAO4rB,EAAW5rB,IAClBsM,MAASsf,EAAWtf,MACpBC,KAAQqf,EAAWrf,KACnBG,QAAWkf,EAAWlf,QACtBE,QAAWgf,EAAWhf,QACtBliB,KAAQkhC,EAAWlhC,KACnBmiB,KAAQ+e,EAAW/e,KACnBJ,OAAUmf,EAAWnf,OACrBD,OAAUof,EAAWpf,OACrBqM,aAAgB5d,EAAM4d,eAEK,kBAA5B+S,EAAWr4B,cACmB,kBAA5Bq4B,EAAWr4B,cACiB,kBAA5Bq4B,EAAWr4B,aACZ,cAAC,GAAD,CACAyM,IAAO4rB,EAAW5rB,IAClBgN,QAAW4e,EAAW5e,QACtBV,MAASsf,EAAWtf,MACpBC,KAAQqf,EAAWrf,KACnBU,OAAU2e,EAAW3e,OACrBC,IAAO0e,EAAW1e,IAClB2L,aAAgB5d,EAAM4d,aACtBvlB,KAAQs4B,EAAWr4B,aAAa/G,UAAUo/B,EAAWr4B,aAAajI,OAAO,KAGhD,mBAA5BsgC,EAAWr4B,cACoB,wBAA5Bq4B,EAAWr4B,cACiB,sBAA5Bq4B,EAAWr4B,cACiB,wBAA5Bq4B,EAAWr4B,cACiB,gBAA5Bq4B,EAAWr4B,aACX,cAAC,GAAD,CACA0Z,OAAU2e,EAAW3e,OACrBC,IAAO0e,EAAW1e,IAClB3Z,aAAgBq4B,EAAWr4B,aAC3BslB,aAAgB5d,EAAM4d,eAGK,4BAA5B+S,EAAWr4B,aACV,cAAC,GAAD,CACA+Z,MAASse,EAAWte,MACpBC,QAAWqe,EAAWre,QACtBC,QAAWoe,EAAWpe,QACtBqL,aAAgB5d,EAAM4d,eAEM,qBAA5B+S,EAAWr4B,cACgB,qBAA5Bq4B,EAAWr4B,cACiB,qBAA5Bq4B,EAAWr4B,aAEV,cAAC,GAAD,CACAD,KAAQA,EACRoa,SAAYke,EAAWle,SACvBnZ,IAAOq3B,EAAWr3B,IAClBuZ,KAAQ8d,EAAW9d,KACnBC,MAAS6d,EAAW7d,MACpBpK,KAAQioB,EAAWjoB,KACnBqK,IAAO4d,EAAW5d,IAClBC,GAAM2d,EAAW3d,GACjBC,KAAQ0d,EAAW1d,KACnB2K,aAAgB5d,EAAM4d,eAEM,kBAA5B+S,EAAWr4B,aAEX,cAAC,GAAD,CACAyM,IAAO4rB,EAAW5rB,IAClBqO,OAAUud,EAAWvd,OACrBC,MAASsd,EAAWtd,MACpB/Z,IAAOq3B,EAAWr3B,IAClBuZ,KAAQ8d,EAAW9d,KACnBC,MAAS6d,EAAW7d,MACpBpK,KAAQioB,EAAWjoB,KACnBuK,KAAQ0d,EAAW1d,KACnBF,IAAO4d,EAAW5d,IAClBO,IAAOqd,EAAWrd,IAClBzC,KAAQ8f,EAAW9f,KACnBC,QAAW6f,EAAW7f,QACtBhX,IAAO62B,EAAW72B,IAClBib,QAAW4b,EAAW5b,QACtBG,QAAWyb,EAAWzb,QACtB3B,aAAgBod,EAAWpd,aAC3BC,aAAgBmd,EAAWnd,aAC3BG,aAAgBgd,EAAWhd,aAC3BC,aAAgB+c,EAAW/c,aAC3BH,cAAiBkd,EAAWld,cAC5BC,cAAiBid,EAAWjd,cAC5BG,cAAiB8c,EAAW9c,cAC5BC,cAAiB6c,EAAW7c,cAC5BC,cAAiB4c,EAAW5c,cAC5BC,cAAiB2c,EAAW3c,cAC5BC,aAAgB0c,EAAW1c,aAC3BC,aAAgByc,EAAWzc,aAC3BG,SAAYsc,EAAWtc,SACvBD,MAASuc,EAAWvc,MACpBD,IAAOwc,EAAWxc,IAClBI,UAAaoc,EAAWpc,UACxBqJ,aAAgB5d,EAAM4d,aACtBpJ,MAASmc,EAAWnc,MACpBC,MAASkc,EAAWlc,MACpBC,MAASic,EAAWjc,MACpBC,OAAUgc,EAAWhc,OACrBC,MAAS+b,EAAW/b,MACpBvC,MAASse,EAAWte,MACpByC,QAAW6b,EAAW7b,UAEM,kBAA5B6b,EAAWr4B,aAEX,cAAC,GAAD,CACAyM,IAAO4rB,EAAW5rB,IAClBqO,OAAUud,EAAWvd,OACrBC,MAASsd,EAAWtd,MACpBpC,MAAS0f,EAAW1f,MACpBqE,UAAaqb,EAAWrb,UACxBhc,IAAOq3B,EAAWr3B,IAClBuZ,KAAQ8d,EAAW9d,KACnBC,MAAS6d,EAAW7d,MACpBpK,KAAQioB,EAAWjoB,KACnB5O,IAAO62B,EAAW72B,IAClBiZ,IAAO4d,EAAW5d,IAClBQ,aAAgBod,EAAWpd,aAC3BC,aAAgBmd,EAAWnd,aAC3BG,aAAgBgd,EAAWhd,aAC3BC,aAAgB+c,EAAW/c,aAC3Be,OAAUgc,EAAWhc,OACrBC,MAAS+b,EAAW/b,MACpBvC,MAASse,EAAWte,MACpByC,QAAW6b,EAAW7b,QACtB8I,aAAgB5d,EAAM4d,eAEM,kBAA5B+S,EAAWr4B,aAEX,cAAC,GAAD,CACAyM,IAAO4rB,EAAW5rB,IAClB0Q,MAASkb,EAAWlb,MACpBC,MAASib,EAAWjb,MACpBrC,MAASsd,EAAWtd,MACpBvZ,IAAO62B,EAAW72B,IAClBib,QAAW4b,EAAW5b,QACtBG,QAAWyb,EAAWzb,QACtBP,OAAUgc,EAAWhc,OACrBC,MAAS+b,EAAW/b,MACpBvC,MAASse,EAAWte,MACpByC,QAAW6b,EAAW7b,QACtB8I,aAAgB5d,EAAM4d,eAEM,kBAA5B+S,EAAWr4B,aAEX,cAAC,GAAD,CACAyM,IAAO4rB,EAAW5rB,IAClBqO,OAAUud,EAAWvd,OACrBC,MAASsd,EAAWtd,MACpB2C,QAAW2a,EAAW3a,QACtBC,WAAc0a,EAAW1a,WACzB3c,IAAOq3B,EAAWr3B,IAClBuZ,KAAQ8d,EAAW9d,KACnBC,MAAS6d,EAAW7d,MACpBpK,KAAQioB,EAAWjoB,KACnBuK,KAAQ0d,EAAW1d,KACnBnZ,IAAO62B,EAAW72B,IAClBiZ,IAAO4d,EAAW5d,IAClBQ,aAAgBod,EAAWpd,aAC3BC,aAAgBmd,EAAWnd,aAC3BG,aAAgBgd,EAAWhd,aAC3BC,aAAgB+c,EAAW/c,aAC3BgK,aAAgB5d,EAAM4d,aACtBjJ,OAAUgc,EAAWhc,OACrBC,MAAS+b,EAAW/b,MACpBE,QAAW6b,EAAW7b,QACtBzC,MAASse,EAAWte,QAEQ,4BAA5Bse,EAAWr4B,aAEX,cAAC,GAAD,CACA2Y,MAAS0f,EAAW1f,MACpBmF,OAAUua,EAAWva,OACrBC,OAAUsa,EAAWta,OACrBC,OAAUqa,EAAWra,OACrBxD,MAAS6d,EAAW7d,MACpBpK,KAAQioB,EAAWjoB,KACnBuK,KAAQ0d,EAAW1d,KACnBpC,KAAQ8f,EAAW9f,KACnBC,QAAW6f,EAAW7f,QACtBhX,IAAO62B,EAAW72B,IAClB8jB,aAAgB5d,EAAM4d,eAEM,oBAA5B+S,EAAWr4B,aAEX,cAAC,GAAD,CACAye,OAAU4Z,EAAW5Z,OACrB9F,MAAS0f,EAAW1f,MACpB+F,QAAW2Z,EAAW3Z,QACtBC,SAAY0Z,EAAW1Z,SACvBC,SAAYyZ,EAAWzZ,SACvBE,QAAWuZ,EAAWvZ,QACtBC,IAAOsZ,EAAWtZ,IAClBC,IAAOqZ,EAAWrZ,IAClBI,KAAQiZ,EAAWjZ,KACnBC,OAAUgZ,EAAWhZ,OACrBJ,OAAUoZ,EAAWpZ,OACrBC,KAAQmZ,EAAWnZ,KACnBC,OAAUkZ,EAAWlZ,OACrBG,KAAQ+Y,EAAW/Y,KACnBC,KAAQ8Y,EAAW9Y,KACnBV,QAAWwZ,EAAWxZ,QACtB7d,IAAOq3B,EAAWr3B,IAClBuZ,KAAQ8d,EAAW9d,KACnB+K,aAAgB5d,EAAM4d,eAEM,qBAA5B+S,EAAWr4B,aAEX,cAAC,GAAD,CACAyM,IAAO4rB,EAAW5rB,IAClBiT,OAAU2Y,EAAW3Y,OACrB1e,IAAOq3B,EAAWr3B,IAClBuZ,KAAQ8d,EAAW9d,KACnB+K,aAAgB5d,EAAM4d,eAEK,iBAA5B+S,EAAWr4B,aACV,cAAC,GAAD,CACA+hB,MAASsW,EAAWtW,MACpBrI,OAAU2e,EAAW3e,OACrBC,IAAO0e,EAAW1e,IAClB2L,aAAgB5d,EAAM4d,eAGtB,wBAGR/Z,qBAAU,WACN01E,EAAcv5E,EAAM2wB,cACtB,CAAC3wB,EAAM2wB,aAET,IAAMgpD,EAAY,SAACC,GACf,GAA+B,qBAA3BjpD,EAAWr4B,aAAmC,CAC9C,IAAMuhF,EAAkB/qF,KAAKC,MAAMD,KAAKmP,UAAU0yB,IAClDkpD,EAAgBpnE,SAAWmnE,EAC3BL,EAAcM,QACZ,GAAgC,oBAA5BlpD,EAAWr4B,aAAmC,CACpD,IAAMuhF,EAAkB/qF,KAAKC,MAAMD,KAAKmP,UAAU0yB,IAClDkpD,EAAgB9iE,OAAS6iE,EACzBL,EAAcM,KAKhBC,EAAe,CACjB,CACIlgF,IAAK,EACLgb,MAAO,gBACPxiB,MAAgC,IAAxBu+B,EAAWle,SAAkB,SAAW,IAEpD,CACI7Y,IAAK,EACLgb,MAAO,kBACPxiB,MAAgC,IAAxBu+B,EAAWle,SAAkB,SAAW,KAIlDsnE,EAAU,CACZ,CACIngF,IAAK,KACLgb,MAAO,cACPxiB,MAA8B,OAAtBu+B,EAAW5Z,OAAmB,SAAW,IAErD,CACInd,IAAK,KACLgb,MAAO,cACPxiB,MAA8B,OAAtBu+B,EAAW5Z,OAAmB,SAAW,IAErD,CACInd,IAAK,KACLgb,MAAO,8BACPxiB,MAA8B,OAAtBu+B,EAAW5Z,OAAmB,SAAW,KAKnDijE,EAC2B,qBAA5BrpD,EAAWr4B,aACR,qBAAKuI,MAAM,wBAAX,SACI,qBAAKA,MAAM,YAAX,SACI,oBAAIA,MAAM,OAAV,SACKi5E,EAAav/E,KAAI,SAAA8oB,GAAC,OAAI,oBAAIxiB,MAAOwiB,EAAEjxB,MAAO+O,QAAS,SAACC,GAAD,OAAOu4E,EAAUt2D,EAAEzpB,MAAhD,SAAuDypB,EAAEzO,iBAKnE,oBAA5B+b,EAAWr4B,aACR,qBAAKuI,MAAM,wBAAX,SACI,qBAAKA,MAAM,YAAX,SACI,oBAAIA,MAAM,OAAV,SACKk5E,EAAQx/E,KAAI,SAAA8oB,GAAC,OAAI,oBAAIxiB,MAAOwiB,EAAEjxB,MAAO+O,QAAS,SAACC,GAAD,OAAOu4E,EAAUt2D,EAAEzpB,MAAhD,SAAuDypB,EAAEzO,iBAKvF,wBAIR,OACI,0BAAS/T,MAAM,wDAAf,UACI,cAAC,GAAD,CAAoBxI,KAAMA,EAAM8H,OAAQA,EAAQwwB,WAAcA,EAAY/S,aAAgB5d,EAAM4d,eAC/Fo8D,EAC6B,kBAA5BrpD,EAAWr4B,cACkB,kBAA5Bq4B,EAAWr4B,cACiB,kBAA5Bq4B,EAAWr4B,cACiB,kBAA5Bq4B,EAAWr4B,cACiB,qBAA5Bq4B,EAAWr4B,cACiB,mBAA5Bq4B,EAAWr4B,cACiB,wBAA5Bq4B,EAAWr4B,cACiB,mBAA5Bq4B,EAAWr4B,cACiB,qBAA5Bq4B,EAAWr4B,cACiB,gBAA5Bq4B,EAAWr4B,cACiB,iBAA5Bq4B,EAAWr4B,aAEV,qBAAKuI,MAAM,8BAAX,SACK64E,IAGL,sBAAK74E,MAAM,YAAX,UACI,cAAC,GAAD,CAAmBxI,KAAMA,EAAMC,aAAcq4B,EAAWr4B,aAAcslB,aAAc5d,EAAM4d,eACzF87D,S,SChLNO,OAnPf,SAAqBj6E,GACjB,IAAMk6E,EAAkBl6E,EAAM/L,KAC1BkmF,EAAY,OACmB,IAA/BD,EAAgBE,aAChBD,EAAY,YACmB,IAA/BD,EAAgBE,aAChBD,EAAY,eACmB,IAA/BD,EAAgBE,aAChBD,EAAY,cAEhB,IAAIE,EAAalrF,4BACbmrF,EAAaJ,EAAgBK,IAAM,mCAAkCL,EAAgBM,IACzD,IAA5BN,EAAgBO,UAChBJ,EAAalrF,2BACbmrF,EAAaJ,EAAgBM,IAAM,mCAAkCN,EAAgBK,KAEzD,IAA5BL,EAAgBO,UAChBJ,EAAalrF,4BACbmrF,EAAa,uBAGjB,IAUMI,EAAmB,SAACt5E,GACtB,IAAInN,EAAOmN,EAAE4D,OACT21E,EAASrmF,EAA2BL,EAAK,qBACzC2mF,EAAYtmF,EAA2BL,EAAK,iBAC5C0mF,GACAA,EAAOtoF,UAAUqD,OAAO,UACxBklF,GACAA,EAAUvoF,UAAUqD,OAAO,WAI7Bq+B,EADQ18B,OAAO28B,WACG,IAElB6mD,EAAU9mD,EAAY,CAAC,MAAM,MAAM,OAAS,CAAC,MAAM,MAAM,OAEzD+mD,EACF,qBAAKx2E,UAAW61E,EAAhB,SACI,qBAAK15E,MAAM,OAAOC,OAAO,OAAO2e,QAAQ,YAAYvC,QAAQ,MAAM+J,MAAM,6BAA6B6lD,WAAW,+BAAhH,SACI,mBAAGrxE,GAAG,eAAekkB,OAAO,OAAO,eAAa,IAAIC,KAAK,OAAO,YAAU,UAA1E,SACI,mBAAGnkB,GAAG,+DAAyDqkB,UAAU,sCAAsCF,KAAK,UAAUD,OAAO,UAAU,eAAa,IAA5J,SACI,mBAAGlkB,GAAG,UAAUqkB,UAAU,oCAA1B,SACI,wBAAQrkB,GAAG,cAAcyF,MAAO,CAACi6E,aAAc,YAAa5kD,GAAG,KAAKC,GAAG,KAAKC,EAAE,iBAQtG,OACI,sBAAKx1B,MAAM,oBAAX,UACI,sBAAKA,MAAM,iBAAX,UACI,sBAAKA,MAAM,iBAAX,UACI,sBAAKA,MAAM,gBAAgBC,MAAO,CAACL,MAAOo6E,EAAO,IAAjD,UAEU9mD,EAGE,6BAFA+mD,EAIR,sBAAKj6E,MAAM,OAAX,UACI,oBAAIA,MAAM,qCAAV,SAAiDq5E,EAAgBc,UACjE,mBAAGn6E,MAAM,+BAAgCC,MAAO,CAAC4D,aAAc,QAA/D,SAAyEw1E,EAAgBe,gBAEpFf,EAAgBgB,SAAWhB,EAAgBiB,MACxC,qBAAKt6E,MAAM,OAAOC,MAAO,CAACmtB,WAAW,QAArC,SACI,oBAAIptB,MAAM,qCAAV,SAAiDq5E,EAAgBK,QAGrE,8BAIhB,sBAAK15E,MAAM,kBAAkBC,MAAO,CAAEL,MAAOo6E,EAAO,IAApD,UAES9mD,EACG+mD,EAEA,6BAER,qBAAKj6E,MAAM,kBAAX,SACI,qBAAKU,IAAK84E,EAAYtzE,IAAKszE,MAE/B,qBAAKx5E,MAAM,OAAX,SACI,mBAAGA,MAAM,gCAAgCC,MAAO,CAAC6E,WAAW,MAAO8xB,YAAa,OAAhF,SAAyFyiD,EAAgBkB,mBAGjH,qBAAKv6E,MAAM,iBAAiBC,MAAO,CAACL,MAAOo6E,EAAO,IAAlD,SACI,sBAAKh6E,MAAM,OAAX,UACI,oBAAIA,MAAM,qCAAV,SAAiDq5E,EAAgBmB,UACjE,mBAAGx6E,MAAM,+BAAgCC,MAAO,CAAC4D,aAAc,QAA/D,SAAyEw1E,EAAgBoB,gBAEpFpB,EAAgBqB,SAAWrB,EAAgBsB,MACxC,qBAAK36E,MAAM,OAAOC,MAAO,CAACmtB,WAAW,QAArC,SACI,oBAAIptB,MAAM,qCAAV,SAAiDq5E,EAAgBM,QAGrE,gCAKjBN,EAAgBE,YAAY,EAC/B,qBAAKv5E,MAAM,oBAAX,SACI,uBAAMA,MAAM,2EAA2EM,QAAS,SAAAC,GAAC,OA9F3F,SAACA,GACnB,IAAInN,EAAOmN,EAAE4D,OACT21E,EAASrmF,EAA2BL,EAAK,YACzC2mF,EAAYtmF,EAA2BL,EAAK,eAC5C0mF,GACAA,EAAOtoF,UAAUqD,OAAO,UACxBklF,GACAA,EAAUvoF,UAAUqD,OAAO,UAuFkF+lF,CAAcr6E,IAAnH,qBACI,qBAAKG,IAAI,gCAIjB,2BAGD24E,EAAgBE,YAAY,EAC3B,qBAAKv5E,MAAM,qBAAX,SACI,qBAAKA,MAAM,2DAAX,SACI,sBAAKA,MAAM,qBAAX,UACI,sBAAKA,MAAM,wBAAX,UACI,qBAAKA,MAAM,SAAX,SACI,0DAEJ,qBAAKA,MAAM,SAAX,SACI,4BAAIq5E,EAAgBwB,qBAG5B,sBAAK76E,MAAM,wBAAX,UACI,qBAAKA,MAAM,SAAX,SACI,gEAEJ,qBAAKA,MAAM,SAAX,SACI,4BAAIy5E,SAGZ,sBAAKz5E,MAAM,wBAAX,UACI,qBAAKA,MAAM,SAAX,SACI,qDAEJ,qBAAKA,MAAM,SAAX,SACI,4BAAIq5E,EAAgByB,kBAG5B,sBAAK96E,MAAM,wBAAX,UACI,qBAAKA,MAAM,SAAX,SACI,mDAEJ,qBAAKA,MAAM,SAAX,SACI,4BAAIq5E,EAAgB0B,eAGzB1B,EAAgBzuC,OACnB,sBAAK5qC,MAAM,wBAAX,UACI,qBAAKA,MAAM,SAAX,SACI,kDAEJ,sBAAKA,MAAM,SAAX,UACI,uBAAMA,MAAM,2EAA4EM,QAAS,SAAAC,GAAC,OAAIs5E,EAAiBt5E,IAAvH,mCAEI,qBAAKG,IAAI,8BAEb,sBAAKV,MAAM,UAAX,UACI,oBAAIA,MAAM,yCAAV,SAAqDq5E,EAAgB9zD,SACrE,sBAAKvlB,MAAM,OAAX,UACMq5E,EAAgBzuC,OAAO3C,OACzB,gCACA,wCACA,mBAAGhoC,MAAO,CAACkqB,WAAY,YAAvB,SACKkvD,EAAgBzuC,OAAO3C,YAI5B,wBAEEoxC,EAAgBzuC,OAAOowC,YACzB,gCACA,6CACA,mBAAG/6E,MAAO,CAACkqB,WAAY,YAAvB,SACKkvD,EAAgBzuC,OAAOowC,iBAI5B,wBAEE3B,EAAgBzuC,OAAOqwC,UACzB,gCACA,2CACA,mBAAGh7E,MAAO,CAACkqB,WAAY,YAAvB,SACKkvD,EAAgBzuC,OAAOqwC,eAI5B,wBAEE5B,EAAgBzuC,OAAOswC,WACzB,gCACA,4CACA,mBAAGj7E,MAAO,CAACkqB,WAAY,YAAvB,SACKkvD,EAAgBzuC,OAAOswC,gBAI5B,wBAEE7B,EAAgBzuC,OAAOuwC,YACzB,gCACA,6CACA,mBAAGl7E,MAAO,CAACkqB,WAAY,YAAvB,SACKkvD,EAAgBzuC,OAAOuwC,iBAI5B,2BAGJ,qBAAKn7E,MAAM,oBAAX,SACI,uBAAMA,MAAM,uEAAwEM,QAAS,SAAAC,GAAC,OAAIs5E,EAAiBt5E,IAAnH,mCAEI,qBAAKG,IAAI,yCAM7B,+BAMZ,4BC7MD06E,OAlCf,SAAqBj8E,GACjB,IAAMpE,EAASoE,EAAMpE,OACfsgF,EAAgBtgF,EAAOjE,SAAS4C,KAAI,SAAA4hF,GAAM,OAAI,cAAC,GAAD,CAAcld,IAAKkd,OACjEC,EAAU,UAAYxgF,EAAOC,QAcnC,OACI,uBAAMgF,MAAM,SAAU2D,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAzC,UACI,uBAAOG,KAAK,SAASvQ,KAAK,GAAGwQ,YAAY,gBAAWm0B,KAAK,mBAAmB39B,GAAI+gF,EACxEt3E,SAAU,SAAA1D,GAAC,OAPH,SAACA,GACrBpB,EAAMq8E,YAAYzgF,EAAOC,QAASuF,EAAE4D,OAAO/N,OAMhBqlF,CAAkBl7E,IACjCurB,UAAW,SAAAvrB,GAAC,OAhBT,SAACA,GACD,MAAXA,EAAEm7E,QACFn7E,EAAEqD,iBACFrD,EAAE6rB,kBACF7rB,EAAE4D,OAAOw3E,QAYeC,CAAWr7E,MAE9BxF,EAAOjE,UAAYiE,EAAOjE,SAAStH,OAAO,EACvC,0BAAUgL,GAAG,mBAAb,SACK6gF,IAGL,8BAAK,4BCEVQ,OA7Bf,SAAuB18E,GACnB,IAAMpE,EAASoE,EAAMpE,OAEfwgF,GADgBxgF,EAAOjE,SAAS4C,KAAI,SAAA4hF,GAAM,OAAI,cAAC,GAAD,CAAcld,IAAKkd,OACvD,UAAYvgF,EAAOC,SAenC,OACI,sBAAMgF,MAAM,8CAA8CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAA/F,SACI,cAAC,GAAD,CAAkBlV,MAASqM,EAAOjE,SAC1B6yB,OAAQ4xD,EACR/xD,cAAezuB,EAAO3E,MACtB80B,UAVQ,SAACv4B,GACrBwM,EAAMq8E,YAAYzgF,EAAOC,QAASrI,IAUtB4M,MAAM,YCHXu8E,OAxBf,SAAoB38E,GAChB,IAAMpE,EAASoE,EAAMpE,OACfwgF,EAAU,UAAYxgF,EAAOC,QAcnC,OACI,sBAAMgF,MAAM,SAAU2D,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAAzC,SACI,uBAAOG,KAAK,SAASvQ,KAAK,GAAGwQ,YAAY,gBAAWxJ,GAAI+gF,EAChDt3E,SAAU,SAAA1D,GAAC,OAPH,SAACA,GACrBpB,EAAMq8E,YAAYzgF,EAAOC,QAASuF,EAAE4D,OAAO/N,OAMhBqlF,CAAkBl7E,IACjCurB,UAAW,SAAAvrB,GAAC,OAhBT,SAACA,GACD,MAAXA,EAAEm7E,QACFn7E,EAAEqD,iBACFrD,EAAE6rB,kBACF7rB,EAAE4D,OAAOw3E,QAYeC,CAAWr7E,SC0BhCw7E,OA5Cf,SAAwB58E,GACpB,IAAI68E,EAAgB78E,EAAMnE,QACtBmE,EAAM5E,aACNyhF,GAAgC,eAEpC,IAAIC,EAA4B,IAAd98E,EAAMkuD,MAAY,SAAW,uBAC3CluD,EAAMzE,cACNuhF,GAAc,gBAClB,IAAMC,EAAa/8E,EAAMnE,QAAU,MAAQmE,EAAMjE,QAAUiE,EAAMjE,QAAUiE,EAAM/I,OAC3E+lF,EAAgBh9E,EAAM/I,MACtB2d,EAAQ5U,EAAM4U,MAEdqoE,EAAqB,SAAC77E,GACxB,IAAIjG,EAAUiG,EAAE4D,OAAOvJ,QACvBuE,EAAMm/D,YAAYn/D,EAAMnE,QAAUmE,EAAMjE,QAAUiE,EAAMjE,QAAUiE,EAAM/I,MAAQkE,IAIpF,OACI,wBAAO0F,MAAOi8E,EAAd,UACK98E,EAAMlE,OACH,uBAAO8I,KAAK,WACRvQ,KAAM0oF,EACN1hF,GAAI0hF,EACJ9lF,MAAO+lF,EACP14E,UAAWu4E,EACX/3E,SAAU,SAAA1D,GAAC,OAAI67E,EAAqB77E,IACpC3F,SAAS,IAGb,uBAAOmJ,KAAK,WACRvQ,KAAM0oF,EACN1hF,GAAI0hF,EACJ9lF,MAAO+lF,EACP14E,UAAWu4E,EACX/3E,SAAU,SAAA1D,GAAC,OAAI67E,EAAqB77E,MAG5C,4BAAIwT,QCXDsoE,OA1Bf,SAA6Bl9E,GACzB,IAAMpE,EAASoE,EAAMpE,OACfN,EAAQM,EAAO5B,QACfuB,IAAeD,EAAM7L,MAAK,SAAAwE,GAAI,OAAIA,EAAK6H,UACvCqhF,EAAgB7hF,EAAMf,KAAI,SAAAtG,GAAI,OAAI,cAAC,GAAD,CAAiBkrE,YAAcn/D,EAAMm/D,YACrBvqD,MAAS3gB,EAAK2gB,MACd3d,MAAShD,EAAKgD,MACd8E,QAAW9H,EAAK8H,QAChBmyD,MAASj6D,EAAKi6D,MACd9yD,WAAcQ,EAAOR,WACrBU,OAAU7H,EAAK6H,OACfD,QAAWD,EAAOC,QAClBN,YAAeA,OAIvE,OACI,sBAAMsF,MAAM,eAAZ,SACI,qBAAKA,MAAM,UAAX,SACKs8E,OCkCFC,OAlDf,SAAwBp9E,GACpB,IACIC,EADErE,EAASoE,EAAMpE,OAGfyhF,EAAiBzhF,EAAOklD,QAAU,sDAAwD,+CAgChG,OApBK7gD,EADc,SAAfrE,EAAOvD,KAEH,cAAC,GAAD,CAAauD,OAAUA,EAAQygF,YAAar8E,EAAMq8E,cAGlC,SAAfzgF,EAAOvD,KAER,cAAC,GAAD,CAAYuD,OAAUA,EAAQygF,YAAar8E,EAAMq8E,cAGjC,YAAfzgF,EAAOvD,KAER,cAAC,GAAD,CAAeuD,OAAUA,EAAQygF,YAAar8E,EAAMq8E,cAKpD,cAAC,GAAD,CAAqBzgF,OAAQA,EAAQujE,YAAcn/D,EAAMm/D,cAK7D,sBAAKt+D,MAAOw8E,EAAZ,UACI,qBAAKx8E,MAAM,oBAAoBM,QAAS,SAAAC,GAAC,OAhCf,SAACA,GAE/B,IADA,IAAInN,EAAOmN,EAAE4D,OACN/Q,IAAS/B,EAAiB+B,EAAK,sBAClCA,EAAOA,EAAKO,cACZP,GACAA,EAAKO,cAAcnC,UAAUqD,OAAO,UA2BS4nF,CAA0Bl8E,IAAvE,SACI,qBAAKP,MAAM,OAAX,SACI,oBAAIA,MAAM,qCAAV,SAAgDjF,EAAOgvC,aAG/D,qBAAK/pC,MAAM,qBAAX,SACKZ,QCAFs9E,OA/Cf,SAA8Bv9E,GAC1B,IAAMrE,EAAUqE,EAAMrE,QAChB6hF,EAAe7hF,EACb,8BACKA,EAAQpB,KAAI,SAAAqB,GAAM,OAAK,cAAC,GAAD,CAAgBA,OAAQA,EAChBujE,YAAcn/D,EAAMm/D,mBAKxD,wBAOFgS,EAAuBnxE,EAAMy9E,cAAiBz9E,EAAMy9E,cAAcljF,KAAI,SAAAC,GAAE,MAAK,CAAChB,OAAQgB,EAAGmzB,OAAQn6B,MAAOgH,EAAGozB,UAAW,GAE5H,OACI,uBAAM/sB,MAAM,+BAA+BxF,GAAG,cAA9C,UACI,qBAAKwF,MAAM,4BAAX,SACI,qBAAKA,MAAM,2CAAX,SACI,sBAAKA,MAAM,yBAAX,UACI,oBAAIA,MAAM,2BAAV,yCACA,cAAC,GAAD,CACQtR,MAAS4hF,EACT3mD,OAAO,eACPswC,eAAgB96D,EAAMk0D,cACtBpmC,SAAU9tB,EAAM8tB,SAChBmpC,SAAUj3D,EAAMi3D,SAChB72D,MAAM,OACNo0D,kBAAmB,EACnBmK,YAAY,EACZH,OAAS,EACTE,UAAY,WAKhC,qBAAK79D,MAAM,QAAX,SACI,oBAAIA,MAAM,oBAAV,uBAEC28E,MCdFE,OAhCf,SAA2B19E,GAEvB,IAAM29E,EAAY39E,EAAMs7D,cAAc/gE,KAAI,SAAAtG,GAAI,OAC1C,uBAAMqQ,UAAU,MAAhB,UACKrQ,EAAK25B,MACN,qBAAK/sB,MAAM,QAAQU,IAAI,sBAAsBwF,IAAI,WAAW5F,QAAS,SAAAC,GAAC,OAAIpB,EAAMi3D,SAAShjE,EAAK05B,iBAGhG/Y,EAAS5U,EAAM49E,WAAa,EAAI59E,EAAM49E,WAAWxsF,WAAa,6BAA+B,GAEnG,OACI,gCACI,sBAAKyP,MAAM,yBAAX,UACI,qBAAKA,MAAM,yBAAyBxF,GAAG,SAAvC,SACKsiF,IAEL,qBAAK98E,MAAM,sBAAX,SACI,sBAAMA,MAAM,4DAA4D,YAAU,eAAewd,MAAM,qBAAkBld,QAASnB,EAAM69E,UAAxI,qCAKK,KAAXjpE,EACM,qBAAK/T,MAAM,cAAcC,MAAO,CAACmtB,WAAW,OAAQ7oB,cAAe,QAAnE,SACI,mBAAGvE,MAAM,sCAAT,SAAiD+T,MAGzD,4BC4NDkpE,GA9OQ,SAAC99E,GA2BpB,IA1BA,MAA0CyB,mBAAS,MAAnD,mBAAOg8E,EAAP,KAAsBM,EAAtB,KACA,EAA4Bt8E,mBAAUzB,EAAM2wB,WAAWna,OAAUxW,EAAM2wB,WAAWna,OAAS,IAA3F,mBAAOA,EAAP,KAAewnE,EAAf,KACA,EAA8Cv8E,mBAAS,MAAvD,mBAAOw8E,EAAP,KAAwBC,EAAxB,KACA,EAA0Cz8E,mBAAS,MAAnD,mBAAOg0E,EAAP,KAAsBC,EAAtB,KACA,EAAoDj0E,mBAAS,CACzD9F,QAAUqE,EAAM2wB,WAAWwtD,eAAkBn+E,EAAM2wB,WAAWwtD,eAAiB,GAC/ExI,WAAa31E,EAAM2wB,WAAWglD,WAAc31E,EAAM2wB,WAAWglD,WAAY,KAF7E,mBAAOyI,EAAP,KAA2BC,EAA3B,KAIA,EAA0C58E,mBAAS,MAAnD,mBAAO65D,EAAP,KAAsBgjB,EAAtB,KAgBMC,EAAatoB,GAEVjmE,EAAE,EAAGA,EAAEuuF,EAAWluF,OAAQL,IAAI,CACnC,IAAI6L,EAAU0iF,EAAWvuF,GAAG6L,QAC5B,GAAI0iF,EAAWvuF,GAAGgK,SAAWukF,EAAWvuF,GAAGgK,QAAQ3J,OAAO,EACtD,IAAK,IAAIS,EAAE,EAAGA,EAAEytF,EAAWvuF,GAAGgK,QAAQ3J,OAAQS,IAAI,CAC9C,IAAI0C,EAAQ+qF,EAAWvuF,GAAGgK,QAAQlJ,GAAGmG,MACrCsnF,EAAWvuF,GAAGgK,QAAQlJ,GAAGgL,UACrBsiF,EAAmBziF,SAAWyiF,EAAmBziF,QAAQtL,OAAO,MAC3D+tF,EAAmBziF,QAAQlM,MAAK,SAAAyB,GAAC,OAAIA,EAAE05C,SAAW/uC,GAAWrK,SAASN,EAAEsC,SAAWhC,SAASgC,OAQjHqQ,qBAAU,WACN,GAAsB,OAAlB45E,EACA9zD,SACE,GAAInT,GAAUA,EAAOnmB,OAAO,IAAM4tF,GAjCd,WAG1B,IAFA,IAAIO,EAAsB,GAEjBxuF,EAAI,EAAGA,EAAEwmB,EAAOnmB,OAAQL,IAAI,CACjC,IAAIqL,EAAKmb,EAAOxmB,GACZiE,EAAOwpF,EAAchuF,MAAK,SAAAyB,GAAC,OAAEM,SAASN,EAAEy8B,UAAUn8B,SAAS6J,MAC3DpH,GACAuqF,EAAoB5uF,KAAKqE,GAEjCqqF,EAAiBE,GAyBbC,GACAC,SACE,GAAKloE,GAA0B,IAAhBA,EAAOnmB,QAAgB4tF,GAGtC,GAAGA,IAAqBxI,EAAkB,CAExC2I,EAAmBziF,SAAWyiF,EAAmBziF,QAAQtL,OAAO,EAChEsuF,EAA2BV,EAAgBG,EAAmBziF,SAI9D+5E,EADqBuI,SARzBK,EAAiB,IACjBJ,EAAmB,IAavB,GAAK1nE,GAAWA,EAAOnmB,OAAO,EAAE,CAC5B,IAAIuuF,EAAUzvF,6BAAyCqnB,EAAOplB,WAC1DgtF,EAAmBziF,SAAWyiF,EAAmBziF,QAAQtL,OAAO,IAChEuuF,GAAW,IAAMljF,GAAcu6D,KAEnC5+D,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,MAG1C,CAACnB,EAAejnE,EAAQynE,EAAiBxI,EAAe2I,IAE1D,IAAMz0D,EAAgB,WAClBrM,GAAc/G,0BAA0BC,GACvC5Y,MAAK,SAACC,GACH,IAAIkhF,EAAqBlhF,EAASC,KAAK0tE,aACvCuT,EAAmBttF,OAAO,EAAE,EAAE,CAACk8B,OAAO,EAAGC,MAAM,8BAC/CmwD,EAAiBgB,MAEpBt7E,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAI7B86E,EAAqB,WACvBphE,GAAc5G,mBAAmBF,GAChC5Y,MAAK,SAACC,GACH,IAAImhF,EAAuBnhF,EAASC,KACpCogF,EAAmBc,MAEtBv7E,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aAkBnC,SAASq7E,EAAa1vF,EAAO2vF,EAAaC,GAEtC,GAAI5vF,GACI2vF,EAAYllF,QAAQ,CAEpB,IADA,IAAIk6D,EAAgB,GACXlkE,EAAE,EAAGA,EAAEkvF,EAAYllF,QAAQ3J,OAAQL,IAAI,CAE5C,GADUmvF,EAAU1vF,MAAK,SAAA6mC,GAAC,OAAIA,EAAEsU,SAAWs0C,EAAYrjF,SAAWrK,SAAS8kC,EAAE9iC,SAAWhC,SAAS0tF,EAAYllF,QAAQhK,GAAGiH,YAEpHi9D,EAActkE,KAAKsvF,EAAYllF,QAAQhK,GAAGiH,OACtCioF,EAAYllF,QAAQhK,GAAGomE,cACvB,IAAK,IAAItlE,EAAE,EAAGA,EAAEouF,EAAYllF,QAAQhK,GAAGomE,aAAa/lE,OAAQS,IAExDojE,EAActkE,KAAKsvF,EAAYllF,QAAQhK,GAAGomE,aAAatlE,IAInEojE,EAAc7jE,OAAO,IACrBd,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIigE,EAAcj5C,SAAShnB,EAAKirF,EAAYhpB,iBAIjF,OAAO3mE,EAGX,IAUM6vF,EAAoB,SAAC5rF,GACvB,IAAM6rF,EAAevwF,KAAKC,MAAMD,KAAKmP,UAAUuY,IAC1C6oE,GAAgB,6BACrB,IAAIrvF,EAAIqvF,EAAa7iF,QAAQhL,SAASgC,IACtC6rF,EAAa5tF,OAAOzB,EAAE,GACtBguF,EAAUqB,GACVnB,EAAmB,MACnBxI,EAAiB,OAWfiJ,EAA6B,SAACpJ,EAAc55E,GAC9C,IAAIpM,EAAQgmF,EACZ,GAAItf,GAEA,IAAK,IAAIjmE,EAAE,EAAGA,EAAEimE,GAAqB5lE,OAAQL,IAEzCT,EAAQ0vF,EAAa1vF,EAAM0mE,GAAqBjmE,GAAI2L,GAG5D+5E,EAAiBnmF,IASjBsmF,IAAeJ,GAAiB2I,EAAmBzI,WAAWF,EAAcplF,OAE1EivF,EACD7J,EACDA,EAAcplF,OAAO,EACrBolF,EAAczkF,MAAM,EAAEotF,EAAmBzI,YAAYp7E,KAAI,SAAAglF,GAAK,OAAI,cAAC,GAAD,CAAatrF,KAAMsrF,OACrF,qBAAKz+E,MAAO,CAACmtB,WAAW,OAAQ3sB,UAAU,UAA1C,kEACA,wBAEJ,OAAuB,OAAlBm8E,GAAgD,OAApBQ,GAAgD,OAAlBxI,EACrC,OAAlBgI,EAEI,cAAC,GAAD,CAAct9E,OAAO,aAAayU,MAAM,wBAAwB4T,cAAc,IAI9E,cAAC,GAAD,IAIA,sBAAK3nB,MAAM,YAAX,UACI,cAAC,GAAD,CAAsB48E,cAAiBA,EACnCvpB,cAAiB19C,EACjBsX,SArEG,SAAC6sC,GACpB,IAAM0kB,EAAevwF,KAAKC,MAAMD,KAAKmP,UAAUuY,IAC1C6oE,GAAgB,6BAChBA,EAAapkE,SAAS0/C,IACvB0kB,EAAazvF,KAAK+qE,GACtBqjB,EAAUqB,GACVnB,EAAmB,MACnBxI,EAAiB,OA+DDze,SAAYmoB,EACZzjF,QAAW4iF,EACXpf,YA9GM,SAACqC,EAAUzlE,EAASZ,GAC1C,IAAIqkF,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmgF,IACpCnqF,EAAOurF,EAAQ7jF,QAAQo4D,WAAU,SAAA7iE,GAAC,OAAIA,EAAE05C,SAAW42B,GAAYhwE,SAASN,EAAEsC,SAAWhC,SAASuK,MAC9F9H,EAAK,GAAKkH,GACVqkF,EAAQ7jF,QAAQ/L,KAAK,CAACg7C,OAAQ42B,EAAUhuE,MAAMuI,IAE9C9H,GAAM,IAAMkH,GACZqkF,EAAQ7jF,QAAQlK,OAAOwC,EAAK,GAEhCoqF,EAAsBmB,GAEtBb,EAA2BV,EAAgBuB,EAAQ7jF,YAqGvC,qBAAKkF,MAAM,0BAAX,SACI,sBAAKA,MAAM,mDAAX,UACI,uBAAMA,MAAM,6CAAZ,UACI,cAAC,GAAD,CAAmBy6D,cAAeA,EAAerE,SAAUmoB,EAAmBvB,UAzDhF,WAEtBG,EADqB,IAErBM,EAAiB,IACjBJ,EAAmB,MACnBxI,EAAiB,OAoDmH+J,OAAQxB,EAAgB5tF,OAAQutF,WAAYnI,EAAcplF,SACrKivF,KAEH7J,GAAiBA,EAAcplF,OAAO,EACpC,sBAAKwQ,MAAM,UAAX,UACI,oBAAGA,MAAM,OAAT,UACI,sBAAMA,MAAM,sBAAZ,SAAoCnP,KAAKwjD,IAAIkpC,EAAmBzI,WAAWF,EAAcplF,UAD7F,qBAC8H,sBAAMwQ,MAAM,uBAAZ,SAAqC40E,EAAcplF,YAEjL,qBAAKwQ,MAAM,yBAAX,SACKg1E,EACG,uBAAMh1E,MAAM,SAASwd,MAAM,aAAWld,QAAS,kBA/CrE,WACd,IAAIq+E,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmgF,IACxCoB,EAAQ7J,YAAc,GACtB0I,EAAsBmB,GA4CmEE,IAAc5+E,MAAO,CAACsD,OAAO,WAAlF,wBACY,qBAAK7C,IAAKpS,4BAAuC4X,IAAI,wBAGjE,6BAKZ,iC,MCiQjB44E,OA3ef,SAA8B3/E,GAC1B,IAAM/L,EAAO+L,EAAM/L,KACb2rF,EAAe,IAAIC,MAAO,MAAM,MAAM,OAAO,KAAK,KAAK,MAAM,OAC7DC,EAAc,IAAID,MAAO,MAAM,MAAM,QACrCE,EAAe,IAAIF,MAAO,MAAM,OAChCG,EAAa,IAAIH,MAAM,OAAO,QAC9BI,EAAY,IAAIJ,MAAM,MAAO,MAAO,MAAM,MAAM,MAChDK,EAAY,IAAIL,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAC9EM,EAAiB,IAAIN,MAAM,MAAM,MAAM,MAAM,OAC7CO,EAA6C,MAA9BnsF,EAAKosF,qBACE,0CAE+B,MAA9BpsF,EAAKosF,qBACF,0CAE+B,MAA9BpsF,EAAKosF,sBAA8D,MAA9BpsF,EAAKosF,qBACvC,uCAEA,+BAiB9BC,EAAmB,YAb0B,MAA9BrsF,EAAKosF,qBACF,cAE+B,MAA9BpsF,EAAKosF,qBACF,eAE+B,MAA9BpsF,EAAKosF,sBAA8D,MAA9BpsF,EAAKosF,qBACvC,WAEA,cAM1B38C,EAAiBu8C,EAAUhlE,SAAShnB,EAAKgtB,iBACnB,oBAEC++D,EAAW/kE,SAAShnB,EAAKgtB,iBACtB,iBAEA,YAG1Bs/D,EAAmBX,EAAa3kE,SAAShnB,EAAKgtB,iBACxB9xB,kBAEC2wF,EAAY7kE,SAAShnB,EAAKgtB,iBACvB9xB,iBAEC4wF,EAAa9kE,SAAShnB,EAAKgtB,iBACxB9xB,wBACqB,SAAvB8E,EAAKgtB,gBACH9xB,qBAEAA,kBAI9BqxF,EAAiD,MAA1BvsF,EAAKmmC,mBACF,CACI47B,IAAM7mE,sBACN2hE,QAAU,0CACVl8C,MAAQ,gCAEc,MAA1B3gB,EAAKmmC,mBACL,CACI47B,IAAM7mE,kBACN2hE,QAAU,gHACVl8C,MAAQ,gCAGZ,KAG1B6rE,EAAY,SAACjmF,GACfwF,EAAM4d,aAAa,CACfC,UAAW,QAAQrjB,EAAGymB,gBACtBC,MAAO1mB,EAAG2mB,GACVxlB,QAASqE,EAAMrE,QACfg6E,WAAY31E,EAAM21E,WAClBhuE,SAAU3H,EAAM2H,YAKlB+4E,EADY1gF,EAAM2gF,WACkB1sF,EAAK2sF,WAAa3sF,EAAK2sF,UAAUvwF,OAAO,EAC9E4D,EAAK2sF,UAAUrmF,KAAI,SAAAsmF,GAAI,OACnB,qBAAKhgF,MAAM,OAAX,SACI,oBAAGA,MAAM,2BAAT,UACI,qBAAKJ,MAAM,KAAKc,IAAKw0D,GAAiBtmE,MAAK,SAAAqC,GAAG,OAAIA,EAAI8H,MAAQinF,KAAM7qB,IAAKjvD,IAAKgvD,GAAiBtmE,MAAK,SAAAqC,GAAG,OAAIA,EAAI8H,MAAQinF,KAAM97E,MAC5HgxD,GAAiBtmE,MAAK,SAAAqC,GAAG,OAAIA,EAAI8H,MAAQinF,KAAM97E,YAI5D,yBAEE+7E,EAAgB9gF,EAAM8gF,cACtBC,EAAeD,GAAiB7sF,EAAK45E,QAAyB,IAAf55E,EAAK45E,OACtD,qBAAKhtE,MAAM,OAAX,SACI,mBAAGA,MAAM,2BAAT,SACK5M,EAAK45E,WAId,yBAGAmT,EAAc/sF,EAAKgtF,QACL,UAAdD,EACAA,EAAc,GACK,UAAdA,IACLA,EAAc,2BAElB,IAAME,EAAgBJ,GAAiB7sF,EAAKgtF,SAA2B,IAAhBhtF,EAAKgtF,QACxD,qBAAKpgF,MAAM,OAAX,SACI,mBAAGA,MAAM,2BAAT,SACKmgF,MAIT,yBAIEG,EADqBnhF,EAAMohF,oBACentF,EAAKotF,UAAoC,IAAxBptF,EAAKotF,SAAShxF,OAC3E,qBAAKwQ,MAAM,OAAX,SACK5M,EAAKotF,SAAS9mF,KAAI,SAAArJ,GAAC,OAChB,mBAAG2P,MAAM,2BAAT,SACK3P,SAKb,yBAGEowF,EAAkBthF,EAAMshF,gBACxBC,EAAiBD,GAAmBrtF,EAAKutF,UAAY,IAAI9uF,KAAKuB,EAAKutF,UAAU9vE,UAAY,EAC3F,qBAAK7Q,MAAM,OAAX,SACI,oBAAGA,MAAM,2BAAT,iEACmDnN,EAAqBO,EAAKutF,eAIjF,yBAGEC,EAAkBH,GAAmBrtF,EAAKytF,WAAa,IAAIhvF,KAAKuB,EAAKytF,WAAWhwE,UAAW,EAC7F,qBAAK7Q,MAAM,OAAX,SACI,oBAAGA,MAAM,2BAAT,yCAC8BnN,EAAqBO,EAAKytF,gBAI5D,yBAIEC,EADmB3hF,EAAM4hF,kBACa3tF,EAAKslC,WAAa,IAAI7mC,KAAKuB,EAAKslC,WAAW7nB,UAAY,EAC/F,qBAAK7Q,MAAM,OAAX,SACI,oBAAGA,MAAM,2BAAT,4BACoBnN,EAAqBO,EAAKslC,gBAIlD,yBAIEsoD,EADsB7hF,EAAM8hF,qBACgB7tF,EAAKutF,UAAY,IAAI9uF,KAAKuB,EAAKutF,UAAU9vE,UAAY,EACnG,qBAAK7Q,MAAM,OAAX,SACI,oBAAGA,MAAM,2BAAT,qCAC6BnN,EAAqBO,EAAKutF,eAI3D,yBAMEO,EADiB/hF,EAAMgiF,gBACe/tF,EAAK8sB,aAAe,IAAIruB,KAAKuB,EAAK8sB,aAAarP,UAAY,EACnG,qBAAK7Q,MAAM,OAAX,SACI,oBAAGA,MAAM,2BAAT,2BACmBlN,EAAyBM,EAAK8sB,kBAIrD,yBAUEkhE,EADqBjiF,EAAMkiF,mBAE7B,qBAAKrhF,MAAM,OAAX,SACI,oBAAGA,MAAM,2BAA2BC,MAAO,CAACsD,OAAQ,WAAYoa,YAAa,SAACpd,GAAD,OAAOy7B,EAAcz7B,IAAIinB,WAAY,SAACjnB,GAAD,OAAO27B,EAAa37B,IAAID,QAAS,SAACC,GAAD,OATtI/I,EASyJpE,EAAKgtB,gBATzJ5lB,EAS0KpH,EAAKktB,GARrMoX,GAAgBzc,uBAAuBzjB,EAAKgD,QAC5C2E,EAAMi3D,SAAS5+D,EAAKgD,GAFJ,IAAChD,EAAKgD,GASlB,UACI,qBAAKkG,IAAKpS,sBAAkC2R,MAAO,CAACL,MAAM,UAD9D,6BAKJ,yBAGE0hF,EAAqBniF,EAAMmiF,mBAC3BC,EAAsBpiF,EAAMqiF,UAAYriF,EAAMqiF,SAAS,GAAKpuF,EAAKquF,OAAOtiF,EAAMqiF,SAC9EE,EAAwBviF,EAAMwiF,YAAcxiF,EAAMwiF,WAAW,GAAKvuF,EAAKquF,OAAOtiF,EAAMwiF,WACpFC,EAAyBN,GAAwBC,EACnD,qBAAKvhF,MAAM,OAAX,SACI,mBAAGA,MAAM,wBAAT,sCAKJ,yBAGE6hF,EAA2BP,GAAwBI,EACrD,qBAAK1hF,MAAM,OAAX,SACI,mBAAGA,MAAM,wBAAT,4CAKJ,yBAIEkzB,EADQ18B,OAAO28B,WACG,IAEpB25B,EAAgB3tD,EAAM2iF,WACtBC,EAAS3uF,EAAK0oC,OACd1oC,EAAK4uF,mBAI8Bl1B,EAAN,OAAzB15D,EAAKgtB,gBAA0C,SAC7BkhE,GAAoC,OAAdluF,EAAK45E,OAAgB,wBAAsB7tE,EAAM2iF,WAC7FC,EAAUT,GAAoC,OAAdluF,EAAK45E,OAAgB55E,EAAK6uF,aAAe7uF,EAAK0oC,OAC1E38B,EAAM+iF,aAAe9uF,EAAKquF,OAAO,GAAoB,QAAfruF,EAAKgtF,SAA0C,QAAvBhtF,EAAKgtB,iBAA4C,OAAjBhtB,EAAK+uF,UACnGr1B,EAAgB,wBAChBi1B,EAAS3uF,EAAK6uF,cAGtB,IAAMp+C,EAAU,IAgBZu+C,GAfW,KAE6B7xF,WAA8BszC,EAAUtzC,WAFrE,KAG2BA,WAA8BszC,EAAUtzC,WAYhE4O,EAAMkjF,OAAU,CAACliF,WAAW,UAAY,IACtDhB,EAAMmjF,WACNF,EAAWh+E,gBAAkB,WAEXhR,EAAKmtB,aACE,QAAzBntB,EAAKgtB,iBAA6BhtB,EAAKgtB,gBACvChtB,EAAKgtB,gBACoB,QAAzBhtB,EAAKgtB,iBAA6BhtB,EAAKgtB,gBACvChtB,EAAKgtB,gBACLhtB,EAAKgtB,gBACoB,SAAzBhtB,EAAKgtB,iBAA8BhtB,EAAKgtB,gBACf,SAAzBhtB,EAAKgtB,iBAA8BhtB,EAAKgtB,gBAE5C,IAiBwB,EAjBlBmiE,EAAkBpjF,EAAM4H,QAAS,CAACqmB,WAAY,OAAS,GACvDo1D,EAAwBrjF,EAAM4H,QAAS,CAACqmB,WAAY,MAAOjD,WAAY,UAAY,CAACA,WAAY,UAEhGs4D,EAAY,6BAAOF,GAAP,IAAwBp4D,WAAY,SAAUpqB,SAAU,SAAU2iF,aAAc,WAAYnqD,SAAU,UAClHoqD,EAAa,6BAAOJ,GAAP,IAAwBp4D,WAAY,SAAUpqB,SAAU,SAAU2iF,aAAc,WAAYnqD,SAAU,UAGnHyD,EAAgB,SAACz7B,GACnBA,EAAE4D,OAAOlE,MAAM0E,WAAW,OAC1BpE,EAAE4D,OAAOlE,MAAM6D,WAAW,uBAC1BvD,EAAE4D,OAAOlE,MAAMg8B,eAAe,QAE5BC,EAAe,SAAC37B,GAClBA,EAAE4D,OAAOlE,MAAM0E,WAAW,SAC1BpE,EAAE4D,OAAOlE,MAAM6D,WAAW,yBAG9B,OAAK3E,EAAMyjF,aAgIC,sBAAK3iF,MAAO,CAACvI,QAAS,YAAakI,MAAO,OAAQypB,OAAQ,OAA1D,UACI,qBAAKppB,MAAO,CAACvI,QAAS,aAAc+I,UAAW,OAAQkE,WAAY,MAAOL,cAAc,SAAU05B,aAAc,qBAAsBxgB,MAAOpqB,EAAKmtB,aAAlJ,SACI,mBAAGvgB,MAAM,sBAAsBC,MAAOsiF,EAAtC,SACI,qBAAK7hF,IAAKg/E,EAAgBz/E,MAAO,CAACL,MAAM,OAAQg3B,YAAY,MAAOlzB,UAAU,MAAO6oD,UAAW,cAIlGozB,EACG,qBAAK1/E,MAAO,CAACvI,QAAS,cAAe8lB,MAAOmiE,EAAmB1vB,QAA/D,SACI,mBAAGjwD,MAAM,sBAAsBC,MAAOsiF,EAAtC,SACI,qBAAK7hF,IAAKi/E,EAAmBxqB,IAAKl1D,MAAO,CAACL,MAAM,OAAQ8D,UAAU,MAAOoB,WAAW,aAI5F,wBAER,qBAAK7E,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUkE,WAAY,MAAOL,cAAc,SAAU05B,aAAc,qBAAlH,SACI,mBAAGh+B,MAAM,qBAAsBC,MAAOsiF,EAAtC,SAEyB,IAAfnvF,EAAK05B,QAAiC,MAAf15B,EAAK05B,OAC1B15B,EAAK05B,OAEL,6BAKhB,qBAAK7sB,MAAO,CAACvI,QAAS,aAAc+I,UAAW,OAAQ6D,cAAc,SAAU05B,aAAc,qBAA7F,SACI,mBAAGh+B,MAAM,qBAAsBC,MAAOwiF,EAAtC,SACI,sBAAMjlE,MAAOpqB,EAAK+sB,eAAiB7f,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAxF,SAAqGnQ,EAAK+sB,qBAGlH,qBAAKlgB,MAAO,CAACvI,QAAS,aAAc+I,UAAW,QAASkE,WAAW,MAAOL,cAAc,SAAU05B,aAAc,qBAAhH,SACI,mBAAGh+B,MAAM,sBAAsBC,MAAOuiF,EAAtC,SACMpD,EAAUhlE,SAAShnB,EAAKgtB,kBAAqB2hE,EAAS,EACpD,uBAAOvkE,MAASsvC,EAAhB,UAAgC18D,EAAiB2xF,GAAjD,gBAEA,6BAIZ,qBAAK9hF,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUkE,WAAW,MAAOL,cAAc,SAAU05B,aAAc,qBAAjH,SACI,mBAAGh+B,MAAM,UAAUC,MAAO0iF,EAA1B,SACMrD,EAAellE,SAAShnB,EAAKgtB,iBAC3B,sBAAO5C,MAAOpqB,EAAKkwD,YAAnB,SAAiClwD,EAAKkwD,cAEtC,6BAKZ,qBAAKrjD,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUkE,WAAW,MAAOL,cAAc,SAAU05B,aAAc,qBAAjH,SACI,mBAAGh+B,MAAOy/E,EAAkBx/E,MAAOsiF,EAAnC,SACMlD,EAAUjlE,SAAShnB,EAAKgtB,iBACtB,+BAAOhtB,EAAKyvF,qBAEZ,gCAtLpB,sBAAK7iF,MAAM,OAAOC,MAAOmiF,EAAzB,UACI,sBAAKpiF,MAAM,UAAX,WACQb,EAAM2jF,UAAY5vD,IAAa9/B,EAAK4vC,aACpC,wBAAKhjC,MAAM,OAAQC,MAAO,CAAC,QAAU,OAAQK,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,QAA5E,sBAA0F,CAACmQ,OAAO,YAAlG,yBACI,qBAAK7C,IAAKtN,EAAK4vC,aAAazb,IAAKrhB,IAAK9S,EAAKmtB,aAActgB,MAAO,CAAC4jC,UAAU,YAD/E,IAGF1kC,EAAM2jF,UAAY5vD,EAChB,qBAAKlzB,MAAM,OAAOM,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAvE,SACI,qBAAK7C,IAAKg/E,EAAgBx5E,IAAK9S,EAAKmtB,aAActgB,MAAO,CAACJ,OAAO,YAGrE,qBAAKG,MAAM,OAAOM,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAvE,SACI,qBAAK7C,IAAKg/E,EAAgBx5E,IAAK9S,EAAKmtB,iBAG5C,sBAAKvgB,MAAM,gBAAX,UACI,qBAAKA,MAAM,QAAX,SACI,oBAAIA,MAAM,qBAAV,SACI,sBAAMwd,MAAOpqB,EAAK+sB,eAAiB7f,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAxF,SAAqGnQ,EAAK+sB,qBAI7G/sB,EAAK2vF,eACF,qBAAK/iF,MAAM,OAAX,SACI,oBAAGA,MAAM,+BAAT,8BAA0D,+BAAO5M,EAAK2vF,sBAG1E,yBAIH5jF,EAAM+iF,aAAe9uF,EAAK4vF,OAAO,EAC9B,qBAAKhjF,MAAM,OAAX,SACI,oBAAGA,MAAM,+BAAT,mCAA+D,+BAAO5M,EAAK45E,cAElF7tE,EAAM+iF,aAAe9uF,EAAKquF,OAAO,EAC9B,qBAAKzhF,MAAM,OAAX,SACI,oBAAGA,MAAM,+BAAT,8BAA0D,iCAAO5P,EAAiBgD,EAAKquF,QAA7B,kBAG9D,yBAGR,sBAAKzhF,MAAM,OAAX,UACI,mBAAGA,MAAM,0BAAT,SAAqC5M,EAAKmtB,eAErCo/D,EACG,oBAAG3/E,MAAM,2BAAT,UAAqC,qBAAKU,IAAKi/E,EAAmBxqB,IAAKjvD,IAAKy5E,EAAmB1vB,UAAY0vB,EAAmB5rE,SAE9H,4BAIX8rE,EACAK,EACAG,EACAC,EACAI,EACAE,EACAE,EACAI,EACAE,EACAJ,EACAY,EACAC,QAGT,sBAAK7hF,MAAM,iBAAX,UACI,sBAAKA,MAAM,qBAAX,UAESo/E,EAAUhlE,SAAShnB,EAAKgtB,kBAAqB2hE,EAAS,EACnD,sBAAK/hF,MAAM,SAASC,MAAO,CAACL,MAAM,OAAQ4d,MAASsvC,EAAnD,UACI,mBAAG9sD,MAAM,0BAAT,SAAqC8sD,IAE9Bi1B,EAAO,WAAeA,EAAO,SAAW5iF,EAAM2jF,SAC7C,sBAAM9iF,MAAM,mCAAZ,SAAiD5P,EAAiB2xF,KAClEA,EAAO,SAAaA,EAAO,QAAU5iF,EAAM2jF,SAC3C,sBAAM9iF,MAAM,mCAAZ,SAAiD5P,EAAiB2xF,KAElE,sBAAM/hF,MAAM,mCAAZ,SAAiD5P,EAAiB2xF,KAIrE5iF,EAAM8jF,eAAiB7vF,EAAKquF,OAAO,EACpC,mBAAGxhF,MAAO,CAACoE,MAAM,UAAWM,WAAY,MAAOH,SAAU,QAAzD,SAAmEpU,EAAiBgD,EAAKquF,UAEzF,yBAEJ,mBAAGzhF,MAAM,sBAAT,oBAGJ,qBAAKA,MAAM,SAASC,MAAO,CAACgjB,OAAO,OAAQrjB,MAAM,SAIpDy/E,EAAUjlE,SAAShnB,EAAKgtB,iBACpBk/D,EAAellE,SAAShnB,EAAKgtB,iBAC1B,sBAAKpgB,MAAM,SAASC,MAAO,CAACL,MAAM,OAAlC,UACI,qBAAKI,MAAOu/E,EAAZ,SAA0BnsF,EAAKyvF,qBAC/B,qBAAK7iF,MAAM,+BAAX,SAA2C5M,EAAKkwD,iBAGpD,qBAAKtjD,MAAM,SAASC,MAAO,CAACL,MAAM,OAAlC,SACI,qBAAKI,MAAOu/E,EAAat/E,MAAO,CAACJ,OAAO,QAAxC,SAAkDzM,EAAKyvF,uBAI/D,4BAKS,IAAfzvF,EAAK05B,QAAiC,MAAf15B,EAAK05B,OAC1B,sBAAK9sB,MAAM,wBAAX,UACI,sBAAMA,MAAM,uBAAZ,SAAqC6iC,IACrC,qBAAK7iC,MAAM,wBAAX,SAAqC5M,EAAK05B,YAG9C,gCC3Tbo2D,OAxGf,SAAqB/jF,GACjB,IAAM/L,EAAO+L,EAAM/L,KAGbwsF,EAAY,SAACjmF,GACfwF,EAAM4d,aAAa,CACfC,UAAW,UACXqD,MAAO1mB,EAAG2mB,GACVxlB,QAASqE,EAAMrE,QACfg6E,WAAY31E,EAAM21E,WAClBhuE,SAAU3H,EAAM2H,YAMpBq8E,GAFU3sF,OAAO28B,WAEP,IACViwD,EAAU,GACVC,EAAU,GAmBd,MAjBsB,MAAlBjwF,EAAKssC,WACLyjD,EAAU,QACe,MAApB/vF,EAAKssC,WACVyjD,EAAU,yBACe,MAApB/vF,EAAKssC,aACVyjD,EAAU,MAEI,OAAd/vF,EAAK45E,OACLoW,EAAU,WACW,OAAhBhwF,EAAK45E,SACVoW,EAAU,UAEK,MAAfhwF,EAAKgtF,QACLiD,EAAU,QACY,MAAjBjwF,EAAKgtF,UACViD,EAAU,MAGV,sBAAKrjF,MAAM,QAAX,UACI,sBAAKA,MAAM,UAAX,UACI,qBAAKA,MAAM,OAAOM,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAvE,SACI,qBAAK7C,IAtCGpS,kBAsCkB4X,IAAK9S,EAAKmtB,iBAExC,sBAAKvgB,MAAM,gBAAX,UACI,qBAAKA,MAAM,QAAX,SACI,oBAAIA,MAAM,qBAAV,SACI,sBAAMwd,MAAOpqB,EAAK+sB,eAAiB7f,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAxF,SAAqGnQ,EAAK+sB,qBAGlH,sBAAKngB,MAAM,OAAX,UACI,mBAAGA,MAAM,0BAA2BC,MAAO,CAACL,MAAM,OAAlD,SAA2DxM,EAAKmtB,eAChE,qBAAKvgB,MAAM,iBAAiBC,MAAO,CAACL,MAAM,OAA1C,SACA,sBAAKI,MAAM,wBAAX,UACI,sBAAMA,MAAM,yBACZ,qBAAKA,MAAM,wBAAX,SAAqC5M,EAAK05B,uBAM1D,qBAAK9sB,MAAM,iBAAX,SACI,sBAAKA,MAAM,qBAAX,UAEU5M,EAAK0oC,OAAS,EACZ,sBAAK97B,MAAM,SAASC,MAAO,CAACL,MAAM,OAAlC,UACI,mBAAGI,MAAM,0BAAT,yBAEO5M,EAAK0oC,OAAO,WAAe1oC,EAAK0oC,OAAO,SAAW38B,EAAM2jF,SACvD,sBAAM9iF,MAAM,mCAAZ,SAAiD5P,EAAiBgD,EAAK0oC,UACvE1oC,EAAK0oC,OAAO,SAAa1oC,EAAK0oC,OAAO,QAAU38B,EAAM2jF,SACrD,sBAAM9iF,MAAM,mCAAZ,SAAiD5P,EAAiBgD,EAAK0oC,UAEvE,sBAAM97B,MAAM,mCAAZ,SAAiD5P,EAAiBgD,EAAK0oC,UAG/E,mBAAG97B,MAAM,sBAAT,oBAGJ,sBAAKA,MAAM,SAASC,MAAO,CAACL,MAAM,OAAlC,UACI,mBAAGI,MAAM,0BAAT,yBACI,sBAAMA,MAAM,mCAAZ,kBAIhB,sBAAKA,MAAM,SAASC,MAAO,CAACL,MAAM,OAAlC,UACI,sBAAKI,MAAM,6CAAX,UACI,sBAAMA,MAAM,uBAAwBC,MAAO,CAACL,MAAM,OAAlD,yBACA,qBAAKI,MAAM,wBAAwBC,MAAO,CAACgjB,OAAO,OAAQ+oB,cAAc,EAAGvrC,UAAW,OAAOb,MAAM,OAAnG,SAA6GujF,OAEjH,sBAAKnjF,MAAM,6CAAX,UACI,sBAAMA,MAAM,uBAAuBC,MAAO,CAACL,MAAM,OAAjD,4BACA,qBAAKI,MAAM,wBAAwBC,MAAO,CAACgjB,OAAO,OAAQ+oB,cAAc,EAAGvrC,UAAW,OAAOb,MAAM,OAAnG,SAA4GwjF,OAEhH,sBAAKpjF,MAAM,6CAAX,UACI,sBAAMA,MAAM,uBAAuBC,MAAO,CAACL,MAAM,OAAjD,qBACA,qBAAKI,MAAM,wBAAwBC,MAAO,CAACgjB,OAAO,OAAQ+oB,cAAc,EAAGvrC,UAAW,OAAOb,MAAM,OAAnG,SAA4GyjF,mBC/EzHC,OApBf,SAAqBnkF,GACjB,IAAMokF,EAAQpkF,EAAMokF,MACdC,EAAerkF,EAAMqkF,aACrBzvE,EAAQ5U,EAAM4U,MAEd0vE,EAAmB,SAACC,GACtB,IAAIxlE,EAAMwlE,EAAIH,MACdpkF,EAAMwkF,SAASzlE,IAGnB,OAAIslE,IAAeD,EAEX,sBAAMjjF,QAAS,kBAAMmjF,EAAiB,CAACF,WAAvC,SAAgD,iCAASxvE,MAIzD,sBAAMzT,QAAS,kBAAMmjF,EAAiB,CAACF,WAAvC,SAAiDxvE,KCoJ9C6vE,OA9Jf,SAA2BzkF,GACvB,MAAsDyB,oBAAS,GAA/D,mBAAOijF,EAAP,KAA4BC,EAA5B,KACMC,EAAkB,CAAC,oBAAqB,qBACpB,gCAA8B,iCAC9B,0BAA2B,2BACjD5kF,EAAMgiF,gBACN4C,EAAgBh1F,KAAM,gBAEtBoQ,EAAM6kF,oBACND,EAAgBnzF,OAAO,EAAE,EAAE,wBAC3BmzF,EAAgBh1F,KAAK,yBACrBg1F,EAAgBh1F,KAAK,oBACrBg1F,EAAgBh1F,KAAK,sBAEzB,IAAMy0F,EAAerkF,EAAMqkF,aAErBrf,EAAW4f,EAAgBrqF,KAAI,SAAA4hF,GAAM,OAAI,cAAC,GAAD,CAAavnE,MAAOunE,EAAQiI,MAAOQ,EAAgBpoF,QAAQ2/E,GAASqI,SAAUxkF,EAAM8kF,YAAaT,aAAcA,OAaxJU,GAAqB/kF,EAAMglF,YAAchlF,EAAMilF,aAAejlF,EAAM6kF,kBAEtEK,EAAsB,eACtBC,EAAsB,eACtBC,EAAsB,oBAEtBplF,EAAM2jF,UAAa3jF,EAAMglF,WAAchlF,EAAMilF,WAExCjlF,EAAMqlF,WAAaN,EACxBK,GAAuB,UAEvBD,GAAmB,UAJnBD,GAAmB,UAMvB,IAAMtH,EAAa59E,EAAMslF,WAAWj1F,OAC9Bk1F,EAAevlF,EAAMwlF,eACrB/F,EAAUz/E,EAAMylF,SAClB7wE,EAAQ6qE,EAAS,aAarB,OAVQ7qE,EAFJgpE,IAAe2H,EACX9F,EAAS8F,EACD,eAAiBA,EAAe,OAAS9F,EAAS,6BAElD8F,EAAan0F,WAAa,eAElCquF,EAAS8F,EACA3H,EAAa,OAAS2H,EAAe,6BAErC3H,EAAa,OAAS2H,EAAe,IAIlD,sBAAK1kF,MAAM,0CAAX,UACI,sBAAKA,MAAM,cAAX,UACI,mBAAGA,MAAM,sCAAT,SAAiD+T,IAC9C5U,EAAM6kF,kBAKL,yBAJA,uBAAMhkF,MAAM,sCAAuCM,QAAS,SAACC,GArCzEpB,EAAM0lF,YAAW,IAqCL,UACI,qBAAKnkF,IAAKpS,kBAA6B4X,IAAI,WAD/C,eAMF/G,EAAM2lF,uBACJ,uBAAM9kF,MAAM,sCAAuCM,QAAS,SAACC,GAAD,OAAOpB,EAAM4lF,YAAY9kF,MAAO,CAAC2E,YAAY,OAAQE,WAAW,OAAQ02D,gBAAgB,QAASD,gBAAgB,UAAWypB,gBAAgB,OAAxM,UACI,qBAAKtkF,IAAKpS,iBAA4B4X,IAAI,qBAD9C,uBAIA,4BAGR,sBAAKlG,MAAM,UAAX,UACGb,EAAMglF,WAAchlF,EAAMilF,WA4D7B,wBA3DI,sBAAKpkF,MAAM,SAAX,UAIMkkF,EACF,qBAAKlkF,MAAOukF,EAAqB/mE,MAAM,OAAOld,QAAS,SAACC,GAAD,OAAOpB,EAAM8lF,kBAAkB1kF,IAAtF,SACI,qBAAKX,MAAM,OAAOC,OAAO,OAAO2e,QAAQ,YAAxC,SACI,mBAAGhkB,GAAG,cAAWkkB,OAAO,OAAO,eAAa,IAAIC,KAAK,OAAO,YAAU,UAAtE,SACI,mBAAGnkB,GAAG,wBAAwBqkB,UAAU,sCAAxC,SACI,mBAAGrkB,GAAG,UAAUqkB,UAAU,8HAA1B,SACI,oBAAGrkB,GAAG,WAAWqkB,UAAU,kCAA3B,UACI,sBAAMrkB,GAAG,eAAenK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,KAAKC,OAAO,MACtD,sBAAMrF,GAAG,eAAenK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,KAAKC,OAAO,MACtD,sBAAMrF,GAAG,eAAenK,EAAE,IAAIolC,EAAE,KAAK71B,MAAM,KAAKC,OAAO,mBAQ/E,6BAEA,qBAAKG,MAAOskF,EAAiB9mE,MAAM,OAAOld,QAAS,SAACC,GAAD,OAAOpB,EAAM+lF,cAAc3kF,IAA9E,SACI,qBAAKX,MAAM,OAAOC,OAAO,OAAO2e,QAAQ,YAAxC,SACI,mBAAGhkB,GAAG,cAAWkkB,OAAO,OAAO,eAAa,IAAIC,KAAK,OAAO,YAAU,UAAtE,SACI,mBAAGnkB,GAAG,wBAAN,SACI,mBAAGA,GAAG,UAAN,SACI,oBAAGA,GAAG,WAAN,UACI,sBAAMA,GAAG,eAAenK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,KAAKC,OAAO,MACtD,sBAAMrF,GAAG,eAAenK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,KAAKC,OAAO,MACtD,sBAAMrF,GAAG,cAAcnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MACpD,sBAAMrF,GAAG,cAAcnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,mBAO5E,qBAAKG,MAAOqkF,EAAiB7mE,MAAM,OAAOld,QAAS,SAACC,GAAD,OAAOpB,EAAMgmF,cAAc5kF,IAA9E,SACI,qBAAKX,MAAM,OAAOC,OAAO,OAAO2e,QAAQ,YAAxC,SACI,mBAAGhkB,GAAG,cAAWkkB,OAAO,OAAO,eAAa,IAAIC,KAAK,OAAO,YAAU,UAAtE,SACI,mBAAGnkB,GAAG,wBAAwBqkB,UAAU,sCAAxC,SACI,mBAAGrkB,GAAG,UAAUqkB,UAAU,8HAA1B,SACI,oBAAGrkB,GAAG,WAAWqkB,UAAU,gCAA3B,UACI,sBAAMrkB,GAAG,cAAcnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MACpD,sBAAMrF,GAAG,cAAcnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MACpD,sBAAMrF,GAAG,cAAcnK,EAAE,KAAKolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MACrD,sBAAMrF,GAAG,cAAcnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MACpD,sBAAMrF,GAAG,cAAcnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MACpD,sBAAMrF,GAAG,cAAcnK,EAAE,KAAKolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,sBAWlFV,EAAMilF,WAWL,wBAVA,qBAAKpkF,MAAM,QAAX,SACI,sBAAKA,MAAM,4BAA6BM,QAAS,SAACC,GAAD,OA3H7D3L,EAA4B,eAAe,KAAK,eAChDkvF,GAAwBD,IA0HZ,UACI,qBAAKnjF,IAAI,kBAAkBwF,IAAI,UAC/B,qDACA,qBAAKlG,MAAM,qBAAX,SACKmkE,gBC3GdihB,OAzCf,SAAsBjmF,GAClB,IAAM/L,EAAO+L,EAAM/L,KAEbwsF,EAAY,SAACjmF,GACfwF,EAAM4d,aAAa,CACfC,UAAW,WACXqD,MAAO1mB,EAAG2mB,GACVxlB,QAASqE,EAAMrE,QACfg6E,WAAY31E,EAAM21E,WAClBhuE,SAAU3H,EAAM2H,YAOxB,OAHctQ,OAAO28B,WAIjB,sBAAKnzB,MAAM,QAAX,UACI,sBAAKA,MAAM,UAAX,UACI,qBAAKA,MAAM,OAAOM,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAvE,SACI,qBAAK7C,IAlBGpS,kBAkBkB4X,IAAK9S,EAAKmtB,iBAExC,sBAAKvgB,MAAM,gBAAX,UACI,qBAAKA,MAAM,QAAX,SACI,oBAAIA,MAAM,qBAAV,SACI,sBAAMwd,MAAOpqB,EAAK+sB,eAAiB7f,QAAS,kBAAMs/E,EAAUzgF,EAAM/L,OAAO6M,MAAO,CAACsD,OAAO,WAAxF,SAAqGnQ,EAAK+sB,qBAGlH,qBAAKngB,MAAM,OAAX,SACI,mBAAGA,MAAM,0BAAT,SAAqC5M,EAAK45E,iBAItD,qBAAKhtE,MAAM,iBAAX,SACI,qBAAKA,MAAM,6BC8CZqlF,OAhFf,SAAsBlmF,GAClB,IAAM/L,EAAO+L,EAAM/L,KAObzB,GAJQ6E,OAAO28B,YAGR//B,EAAK6mC,MAAS,IAAIpoC,KAAKuB,EAAK6mC,OAAO9nC,cAAgB,GAC5C,KAAOT,EAAoB,IAAIG,KAAKuB,EAAK6mC,QAAU,IAIjEC,EAAyB,KAAd9mC,EAAK+mC,OAAc,uBACL,KAAd/mC,EAAK+mC,OAAc,oBACL,KAAd/mC,EAAK+mC,OAAc,gCACL,KAAd/mC,EAAK+mC,OAAc,yBACL,KAAd/mC,EAAK+mC,OAAc,yBACL,KAAd/mC,EAAK+mC,OAAc,yBACnB/mC,EAAK+zB,MAAsB,KAAd/zB,EAAK+zB,KAAc/zB,EAAK+zB,KAAKz2B,UAAU,EAAE,GAAG0B,cAAgBgB,EAAK+zB,KAAKz2B,UAAU,GAAG+B,cACjG,OAGZ6M,EAAUlM,EAAKmyB,OAAO9yB,cAAc2nC,SAAS,QAAUhnC,EAAKmyB,OAAO70B,UAAU,EAAE0C,EAAKmyB,OAAO/1B,OAAS,GAAK4D,EAAKmyB,OAgClH,MA9B2C,sBAAvCjmB,EAAO5O,UAAU,EAAE,IAAI0B,cACvBkN,EAASA,EAAO5O,UAAU,IACkB,oBAAvC4O,EAAO5O,UAAU,EAAE,IAAI0B,cAC5BkN,EAASA,EAAO5O,UAAU,IACkB,mBAAvC4O,EAAO5O,UAAU,EAAE,IAAI0B,cAC5BkN,EAASA,EAAO5O,UAAU,IACiB,UAAtC4O,EAAO5O,UAAU,EAAE,GAAG0B,cAC3BkN,EAASA,EAAO5O,UAAU,GACiB,QAAtC4O,EAAO5O,UAAU,EAAE,GAAG0B,cAC3BkN,EAASA,EAAO5O,UAAU,GACkB,oBAAvC4O,EAAO5O,UAAU,EAAE,IAAI0B,cAC5BkN,EAASA,EAAO5O,UAAU,IACkB,4BAAvC4O,EAAO5O,UAAU,EAAE,IAAI0B,cAC5BkN,EAASA,EAAO5O,UAAU,IACkB,0BAAvC4O,EAAO5O,UAAU,EAAE,IAAI0B,cAC5BkN,EAASA,EAAO5O,UAAU,IACiB,YAAtC4O,EAAO5O,UAAU,EAAE,GAAG0B,cAC3BkN,EAASA,EAAO5O,UAAU,GACkB,uBAAvC4O,EAAO5O,UAAU,EAAE,IAAI0B,cAC5BkN,EAAS,wBAAuBA,EAAO5O,UAAU,IACL,gBAAvC4O,EAAO5O,UAAU,EAAE,IAAI0B,gBAC5BkN,EAAS,iBAAgBA,EAAO5O,UAAU,KAI/B,MAFf4O,EAASA,EAAO9M,UAGZ8M,EAASA,EAAO5O,UAAU,EAAE,GAAG0B,cAAgBkN,EAAO5O,UAAU,IAKhE,qBAAKsP,MAAM,QAAX,SACI,sBAAKA,MAAM,UAAUC,MAAO,CAACL,MAAM,QAAnC,UACI,qBAAKI,MAAM,OAAX,SACI,qBAAKU,IAxDGpS,mBAwDkB4X,IAAI,gBAElC,mBAAGzP,KAAMrD,EAAKm0B,IAAKpjB,OAAO,SAASqZ,MAAOle,EAA1C,SACA,sBAAKU,MAAM,gBAAgBC,MAAO,CAACL,MAAM,QAAzC,UACI,sBAAM6D,UAAU,0BAAhB,SACK9R,IAEL,qBAAKqO,MAAM,QAAX,SACI,oBAAIA,MAAM,qBAAV,SACI,sBAAMwd,MAAOle,EAAb,SAAuBA,QAG/B,qBAAKU,MAAM,OAAOC,MAAO,CAAC+9B,aAAc,QAAxC,SACI,mBAAGh+B,MAAM,0BAAT,SAAqCk6B,iBCoS9CorD,OAvWf,SAA0BnmF,GACtB,MAAoCyB,mBAAUzB,EAAMomF,cAAczQ,WAAcnkF,SAASwO,EAAMomF,cAAczQ,YAAc,IAA3H,mBAAOA,EAAP,KAAmBC,EAAnB,KACMjuE,EAAY3H,EAAMomF,cAAcz+E,SAAY3H,EAAMomF,cAAcz+E,SAAW,EACjF,EAAkDlG,mBAAS3S,KAAKC,MAAMC,aAAaC,QAAQ,cAA3F,mBAAOo3F,EAAP,KAA0BC,EAA1B,KACA,EAAoD7kF,mBAAS3S,KAAKC,MAAMC,aAAaC,QAAQ,eAA7F,mBAAOs3F,EAAP,KAA2BC,EAA3B,KACMlB,EAAatlF,EAAMomF,cAAc3Q,cACjCgQ,EAAWzlF,EAAMomF,cAAcX,SAC/BD,EAAiBxlF,EAAMomF,cAAcZ,eACrC7pF,EAAUqE,EAAMomF,cAAczqF,QAK9ByE,EAAQ/I,OAAO28B,WACfyyD,EAAermF,GAAO,IAAM,EAAIA,GAAO,IAAM,EAAI,EACjDsmF,EAAeh1F,KAAKwjD,IAAIygC,EAAW2P,EAAWj1F,QAE9Cs2F,EAAaN,GADGK,EAAeD,EACiB,EAEtD5iF,qBAAU,WACN,IAAI+iF,EAAWP,EATI,EASiCE,EAX5B,GACJ,GAWhBnuC,EAAQu9B,EAAaiR,EACrBxuC,EAAQ,GAEJw9B,EADAx9B,EAXK,EAYSu9B,EAAav9B,EAEbu9B,GAAciR,EAAUxuC,OAIlD,IA2CMyuC,EAAuBR,EAAqB,wBAA0B,mBAExEvyB,EAAYhlE,KAAKC,MAAMC,aAAaC,QAAQ,cAC3C6kE,IACDA,EAAY,IAEhB,IAyEI57B,EAzEAjgC,EAASD,IACP2qF,EAA2B,IAAX1qF,GAA2B,KAAXA,GAA4B,KAAXA,GAAyC,kBAAvB+H,EAAM1H,aAAmD,cAAf,cAI7GwuF,IAFY1mF,EAAM,OAEWimF,GAAqBE,IAAuBvmF,EAAMglF,YAAchlF,EAAMilF,aAAejlF,EAAM6kF,kBAExHkC,EAAe,SAAC1uF,EAAMgD,GACxB2E,EAAM+mF,aAAa1uF,EAAKgD,IAItBqkF,EAAa,WACf,IACIsH,EAAYrR,GADE0Q,EAjFC,EAiFoCE,EAnF/B,GACJ,IAsFhBruD,EADAl4B,EAAMglF,UACEM,EAAWt0F,MAAM,EAAEg2F,GAAWzsF,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAcxtB,KAAMwtB,EACN7D,aAAc5d,EAAM4d,aACpBjiB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChB3D,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,OAEzJjhB,EAAMilF,WACJK,EAAWt0F,MAAM,EAAEg2F,GAAWzsF,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAextB,KAAMwtB,EACP7D,aAAc5d,EAAM4d,aACpBjiB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChB3D,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,OAEzJjhB,EAAM6kF,kBACJS,EAAWt0F,MAAM,EAAEg2F,GAAWzsF,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAextB,KAAMwtB,EACP9lB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChB3D,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,OAGvJqkE,EAAWt0F,MAAM,EAAEg2F,GAAWzsF,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAwBxtB,KAAMwtB,EACR7D,aAAc5d,EAAM4d,aACpBjiB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChBnG,UAAa3gF,EAAM2gF,UACnBG,cAAiB9gF,EAAM8gF,cACvBM,mBAAsBphF,EAAMohF,mBAC5BE,gBAAmBthF,EAAMshF,gBACzBM,iBAAoB5hF,EAAM4hF,iBAC1BkC,cAAiB9jF,EAAM8jF,cACvB9B,eAAkBhiF,EAAMgiF,eACxBE,mBAAsBliF,EAAMkiF,mBAAuGC,mBAAsBniF,EAAMmiF,mBAC/JL,oBAAuB9hF,EAAM8hF,oBAC7BO,SAAcriF,EAAMqiF,SACpBG,WAAcxiF,EAAMwiF,WACpBG,WAAcA,EACdQ,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,EAC/FrZ,QAAuC,IAA3B09E,EAAW9oF,QAAQilB,GAC/Bw1C,SAAY8vB,OAGxFnR,EAAcoR,IAIlB,GAAkB,MAAd1B,EACJ,CAEQptD,EADAl4B,EAAMglF,UACEM,EAAWt0F,MAAM,EAAE2kF,GAAYp7E,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAcxtB,KAAMwtB,EACC7D,aAAc5d,EAAM4d,aACpBjiB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChB3D,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,OAEjKjhB,EAAMilF,WACJK,EAAWt0F,MAAM,EAAE2kF,GAAYp7E,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAextB,KAAMwtB,EACA7D,aAAc5d,EAAM4d,aACpBjiB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChB3D,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,OAEjKjhB,EAAM6kF,kBACJS,EAAWt0F,MAAM,EAAE2kF,GAAYp7E,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAextB,KAAMwtB,EACR9lB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChB3D,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,OAGvJqkE,EAAWt0F,MAAM,EAAE2kF,GAAYp7E,KAAI,SAAAknB,GAAI,OAAI,cAAC,GAAD,CAAwBxtB,KAAMwtB,EACT7D,aAAc5d,EAAM4d,aACpBjiB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV5C,aAAgBqD,EAChBnG,UAAa3gF,EAAM2gF,UACnBG,cAAiB9gF,EAAM8gF,cACvBM,mBAAsBphF,EAAMohF,mBAC5B2B,YAAe/iF,EAAM+iF,YACrBzB,gBAAmBthF,EAAMshF,gBACzBM,iBAAoB5hF,EAAM4hF,iBAC1BkC,cAAiB9jF,EAAM8jF,cACvB9B,eAAkBhiF,EAAMgiF,eACxBE,mBAAsBliF,EAAMkiF,mBAC5BC,mBAAsBniF,EAAMmiF,mBAC5BL,oBAAuB9hF,EAAM8hF,oBAC7BO,SAAcriF,EAAMqiF,SACpBG,WAAcxiF,EAAMwiF,WACpBG,WAAcA,EACdQ,SAAYrvB,EAAUC,WAAU,SAAA9/D,GAAI,OAAGA,EAAKoH,KAAKomB,EAAKN,IAAMltB,EAAKoE,OAAOopB,EAAKR,oBAAkB,EAC/FrZ,QAAuC,IAA3B09E,EAAW9oF,QAAQilB,GAC/Bw1C,SAAY8vB,OAGxF,IAAItH,EAAS6F,EAAWj1F,OACpBwlF,EAAe4J,EAAO9J,EAG1B,OACI,gCACI,cAAC,GAAD,CAAoB2P,WAAYA,EAAYR,YAAe9kF,EAAMwkF,SAAUH,aAAgB18E,EACvEq+E,cAvKR,SAAC5kF,GApBrBvM,EAAyB,eAAe,KAAK,UAC7CQ,EAA4B,eAAe,KAAK,UAChDA,EAA4B,mBAAmB,KAAK,UACpDR,EAAyB,mBAAmB,KAAK,QAmBjD7F,aAAagP,QAAQ,YAAY,GACjCsoF,GAAqB,IAqKOP,cAlKR,SAAC3kF,GAnBrBvM,EAAyB,eAAe,KAAK,UAC7CQ,EAA4B,eAAe,KAAK,UAChDA,EAA4B,mBAAmB,KAAK,UACpDA,EAA4B,mBAAmB,KAAK,QAkBpDrG,aAAagP,QAAQ,YAAY,GACjChP,aAAagP,QAAQ,aAAa,GAClCsoF,GAAqB,GACrBE,GAAsB,IA8JMV,kBA3JJ,SAAC1kF,GApBzBvM,EAAyB,mBAAmB,KAAK,UACjDQ,EAA4B,eAAe,KAAK,UAChDA,EAA4B,eAAe,KAAK,UAChDA,EAA4B,mBAAmB,KAAK,QAmBpDrG,aAAagP,QAAQ,YAAY,GACjChP,aAAagP,QAAQ,aAAa,GAClCsoF,GAAqB,GACrBE,GAAsB,IAuJM7C,SAAY0C,EACZhB,UAAakB,EACbd,SAAYA,EACZD,eAAkBA,EAClBR,UAAahlF,EAAMglF,UACnBC,WAAcjlF,EAAMilF,WACpBjD,eAAkBhiF,EAAMgiF,eACxB6C,kBAAqB7kF,EAAM6kF,kBAC3Bc,uBAA0B3lF,EAAM2lF,uBAChCD,WAAc1lF,EAAM0lF,WACpBE,SAAY5lF,EAAM4lF,WAGnCkB,EAqEC,sBAAKjmF,MAAOgmF,EAAZ,UACI,sBAAK/lF,MAAO,CAACvI,QAAQ,QAASkI,MAAM,OAAQwmF,cAAc,OAA1D,UACI,sBAAKpmF,MAAM,2BAA2BC,MAAO,CAACvI,QAAQ,aAAtD,UACI,qBAAKuI,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUb,MAAM,OAAQ42B,SAAS,QAAhF,SACI,mBAAGx2B,MAAM,sBAAsBC,MAAO,CAAC+9B,aAAc,oBAAqB5Q,WAAY,OAAQ7oB,cAAe,OAAQ8hF,YAAa,QAAlI,oBAEJ,qBAAKpmF,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUb,MAAM,OAAQ42B,SAAS,QAAhF,SACI,mBAAGx2B,MAAM,sBAAsBC,MAAO,CAAC+9B,aAAc,oBAAqB5Q,WAAY,OAAQ7oB,cAAe,OAAQ8hF,YAAa,QAAlI,oBAEJ,qBAAKpmF,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUb,MAAM,OAAQ42B,SAAS,QAAhF,SACI,mBAAGx2B,MAAM,sBAAsBC,MAAO,CAAC+9B,aAAc,oBAAqB5Q,WAAY,OAAQ7oB,cAAe,OAAQ8hF,YAAa,QAAlI,yBAEJ,qBAAKpmF,MAAO,CAACvI,QAAS,aAAc+I,UAAW,OAAQb,MAAM,OAA7D,SACI,mBAAGI,MAAM,sBAAsBC,MAAO,CAAC+9B,aAAc,oBAAqB5Q,WAAY,OAAQ7oB,cAAe,OAAQ8hF,YAAa,QAAlI,sBAEJ,qBAAKpmF,MAAO,CAACvI,QAAS,aAAc+I,UAAW,QAASb,MAAM,OAAQ42B,SAAS,QAA/E,SACI,mBAAGx2B,MAAM,sBAAsBC,MAAO,CAAC+9B,aAAc,oBAAqB5Q,WAAY,OAAQ7oB,cAAe,OAAQ8hF,YAAa,QAAlI,SAA6IvE,MAEjJ,qBAAK7hF,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUb,MAAM,QAAS42B,SAAS,SAAjF,SACI,mBAAGx2B,MAAM,sBAAsBC,MAAO,CAAC+9B,aAAc,oBAAqB5Q,WAAY,OAAQ7oB,cAAe,OAAQ8hF,YAAa,QAAlI,2BAEJ,qBAAKpmF,MAAO,CAACvI,QAAS,aAAc+I,UAAW,SAAUb,MAAM,OAAQ42B,SAAS,QAAhF,SACI,mBAAGx2B,MAAM,sBAAsBC,MAAO,CAAC+9B,aAAc,oBAAqB5Q,WAAY,OAAQ7oB,cAAe,OAAQ8hF,YAAa,QAAlI,yBAGPhvD,EACD,qBAAKr3B,MAAM,2BAA2BC,MAAO,CAACvI,QAAQ,aAAtD,SACI,qBAAKuI,MAAO,CAACvI,QAAS,aAAc0M,gBAAgB,SAApD,uBAGR,sBAAKpE,MAAM,UAAX,UACI,oBAAGA,MAAM,OAAT,UACI,sBAAMA,MAAM,sBAAZ,SAAoCq3B,EAAM7nC,SAD9C,kBAC2E,sBAAMwQ,MAAM,uBAAZ,SAAqC4+E,OAEhH,qBAAK5+E,MAAM,yBAAX,SACKg1E,EACG,uBAAMh1E,MAAM,SAASwd,MAAM,aAAWld,QAAS,kBAAMu+E,KAAc5+E,MAAO,CAACsD,OAAO,WAAlF,wBACY,qBAAK7C,IAAKpS,4BAAuC4X,IAAI,wBAGjE,gCA5GhB,sBAAKlG,MAAOgmF,EAAZ,UACO7mF,EAAMilF,YAAiBjlF,EAAM6kF,kBAoB5B,wBAnBJ,sBAAKhkF,MAAM,2BAAX,UACI,sBAAKA,MAAM,SAAX,UACI,mBAAGA,MAAM,sBAAT,SAAiC8hF,IAC/B3iF,EAAM8jF,cACR,mBAAGjjF,MAAM,sBAAsBC,MAAO,CAACoE,MAAM,UAAWM,WAAY,MAAOH,SAAU,OAAQV,WAAY,qBAAzG,mBAEA,4BAGJ,qBAAK9D,MAAM,SAAX,SACOb,EAAMglF,WAAgBhlF,EAAMilF,WAG3B,mBAAGpkF,MAAM,sBAAT,6CAFA,mBAAGA,MAAM,sBAAT,uCAUZ,sBAAKA,MAAM,0BAA0BsmF,MAAO,CAAChgE,eAAgB,cAA7D,UACK+Q,EAEIyuD,EACG,cAAC,GAAD,CAAwB1yF,KAAMqxF,EAAW,GACrB1nE,aAAc5d,EAAM4d,aACpBjiB,QAASA,EACTg6E,WAAcA,EACdhuE,SAAYA,EACZg8E,SAAU0C,EACV1F,UAAa3gF,EAAM2gF,UACnBG,cAAiB9gF,EAAM8gF,cACvBM,mBAAsBphF,EAAMohF,mBAC5B2B,YAAe/iF,EAAM+iF,YACrBzB,gBAAmBthF,EAAMshF,gBACzBM,iBAAoB5hF,EAAM4hF,iBAC1BkC,cAAiB9jF,EAAM8jF,cACvB9B,eAAkBhiF,EAAMgiF,eACxBE,mBAAsBliF,EAAMkiF,mBAC5BC,mBAAsBniF,EAAMmiF,mBAC5BE,SAAcriF,EAAMqiF,SACpBG,WAAcxiF,EAAMwiF,WACpBG,WAAcA,EACdO,QAAU,IAGlC,gCAGR,sBAAKriF,MAAM,UAAX,UACI,oBAAGA,MAAM,OAAT,UACI,sBAAMA,MAAM,sBAAZ,SAAoCq3B,EAAM7nC,SAD9C,kBAC2E,sBAAMwQ,MAAM,uBAAZ,SAAqC4+E,OAEhH,qBAAK5+E,MAAM,yBAAX,SACKg1E,EACG,uBAAMh1E,MAAM,SAASwd,MAAM,aAAWld,QAAS,kBAAMu+E,KAAc5+E,MAAO,CAACsD,OAAO,WAAlF,wBACY,qBAAK7C,IAAKpS,4BAAuC4X,IAAI,wBAGjE,mCAwD5B,OACI,yBCpRGqgF,OAlFf,SAAyBpnF,GACrB,IAAMrE,EAAUqE,EAAMrE,QAChB6hF,EAAe7hF,EACb,8BACKA,EAAQpB,KAAI,SAAAqB,GAAM,OAAK,cAAC,GAAD,CAAgBA,OAAQA,EAChBujE,YAAcn/D,EAAMm/D,YACpBkd,YAAar8E,EAAMq8E,mBAIvD,wBAOFgL,EAAyB,CAACC,eAAe,QAEzCC,EAAevnF,EAAMwnF,kBAAqBH,EADtB,GAGpBI,EAAsBznF,EAAMwnF,kBAAqBH,EADtB,CAAC9iF,UAAU,MAAO+iF,eAAgB,QAInE,OACI,wBAAOzmF,MAAM,kBAAkBC,MAAOymF,EAAtC,UACEvnF,EAAMwnF,kBACJ,qBAAK3mF,MAAQ,mBAAoBC,MAAO,CAAC4mF,kBAAkB,QAASC,kBAAmB,UAAWC,kBAAmB,OAArH,SACA,qBAAK/mF,MAAQ,kBAAkBC,MAAO,CAACL,MAAM,OAAQqjB,OAAQ,QAA7D,SACA,qBAAKjjB,MAAQ,WAAWC,MAAS,CAAC+9B,aAAe,OAAQ3U,OAAQ,MAAO9kB,cAAe,OAAvF,SACA,qBAAKvE,MAAQ,UAAb,SACA,qBAAKA,MAAM,qBAAX,SACI,sBAAKA,MAAM,8BAAX,UACI,sBAAKC,MAAO,CAACs4B,SAAU,OAAQn0B,gBAAgB,WAA/C,UACI,mBAAGpE,MAAM,uBAAuBC,MAAO,CAACQ,UAAU,UAAlD,SAA8DtB,EAAMu8B,gBAClEv8B,EAAMqiF,UAAYriF,EAAMqiF,SAAS,EAC3B,mBAAGxhF,MAAM,SAASC,MAAO,CAACoE,MAAM,WAAhC,SAA6CjU,EAAiB+O,EAAMqiF,YAEpE,mBAAGxhF,MAAM,SAASC,MAAO,CAACoE,MAAM,WAAhC,eAENlF,EAAMqiF,UAAYriF,EAAMqiF,SAAS,EAC3B,mBAAGxhF,MAAM,SAAT,iBAEA,mBAAGA,MAAM,SAAT,qBAGZ,sBAAKC,MAAO,CAACs4B,SAAU,OAAQn0B,gBAAgB,WAA/C,UACI,mBAAGpE,MAAM,uBAAuBC,MAAO,CAACQ,UAAU,UAAlD,SAA8DtB,EAAM6nF,kBAClE7nF,EAAMwiF,YAAcxiF,EAAMwiF,WAAW,EAC/B,mBAAG3hF,MAAM,SAASC,MAAO,CAACoE,MAAM,WAAhC,SAA6CjU,EAAiB+O,EAAMwiF,cAEpE,mBAAG3hF,MAAM,SAASC,MAAO,CAACoE,MAAM,WAAhC,eAENlF,EAAMqiF,UAAYriF,EAAMwiF,WAAW,EAC7B,mBAAG3hF,MAAM,SAAT,iBAEA,mBAAGA,MAAM,SAAT,kCAUpB,yBAEJ,sBAAKA,MAAM,eAAX,UACI,sBAAMA,MAAM,OAAOM,QAAS,SAACC,GAvDjC3L,EAA4B,eAAgB,KAAM,WAuD9C,SACI,0CAEJ,wBAAOoL,MAAM,kBAAkBC,MAAO2mF,EAAtC,UACI,qBAAK5mF,MAAM,QAAX,SACI,oBAAIA,MAAM,oBAAV,uBAEH28E,YCJFsK,OA1Ef,SAAwB9nF,GAGpB,IAFA,IAAMrE,EAAUqE,EAAMrE,QAClBL,EAAQ,GACJtL,EAAE,EAAIA,EAAE2L,EAAQtL,OAAQL,IAkC5B,GAjCsB,SAAlB2L,EAAQ3L,GAAGqI,MACc,KAArBsD,EAAQ3L,GAAGwD,OACX8H,EAAM1L,KACF,CACI0xE,YAAa3lE,EAAQ3L,GAAGuI,QAAU,IAAMoD,EAAQ3L,GAAGwD,MACnDguE,SAAW7lE,EAAQ3L,GAAG6L,QACtBrI,MAAOmI,EAAQ3L,GAAGwD,QAKZ,YAAlBmI,EAAQ3L,GAAGqI,MACPsD,EAAQ3L,GAAGwD,OAAS,GACpB8H,EAAM1L,KACF,CACI0xE,YAAa3lE,EAAQ3L,GAAGuI,QAAU,IAAMoD,EAAQ3L,GAAG+3F,aACnDvmB,SAAW7lE,EAAQ3L,GAAG6L,QACtBrI,MAAOmI,EAAQ3L,GAAGwD,QAKZ,SAAlBmI,EAAQ3L,GAAGqI,MACc,KAArBsD,EAAQ3L,GAAGwD,OACX8H,EAAM1L,KACF,CACI0xE,YAAa3lE,EAAQ3L,GAAGuI,QAAU,IAAMoD,EAAQ3L,GAAGwD,MACnDguE,SAAW7lE,EAAQ3L,GAAG6L,QACtBrI,MAAOmI,EAAQ3L,GAAGwD,QAKV,UAApBmI,EAAQ3L,GAAGqI,KACX,IAAK,IAAIvH,EAAE,EAAGA,EAAE6K,EAAQ3L,GAAGgK,QAAQ3J,OAAQS,IACnC6K,EAAQ3L,GAAGgK,QAAQlJ,GAAGgL,QACtBR,EAAM1L,KACF,CACI0xE,YAAa3lE,EAAQ3L,GAAGgK,QAAQlJ,GAAGyH,QAAUoD,EAAQ3L,GAAGgK,QAAQlJ,GAAGyH,QAAUoD,EAAQ3L,GAAGgK,QAAQlJ,GAAG8jB,MACnG4sD,SAAW7lE,EAAQ3L,GAAG6L,QACtBrI,MAAOmI,EAAQ3L,GAAGgK,QAAQlJ,GAAGmG,QAQrD,IAAM0mF,EAAYriF,EAAMf,KAAI,SAAAtG,GAAI,OAAI,cAAC,GAAD,CAAoBA,KAAQA,EAAMstE,YAAevhE,EAAMuhE,iBAE3F,OACI,uBAAM1gE,MAAM,6CAA6CxF,GAAG,cAA5D,UACI,uCACA,uCACA,sBAAKwF,MAAM,mDAAX,UACI,qBAAKA,MAAM,QAAX,qBACA,sBAAKA,MAAM,uBAAX,UACI,qBAAKA,MAAM,wCAAwCxF,GAAG,cAAtD,SACKsiF,IAEL,sBAAM98E,MAAM,4DACR,YAAU,kBAAkBwd,MAAM,kBAAkBld,QAAS,SAAAC,GAAC,OAAIpB,EAAMgoF,qBAAqBlnF,MAAO,CAACL,MAAM,SAD/G,sCCZLwnF,GApDgB,SAACjoF,GACXA,EAAMguD,SAAvB,IACM7tD,EAASH,EAAMG,OACf0a,EAAS7a,EAAM6a,OACf/e,EAASkE,EAAMlE,OACfo4D,EAAgBl0D,EAAMk0D,cACtBp+B,EAAc91B,EAAM81B,YAEtByU,EACC1vB,EACGA,EAAOtgB,KAAI,SAAA2tF,GAAK,OACVh0B,EAAcj5C,SAASitE,EAAMC,YAAcryD,EACzC,wBAAOh1B,MAAO,CAAC6E,WAAW,OAA1B,UACI,uBACIf,KAAK,WACLvQ,KAAM6zF,EAAMC,SACZlxF,MAAOixF,EAAMC,SACb1sF,QAASy4D,EAAcj5C,SAASitE,EAAMC,UACtChnF,QAAS,SAAAC,GAAC,OAAIpB,EAAMooF,QAAQhnF,EAAE8mF,EAAMC,aACvCD,EAAM9hE,UAGX,wBAAOvlB,MAAM,WAAWC,MAAO,CAACC,QAAQ,MAAM4E,WAAW,OAAzD,UACI,uBACIf,KAAK,WACLvQ,KAAM6zF,EAAMC,SACZlxF,MAAOixF,EAAMC,SACb1sF,QAASy4D,EAAcj5C,SAASitE,EAAMC,UACtChnF,QAAS,SAAAC,GAAC,OAAIpB,EAAMooF,QAAQhnF,EAAE8mF,EAAMC,WACpCv9D,UAAaspC,EAAcj5C,SAASitE,EAAMC,YAC7CD,EAAM9hE,aAKnB,wBAIFiiE,EACF,qBAAKxnF,MAAM,oBAAX,SACI,qBAAKA,MAAM,QAAX,SACK0pC,MAMb,OACI,cAAC,GAAD,CAAUpqC,OAAUA,EAAQF,UAAWooF,EAAcvsF,OAAQA,EAAQzD,KAAM,KC+SpEiwF,GAzVU,SAACtoF,GACtB,MAA4CyB,mBAAS,IAArD,mBAAO8mF,EAAP,KAAuBC,EAAvB,KACA,EAAgD/mF,mBAASzB,EAAMyoF,kBAA/D,mBAAOA,EAAP,KACA,GADA,KAC4ChnF,mBAASzB,EAAMya,iBAA3D,mBAAOA,EAAP,KAAuBiuE,EAAvB,KACA,EAAkDjnF,mBAAS,MAA3D,mBAAOknF,EAAP,KAA0BC,EAA1B,KACA,EAA4CnnF,mBAAS,CACjD9D,QAAS,GACTG,KAAM,KAFV,mBAAO+4B,EAAP,KAAuBC,EAAvB,KAIA,EAA8Br1B,oBAAS,GAAvC,mBAAOw1B,EAAP,KAAgBC,EAAhB,KACA,EAAsCz1B,mBAAS,YAA/C,mBAAOs1B,EAAP,KAAoBC,EAApB,KACA,EAAsCv1B,mBAAS,YAA/C,mBAAOonF,EAAP,KAAoBC,EAApB,KAMIrL,EAAmB8K,EAAe94F,MAAK,SAAAwE,GAAI,OAAIA,EAAKwmB,iBAAmBA,KAAmB8tE,EAAe94F,MAAK,SAAAwE,GAAI,OAAIA,EAAKwmB,iBAAmBA,KAAgBlrB,MAAQ,KACtK0uF,EAAoBwK,EAAiBh5F,MAAK,SAAAwE,GAAI,OAAIA,EAAKwmB,iBAAmBA,KAAmBguE,EAAiBh5F,MAAK,SAAAwE,GAAI,OAAIA,EAAKwmB,iBAAmBA,KAAgBlrB,MAAQ,KAG3Kw5F,EAAiB,EACrB,GAAItL,EACA,IAAK,IAAIztF,EAAE,EAAGA,EAAEytF,EAAcptF,OAAQL,IAClC+4F,GAAkBtL,EAAcztF,GAAGg5F,OAAO34F,OAIlD,IAAI44F,EAAgB,mCAIpB,GAHqB,IAAjBF,IACAE,EAAgB,6DAEhBF,EAAe,EAGnB,IAAIG,EAA8B,QAAjBzuE,EAA0B,EAAI,EAK/C5W,qBAAU,WACgB,OAAlB45E,GAEA9zD,MAEN,CAAClP,IAGH,IAAMkP,EAAgB,WAClBrM,GAAc9C,uBAAuBC,EAAgBza,EAAM0a,aAC1D9c,MAAK,SAACC,GACH,IAAIsrF,EAAK,CACL1uE,eAAiBA,EACjBlrB,MAAQsO,EAASC,MAEfsrF,EAAuBt6F,KAAKC,MAAMD,KAAKmP,UAAUsqF,IACvDa,EAAqBx5F,KAAKu5F,GAO1BX,EAAkBY,MAErB3lF,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,aA8B7BylF,EAAY,SAACjoF,EAAG5N,GAClB,IAAMqiC,EAAiB/mC,KAAKC,MAAMD,KAAKmP,UAAU0qF,IAC7C7sF,EAASsF,EAAE4D,OAAOvJ,QAMtB,GALIK,IACK+5B,EAAe5a,SAASznB,IACzBqiC,EAAejmC,KAAK4D,KAGvBsI,GACG+5B,EAAe5a,SAASznB,GAAO,CAC/B,IAAIurB,EAAM8W,EAAer5B,QAAQhJ,GACjCqiC,EAAepkC,OAAOstB,EAAI,GAGlC6pE,EAAqB/yD,IAGnBC,EAAe6yD,GAAqBA,EAAkBt4F,QAAQ64F,GAAiC,QAApBltF,KAEjF,IAAK2sF,GAAqBlL,EACtB,GAAuB,QAAnBhjE,GACIob,EAAe,IACJjmC,KAAK,SACpBimC,EAAejmC,KAAK,UACpBg5F,EAAqB/yD,QACnB,GAAuB,QAAnBpb,EAAyB,EAC3Bob,EAAe,IACJjmC,KAAK,SACpBimC,EAAejmC,KAAK,UACpBg5F,EAAqB/yD,QACnB,GAAuB,QAAnBpb,EAAyB,EAC3Bob,EAAe,IACJjmC,KAAK,SACpBimC,EAAejmC,KAAK,UACpBg5F,EAAqB/yD,QACnB,GAAuB,OAAnBpb,EAAwB,EAC1Bob,EAAe,IACJjmC,KAAK,QACpBimC,EAAejmC,KAAK,SACpBg5F,EAAqB/yD,QACnB,GAAuB,OAAnBpb,EAAwB,EAC1Bob,EAAe,IACJjmC,KAAK,SACpBg5F,EAAqB/yD,QACnB,GAAuB,QAAnBpb,EAAyB,CAC/B,IAAIob,KAAe,IACJjmC,KAAK,UACpBg5F,EAAqB/yD,QAErB+yD,EAAqB,IAI7B,IAAMU,EACD7L,EACGA,EAAcljF,KAAI,SAAAkhD,GAAK,OACjBA,EAAMutC,QAAUvtC,EAAMutC,OAAO34F,OAAO,EAClC,qBAAKwQ,MAAM,8CAAX,SACI,cAAC0oF,GAAD,CACIv7B,SAAUvS,EAAM+tC,SAChBrpF,OAAUs7C,EAAMr1B,OAChBvL,OAAU4gC,EAAMutC,OAChBZ,QAAWiB,EACXn1B,cAAiBy0B,EACjB7sF,OAA2C,IAAjC2hF,EAAcjhF,QAAQi/C,GAChC3lB,YAAeA,MAIvB,2BAIR,wBAGR,SAAS2zD,EAAmBC,GACxB,IAAI34F,EAAM,GACV,OAAQ24F,GACJ,IAAK,MACD34F,EAAM,0BACV,MACA,IAAK,MACDA,EAAM,4BACV,MACA,IAAK,MACDA,EAAM,4BACV,MACA,IAAK,KACDA,EAAM,qBACV,MACA,IAAK,KACDA,EAAM,2BACV,MACA,IAAK,MACDA,EAAM,eACV,MACA,IAAK,MACDA,EAAM,2BACV,MACA,IAAK,MACDA,EAAM,eAGd,OAAOA,EAgBX,IAbA,IAMM44F,EAAuB,WAEzB90F,EAAyB6+B,GAAc,KAAM,WAG3Ck2D,EAAY,GAET94F,EAAE,EAAGA,EAAE23F,EAAiBp4F,OAAQS,IACrC84F,EAAUh6F,KAAK,CACXgK,IAAK6uF,EAAiB33F,GAAG2pB,eACzB7F,MAAO60E,EAAmBhB,EAAiB33F,GAAG2pB,gBAC9CroB,MAAQqoB,IAAmBguE,EAAiB33F,GAAG2pB,eAAkB,SAAW,KAMpF,IAAMu/D,EACF,qBAAKn5E,MAAM,wBAAwBC,MAAO,CAACyD,UAAU,OAArD,SACI,qBAAK1D,MAAM,YAAX,SACI,oBAAIA,MAAM,OAAV,SACK+oF,EAAUrvF,KAAI,SAAA8oB,GAAC,OAAI,oBAAIxiB,MAAOwiB,EAAEjxB,MAAO+O,QAAS,SAACC,GAAD,OA3B9Cw4E,EA2B+Dv2D,EAAEzpB,OA1BjE6gB,GACXmuE,EAAqB,WACzBF,EAAkB9O,GAHJ,IAACA,GA2BiB,SAAuDv2D,EAAEzO,iBAQvF1O,EACF,gCACI,iIAEajV,EArOL,KAmOR,sJAKA,8LAEgE,mBAAGqG,KAAK,uBAAR,kCAFhE,UAOFo8B,GAAa,sBAEnB,OACI,gCACKsmD,EACD,0BAASn5E,MAAM,wDAAwDC,MAAO,CAACyD,UAAU,QAAzF,UACM0yB,EACE,cAAC,GAAD,IAEA,cAAC,GAAD,CAAWh3B,UAAWiG,EAAchG,QAASwzB,GAAcvzB,OAxBvD,4CAwB4EE,KAAK,UAEzF,qBAAKQ,MAAM,2DAAX,SACI,qBAAKA,MAAM,UAAUC,MAAO,CAAC0gD,eAAgB,OAA7C,SACI,sBAAK3gD,MAAM,6CAA6CxF,GAAG,cAAemJ,SAAU,SAACpD,GAAD,OAAOA,EAAEqD,kBAA7F,UACI,qBAAK5D,MAAM,yBAAyBC,MAAO,CAACmtB,WAAW,OAAQ7oB,cAAc,OAA7E,SACI,qBAAIvE,MAAM,+BAAV,UAA0Co9E,EAAgB5tF,OAA1D,kBAEJ,qBAAKwQ,MAAM,yBAAyBC,MAAO,CAACmtB,WAAW,QAAvD,SACI,oBAAIptB,MAAM,8BAAV,SAAyCooF,MAE7C,sBAAKpoF,MAAM,qCAAX,UACI,qBAAKA,MAAM,4CAAX,SACI,qBAAKA,MAAM,SAAX,SACMkoF,EAAeG,EACjB,sBAAKroF,MAAM,MAAX,UACI,qBAAKJ,MAAM,OAAOC,OAAO,OAAO2e,QAAQ,YAAxC,SACI,mBAAGhkB,GAAG,eAAekkB,OAAO,OAAO,eAAa,IAAIC,KAAK,OAAO,YAAU,UAA1E,SACI,mBAAGE,UAAU,sCAAb,SACI,oBAAGrkB,GAAG,gBAAgBqkB,UAAU,oCAAhC,UACI,wBAAQrkB,GAAG,cAAckkB,OAAO,UAAU,eAAa,IAAI4W,GAAG,KAAKC,GAAG,KAAKC,EAAE,MAC7E,oBAAGh7B,GAAG,WAAWqkB,UAAU,gCAAgCF,KAAK,UAAU3e,MAAM,OAAhF,UACI,sBAAMxF,GAAG,YAAYnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MAClD,sBAAMrF,GAAG,YAAYnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,kBAR1E,4BAc8BwoF,EAAU93F,WAdxC,uGAiBA,4BAIPk4F,EACD,sBAAKzoF,MAAM,6BAAX,UACI,sBAAKA,MAAM,iDAAX,UACI,wBAAQA,MAAM,kDAAkDwd,MAAM,UAAUld,QAAS,SAAAC,GArOrHqZ,GAAoC,IAAlBA,GAAwBwjE,GAAmBA,EAAgB5tF,OAAO,GAAKs4F,GAAqBA,EAAkBt4F,OAAO,IACnI4tF,EAAgB5tF,QA3DZ,KA2DmD,QAApB2L,MACnCk7B,GAAW,GACX5Z,GAAc1C,wBAAwBH,EAAgBwjE,EAAiB0K,EAAmB,GAAI3oF,EAAM0a,YAAa1a,EAAM6pF,KAAM7pF,EAAM8pF,MAClIlsF,MAAK,SAACC,GACH,IAAMy5B,EAAuB,CACzB35B,QAASE,EAASC,KAAKy5B,UACvBz5B,KAAMD,EAASC,KAAK05B,OAExBN,GAAW,GACXJ,EAAkBQ,GAClBN,EAAe,oBACf8xD,EAAe,wBAElBrlF,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,SAC3BszB,GAAW,OAIfyyD,MAiNwI7oF,MAAO,CAAC22B,YAAY,QAApI,SAA8IV,IAC9I,wBAAQl2B,MAAM,gDAAgDwd,MAAM,QAAQld,QAAS,SAAAC,GAAC,OAAIpB,EAAM+pF,SAAQ,IAAQjpF,MAAO,CAAC6E,WAAW,QAAnI,SAA6IkjF,OAE/IhyD,EAAe/4B,MAAQ+4B,EAAe/4B,KAAKzN,OAAO,GAAKwmC,EAAel5B,SAAWk5B,EAAel5B,QAAQtN,OAAO,EAC7G,qBAAKwQ,MAAM,uBAAX,SACA,sBAAKA,MAAM,SAASC,MAAO,CAACqmB,eAAgB,UAA5C,UACI,cAAC,eAAD,CAAarpB,KAAM+4B,EAAe/4B,KAAMH,QAASk5B,EAAel5B,QAAS+5B,UAAU,IAAIxU,SAAS,sBAEhG,sBAAKriB,MAAM,MAAKC,MAAO,CAACqmB,eAAgB,UAAxC,UACA,qBAAK1mB,MAAM,OAAOC,OAAO,OAAO2e,QAAQ,YAAxC,SACI,mBAAGhkB,GAAG,eAAekkB,OAAO,OAAO,eAAa,IAAIC,KAAK,OAAO,YAAU,UAA1E,SACI,mBAAGnkB,GAAG,wDAAwDqkB,UAAU,sCAAxE,SACI,oBAAGrkB,GAAG,gBAAgBqkB,UAAU,oCAAhC,UACI,wBAAQrkB,GAAG,cAAckkB,OAAO,UAAU,eAAa,IAAI4W,GAAG,KAAKC,GAAG,KAAKC,EAAE,MAC7E,oBAAGh7B,GAAG,WAAWqkB,UAAU,gCAAgCF,KAAK,UAAU3e,MAAM,OAAhF,UACI,sBAAMxF,GAAG,YAAYnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,MAClD,sBAAMrF,GAAG,YAAYnK,EAAE,IAAIolC,EAAE,IAAI71B,MAAM,IAAIC,OAAO,kBARtE,uFAgBA,qBAAKG,MAAM,iDAAiDC,MAAO,CAACmtB,WAAY,QAAhF,SACA,cAAC,WAAD,CAASnwB,KAAM+4B,EAAe/4B,KAAMH,QAASk5B,EAAel5B,QAAS+5B,UAAU,IAAIC,iBAAiB,IAAIzU,SAAS,oBAAjH,SACI,wBAAQriB,MAAM,kDAAkDwd,MAAM,YAAtE,wCAMR,4CCnTzB2rE,GA/BW,SAAChqF,GACvB,IACM0zB,EAAe,mBACfxtB,EACF,gCACQ,qGAAoE,8CAApE,OAEA,gHAA4E,mBAAG5O,KAAK,yCAAyC0N,OAAO,SAAxD,SAAiE,sBAAMlE,MAAO,CAACoE,MAAM,WAApB,0BAE7I,qBAAKrE,MAAM,6CAAX,SACI,qBAAKA,MAAM,iDAAiDC,MAAO,CAACJ,OAAO,QAA3E,SACI,wBAAQG,MAAM,kDAAkDwd,MAAM,QAASld,QAAS,SAACC,GAAD,OAAOC,KAA/F,2BAMdA,EAAS,WACNrB,EAAMinB,MAGPjnB,EAAMinB,QAFN5xB,EAA4Bq+B,EAAc,KAAM,WAOxD,OACI,cAAC,GAAD,CAAWzzB,UAAWiG,EAAchG,QAASwzB,EAAcvzB,OA1B3C,qBA0BgErE,QAAQ,EAAMoF,YAAY,KClB9G+oF,GAAmB,EA2yCRC,GAzyCY,SAAClqF,GACxB,MAA0CyB,mBAAS,CAC/Cg0E,cAAez1E,EAAM2wB,WAAWw5D,SAChCxuF,QAASqE,EAAMrE,QACfgM,SAAU3H,EAAM2wB,WAAWhpB,SAC3BguE,WAAY31E,EAAM2wB,WAAWglD,WAC7B8P,SAAUzlF,EAAM2wB,WAAWy5D,MAC3B5E,eAAiBxlF,EAAM2wB,WAAWw5D,SAAYnqF,EAAM2wB,WAAWw5D,SAAS95F,OAAS,IANrF,mBAAO+1F,EAAP,KAAsBiE,EAAtB,KAQA,EAAwC5oF,mBAASzB,EAAM2wB,WAAWr4B,cAAlE,mBAAOA,EAAP,KAAqBgyF,EAArB,KACA,EAAgD7oF,mBAAU,MAA1D,mBAAO8oF,EAAP,KAAyBC,EAAzB,KACA,EAA8C/oF,mBAAU,MAAxD,mBAAOgpF,EAAP,KAAwBC,EAAxB,KACIzzD,GAAU,EAEVixD,EAAQ,GACRyC,GAAa,EAGjB,SAASC,EAASC,EAAIC,GAClB,IAAIC,EAAIF,EACJG,EAAIF,EAyBR,OAxBiB,OAAbC,EAAE7C,GAGE6C,EAAE7C,GADS,WAAVA,GAAgC,WAAVA,EACZ,EAEF,GAGC,gBAAVA,IACA6C,EAAE7C,GAAS,IAAIx1F,KAAKq4F,EAAE7C,IAAQx2E,WAGrB,OAAbs5E,EAAE9C,GAGM8C,EAAE9C,GADS,WAAVA,GAAgC,WAAVA,EACd,EAEA,GAGF,gBAAVA,GAAqC,UAAVA,IAC5B8C,EAAE9C,GAAS,IAAIx1F,KAAKs4F,EAAE9C,IAAQx2E,WAGjCq5E,EAAE7C,GAAO8C,EAAE9C,IAAWyC,GAAiBI,EAAE7C,GAAO8C,EAAE9C,KAAYyC,EACxD,EACAI,EAAE7C,GAAO8C,EAAE9C,IAAWyC,GAAiBI,EAAE7C,GAAO8C,EAAE9C,KAAYyC,GAC7D,EAED,EAGf,SAAS7F,EAAav1F,EAAMwvB,GAExB,GAAKxvB,GAAWwvB,GAAK,EACrB,CACoBjwB,KAAKC,MAAMD,KAAKmP,UAAU1O,IAC1C,GAAsC,gBAAlCyQ,EAAM2wB,WAAWr4B,aAA+B,CAChD,OAAOymB,GACH,KAAK,EACDmpE,EAAQ,iBACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,iBACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,SACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,SACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,SACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,SACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,cACRyC,GAAa,EAIrB,OADAp7F,EAASA,EAAM07F,KAAKL,GAIpB,OAAO7rE,GACH,KAAK,EACDmpE,EAAQ,SACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,SACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,QACRyC,GAAa,EACb,MACJ,KAAK,EACDzC,EAAQ,QACRyC,GAAa,EAIrB,OADAp7F,EAASA,EAAM07F,KAAKL,GAI5B,OAAOr7F,EAGX,SAAS27F,EAAc37F,EAAOoM,EAASwvF,GAEnC,GAAIxvF,EAEA,IAAK,IAAI3L,EAAE,EAAGA,EAAE2L,EAAQtL,OAAQL,IAE5BT,EAAQ67F,EAAa77F,EAAMoM,EAAQ3L,IAI3C,OADAT,EAAQu1F,EAAYv1F,EAAM47F,GAI9B,SAASC,EAAa77F,EAAOqM,GAEzB,GAAIrM,IACkB,SAAdqM,EAAOvD,OACqB,cAAxBuD,EAAOu6D,gBACHv6D,EAAOpI,OAA0B,KAAjBoI,EAAOpI,QACvBjE,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAOpI,UAC1C,QAAxBoI,EAAOu6D,gBACHv6D,EAAOpI,QAA2B,IAAlBoI,EAAOpI,QACvBjE,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAOpI,UAC1C,WAAxBoI,EAAOu6D,gBACHv6D,EAAOpI,OAA0B,KAAjBoI,EAAOpI,QAEvBjE,GADAA,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,gBAC3BrsC,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,YAAY9kE,WAAWkC,cAAc2nB,SAASrf,EAAOpI,MAAMF,oBAG9F,YAAdsI,EAAOvD,OACqB,cAAxBuD,EAAOu6D,gBACHv6D,EAAOpI,OAA0B,KAAjBoI,EAAOpI,QACvBjE,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAOpI,UAC1C,QAAxBoI,EAAOu6D,gBACHv6D,EAAOpI,QAA2B,IAAlBoI,EAAOpI,QACvBjE,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAOpI,UACxC,UAA1BoI,EAAOu6D,gBACHv6D,EAAOpI,QAA2B,IAAlBoI,EAAOpI,QACvBjE,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,YAAYj7C,SAASrf,EAAOpI,YAE/D,SAAdoI,EAAOvD,MACqB,WAAxBuD,EAAOu6D,gBACHv6D,EAAOpI,OAA0B,KAAjBoI,EAAOpI,QAEvBjE,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,YAAY9kE,WAAWkC,cAAc2nB,SAASrf,EAAOpI,MAAMF,mBAG9F,UAAdsI,EAAOvD,OACsB,cAAxBuD,EAAOu6D,gBAA0D,QAAxBv6D,EAAOu6D,gBAAoD,UAAxBv6D,EAAOu6D,gBAAsD,UAAxBv6D,EAAOu6D,iBACrHv6D,EAAO5B,SACP,GAAI4B,EAAOR,YAEP,IADA,IAAIhH,GAAM,EACDpE,EAAE,EAAGA,EAAE4L,EAAO5B,QAAQ3J,SAAW+D,EAAKpE,IAC3C,GAAI4L,EAAO5B,QAAQhK,GAAG8L,OAAO,CACzB1H,GAAM,EACN,IAAMi3F,EAAYzvF,EAAOyvF,SAAYzvF,EAAOyvF,SAAW,WACtC,aAAbA,EAEI97F,EADwB,QAAxBqM,EAAOu6D,eACC5mE,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIzC,SAASyC,EAAK2H,EAAOs6D,eAAe1kE,SAASoK,EAAO5B,QAAQhK,GAAGiH,UAEpF1H,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAO5B,QAAQhK,GAAGiH,SAC1D,gBAAbo0F,IAC8B,MAAhCzvF,EAAO5B,QAAQhK,GAAGs7F,YAClB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,YAAYt6D,EAAO5B,QAAQhK,GAAGiH,SACjC,OAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,aAAat6D,EAAO5B,QAAQhK,GAAGiH,SAClC,MAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,YAAYt6D,EAAO5B,QAAQhK,GAAGiH,SACjC,OAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,aAAat6D,EAAO5B,QAAQhK,GAAGiH,SAClC,OAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAO5B,QAAQhK,GAAGiH,SACnC,MAAhC2E,EAAO5B,QAAQhK,GAAGs7F,cACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAO5B,QAAQhK,GAAGiH,gBAMzF,CACA,IAAMo0F,EAAYzvF,EAAOyvF,SAAYzvF,EAAOyvF,SAAW,WACvD,GAAkB,aAAbA,GAA0C,UAAbA,EAAsB,CACpD,IAAIn3B,EAAgB,GACpB,IAASlkE,EAAE,EAAGA,EAAE4L,EAAO5B,QAAQ3J,OAAQL,IACnC,GAAI4L,EAAO5B,QAAQhK,GAAG8L,SAClBo4D,EAActkE,KAAKgM,EAAO5B,QAAQhK,GAAGiH,OACjC2E,EAAO5B,QAAQhK,GAAGomE,cAClB,IAAK,IAAItlE,EAAE,EAAGA,EAAE8K,EAAO5B,QAAQhK,GAAGomE,aAAa/lE,OAAQS,IAEnDojE,EAActkE,KAAKgM,EAAO5B,QAAQhK,GAAGomE,aAAatlE,IAI9DojE,EAAc7jE,OAAO,IAGbd,EAFsB,UAA1BqM,EAAOu6D,eACiB,UAApBv6D,EAAOyvF,SACC97F,EAAMs6B,QAAO,SAAA51B,GAAI,OAAMA,EAAK2H,EAAOs6D,aAAyG,GAA1FjiE,EAAK2H,EAAOs6D,YAAYrsC,QAAO,SAAA0hE,GAAU,OAAIr3B,EAAcj5C,SAASswE,MAAcl7F,UAEpId,EAAMs6B,QAAO,SAAA51B,GAAI,OAAKA,EAAK2H,EAAOs6D,YAAYrsC,QAAO,SAAA0hE,GAAU,OAAIr3B,EAAcj5C,SAASswE,MAAcl7F,OAAO,KAInHd,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIigE,EAAcj5C,SAAShnB,EAAK2H,EAAOs6D,sBAEtE,GAAiB,gBAAbm1B,EACN,IAASr7F,EAAE,EAAGA,EAAE4L,EAAO5B,QAAQ3J,OAAQL,IAC/B4L,EAAO5B,QAAQhK,GAAG8L,SACkB,MAAhCF,EAAO5B,QAAQhK,GAAGs7F,YAClB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,YAAYt6D,EAAO5B,QAAQhK,GAAGiH,SACjC,OAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,aAAat6D,EAAO5B,QAAQhK,GAAGiH,SAClC,MAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,YAAYt6D,EAAO5B,QAAQhK,GAAGiH,SACjC,OAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,aAAat6D,EAAO5B,QAAQhK,GAAGiH,SAClC,OAAhC2E,EAAO5B,QAAQhK,GAAGs7F,YACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAO5B,QAAQhK,GAAGiH,SACnC,MAAhC2E,EAAO5B,QAAQhK,GAAGs7F,cACxB/7F,EAAQA,EAAMs6B,QAAO,SAAA51B,GAAI,OAAIA,EAAK2H,EAAOs6D,cAAct6D,EAAO5B,QAAQhK,GAAGiH,WAU7G,OAAO1H,EAIX,IAAMi8F,EAAsB,SAACh4F,GACzB,GAAIA,EAAM,CAON,IANA,IAAIi4F,EAAa,GACbC,GAAW,EACXC,GAAW,EACXC,GAAW,EAEXC,EAAqB,GAChB77F,EAAE,EAAGA,EAAEo2F,EAAc3Q,cAAcplF,OAAQL,IAAI,CACpD,IAAIiE,EAAOmyF,EAAc3Q,cAAczlF,GACnCyqB,EAAiBxmB,EAAKgtB,gBAC1B,OAAQhtB,EAAKgtB,iBACT,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACDxG,EAAiB,KACrB,MACA,IAAK,OACL,IAAK,OACDA,EAAiB,MACrB,MACA,IAAK,MACL,IAAK,MACDA,EAAiB,MACjBixE,GAAW,EACf,MACA,IAAK,MACS,EACd,MACA,IAAK,MACDC,GAAW,EACf,MACA,IAAK,MACDC,GAAW,EAGnB,IAAIxvF,EAAOqvF,EAAWh8F,MAAK,SAAAq8F,GAAE,OAAIA,EAAGrxE,iBAAmBA,KAClDre,IACDA,EAAO,CAACqe,eAAiBA,EAAgBlrB,MAAQ,IACjDk8F,EAAW77F,KAAKwM,IAEO,QAAvBnI,EAAKgtB,iBAAkD,SAAvBhtB,EAAKgtB,iBAAmD,SAAvBhtB,EAAKgtB,gBACtE7kB,EAAK7M,MAAMK,KAAKqE,EAAKktB,GAAK,KAE1B/kB,EAAK7M,MAAMK,KAAKqE,EAAKktB,IAEjB,IAAJnxB,IACA67F,EAAqBpxE,GAEzBixE,EAAUG,EAAqB,MAC1BF,EAAUE,EAAqB,MAC/BD,IAAUC,EAAqB,OACxCrB,EAAoBqB,GACpBnB,EAAmBe,QAGnBjB,EAAoB,OActBuB,EAAoB,SAACvqB,EAAUzlE,EAASZ,GAG1C,IAFA,IAAIqkF,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmoF,IACpChyF,GAAM,EACDpE,EAAE,EAAGA,EAAEwvF,EAAQ7jF,QAAQtL,SAAW+D,EAAKpE,IAC5C,GAAIwvF,EAAQ7jF,QAAQ3L,GAAG6L,UAAY2lE,EAC/B,IAAK,IAAI1wE,EAAE,EAAGA,EAAE0uF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQ3J,SAAW+D,EAAKtD,IACvD,GAAI0uF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQlJ,GAAGiL,UAAYA,GAAWyjF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQlJ,GAAGmG,QAAU8E,EAAQ,CAGrG,GAFA3H,GAAM,EACNorF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQlJ,GAAGgL,OAASX,EACnCqkF,EAAQ7jF,QAAQ3L,GAAGoL,YAAcD,EACjC,IAAK,IAAIP,EAAE,EAAGA,EAAE4kF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQ3J,OAAQuK,IAC3CA,IAAI9J,IACJ0uF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQY,GAAGkB,QAAS,GAGnDZ,GAAqBsmE,EAAUzlE,EAASZ,EAASqkF,EAAQ7jF,QAAQ3L,GAAGoL,YACpEokF,EAAQ/J,cAAgByV,EAAclrF,EAAM2wB,WAAWw5D,SAAU3K,EAAQ7jF,QAAS6jF,EAAQ73E,UAC1F0iF,EAAiB7K,KAO/BwM,EAAmB,SAACxqB,EAAUhuE,GAGhC,IAFA,IAAIgsF,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmoF,IACpChyF,GAAM,EACDpE,EAAE,EAAGA,EAAEwvF,EAAQ7jF,QAAQtL,SAAW+D,EAAKpE,IAC5C,GAAIwvF,EAAQ7jF,QAAQ3L,GAAG6L,UAAY2lE,EAAS,CAGxC,GAFAptE,GAAI,EACJorF,EAAQ7jF,QAAQ3L,GAAGwD,MAAQA,EACK,YAA5BgsF,EAAQ7jF,QAAQ3L,GAAGqI,KAAmB,CACtC,IAAIpE,EAAOurF,EAAQ7jF,QAAQ3L,GAAG2H,SAASlI,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWhG,KAChES,IAAMurF,EAAQ7jF,QAAQ3L,GAAG+3F,aAAe9zF,EAAKT,OAErDgsF,EAAQ/J,cAAgByV,EAAclrF,EAAM2wB,WAAWw5D,SAAU3K,EAAQ7jF,QAAS6jF,EAAQ73E,UAC1F0iF,EAAiB7K,KA0G7B37E,qBAAU,WACN,IAAI27E,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmoF,IACpCpmF,EAAM2wB,WAAWr4B,eAAiBA,IAClCknF,EAAQ7jF,QAAUqE,EAAMrE,QACxB0uF,EAAiB7K,GACjB8K,EAAgBtqF,EAAM1H,cACtBkyF,EAAoB,OAEQ,OAA5BxqF,EAAM2wB,WAAWw5D,WACjB3K,EAAQ7jF,QAAUqE,EAAMrE,QACpB4uF,GACAC,EAAoB,OAEtBxqF,EAAM2wB,WAAWw5D,WAAenqF,EAAM2wB,WAAWs7D,UAAah1D,KAChEwB,IACI8xD,GACAC,EAAoB,OAExBxqF,EAAM2wB,WAAWw5D,YAzCM,SAACxuF,GAC5B,GAAkC,MAA7BqE,EAAM2wB,WAAWw5D,UAAiC,MAAXxuF,EAExC,IAAK,IAAI3L,EAAE,EAAGA,EAAE2L,EAAQtL,OAAQL,IAC5B,IAAyB,SAApB2L,EAAQ3L,GAAGqI,MAAyC,YAApBsD,EAAQ3L,GAAGqI,OAEX,IAA7BsD,EAAQ3L,GAAG2H,SAAStH,QACf2P,EAAMrE,QAAQ3L,IAAQgQ,EAAMrE,QAAQ3L,GAAG2H,SAAStH,OAAO,IACxDsL,EAAQ3L,GAAG2H,SAAWqI,EAAMrE,QAAQ3L,GAAG2H,SACf,YAApBgE,EAAQ3L,GAAGqI,MACPsD,EAAQ3L,GAAGwD,MAAM,GAAE,CACnB,IAAIS,EAAO0H,EAAQ3L,GAAG2H,SAASlI,MAAK,SAAAwE,GAAI,OAAIA,EAAKuF,SAAWmC,EAAQ3L,GAAGwD,SACnES,IAAM0H,EAAQ3L,GAAG+3F,aAAe9zF,EAAKT,QA8BjE04F,CAAuB1M,EAAQ7jF,SAC/B6jF,EAAQ/J,cAAiByV,EAAclrF,EAAM2wB,WAAWw5D,SAAU3K,EAAQ7jF,QAAS6jF,EAAQ73E,UAC3F63E,EAAQiG,SAAWzlF,EAAM2wB,WAAWy5D,MACpC5K,EAAQgG,eAAiBxlF,EAAM2wB,WAAWw5D,SAAS95F,OACnDg6F,EAAiB7K,IAErB,IAAK,IAAIxvF,EAAE,EAAGA,EAAEwvF,EAAQ7jF,QAAQtL,OAAQL,IACN,UAA1BwvF,EAAQ7jF,QAAQ3L,GAAGqI,MACnB6C,GAAqBskF,EAAQ7jF,QAAQ3L,GAAG6L,QAAS2jF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQ,GAAG/C,MAAOuoF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQ,GAAG8B,OAAQ0jF,EAAQ7jF,QAAQ3L,GAAGoL,cAGxJ,CAAC4E,EAAM2wB,WAAWw5D,SAAUnqF,EAAMrE,UAErC,IAAMwwF,EAAoB,SAACC,EAAWjsF,EAAOksF,EAAWjC,EAAMkC,EAAWjK,EAASG,EAAWjmD,EAAcsrD,GACvG,GAAI0E,GAAwBl1F,OAAO5G,SAAS6G,KAC5C,CAAC,IAAD,EACQ20F,GAAW,EACXI,IACAJ,GAAW,GACfjsF,EAAM4d,cAAN,GACIC,UAAW7d,EAAM2wB,WAAWr4B,aAC5B4oB,MAAOlhB,EAAM2wB,WAAWt1B,GACxBmgC,SAAU4wD,EACVx3E,MAAO5U,EAAM2wB,WAAW/b,MACxBjZ,QAASyqF,EAAczqF,QACvBwE,OAAQA,EACRg+E,eAAgBn+E,EAAM2wB,WAAWwtD,eACjCxI,WAAY31E,EAAM2wB,WAAWglD,WAC7BhuE,SAAUy+E,EAAcz+E,SACxBi0B,WAAY,qBACZqwD,SAAUA,EACV7B,MAAOA,EACP/3E,MAAOrS,EAAM2wB,WAAWte,MACxBC,QAAStS,EAAM2wB,WAAWre,QAC1BC,QAASvS,EAAM2wB,WAAWpe,QAC1BxN,IAAK/E,EAAM2wB,WAAW5rB,IACtBsM,MAAOrR,EAAM2wB,WAAWtf,MACxBm7E,KAAMxsF,EAAM2wB,WAAW67D,KACvBp5E,OAAQpT,EAAM2wB,WAAWvd,OACzBC,MAAOrT,EAAM2wB,WAAWtd,MACxB/Z,IAAK0G,EAAM2wB,WAAWr3B,IACtBuZ,KAAM7S,EAAM2wB,WAAW9d,KACvBC,MAAO9S,EAAM2wB,WAAW7d,MACxBpK,KAAM1I,EAAM2wB,WAAWjoB,KACvBuK,KAAMjT,EAAM2wB,WAAW1d,KACvBF,IAAK/S,EAAM2wB,WAAW5d,IACtBO,IAAKtT,EAAM2wB,WAAWrd,IACtBzC,KAAM7Q,EAAM2wB,WAAW9f,KACvBC,QAAS9Q,EAAM2wB,WAAW7f,QAC1BiE,QAAS/U,EAAM2wB,WAAW5b,QAC1BG,QAASlV,EAAM2wB,WAAWzb,QAC1Bpb,IAAKkG,EAAM2wB,WAAW72B,IACtBwb,UAAWtV,EAAM2wB,WAAWrb,UAC5BrE,MAAOjR,EAAM2wB,WAAW1f,MACxB2E,OAAQ5V,EAAM2wB,WAAW/a,OACzB62E,UAAWzsF,EAAM2wB,WAAW87D,UAC5Bz2E,QAAShW,EAAM2wB,WAAW3a,QAC1BC,WAAYjW,EAAM2wB,WAAW1a,WAC7Bc,OAAQ/W,EAAM2wB,WAAW5Z,OACzBC,QAAShX,EAAM2wB,WAAW3Z,QAC1BC,SAAUjX,EAAM2wB,WAAW1Z,SAC3BC,SAAUlX,EAAM2wB,WAAWzZ,SAC3BC,QAASnX,EAAM2wB,WAAWxZ,QAC1BE,IAAKrX,EAAM2wB,WAAWtZ,IACtBC,IAAKtX,EAAM2wB,WAAWrZ,IACtBF,QAASpX,EAAM2wB,WAAWvZ,QAC1BG,OAAQvX,EAAM2wB,WAAWpZ,OACzBC,KAAMxX,EAAM2wB,WAAWnZ,KACvBC,OAAQzX,EAAM2wB,WAAWlZ,OACzBG,KAAM5X,EAAM2wB,WAAW/Y,KACvBC,KAAM7X,EAAM2wB,WAAW9Y,KACvBF,OAAQ3X,EAAM2wB,WAAWhZ,OACzBD,KAAM1X,EAAM2wB,WAAWjZ,KACvBM,OAAQhY,EAAM2wB,WAAW3Y,OACzBhG,OAAQhS,EAAM2wB,WAAW3e,OACzBC,IAAKjS,EAAM2wB,WAAW1e,IACtBowE,SAAUA,EACVG,WAAYA,EACZjmD,cAAeA,EACfsrD,gBAAiBA,EACjBt0E,aAAcvT,EAAM2wB,WAAWpd,aAC/BC,aAAcxT,EAAM2wB,WAAWnd,aAC/BG,aAAc3T,EAAM2wB,WAAWhd,aAC/BC,aAAc5T,EAAM2wB,WAAW/c,aAC/BK,aAAcjU,EAAM2wB,WAAW1c,aAC/BC,aAAclU,EAAM2wB,WAAWzc,aAC/BH,cAAe/T,EAAM2wB,WAAW5c,cAChCC,cAAehU,EAAM2wB,WAAW3c,cAChCH,cAAe7T,EAAM2wB,WAAW9c,cAChCC,cAAe9T,EAAM2wB,WAAW7c,cAChCL,cAAezT,EAAM2wB,WAAWld,cAChCC,cAAe1T,EAAM2wB,WAAWjd,cAChCW,SAAUrU,EAAM2wB,WAAWtc,SAC3BD,MAAOpU,EAAM2wB,WAAWvc,MACxBD,IAAKnU,EAAM2wB,WAAWxc,IACtBI,UAAWvU,EAAM2wB,WAAWpc,UAC5BC,MAAOxU,EAAM2wB,WAAWnc,MACxBC,MAAOzU,EAAM2wB,WAAWlc,MACxBC,MAAO1U,EAAM2wB,WAAWjc,MACxBC,OAAQ3U,EAAM2wB,WAAWhc,QAhF7B,sBAiFW3U,EAAM2wB,WAAWte,OAjF5B,sBAkFWrS,EAAM2wB,WAAW/b,OAlF5B,wBAmFc5U,EAAM2wB,WAAW7b,SAnF/B,oBAoFS9U,EAAM2wB,WAAWjpB,KApF1B,8BAqFmB1H,EAAM2wB,WAAWujC,eArFpC,MA2FJq4B,EAAuB,GAErB9zD,EAAW,WACb,IAAIi0D,EAAS,IACT1sF,EAAM2wB,WAAWw5D,WACjBuC,EAAS,KAEbz1D,GAAU,EACVs1D,EAAuBl1F,OAAO5G,SAAS6G,KACvC,IAAIg1F,EAAa56F,KAAKuoB,MAAuB,IAAjBvoB,KAAKwoB,UAEjC,OADA+vE,GAAmBqC,EACXtsF,EAAM2wB,WAAWr4B,cACrB,IAAK,UACDigC,GAAgB9wB,cAAczH,EAAM2wB,WAAW/b,MAAO5U,EAAM2wB,WAAWjpB,IAAK1H,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACzG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,kBACL,IAAK,kBACL,IAAK,kBACDmS,GAAgBjrB,wBAAwBtN,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC1F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,kBACDmS,GAAgB/qB,qBAAqBxN,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACvF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,oBACDmS,GAAgBjqB,2BAA4BtO,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC9F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjC2yD,EAAYxG,EAAczqF,QAAQlM,MAAK,SAAA+pF,GAAC,MAAkB,YAAdA,EAAE39E,WAClD,GAAI+wF,GAAaA,EAAU5yF,QAAQ,CAC/B,IAAI6yF,EAAWD,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,QAAdA,EAAE/wF,WACzC8wF,IACAA,EAAS51F,MAAM4G,EAASC,KAAKwkF,SAEjCuK,EAAWD,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,QAAdA,EAAE/wF,cAErC8wF,EAAS51F,MAAM4G,EAASC,KAAKwkF,QAEjC,IAAIyK,EAAYH,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,SAAdA,EAAE/wF,WAC1CgxF,IACAA,EAAU91F,MAAM4G,EAASC,KAAKkvF,UAElCD,EAAYH,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,SAAdA,EAAE/wF,cAEtCgxF,EAAU91F,MAAM4G,EAASC,KAAKkvF,SAGtCb,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAAQ,EAAOvoB,EAASC,KAAKm8B,WAAW5pC,OAAQ,EAAIwN,EAASC,KAAKwkF,OAAQzkF,EAASC,KAAKkvF,QAASnvF,EAASC,KAAK+vE,OAAQhwE,EAASC,KAAKmjF,YAE7L,MACA,IAAK,gBACD1oD,GAAgB/pB,yBAAyBxO,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC3F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjC2yD,EAAYxG,EAAczqF,QAAQlM,MAAK,SAAA+pF,GAAC,MAAkB,YAAdA,EAAE39E,WAClD,GAAI+wF,GAAaA,EAAU5yF,QAAQ,CAC/B,IAAI6yF,EAAWD,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,QAAdA,EAAE/wF,WACzC8wF,IACAA,EAAS51F,MAAM4G,EAASC,KAAKwkF,SAEjCuK,EAAWD,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,QAAdA,EAAE/wF,cAErC8wF,EAAS51F,MAAM4G,EAASC,KAAKwkF,QAEjC,IAAIyK,EAAYH,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,SAAdA,EAAE/wF,WAC1CgxF,IACAA,EAAU91F,MAAM4G,EAASC,KAAKkvF,UAElCD,EAAYH,EAAU5yF,QAAQvK,MAAK,SAAAq9F,GAAC,MAAkB,SAAdA,EAAE/wF,cAEtCgxF,EAAU91F,MAAM4G,EAASC,KAAKkvF,SAGtCb,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAAQ,EAAOvoB,EAASC,KAAKm8B,WAAW5pC,OAAQ,EAAIwN,EAASC,KAAKwkF,OAAQzkF,EAASC,KAAKkvF,QAASnvF,EAASC,KAAK+vE,OAAQhwE,EAASC,KAAKmjF,YAEzL,MACJ,IAAK,oBACD1oD,GAAgBhqB,wBAAwBvO,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC1F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAAQ,EAAOvoB,EAASC,KAAKm8B,WAAW5pC,OAAQ,EAAIwN,EAASC,KAAKwkF,OAAQzkF,EAASC,KAAKkvF,QAASnvF,EAASC,KAAK+vE,OAAQhwE,EAASC,KAAKmjF,YAEzL,MACJ,IAAK,gBACD1oD,GAAgB9pB,uBAAuBzO,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACzF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAAQ,EAAOvoB,EAASC,KAAKm8B,WAAW5pC,OAAQ,EAAIwN,EAASC,KAAKwkF,OAAQzkF,EAASC,KAAKkvF,QAASnvF,EAASC,KAAK+vE,OAAQhwE,EAASC,KAAKmjF,YAEzL,MACJ,IAAK,iBACL,IAAK,iBACD1oD,GAAgB7pB,uBAAuB1O,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC3G,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,iBACD10D,GAAgB3pB,oBAAoB5O,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACxG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,SACL,IAAK,SACL,IAAK,SACD10D,GAAgBxpB,oBAAoB/O,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACtF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,UACDmS,GAAgBvpB,sBAAsBhP,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACxF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,mBACL,IAAK,mBACL,IAAK,mBACDmS,GAAgBhrB,yBAAyBvN,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACtG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,mBACDmS,GAAgB9qB,sBAAsBzN,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACnG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,kBACL,IAAK,kBACDmS,GAAgB1pB,wBAAwB7O,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACvH,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,kBACD10D,GAAgBzpB,qBAAqB9O,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACpH,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,UACL,IAAK,UACD10D,GAAgBtpB,uBAAuBjP,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACpG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,UACDmS,GAAgBtpB,uBAAuBjP,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACpG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,WACDmS,GAAgBnpB,yBAAyBpP,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACtG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,eACDmS,GAAgBlpB,qBAAqBrP,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACzG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,sBACD10D,GAAgBjpB,wBAAwBtP,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC5G,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,SACL,IAAK,SACD10D,GAAgBhpB,kBAAkBvP,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACpF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,UACL,IAAK,UACDmS,GAAgB/oB,mBAAmBxP,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACrF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,UACDmS,GAAgB9oB,gBAAgBzP,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAClF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,WACDmS,GAAgB7oB,cAAc1P,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAClG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,cACD10D,GAAgB5oB,iBAAiB3P,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACrG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,SAEvH,MACJ,IAAK,iBACDy6B,GAAgB3oB,mBAAmB5P,EAAM2wB,WAAWt1B,GAAI,EAAG2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC1G,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,iBACD10D,GAAgB3oB,mBAAmB5P,EAAM2wB,WAAWt1B,GAAI,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC3G,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACvCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAExH,MACJ,IAAK,iBACD10D,GAAgBzoB,gBAAgB9P,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACpG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,uBACD10D,GAAgB3oB,mBAAmB5P,EAAM2wB,WAAWt1B,GAAI,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC3G,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,iBACD10D,GAAgB3oB,mBAAmB5P,EAAM2wB,WAAWt1B,GAAI,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC3G,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,sBACD10D,GAAgB3oB,mBAAmB5P,EAAM2wB,WAAWt1B,GAAI,EAAG2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC1G,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,aACL,IAAK,aACD10D,GAAgBvoB,mBAAmBhQ,EAAM2wB,WAAWujC,cAAel0D,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAClH,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,YACL,IAAK,YACD10D,GAAgBxoB,kBAAkB/P,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACtG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,YACD10D,GAAgBroB,eAAelQ,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACnG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,YACD10D,GAAgBpoB,eAAenQ,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACjF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,aACDmS,GAAgBtoB,mBAAmBjQ,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACrF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MAEJ,IAAK,gBACDmS,GAAgB/nB,mBAAmBxQ,EAAM2wB,YAAY/yB,MAAK,SAACC,GACvD,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MAEJ,IAAK,wBACDmS,GAAgBvnB,8BAA8BhR,EAAM2wB,WAAW1f,MAAOjR,EAAM2wB,WAAWrb,UAAWtV,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC/H,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MAEJ,IAAK,mBACDmS,GAAgBnnB,gCAAgCpR,EAAM2wB,WAAY3wB,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC/F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MAEJ,IAAK,eACDmS,GAAgBzmB,2BAA2B9R,EAAM2wB,WAAY3wB,EAAM2wB,WAAWhpB,SAAU,KAAK/J,MAAK,SAACC,GAC/F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MAEJ,IAAK,eACDmS,GAAgBzmB,2BAA2B9R,EAAM2wB,WAAY3wB,EAAM2wB,WAAWhpB,SAAS,KAAK/J,MAAK,SAACC,GAC9F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MAEJ,IAAK,eACDmS,GAAgBrmB,iBAAiBlS,EAAM2wB,WAAY3wB,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAChF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,yBACDmS,GAAgBnmB,+BAA+BpS,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GACrF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,kBACL,IAAK,kBACL,IAAK,kBACD10D,GAAgB3lB,wBAAwB5S,EAAM2wB,YAAY/yB,MAAK,SAACC,GAC5D,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,eACDmS,GAAgBplB,wBAAwBnT,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GAC9E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,eACD10D,GAAgBljB,wBAAwBrV,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GAC9E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,eACD10D,GAAgB/iB,6BAA6BxV,EAAM2wB,YAAY/yB,MAAK,SAACC,GAEjE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,eACDmS,GAAgBxiB,qBAAqB/V,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GAC3E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,yBACD10D,GAAgBpiB,+BAA+BnW,EAAM2wB,YAAY/yB,MAAK,SAACC,GACnE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MAEJ,IAAK,oBACDmS,GAAgB5hB,eAAe3W,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC5D,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,gBACDmS,GAAgB3hB,kBAAkB5W,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC/D,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAEpD,MACJ,IAAK,iBACDmS,GAAgBzhB,uBAAuB9W,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GAC7E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MAEJ,IAAK,kBACD10D,GAAgBxgB,gBAAgB/X,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GACtE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAE5H,MACJ,IAAK,mBACG10D,GAAgBrgB,sBAAsBlY,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACxF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,aACGmS,GAAgBpgB,mBAAmBnY,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAClF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,cACG10D,GAAgBngB,oBAAoBpY,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACnF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,aACG10D,GAAgBlgB,mBAAmBrY,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAClF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,cACG10D,GAAgBjgB,oBAAoBtY,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACnF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,eACG10D,GAAgBhgB,qBAAqBvY,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GACpF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,YACG10D,GAAgB/f,kBAAkBxY,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC/D,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,yBACGmS,GAAgB9f,8BAA8BzY,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC3E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,2BACGmS,GAAgB7f,gCAAgC1Y,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC7E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,uBACGmS,GAAgB5f,gCAAgC3Y,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC7E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,2BACGmS,GAAgB3f,iCAAiC5Y,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC9E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,2BACGmS,GAAgB1f,iCAAiC7Y,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAChG,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,mBACG10D,GAAgBzf,2BAA2B9Y,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACxE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,yBACGmS,GAAgBxf,iCAAiC/Y,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC9E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,wBACGmS,GAAgBvf,8BAA8BhZ,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC3E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,oBACGmS,GAAgBtf,cAAcjZ,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC3D,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,oBACGmS,GAAgBrf,cAAclZ,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC3D,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACJ,IAAK,2BACGmS,GAAgBnf,2BAA2BpZ,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC1F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,qBACG10D,GAAgBpf,2BAA2BnZ,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC1F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,qBACG10D,GAAgBnf,2BAA2BpZ,EAAM2wB,WAAWhpB,SAAS+kF,EAAOJ,GAAY1uF,MAAK,SAACC,GAC1F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MAEJ,IAAK,gBACG10D,GAAgBlf,sBAAsBrZ,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GAC5E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MAEJ,IAAK,qBACD10D,GAAgBjf,2BAA2BtZ,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GACjF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MAEA,IAAK,mBACG10D,GAAgBhf,yBAAyBvZ,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GAC/E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,qBACG10D,GAAgB/e,2BAA2BxZ,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GACjF,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACJ,IAAK,aACD10D,GAAgB9e,mBAAmBzZ,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GACzE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MACA,IAAK,sBACD10D,GAAgB7e,mBAAmB1Z,EAAM2wB,WAAW+7D,EAAOJ,GAAY1uF,MAAK,SAACC,GACzE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACjCgwD,KAAqBpsF,EAASC,KAAKmvF,YACnCd,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,QAASvoB,EAASC,KAAKovF,SAAUrvF,EAASC,KAAKqvF,MAAOtvF,EAASC,KAAKmvF,eAEhI,MAEA,IAAK,2BACD10D,GAAgBze,wBAAwB9Z,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACrE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,2BACDmS,GAAgB1e,iCAAiC7Z,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC9E,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,oBACDmS,GAAgBxe,0BAA0B/Z,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GACvE,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,WAExD,MACA,IAAK,cACDmS,GAAgBne,sBAAsBpa,EAAM2wB,YAAY/yB,MAAK,SAACC,GAC1D,IAAM8uF,EAAiB9uF,EAASC,KAChCquF,EAAkBQ,EAAgB,8CAE1C,MACA,IAAK,kBACDp0D,GAAgB/b,wBAAwBxc,EAAM2wB,WAAWt1B,GAAI2E,EAAM2wB,WAAWhpB,UAAU/J,MAAK,SAACC,GAC1F,IAAM8uF,EAAiB9uF,EAASC,KAAKm8B,WACrCkyD,EAAkBQ,EAAgB9uF,EAASC,KAAKsoB,aAU5DohE,EAAqD,kBAAhCxnF,EAAM2wB,WAAWr4B,cACkB,sBAAjC0H,EAAM2wB,WAAWr4B,cACe,kBAAhC0H,EAAM2wB,WAAWr4B,cACgB,sBAAjC0H,EAAM2wB,WAAWr4B,aAEtC80F,EAAqD,KAAvC1xF,GAAc0qF,EAAczqF,SAEhD,OAAmC,MAA/ByqF,EAAc3Q,eAAsD,MAA7Bz1E,EAAM2wB,WAAWw5D,SAEpDnqF,EAAM2wB,WAAWw5D,SAAS95F,OAAQ,EAE7Bk6F,GAAoBE,EACG,QAAnBzuF,KACD,cAAC,GAAD,CACIye,eAAkB8vE,EAClB9B,iBAAoBgC,EACpB/vE,YAAe1a,EAAM2wB,WAAWr4B,aAChCyxF,QAAWyB,EACX3B,KAAyC,qBAAhC7pF,EAAM2wB,WAAWr4B,cAAqC0H,EAAM2wB,WAAW3e,OAAUtgB,KAAKC,MAAMqO,EAAM2wB,WAAW3e,OAAON,UAAU,KAAQ,KAC/Io4E,KAAyC,qBAAhC9pF,EAAM2wB,WAAWr4B,cAAqC0H,EAAM2wB,WAAW1e,IAAOvgB,KAAKC,MAAMqO,EAAM2wB,WAAW1e,IAAIP,UAAU,KAAQ,OAG7I,cAAC,GAAD,CAAmBuV,MAASukE,IAG5B,sBAAK3qF,MAAM,YAAX,UACI,cAAC,GAAD,CACIlF,QAAWyqF,EAAczqF,QACzBwjE,YAAe4sB,EACf1P,YAAe2P,EACf3J,SAAamF,EAAqBxnF,EAAM2wB,WAAW0xD,SAAU,KAC7DG,WAAegF,EAAqBxnF,EAAM2wB,WAAW6xD,WAAY,KACjEjmD,cAAkBirD,EAAqBxnF,EAAM2wB,WAAW4L,cAAe,KACvEsrD,gBAAoBL,EAAqBxnF,EAAM2wB,WAAWk3D,gBAAiB,KAC3EL,kBAAqBA,IAGzB,qBAAK3mF,MAAM,UAAX,SACI,sBAAKA,MAAM,8BAAX,UACKusF,EACD,cAAC,GAAD,CACIzxF,QAAWyqF,EAAczqF,QACzB4lE,YA53BZ,SAACC,EAAUzlE,GAI3B,IAFA,IAAIyjF,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmoF,IACpChyF,GAAM,EACDpE,EAAE,EAAGA,EAAEwvF,EAAQ7jF,QAAQtL,SAAW+D,EAAKpE,IAC5C,GAAIwvF,EAAQ7jF,QAAQ3L,GAAG6L,UAAY2lE,EAM/B,GAL8B,SAA1Bge,EAAQ7jF,QAAQ3L,GAAGqI,OACnBjE,GAAM,EACN5D,SAASgL,eAAe,UAAUgmE,GAAUvqE,MAAM,GAClD+0F,EAAiBxqB,EAAU,KAED,YAA1Bge,EAAQ7jF,QAAQ3L,GAAGqI,KACnBjE,GAAM,GAGNH,GADAA,GADIA,EAAOzD,SAASgL,eAAe,UAAUgkF,EAAQ7jF,QAAQ3L,GAAG6L,UACpDmxB,aACAP,SAAS,IAChB5nB,YAAc26E,EAAQ7jF,QAAQ3L,GAAG6U,YACtCmnF,EAAiBxqB,GAAW,QAE3B,GAA8B,SAA1Bge,EAAQ7jF,QAAQ3L,GAAGqI,KACxBjE,GAAM,EACN5D,SAASgL,eAAe,UAAUgmE,GAAUvqE,MAAM,GAClD+0F,EAAiBxqB,EAAU,SAE1B,GAA8B,UAA1Bge,EAAQ7jF,QAAQ3L,GAAGqI,KAAe,CAEvC,IAAIpE,EADJG,GAAM,GACFH,EAAOzD,SAASgL,eAAegmE,EAAW,KAAOzlE,MAEjD9H,EAAKwH,SAAU,GAEnBswF,EAAkBvqB,EAASzlE,GAAQ,GACnCb,GAAqBsmE,EAASzlE,GAAQ,EAAMyjF,EAAQ7jF,QAAQ3L,GAAGoL,cA81B/C4sF,kBAx1BN,WAGtB,IADA,IAAIxI,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmoF,IAC/Bp2F,EAAE,EAAGA,EAAEwvF,EAAQ7jF,QAAQtL,OAAQL,IAgBpC,GAf8B,SAA1BwvF,EAAQ7jF,QAAQ3L,GAAGqI,OACnB7H,SAASgL,eAAe,UAAUgkF,EAAQ7jF,QAAQ3L,GAAG6L,SAAS5E,MAAM,GACpEuoF,EAAQ7jF,QAAQ3L,GAAGwD,MAAQ,IAED,SAA1BgsF,EAAQ7jF,QAAQ3L,GAAGqI,OACnB7H,SAASgL,eAAe,UAAUgkF,EAAQ7jF,QAAQ3L,GAAG6L,SAAS5E,MAAM,GACpEuoF,EAAQ7jF,QAAQ3L,GAAGwD,MAAQ,IAED,YAA1BgsF,EAAQ7jF,QAAQ3L,GAAGqI,QAGnBpE,GADAA,GADIA,EAAOzD,SAASgL,eAAe,UAAUgkF,EAAQ7jF,QAAQ3L,GAAG6L,UACpDmxB,aACAP,SAAS,IAChB5nB,YAAc26E,EAAQ7jF,QAAQ3L,GAAG6U,YACtC26E,EAAQ7jF,QAAQ3L,GAAGwD,OAAS,GAEF,UAA1BgsF,EAAQ7jF,QAAQ3L,GAAGqI,KACnB,IAAI,IAAIvH,EAAE,EAAGA,EAAE0uF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQ3J,OAAQS,IAAI,CAClD,IAAImD,KAAOzD,SAASgL,eAAegkF,EAAQ7jF,QAAQ3L,GAAG6L,QAAU,KAAO2jF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQlJ,GAAGmG,UAEjGhD,EAAKwH,SAAU,GAEnB+jF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQlJ,GAAGgL,QAAS,EACvCZ,GAAqBskF,EAAQ7jF,QAAQ3L,GAAG6L,QAAQ2jF,EAAQ7jF,QAAQ3L,GAAGgK,QAAQlJ,GAAGmG,OAAM,EAAMuoF,EAAQ7jF,QAAQ3L,GAAGoL,YAIzHokF,EAAQ/J,cAAgByV,EAAclrF,EAAM2wB,WAAWw5D,SAAU3K,EAAQ7jF,QAAS6jF,EAAQ73E,UAC1F0iF,EAAiB7K,MA6zBO,6BAEA,cAAC,GAAD,CAAkB4G,cAAiBA,EACfxoE,aAAc5d,EAAM4d,aACpB4mE,SA54BxB,SAAC78E,GACrB,IAAI63E,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmoF,IACxC5G,EAAQ73E,SAAWA,EACnB63E,EAAQ/J,cAAgBqP,EAAYtF,EAAQ/J,cAAc9tE,GAC1D0iF,EAAiB7K,IAy4B2BmB,UAA6C,2BAAhC3gF,EAAM2wB,WAAWr4B,aAC9B0sF,UAA6C,sBAAhChlF,EAAM2wB,WAAWr4B,aAC9B2sF,WAA8C,oBAAhCjlF,EAAM2wB,WAAWr4B,aAC/BwoF,cAAmD,uBAAlC9gF,EAAM2wB,WAAWr4B,cACmB,uBAAlC0H,EAAM2wB,WAAWr4B,aACpCyqF,YAAiD,uBAAlC/iF,EAAM2wB,WAAWr4B,cACqB,qBAAlC0H,EAAM2wB,WAAWr4B,aACpCgpF,gBAAqD,uBAAlCthF,EAAM2wB,WAAWr4B,aACpCspF,iBAAsD,eAAlC5hF,EAAM2wB,WAAWr4B,cACgB,wBAAlC0H,EAAM2wB,WAAWr4B,aACpCwrF,cAAmD,6BAAlC9jF,EAAM2wB,WAAWr4B,aAClC0pF,eAAoD,sBAAlChiF,EAAM2wB,WAAWr4B,aACnC4pF,mBAAwD,sBAAlCliF,EAAM2wB,WAAWr4B,aACvCusF,kBAAuD,gBAAlC7kF,EAAM2wB,WAAWr4B,aACtC8oF,mBAAwD,2BAAlCphF,EAAM2wB,WAAWr4B,aACvC6pF,mBAAwD,sBAAlCniF,EAAM2wB,WAAWr4B,cAA0E,kBAAlC0H,EAAM2wB,WAAWr4B,aAChGwpF,oBAAyD,6BAAlC9hF,EAAM2wB,WAAWr4B,aACxCqtF,uBAA4D,sBAAlC3lF,EAAM2wB,WAAWr4B,aAC3CA,aAAgB0H,EAAM2wB,WAAWr4B,aACjC+pF,SAAcriF,EAAM2wB,WAAW0xD,SAC/BG,WAAcxiF,EAAM2wB,WAAW6xD,WAC/BkD,WAAc8F,EACd5F,SAt9BxB,WACpBtoE,GAActQ,iBACd,IAAIwyE,EAAU1wF,KAAKC,MAAMD,KAAKmP,UAAUmoF,IACxC5G,EAAQ/J,cAAgB,GACxB+J,EAAQiG,SAAW,EACnBjG,EAAQ7J,WAAa,EACrB6J,EAAQgG,eAAiB,EACzB6E,EAAiB7K,IAg9B2BuH,aAAgB/mF,EAAM+mF,uBAS1D,sBAAKsG,MAAM,SAAX,UACI,qCACA,qCACA,qCACA,qCACA,oEAOJ,cAAC,GAAD,KCzHDC,GAnrCW,SAACttF,GACvB,IAAM2wB,EAAa3wB,EAAM2wB,WAEnB48D,EAAe,CACjB1xF,QAAU,SACV+uC,OAAS,SACTvyC,KAAM,OACN69D,WAAY,iBACZC,eAAgB,SAChB3iE,MAASm9B,EAAWwtD,gBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,UAAwBja,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,UAAqBp3C,MACxH,GACN+E,QAAS,WACTuoD,SAAS,GAGP0sC,EAAe,CACjB3xF,QAAU,SACV+uC,OAAS,SACTvyC,KAAM,OACN69D,WAAY,SACZC,eAAgB,SAChB3iE,MAASm9B,EAAWwtD,gBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,UAAwBja,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,UAAqBp3C,MACxH,GACN+E,QAAS,WACTuoD,SAAS,GAGP2sC,EAA6B,CAC3B74E,MAAM,yBACNrc,QAAS,aACTtB,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,MAAX15C,EAAEsC,SAEnE06D,MAAM,GAGRw/B,EAAqB,CACnB7xF,QAAU,QACV+uC,OAAS,gBACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,SACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,SACNrc,QAAS,uBACTtB,MAAM,KACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,OAAX15C,EAAEsC,SAEnE06D,MAAM,GAEV,CACIt5C,MAAM,WACNrc,QAAS,yBACTtB,MAAM,KACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,OAAX15C,EAAEsC,SAEnE06D,MAAM,KAIhBy/B,EAAiB,CACf9xF,QAAU,OACV+uC,OAAS,SACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,UACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,QACNrc,QAAS,SACTtB,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,MAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,KACNrc,QAAS,YACTtB,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,MAAX15C,EAAEsC,SAElE06D,MAAM,KAKhB0/B,EAAe,CACjB/xF,QAAU,SACV+uC,OAAS,OACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,SACZC,eAAgB,MAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,uBACNrc,QAAS,uBACTtB,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAA8C,MAAvB15C,EAAEsC,MAAMpC,cAE1E88D,MAAM,GAEV,CACIt5C,MAAM,qBACNrc,QAAS,qBACTtB,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAA8C,MAAvB15C,EAAEsC,MAAMpC,cAE1E88D,MAAM,KAKZ2/B,EAAe,CACjBhyF,QAAU,OACV+uC,OAAS,UACTvyC,KAAM,UACNy1F,YA2RJ,WACI,IAAI9hB,EAAc,GACdsZ,EAAatlF,EAAM2wB,WAAWw5D,SAClC,GAAkB,MAAd7E,EACA,IAAK,IAAIt1F,EAAE,EAAGA,EAAEs1F,EAAWj1F,OAAQL,IAC/B,GAAIs1F,EAAWt1F,GAAG6zF,OAAO,EAAE,CACvB,IAAIkK,EAAO,CAACv0F,OAAQ8rF,EAAWt1F,GAAG6zF,OAAQrwF,MAAO8xF,EAAWt1F,GAAG69E,QACzD7B,EAAYzqC,MAAM,SAAApvC,GAAO,OAAIA,EAAQqH,SAAWu0F,EAAKv0F,WACvDwyE,EAAYp8E,KAAKm+F,GAKvB/hB,EAAYif,MAAK,SAACF,EAAGC,GAAJ,OAAUA,EAAEx3F,MAAQu3F,EAAEv3F,MAAQ,GAAK,KAC1Dw4E,EAAY37E,OAAO,GACnB27E,EAAYv6E,OAAO,EAAE,EAAE,CAAC+H,QAAQ,EAAGhG,MAAO,0BAE9C,OAAOw4E,GA3SPr0E,SAAS,GACTyD,YAAa,EACb86D,WAAY,SACZC,eAAgB,MAChBtxD,YAAa,qBACbrR,MAASm9B,EAAWwtD,gBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,UAAsBp5C,SAASm/B,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,UAAmBp3C,QAC5H,EACP+E,QAAS,YACTuoD,SAAS,GAGPktC,EAAiB,CACnBnyF,QAAU,UACV+uC,OAAS,UACTvyC,KAAM,UACNy1F,YA8RJ,WACI,IAAIG,EAAgB,GAChB3I,EAAatlF,EAAM2wB,WAAWw5D,SAClC,GAAkB,MAAd7E,EACA,IAAK,IAAIt1F,EAAE,EAAGA,EAAEs1F,EAAWj1F,OAAQL,IAC/B,GAAKs1F,EAAWt1F,GAAG4wF,WAAa0E,EAAWt1F,GAAGqxF,SAC1C,IAAK,IAAIvwF,EAAE,EAAGA,EAAEw0F,EAAWt1F,GAAG4wF,UAAUvwF,OAAQS,IAC5C,GAAIw0F,EAAWt1F,GAAG4wF,UAAU9vF,GAAG,GACvBA,EAAEw0F,EAAWt1F,GAAGqxF,SAAShxF,OAAO,CAChC,IAAI69F,EAAU,CAAC10F,OAAQ8rF,EAAWt1F,GAAG4wF,UAAU9vF,GAAI0C,MAAO8xF,EAAWt1F,GAAGqxF,SAASvwF,IAC3Em9F,EAAc1sD,MAAM,SAAApvC,GAAO,OAAIA,EAAQqH,SAAW00F,EAAQ10F,WAC5Dy0F,EAAcr+F,KAAKs+F,GAQrCD,EAAchD,MAAK,SAACF,EAAGC,GAAJ,OAAUA,EAAEx3F,MAAQu3F,EAAEv3F,MAAQ,GAAK,KAC5Dy6F,EAAc59F,OAAO,GACrB49F,EAAcx8F,OAAO,EAAE,EAAE,CAAC+H,QAAQ,EAAGhG,MAAO,2BAEhD,OAAOy6F,GApTPt2F,SAAS,GACTyD,YAAa,EACb86D,WAAY,YACZC,eAAgB,QAChBtxD,YAAa,yBACbrR,MAASm9B,EAAWwtD,gBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,UAAyBp5C,SAASm/B,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,UAAsBp3C,QAClI,EACP+E,QAAS,YACTuoD,SAAS,GAGPqtC,EAAgB,CAClBtyF,QAAU,UACV+uC,OAAS,mBACTvyC,KAAM,UACNy1F,YAuSJ,WACI,IAAIG,EAAgB,GAChB3I,EAAatlF,EAAM2wB,WAAWw5D,SAClC,GAAkB,MAAd7E,EACA,IAAK,IAAIt1F,EAAE,EAAGA,EAAEs1F,EAAWj1F,OAAQL,IAC/B,GAAKs1F,EAAWt1F,GAAG4wF,WAAa0E,EAAWt1F,GAAGqxF,SAC1C,IAAK,IAAIvwF,EAAE,EAAGA,EAAEw0F,EAAWt1F,GAAG4wF,UAAUvwF,OAAQS,IAC5C,GAAIw0F,EAAWt1F,GAAG4wF,UAAU9vF,GAAG,GACvBA,EAAEw0F,EAAWt1F,GAAGqxF,SAAShxF,OAAO,CAChC,IAAI69F,EAAU,CAAC10F,OAAQ8rF,EAAWt1F,GAAG4wF,UAAU9vF,GAAI0C,MAAO8xF,EAAWt1F,GAAGqxF,SAASvwF,IAC3Em9F,EAAc1sD,MAAM,SAAApvC,GAAO,OAAIA,EAAQqH,SAAW00F,EAAQ10F,WAC5Dy0F,EAAcr+F,KAAKs+F,GAQrCD,EAAchD,MAAK,SAACF,EAAGC,GAAJ,OAAUA,EAAEx3F,MAAQu3F,EAAEv3F,MAAQ,GAAK,KAC5Dy6F,EAAc59F,OAAO,GACrB49F,EAAcx8F,OAAO,EAAE,EAAE,CAAC+H,QAAQ,EAAGhG,MAAO,6BAEhD,OAAOy6F,GA7TPt2F,SAAS,GACTyD,YAAa,EACb86D,WAAY,YACZC,eAAgB,QAChBtxD,YAAa,2BACbrR,MAASm9B,EAAWwtD,gBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,UAAyBp5C,SAASm/B,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,UAAsBp3C,QAClI,EACP+E,QAAS,qBACTuoD,SAAS,GAGPstC,EAAkB,CACpB,CACIvyF,QAAU,OACV+uC,OAAS,cACTvyC,KAAM,OACNy1F,YAsNR,WACI,IAAIO,EAAoB,GACpB/I,EAAatlF,EAAM2wB,WAAWw5D,SAClC,GAAkB,MAAd7E,EACA,IAAK,IAAIt1F,EAAE,EAAGA,EAAEs1F,EAAWj1F,OAAQL,IAC/B,GAAIs1F,EAAWt1F,GAAGs+F,cAAc,EAAE,CAC9B,IAAIC,EAAc,CAAC3jD,OAAQ06C,EAAWt1F,GAAGm0D,YAAa9oD,GAAIiqF,EAAWt1F,GAAGs+F,eAClED,EAAkB9sD,MAAM,SAAApvC,GAAO,OAAIA,EAAQkJ,KAAOkzF,EAAYlzF,OAChEgzF,EAAkBz+F,KAAK2+F,GAI7BF,EAAkBpD,MAAK,SAACF,EAAGC,GAAJ,OAAUA,EAAEpgD,OAASmgD,EAAEngD,OAAS,GAAK,KACtE,OAAOyjD,GAlOH12F,SAAS,GACTyD,YAAa,EACb86D,WAAY,cACZC,eAAgB,SAChB3iE,MAASm9B,EAAWwtD,gBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,UAAsBja,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,UAAmBp3C,MACpH,GACN+E,QAAS,gBACTuoD,SAAS,GAEb,CACIjlD,QAAU,OACV+uC,OAAS,mBACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,kBACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,0BACN3d,MAAM,MACNm/D,aAAc,CAAC,KAAK,OACpBt6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,QAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,qBACN3d,MAAM,MACNm/D,aAAc,CAAC,OAAO,OACtBt6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,QAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,4BACN3d,MAAM,MACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,QAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,qBACN3d,MAAM,MACNm/D,aAAc,CAAC,QACft6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,QAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,eACN3d,MAAM,MACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,QAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,eACN3d,MAAM,MACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,QAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,eACN3d,MAAM,MACNm/D,aAAc,CAAC,OAAO,QACtBt6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,QAAX15C,EAAEsC,SAElE06D,MAAM,KAIlB,CACIryD,QAAU,SACV+uC,OAAS,SACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,uBACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,iBACN3d,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,MAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,oBACN3d,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,MAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,aACN3d,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,MAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,UACN3d,MAAM,IACNm/D,aAAc,CAAC,KACft6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,MAAX15C,EAAEsC,SAEpE06D,MAAM,KAIlB,CACIryD,QAAU,SACV+uC,OAAS,SACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,SACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,aACN3d,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,MAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,aACN3d,MAAM,MACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,QAAX15C,EAAEsC,SAEpE06D,MAAM,KAIlB,CACIryD,QAAU,QACV+uC,OAAS,qCACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,aACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,QACNrc,QAAS,aACTtB,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,MAAX15C,EAAEsC,SAEnE06D,MAAM,GAEV,CACIt5C,MAAM,KACNrc,QAAS,gBACTtB,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,MAAX15C,EAAEsC,SAEnE06D,MAAM,KAIlB,CACIryD,QAAU,OACV+uC,OAAS,0BACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,qBACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,QACNrc,QAAS,8BACTtB,MAAM,IACNm/D,aAAc,CAAC,KACft6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,MAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,KACNrc,QAAS,8BACTtB,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,MAAX15C,EAAEsC,SAElE06D,MAAM,MA+FtB,IAAMsgC,EACN,CACI3yF,QAAU,YACV+uC,OAAS,iBACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,SACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,UACN3d,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,cAAbA,EAAE05C,QAAqC,MAAX15C,EAAEsC,SAEvE06D,MAAM,GAEV,CACIt5C,MAAM,mBACN3d,MAAM,IACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,cAAbA,EAAE05C,QAAqC,MAAX15C,EAAEsC,SAEvE06D,MAAM,KAKZugC,EACN,CACI5yF,QAAU,WACV+uC,OAAS,2BACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,WACZC,eAAgB,QAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,UACN3d,MAAM,IACNm/D,aAAc,CAAC,IAAI,IAAI,IAAI,IAAI,KAC/Bt6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,MAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,iBACN3d,MAAM,IACNm/D,aAAc,CAAC,IAAI,IAAI,IAAI,IAAI,KAC/Bt6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,MAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,WACN3d,MAAM,IACNm/D,aAAc,CAAC,KACft6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,MAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,WACN3d,MAAM,IACNm/D,aAAc,CAAC,KACft6D,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,MAAX15C,EAAEsC,SAEtE06D,MAAM,KAKZwgC,EACN,CACI7yF,QAAU,WACV+uC,OAAS,0BACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,YACZC,eAAgB,QAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,qCACN3d,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,IAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,wCACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,IAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,sCACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,IAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,sCACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,IAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,4CACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,IAAX15C,EAAEsC,SAEtE06D,MAAM,GAEV,CACIt5C,MAAM,yBACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,aAAbA,EAAE05C,QAAoC,IAAX15C,EAAEsC,SAEtE06D,MAAM,KAIZygC,EACN,CACI9yF,QAAU,SACV+uC,OAAS,kCACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,YACZC,eAAgB,QAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,qDACN3d,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,IAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,6CACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,IAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,0BACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,IAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,+EACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,IAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,oEACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,IAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,2EACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,IAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,kCACN3d,MAAM,EACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,IAAX15C,EAAEsC,SAEpE06D,MAAM,KAIZ0gC,EACN,CACI/yF,QAAU,QACV+uC,OAAS,gBACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,qBACZC,eAAgB,QAChBrV,SAAS,EACTuqC,SAAU,QACVrxF,QAAU,CACN,CACI4a,MAAM,SACNrc,QAAQ,qCACRtB,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,IAAX15C,EAAEsC,SAEnE06D,MAAM,GAEV,CACIt5C,MAAM,UACNrc,QAAQ,yCACRtB,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,IAAX15C,EAAEsC,SAEnE06D,MAAM,GAEV,CACIt5C,MAAM,8BACNrc,QAAQ,0DACRtB,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,IAAX15C,EAAEsC,SAEnE06D,MAAM,GAEV,CACIt5C,MAAM,SACNrc,QAAQ,sCACRtB,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,IAAX15C,EAAEsC,SAEnE06D,MAAM,GAEV,CACIt5C,MAAM,6BACNrc,QAAQ,0DACRtB,MAAO,EACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,UAAbA,EAAE05C,QAAiC,IAAX15C,EAAEsC,SAEnE06D,MAAM,KAIZ2gC,EACN,CACIhzF,QAAU,YACV+uC,OAAS,uBACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,SACZC,eAAgB,MAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,MACNrc,QAAS,uBACTtB,MAAO,IACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,cAAbA,EAAE05C,QAAqC,MAAX15C,EAAEsC,SAEvE06D,MAAM,GAEV,CACIt5C,MAAM,QACNrc,QAAS,yBACTtB,MAAO,IACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,cAAbA,EAAE05C,QAAqC,MAAX15C,EAAEsC,SAEvE06D,MAAM,GAEV,CACIt5C,MAAM,OACNrc,QAAS,wBACTtB,MAAO,IACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,cAAbA,EAAE05C,QAAqC,MAAX15C,EAAEsC,SAEvE06D,MAAM,KAKZ4gC,EAAiB,CACnBjzF,QAAU,OACV+uC,OAAS,cACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,UACZC,eAAgB,YAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,QACNrc,QAAS,cACTtB,MAAM,QACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,UAAX15C,EAAEsC,SAElE06D,MAAM,GAEV,CACIt5C,MAAM,KACNrc,QAAS,iBACTtB,MAAM,QACN6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,SAAbA,EAAE05C,QAAgC,UAAX15C,EAAEsC,SAElE06D,MAAM,KAKZ6gC,EACN,CACIlzF,QAAU,SACV+uC,OAAS,QACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,SACZC,eAAgB,MAChBrV,SAAS,EACT9mD,QAAU,CACN,CACI4a,MAAM,eACN3d,MAAO,KACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,OAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,cACN3d,MAAO,KACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,OAAX15C,EAAEsC,SAEpE06D,MAAM,GAEV,CACIt5C,MAAM,iCACN3d,MAAO,KACP6E,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,WAAbA,EAAE05C,QAAkC,OAAX15C,EAAEsC,SAEpE06D,MAAM,KAMZ8gC,EAAuB,CACzBnzF,QAAU,UACV+uC,OAAS,yBACTvyC,KAAM,QACN+C,YAAa,EACb86D,WAAY,SACZC,eAAgB,QAChBrV,SAAS,EACTuqC,SAAU,cACVrxF,QAAU,CACN,CACI4a,MAAM,0BACNrc,QAAS,0BACTtB,MAAO05B,EAAW0xD,SAClBtmF,QAAQ,MACRuvF,YAAa,KACbxvF,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,QAAmC,QAAX15C,EAAEsC,SAErE06D,MAAM,GAEV,CACIt5C,MAAM,sBACNrc,QAAS,gCACTtB,MAAO05B,EAAW0xD,SAClBtmF,QAAQ,MACRuvF,YAAa,IACbxvF,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,QAAmC,QAAX15C,EAAEsC,SAErE06D,MAAM,GAEV,CACIt5C,MAAM,gCACNrc,QAAS,gCACTtB,MAAM05B,EAAW6xD,WACjBzmF,QAAQ,OACRuvF,YAAa,KACbxvF,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,QAAmC,SAAX15C,EAAEsC,SAErE06D,MAAM,GAEV,CACIt5C,MAAM,4BACNrc,QAAS,4BACTtB,MAAM05B,EAAW6xD,WACjBzmF,QAAQ,OACRuvF,YAAa,IACbxvF,SAAS60B,EAAWwtD,kBACfxtD,EAAWwtD,eAAe1uF,MAAK,SAAAyB,GAAC,MAAiB,YAAbA,EAAE05C,QAAmC,SAAX15C,EAAEsC,SAErE06D,MAAM,KAKZvyD,EAAUyyF,EAEhB,OAAQz9D,EAAWr4B,cACf,IAAK,UACL,IAAK,oBACDqD,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,kBACL,IAAK,kBAEDjzF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,kBAEDjzF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,kBAEDjzF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACrB,MACA,IAAK,iBACL,IAAK,aACL,IAAK,kBACL,IAAK,eACL,IAAK,mBACL,IAAK,yBACL,IAAK,2BACL,IAAK,uBACL,IAAK,2BACL,IAAK,2BAEL,IAAK,qBACL,IAAK,iBACL,IAAK,mBACL,IAAK,kBAEDkK,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,qBACDjzF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,EAAEs9F,GACnBpzF,EAAQ,GAAGmlD,SAAQ,EACnBnlD,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,qBACDjzF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,EAAEo9F,GACnBlzF,EAAQlK,OAAO,EAAE,EAAEq9F,GACnBnzF,EAAQ,GAAGmlD,SAAQ,EACnBnlD,EAAQ,GAAGmlD,SAAQ,EACnBnlD,EAAQ/L,KAAKg/F,GACjB,MAEA,IAAK,wBACDjzF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB,MACJ,IAAK,kBACL,IAAK,iBACL,IAAK,wBACL,IAAK,eACL,IAAK,eACL,IAAK,mBACL,IAAK,kBAED5xF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACrB,MACA,IAAK,mBACL,IAAK,eAEDkK,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,oBACL,IAAK,gBAEDjzF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAEu9F,GACnBrzF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,SACL,IAAK,UAEDjzF,EAAQlK,OAAO,EAAE,EAAE+8F,GACnB7yF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,SACL,IAAK,UAEDjzF,EAAQlK,OAAO,EAAE,EAAE+8F,GACnB7yF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACrB,MAGA,IAAK,iBACL,IAAK,UACL,IAAK,WACL,IAAK,cACL,IAAK,YACL,IAAK,gBACL,IAAK,kBACL,IAAK,eACL,IAAK,eACL,IAAK,mBACL,IAAK,kBAEDkK,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,oBACL,IAAK,gBACL,IAAK,YAEDjzF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,eAEDjzF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACrB,MACA,IAAK,eAEDkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAEg9F,GACnB9yF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,iBACL,IAAK,uBACL,IAAK,iBACL,IAAK,sBACL,IAAK,YACL,IAAK,aACL,IAAK,yBACL,IAAK,yBAEDjzF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,sBAEDjzF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAEi9F,GACnB/yF,EAAQlK,OAAO,EAAE,EAAEk9F,GACnBhzF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ,GAAGmlD,SAAQ,EACnBnlD,EAAQ,GAAGmlD,SAAQ,EACnBnlD,EAAQ,GAAGmlD,SAAQ,EACnBnlD,EAAQ,GAAGmlD,SAAQ,EACnBnlD,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,eAEDjzF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,YACL,IAAK,aAEDjzF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACrB,MACA,IAAK,iBAEDkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,GACjBkK,EAAQlK,OAAO,EAAE,EAAEu8F,GACvB,MACA,IAAK,oBACDryF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ,GAAG3B,QAAQpK,KAAK69F,GACxB9xF,EAAQ,GAAGP,YAAa,EACxBO,EAAQlK,OAAO,EAAE,EAAEi8F,GACnB/xF,EAAQlK,OAAO,EAAE,EAAEk8F,GACnBhyF,EAAQlK,OAAO,EAAE,EAAEm8F,GACvB,MACA,IAAK,gBACDjyF,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQlK,OAAO,EAAE,EAAE08F,GACnBxyF,EAAQlK,OAAO,EAAE,GACrB,MACA,IAAK,kBACDkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKi+F,GACjB,MACA,IAAK,aACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,mBACL,IAAK,2BACL,IAAK,YAEDlyF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,mBACL,IAAK,yBAEDjzF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,gBACL,IAAK,qBACL,IAAK,aACL,IAAK,sBAEDjzF,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQ,GAAG3B,QAAQvI,OAAO,EAAE,GAC5BkK,EAAQlK,OAAO,EAAE,EAAE87F,GACnB5xF,EAAQ/L,KAAKg/F,GACjB,MACA,IAAK,oBACL,IAAK,oBACDjzF,EAAQlK,OAAO,EAAE,EAAE87F,GACvB,MACA,IAAK,cACD5xF,EAAQlK,OAAO,EAAE,EAAE+7F,GAK3B,GAAkC,MAA7BxtF,EAAM2wB,WAAWw5D,UAAiC,MAAXxuF,EAExC,IAAK,IAAI3L,EAAE,EAAGA,EAAE2L,EAAQtL,OAAQL,IACH,SAApB2L,EAAQ3L,GAAGqI,MAAyC,YAApBsD,EAAQ3L,GAAGqI,OAE5CsD,EAAQ3L,GAAG2H,SAAWgE,EAAQ3L,GAAG89F,eAK7C,OACI,0BAASjtF,MAAM,4BAAf,UACI,cAAC,GAAD,CAAoB8vB,WAAY3wB,EAAM2wB,WAAY/S,aAAc5d,EAAM4d,aAAcqJ,MAAOjnB,EAAMinB,QACrE,sBAA1B0J,EAAWr4B,aACT,cAAC,GAAD,CAAgBq4B,WAAY3wB,EAAM2wB,WAAY/S,aAAc5d,EAAM4d,eAElE,cAAC,GAAD,CAAoB+S,WAAY3wB,EAAM2wB,WAAY/S,aAAc5d,EAAM4d,aAAcjiB,QAASA,EAASsrB,MAAOjnB,EAAMinB,MAAO8/D,aAAc/mF,EAAM+mF,mBChnC/IkI,GAvDA,SAACjvF,GACZ,IAAM2wB,EAAa3wB,EAAM2wB,WAKzB,OAHA9sB,qBAAU,cACP,IAEI8sB,EAAWiL,YACd,IAAK,qBACD,OACI,cAAC,GAAD,CAAmBjL,WAAYA,EAAY/S,aAAc5d,EAAM4d,aAAcqJ,MAAOjnB,EAAMinB,MAAO8/D,aAAgB/mF,EAAM+mF,eAsC/H,QACI,OACI,cAAC,GAAD,CAAQnpE,aAAc5d,EAAM4d,eAhCpC,IAAK,QACD,OACI,cAAC,GAAD,CAAOA,aAAc5d,EAAM4d,eAGnC,IAAK,UACD,OACI,cAAC,GAAD,CAASA,aAAc5d,EAAM4d,eAGrC,IAAK,QACD,OACI,cAAC,GAAD,CAAO+S,WAAYA,EAAY/S,aAAc5d,EAAM4d,aAAcqJ,MAAOjnB,EAAMinB,MAAO4lC,kBAAmB7sD,EAAM6sD,oBAGtH,IAAK,qBACD,OACI,cAAC,GAAD,CAAoBl8B,WAAYA,EAAY/S,aAAc5d,EAAM4d,aAAcqJ,MAAOjnB,EAAMinB,MAAO4lC,kBAAmB7sD,EAAM6sD,oBAGnI,IAAK,OACD,OACI,cAAC,GAAD,CAAel8B,WAAYA,EAAY/S,aAAc5d,EAAM4d,aAAcqJ,MAAOjnB,EAAMinB,MAAQ2N,SAAU50B,EAAM40B,SAAU1B,SAAUlzB,EAAMkzB,WAGhJ,IAAK,kBACD,OACI,cAAC,GAAD,CAAiBvC,WAAYA,EAAY/S,aAAc5d,EAAM4d,aAAcqJ,MAAOjnB,EAAMinB,MAAQ2N,SAAU50B,EAAM40B,SAAU1B,SAAUlzB,EAAMkzB,aCgC3Ig8D,GAhFH,SAAClvF,GAET,IAAMmvF,EAAY,aAIlB,GADgCtyE,GAAYC,QAAuBD,GAAYG,YAAsBH,GAAYK,OAC3Ezb,mBAAS,OAA/C,mBACM2tF,GADN,UACgD,QAA3BnzF,GAAYC,aAAuB/M,uBAAmCA,uBACrFkgG,EAAc,CAACjrF,OAAO,UAAWiB,SAAU,QAC3CiqF,EAAgB,CAAC73D,YAAa,QAC9B83D,EAAgB,CAAC9pF,YAAa,OAAQF,aAAc,QAE1D1B,qBAAU,cAKR,IAcF,OACI,yBAAQhD,MAAM,SAASxF,GAAG,WAA1B,UACI,qBAAKwF,MAAM,mBAAX,SACI,sBAAKA,MAAM,YAAX,UACI,sBAAKA,MAAM,sBAAX,UACI,qBAAKU,IAAKpS,sBAAgC4X,IAAI,KAC9C,qBAAIlG,MAAM,6CAAV,UAC6B,WAAvBb,EAAM1H,aACR,oBAAIwI,MAAOyuF,EAAX,SAA0B,sBAAMlxE,MAAM,eAAeld,QAAS,SAACC,GAAD,OAAM/J,OAAOwzD,OAAO,CAAEl7B,IAAK,EAAGmX,SAAU,YAAahmC,MAAOuuF,EAAhG,wBAE1B,oBAAIvuF,MAAOyuF,EAAX,SAA0B,sBAAMlxE,MAAM,eAAeld,QAAS,SAACC,GAAD,OAAMpB,EAAM4d,aAAa,CAACC,UAAW,YAAY/c,MAAOuuF,EAA5F,wBAE1B,oBAAIvuF,MAAOyuF,EAAX,SAA0B,sBAAMlxE,MAAM,QAAQld,QAAS,SAACC,GAAD,OAAMpB,EAAM4d,aAAa,CAACC,UAAW,WAAW/c,MAAO,CAACsD,OAAO,WAA5F,qBAC1B,oBAAItD,MAAOyuF,EAAX,SAA0B,mBAAGvqF,OAAO,SAAS1N,KAAK,0CAAxB,SAAkE,sBAAM+mB,MAAM,WAAWld,QAASguF,EAAWruF,MAAOuuF,EAAlD,0BAC5F,oBAAIvuF,MAAOyuF,EAAX,SAA0B,mBAAGvqF,OAAO,SAAS1N,KAAK,6CAAxB,SAAqE,sBAAM+mB,MAAM,cAAcld,QAASguF,EAAWruF,MAAOuuF,EAArD,6BAC/F,oBAAIvuF,MAAOyuF,EAAX,SAA0B,mBAAGvqF,OAAO,SAAS1N,KAAK,wDAAxB,SAAgF,sBAAM+mB,MAAM,4BAAyBld,QAASguF,EAAWruF,MAAOuuF,EAAhE,2CAC1G,oBAAIvuF,MAAOyuF,EAAX,SAA0B,mBAAGvqF,OAAO,SAAS1N,KAAK,qDAAxB,SAA6E,sBAAM+mB,MAAM,yBAAsBld,QAASguF,EAAWruF,MAAOuuF,EAA7D,wCACvG,oBAAIvuF,MAAOyuF,EAAX,SAA0B,mBAAGvqF,OAAO,SAAS1N,KAAM83F,EAAzB,SAAsC,sBAAM/wE,MAAM,kBAAkBld,QAASguF,EAAWruF,MAAOuuF,EAAzD,uCAGxE,qBAAKxuF,MAAM,sBAAX,SACI,qBAAIA,MAAM,OAAV,UACI,oBAAIC,MAAOwuF,EAAX,SAA0B,mBAAGtqF,OAAO,SAAS1N,KAAK,qCAAqC+mB,MAAM,UAAnE,SAA8E,qBAAK9c,IAAKpS,wBAAkC4X,IAAI,gBACxJ,oBAAIjG,MAAOwuF,EAAX,SAA0B,mBAAGtqF,OAAO,SAAS1N,KAAK,6CAA6C+mB,MAAM,aAA3E,SAAyF,qBAAK9c,IAAKpS,0BAAqC4X,IAAI,kBACtK,oBAAIjG,MAAOwuF,EAAX,SAA0B,mBAAGtqF,OAAO,SAAS1N,KAAK,gEAAgE+mB,MAAM,WAA9F,SAA0G,qBAAK9c,IAAKpS,yBAAoC4X,IAAI,iBACtL,oBAAIjG,MAAOwuF,EAAX,SAA0B,mBAAGtqF,OAAO,SAAS1N,KAAK,wDAAwD+mB,MAAM,UAAtF,SAAiG,qBAAK9c,IAAKpS,wBAAmC4X,IAAI,gBAC5K,oBAAIjG,MAAOwuF,EAAX,SAA0B,mBAAGtqF,OAAO,SAAS1N,KAAK,6FAA6F+mB,MAAM,WAA3H,SAAuI,qBAAK9c,IAAKpS,yBAAoC4X,IAAI,iBACnN,oBAAIjG,MAAOwuF,EAAX,SAA0B,mBAAGtqF,OAAO,SAAS1N,KAAK,wCAAwC+mB,MAAM,SAAtE,SAAgF,qBAAK9c,IAAKpS,uBAAkC4X,IAAI,eAC1J,oBAAIjG,MAAOwuF,EAAX,SAA0B,mBAAGtqF,OAAO,SAAS1N,KAAK,gCAAgC+mB,MAAM,WAA9D,SAA0E,qBAAK9c,IAAKpS,yBAAoC4X,IAAI,2BAKtK,qBAAKlG,MAAM,sBAAX,SACI,qBAAKA,MAAM,YAAX,SACI,sBAAKA,MAAM,SAAX,UACI,qBAAKA,MAAM,kBAAX,SACI,mBAAGmE,OAAO,SAAS1N,KAAK,4BAA4B+mB,MAAM,gBAA1D,SAA2E,qBAAK9c,IAAKpS,6BAAwC4X,IAAI,0BAErI,qBAAKlG,MAAM,OAAX,SACI,mBAAGA,MAAM,8BAAT,6HCjBb2uF,GA7DE,SAACxvF,GAAW,IAAD,EACxB,EAA4CyB,oBAAS,GAArD,mBAAOguF,EAAP,KAAuBC,EAAvB,KAgBA,OACI,gCACI,mBAAG5uF,MAAO,CAAC4D,aAAa,QAAxB,iFAGA,4BACI,qFAAuD,mBAAGpN,KAAM,cAAe0I,EAAM2vF,SAAU3qF,OAAO,SAA/C,0BAE3D,uBAAOlE,MAAO,CAACL,MAAM,MAAOC,OAAQ,MAAO0sD,UAAU,SAAUtpC,OAAO,IAAIviB,IAAK,cAAevB,EAAM2vF,SAAU/qF,KAAK,oBACnH,mBAAGN,UAAU,uCACLxD,OAAK,GAAGL,MAAM,OAAQa,UAAU,OAASiE,aAAc,OAAQC,WAAW,UAArE,0BAA0F,WAA1F,0BACe,QADf,GADb,SAGI,kCACI,uBAAOZ,KAAK,WAAWnJ,QAASg0F,EAAgB3uF,MAlBzC,CACnBJ,OAAQ,QAiB2EoE,SAAU,SAAC1D,GAAD,OAtBtE5N,EAsB+F4N,EAAE4D,OAAOvJ,aArB/Hi0F,EAAkBl8F,GADI,IAACA,KAuBX,sBAAMsN,MAAO,CAAC2E,YAAY,QAA1B,iDAKR,sBAAKnB,UAAU,yBAAyBxD,MAAO,CAACyD,UAAW,QAA3D,UACEkrF,EACE,iCACA,yBAAQnrF,UAAU,SAASxD,MAAO,CAACmE,gBAAgB,UAAWC,MAAM,UAAWxE,OAAO,OAAQutB,WAAW,OACjG9sB,QAAS,SAACC,GApCtBquF,GACAzvF,EAAM4vF,aAkCF,UAEI,qBAAKruF,IAAI,sBAAsBT,MAAO,CAACqE,cAAc,YAFzD,WAII,sBAAOrE,MAAO,CAACqE,cAAc,UAA7B,wBALJ,sCAUJ,6BAEI,yBAAQb,UAAU,SAASxD,MAAO,CAACmE,gBAAgB,UAAWC,MAAM,UAAWxE,OAAO,OAAQutB,WAAW,OACjG9sB,QAAS,SAACC,GAAD,OAAOpB,EAAM6vF,YAD9B,UAEI,qBAAKtuF,IAAI,mBAAmBT,MAAO,CAACqE,cAAc,YAFtD,WAII,sBAAOrE,MAAO,CAACqE,cAAc,UAA7B,6BCi2EL2qF,GAt4EG,SAAC9vF,GACf,IAuBI+vF,EAvBJ,EAAoCtuF,mBAAS,CACLnJ,aAAa,SACbsjC,WAAW,SACXuuD,SAAU,KACVv1E,MAAO,GACPvZ,GAAG,EACHkgC,aAAc,IANtD,mBAAO5K,EAAP,KAAmB4oD,EAAnB,KAQA,EAAsC93E,mBAAgC,IAAvBpK,OAAO24F,aAAtD,mBAAOC,EAAP,KAAoBC,EAApB,KACA,EAAkCzuF,mBAAS,IAA3C,mBAAO8f,EAAP,KAAkB4uE,EAAlB,KACA,EAAkC1uF,mBAASzB,EAAM0iB,WAAjD,mBAAOA,EAAP,KAAkB0tE,EAAlB,KAEMvR,EAAUhvB,eAEhB,EAA8BpuD,mBAAS,GAAvC,mBAAOkiB,EAAP,KACA,GADA,KAC8CliB,mBAAS,KAAvD,mBAAO4uF,EAAP,KAAwBC,EAAxB,KACA,EAAoD7uF,oBAAS,GAA7D,mBAAO8uF,EAAP,KAA2BC,EAA3B,KACA,EAAgD/uF,mBAAS,IAAzD,mBAAOgvF,EAAP,KAAyBC,EAAzB,KAEMC,EAAc,KAEpB,EAAkDlvF,oBAAS,GAA3D,mBAAOmvF,EAAP,KAA0BC,EAA1B,KAIA,SAASC,IACL9wF,EAAM+wF,cACNhB,EAAY9mE,WAAW6nE,EAAeH,GAG1C9sF,qBAAU,WACFksF,GACAiB,aAAajB,GACjBA,EAAY9mE,WAAW6nE,EAAeH,GACtCM,KACA55F,OAAO65F,oBAAoB,SAAUC,IACrC95F,OAAO65F,oBAAoB,WAAYE,IACvC/5F,OAAOg6F,iBAAiB,SAAUF,GAAe,CAAEG,SAAS,IAC5Dj6F,OAAOg6F,iBAAiB,WAAYD,IACpCG,E3Qgd0B,WAC9B,IAAI15F,EAAK/I,KAAKC,MAAMC,aAAaC,QAAQ,UACrC8B,EAAM,GAGV,OAFI8G,GAAMA,EAAGC,cACT/G,EAAM8G,EAAGC,YAAY08B,WAClBzjC,E2QrdeygG,IAClB,IAAM3iG,EAAOoN,GAAYa,eASzB,OARIjO,GAAQA,EAAKiJ,cACRjJ,EAAKiJ,YAAY25F,qBAClBf,EAAoB7hG,EAAKiJ,YAAY45F,kBACrClB,GAAsB,GACtBn5F,OAAO65F,oBAAoB,SAAUC,IACrC95F,OAAO65F,oBAAoB,WAAYE,MAGxC,WACH/5F,OAAO65F,oBAAoB,SAAUC,IACrC95F,OAAO65F,oBAAoB,WAAYE,OAE3C,CAACztE,IAEL,IAWM4tE,EAAoB,SAACr9D,GACnBxR,IAAcwR,GACdk8D,EAAal8D,IAwBfy9D,EAAgB,SAACC,GAGnB,IAFA,IAAIC,EAAeD,EAAWvgG,MAAM,KAChCN,EAAK,GACAD,EAAE,EAAGA,EAAE+gG,EAAaxhG,OAAQS,IAAI,CACrC,IACIghG,EADYD,EAAa/gG,GACDO,MAAM,MACR,GAAtBygG,EAAYzhG,QACZU,EAAInB,KAAK,CAACg7C,OAAQknD,EAAY,GAAIt+F,MAAOs+F,EAAY,KAG7D,OAAO/gG,GAGLghG,GAAe,SAACvxE,GAClB,IACIzvB,GAAM,EAMV,MALY,QAFFiL,MAGFq6D,GAAoBp7C,SAASuF,KAC7BzvB,GAAM,GAGPA,GAILkgG,GAA8B,WAChC,IAAIe,EAAgB,CAChB15F,aAAa,SACbsjC,WAAW,SACXuuD,SAAU,KACVv1E,MAAO,GACP2mB,aAAc,GAEd02D,EAAO96F,IAIX,GAHI86F,EAAK5hG,QAAQlB,EAASkB,SACtB4hG,EAAOA,EAAK1gG,UAAUpC,EAASkB,SAE/B4hG,EAAK5hG,OAAO,EAAE,CACd,IAAI2G,EAASQ,EAAay6F,GAEtBx1F,GADJw1F,EAAkBA,E3QsSZ5gG,MAAM,KACT,I2QtSeA,MAAM,KAGxB,OAFIu/F,IAAsBmB,GAAat1F,EAAO,KAC1Co0F,EAAqBkB,GAAat1F,EAAO,KACrCA,EAAO,GAAGnJ,eACd,IAAK,QACL,IAAK,OACD0+F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,SAEnB,MACA,IAAK,YACDo2D,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,WAEnB,MACA,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,WACGo2D,EAAgB,CAChB15F,aAAamE,EAAO,GACpBm/B,WAAW,QACXuuD,SAAU,KACVv1E,MAAO,GACPvZ,GAAI7J,SAASiL,EAAO,IACpB8+B,aAAc,GAEtB,MACA,IAAK,qBACL,IAAK,iBACL,IAAK,qBACL,IAAK,iBACL,IAAK,uBACL,IAAK,iBACOlgC,GAAKvE,EAASE,EAAO,SAErBqE,GAAK,GACT22F,EAAgB,CAChB15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXvgC,GAAIA,IAEZ,MACA,IAAK,mBACL,IAAK,mBACL,IAAK,mBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UAGG64D,IADIA,GAA0B,MAD1Bg+B,GAASp7F,EAASE,EAAO,kBACOk7F,GAAO7gG,MAAM,KAAO,KACpB6iE,GAAc7jE,OAAO,EAAK6jE,GAAc35D,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GACtG22F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXs4B,cAAeA,IAE3B,MACA,IAAK,iBACL,IAAK,gBACD,IAAIxjD,EAAW5Z,EAASE,EAAO,WAC3Bm7F,EAAgBr7F,EAASE,EAAO,cAChC2Z,EAA8B,KAAhBwhF,EAAsBA,EAAc9gG,MAAM,KAAO,GAC/Dwf,EAAO/Z,EAASE,EAAQ,QACxB8Z,EAAUha,EAASE,EAAQ,WAC3B4Z,EAAY9Z,EAASE,EAAQ,aAejC,GAdA0Z,EAAaA,GAAyB,GACtCC,EAAcA,GAAgBA,EAAWtgB,OAAO,EAAKsgB,EAAWpW,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAC1FwV,EAAYA,EAAYrf,SAASqf,GAAY,KAC7CC,EAAYA,GAAqB,GACjCF,EAAyB,MAAZA,EAUiD,OAT9DohF,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXlrB,QAASA,EACTC,WAAYA,EACZE,KAAMA,EACNC,QAASA,EACTF,UAAWA,IAEGtY,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAE3B,IAAIo7F,EAAaT,EAAch2F,IACnC,IAAI02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,yBACL,IAAK,wBACD,IAAI98E,EAAaxe,EAASE,EAAO,aAC7Bia,EAAQna,EAASE,EAAO,SAS5B,GARAse,EAAeA,EAAgB9jB,SAAS8jB,GAAe,EACvDrE,EAAWA,EAAYzf,SAASyf,GAAW,EAOmB,OAN9D+gF,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXtmB,UAAWA,EACXrE,MAAOA,IAEO3Y,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,oBACL,IAAK,mBACD,IAAIrtF,EAAOjO,EAASE,EAAO,OACvBqa,EAAQva,EAASE,EAAO,SACxBsa,EAAOxa,EAASE,EAAO,QACvBwa,EAAS1a,EAASE,EAAQ,UAC1Bua,EAASza,EAASE,EAAQ,UAC1Bya,EAAU3a,EAASE,EAAQ,WAC3B2a,EAAU7a,EAASE,EAAQ,WAC3BvH,EAAOqH,EAASE,EAAQ,QACxB4a,EAAO9a,EAASE,EAAQ,QAwB5B,GAvBA+N,EAAOA,EAAOwtF,UAAUxtF,GAAO,GAC/BsM,EAAUA,EAAU7f,SAAS6f,GAAU,EACvCC,EAASA,EAAS9f,SAAS8f,GAAS,EACpCE,EAAmB,MAATA,EACVD,EAAmB,MAATA,EACVE,EAAWA,EAAW,IAAI/e,KAAuB,IAAlBlB,SAASigB,IAAiB,KACzDE,EAAWA,EAAW,IAAIjf,KAAuB,IAAlBlB,SAASmgB,IAAiB,KACzDliB,EAAQA,EAAQ,IAAIiD,KAAoB,IAAflB,SAAS/B,IAAc,KAChDmiB,EAAQA,EAAQ,IAAIlf,KAAoB,IAAflB,SAASogB,IAAc,KAec,OAb9DogF,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX72B,IAAKA,EACLsM,MAAOA,EACPC,KAAMA,EACNE,OAAQA,EACRD,OAAQA,EACRE,QAASA,EACTE,QAASA,EACTliB,KAAMA,EACNmiB,KAAMA,IAEQtZ,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,gBACL,IAAK,eACL,IAAK,gBACL,IAAK,eACL,IAAK,gBACL,IAAK,eACGrtF,EAAOjO,EAASE,EAAO,OAA3B,IACI+a,EAAWjb,EAASE,EAAO,WAG3Bgb,GAFAX,EAAQva,EAASE,EAAO,SACxBsa,EAAOxa,EAASE,EAAO,QACdF,EAASE,EAAQ,WAC1Bib,EAAMnb,EAASE,EAAQ,OAkB3B,GAjBA+N,EAAOA,EAAOwtF,UAAUxtF,GAAO,GAC/BgN,EAAWA,EAAWwgF,UAAUxgF,GAAW,GAC3CV,EAAUA,EAAU7f,SAAS6f,GAAU,EACvCC,EAASA,EAAS9f,SAAS8f,GAAS,EACpCU,EAAUA,EAAU,IAAItf,KAAsB,IAAjBlB,SAASwgB,IAAgB,KACtDC,EAAOA,EAAO,IAAIvf,KAAmB,IAAdlB,SAASygB,IAAa,KAYiB,OAV9D+/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX72B,IAAKA,EACLgN,QAASA,EACTV,MAAOA,EACPC,KAAMA,EACNU,OAAQA,EACRC,IAAKA,IAES3Z,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,iBACL,IAAK,gBACL,IAAK,sBACL,IAAK,qBACL,IAAK,oBACL,IAAK,mBACL,IAAK,sBACL,IAAK,qBACL,IAAK,cACL,IAAK,aACL,IAAK,sBACL,IAAK,2BACL,IAAK,oBACGpgF,EAASlb,EAASE,EAAQ,UAC1Bib,EAAMnb,EAASE,EAAQ,OAqB3B,GApBAgb,EAAUA,EAAU,IAAItf,KAAsB,IAAjBlB,SAASwgB,IAAgB,KACtDC,EAAOA,EAAO,IAAIvf,KAAmB,IAAdlB,SAASygB,IAAa,KACb,wBAA5BxV,EAAO,GAAGnJ,iBACV0e,EAAS,IAAItf,MACNknB,SAAS5H,EAAOlf,WAAa,GACpCmf,EAAM,MAEsB,6BAA5BxV,EAAO,GAAGnJ,iBACV0e,EAAS,IAAItf,MACNknB,SAAS5H,EAAOlf,WAAa,GACpCmf,EAAM,MAUoD,OAN9D+/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX5pB,OAAQA,EACRC,IAAKA,IAES3Z,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAA0C,sBAA5B71F,EAAO,GAAGnJ,cAAyC,EAAI,EACrH0+F,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,mBACL,IAAK,kBAED/2F,IADIA,GAAKvE,EAASE,EAAO,OACXxF,SAAS6J,IAAO,EAE9B0J,GADIA,EAAOjO,EAASE,EAAO,QACbu7F,UAAUxtF,GAAO,GAC/B,IAAIiT,EAASlhB,EAASE,EAAO,UAC7BghB,EAAWA,EAAWxmB,SAASwmB,GAAW,EAC1C,IAAIw6E,EAAS17F,EAASE,EAAO,OAe7B,GAbAsC,IADIA,GAAe,KAATk5F,EAAeA,EAAOnhG,MAAM,KAAO,KAC7BiI,GAAIjJ,OAAO,EAAKiJ,GAAIiB,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAE9DwX,KADIA,GAAO/b,EAASE,EAAQ,UACH,MAAT6b,GAW8C,OAT9Dm/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXvgC,GAAGA,GACH0J,IAAKA,EACLiT,OAAQA,EACRnF,KAAMA,GACNvZ,IAAKA,KAEShB,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,0BACL,IAAK,yBACD,IAAI//E,EAASvb,EAASE,EAAO,SACzBy7F,EAAa37F,EAASE,EAAO,WAC7Bsb,EAAwB,KAAbmgF,EAAmBA,EAAWphG,MAAM,KAAO,GACtDqhG,EAAa57F,EAASE,EAAO,WAC7Bub,EAAwB,KAAbmgF,EAAmBA,EAAWrhG,MAAM,KAAO,GAW1D,GAVAghB,EAAWA,EAAY7gB,SAAS6gB,GAAW,EAC3CC,EAAWA,GAAaA,EAAQjiB,OAAO,EAAKiiB,EAAQ/X,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAC9EkX,EAAWA,GAAaA,EAAQliB,OAAO,EAAKkiB,EAAQhY,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAQhB,OAP9D22F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXvpB,MAAOA,EACPC,QAASA,EACTC,QAASA,IAEKja,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MAEA,IAAK,mBACL,IAAK,kBACL,IAAK,mBACL,IAAK,kBACL,IAAK,mBACL,IAAK,kBACD,IAAI/5F,EAAQoE,EAAO,GAAGlL,UAAUkL,EAAO,GAAGpM,OAAO,GAAG4C,cAChDwf,EAAY3b,EAASE,EAAO,YAChCyb,EAAYA,EAAWjhB,SAASihB,GAAY,EAG5CnZ,IADIA,GAAMW,GADGnD,EAASE,EAAO,UAEfsC,GAAIjJ,OAAO,EAAIiJ,GAAM,GAEnCuZ,IADIA,GAAO/b,EAASE,EAAQ,SACH,MAAT6b,GAA0B,MAATxa,EAEjCya,IADIA,GAAQhc,EAASE,EAAQ,UACZxF,SAASshB,IAAS,EAEnCpK,IADIA,GAAO5R,EAASE,EAAQ,SACbxF,SAASkX,IAAQ,EAEhCqK,IADIA,GAAMjc,EAASE,EAAQ,QACbxF,SAASuhB,IAAO,EAC9B,IAAIC,EAAKlc,EAASE,EAAQ,MAkB1B,GAjBAgc,EAAMA,EAAKphB,WAAWohB,GAAM,EAG5BC,IADIA,GAAkB,MADlB0/E,GAAU77F,EAASE,EAAO,SACF27F,GAAQthG,MAAM,KAAO,KAC/B4hB,GAAK5iB,OAAO,EAAK4iB,GAAK1Y,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAcJ,OAZ9D22F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXnpB,SAAUA,EACVnZ,IAAKA,GACLuZ,KAAMA,GACNC,MAAOA,GACPpK,KAAMA,GACNqK,IAAKA,GACLC,GAAIA,EACJC,KAAMA,KAEQ3a,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,0BACL,IAAK,yBAEDnhF,GADIA,EAAQna,EAASE,EAAO,UACRxF,SAASyf,GAAU,EACvC,IAAI2hF,EAAY97F,EAASE,EAAO,UAC5Bof,EAAsB,KAAZw8E,EAAkBA,EAAUvhG,MAAM,KAAO,GACvD+kB,EAAUA,GAAYA,EAAO/lB,OAAO,EAAK+lB,EAAO7b,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAC1E,IAAIw3F,EAAY/7F,EAASE,EAAO,UAC5Bqf,EAAsB,KAAZw8E,EAAkBA,EAAUxhG,MAAM,KAAO,GACvDglB,EAAUA,GAAYA,EAAOhmB,OAAO,EAAKgmB,EAAO9b,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAE1EyX,IADIA,GAAQhc,EAASE,EAAQ,UACZxF,SAASshB,IAAS,EAEnCpK,IADIA,GAAO5R,EAASE,EAAQ,SACbxF,SAASkX,IAAQ,EAC5BmI,EAAO/Z,EAASE,EAAQ,QACxB8Z,EAAUha,EAASE,EAAQ,WAC/B6Z,EAAYA,EAAYrf,SAASqf,GAAY,KAC7CC,EAAYA,GAAqB,GAGjCmC,IADIA,GAAkB,MADlB0/E,GAAU77F,EAASE,EAAO,SACF27F,GAAQthG,MAAM,KAAO,KAC/B4hB,GAAK5iB,OAAO,EAAK4iB,GAAK1Y,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAClE,IAAIy3F,EAAYh8F,EAASE,EAAO,UAC5Bsf,EAAsB,KAAZw8E,EAAkBA,EAAUzhG,MAAM,KAAO,GAoBvD,GAnBAilB,EAAUA,GAAYA,EAAOjmB,OAAO,EAAKimB,EAAO/b,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAG1EvB,IADIA,GAAMgB,GADGhE,EAASE,EAAO,UAEb8C,GAAIzJ,OAAO,EAAKyJ,GAAM,GAgBwB,OAd9Dk4F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX3qB,MAAOA,EACPmF,OAAQA,EACRC,OAAQA,EACRvD,MAAOA,GACPpK,KAAMA,GACNmI,KAAMA,EACNC,QAASA,EACTmC,KAAMA,GACNqD,OAAQA,EACRxc,IAAKA,KAESxB,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MAGA,IAAK,kBACL,IAAK,iBACD,IAAIr7E,EAASjgB,EAASE,EAAO,UAC7B+f,EAAWA,GAAmB,KAE9B9F,GADIA,EAAQna,EAASE,EAAO,UACRxF,SAASyf,GAAU,EACvC,IAAI+F,GAAUlgB,EAASE,EAAQ,WAC/BggB,GAAWA,GAAUxlB,SAASwlB,IAAW,EACzC,IAAIC,GAAWngB,EAASE,EAAQ,YAChCigB,GAAYA,IAAsB,GAClC,IAAIC,GAAWpgB,EAASE,EAAQ,YAChCkgB,GAAYA,IAAsB,GAClC,IAAIC,GAAUrgB,EAASE,EAAQ,WAC/BmgB,GAAWA,GAAU3lB,SAAS2lB,IAAW,EACzC,IAAIE,GAAMvgB,EAASE,EAAQ,OAC3BqgB,GAAOA,IAAY,GACnB,IAAIC,GAAMxgB,EAASE,EAAQ,OAC3BsgB,GAAOA,IAAY,GACnB,IAAIy7E,GAAaj8F,EAASE,EAAO,WAC7BogB,GAAwB,KAAb27E,GAAmBA,GAAW1hG,MAAM,KAAO,GACtDkmB,GAASzgB,EAASE,EAAO,UAC7BugB,GAAqB,MAAXA,GACV,IAAIC,GAAO1gB,EAASE,EAAO,QAC3BwgB,GAAiB,MAATA,GACR,IAAIC,GAAS3gB,EAASE,EAAO,UAC7BygB,GAAqB,MAAXA,GACV,IAAIE,GAAS7gB,EAASE,EAAO,UAC7B2gB,GAAqB,MAAXA,GACV,IAAID,GAAO5gB,EAASE,EAAO,QAC3B0gB,GAAiB,MAATA,GACR,IAAIE,GAAQ9gB,EAASE,EAAO,QAC5B4gB,GAAQA,IAAe,GACvB,IAAIC,GAAQ/gB,EAASE,EAAO,QA+B5B,GA9BA6gB,GAAQA,IAAe,GAGvBve,IADIA,GAAMW,GADGnD,EAASE,EAAO,UAEfsC,GAAIjJ,OAAO,EAAIiJ,GAAM,GAEnCuZ,KADIA,GAAO/b,EAASE,EAAQ,UACH,MAAT6b,GAyB8C,OAtB9Dm/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX7kB,OAAQA,EACRC,QAASA,GACTC,SAAUA,GACVC,SAAUA,GACVC,QAASA,GACTE,IAAKA,GACLC,IAAKA,GACLF,QAASA,GACTG,OAAQA,GACRE,OAAQA,GACRE,OAAQA,GACRD,KAAMA,GACNF,KAAMA,GACNI,KAAMA,GACNC,KAAMA,GACN5G,MAAOA,EACP3X,IAAKA,GACLuZ,KAAMA,KAEQva,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MAGA,IAAK,gBACL,IAAK,eAEDrtF,GADIA,EAAOjO,EAASE,EAAO,QACbu7F,UAAUxtF,GAAO,GAO/BqO,IADIA,GAAsB,MADtB4/E,GAAYl8F,EAASE,EAAO,WACAg8F,GAAU3hG,MAAM,KAAO,KACjC+hB,GAAO/iB,OAAO,EAAK+iB,GAAO7Y,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAG1EgY,IADIA,GAAoB,MADpB4/E,GAAWn8F,EAASE,EAAO,UACDi8F,GAAS5hG,MAAM,KAAO,KAChCgiB,GAAMhjB,OAAO,EAAKgjB,GAAM9Y,KAAI,SAAAc,GAAE,OAAGA,KAAO,GAI5D/B,IADIA,GAAMW,GADGnD,EAASE,EAAO,UAEfsC,GAAIjJ,OAAO,EAAIiJ,GAAM,GAEnCuZ,IADIA,GAAO/b,EAASE,EAAQ,SACH,MAAT6b,GAA0B,MAATxa,EAEjCya,IADIA,GAAQhc,EAASE,EAAQ,UACZxF,SAASshB,IAAS,EAEnCpK,IADIA,GAAO5R,EAASE,EAAQ,SACbxF,SAASkX,IAAQ,EAEhCqK,IADIA,GAAMjc,EAASE,EAAQ,QACbxF,SAASuhB,IAAO,EAC9B,IAAIO,GAAMxc,EAASE,EAAQ,OAC3Bsc,GAAQA,GAAM9hB,SAAS8hB,IAAO,EAC1BzC,EAAO/Z,EAASE,EAAQ,QACxB8Z,EAAUha,EAASE,EAAQ,WAC/B6Z,EAAYA,EAAYrf,SAASqf,GAAY,KAC7CC,EAAYA,GAAqB,GAGjCmC,IADIA,GAAkB,MADlB0/E,GAAU77F,EAASE,EAAO,SACF27F,GAAQthG,MAAM,KAAO,KAC/B4hB,GAAK5iB,OAAO,EAAK4iB,GAAK1Y,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAIlE,IAHA,IACI63F,GAA0B,MAD1B/vB,GAAYrsE,EAASE,EAAO,YACImsE,GAAU9xE,MAAM,KAAO,GACvD0jB,GAAU,GACL/kB,GAAE,EAAGA,GAAEkjG,GAAW7iG,OAAQL,KAAI,CACnC,IAAI8B,GAAMohG,GAAWljG,IAAGqB,MAAM,KAC9B0jB,GAAQnlB,KAAK,CAAC4J,OAAQhI,SAASM,GAAI,IAAKmjB,IAAKzjB,SAASM,GAAI,MAE9DijB,GAAWA,IAAaA,GAAQ1kB,OAAO,EAAK0kB,GAAW,GACvD,IACIo+E,GAA0B,MAD1BvvB,GAAY9sE,EAASE,EAAO,YACI4sE,GAAUvyE,MAAM,KAAO,GACvD6jB,GAAU,GACd,IAASllB,GAAE,EAAGA,GAAEmjG,GAAW9iG,OAAQL,KAAI,CAC/B8B,GAAMqhG,GAAWnjG,IAAGqB,MAAM,KAC9B6jB,GAAQtlB,KAAK,CAAC4J,OAAQhI,SAASM,GAAI,IAAKmjB,IAAKzjB,SAASM,GAAI,MAE9DojB,GAAWA,IAAaA,GAAQ7kB,OAAO,EAAK6kB,GAAW,GAGvDpb,IADIA,GAAMgB,GADGhE,EAASE,EAAO,UAEb8C,GAAIzJ,OAAO,EAAKyJ,GAAM,GAEtCyZ,IADIA,GAAezc,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAAS+hB,KAAsB,KAExEC,IADIA,GAAe1c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASgiB,KAAsB,KACxE,IAAIK,GAAgB/c,EAASE,EAAQ,iBACrC6c,GAAiBA,GAAiB,IAAInhB,KAA6B,IAAxBlB,SAASqiB,KAAuB,KAC3E,IAAIC,GAAgBhd,EAASE,EAAQ,iBACrC8c,GAAiBA,GAAiB,IAAIphB,KAA6B,IAAxBlB,SAASsiB,KAAuB,KAC3E,IAAIC,GAAgBjd,EAASE,EAAQ,iBACrC+c,GAAiBA,GAAiB,IAAIrhB,KAA6B,IAAxBlB,SAASuiB,KAAuB,KAC3E,IAAIC,GAAgBld,EAASE,EAAQ,iBACrCgd,GAAiBA,GAAiB,IAAIthB,KAA6B,IAAxBlB,SAASwiB,KAAuB,KAC3E,IAAIC,GAAend,EAASE,EAAQ,gBACpCid,GAAgBA,GAAgB,IAAIvhB,KAA4B,IAAvBlB,SAASyiB,KAAsB,KACxE,IAAIC,GAAepd,EAASE,EAAQ,gBACpCkd,GAAgBA,GAAgB,IAAIxhB,KAA4B,IAAvBlB,SAAS0iB,KAAsB,KAExEP,IADIA,GAAe7c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASmiB,KAAsB,KAExEC,IADIA,GAAe9c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASoiB,KAAsB,KACxE,IAAIH,GAAgB3c,EAASE,EAAQ,iBACrCyc,GAAiBA,GAAiB,IAAI/gB,KAA6B,IAAxBlB,SAASiiB,KAAuB,KAC3E,IAAIC,GAAgB5c,EAASE,EAAQ,iBACrC0c,GAAiBA,GAAiB,IAAIhhB,KAA6B,IAAxBlB,SAASkiB,KAAuB,KAC3E,IAAIa,GAAYzd,EAASE,EAAQ,aACjCud,GAAaA,GAAa/iB,SAAS+iB,IAAa,EAChD,IAAIH,GAAQtd,EAASE,EAAQ,SAC7Bod,GAASA,GAAS5iB,SAAS4iB,IAAS,EACpC,IAAIC,GAAWvd,EAASE,EAAQ,YAChCqd,GAAYA,GAAYA,GAAShhB,OAAS,GAC1C,IAAI8gB,GAAMrd,EAASE,EAAQ,OAC3Bmd,GAAOA,GAAOviB,WAAWuiB,IAAK,IAAM,EACpC,IAAIi/E,GAAWt8F,EAASE,EAAO,SAC3Bwd,GAAoB,KAAX4+E,GAAiBA,GAAS/hG,MAAM,KAAO,GACpDmjB,GAASA,IAAWA,GAAMnkB,OAAO,EAAKmkB,GAAMja,KAAI,SAAAc,GAAE,OAAGA,KAAO,GAC5D,IAAIg4F,GAAWv8F,EAASE,EAAO,SAC3Byd,GAAoB,KAAX4+E,GAAiBA,GAAShiG,MAAM,KAAO,GACpDojB,GAASA,IAAWA,GAAMpkB,OAAO,EAAKokB,GAAMla,KAAI,SAAAc,GAAE,OAAGA,KAAO,GAC5D,IAAIi4F,GAAWx8F,EAASE,EAAO,SAC3B0d,GAAoB,KAAX4+E,GAAiBA,GAASjiG,MAAM,KAAO,GAsDpD,GArDAqjB,GAASA,IAAWA,GAAMrkB,OAAO,EAAKqkB,GAAMna,KAAI,SAAAc,GAAE,OAAGA,KAAO,GAG5DsZ,IADIA,GAAsB,MADtB4+E,GAAYz8F,EAASE,EAAO,WACAu8F,GAAUliG,MAAM,KAAO,KACjCsjB,GAAOtkB,OAAO,EAAKskB,GAAOpa,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAE1EuZ,IADIA,GAAS9d,EAASE,EAAO,UACXu7F,UAAU39E,IAAS,GAErCE,MADIA,GAAUhe,EAASE,EAAO,cACG,MAAV8d,IAA6B,MAAZA,IAExCzC,GADIA,EAAQvb,EAASE,EAAQ,UACXxF,SAAS6gB,GAAS,EA4C0B,OA1C9D2/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX72B,IAAKA,EACLqO,OAAQA,GACRC,MAAOA,GACP/Z,IAAKA,GACLuZ,KAAMA,GACNC,MAAOA,GACPpK,KAAMA,GACNqK,IAAKA,GACLO,IAAKA,GACLzC,KAAMA,EACNC,QAASA,EACTmC,KAAMA,GACN8B,QAASA,GACTG,QAASA,GACTpb,IAAKA,GACLyZ,aAAcA,GACdC,aAAcA,GACdI,aAAcA,GACdD,aAAcA,GACdD,cAAeA,GACfD,cAAeA,GACfS,aAAcA,GACdD,aAAcA,GACdF,cAAeA,GACfC,cAAeA,GACfF,cAAeA,GACfD,cAAeA,GACfQ,SAAUA,GACVD,MAAOA,GACPD,IAAKA,GACLI,UAAWA,GACXC,MAAOA,GACPC,MAAOA,GACPC,MAAOA,GACPC,OAAQA,GACRtC,MAAOA,EACPuC,MAAOA,GACPE,QAASA,KAEKxc,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MAEA,IAAK,gBACL,IAAK,eAwED,GAtEArtF,GADIA,EAAOjO,EAASE,EAAO,QACbu7F,UAAUxtF,GAAO,GAO/BqO,IADIA,GAAsB,MADtB4/E,GAAYl8F,EAASE,EAAO,WACAg8F,GAAU3hG,MAAM,KAAO,KACjC+hB,GAAO/iB,OAAO,EAAK+iB,GAAO7Y,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAG1EgY,IADIA,GAAoB,MADpB4/E,GAAWn8F,EAASE,EAAO,UACDi8F,GAAS5hG,MAAM,KAAO,KAChCgiB,GAAMhjB,OAAO,EAAKgjB,GAAM9Y,KAAI,SAAAc,GAAE,OAAGA,KAAO,GAG5D/B,IADIA,GAAMW,GADGnD,EAASE,EAAO,UAEfsC,GAAIjJ,OAAO,EAAIiJ,GAAM,GAEnCuZ,IADIA,GAAO/b,EAASE,EAAQ,SACH,MAAT6b,GAA0B,MAATxa,EAEjCya,IADIA,GAAQhc,EAASE,EAAQ,UACZxF,SAASshB,IAAS,EAEnCpK,IADIA,GAAO5R,EAASE,EAAQ,SACbxF,SAASkX,IAAQ,EAEhCqK,IADIA,GAAMjc,EAASE,EAAQ,QACbxF,SAASuhB,IAAO,EAE9BQ,IADIA,GAAezc,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAAS+hB,KAAsB,KAExEC,IADIA,GAAe1c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASgiB,KAAsB,KAExEG,IADIA,GAAe7c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASmiB,KAAsB,KAExEC,IADIA,GAAe9c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASoiB,KAAsB,KAGxE9Z,IADIA,GAAMgB,GADGhE,EAASE,EAAO,UAEb8C,GAAIzJ,OAAO,EAAKyJ,GAAM,GAEtCwb,GADIA,EAAaxe,EAASE,EAAO,cACFxF,SAAS8jB,GAAe,EAEvDrE,GADIA,EAAQna,EAASE,EAAO,UACLxF,SAASyf,GAAW,EAG3C0D,IADIA,GAAsB,MADtB4+E,GAAYz8F,EAASE,EAAO,WACAu8F,GAAUliG,MAAM,KAAO,KACjCsjB,GAAOtkB,OAAO,EAAKskB,GAAOpa,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAE1EuZ,IADIA,GAAS9d,EAASE,EAAO,UACXu7F,UAAU39E,IAAS,GAErCE,MADIA,GAAUhe,EAASE,EAAO,cACG,MAAV8d,IAA6B,MAAZA,IAExCzC,GADIA,EAAQvb,EAASE,EAAQ,UACXxF,SAAS6gB,GAAS,EAyB0B,OAvB9D2/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX72B,IAAKA,EACLqO,OAAQA,GACRC,MAAOA,GACP/Z,IAAKA,GACLuZ,KAAMA,GACNC,MAAOA,GACPpK,KAAMA,GACNqK,IAAKA,GACLQ,aAAcA,GACdC,aAAcA,GACdI,aAAcA,GACdD,aAAcA,GACd7Z,IAAKA,GACLwb,UAAWA,EACXrE,MAAOA,EACP0D,OAAQA,GACRtC,MAAOA,EACPuC,MAAOA,GACPE,QAASA,KAEKxc,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MACA,IAAK,gBACL,IAAK,eAEDrtF,GADIA,EAAOjO,EAASE,EAAO,QACbu7F,UAAUxtF,GAAO,GAC/B,IAAIyuF,GAAQ18F,EAASE,EAAO,SACxBye,GAAiB,KAAR+9E,GAAcA,GAAMniG,MAAM,KAAO,GAC9CokB,GAASA,IAAWA,GAAMplB,OAAO,EAAKolB,GAAMlb,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GACtE,IAAIo4F,GAAQ38F,EAASE,EAAO,SACxB0e,GAAiB,KAAR+9E,GAAcA,GAAMpiG,MAAM,KAAO,GAC9CqkB,GAASA,IAAWA,GAAMrlB,OAAO,EAAKqlB,GAAMnb,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAKtEgY,IADIA,GAAoB,MADpB4/E,GAAWn8F,EAASE,EAAO,UACDi8F,GAAS5hG,MAAM,KAAO,KAChCgiB,GAAMhjB,OAAO,EAAKgjB,GAAM9Y,KAAI,SAAAc,GAAE,OAAGA,KAAO,GAI5D,IAFI63F,GAA0B,MAD1B/vB,GAAYrsE,EAASE,EAAO,YACImsE,GAAU9xE,MAAM,KAAO,GACvD0jB,GAAU,GACL/kB,GAAE,EAAGA,GAAEkjG,GAAW7iG,OAAQL,KAAI,CAC/B8B,GAAMohG,GAAWljG,IAAGqB,MAAM,KAC9B0jB,GAAQnlB,KAAK,CAAC4J,OAAQhI,SAASM,GAAI,IAAKmjB,IAAKzjB,SAASM,GAAI,MAE9DijB,GAAWA,IAAaA,GAAQ1kB,OAAO,EAAK0kB,GAAW,GACvD,IAAI6uD,GAGJ,IAFIuvB,GAA0B,MAD1BvvB,GAAY9sE,EAASE,EAAO,YACI4sE,GAAUvyE,MAAM,KAAO,GACvD6jB,GAAU,GACLllB,GAAE,EAAGA,GAAEmjG,GAAW9iG,OAAQL,KAAI,CAC/B8B,GAAMqhG,GAAWnjG,IAAGqB,MAAM,KAC9B6jB,GAAQtlB,KAAK,CAAC4J,OAAQhI,SAASM,GAAI,IAAKmjB,IAAKzjB,SAASM,GAAI,MA+B9D,GA7BAojB,GAAWA,IAAaA,GAAQ7kB,OAAO,EAAK6kB,GAAW,GAGvDpb,IADIA,GAAMgB,GADGhE,EAASE,EAAO,UAEb8C,GAAIzJ,OAAO,EAAKyJ,GAAM,GAGtC6a,IADIA,GAAsB,MADtB4+E,GAAYz8F,EAASE,EAAO,WACAu8F,GAAUliG,MAAM,KAAO,KACjCsjB,GAAOtkB,OAAO,EAAKskB,GAAOpa,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAE1EuZ,IADIA,GAAS9d,EAASE,EAAO,UACXu7F,UAAU39E,IAAS,GAErCE,MADIA,GAAUhe,EAASE,EAAO,cACG,MAAV8d,IAA6B,MAAZA,IAExCzC,GADIA,EAAQvb,EAASE,EAAQ,UACXxF,SAAS6gB,GAAS,EAiB0B,OAf9D2/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX72B,IAAKA,EACL0Q,MAAOA,GACPC,MAAOA,GACPrC,MAAOA,GACP0B,QAASA,GACTG,QAASA,GACTpb,IAAKA,GACL6a,OAAQA,GACRtC,MAAOA,EACPuC,MAAOA,GACPE,QAASA,KAEKxc,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MAEA,IAAK,gBACL,IAAK,eACD,IAMIY,GACA5/E,GAEA6/E,GACA5/E,GAGA/Z,GAEAuZ,GAEAC,GAEApK,GAlBJ3D,GADIA,EAAOjO,EAASE,EAAO,QACbu7F,UAAUxtF,GAAO,GAO/BqO,IADIA,GAAsB,MADtB4/E,GAAYl8F,EAASE,EAAO,WACAg8F,GAAU3hG,MAAM,KAAO,KACjC+hB,GAAO/iB,OAAO,EAAK+iB,GAAO7Y,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAG1EgY,IADIA,GAAoB,MADpB4/E,GAAWn8F,EAASE,EAAO,UACDi8F,GAAS5hG,MAAM,KAAO,KAChCgiB,GAAMhjB,OAAO,EAAKgjB,GAAM9Y,KAAI,SAAAc,GAAE,OAAGA,KAAO,GAG5D/B,IADIA,GAAMW,GADGnD,EAASE,EAAO,UAEfsC,GAAIjJ,OAAO,EAAIiJ,GAAM,GAEnCuZ,MADIA,GAAO/b,EAASE,EAAQ,UACH,MAAT6b,GAEhBC,IADIA,GAAQhc,EAASE,EAAQ,UACZxF,SAASshB,IAAS,EAEnCpK,IADIA,GAAO5R,EAASE,EAAQ,SACbxF,SAASkX,IAAQ,EAKhC,IAAIgrF,GAAa58F,EAASE,EAAO,WAC7Bgf,GAAwB,KAAb09E,GAAmBA,GAAWriG,MAAM,KAAO,GAC1D2kB,GAAWA,IAAaA,GAAQ3lB,OAAO,EAAK2lB,GAAQzb,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAC9E,IAGI0X,GAEAQ,GAEAC,GAEAG,GAEAC,GAEA++E,GACA1/E,GAGAnZ,GAEAy5F,GACA5+E,GAEAC,GAEAE,GAxBA6+E,GAAgB78F,EAASE,EAAO,cAChCif,GAA8B,KAAhB09E,GAAsBA,GAActiG,MAAM,KAAO,GAoDnE,GAnDA4kB,GAAcA,IAAgBA,GAAW5lB,OAAO,EAAK4lB,GAAW1b,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAE1F0X,IADIA,GAAMjc,EAASE,EAAQ,QACbxF,SAASuhB,IAAO,EAE9BQ,IADIA,GAAezc,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAAS+hB,KAAsB,KAExEC,IADIA,GAAe1c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASgiB,KAAsB,KAExEG,IADIA,GAAe7c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASmiB,KAAsB,KAExEC,IADIA,GAAe9c,EAASE,EAAQ,iBACJ,IAAItE,KAA4B,IAAvBlB,SAASoiB,KAAsB,KAGxEX,IADIA,GAAkB,MADlB0/E,GAAU77F,EAASE,EAAO,SACF27F,GAAQthG,MAAM,KAAO,KAC/B4hB,GAAK5iB,OAAO,EAAK4iB,GAAK1Y,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAGlEvB,IADIA,GAAMgB,GADGhE,EAASE,EAAO,UAEb8C,GAAIzJ,OAAO,EAAKyJ,GAAM,GAGtC6a,IADIA,GAAsB,MADtB4+E,GAAYz8F,EAASE,EAAO,WACAu8F,GAAUliG,MAAM,KAAO,KACjCsjB,GAAOtkB,OAAO,EAAKskB,GAAOpa,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAE1EuZ,IADIA,GAAS9d,EAASE,EAAO,UACXu7F,UAAU39E,IAAS,GAErCE,MADIA,GAAUhe,EAASE,EAAO,cACG,MAAV8d,IAA6B,MAAZA,IAExCzC,GADIA,EAAQvb,EAASE,EAAQ,UACXxF,SAAS6gB,GAAS,EA0B0B,OAxB9D2/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX72B,IAAKA,EACLqO,OAAQA,GACRC,MAAOA,GACP/Z,IAAKA,GACLuZ,KAAMA,GACNC,MAAOA,GACPpK,KAAMA,GACNsN,QAASA,GACTC,WAAYA,GACZlD,IAAKA,GACLQ,aAAcA,GACdC,aAAcA,GACdI,aAAcA,GACdD,aAAcA,GACdV,KAAMA,GACNnZ,IAAKA,GACL6a,OAAQA,GACRtC,MAAOA,EACPuC,MAAOA,GACPE,QAASA,KAEKxc,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAG9D,GADIoK,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,EAEvC,MAEA,IAAK,oBACD,IAAIwB,GAAY98F,EAASE,EAAO,UAC5Bwf,GAAsB,KAAZo9E,GAAkBA,GAAUviG,MAAM,KAAO,GAIvD,GAHAmlB,GAAUA,IAAYA,GAAOnmB,OAAO,EAAKmmB,GAAOjc,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAEtEM,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YADjC,IAGI2+E,GAAc0c,EAAe7gG,SAAS6gG,GAAe,GACrD1qF,GAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC/CnU,GAAiBiU,EAErBJ,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXplB,OAAQA,GACRrW,OAAQ,+BACRw1E,WAAYA,GACZhuE,SAAUA,GACVw2E,eAAgBA,IAExB,MAEA,IAAK,SACD,IAKIhb,GALAwQ,GAAO78E,EAASE,EAAO,OACvB48E,GAAO98E,EAASE,EAAO,QACvB68E,GAAO/8E,EAASE,EAAO,QACvB68F,GAAW/8F,EAASE,EAAO,SAC3B88E,GAAoB,KAAX+f,GAAiBA,GAASxiG,MAAM,MAAQ,GAIrD,IAFI6hG,GAA0B,MAD1B/vB,GAAYrsE,EAASE,EAAO,YACI68F,GAASxiG,MAAM,MAAQ,GACvD0jB,GAAU,GACL/kB,GAAE,EAAGA,GAAEkjG,GAAW7iG,OAAQL,KAAI,CAC/B8B,GAAMohG,GAAWljG,IAAGqB,MAAM,KAC9B0jB,GAAQnlB,KAAK,CAAC4J,OAAQ1H,GAAI,GAAImjB,IAAKnjB,GAAI,KAE3C,IAAIiiF,GAAMj9E,EAASE,EAAO,OAEtBupE,IADA1vD,EAAO/Z,EAASE,EAAQ,QACfF,EAASE,EAAQ,WAC1Bgb,EAASlb,EAASE,EAAQ,UAC1Bib,EAAMnb,EAASE,EAAQ,OAC3B28E,GAASA,IAAiB,GAC1BC,GAASA,GAASpiF,SAASoiF,IAAS,EACpCC,GAASA,GAASriF,SAASqiF,IAAS,EACpCC,GAASA,IAAWA,GAAMzjF,OAAO,EAAKyjF,GAAS,GAC/C/+D,GAAWA,IAAaA,GAAQ1kB,OAAO,EAAK0kB,GAAW,GACvDg/D,GAASA,IAAiB,IAC1BljE,EAAYA,EAAYrf,SAASqf,GAAY,KAC7C0vD,GAAWA,IAAmB,GAC9BvuD,EAAcA,EAAc,IAAItf,KAAsB,IAAjBlB,SAASwgB,IAAoB,KAClEC,EAAWA,EAAW,IAAIvf,KAAmB,IAAdlB,SAASygB,IAAiB,KACzD+/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACX+3C,IAAKA,GACLC,KAAMA,GACNC,KAAMA,GACNC,MAAOA,GACPC,IAAKA,GACLljE,KAAMA,EACN0vD,OAAQA,GACRvuD,OAAQA,EACRC,IAAKA,EACL8C,QAASA,IAEjB,MACA,IAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,cACO1Z,GAAKvE,EAASE,EAAO,SAErBqE,GAAK,IACT22F,EAAgB,CAChB15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXvgC,GAAIA,IAEZ,MACA,IAAK,aACL,IAAK,aAGG64D,IADIA,GAA0B,MAD1Bg+B,GAASp7F,EAASE,EAAO,kBACOk7F,GAAO7gG,MAAM,KAAO,KACpB6iE,GAAc7jE,OAAO,EAAK6jE,GAAgB,GAC9E89B,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXs4B,cAAeA,IAE3B,MACA,IAAK,gBACG89B,EAAgB,CAChB15F,aAAamE,EAAO,GACpBm/B,WAAW,QAEnB,MACA,IAAK,kBACGo2D,EAAgB,CAChB15F,aAAamE,EAAO,GACpBm/B,WAAW,mBAEnB,MACA,IAAK,UACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,iBACL,IAAK,iBACL,IAAK,iBACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,oBACL,IAAK,gBACL,IAAK,oBACL,IAAK,gBACL,IAAK,eACL,IAAK,sBACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,cACL,IAAK,iBACL,IAAK,iBACL,IAAK,iBACL,IAAK,uBACL,IAAK,iBACL,IAAK,sBACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,oBACL,IAAK,gBACL,IAAK,mBACL,IAAK,kBAED72B,GADIA,EAAMjO,EAASE,EAAO,QACZu7F,UAAUxtF,GAAO,GAC/B,IAEI1J,GAFAqM,GAAM5Q,EAASE,EAAO,OAM1B,GALA0Q,GAAQA,GAAQlW,SAASkW,IAAQ,GAC7BrM,GAAKvE,EAASE,EAAO,SAErBqE,GAAK,GACLM,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXuuD,SAAU,KACVv1E,MAAO7P,EACP1J,GAAIA,GACJkgC,aAAc,EACdo6C,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACrD1qF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC/CnU,eAAiBiU,EACjB1qF,IAAKA,IAEb,MACA,IAAK,aACL,IAAK,aAKD,GAFAwsD,IADIA,GAA0B,MAD1Bg+B,GAASp7F,EAASE,EAAO,kBACOk7F,GAAO7gG,MAAM,KAAO,KACpB6iE,GAAc7jE,OAAO,EAAK6jE,GAAiB,GAC3Ev4D,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXuuD,SAAU,KACVv1E,MAAO7P,EACPmvD,cAAeA,GACf34B,aAAc,EACdo6C,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACrD1qF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC/CnU,eAAiBiU,EACjB1qF,IAAKA,IAEb,MACA,IAAK,mBACL,IAAK,mBACL,IAAK,mBACL,IAAK,mBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACD,IAAIwqF,GACAh+B,GAGJ,GAFAA,IADIA,GAA0B,MAD1Bg+B,GAASp7F,EAASE,EAAO,kBACOk7F,GAAO7gG,MAAM,KAAO,KACpB6iE,GAAc7jE,OAAO,EAAK6jE,GAAc35D,KAAI,SAAAc,GAAE,OAAG7J,SAAS6J,MAAQ,GAClGM,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXuuD,SAAU,KACVv1E,MAAO7P,EACPmvD,cAAeA,GACf34B,aAAc,EACdo6C,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACrD1qF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC/CnU,eAAiBiU,EACjB1qF,IAAKA,IAEb,MACA,IAAK,aACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,yBACL,IAAK,2BACL,IAAK,uBACL,IAAK,2BACL,IAAK,2BACL,IAAK,mBACL,IAAK,yBACL,IAAK,wBACL,IAAK,oBACL,IAAK,oBACL,IAAK,qBACL,IAAK,qBACL,IAAK,2BAGD,GADI/L,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXuuD,SAAU,KACVxU,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACrD1qF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC/CnU,eAAiBiU,GAEzB,MACA,IAAK,eACL,IAAK,cACD,IAAI/3E,GAAQvjB,EAASE,EAAO,SACxBgb,EAASlb,EAASE,EAAQ,UAC1Bib,EAAMnb,EAASE,EAAQ,OAY3B,GAXAqjB,GAAUA,GAAU7oB,SAAS6oB,IAAU,EACvCrI,EAAUA,EAAU,IAAItf,KAAsB,IAAjBlB,SAASwgB,IAAgB,KACtDC,EAAOA,EAAO,IAAIvf,KAAmB,IAAdlB,SAASygB,IAAa,KASiB,OAP9D+/E,EAAgB,CACZ15F,aAAamE,EAAO,GACpBm/B,WAAW,qBACXvhB,MAAOA,GACPrI,OAAQA,EACRC,IAAKA,IAES3Z,aAAahF,cAAc/B,UAAU,EAAE,GAAS,CAE9D,IAAIoK,GACJ,GADIA,GAAU7E,EAASE,EAAQ,UAEvBo7F,EAAaT,EAAch2F,IAC/B02F,EAAcv7F,EAASE,EAAQ,cAC/Bs7F,EAAYx7F,EAASE,EAAQ,YACjCg7F,EAAcp2D,WAAa,qBAC3Bo2D,EAAcrc,WAAc0c,EAAe7gG,SAAS6gG,GAAe,GACnEL,EAAcrqF,SAAY2qF,EAAa9gG,SAAS8gG,GAAa,EAC7DN,EAAc7T,eAAiBiU,IAM3CJ,IACK/7F,EAAU+7F,EAAerhE,IAC1B4oD,EAAcyY,KAKpBZ,GAAoB,SAAChwF,GACvB6vF,MAGE6C,GAA0B,SAACC,GAC7B,GAAIA,EAAYv4D,UAAY7K,EAAWw5D,SAAS,CAAC,IAAD,EACxC6H,GAAa,GACb15F,aAAcy7F,EAAYl2E,UAC1B+d,WAAW,qBACXuuD,SAAU4J,EAAYv4D,SACtBr7B,OAAQ4zF,EAAY5zF,OACpByU,MAAOm/E,EAAYn/E,MACnBvZ,GAAI04F,EAAY7yE,MAChBgzC,cAAe6/B,EAAY7/B,cAC3B34B,aAAc,EACd5/B,QAAUo4F,EAAYp4F,QACtBg6E,WAAcoe,EAAYpe,WAAcoe,EAAYpe,WAAa,GACjEhuE,SAAYosF,EAAYpsF,SAAYosF,EAAYpsF,SAAW,EAC3Dw2E,eAAkB4V,EAAY5V,eAAkB4V,EAAY5V,eAAiB,GAC7E8N,SAAU8H,EAAY9H,SACtB7B,MAAO2J,EAAY3J,MACnB/3E,MAAO0hF,EAAY1hF,MACnBC,QAASyhF,EAAYzhF,QACrBC,QAASwhF,EAAYxhF,QACrBxN,IAAKgvF,EAAYhvF,IACjBsM,MAAO0iF,EAAY1iF,MACnBm7E,KAAMuH,EAAYvH,KAClBp5E,OAAQ2gF,EAAY3gF,OACpBC,MAAO0gF,EAAY1gF,MACnB/Z,IAAKy6F,EAAYz6F,IACjBuZ,KAAMkhF,EAAYlhF,KAClBC,MAAOihF,EAAYjhF,MACnBpK,KAAMqrF,EAAYrrF,KAClBuK,KAAM8gF,EAAY9gF,KAClBF,IAAKghF,EAAYhhF,IACjBO,IAAKygF,EAAYzgF,IACjBzC,KAAMkjF,EAAYljF,KAClBC,QAASijF,EAAYjjF,QACrBiE,QAASg/E,EAAYh/E,QACrBG,QAAS6+E,EAAY7+E,QACrBpb,IAAKi6F,EAAYj6F,IACjBwb,UAAWy+E,EAAYz+E,UACvBrE,MAAO8iF,EAAY9iF,MACnB2E,OAAQm+E,EAAYn+E,OACpB62E,UAAWsH,EAAYtH,UACvBz2E,QAAS+9E,EAAY/9E,QACrBC,WAAY89E,EAAY99E,WACxBc,OAAQg9E,EAAYh9E,OACpBC,QAAS+8E,EAAY/8E,QACrBC,SAAU88E,EAAY98E,SACtBC,SAAU68E,EAAY78E,SACtBC,QAAS48E,EAAY58E,QACrBE,IAAK08E,EAAY18E,IACjBC,IAAKy8E,EAAYz8E,IACjBF,QAAS28E,EAAY38E,QACrBG,OAAQw8E,EAAYx8E,OACpBC,KAAMu8E,EAAYv8E,KAClBC,OAAQs8E,EAAYt8E,OACpBE,OAAQo8E,EAAYp8E,OACpBD,KAAMq8E,EAAYr8E,KAClBE,KAAMm8E,EAAYn8E,KAClBC,KAAMk8E,EAAYl8E,KAClBG,OAAQ+7E,EAAY/7E,OACpBhG,OAAQ+hF,EAAY/hF,OACpBC,IAAK8hF,EAAY9hF,IACjBowE,SAAW0R,EAAY1R,SACvBG,WAAauR,EAAYvR,WACzBjmD,cAAgBw3D,EAAYx3D,cAC5BsrD,gBAAkBkM,EAAYlM,gBAC9Bt0E,aAAcwgF,EAAYxgF,aAC1BC,aAAcugF,EAAYvgF,aAC1BG,aAAcogF,EAAYpgF,aAC1BC,aAAcmgF,EAAYngF,aAC1BK,aAAc8/E,EAAY9/E,aAC1BC,aAAc6/E,EAAY7/E,aAC1BH,cAAeggF,EAAYhgF,cAC3BC,cAAe+/E,EAAY//E,cAC3BH,cAAekgF,EAAYlgF,cAC3BC,cAAeigF,EAAYjgF,cAC3BL,cAAesgF,EAAYtgF,cAC3BC,cAAeqgF,EAAYrgF,cAC3BW,SAAU0/E,EAAY1/E,SACtBD,MAAO2/E,EAAY3/E,MACnBD,IAAK4/E,EAAY5/E,IACjBI,UAAWw/E,EAAYx/E,UACvBC,MAAOu/E,EAAYv/E,MACnBC,MAAOs/E,EAAYt/E,MACnBC,MAAOq/E,EAAYr/E,MACnBC,OAAQo/E,EAAYp/E,QAlFP,sBAmFNo/E,EAAY1hF,OAnFN,sBAoFN0hF,EAAYn/E,OApFN,wBAqFHm/E,EAAYj/E,SArFT,oBAsFRi/E,EAAYrsF,KAtFJ,GAwFjB6xE,EAAcyY,KA+BhBgC,GAAsB,SAACD,GACzB,IAAIE,EAAW,GACf,GAA4B,uBAAxBtjE,EAAWiL,WAAkC,CAC7C,GAAIm4D,EAAYp4F,QAAQ,CACpB,IAAIu4F,EAAax4F,GAAcq4F,EAAYp4F,SAC1B,KAAbu4F,IACAD,GAAY,WAAaC,GAE7BH,EAAYpe,YAAY,IACxBse,GAAY,eAAiBF,EAAYpe,WAAWvkF,YAEpD2iG,EAAYpsF,UAAU,IACtBssF,GAAY,aAAeF,EAAYpsF,SAASvW,YAGxD,OAAO6iG,GAoBLE,GAAgB,SAACJ,GAPnB93F,GAAYsD,aACP3B,MAAK,SAACC,GACEA,GACDmC,EAAM+wF,iBAMlBqD,KACA,IAAMC,EAAcxV,EAAQpuF,SAAS6jG,SAAWzV,EAAQpuF,SAAS07B,OAC7DyyD,EAAUyV,EACVx2E,EAAYk2E,EAAYl2E,UAK5B,GAHI+yE,IAAsBmB,GAAal0E,IACnCgzE,EAAqBkB,GAAal0E,IAElCjmB,IAAiB,GAAiB,kBAAZimB,EACtB,OAAOA,GACH,IAAK,SACD+gE,EAAUzvF,EACd,MACA,IAAK,QACL,IAAK,OAGL,IAAK,YACDyvF,EAAUzvF,EAAY0uB,EAC1B,MACA,IAAK,UACD+gE,EAAUzvF,EACVyvF,GAAW/gE,EAAY,QAAUk2E,EAAYn/E,MACzCm/E,EAAYrsF,IAAM,IAClBk3E,GAAW,QAAUmV,EAAYrsF,IAAItW,YACzCwtF,GAAWoV,GAAoBD,GAC/BD,GAAwBC,GACxB,MACJ,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,iBACL,IAAK,iBACL,IAAK,iBACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,oBACL,IAAK,gBACL,IAAK,oBACL,IAAK,gBACL,IAAK,eACL,IAAK,sBACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,cACL,IAAK,iBACL,IAAK,iBACL,IAAK,iBACL,IAAK,uBACL,IAAK,iBACL,IAAK,sBACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,oBACL,IAAK,gBACL,IAAK,mBACL,IAAK,kBACDnV,EAAUzvF,EACVyvF,GAAW/gE,EAAY,OAASk2E,EAAY7yE,MAC5C09D,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGD,EAAQpuF,SAAS6jG,SAAU,OAASP,EAAY7yE,OAExF4yE,GAAwBC,GACxB,MACJ,IAAK,mBACL,IAAK,mBACL,IAAK,mBACL,IAAK,mBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,aACL,IAAK,aACDnV,EAAUzvF,EACVyvF,GAAW/gE,EAAY,kBAAoBk2E,EAAY7/B,cAAc9iE,WACrEwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGD,EAAQpuF,SAAS6jG,SAAU,kBAAoBP,EAAY7/B,cAAc9iE,YAEjH0iG,GAAwBC,GACxB,MACJ,IAAK,aACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,yBACL,IAAK,2BACL,IAAK,uBACL,IAAK,2BACL,IAAK,2BACL,IAAK,mBACL,IAAK,yBACL,IAAK,wBACL,IAAK,oBACL,IAAK,oBACL,IAAK,qBACL,IAAK,qBACL,IAAK,2BACDnV,EAAUzvF,EACVyvF,GAAW/gE,EAAY,OACvB+gE,GAAWoV,GAAoBD,GAC/BD,GAAwBC,GAC5B,MAEA,IAAK,gBACDnV,EAAUzvF,EAAW0uB,EAAY,MACN,IAAvBk2E,EAAYrjF,UACZkuE,GAAW,YAAcmV,EAAYrjF,SACrCqjF,EAAYpjF,YAAeojF,EAAYpjF,WAAWtgB,OAAS,IAC3DuuF,GAAW,eAAiBmV,EAAYpjF,WAAWvf,YACnD2iG,EAAYnjF,YACZguE,GAAW,gBACXmV,EAAYljF,OACZ+tE,GAAW,SAAWmV,EAAYljF,KAAKzf,YACvC2iG,EAAYjjF,UACZ8tE,GAAW,YAAcmV,EAAYjjF,SACzC8tE,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GACxB,MAEJ,IAAK,mBACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAYhvF,KAA2B,KAApBgvF,EAAYhvF,MAC/B65E,GAAW,QAAUmV,EAAYhvF,KACjCgvF,EAAY1iF,MAAQ,IACpButE,GAAW,UAAYmV,EAAY1iF,MAAMjgB,YACzC2iG,EAAYziF,KAAO,IACnBstE,GAAW,SAAWmV,EAAYziF,KAAKlgB,YACvC2iG,EAAYviF,SACZotE,GAAW,aACXmV,EAAYxiF,SACZqtE,GAAW,aACXmV,EAAYtiF,UACZmtE,GAAW,YAAcltF,KAAKC,MAAMoiG,EAAYtiF,QAAQC,UAAU,KAAMtgB,YACxE2iG,EAAYpiF,UACZitE,GAAW,YAAcltF,KAAKC,MAAMoiG,EAAYpiF,QAAQD,UAAU,KAAMtgB,YACxE2iG,EAAYtkG,OACZmvF,GAAW,SAAWltF,KAAKC,MAAMoiG,EAAYtkG,KAAKiiB,UAAU,KAAMtgB,YAClE2iG,EAAYniF,OACZgtE,GAAW,SAAWltF,KAAKC,MAAMoiG,EAAYniF,KAAKF,UAAU,KAAMtgB,YACtEwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACPvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAElFw7F,GAAwBC,GACxB,MAEJ,IAAK,eACL,IAAK,eACL,IAAK,eACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAYhvF,KAA2B,KAApBgvF,EAAYhvF,MAC/B65E,GAAW,QAAUmV,EAAYhvF,KACjCgvF,EAAYhiF,SAAmC,KAAxBgiF,EAAYhiF,UACnC6sE,GAAW,YAAcmV,EAAYhiF,SACrCgiF,EAAY1iF,MAAQ,IACpButE,GAAW,UAAYmV,EAAY1iF,MAAMjgB,YACzC2iG,EAAYziF,KAAO,IACnBstE,GAAW,SAAWmV,EAAYziF,KAAKlgB,YACvC2iG,EAAY/hF,SACZ4sE,GAAW,WAAaltF,KAAKC,MAAMoiG,EAAY/hF,OAAON,UAAU,KAAMtgB,YACtE2iG,EAAY9hF,MACZ2sE,GAAW,QAAUltF,KAAKC,MAAMoiG,EAAY9hF,IAAIP,UAAU,KAAMtgB,YACpEwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACPvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAElFw7F,GAAwBC,GACxB,MAEJ,IAAK,gBACL,IAAK,qBACL,IAAK,mBACL,IAAK,qBACL,IAAK,aACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAY/hF,SACZ4sE,GAAW,WAAaltF,KAAKC,MAAMoiG,EAAY/hF,OAAON,UAAU,KAAMtgB,YACtE2iG,EAAY9hF,MACZ2sE,GAAW,QAAUltF,KAAKC,MAAMoiG,EAAY9hF,IAAIP,UAAU,KAAMtgB,YACpEwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACPvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAElFw7F,GAAwBC,GAC5B,MAEA,IAAK,sBACL,IAAK,2BACL,IAAK,oBACDnV,EAAUzvF,EAAW0uB,EAAY,MACjC+gE,GAAWoV,GAAoBD,GAC/BD,GAAwBC,GAC5B,MAEA,IAAK,kBACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAY7yE,MAAQ,IACpB09D,GAAW,OAASmV,EAAY7yE,MAAM9vB,YACtC2iG,EAAYhvF,KAA2B,KAApBgvF,EAAYhvF,MAC/B65E,GAAW,QAAUmV,EAAYhvF,KACjCgvF,EAAY/7E,OAAS,IACrB4mE,GAAW,WAAamV,EAAY/7E,OAAO5mB,YAC3C2iG,EAAYz6F,KAAQy6F,EAAYz6F,IAAIjJ,OAAS,IAC7CuuF,GAAW,QAAWmV,EAAYz6F,IAAIlI,YACtC2iG,EAAYlhF,KACZ+rE,GAAW,UAEXA,GAAW,UACfA,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACPvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAElFw7F,GAAwBC,GACxB,MAGJ,IAAK,wBACDnV,EAAUzvF,EAAW0uB,EAAY,MACJ,IAAzBk2E,EAAYz+E,YACZspE,GAAW,cAAgBmV,EAAYz+E,WAClB,IAArBy+E,EAAY9iF,QACZ2tE,GAAW,UAAYmV,EAAY9iF,OACvC2tE,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GACxB,MAEJ,IAAK,yBACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAY1hF,MAAQ,IACpBusE,GAAW,UAAYmV,EAAY1hF,OACnC0hF,EAAYzhF,SAAYyhF,EAAYzhF,QAAQjiB,OAAS,IACrDuuF,GAAW,YAAcmV,EAAYzhF,QAAQlhB,YAC7C2iG,EAAYxhF,SAAYwhF,EAAYxhF,QAAQliB,OAAS,IACrDuuF,GAAW,YAAcmV,EAAYxhF,QAAQnhB,YACjDwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GACxB,MAEJ,IAAK,kBACL,IAAK,kBACL,IAAK,kBACDnV,EAAUzvF,EAAW0uB,EAAY,KACL,IAAxBk2E,EAAYthF,WACZmsE,GAAW,aAAemV,EAAYthF,UACtCshF,EAAYz6F,KAAQy6F,EAAYz6F,IAAIjJ,OAAS,IAC7CuuF,GAAW,QAAUvlF,GAA6B06F,EAAYz6F,MAC9Dy6F,EAAYlhF,KACZ+rE,GAAW,UAEXA,GAAW,UACXmV,EAAYjhF,MAAM,IAClB8rE,GAAW,UAAYmV,EAAYjhF,MAAM1hB,YACzC2iG,EAAYrrF,KAAK,IACjBk2E,GAAW,SAAWmV,EAAYrrF,KAAKtX,YACvC2iG,EAAYhhF,IAAI,IAChB6rE,GAAW,QAAUmV,EAAYhhF,IAAI3hB,YACrC2iG,EAAY/gF,GAAG,IACf4rE,GAAW,OAASmV,EAAY/gF,GAAG5hB,YACnC2iG,EAAY9gF,MAAS8gF,EAAY9gF,KAAK5iB,OAAS,IAC/CuuF,GAAW,SAAWmV,EAAY9gF,KAAK7hB,YAC3CwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GACxB,MAEJ,IAAK,yBACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAY9iF,MAAM,IAClB2tE,GAAW,UAAYmV,EAAY9iF,MAAM7f,YACzC2iG,EAAY39E,QAAW29E,EAAY39E,OAAO/lB,OAAS,IACnDuuF,GAAW,WAAamV,EAAY39E,OAAOhlB,YAC3C2iG,EAAY19E,QAAW09E,EAAY19E,OAAOhmB,OAAS,IACnDuuF,GAAW,WAAamV,EAAY19E,OAAOjlB,YAC3C2iG,EAAYjhF,MAAM,IAClB8rE,GAAW,UAAYmV,EAAYjhF,MAAM1hB,YACzC2iG,EAAYrrF,KAAK,IACjBk2E,GAAW,SAAWmV,EAAYrrF,KAAKtX,YACvC2iG,EAAYljF,OACZ+tE,GAAW,SAAWmV,EAAYljF,KAAKzf,YACvC2iG,EAAYjjF,UACZ8tE,GAAW,YAAcmV,EAAYjjF,SACrCijF,EAAY9gF,MAAS8gF,EAAY9gF,KAAK5iB,OAAS,IAC/CuuF,GAAW,SAAWmV,EAAY9gF,KAAK7hB,YACvC2iG,EAAYj6F,KAAQi6F,EAAYj6F,IAAIzJ,OAAS,IAC7CuuF,GAAW,QAAU/kF,GAA+Bk6F,EAAYj6F,MAChEi6F,EAAYz9E,QAAWy9E,EAAYz9E,OAAOjmB,OAAS,IACnDuuF,GAAW,WAAamV,EAAYz9E,OAAOllB,YAC/CwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GAC5B,MAEA,IAAK,iBACDnV,EAAUzvF,EAAW0uB,EAAY,MACR,KAArBk2E,EAAYh9E,SACZ6nE,GAAW,WAAamV,EAAYh9E,QACpCg9E,EAAY/8E,QAAQ,IACpB4nE,GAAW,YAAcmV,EAAY/8E,QAAQ5lB,YACtB,KAAvB2iG,EAAY98E,WACZ2nE,GAAW,aAAemV,EAAY98E,SAAS7lB,YACxB,KAAvB2iG,EAAY78E,WACZ0nE,GAAW,aAAemV,EAAY78E,SAAS9lB,YAC/C2iG,EAAY58E,QAAQ,IACpBynE,GAAW,YAAcmV,EAAY58E,QAAQ/lB,YAC7C2iG,EAAY9iF,MAAM,IAClB2tE,GAAW,UAAYmV,EAAY9iF,MAAM7f,YACzC2iG,EAAY38E,SAAY28E,EAAY38E,QAAQ/mB,OAAS,IACrDuuF,GAAW,YAAcmV,EAAY38E,QAAQhmB,YAC7C2iG,EAAY18E,MACZunE,GAAW,QAAUmV,EAAY18E,KACjC08E,EAAYz8E,MACZsnE,GAAW,QAAUmV,EAAYz8E,KACjCy8E,EAAYr8E,OACZknE,GAAW,WACXmV,EAAYp8E,SACZinE,GAAW,aACXmV,EAAYx8E,SACZqnE,GAAW,aACXmV,EAAYv8E,OACZonE,GAAW,WACXmV,EAAYt8E,SACZmnE,GAAW,aACXmV,EAAYn8E,MAA6B,KAArBm8E,EAAYn8E,OAChCgnE,GAAW,SAAWmV,EAAYn8E,MAClCm8E,EAAYl8E,MAA6B,KAArBk8E,EAAYl8E,OAChC+mE,GAAW,SAAWmV,EAAYl8E,MAClCk8E,EAAYz6F,KAAQy6F,EAAYz6F,IAAIjJ,OAAS,IAC7CuuF,GAAW,QAAUvlF,GAA6B06F,EAAYz6F,MAC9Dy6F,EAAYlhF,KACZ+rE,GAAW,UAEXA,GAAW,UACfA,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GAC5B,MAEA,IAAK,eAoFD,GAnFAnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAYhvF,KAA2B,KAApBgvF,EAAYhvF,MAC/B65E,GAAW,QAAUmV,EAAYhvF,KAMjCgvF,EAAY3gF,QAAW2gF,EAAY3gF,OAAO/iB,OAAS,IACnDuuF,GAAW,WAAamV,EAAY3gF,OAAOhiB,YAC3C2iG,EAAY1gF,OAAU0gF,EAAY1gF,MAAMhjB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAY1gF,MAAMjiB,YAEzC2iG,EAAYz6F,KAAQy6F,EAAYz6F,IAAIjJ,OAAS,IAC7CuuF,GAAW,QAAUvlF,GAA6B06F,EAAYz6F,MAC9Dy6F,EAAYlhF,KACZ+rE,GAAW,UAEXA,GAAW,UACXmV,EAAYjhF,MAAM,IAClB8rE,GAAW,UAAYmV,EAAYjhF,MAAM1hB,YACzC2iG,EAAYrrF,KAAK,IACjBk2E,GAAW,SAAWmV,EAAYrrF,KAAKtX,YACvC2iG,EAAYhhF,MACZ6rE,GAAW,QAAUmV,EAAYhhF,IAAI3hB,YACrC2iG,EAAYzgF,MACZsrE,GAAW,QAAUmV,EAAYzgF,IAAIliB,YACrC2iG,EAAYljF,OACZ+tE,GAAW,SAAWmV,EAAYljF,KAAKzf,YACvC2iG,EAAYjjF,UACZ8tE,GAAW,YAAcmV,EAAYjjF,SACrCijF,EAAY9gF,MAAS8gF,EAAY9gF,KAAK5iB,OAAS,IAC/CuuF,GAAW,SAAWmV,EAAY9gF,KAAK7hB,YACvC2iG,EAAYj6F,KAAQi6F,EAAYj6F,IAAIzJ,OAAS,IAC7CuuF,GAAW,QAAU/kF,GAA+Bk6F,EAAYj6F,MAEhEi6F,EAAYxgF,eACZqrE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYxgF,aAAa7B,UAAU,KAAMtgB,YAClF2iG,EAAYvgF,eACZorE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYvgF,aAAa9B,UAAU,KAAMtgB,YAClF2iG,EAAYpgF,eACZirE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYpgF,aAAajC,UAAU,KAAMtgB,YAClF2iG,EAAYngF,eACZgrE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYngF,aAAalC,UAAU,KAAMtgB,YAClF2iG,EAAYtgF,gBACZmrE,GAAW,kBAAoBltF,KAAKC,MAAMoiG,EAAYtgF,cAAc/B,UAAU,KAAMtgB,YACpF2iG,EAAYrgF,gBACZkrE,GAAW,kBAAoBltF,KAAKC,MAAMoiG,EAAYrgF,cAAchC,UAAU,KAAMtgB,YACpF2iG,EAAYlgF,gBACZ+qE,GAAW,kBAAoBltF,KAAKC,MAAMoiG,EAAYlgF,cAAcnC,UAAU,KAAMtgB,YACpF2iG,EAAYjgF,gBACZ8qE,GAAW,kBAAoBltF,KAAKC,MAAMoiG,EAAYjgF,cAAcpC,UAAU,KAAMtgB,YACpF2iG,EAAYhgF,gBACZ6qE,GAAW,kBAAoBltF,KAAKC,MAAMoiG,EAAYhgF,cAAcrC,UAAU,KAAMtgB,YACpF2iG,EAAY//E,gBACZ4qE,GAAW,kBAAoBltF,KAAKC,MAAMoiG,EAAY//E,cAActC,UAAU,KAAMtgB,YACpF2iG,EAAY9/E,eACZ2qE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAY9/E,aAAavC,UAAU,KAAMtgB,YAClF2iG,EAAY7/E,eACZ0qE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAY7/E,aAAaxC,UAAU,KAAMtgB,YAClF2iG,EAAY1/E,WACZuqE,GAAW,aAAemV,EAAY1/E,UACtC0/E,EAAY3/E,QACZwqE,GAAW,UAAYmV,EAAY3/E,MAAMhjB,YACzC2iG,EAAYx/E,YACZqqE,GAAW,cAAgBmV,EAAYx/E,UAAUnjB,YACjD2iG,EAAY5/E,MACZyqE,GAAW,QAAUltF,KAAK4iB,MAAwB,IAAlBy/E,EAAY5/E,KAAW/iB,YACvD2iG,EAAYv/E,OAAUu/E,EAAYv/E,MAAMnkB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAYv/E,MAAMpjB,YACzC2iG,EAAYt/E,OAAUs/E,EAAYt/E,MAAMpkB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAYt/E,MAAMrjB,YACzC2iG,EAAYr/E,OAAUq/E,EAAYr/E,MAAMrkB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAYr/E,MAAMtjB,YACzC2iG,EAAYp/E,QAAWo/E,EAAYp/E,OAAOtkB,OAAS,IACnDuuF,GAAW,WAAamV,EAAYp/E,OAAOvjB,YAC3C2iG,EAAYn/E,OAA+B,KAAtBm/E,EAAYn/E,QACjCgqE,GAAW,UAAY/pE,UAAUk/E,EAAYn/E,QAC7Cm/E,EAAYj/E,UACZ8pE,GAAW,cACXmV,EAAY1hF,QACZusE,GAAW,UAAYmV,EAAY1hF,MAAMjhB,YAEzC2iG,EAAYh/E,SAAYg/E,EAAYh/E,QAAQ1kB,OAAS,EAAG,CAExD,IADA,IAAI2kB,EAAS,GACJhlB,EAAE,EAAGA,EAAE+jG,EAAYh/E,QAAQ1kB,OAAQL,IACpCA,EAAE,IAAGglB,GAAU,KACnBA,GAAU++E,EAAYh/E,QAAQ/kB,GAAGwJ,OAAS,IAAMu6F,EAAYh/E,QAAQ/kB,GAAGilB,IAE3E2pE,GAAW,YAAc5pE,EAE7B,GAAI++E,EAAY7+E,SAAY6+E,EAAY7+E,QAAQ7kB,OAAS,EAAG,CACxD,IAAI8kB,EAAS,GACb,IAASnlB,EAAE,EAAGA,EAAE+jG,EAAY7+E,QAAQ7kB,OAAQL,IACpCA,EAAE,IAAGmlB,GAAU,KACnBA,GAAU4+E,EAAY7+E,QAAQllB,GAAGwJ,OAAS,IAAMu6F,EAAY7+E,QAAQllB,GAAGilB,IAE3E2pE,GAAW,YAAczpE,EAE7BypE,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GAC5B,MACA,IAAK,eACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAYhvF,KAA2B,KAApBgvF,EAAYhvF,MAC/B65E,GAAW,QAAUmV,EAAYhvF,KAMjCgvF,EAAY3gF,QAAW2gF,EAAY3gF,OAAO/iB,OAAS,IACnDuuF,GAAW,WAAamV,EAAY3gF,OAAOhiB,YAC3C2iG,EAAY1gF,OAAU0gF,EAAY1gF,MAAMhjB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAY1gF,MAAMjiB,YAEzC2iG,EAAYz6F,KAAQy6F,EAAYz6F,IAAIjJ,OAAS,IAC7CuuF,GAAW,QAAUvlF,GAA6B06F,EAAYz6F,MAC9Dy6F,EAAYlhF,KACZ+rE,GAAW,UAEXA,GAAW,UACXmV,EAAYjhF,MAAM,IAClB8rE,GAAW,UAAYmV,EAAYjhF,MAAM1hB,YACzC2iG,EAAYrrF,KAAK,IACjBk2E,GAAW,SAAWmV,EAAYrrF,KAAKtX,YACvC2iG,EAAYhhF,MACZ6rE,GAAW,QAAUmV,EAAYhhF,IAAI3hB,YACrC2iG,EAAYxgF,eACZqrE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYxgF,aAAa7B,UAAU,KAAMtgB,YAClF2iG,EAAYvgF,eACZorE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYvgF,aAAa9B,UAAU,KAAMtgB,YAClF2iG,EAAYpgF,eACZirE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYpgF,aAAajC,UAAU,KAAMtgB,YAClF2iG,EAAYngF,eACZgrE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYngF,aAAalC,UAAU,KAAMtgB,YAClF2iG,EAAYj6F,KAAQi6F,EAAYj6F,IAAIzJ,OAAS,IAC7CuuF,GAAW,QAAU/kF,GAA+Bk6F,EAAYj6F,MACvC,IAAzBi6F,EAAYz+E,YACZspE,GAAW,cAAgBmV,EAAYz+E,WAClB,IAArBy+E,EAAY9iF,QACZ2tE,GAAW,UAAYmV,EAAY9iF,OACnC8iF,EAAYp/E,QAAWo/E,EAAYp/E,OAAOtkB,OAAS,IACnDuuF,GAAW,WAAamV,EAAYp/E,OAAOvjB,YAC3C2iG,EAAYn/E,OAA+B,KAAtBm/E,EAAYn/E,QACjCgqE,GAAW,UAAY/pE,UAAUk/E,EAAYn/E,QAC7Cm/E,EAAYj/E,UACZ8pE,GAAW,cACXmV,EAAY1hF,QACZusE,GAAW,UAAYmV,EAAY1hF,MAAMjhB,YAC7CwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GAC5B,MAEA,IAAK,eAsBD,GArBAnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAYhvF,KAA2B,KAApBgvF,EAAYhvF,MAC/B65E,GAAW,QAAUmV,EAAYhvF,KACjCgvF,EAAYt+E,OAAUs+E,EAAYt+E,MAAMplB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAYt+E,MAAMrkB,YACzC2iG,EAAYr+E,OAAUq+E,EAAYr+E,MAAMrlB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAYr+E,MAAMtkB,YAGzC2iG,EAAY1gF,OAAU0gF,EAAY1gF,MAAMhjB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAY1gF,MAAMjiB,YACzC2iG,EAAYj6F,KAAQi6F,EAAYj6F,IAAIzJ,OAAS,IAC7CuuF,GAAW,QAAU/kF,GAA+Bk6F,EAAYj6F,MAChEi6F,EAAYp/E,QAAWo/E,EAAYp/E,OAAOtkB,OAAS,IACnDuuF,GAAW,WAAamV,EAAYp/E,OAAOvjB,YAC3C2iG,EAAYn/E,OAA+B,KAAtBm/E,EAAYn/E,QACjCgqE,GAAW,UAAY/pE,UAAUk/E,EAAYn/E,QAC7Cm/E,EAAYj/E,UACZ8pE,GAAW,cACXmV,EAAY1hF,QACZusE,GAAW,UAAYmV,EAAY1hF,MAAMjhB,YACzC2iG,EAAYh/E,SAAYg/E,EAAYh/E,QAAQ1kB,OAAS,EAAG,CAExD,IADI2kB,EAAS,GACJhlB,EAAE,EAAGA,EAAE+jG,EAAYh/E,QAAQ1kB,OAAQL,IACpCA,EAAE,IAAGglB,GAAU,KACnBA,GAAU++E,EAAYh/E,QAAQ/kB,GAAGwJ,OAAS,IAAMu6F,EAAYh/E,QAAQ/kB,GAAGilB,IAE3E2pE,GAAW,YAAc5pE,EAE7B,GAAI++E,EAAY7+E,SAAY6+E,EAAY7+E,QAAQ7kB,OAAS,EAAG,CAExD,IADI8kB,EAAS,GACJnlB,EAAE,EAAGA,EAAE+jG,EAAY7+E,QAAQ7kB,OAAQL,IACpCA,EAAE,IAAGmlB,GAAU,KACnBA,GAAU4+E,EAAY7+E,QAAQllB,GAAGwJ,OAAS,IAAMu6F,EAAY7+E,QAAQllB,GAAGilB,IAE3E2pE,GAAW,YAAczpE,EAE7BypE,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GAC5B,MACA,IAAK,eACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAYhvF,KAA2B,KAApBgvF,EAAYhvF,MAC/B65E,GAAW,QAAUmV,EAAYhvF,KAMjCgvF,EAAY3gF,QAAW2gF,EAAY3gF,OAAO/iB,OAAS,IACnDuuF,GAAW,WAAamV,EAAY3gF,OAAOhiB,YAC3C2iG,EAAY1gF,OAAU0gF,EAAY1gF,MAAMhjB,OAAS,IACjDuuF,GAAW,UAAYmV,EAAY1gF,MAAMjiB,YAEzC2iG,EAAYz6F,KAAQy6F,EAAYz6F,IAAIjJ,OAAS,IAC7CuuF,GAAW,QAAUvlF,GAA6B06F,EAAYz6F,MAC9Dy6F,EAAYlhF,KACZ+rE,GAAW,UAEXA,GAAW,UACXmV,EAAYjhF,MAAM,IAClB8rE,GAAW,UAAYmV,EAAYjhF,MAAM1hB,YACzC2iG,EAAYrrF,KAAK,IACjBk2E,GAAW,SAAWmV,EAAYrrF,KAAKtX,YAKvC2iG,EAAY/9E,SAAY+9E,EAAY/9E,QAAQ3lB,OAAS,IACrDuuF,GAAW,YAAcmV,EAAY/9E,QAAQ5kB,YAC7C2iG,EAAY99E,YAAe89E,EAAY99E,WAAW5lB,OAAS,IAC3DuuF,GAAW,eAAiBmV,EAAY99E,WAAW7kB,YACnD2iG,EAAYhhF,MACZ6rE,GAAW,QAAUmV,EAAYhhF,IAAI3hB,YACrC2iG,EAAYxgF,eACZqrE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYxgF,aAAa7B,UAAU,KAAMtgB,YAClF2iG,EAAYvgF,eACZorE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYvgF,aAAa9B,UAAU,KAAMtgB,YAClF2iG,EAAYpgF,eACZirE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYpgF,aAAajC,UAAU,KAAMtgB,YAClF2iG,EAAYngF,eACZgrE,GAAW,iBAAmBltF,KAAKC,MAAMoiG,EAAYngF,aAAalC,UAAU,KAAMtgB,YAElF2iG,EAAY9gF,MAAS8gF,EAAY9gF,KAAK5iB,OAAS,IAC/CuuF,GAAW,SAAWmV,EAAY9gF,KAAK7hB,YACvC2iG,EAAYj6F,KAAQi6F,EAAYj6F,IAAIzJ,OAAS,IAC7CuuF,GAAW,QAAU/kF,GAA+Bk6F,EAAYj6F,MAChEi6F,EAAYp/E,QAAWo/E,EAAYp/E,OAAOtkB,OAAS,IACnDuuF,GAAW,WAAamV,EAAYp/E,OAAOvjB,YAC3C2iG,EAAYn/E,OAA+B,KAAtBm/E,EAAYn/E,QACjCgqE,GAAW,UAAY/pE,UAAUk/E,EAAYn/E,QAC7Cm/E,EAAYj/E,UACZ8pE,GAAW,cACXmV,EAAY1hF,QACZusE,GAAW,UAAYmV,EAAY1hF,MAAMjhB,YAC7CwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACXvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAE9Ew7F,GAAwBC,GAC5B,MAEA,IAAK,oBACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAYv9E,QAAWu9E,EAAYv9E,OAAOnmB,OAAS,IACnDuuF,GAAW,WAAamV,EAAYv9E,OAAOplB,YAC/CwtF,GAAWoV,GAAoBD,GACnC,MAEA,IAAK,cACDnV,EAAUzvF,EAAW0uB,EAAY,MAC7Bk2E,EAAY15E,MAAQ,IACpBukE,GAAW,UAAYmV,EAAY15E,MAAMjpB,YACzC2iG,EAAY/hF,SACZ4sE,GAAW,WAAaltF,KAAKC,MAAMoiG,EAAY/hF,OAAON,UAAU,KAAMtgB,YACtE2iG,EAAY9hF,MACZ2sE,GAAW,QAAUltF,KAAKC,MAAMoiG,EAAY9hF,IAAIP,UAAU,KAAMtgB,YACpEwtF,GAAWoV,GAAoBD,GACH,uBAAxBpjE,EAAWiL,YACPvkC,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,EAAQttF,QAAQusB,EAAW8S,EAAWr4B,eAElFw7F,GAAwBC,GAC5B,MAEA,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,WACGnV,EAAUzvF,EAAW0uB,EAAY,IAAKk2E,EAAY7yE,MAAM9vB,YAtrB/C,SAACijG,EAAaN,GACvC,GAA4B,uBAAxBpjE,EAAWiL,WAAkC,CAC7C,IACIgjD,EAhDY,SAAC2V,GACrB,IAAIx1E,EAAMw1E,EAAM/3F,QAAQ,YACpBg4F,EAASD,EASb,OARIx1E,EAAM,IACNy1E,EAASD,EAAM53F,OAAO,EAAEoiB,KAC5BA,EAAMy1E,EAAOh4F,QAAQ,iBACb,IACJg4F,EAASA,EAAO73F,OAAO,EAAEoiB,KAC7BA,EAAMy1E,EAAOh4F,QAAQ,eACb,IACJg4F,EAASA,EAAO73F,OAAO,EAAEoiB,IACtBy1E,EAoCeC,CAAgBJ,GACNL,GAAoBD,GAC5CnV,IAAYyV,GACZh9F,OAAOwnF,QAAQC,aAAa,KAAK,GAAGF,IAkrBhC8V,CAAqBL,EAAaN,GAClC,MACJ,IAAK,gBACL,IAAK,kBACL,IAAK,mBACL,IAAK,mBACL,IAAK,mBACL,IAAK,qBACL,IAAK,iBACL,IAAK,qBACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,gBACL,IAAK,uBACL,IAAK,aACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,aACL,IAAK,iBACL,IAAK,yBACL,IAAK,oBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,0BACL,IAAK,mBACL,IAAK,mBACL,IAAK,mBACL,IAAK,0BACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,sBACL,IAAK,oBACL,IAAK,sBACL,IAAK,cACL,IAAK,eAEL,IAAK,SACDnV,EAAUzvF,EACVyvF,GAAW/gE,EACX,MAEJ,QACIna,QAAQC,IAAIka,GACZ82E,MAAM,kCAKd/V,EAAUzvF,EACVyvF,GAAW/gE,EAIf,IAzxBa,SAAC+2E,EAAMC,GACpBD,EAAOrC,UAAUqC,GACjBC,EAAOtC,UAAUsC,GACjB,IAAIC,EAAiBF,EAAKvjG,MAAM,KAAK,GACjC0jG,EAAiBF,EAAKxjG,MAAM,KAAK,GACjC2jG,EAAUx9F,EAAao9F,GACvBK,EAAUz9F,EAAaq9F,GACvBK,EAAOp+F,EAASk+F,EAAS,OACzBte,EAAO5/E,EAASm+F,EAAS,OAE7B,OADWH,IAAmBC,GAAkBG,IAAOxe,EAgxBlDye,CAASvW,EAASyV,GAAa,CAEhC,GADA/D,EAAmB+D,GACD,wBAAdx2E,EAAoC,EAChClE,EAAU,IAAIjnB,MACVknB,SAASD,EAAQ7mB,WAAa,GACtC,IAAIhB,EAAM,sBAAsBJ,KAAKC,MAAMgoB,EAAQjI,UAAU,KAAMtgB,WACnEytF,EAAQjvF,KAAKkC,GAEjB,GAAkB,6BAAd+rB,EAAyC,CACzC,IAAIlE,KAAU,IAAIjnB,MACVknB,SAASD,EAAQ7mB,WAAa,GAClChB,EAAM,6BAA6BJ,KAAKC,MAAMgoB,EAAQjI,UAAU,KAAMtgB,WAC1EytF,EAAQjvF,KAAKkC,GAEjB+sF,EAAQjvF,KAAKgvF,GACbvnF,OAAOwzD,OAAO,CAAEl7B,IAAK,EAAGmX,SAAU,WAClCmqD,OAMFmE,GAAQ,WACVvW,EAAQwW,UAINlE,GAAgB,WAMd,IAeIl8F,EApBmB,IAAvBoC,OAAO24F,aACFC,GACDC,GAAe,GACnB76F,EAA4B,SAAU,KAAM,UAC5CA,EAA4B,gCAAiC,KAAM,WAC/DJ,EAAWzE,SAAS8kG,qBAAqB,YAChCjlG,OAAQ,IAEZ4E,EAAS,GAAG5C,UAAUC,SAAS,qBAChC2C,EAAS,GAAG5C,UAAUiD,OAAO,WAErCD,EAA4B,oBAAqB,YAAa,UAC9DA,EAA4B,0BAA2B,YAAa,UACpEA,EAA4B,0BAA2B,cAAe,YAGlE46F,GACAC,GAAe,GACnBr7F,EAAyB,SAAU,KAAM,UACzCA,EAAyB,gCAAiC,KAAM,WAC5DI,EAAWzE,SAAS8kG,qBAAqB,YAChCjlG,OAAQ,GAEjB4E,EAAS,GAAG5C,UAAU+C,IAAI,UAE9BP,EAAyB,oBAAqB,YAAa,UAC3DA,EAAyB,0BAA2B,YAAa,UACjEA,EAAyB,0BAA2B,cAAe,WAEvE,IAAI0gG,EAAe/kG,SAASmE,uBAAuB,2BAEnD,GAAI4gG,EAAallG,OAAO,EACxB,CACkBklG,EAAa,GAC3B,IAAIC,EAAYhlG,SAASmE,uBAAuB,eAC5C8gG,EAAQjlG,SAASmE,uBAAuB,0BAE5C,GAAI0C,OAAO24F,aAAa,IAEpB,IAAK,IAAIhgG,EAAI,EAAGkF,EAAMsgG,EAAUnlG,OAAQL,EAAIkF,EAAKlF,IAAK,CAClD,IAAI0lG,EAAKF,EAAUxlG,GAAGm4C,wBAAwBxY,IAE9C,GAAI+lE,GAAI,IAAMA,GAAK,IACnB,CACIrgG,EAA4B,YAAa,WAAY,UACjDogG,EAAMplG,OAAOL,GACbylG,EAAMzlG,GAAGqC,UAAU+C,IAAI,UAC3B,YAMRC,EAA4B,YAAa,WAAY,UACjDogG,EAAMplG,OAAO,GACbolG,EAAM,GAAGpjG,UAAU+C,IAAI,YAKjCg/F,GAAoB,WAEtB/+F,EAA4B,eAAe,KAAM,UACjDA,EAA4B,eAAe,KAAM,WACjDA,EAA4B,eAAe,KAAM,UACjDA,EAA4B,qBAAqB,KAAM,UACvDA,EAA4B,WAAW,KAAM,UAC7CA,EAA4B,WAAW,KAAM,UAC7CA,EAA4B,aAAa,KAAM,UAC/CA,EAA4B,kBAAkB,KAAM,UACpDA,EAA4B,kBAAkB,YAAa,UAC3DA,EAA4B,SAAS,KAAM,UAC3CA,EAA4B,cAAc,KAAM,UAChDA,EAA4B,YAAY,KAAM,UAC9CA,EAA4B,cAAc,KAAM,UAChDA,EAA4B,cAAc,KAAM,UAChDA,EAA4B,qBAAqB,KAAM,UACvDA,EAA4B,UAAU,KAAK,gBAC3CR,EAAyB,UAAU,KAAK,eACxC,IAAIyL,EAAS9P,SAASgL,eAAe,iBACjC8E,IACAA,EAAOiB,IAAMpS,qBAOfwmG,GACF,cAAC,GAAD,CAAUhG,SAAYc,EAAkBb,UApxEhB,WACxB3zF,GAAY2D,iBACZ,IAAM/Q,EAAOoN,GAAYa,eACrBjO,GAAQA,EAAKiJ,cACbjJ,EAAKiJ,YAAY25F,oBAAqB,EACtCziG,aAAagP,QAAQ,QAASlP,KAAKmP,UAAUpP,KAEjD2hG,GAAsB,IA6wEoDX,SAL/D,WACX5zF,GAAYiC,YAOhB,OACI,gCACMqyF,EAWE,6BAVA,cAAC,GAAD,CACItwF,UAAW01F,GACXz1F,QAAQ,aACRC,OAAO,oBACPrE,QAAQ,EACRuE,KAAM,MACND,MAAO,MACPc,YAAc,IAKtB,cAAC,GAAD,CAAU0c,aAAcu2E,GAAe5yE,UAAaA,EAAWiE,kBAAoB4uE,GAAmB1xE,UAAaA,IACnH,qBAAKvhB,QAAS,SAACC,GAAD,OAAOgzF,MAArB,SACMx8F,IAAiB,EACdm6F,GAAaphE,EAAWr4B,cACrB,cAAC,GAAD,CAAQq4B,WAAYA,EACZ/S,aAAcu2E,GACdtnC,kBAlyEF,WACtBvvC,GAAcvQ,aAAa,GAC5BnP,MAAK,SAACC,GACLsyF,EAAatyF,EAASC,KAAKm8B,eAE5Bx2B,OAAM,SAAUpF,GACfqF,QAAQC,IAAI,QAAStF,EAAMuF,aA6xEHqjB,MAAOmuE,GACPxgE,SAAU28D,EACVr+D,SAAUm9D,EACVtJ,aAh0EP,SAAC1uF,EAAKgD,GACvB,GAAIs1B,EAAWw5D,SAAS,CACpB,IAAIyL,EAAMjlE,EAAWw5D,SAASp2B,WAAU,SAAA9/D,GAAI,OAAIA,EAAKgtB,kBAAoB5oB,GAAQpE,EAAKktB,KAAO9lB,KAC7F,GAAIu6F,GAAK,EAAE,CACP,IAAIC,EAAU/mG,KAAKC,MAAMD,KAAKmP,UAAU0yB,IACxCklE,EAAQ1L,SAAS14F,OAAOmkG,EAAI,GAC5Brc,EAAcsc,QA4zEN,cAAC,GAAD,CAAmB5uE,MAAOmuE,KAG9B,cAAC,GAAD,CAAezkE,WAAYA,EAAY/S,aAAcu2E,GAAeltE,MAAOmuE,GAAQxgE,SAAU28D,EAAmB39D,cAAc,MAGtI,cAAC,GAAD,CAAKt7B,aAAcq4B,EAAWr4B,aAAcslB,aAAcu2E,SCjzEvD2B,GA7FM,SAAC91F,GAElB,MAA8ByB,mBAAS,IAAvC,mBAAOU,EAAP,KAAgBC,EAAhB,KACA,EAA4BX,mBAAS,GAArC,mBAAOY,EAAP,KAAeC,EAAf,KACA,EAAsCb,mBAAS,MAA/C,mBAAOc,EAAP,KAAoBC,EAApB,KAyBAqB,qBAAW,WACP,GAAa,IAATxB,EAAW,CACX,IAAI4vF,EAAO96F,IAGX,GAFI86F,EAAK5hG,QAAQlB,EAASkB,SACtB4hG,EAAOA,EAAK1gG,UAAUpC,EAASkB,SAC/B4hG,EAAK5hG,OAAO,GA5BI,SAAC+C,GACzBkP,EAAU,GACVM,GAAkBlD,iBAAiBtM,GAClCwK,MAAK,SAACC,GACEA,EAASgF,IAAQhF,EAASzB,MAC3BoG,EAAe,CACXQ,cAAenF,EAASzB,KAAK6G,cAC7BC,WAAYrF,EAASzB,KAAK+G,aAE9Bb,EAAU,KAGVF,EAAWvE,EAAS2F,KACpBlB,EAAU,OAGjBmB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,SAC3BxB,EAAW/D,EAAMuF,SACjBtB,EAAU,MAYNyzF,CADUj/F,EADGU,EAAay6F,GACA,SAIpC,IAGF,IAKMhyF,EACU,IAAXoC,EACG,qBAAKvB,MAAO,CAACJ,OAAQ,OAAQD,MAAO,OAAQ2D,OAAO,OAAQC,UAAW,UAAtE,SACI,mBAAGC,UAAU,uCAAuCxD,MAAO,CAACQ,UAAU,SAAUiD,UAAW,OAA3F,4BAEK,IAAXlC,EACE,qBAAKvB,MAAO,CAACJ,OAAQ,OAAQD,MAAO,OAAQ2D,OAAO,OAAQC,UAAW,UAAtE,SACI,mBAAGC,UAAU,uCAAuCxD,MAAO,CAACQ,UAAU,SAAUiD,UAAW,QAA3F,0CAEK,IAAXlC,EACE,gCACI,oBAAGiC,UAAU,uCACTxD,MAAO,CAAC4D,aAAa,OAAQH,UAAU,OAAQjD,UAAU,UAD7D,qBAGQ,sBAAMR,MAAO,CAAC0E,WAAY,IAAKG,WAAW,QAA1C,SAAoDpD,EAAYS,mBAExE,oBAAGsB,UAAU,uCACTxD,MAAO,CAAC4D,aAAa,OAAQpD,UAAU,UAD3C,2BAGQ,sBAAMR,MAAO,CAAC0E,WAAY,IAAKG,WAAW,QAA1C,SAAoDpD,EAAYW,mBAGnE,IAAXb,EACE,qBAAKvB,MAAO,CAACJ,OAAQ,OAAQD,MAAO,OAAQ2D,OAAO,OAAQC,UAAW,UAAtE,SACI,mBAAGC,UAAU,uCAAuCxD,MAAO,CAACQ,UAAU,SAAUiD,UAAW,QAA3F,SAAqGpC,MAGzG,qBAAKrB,MAAO,CAACJ,OAAQ,OAAQD,MAAO,OAAQ4D,UAAW,UAAvD,SACI,mBAAGC,UAAU,uCAAuCxD,MAAO,CAACQ,UAAU,SAAUiD,UAAW,OAA3F,iDAIZ,OACI,cAAC,GAAD,CACItE,UAAWA,EACXC,QAAS,eACTC,OAAQ,kBACRrE,QAAQ,EACRoF,YAAc,EACdb,KAAQ,QACRgB,OA7Ce,WACnBhK,OAAO5G,SAAS6G,KAAO,2CCoHhB0+F,GA7IH,WAAO,IAAD,EACd,EAAsCv0F,wBAASlN,GAA/C,mBAAO0hG,EAAP,KAAoBC,EAApB,KACA,EAAgCz0F,oBAAS,GAAzC,mBAAO00F,EAAP,KAAiBC,EAAjB,KACA,EAA4B30F,mBAAS,GAArC,mBAAOY,EAAP,KAAeC,EAAf,KACA,EAA8Bb,mBAAS,IAAvC,mBAAOU,EAAP,KAAgBC,EAAhB,KAEAyB,qBAAU,WACN,IAAMhV,EAAOoN,GAAYa,eACzB,GAAKjO,GAASA,EAAKiJ,aAAgBq+F,EAazBtnG,GAAQonG,IACdC,EAAernG,GACfwnG,SAfwC,CACxC,IACIr/F,EAASQ,EADFL,KAEPm/F,EAAUx/F,EAASE,EAAO,WAC1B8I,EAAQhJ,EAASE,EAAO,SAExB8I,GAAmB,KAAVA,EACTy2F,EAAoBz2F,GACdw2F,GAAuB,KAAZA,EACjBE,EAAsBF,GAEtBG,OAMT,CAACN,IAEJ,IAAME,EAAmB,WACrBzzF,GAAkBrE,iBACbX,MAAK,SAACC,GACH,IAAI64F,EAAM74F,EAAS/F,YACVhJ,KAAKC,MAAMC,aAAaC,QAAQ,UAClC6I,YAAYyF,WAAam5F,EAAIn5F,UAA8B,IAAlBM,EAASE,QACrD2F,QAAQC,IAAI,kBACZ3U,aAAagP,QAAQ,QAASlP,KAAKmP,UAAUJ,IAC/B,GAAVwE,GACAC,EAAU,GACC,IAAXH,GACAC,EAAW,MAGfE,EAAUzE,EAASE,QACnBqE,EAAWvE,EAASsJ,SACpBivF,GAAY,OAGnB3yF,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,SAC3BwyF,GAAY,OAIlBG,EAAsB,SAACz2F,GACzB8C,GAAkB/C,mBAAmBC,GAChClC,MAAK,SAACC,GAEHq4F,EAAer4F,EAAS/F,YAAYy5B,SACZ,IAApB1zB,EAASE,SACTuE,EAAU,GACVjL,OAAO5G,SAAS2N,UAEL,IAAX+D,GACAC,EAAW,OAElBqB,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,SAC3BwyF,GAAY,OAIlBI,EAAwB,SAACpjG,GAC3BwP,GAAkBpE,yBAAyBpL,GACtCwK,MAAK,SAACC,GACmB,IAAlBA,EAASE,QACT/O,aAAagP,QAAQ,QAASlP,KAAKmP,UAAUJ,IAC7Cq4F,EAAer4F,EAAS/F,YAAYy5B,SACpCl6B,OAAO5G,SAAS2N,WAGhBkE,EAAUzE,EAASE,QACnBqE,EAAWvE,EAASsJ,SACpBivF,GAAY,OAGnB3yF,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,SAC3BwyF,GAAY,OAIlBK,EAAmB,WACrB7zF,GAAkBnE,sBACbb,MAAK,SAACC,GACmB,IAAlBA,EAASE,QACT/O,aAAagP,QAAQ,QAASlP,KAAKmP,UAAUJ,IAC7Cq4F,EAAer4F,EAAS/F,YAAYy5B,SACpCl6B,OAAO5G,SAAS2N,WAGhBkE,EAAUzE,EAASE,QACnBqE,EAAWvE,EAASsJ,SACpBivF,GAAY,OAGnB3yF,OAAM,SAAUpF,GACbqF,QAAQC,IAAI,QAAStF,EAAMuF,SAC3BwyF,GAAY,OAexB,MAX6B,mBAAzB/+F,OAAO5G,SAASkmG,KAChBnmG,SAAS6tB,MAAQ,qBACa,uCAAzBhnB,OAAO5G,SAASkmG,KACrBnmG,SAAS6tB,MAAQ,iBACa,8BAAzBhnB,OAAO5G,SAASkmG,KACrBnmG,SAAS6tB,MAAQ,kBACa,uCAAzBhnB,OAAO5G,SAASkmG,OACrBnmG,SAAS6tB,MAAQ,4BAKjB,cAAC,IAAD,UACI,qBAAKvd,MAAO,CAACJ,OAAO,QAApB,SACI,eAAC,IAAD,WACI,cAAC,IAAD,CAAOuiB,KAAK,gBAAZ,SACI,cAAC,GAAD,MAEJ,cAAC,IAAD,UACMgzE,GAAgBE,EACd,cAAC,IAAD,GAAWp+F,YAAak+F,EAAY5iE,aAApC,4BAA8D4iE,EAAYzhE,WAA1E,4BAAkG6hE,GAAlG,IAEA,cAAC,GAAD,CAAO3vF,OAAQrE,EAAQF,QAASA,cChJ7Cy0F,GAZS,SAAAC,GAClBA,GAAeA,aAAuBC,UACxC,8BAAqBl5F,MAAK,YAAkD,IAA/Cm5F,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAQN,OCDdO,IAASC,OACP,cAAC,IAAMC,WAAP,UACE,cAAC,GAAD,MAEF9mG,SAASgL,eAAe,SAM1Bo7F,M","file":"static/js/main.a8e82cf3.chunk.js","sourcesContent":["export default function authHeader() {\r\n const user = JSON.parse(localStorage.getItem('login'));\r\n if (user && user.Token) {\r\n return { 'Authorization': 'Bearer ' + user.Token,\r\n 'Access-Control-Allow-Origin': '*'\r\n };\r\n } else {\r\n return { 'Access-Control-Allow-Origin': '*'\r\n };\r\n }\r\n}\r\n\r\nexport function noAuthHeader() {\r\n return { 'Access-Control-Allow-Origin': '*'};\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/*\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': '*',\r\n 'Access-Control-Allow-Headers': '*',\r\n*/","import React, { createRef } from \"react\";\r\nimport AuthService from \"./auth.service\";\r\n\r\nconst arrayComun = ['primera', 'segunda'];\r\nexport const variableComun = 1;\r\nexport const rootPath = '/';\r\nexport const apiProdPath = \"/api/botplusapi/\";\r\nexport const apiDesaPath = 'http://localhost:36823/botplusapi/';\r\nexport const baseURLPictogramas = \"https://botplusweb.farmaceuticos.com/pictogramas/\";\r\n\r\n\r\nexport function AnadeApartado(registro, lista, anclas){\r\n if (!lista.find(ap => ap.Ancla === registro.Ancla)){\r\n lista.push(registro);\r\n compruebaAnclas(lista,anclas);\r\n }\r\n}\r\n\r\nexport function compruebaAnclas (aptdos, anclas) {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n}\r\n\r\nexport function anadeAncla (idAncla, anclas) {\r\n if (!anclas.find(ancla => ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n}\r\n\r\n\r\nexport function getApiPath() {\r\n const miHost = document.location.hostname;\r\n var res = ((document.location.hostname === '127.0.0.1' || document.location.hostname === 'localhost') ?\r\n apiDesaPath\r\n :\r\n apiProdPath\r\n );\r\n return res;\r\n}\r\n\r\nexport const doSomethingWithInput = (theInput) => {\r\n //Do something with the input\r\n return theInput;\r\n};\r\n\r\nexport const justAnAlert = () => {\r\n alert('hello');\r\n};\r\n\r\nexport function divideArrayEnPartes(arr, n){\r\n var i, j;\r\n var res = [];\r\n for (i=0, j= arr.length; i < j; i+= n){\r\n res.push(arr.slice(i,i+n));\r\n }\r\n return res; \r\n}\r\n\r\n\r\nexport function numberWithCommas(x) {\r\n //x = Math.round(x * 100) / 100;\r\n //console.log(x);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n if (parts.length===2){\r\n while (parts[1].length<2)\r\n parts[1] = parts[1] + '0';\r\n if (parts[1].length>2)\r\n if (parts[1].substring(0,1)=='0')\r\n if (parts[1].substring(0,2)=='00')\r\n if (parseInt(parts[1].substring(2,3))>=5)\r\n parts[1] = '01';\r\n else\r\n parts.splice(1,1);\r\n else\r\n parts[1] = '0' + (Math.round((parseFloat(parts[1]) / (Math.pow(10 , parts[1].length-1)))*10)).toString();\r\n else{\r\n //(parts[1]);\r\n var aux = Math.round((parseFloat(parts[1]) / (Math.pow(10 , parts[1].length)))*100);\r\n //console.log(aux);\r\n if (aux<100)\r\n parts[1] = aux.toString();\r\n else{\r\n aux = aux - 100;\r\n if (aux === 0)\r\n parts.pop();\r\n else\r\n parts[1] = (aux - 100).toString();\r\n parts[0] = (parseInt(parts[0]) + 1).toString();\r\n }\r\n\r\n }\r\n }\r\n return parts.join(\",\");\r\n}\r\n\r\nexport function numberWithCommas2(x) {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n if (parts.length===2){\r\n while (parts[1].length<2)\r\n parts[1] = parts[1] + '0';\r\n /*if (parts[1].length>2)\r\n parts[1] = (Math.round((parseFloat(parts[1]) / (Math.pow(10 , parts[1].length)))*(parts[1].length * 10))).toString();*/\r\n }\r\n return parts.join(\",\");\r\n}\r\n\r\nexport function elementIsOfClass(element, clase) {\r\n return element.classList.contains(clase);\r\n}\r\n\r\nexport const FormatoFechaBonito = (fecha) => {\r\n const meses = [\r\n \"Enero\", \"Febrero\", \"Marzo\",\r\n \"Abril\", \"Mayo\", \"Junio\", \"Julio\",\r\n \"Agosto\", \"Septiembre\", \"Octubre\",\r\n \"Noviembre\", \"Diciembre\"\r\n ]\r\n\r\n const mifecha = new Date(fecha);\r\n\r\n const dia = (mifecha ? mifecha.getDate() : null);\r\n const mes = (mifecha ? mifecha.getMonth() : null);\r\n const ano = (mifecha ? mifecha.getFullYear() : null);\r\n\r\n const res = ((dia && mes && ano) ? dia.toString() + \" \" + meses[mes].toUpperCase() + \" \" + ano.toString() : \"\");\r\n return res;\r\n};\r\n\r\nfunction padLeft(n){\r\n return (\"00\" + n).slice(-2);\r\n }\r\n\r\nexport const upperCaseFirstLetter = (str) => {\r\n return str.trim().substring(0,1).toUpperCase() + str.trim().substring(1).toLowerCase();\r\n}\r\n\r\nexport const Redondea = (valor, decimales) => {\r\n var x = valor * (10 * decimales)\r\n x = Math.round(x);\r\n x = x / (10 * decimales);\r\n return x;\r\n}\r\n\r\nexport const FormatoFechaDDMMYYYY = (fecha) => {\r\n const mifecha = new Date(fecha);\r\n\r\n const dia = (mifecha ? mifecha.getDate() : null);\r\n const mes = (mifecha ? mifecha.getMonth() + 1 : null);\r\n const ano = (mifecha ? mifecha.getFullYear() : null);\r\n const res = ((dia && mes && ano) ? padLeft(dia) + \"/\" + padLeft(mes) + \"/\" + ano.toString() : \"\");\r\n return res;\r\n};\r\n\r\nexport const FormatoFechaDDMMYYYYHHMM = (fecha) => {\r\n const mifecha = new Date(fecha);\r\n\r\n const dia = (mifecha ? mifecha.getDate() : null);\r\n const mes = (mifecha ? mifecha.getMonth() + 1 : null);\r\n const ano = (mifecha ? mifecha.getFullYear() : null);\r\n const hora = (mifecha ? mifecha.getHours() : null);\r\n const minute = (mifecha ? mifecha.getMinutes() : null);\r\n const res = ((dia && mes && ano && hora && minute) ? padLeft(dia) + \"/\" + padLeft(mes) + \"/\" + ano.toString()+ \" \" + padLeft(hora) + \":\" + padLeft(minute) : \"\");\r\n return res;\r\n};\r\n\r\nexport const SetDisplayByClass = (disp, classModelName) =>{\r\n var elements = document.getElementsByClassName(classModelName);\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n elements[i].style.display = disp;\r\n }\r\n}\r\n\r\nexport const GetIndexFromIndexedClass = (item, classModelName, maxIndex) =>{\r\n var enc = false;\r\n var i=1;\r\n while (!enc && i<=maxIndex){\r\n var name = classModelName + i.toString();\r\n enc = (item.classList.contains(name));\r\n if (!enc)\r\n i++;\r\n }\r\n if (enc)\r\n return i;\r\n else\r\n return -1;\r\n}\r\n\r\nexport const GetAntecesorWhithClassName = (item, classModelName) =>{\r\n const maxIterations=10\r\n var enc = false;\r\n var i=0;\r\n while (!enc && i{\r\n var hijos = item.getElementsByClassName(classModelName);\r\n if ((hijos) && (hijos.length>0))\r\n return hijos[0];\r\n else\r\n return null;\r\n}\r\n\r\nexport const GetLastSucesorWhithClassName = (item, classModelName) =>{\r\n var hijos = item.getElementsByClassName(classModelName);\r\n if ((hijos) && (hijos.length>0))\r\n return hijos[hijos.length-1];\r\n else\r\n return null;\r\n}\r\n\r\nexport const AddClassNameToClassItems = (miClase, miClaseHija, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.add(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.add(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const RemoveClassNameToClassItems = (miClase, miClaseHija, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.remove(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.remove(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const RemoveClassNameToDoubleClassItems = (miClase, miClase2, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n for (var i = 0; i < elements.length; i++) {\r\n var element = elements[i];\r\n if (element){\r\n if (element.classList.contains(miClase2)){\r\n element.classList.remove(miClassName);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const ToggleClassNameToClassItems = (miClase, miClaseHija, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.toggle(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.toggle(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const AddClassNameToChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.add(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.add(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const RemoveClassNameToChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.remove(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.remove(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const ToggleClassNameToChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.toggle(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.toggle(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const ExistsClassNameChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n var result = false;\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n var nietos = hijo.getElementsByClassName(miClassName);\r\n result = result || ((nietos) && (nietos.length>0));\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClassName);\r\n result = result || ((hijos) && (hijos.length>0));\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport function deepEqual(object1, object2) {\r\n const keys1 = Object.keys(object1);\r\n const keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n for (const key of keys1) {\r\n const val1 = object1[key];\r\n const val2 = object2[key];\r\n const areObjects = isObject(val1) && isObject(val2);\r\n if (\r\n areObjects && !deepEqual(val1, val2) ||\r\n !areObjects && val1 !== val2\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n export function isObject(object) {\r\n return object != null && typeof object === 'object';\r\n }\r\n\r\nexport function getParam(str,param){\r\n if (str.length>1 && str.length>param.length){\r\n if (str.substring(0,1)==='?')\r\n str = str.substring(1);\r\n var params = str.split('&');\r\n var enc = false;\r\n var value = '';\r\n for (var i = 0; (i=2)\r\n if (duo[0].toLowerCase()===param.toLowerCase()){\r\n enc = true;\r\n value = duo[1];\r\n for (var j=2; j1)\r\n return aux[1];\r\n else\r\n return '';\r\n}\r\n\r\nexport function wrap(toWrap, wrapper) {\r\n wrapper = wrapper || document.createElement('div');\r\n toWrap.parentNode.appendChild(wrapper);\r\n return wrapper.appendChild(toWrap);\r\n};\r\n\r\nexport function createElementFromHTML(htmlString) {\r\n var div = document.createElement('div');\r\n div.innerHTML = htmlString.trim();\r\n return div.firstChild;\r\n}\r\n\r\nexport function buscaOptionEnSelectByValue(select, valor){\r\n var ret = undefined;\r\n var options = select.options ;\r\n for(var i = 0; i < options.length; i++)\r\n {\r\n if(options[i].value == valor)\r\n {\r\n ret = options[i];\r\n break;\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\nexport function primerHijoConClase(elemento, clase)\r\n{\r\n var posibles = elemento.getElementsByClassName(clase);\r\n var res = (posibles.length>0) ? posibles[0] : null;\r\n return res;\r\n}\r\n\r\nexport function getSelectValues(select) {\r\n var result = [];\r\n var options = select && select.options;\r\n var opt;\r\n \r\n for (var i=0, iLen=options.length; i {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = 0;\r\n if (lu && lu.botPlusUser)\r\n res = lu.botPlusUser.idProvincia;\r\n return res;\r\n}\r\n\r\nexport const getIdCCAA = () => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = lu.botPlusUser.idCCAA;\r\n return res;\r\n}\r\n\r\nexport const getStringProvincia = () => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = '';\r\n if (lu && lu.botPlusUser)\r\n res = lu.botPlusUser.Provincia;\r\n return res;\r\n}\r\n\r\nexport const getStringCCAA = () => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = '';\r\n if (lu && lu.botPlusUser)\r\n res = lu.botPlusUser.CCAA;\r\n return res;\r\n}\r\n\r\nexport function getListaFormularios(tipo){\r\n var res = [];\r\n switch (tipo){\r\n case \"MUH\":\r\n case \"H\":\r\n res.push({\r\n codigoPagina: \"FBAvanzadaMUH\",\r\n display: \"Avanzada medicamentos\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAvanzadaPAH\",\r\n display: \"Avanzada principios activos\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBComposicionMUH\",\r\n display: \"Composición\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaColorMUH\",\r\n display: \"Aspecto de forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoMUH\",\r\n display: \"Agrupación homogénea\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoAutoMUH\",\r\n display: \"A. homogénea autonómica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTATCMUH\",\r\n display: \"Grupo terapéutico ATC\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTVMPPMUH\",\r\n display: \"Descripción clínica AEMPS\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaFarmaMUH\",\r\n display: \"Forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBLaboratorioMUH\",\r\n display: \"Laboratorio\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAFMUH\",\r\n display: \"Actividad farmacológica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAMMUH\",\r\n display: \"Actividad enzimática\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBPacienteIndicacionMUH\",\r\n display: \"Para una enfermedad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBReaccionesAdversasMUH\",\r\n display: \"Reacciones adversas\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAnalisisMUH\",\r\n display: \"Análisis clínicos afectados\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBProblemasSumMUH\",\r\n display: \"Problemas de suministro\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAlertasCMUH\",\r\n display: \"Alertas de calidad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFarmacogeneticaMUH\",\r\n display: \"Farmacogenética\",\r\n });\r\n break;\r\n case \"MUV\":\r\n case \"V\":\r\n res.push({\r\n codigoPagina: \"FBAvanzadaMUV\",\r\n display: \"Avanzada\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBComposicionMUV\",\r\n display: \"Composición\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaFarmaMUV\",\r\n display: \"Forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBLaboratorioMUV\",\r\n display: \"Laboratorio\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAFMUV\",\r\n display: \"Actividad farmacológica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTATCMUV\",\r\n display: \"Grupo terapéutico ATC\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBEspecieIndicacionMUV\",\r\n display: \"Indicados por especie\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAlertasCMUV\",\r\n display: \"Alertas de calidad\",\r\n });\r\n break;\r\n case \"PPF\":\r\n case \"F\":\r\n case \"P\":\r\n res.push({\r\n codigoPagina: \"FBAvanzadaPPF\",\r\n display: \"Avanzada\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBComposicionPPF\",\r\n display: \"Composición\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaFarmaPPF\",\r\n display: \"Forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBLaboratorioPPF\",\r\n display: \"Laboratorio\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBActPPF\",\r\n display: \"Ingredientes cosméticos por actividad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBSaborEdadPPF\",\r\n display: \"Dietoterápicos\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAlertasCPPF\",\r\n display: \"Alertas de calidad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoPPF\",\r\n display: \"Agrupación homogénea\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoAutoPPF\",\r\n display: \"A. homogénea autonómica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTConPPF\",\r\n display: \"Categoría del Consejo General\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTSanPPF\",\r\n display: \"Clasificación Nomenclátor\",\r\n });\r\n break;\r\n }\r\n return res;\r\n}\r\n\r\nexport function getDescripcionTipo(tipo, codFormulario){\r\n var res = \"\";\r\n switch (tipo){\r\n case \"MUH\":\r\n case \"H\":\r\n res = \"Medicamentos de uso humano\";\r\n if (codFormulario===\"FBAFMUH\" || codFormulario===\"FBAFMUH\" || codFormulario===\"FBAvanzadaPAH\")\r\n res = \"Principios activos de uso humano\";\r\n break;\r\n case \"PAH\":\r\n res = \"Principios activos de uso humano\";\r\n break;\r\n case \"MUV\":\r\n case \"V\":\r\n res = \"Medicamentos veterinarios\"\r\n break;\r\n case \"PPF\":\r\n case \"F\":\r\n case \"P\":\r\n res = \"Productos de parafarmacia\";\r\n if (codFormulario===\"FBActPPF\")\r\n res = \"Ingredientes\";\r\n if (codFormulario===\"FBSaborEdadPPF\")\r\n res = \"Dietoterápicos\";\r\n break;\r\n }\r\n return res;\r\n}\r\n\r\nexport function getTipoFromCodigoPagina(codFormulario){\r\n var res = codFormulario.substring(codFormulario.length - 1, codFormulario.length);\r\n if (res===\"F\")\r\n res =\"P\"\r\n return res;\r\n}\r\n\r\nexport function getTituloFromCodigoPagina(codFormulario){\r\n var res = \"\"\r\n if (codFormulario===\"FBAvanzadaPAH\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBExtranjerosEXT\"){\r\n res = \"Medicamentos extranjeros\";\r\n }else if (codFormulario===\"FBCambioNombre\"){\r\n res = \"Productos con cambio de nombre\";\r\n }else if (codFormulario===\"FBCambioLaboratorio\"){\r\n res = \"Productos con cambio de laboratorio\";\r\n }else if (codFormulario===\"FBCambioPrecioMUH\"){\r\n res = \"Productos con cambio de precio\";\r\n }else if (codFormulario===\"FBDesfinanciadosMUH\"){\r\n res = \"Medicamentos desfinanciados\";\r\n }else if (codFormulario===\"FBFechaAlta\"){\r\n res = \"Productos por fecha de alta\";\r\n }else if (codFormulario===\"FBDocumentos\"){\r\n res = \"Notas de seguridad y alertas de calidad\";\r\n }else if (codFormulario===\"FBAvanzadaMUV\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBAvanzadaMUH\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBAvanzadaPPF\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBAFMUV\"){\r\n res = \"Principios activos veterinarios por actividad farmacológica\";\r\n }else if (codFormulario===\"FBEspecieIndicacionMUV\"){\r\n res = \"Medicamentos veterinarios indicados por especie\"; \r\n }else if (codFormulario===\"FBSaborEdadPPF\"){\r\n res = \"Buscador de dietoterápicos\"; \r\n }else if (codFormulario===\"FBProblemasSumMUH\"){\r\n res = \"Con problemas de suministro AEMPS\"; \r\n }else if (codFormulario===\"FBAlertasCMUH\" || codFormulario===\"FBAlertasCMUV\" || codFormulario===\"FBAlertasCPPF\"){\r\n res = \"Lotes retirados por alertas de calidad\"; \r\n }else if (codFormulario===\"FBAgrupHomoAutoMUH\"){\r\n var ccaa = getStringCCAA();\r\n if (!ccaa || ccaa == \"\")\r\n ccaa = \"autonómica\";\r\n res = \"A. homogénea \" + ccaa\r\n }else if (codFormulario===\"FBAgrupHomoAutoPPF\"){\r\n var ccaa = getStringCCAA();\r\n if (!ccaa || ccaa == \"\")\r\n ccaa = \"autonómica\";\r\n res = \"A. homogénea \" + ccaa\r\n }else if (codFormulario===\"FBAnalisisMUH\"){\r\n res = \"Interferencias con análisis clínicos\"; \r\n }else{\r\n var tipo = getTipoFromCodigoPagina(codFormulario);\r\n var lista = getListaFormularios(tipo);\r\n var item = lista.find(f => f.codigoPagina === codFormulario);\r\n if (item)\r\n res = item.display;\r\n }\r\n return res;\r\n}\r\n\r\nexport function scrollSiNoVisible(container, element) {\r\n //Determine container top and bottom\r\n let offset = container.offsetTop;\r\n let cTop = container.scrollTop+offset;\r\n let cBottom = cTop + container.clientHeight;\r\n\r\n //Determine element top and bottom\r\n let eTop = element.offsetTop;\r\n let eBottom = eTop + element.clientHeight;\r\n\r\n //Check if out of view\r\n if (eTop < cTop) {\r\n container.scrollTop -= (cTop - eTop);\r\n }\r\n else if (eBottom > cBottom) {\r\n container.scrollTop += (eBottom - cBottom);\r\n } \r\n}\r\n\r\nexport function fromListaPAsComposToParamURL(pas){\r\n var res = '';\r\n for (var i=0; i0) res += \",\"\r\n res += pa.codigo;\r\n res += \";\"\r\n if (pa.sales && pa.sales.length>0){\r\n for (var j=0; j0) res += \"-\";\r\n res+=sal.codigo;\r\n }\r\n }\r\n res += \";\"\r\n if (pa.cants && pa.cants.length>0){\r\n for (var j=0; j0) res += \"-\";\r\n res+=cant.cant.toString();\r\n res+=\"_\";\r\n res+=cant.cod;\r\n }\r\n }\r\n }\r\n\r\n return res;\r\n}\r\n\r\nexport function fromListaOpsAvanzadaToParamURL(ops){\r\n var res = '';\r\n for (var i=0; i0) res += \";\" \r\n res += op.cod + \":\";\r\n if (op.valores){\r\n for (var j=0; j0) res += \",\"\r\n res += op.valores[j];\r\n }\r\n }\r\n else if (op.valor){\r\n res += op.valor;\r\n }\r\n }\r\n return res;\r\n}\r\n\r\nexport function fromParmaURLToListaPAsCompos(param){\r\n var listaPAs = [];\r\n if (param !== ''){\r\n var aux = param.split(',');\r\n for(var i=0; i 0){\r\n var pa = {\r\n codigo : parseInt(partesPA[0]),\r\n sales : [],\r\n cants : [],\r\n }\r\n if (partesPA.length == 3){\r\n var strSales = partesPA[1];\r\n if (strSales !== \"\"){\r\n var codigosSales = strSales.split('-').map(it=> parseInt(it));\r\n for (var j = 0; j< codigosSales.length; j++){\r\n var codsal = codigosSales[j];\r\n var cv = {\r\n codigo : codsal,\r\n }\r\n pa.sales.push(cv);\r\n }\r\n }\r\n var strCants = partesPA[2];\r\n if (strCants !== \"\"){\r\n var cantsAsStr = strCants.split('-');\r\n for (var k = 0; k < cantsAsStr.length; k++){\r\n var cantAsStr = cantsAsStr[k];\r\n var partesCant = cantAsStr.split('_');\r\n if (partesCant.length == 2){\r\n var cant = {\r\n cant : parseFloat(partesCant[0]),\r\n cod : partesCant[1],\r\n }\r\n pa.cants.push(cant);\r\n }\r\n }\r\n }\r\n }\r\n listaPAs.push(pa);\r\n }\r\n }\r\n }\r\n }\r\n return listaPAs;\r\n}\r\n\r\nexport function fromParamURLToListaOpsAvanzada(param){\r\n var listaOps = [];\r\n if (param !== ''){\r\n var aux = param.split(';');\r\n for(var i=0; i {\r\n var id = clase + '__' + valor;\r\n var items = document.getElementsByClassName(clase);\r\n var grupoActivo = false;\r\n var item = document.getElementById(id);\r\n\r\n for (var i = 0; i{\r\n var result = '';\r\n if (filtros){\r\n for (var i=0; i -1){\r\n if (result !== '')\r\n result += \"|\";\r\n result += filtro.idGrupo + '__' + filtro.valor;\r\n }\r\n }\r\n else {// tipo===\"Check\"\r\n if (filtro.valores){\r\n for (var j=0; j{\r\n return AuthService.getUserRol();\r\n}\r\n\r\nexport const DevuelveTextoAsHTML = (info) =>{\r\n var textosInfo = [];\r\n var subs = [];\r\n var idxsubs = [];\r\n if (info){\r\n if (info.indexOf('^')>=0){\r\n var partes = info.split('^')\r\n for (var i=0; i='0' && subInfo[j]<='9'; j++);\r\n partes[i+1] = subInfo.substr(j);\r\n subs.push(subInfo.substr(0,j));\r\n idxsubs.push(i);\r\n }\r\n textosInfo.push(partes[partes.length-1]);\r\n }\r\n else\r\n textosInfo.push(info);\r\n }\r\n\r\n var HTMLAux = {textosInfo[0]};\r\n for (var i=0; i{HTMLAux}{subs[i]}{textosInfo[i+1]};\r\n return HTMLAux;\r\n}\r\n\r\nexport function addDays(date, days) {\r\n var result = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n}\r\n\r\n\r\n","import axios from \"axios\";\r\nimport authHeader, { noAuthHeader } from \"./auth-header\";\r\nimport { getApiPath } from \"./utils\";\r\n\r\nconst API_URL = getApiPath() + \"login/\";\r\n\r\n\r\nconst login = (username, password, fb, ma) => {\r\n return axios\r\n .post(API_URL + \"BotplusAuthenticate\", {\r\n Username : username,\r\n Password : password,\r\n FuerzaBruta : fb,\r\n MantenerAbierta : ma\r\n }, { headers: noAuthHeader() })\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n};\r\n\r\nconst logout = () => {\r\n try{\r\n axios.get(API_URL + \"CloseBotPlusSession\", { headers: authHeader() })\r\n .then((response) => {\r\n window.location.reload();\r\n })\r\n }\r\n catch (error) {}\r\n localStorage.removeItem(\"login\");\r\n};\r\n \r\nconst getLocalUser = () => {\r\n var user = JSON.parse(localStorage.getItem(\"login\"));\r\n if (user)\r\n {\r\n return user;\r\n }\r\n};\r\n\r\n\r\nconst getNetworkUser = () => {\r\n return axios.get(API_URL + 'GetBotPlusUser', { headers: authHeader() })\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst openDeferredSesion = (token) => {\r\n return axios.get(API_URL + 'OpenDeferredSession', { headers: {'Authorization': 'Bearer ' + token} })\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst getSpecialAuthentication = (str) => {\r\n return axios.get(API_URL + 'SpecialAuthentication?keypass=' + str)\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst getIPAuthentication = () => {\r\n return axios.get(API_URL + 'IPAuthentication')\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst buscaClaves = (dni, nfact) => {\r\n return axios.get(API_URL + 'BuscaClaves?dni='+dni+'&nfac='+nfact)\r\n .then((response) => {\r\n return response.data;\r\n });\r\n}\r\n\r\nconst infoCredenciales = (str) => {\r\n return axios.get(API_URL + 'CheckCredenciales?a='+str)\r\n .then((response) => {\r\n return response.data;\r\n });\r\n}\r\n\r\nconst guardaDatosCorreo = (cliente, correo, desea) => {\r\n return axios.post(API_URL + 'GuardaDatosCorreo',{Cliente: cliente, Correo: correo, Desea: desea});\r\n}\r\n\r\nconst actualizaKey = (idPedido) => {\r\n return axios.post(API_URL + 'ActualizaKey',{IdPedido: idPedido});\r\n}\r\n\r\n\r\nconst isSesionOk = () => {\r\n return axios.get(API_URL + 'GetSesionStatus', { headers: authHeader() })\r\n .then((response) => {\r\n if (response.data === 0 || response.data === '0') {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n return true;\r\n }\r\n return false;\r\n });\r\n}\r\n\r\nconst tieneLicenciaLocal = () => {\r\n return axios.get(API_URL + 'TieneLicenciaLocal', { headers: authHeader() })\r\n .then((response) => {\r\n if (response.data) {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n return true;\r\n }\r\n return false;\r\n });\r\n}\r\n\r\nconst getUserRol = () =>{\r\n var user = getLocalUser();\r\n var rol = '';\r\n if (user)\r\n if (user.botPlusUser)\r\n if (user.botPlusUser.Rol)\r\n rol = user.botPlusUser.Rol;\r\n return rol;\r\n}\r\n\r\nconst aceptaLicencia = () => {\r\n return axios.get(API_URL + 'AceptaLicencia', { headers: authHeader() })\r\n}\r\n\r\nconst loginService = {\r\n login,\r\n logout,\r\n getLocalUser,\r\n getNetworkUser,\r\n getSpecialAuthentication,\r\n getIPAuthentication,\r\n buscaClaves,\r\n guardaDatosCorreo,\r\n actualizaKey,\r\n isSesionOk,\r\n getUserRol,\r\n infoCredenciales,\r\n tieneLicenciaLocal,\r\n aceptaLicencia,\r\n openDeferredSesion,\r\n\r\n };\r\n \r\nexport default loginService;","import { useState } from \"react\";\r\nimport { RemoveClassNameToClassItems } from \"../../../../../services/utils\";\r\n\r\nconst Emergente = (props) => {\r\n //const [activo, setActivo] = useState(props.activo);\r\n const contenido = props.contenido;\r\n const keyName = props.keyName;\r\n const titulo = props.titulo;\r\n const ancho = props.ancho;\r\n const alto = props.alto;\r\n const imagen = props.imagen;\r\n var claseLightbox = \"lightbox lightbox__modal lightbox__config \" + keyName;\r\n if (props.activo)\r\n claseLightbox += \" active\";\r\n\r\n \r\n const CierraEmergente = () => {\r\n if (props.cerrar)\r\n props.cerrar();\r\n else\r\n RemoveClassNameToClassItems(keyName, null, 'active');\r\n }\r\n \r\n/*\r\n const CierraEmergente = () => {\r\n setActivo(false);\r\n }\r\n*/\r\n\r\n\r\n const estiloSection = {\r\n opacity: 0,\r\n visibility: 'hidden', \r\n pointerEvents: 'none',\r\n }\r\n\r\n var estiloancho = (ancho ?\r\n (alto) ?\r\n { \r\n width: ancho,\r\n height: alto\r\n }\r\n :\r\n {\r\n width: ancho,\r\n }\r\n :\r\n (alto) ?\r\n {height: alto}\r\n :\r\n {}\r\n )\r\n\r\n if (props.hiddenOverflow) \r\n estiloancho.overflow = 'hidden';\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {titulo}\r\n {(props.ocultaAspa) ?\r\n \r\n :\r\n CierraEmergente()}>\r\n }\r\n

\r\n
\r\n {\r\n (imagen && imagen != '') ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n  

\r\n
\r\n
\r\n :\r\n
\r\n }\r\n {contenido}\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Emergente;","import { useEffect, useState } from \"react\";\r\nimport BP2022AuthService from \"../../services/auth.service\";\r\n\r\nconst ModalRecupera = (props) => {\r\n\r\n const [dni, setDni] = useState(props.dni);\r\n const [nfact, setNfact] = useState(props.nfact);\r\n const [correo, setCorreo] = useState('');\r\n const [confirma, setConfirma] = useState('');\r\n const [opt1, setOpt1] = useState(false);\r\n const [opt2, setOpt2] = useState(false);\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [datosAcceso, setDatosAcceso] = useState(null);\r\n\r\n\r\n const cambiaDNI = (txt) =>{\r\n setDni(txt);\r\n }\r\n\r\n const cambiaNFact = (txt) =>{\r\n setNfact(txt);\r\n }\r\n\r\n const cambiaCorreo = (txt) =>{\r\n setCorreo(txt);\r\n }\r\n\r\n const cambiaConfirma = (txt) =>{\r\n setConfirma(txt);\r\n }\r\n\r\n const cambiaOpt1 = (checked) =>{\r\n setOpt1(checked);\r\n }\r\n\r\n const cambiaOpt2 = (checked) =>{\r\n setOpt2(checked);\r\n }\r\n\r\n const getRecuperaInfo = (xdni, xnfact) =>{\r\n setEstado(2);\r\n BP2022AuthService.buscaClaves(xdni,xnfact)\r\n .then((response) => {\r\n if ((response.ok) && (response.info)){\r\n setEstado(3);\r\n setDatosAcceso({\r\n mail: response.info.Mail,\r\n cliente: response.info.Cliente,\r\n usuarioActual: response.info.UsuarioActual,\r\n passActual: response.info.PassActual,\r\n deseaRecibirInfo: (response.info.DeseaRecibirInfo === 'S'),\r\n codigoGrupo : response.info.CodigoGrupo,\r\n idPedido: response.info.IdPedido,\r\n });\r\n setCorreo(response.info.Mail);\r\n setConfirma(response.info.Mail);\r\n setOpt2(response.info.DeseaRecibirInfo === 'S');\r\n }\r\n else{\r\n setMensaje(response.msg);\r\n setEstado(1);\r\n } \r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(1);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0 && nfact && dni && nfact != '' && dni != ''){\r\n getRecuperaInfo(dni,nfact);\r\n }else if (estado===0){\r\n setEstado(1);\r\n }\r\n },[props.dni, props.nfactura]);\r\n\r\n const clickGetClaves = () =>{\r\n if (nfact && dni && nfact != '' && dni != ''){\r\n getRecuperaInfo(dni,nfact);\r\n }\r\n }\r\n\r\n const clickNo = () =>{\r\n setEstado(5);\r\n BP2022AuthService.actualizaKey(datosAcceso.idPedido);\r\n }\r\n\r\n const clickSi = () =>{\r\n setMensaje('');\r\n setEstado(4);\r\n }\r\n\r\n const validateEmail = (email) => {\r\n return String(email)\r\n .toLowerCase()\r\n .match(\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n };\r\n\r\n const clickAceptar = () => {\r\n if (!opt1)\r\n setMensaje('Para continuar debe marcar la primera casilla por la que acepta el uso de su correo electrónico.\\nLa segunda casilla es opcional.');\r\n else if (correo === '')\r\n setMensaje('Debe introducir una dirección de correo electrónico');\r\n else if (confirma === '')\r\n setMensaje('Debe introducir una confirmación de la correo electrónico');\r\n else if (confirma !== correo)\r\n setMensaje('Las direcciones de correo no coinciden');\r\n else if (!validateEmail(correo))\r\n setMensaje('No es una dirección de correo válida');\r\n else {\r\n BP2022AuthService.guardaDatosCorreo(datosAcceso.cliente, correo, opt2);\r\n setEstado(5);\r\n BP2022AuthService.actualizaKey(datosAcceso.idPedido);\r\n }\r\n }\r\n\r\n switch(estado){\r\n case 1:\r\n props.cambiaAlto('460px');\r\n break;\r\n case 2:\r\n props.cambiaAlto('230px');\r\n break;\r\n case 3:\r\n props.cambiaAlto('280px');\r\n break;\r\n case 4:\r\n props.cambiaAlto('830px');\r\n break;\r\n case 5:\r\n props.cambiaAlto('300px');\r\n break;\r\n }\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n\r\n\r\n return(\r\n (estado === 0) ?\r\n
\r\n

Iniciando...

\r\n
\r\n :(estado === 1)?\r\n
e.preventDefault()}>\r\n

Para acceder a su usuario y contraseña de BOT PLUS introduzca su DNI/CIF y el número de la \r\n factura o pedido de compra de Colección Consejo o BOT PLUS y pulse \"Obtener claves\".\r\n

\r\n {(mensaje != '') ? \r\n

{mensaje}

\r\n :\r\n <>\r\n }\r\n
\r\n \r\n cambiaDNI(e.target.value)}/>\r\n
\r\n
\r\n \r\n cambiaNFact(e.target.value)}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n :(estado === 2) ?\r\n
\r\n

Buscando información...

\r\n
\r\n :(estado === 3) ?\r\n
\r\n

\r\n ¿Desea que el CGCOF guarde su correo electrónico para mejorar\r\n nuestro servicio?\r\n

\r\n
\r\n \r\n         \r\n \r\n
\r\n
\r\n :(estado === 4)?\r\n
e.preventDefault()}>\r\n {(mensaje != '') ? \r\n

{mensaje}

\r\n :\r\n <>\r\n }\r\n
\r\n \r\n cambiaCorreo(e.target.value)}/>\r\n
\r\n
\r\n \r\n cambiaConfirma(e.target.value)}/>\r\n
\r\n
\r\n

\r\n \r\n

\r\n

\r\n Asimismo, solicitamos su consentimiento expreso para el envío de comunicaciones \r\n electrónicas relativas a los servicios y productos que ofrecemos e información \r\n que pueda resultar de su interés rellenando previamente su correo electrónico y \r\n marcando la siguiente casilla \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n \r\n         \r\n \r\n
\r\n
\r\n :(estado === 5) ?\r\n
\r\n

\r\n Usuario:\r\n {datosAcceso.usuarioActual}\r\n

\r\n

\r\n Contraseña:\r\n {datosAcceso.passActual}\r\n

\r\n
\r\n \r\n
\r\n
\r\n :\r\n
\r\n

Este paso no está implementado

\r\n
\r\n );\r\n}\r\n\r\nexport default ModalRecupera;\r\n","import { useState } from \"react\";\r\nimport { RemoveClassNameToClassItems } from \"../../services/utils\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport ModalRecupera from \"./ModalRecupera\";\r\n\r\nconst Recupera = (props) => {\r\n\r\n const [muestraEmergente, setMuestraEmergente] = useState(false);\r\n const [dni, setDni] = useState('');\r\n const [nfact, setNfact] = useState('');\r\n const [altoEmergente, setAltoEmergente] = useState(null);\r\n\r\n const cancelaProceso = () =>{\r\n setMuestraEmergente(false);\r\n }\r\n\r\n const iniciaProceso = () =>{\r\n setMuestraEmergente(true);\r\n }\r\n\r\n const cambiaDNI = (txt) =>{\r\n setDni(txt);\r\n }\r\n\r\n const cambiaNFact = (txt) =>{\r\n setNfact(txt);\r\n }\r\n\r\n const cambiAlto = (alto) =>{\r\n setAltoEmergente(alto);\r\n }\r\n\r\n const modalTitulo = \"Claves BOTPLUS\";\r\n const modalKeyName = \"AccessNotAllowed\"\r\n const modalContent = (\r\n \r\n \r\n );\r\n\r\n\r\n return(\r\n
\r\n {muestraEmergente ?\r\n \r\n :\r\n <>\r\n }\r\n
e.preventDefault()}>\r\n
\r\n \r\n cambiaDNI(e.target.value)}/>\r\n
\r\n
\r\n \r\n cambiaNFact(e.target.value)}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Recupera;","import React, { useState } from \"react\";\r\nimport AuthService from \"../services/auth.service\";\r\nimport { rootPath } from \"../services/utils\";\r\nimport Emergente from \"./Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport Recupera from \"./Recupera/Recupera\";\r\n\r\nconst required = (value) => {\r\n if (!value) {\r\n return (\r\n
\r\n This field is required!\r\n
\r\n );\r\n }\r\n };\r\n \r\n const Login = (props) => {\r\n \r\n const [username, setUsername] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [mantActiva, setMantActiva] = useState(false);\r\n const [cerrarAnt, setCerrarAnte] = useState(false);\r\n const [status, setStatus] = useState(props.status);\r\n //const [loading, setLoading] = useState(false);\r\n const [mensaje, setMensaje] = useState(props.mensaje);\r\n const [isHelpActive, setHelpActive] = useState(\"false\");\r\n \r\n const onChangeUsername = (e) => {\r\n const username = e.target.value;\r\n setUsername(username);\r\n };\r\n \r\n const onChangePassword = (e) => {\r\n const password = e.target.value;\r\n setPassword(password);\r\n };\r\n\r\n const onChangeMantActiva = (e) => {\r\n const chk = e.target.checked;\r\n setMantActiva(chk);\r\n };\r\n \r\n const onChangeCerrarAnt = (e) => {\r\n const chk = e.target.checked;\r\n setCerrarAnte(chk);\r\n };\r\n \r\n \r\n const handleHelpToggle = () => {\r\n setHelpActive(!isHelpActive);\r\n };\r\n \r\n const handleLogin = (e) => {\r\n AuthService.login(username, password, cerrarAnt, mantActiva).then(\r\n (response) => {\r\n //props.history.push(\"/Inicio\");\r\n if (response.Status === 0){\r\n window.location.reload();\r\n }\r\n else{\r\n setMensaje (response.Mensaje);\r\n if (response.Info)\r\n console.log(response.Info);\r\n }\r\n setStatus(response.Status);\r\n },\r\n (error) => {\r\n const resMessage =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n setMensaje(\"Error de red\");\r\n setStatus(-1);\r\n //setLoading(false);\r\n //setMessage(resMessage);\r\n }\r\n );\r\n };\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
e.preventDefault()}>\r\n
\r\n

Acceso usuarios

\r\n
\r\n

Bienvenido/a a BOT PLUS. Por favor, introduce tus datos para acceder.

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {(status!==0) ?\r\n
\r\n

\r\n \r\n {mensaje}\r\n

\r\n
\r\n :\r\n
\r\n }\r\n
\r\n

\r\n \r\n

\r\n
\r\n {(status===1) ?\r\n
\r\n

\r\n \r\n

\r\n
\r\n :\r\n
\r\n }\r\n
\r\n AYUDA\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Ayuda

\r\n
\r\n
\r\n
\r\n

¿Cómo puedo acceder a BOT PLUS?

\r\n
\r\n
\r\n

El acceso a BOT PLUS requiere de la suscripción anual al producto. En caso de que usted sea suscriptor de BOT PLUS o de la Colección CONSEJO, \r\n introduzca el usuario y contraseña que se le remite en el correo de confirmación de su pedido.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

En caso de no disponer ya de dicho correo, o bien en caso de olvido de la clave, puede recuperarla introduciendo en el siguiente cuadro \r\n su DNI / CIF y el número de factura o pedido.\r\n

\r\n
\r\n

En caso de que no pudiera recuperar la clave, contacte con el Consejo General de Colegios Oficiales de Farmacéuticos.\r\n

\r\n
\r\n \r\n {/*
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n

¿Puedo acceder a BOT PLUS con mi usuario y clave de Farmaceuticos.com?

\r\n
\r\n
\r\n

No. La clave de acceso a Farmaceuticos.com es diferente que la de BOT PLUS.

\r\n
\r\n

No obstante, los farmacéuticos colegiados pueden acceder de forma gratuita aunque limitada a los contenidos de BOT PLUS. \r\n Para ello, deben registrarse en Farmaceuticos.com, y entrar en el espacio \"Mi cuenta\", \r\n

\r\n
\r\n \"\"\r\n

\r\n A continuación, deberán hacer clic en la opción de herramientas. \r\n

\r\n \"\"\r\n

\r\n En esta opción encontrará un acceso gratuito a BOT PLUS web.\r\n

\r\n \"\"\r\n
\r\n
\r\n
\r\n

¿Cambia la clave de BOT PLUS?

\r\n
\r\n
\r\n

La suscripción a BOT PLUS permite acceder a la herramienta durante el año de vigencia de la licencia.

\r\n
\r\n

En el caso de farmacéuticos suscriptores permanentes de BOT PLUS, podrán seguir usando la misma clave todos los años sin necesidad de cambiarla.

\r\n
\r\n
\r\n
\r\n

¿Desde cuántos dispositivos puedo acceder a BOT PLUS?

\r\n
\r\n
\r\n

BOT PLUS es un programa on-line que permite la consulta de la información recogida en la base de datos. \r\n Puede acceder a BOT PLUS desde cualquier dispositivo electrónico, incluyendo pc, Tablet o smartphone.\r\n

\r\n
\r\n

La suscripción a BOT PLUS le permite un acceso concurrente, por lo que en caso de que su sesión \r\n estuviera abierta en otro dispositivo, la propia herramienta le avisará de que debe cerrar la anterior sesión antes de entrar con el nuevo dispositivo.\r\n

\r\n
\r\n
\r\n
\r\n

¿Dónde puedo consultar en caso de tener dudas sobre BOT PLUS?

\r\n
\r\n
\r\n

En caso de necesitar contactar con el Consejo General de Colegios Oficiales de Farmacéuticos, podrá hacerlo a través de los siguientes medios:\r\n

\r\n
\r\n

Teléfono: 914312689

\r\n

Correo electrónico: congral@redfarma.org

\r\n
\r\n
\r\n
\r\n Cerrar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n \r\n export default Login;","import axios from \"axios\";\r\nimport authHeader from \"./auth-header\";\r\nimport { fromListaOpsAvanzadaToParamURL, fromListaPAsComposToParamURL, getApiPath } from \"./utils\";\r\n\r\n//const API_URL = \"http://localhost:36823/botplusapi/\";\r\n//const API_URL = \"http://nitramsoftware.linkpc.net:8899/botplusapi/\";\r\n//const API_URL = \"/api/botplusapi/\";\r\nconst API_URL = getApiPath();\r\n\r\nconst getMedsByName = (txt, opb, idxOrden, primero, max) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var aux=\"&opb=1\"\r\n if (opb === 2)\r\n aux =\"&opb=2\"\r\n return axios.get(API_URL + \"BotPlus2022/porTexto?txt=\"+encodeURIComponent(txt) + aux + strorden, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaMUH?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaEXT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaEXT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaMUV = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaMUV?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaFM = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaFM?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaPA = (id,tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaPA?id=\"+id + '&tipo=' + tipo, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaASO = (id,tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaASO?id=\"+id + '&tipo=' + tipo, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaPAt?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getComposM = (id, idCPor, idFF) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosComposicion?id=\"+id+\"&idComposPor=\"+idCPor+\"&idff=\"+idFF, { headers: authHeader() });\r\n};\r\n\r\nconst getComposPF = (id, idCPor, idFF) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosComposicionPF?id=\"+id+\"&idComposPor=\"+idCPor+\"&idff=\"+idFF, { headers: authHeader() });\r\n};\r\n\r\nconst getGruposMUH = (id, codGrupoATC, nivelGrupo, codGrupoVMPP) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosGrupos?id=\"+id+\"&codGrupoATC=\"+codGrupoATC+\"&nivelGrupo=\"+nivelGrupo+\"&codGrupoVMPP=\"+codGrupoVMPP, { headers: authHeader() });\r\n};\r\n\r\nconst getGruposPF = (id, codGrupoATC, nivelGrupo, codGrupoVMPP) => {\r\n var strCodGrupoATC = (codGrupoATC ? codGrupoATC.toString() : '')\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosGruposPF?id=\"+id+\"&codGrupoCon=\"+codGrupoATC+\"&nivelGrupo=\"+nivelGrupo+\"&codGrupoNom=\"+ codGrupoVMPP, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextos?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextosPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextosPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextosING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertencias?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getConsejosMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosConsejos?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getPrecaucionExtremaMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosPrecaucionExtrema?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getPrecaucionExtremaPAH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosPrecaucionExtremaPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInterferenciasMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisis?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInterferenciasPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisisPA?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getInterferenciasASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisisASO?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getInterferenciasPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisisPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getNombresSimilaresPAH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetNombresSimilaresPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getNombresSimilaresMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetNombresSimilaresMed?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFarmacogeneticaMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetFarmacogeneticaMed?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFarmacogeneticaPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetFarmacogeneticaPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFarmacogeneticaASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetFarmacogeneticaASO?id=\"+id, { headers: authHeader() });\r\n };\r\n \r\nconst getConservacionMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosConservacion?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getConservacionPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosConservacionPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getHistoricoMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistorico?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getHistoricoPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getHistoricoPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoPA?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getHistoricoING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoING?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getHistoricoASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoASO?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getAlertasCalidadMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAlertasC?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAlertasCalidadPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAlertasCPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getProblemasSuministroMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosProblemasS?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getCismedMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosCismed?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicional?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideos?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getIdentificacionMUH = (id,idFF) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosIdentificacion?id=\"+id+\"&idFF=\"+idFF, { headers: authHeader() });\r\n};\r\n\r\nconst getMensajesEmergentesMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetMensajesEmergentes?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getMensajesEmergentesPPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetMensajesEmergentesPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getMensajesEmergentesPAH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetMensajesEmergentesPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getSinonimiasPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetSinonimiasPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getSinonimiasING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetSinonimiasING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getSinonimiasPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetSinonimiasPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getDopajeInfoPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDopajeInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getDopajeInfoASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDopajeInfoASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getProductoresInfoPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetProductoresInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTiemposEsperaMUV = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetTiemposEspera?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getContenidoPackPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetContenidoPack?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getPacksContenedoresPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetPackContenedores?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getJerarquiaInfoPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetJerarquiaInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getCIEInfoPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetCIEInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getBuscadoresPreferidos = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetBuscadoresPreferidos\", { headers: authHeader() });\r\n};\r\n\r\nconst getNovedades = () => {\r\n return axios.get(API_URL + \"BotPlus2022/Novedades?maxRegs=5\", { headers: authHeader() });\r\n};\r\n\r\nconst getProductosConPS = (num) => {\r\n return axios.get(API_URL + \"BotPlus2022/ConPSuministro?maxRegs=\" + num.toString(), { headers: authHeader() });\r\n};\r\n\r\nconst getUltimasNotasYAlertas = (num) => {\r\n return axios.get(API_URL + \"BotPlus2022/AlertasYNotas?maxRegs=\" + num.toString(), { headers: authHeader() });\r\n};\r\n\r\nconst getHistorial = (num) => {\r\n return axios.get(API_URL + \"BotPlus2022/Historial?maxRegs=\" + num.toString(), { headers: authHeader() });\r\n };\r\n \r\nconst emptyHistorial = () => {\r\n return axios.get(API_URL + \"BotPlus2022/VaciaHistorial\", { headers: authHeader() });\r\n };\r\n \r\nconst getDatosConfiguracion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosConfiguracion\", { headers: authHeader() });\r\n};\r\n\r\nconst setDatosConfiguracion = (idProv, numFarm) => {\r\n return axios.get(API_URL + \"BotPlus2022/SetDatosConfiguracion?idProv=\" + idProv.toString() + \"&numFarm=\" + numFarm, { headers: authHeader() });\r\n};\r\n \r\nconst getLaboratorios = (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaLaboratorios?tipo=\" + tipo, { headers: authHeader() });\r\n};\r\n \r\nconst medicamentosLaboratorio = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorLaboratorio?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst medicamentosMismoNombre = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosMismoNombre?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst medicamentosLaboratorios = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorLaboratorios?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst productosLaboratorio = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorLaboratorio?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst productosLaboratorios = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorLaboratorios?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst getAgrupaciones = (tipo, auto) => {\r\n if ((tipo===\"V\") || (tipo==='H'))\r\n return axios.get(API_URL + \"BotPlus2022/GetListaAgrupaciones?auto=\" + auto, { headers: authHeader() });\r\n else\r\n return axios.get(API_URL + \"BotPlus2022/GetListaAgrupacionesPF?auto=\" + auto, { headers: authHeader() });\r\n};\r\n \r\nconst getFormasFarma = (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaFormaFarma?tipo=\" + tipo, { headers: authHeader() });\r\n};\r\n \r\nconst getActividades = (tipo, tipoActividad) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaActividades?tipo=\" + tipo + '&tipoActividad=' + tipoActividad, { headers: authHeader() });\r\n};\r\n \r\nconst getAnalisis = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaAnalisis\", { headers: authHeader() });\r\n};\r\n \r\nconst getBiomarcadores = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaBiomarcadores\", { headers: authHeader() });\r\n};\r\n\r\nconst getGruposATC = (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposATC?tipo=\" + tipo, { headers: authHeader() });\r\n};\r\n\r\nconst getGruposCon = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposCon\", { headers: authHeader() });\r\n};\r\n\r\nconst getGruposVMPP = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposVMPP\", { headers: authHeader() });\r\n};\r\n\r\nconst getArbolGruposVMPP = (tipo, aux, id, max) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetArbolGruposVMPP?id=\" + id + \"&max=\"+ max.toString(), { headers: authHeader() });\r\n};\r\n\r\nconst getGruposSan = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposSan\", { headers: authHeader() });\r\n};\r\n\r\nconst medicamentosAgrupacionAuto = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorAgrupacionAuto?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n\r\nconst productosAgrupacionAuto = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorAgrupacionAuto?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAgrupacioNac = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorAgrupacionNacional?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosAgrupacionNac = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorAgrupacionNacional?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosFormaFarma = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorFormaFarma?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosFormaFarma = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorFormaFarma?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosFormasFarma = (ids,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorFormasFarma?ids=\" + ids.toString() + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosFormasFarma = (ids,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorFormasFarma?ids=\" + ids.toString() + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActividad = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PAPorActividad?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst ingredientesActividad = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/IngPorActividad?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActividadesY = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PAPorActividadesY?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst ingredientesActividadesY = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/IngPorActividadesY?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActividadesO = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PAPorActividadesO?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst ingredientesActividadesO = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/IngPorActividadesO?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAnalisis = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorAnalisis?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosBiomarcador = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorBiomarcador?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosConPA = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorComponentePA?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosConAso = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorComponenteAso?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosConIng = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorComponente?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosTipo = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorClase?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosSubtipo = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorSubClase?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosPorEnf = (id,idepi,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorEnfermedad?id=\" + id + \"&idEpi=\" + idepi + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosPorEnf = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorEnfermedadPF?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosGTATC = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTATC?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentos2GTATC = (ids,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTATC2?ids=\" + ids.toString() + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosGTCon = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTCon?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosGTVMPP = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTVMPP?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosGTSan = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTSan?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioSaborEdad = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormSaborEdad\", { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioTest = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormTest\", { headers: authHeader() });\r\n}; \r\n\r\nconst descargaInfoSalesYCantidades = (id,tipo) => {\r\n if (tipo===\"P\")\r\n return descargaInfoSalesYCantidadesIng(id);\r\n else\r\n return axios.get(API_URL + \"BotPlus2022/GetInfoPosiblesSalesYCantidades?id=\" + id, { headers: authHeader() });\r\n}; \r\n\r\nconst descargaInfoSalesYCantidadesIng = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetInfoPosiblesSalesYCantidadesIng?id=\" + id, { headers: authHeader() });\r\n}; \r\n \r\nconst descargaListaInfoSalesYCantidades = (ids,tipo) => {\r\n if (tipo===\"P\")\r\n return descargaListaInfoSalesYCantidadesIng(ids);\r\n else\r\n return axios.get(API_URL + \"BotPlus2022/GetListaInfoPosiblesSalesYCantidades?ids=\" + ids.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst descargaListaInfoSalesYCantidadesIng = (ids) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaInfoPosiblesSalesYCantidadesIng?ids=\" + ids.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst productosSaborEdad = (info) => {\r\n var strParams = \"?se\";\r\n if (info.idDieto){\r\n strParams += \"&idDieto=\" + info.idDieto;\r\n }\r\n if (info.idsSabores && info.idsSabores.length>0){\r\n strParams += \"&idsSabores=\" + info.idsSabores.toString();\r\n }\r\n if (info.saborSolo){\r\n strParams += \"&saborSolo=S\"\r\n }\r\n if (info.edad){\r\n strParams += \"&edad=\" + info.edad.toString();\r\n }\r\n if (info.undEdad){\r\n strParams += \"&undEdad=\" + info.undEdad;\r\n }\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosSaborEdad\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosEspecieIndicacion = (idEnf, idEsp, idxOrden) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosEspecieIndicacion?idEnf=\" + idEnf + \"&idEspecie=\" + idEsp + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioEspecieIndicacion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEspecieIndicacion\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosProblemasSuministro = (info, idxOrden) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var strParams = \"?ps\";\r\n if (info.txt && info.txt !== ''){\r\n strParams += \"&txt=\" + info.txt;\r\n }\r\n if (info.idLab>0){\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n }\r\n if (info.idPA>0){\r\n strParams += \"&idPA=\" + info.idPA.toString();\r\n }\r\n if (info.medExt){\r\n strParams += \"&medExt=S\"\r\n }\r\n if (info.noSust){\r\n strParams += \"&noSust=S\"\r\n }\r\n if (info.iniciod){\r\n strParams += \"&fini0=\" + Math.round(info.iniciod.getTime()/1000).toString();\r\n }\r\n if (info.inicioh){\r\n strParams += \"&fini1=\" + Math.round(info.inicioh.getTime()/1000).toString();\r\n }\r\n if (info.find){\r\n strParams += \"&ffin0=\" + Math.round(info.find.getTime()/1000).toString();\r\n }\r\n if (info.finh){\r\n strParams += \"&ffin1=\" + Math.round(info.finh.getTime()/1000).toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosProblemasSuministro\" + strParams + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioProblemasSuministro= () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormProblemasSuministro\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAlertasCalidad = (info, idxOrden, tipo) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var strParams = \"?ac\";\r\n if (info.txt && info.txt !== ''){\r\n strParams += \"&txt=\" + info.txt;\r\n }\r\n if (info.txtLote && info.txtLote !== ''){\r\n strParams += \"&txtLote=\" + info.txtLote;\r\n }\r\n if (info.idLab>0){\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n }\r\n if (info.idPA>0){\r\n strParams += \"&idPA=\" + info.idPA.toString();\r\n }\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n if (tipo){\r\n strParams += \"&tipo=\" + tipo;\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosAlertasCalidad\" + strParams + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst PFAlertasCalidad = (info, idxOrden) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var strParams = \"?ac\";\r\n if (info.txt && info.txt !== ''){\r\n strParams += \"&txt=\" + info.txt;\r\n }\r\n if (info.txtLote && info.txtLote !== ''){\r\n strParams += \"&txtLote=\" + info.txtLote;\r\n }\r\n if (info.idLab>0){\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n }\r\n if (info.idPA>0){\r\n strParams += \"&idPA=\" + info.idPA.toString();\r\n }\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/GetPFAlertasCalidad\" + strParams + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioAlertasCalidad= (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAlertasCalidad?tipo=\"+ tipo, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosReaccionesAdversas = (info,max,idb) => {\r\n var strParams = \"?ra\";\r\n if (info.idEpi){\r\n strParams += \"&idEpi=\" + info.idEpi;\r\n }\r\n if (info.idsEnfs && info.idsEnfs.length>0){\r\n strParams += \"&idsEnfs=\" + info.idsEnfs.toString();\r\n }\r\n if (info.idsMeds && info.idsMeds.length>0){\r\n strParams += \"&idsMeds=\" + info.idsMeds.toString();\r\n }\r\n \r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosPorReaccionAdversa\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n }; \r\n \r\nconst datosFormularioReaccionesAdversas = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormReaccionesAdversas\", { headers: authHeader() });\r\n}; \r\n\r\nconst productosPorComposicion = (info) => {\r\n var tipo = info.codigoPagina.substring(info.codigoPagina.length-1);\r\n if (tipo===\"F\")\r\n tipo = \"P\"\r\n var strParams = \"?tipo=\" + tipo;\r\n if (tipo===\"P\" && info.tipoProd){\r\n strParams += \"&tipoProd=\" + info.tipoProd;\r\n }\r\n if (info.pas && info.pas.length>0){\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n }\r\n if (info.solo){\r\n strParams += \"&solo=S\"\r\n }else{\r\n strParams += \"&solo=N\"\r\n }\r\n if (info.idVia>0){\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n }\r\n if (info.idFF>0){\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n }\r\n if (info.uds>0){\r\n strParams += \"&uds=\" + info.uds.toString();\r\n }\r\n if (info.pv>0){\r\n strParams += \"&pv=\" + info.pv.toString();\r\n }\r\n if (info.ints && info.ints.length>0){\r\n strParams += \"&ints=\" + info.ints.toString();\r\n }\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorComposicion\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioComposicion = (tipo, tipoProd, pas) => {\r\n //var tipo = info.codigoPagina.substring(info.codigoPagina.length-1);\r\n var strTipoProd = \"\";\r\n if (tipo===\"F\"){\r\n tipo = \"P\"\r\n }\r\n if (tipo===\"P\"){\r\n strTipoProd = \"&tipoProd=\" + tipoProd.toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormComposicion?tipo=\" + tipo + strTipoProd + \"&pas=\" + fromListaPAsComposToParamURL(pas), { headers: authHeader() });\r\n}; \r\n\r\nconst actualizaFFyVias = (tipo, tipoProd, pas) => {\r\n //var tipo = info.codigoPagina.substring(info.codigoPagina.length-1);\r\n var strTipoProd = \"\";\r\n if (tipo===\"F\"){\r\n tipo = \"P\"\r\n }\r\n if (tipo===\"P\"){\r\n strTipoProd = \"&tipoProd=\" + tipoProd.toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/FormasFarmaYVias?tipo=\" + tipo + strTipoProd + \"&pas=\" + fromListaPAsComposToParamURL(pas), { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaMUH = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaMUH\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAvanzadaMUH = (info,max,idb) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n /*if (info.idLab && info.idLab > 0)\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsLab && (info.idsLab.length > 0))\r\n strParams += \"&idsLab=\" + info.idsLab.toString();\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n if (info.solo)\r\n strParams += \"&solo=S\";\r\n else\r\n strParams += \"&solo=N\";\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n if (info.edad)\r\n strParams += \"&edad=\" + info.edad.toString();\r\n if (info.undEdad)\r\n strParams += \"&undEdad=\" + info.undEdad;\r\n if (info.ints && (info.ints.length > 0))\r\n strParams += \"&ints=\" + info.ints.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.uds && info.uds>0)\r\n strParams += \"&uds=\" + info.uds.toString();\r\n if (info.emr && info.emr>0)\r\n strParams += \"&emr=\" + info.emr.toString();\r\n if (info.fechaAutoIni){\r\n strParams += \"&fechaAutoIni=\" + Math.round(info.fechaAutoIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaAutoFin){\r\n strParams += \"&fechaAutoFin=\" + Math.round(info.fechaAutoFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaComerIni){\r\n strParams += \"&fechaComerIni=\" + Math.round(info.fechaComerIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaComerFin){\r\n strParams += \"&fechaComerFin=\" + Math.round(info.fechaComerFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaIni){\r\n strParams += \"&fechaBajaIni=\" + Math.round(info.fechaBajaIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaFin){\r\n strParams += \"&fechaBajaFin=\" + Math.round(info.fechaBajaFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaInSNSIni){\r\n strParams += \"&fechaInSNSIni=\" + Math.round(info.fechaInSNSIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaInSNSFin){\r\n strParams += \"&fechaInSNSFin=\" + Math.round(info.fechaInSNSFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaExSNSIni){\r\n strParams += \"&fechaExSNSIni=\" + Math.round(info.fechaExSNSIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaExSNSFin){\r\n strParams += \"&fechaExSNSFin=\" + Math.round(info.fechaExSNSFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaExFIIni){\r\n strParams += \"&fechaExFIIni=\" + Math.round(info.fechaExFIIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaExFIFin){\r\n strParams += \"&fechaExFIFin=\" + Math.round(info.fechaExFIFin.getTime()/1000).toString();\r\n }\r\n if (info.pre && info.pre>0 && info.idOpP && info.idOpP>0 && info.idCampoP && info.idCampoP !== '')\r\n {\r\n strParams += \"&pre=\" + Math.trunc(info.pre*100).toString() + \"&idOpP=\" + info.idOpP.toString() + \"&idCampoP=\" + info.idCampoP;\r\n }\r\n if (info.idPredefP>0)\r\n {\r\n strParams += \"&idPredefP=\" + info.idPredefP.toString();\r\n }\r\n if (info.idsAA && (info.idsAA.length > 0))\r\n strParams += \"&idsAA=\" + info.idsAA.toString();\r\n if (info.idsAN && (info.idsAN.length > 0))\r\n strParams += \"&idsAN=\" + info.idsAN.toString();\r\n if (info.idsDC && (info.idsDC.length > 0))\r\n strParams += \"&idsDC=\" + info.idsDC.toString();\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n\r\n if (info.enfsRel && (info.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += info.enfsRel[i].codigo + \"_\" + info.enfsRel[i].epi;\r\n }\r\n strParams += \"&enfsRel=\" + strEnf;\r\n }\r\n\r\n if (info.anasRel && (info.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += info.anasRel[i].codigo + \"_\" + info.anasRel[i].epi;\r\n }\r\n strParams += \"&anasRel=\" + strAna;\r\n }\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaMUH\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaMUV = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaMUV\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAvanzadaMUV = (info,max,idb) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n /*if (info.idLab && info.idLab > 0)\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsLab && (info.idsLab.length > 0))\r\n strParams += \"&idsLab=\" + info.idsLab.toString();\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n if (info.solo)\r\n strParams += \"&solo=S\";\r\n else\r\n strParams += \"&solo=N\";\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n if (info.uds && info.uds>0)\r\n strParams += \"&uds=\" + info.uds.toString();\r\n if (info.fechaAutoIni){\r\n strParams += \"&fechaAutoIni=\" + Math.round(info.fechaAutoIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaAutoFin){\r\n strParams += \"&fechaAutoFin=\" + Math.round(info.fechaAutoFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaIni){\r\n strParams += \"&fechaBajaIni=\" + Math.round(info.fechaBajaIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaFin){\r\n strParams += \"&fechaBajaFin=\" + Math.round(info.fechaBajaFin.getTime()/1000).toString();\r\n }\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idEspecie && info.idEspecie > 0)\r\n strParams += \"&idEspecie=\" + info.idEspecie.toString();\r\n if (info.idEnf && info.idEnf > 0)\r\n strParams += \"&idEnf=\" + info.idEnf.toString();\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaMUV\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaPAH = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaPAH\", { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActivosAvanzadaPAH = (info) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n if (info.idsAF && (info.idsAF.length > 0))\r\n strParams += \"&idsAF=\" + info.idsAF.toString();\r\n if (info.idsAM && (info.idsAM.length > 0))\r\n strParams += \"&idsAM=\" + info.idsAM.toString();\r\n /*if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n if (info.enfsRel && (info.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += info.enfsRel[i].codigo + \"_\" + info.enfsRel[i].epi;\r\n }\r\n strParams += \"&enfsRel=\" + strEnf;\r\n }\r\n if (info.anasRel && (info.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += info.anasRel[i].codigo + \"_\" + info.anasRel[i].epi;\r\n }\r\n strParams += \"&anasRel=\" + strAna;\r\n }\r\n\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaPAH\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaPPF = (idTipo) => {\r\n var strDieto = (idTipo === 6 ? \"S\" : \"N\")\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaPPF?dieto=\" + strDieto, { headers: authHeader() });\r\n}; \r\n\r\nconst viasFormularioAvanzadaPPF = (idTipo) => {\r\n var strDieto = (idTipo === 6 ? \"S\" : \"N\")\r\n return axios.get(API_URL + \"BotPlus2022/AcutalizaViasPPF?dieto=\" + strDieto, { headers: authHeader() });\r\n}; \r\n\r\nconst productosAvanzadaPPF = (info,max,idb) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n /*if (info.idLab && info.idLab > 0)\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsLab && (info.idsLab.length > 0))\r\n strParams += \"&idsLab=\" + info.idsLab.toString();\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n if (info.solo)\r\n strParams += \"&solo=S\";\r\n else\r\n strParams += \"&solo=N\";\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n /*if (info.idTipo>0)\r\n strParams += \"&idTipo=\" + info.idTipo.toString();\r\n if (info.idSubtipo>0)\r\n strParams += \"&idSubtipo=\" + info.idSubtipo.toString();*/\r\n if (info.idsTipo && (info.idsTipo.length > 0))\r\n strParams += \"&idsTipo=\" + info.idsTipo.toString();\r\n if (info.idsSubtipo && (info.idsSubtipo.length > 0))\r\n strParams += \"&idsSubtipo=\" + info.idsSubtipo.toString();\r\n if (info.uds && info.uds>0)\r\n strParams += \"&uds=\" + info.uds.toString();\r\n if (info.fechaAutoIni){\r\n strParams += \"&fechaAutoIni=\" + Math.round(info.fechaAutoIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaAutoFin){\r\n strParams += \"&fechaAutoFin=\" + Math.round(info.fechaAutoFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaIni){\r\n strParams += \"&fechaBajaIni=\" + Math.round(info.fechaBajaIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaFin){\r\n strParams += \"&fechaBajaFin=\" + Math.round(info.fechaBajaFin.getTime()/1000).toString();\r\n }\r\n if (info.ints && (info.ints.length > 0))\r\n strParams += \"&ints=\" + info.ints.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaPPF\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioPacienteIndicacion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormPacienteIndicacion\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosPacienteIndicacion = (info) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.idEnf>0)\r\n strParams += \"&idEnf=\" + info.idEnf.toString();\r\n if (info.idsPat && (info.idsPat.length > 0))\r\n strParams += \"&idsPat=\" + info.idsPat.toString();\r\n if (info.idsMed && (info.idsMed.length > 0))\r\n strParams += \"&idsMed=\" + info.idsMed.toString();\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n if (info.edad)\r\n strParams += \"&edad=\" + info.edad.toString();\r\n if (info.undEdad)\r\n strParams += \"&undEdad=\" + info.undEdad;\r\n if (info.ints && (info.ints.length > 0))\r\n strParams += \"&ints=\" + info.ints.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idsAlg && (info.idsAlg.length > 0))\r\n strParams += \"&idsAlg=\" + info.idsAlg.toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PacienteIndicacion\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst listaPosiblesInteractores = (idsSel) => {\r\n var strParam=\"\";\r\n if (idsSel && idsSel.length === 1)\r\n strParam += \"?id=\" + idsSel[0].toString();\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormInteracciones\" + strParam, { headers: authHeader() });\r\n}; \r\n\r\nconst buscaInteracciones = (idsSel) => {\r\n var param = \"?idsSel=\"\r\n if (idsSel && idsSel.length>0)\r\n param += idsSel.toString();\r\n else\r\n param += \"0\";\r\n return axios.get(API_URL + \"BotPlus2022/CalculoInteracciones\"+param, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosFM = (idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetFormulasMagistrales\" + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosHomeo = (idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosHomeopaticos\" + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioFormaColor = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormFormaColor\", { headers: authHeader() });\r\n}; \r\n\r\n\r\nconst medicamentosFormaColor = (info, max, idb) =>\r\n{\r\n var strParams = \"?fc\";\r\n\r\n if (info.tipoFF!=='')\r\n strParams += \"&tipoFF=\" + info.tipoFF;\r\n if (info.idForma>0)\r\n strParams += \"&idForma=\" + info.idForma.toString();\r\n if (info.idColor1 !== \"\")\r\n strParams += \"&idColor1=\" + info.idColor1.toString();\r\n if (info.idColor2 !== \"\")\r\n strParams += \"&idColor2=\" + info.idColor2.toString();\r\n if (info.idSabor>0)\r\n strParams += \"&idSabor=\" + info.idSabor.toString();\r\n if (info.idEnf>0)\r\n strParams += \"&idEnf=\" + info.idEnf.toString();\r\n if (info.tamanos && (info.tamanos.length > 0))\r\n strParams += \"&tamanos=\" + info.tamanos.toString();\r\n if (info.CO1)\r\n strParams += \"&CO1=\" + info.CO1;\r\n if (info.CO2)\r\n strParams += \"&CO2=\" + info.CO2;\r\n if (info.ranura)\r\n strParams += \"&ranura=S\" \r\n if (info.logo)\r\n strParams += \"&logo=S\" \r\n if (info.difCol)\r\n strParams += \"&difCol=S\" \r\n if (info.col2)\r\n strParams += \"&col2=S\" \r\n if (info.anycol)\r\n strParams += \"&anycol=S\" \r\n if (info.ins1 && info.ins1 !== '')\r\n strParams += \"&ins1=\" + info.ins1;\r\n if (info.ins2 && info.ins2 !== '')\r\n strParams += \"&ins2=\" + info.ins2;\r\n /*if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + info.pas.toString();*/\r\n if (info.pas && info.pas.length>0){\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n }\r\n if (info.solo){\r\n strParams += \"&solo=S\"\r\n }else{\r\n strParams += \"&solo=N\"\r\n }\r\n \r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosPorFormaColor\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n\r\n}\r\n\r\nconst datosFormularioEXT = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEXT\", { headers: authHeader() });\r\n}; \r\n\r\n\r\nconst medicamentosEXT = (info, max, idb) =>\r\n{\r\n var strParams = \"?ex\";\r\n if (info.id>0)\r\n strParams += \"&id=\" + info.id.toString();\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&txt=\" + info.txt;\r\n if (info.idPais>0)\r\n strParams += \"&idPais=\" + info.idPais.toString();\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + info.pas.toString();\r\n if (info.solo){\r\n strParams += \"&solo=S\"\r\n }\r\n \r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosEXT\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n \r\n}\r\n\r\nconst medicamentosEspanoles = (id, idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosESP?id=\" + id + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst productosConGluten = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosConGluten?cg\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosSinGluten = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosSinGluten?cg\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosConLactosa = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosConLactosa?cl\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosSinLactosa = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosSinLactosa?cl\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst medicamentosDopantes = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDopantes?do\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosNoLentes = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosNoLentes\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosConPrecioSupMenor = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosConPrecioSupMenor\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosConPrecioSupMasBajo = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosConPrecioSupMasBajo\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosConPrecioNotificado = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosConPrecioNotificado\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosSeguimientoAdicional = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosSeguimientoAdicional\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosDispositivoSeguridad = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDispositivoSeguridad?ds\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst medicamentosLibroRecetario = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosLibroRecetario\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosLibroEstupefacientes = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosLibroEstupefacientes\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosNotificacionESVAC = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosNotificacionESVAC\" + strorden, { headers: authHeader() });\r\n}\r\nconst enfermedadesH = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetEnfermedadesH\" + strorden, { headers: authHeader() });\r\n}\r\nconst enfermedadesV = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetEnfermedadesV\" + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosNoSustituibles = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosNoSustituibles?ds\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosDeduccionesRDL = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDeduccionesRDL?ds\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst productosCambioNombre = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosCambioNombre?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosCambioLaboratorio = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosCambioLaboratorio?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosCambioPrecio = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosCambioPrecio?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosDesfinanciados = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDesfinanciados?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst productosFechaAlta = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosFechaAlta?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst productosUltimoMes = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n \r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n strParams += \"&fini=\" + Math.round(auxdate.getTime()/1000).toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosFechaAlta\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosPSUltimoMes = (idxOrden) =>\r\n{\r\n var strParams = \"?ps\";\r\n \r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n strParams += \"&fini=\" + Math.round(auxdate.getTime()/1000).toString();\r\n\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+ idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/ConPSuministro\" + strParams + strorden , { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosCambioPrecioPrevisto = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosCambioPrecioPrevisto\" + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst productosHistorialUsuario = (idxOrden) =>\r\n{\r\n const maxRandom = 1000000\r\n const intRandom = Math.floor(Math.random() * maxRandom);\r\n const strrandom = \"?\" + intRandom;\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/HistorialUsuario\" + strrandom + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst borraProductoHistorial = (tipo, id) =>\r\n{\r\n return axios.get(API_URL + \"BotPlus2022/BorraDeHistorial?tipo=\" + tipo + \"&id=\" + id.toString(), { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioDocumentos = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormDocumentos\", { headers: authHeader() });\r\n}; \r\n\r\nconst documentosPorMedFecha = (info) =>\r\n{\r\n var strParams = \"?do\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n if (info.idMed>0){\r\n strParams += \"&idMed=\" + info.idMed.toString();\r\n }\r\n return axios.get(API_URL + \"BotPlus2022/DocumentosRelacionados\" + strParams , { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioBucadoresPreferidos = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEditaBuscadores\", { headers: authHeader() });\r\n}; \r\n\r\nconst setDatosBuscadoresPreferidos = (ids) => {\r\n var strParams = \"?do\";\r\n if (ids){\r\n strParams += \"&idsBusca=\" + ids.toString();\r\n }\r\n return axios.get(API_URL + \"BotPlus2022/SetDatosBuscadores\" + strParams , { headers: authHeader() });\r\n}\r\n\r\nconst obtenCamposExportables = (codTipoExporta, codBusqueda) => {\r\n var strCodBusqueda = \"\";\r\n if (codBusqueda)\r\n strCodBusqueda = \"&codBusqueda=\" + codBusqueda\r\n return axios.get(API_URL + \"BotPlus2022/GetCamposExportables?tipoRegistro=\"+codTipoExporta+strCodBusqueda, { headers: authHeader() });\r\n}; \r\n\r\nconst obtenRegistrosAExportar = (codTipoExporta, ids, campos, campoOrden, tipoBusqueda, ini, fin) => {\r\n if ((!campoOrden) || campoOrden===\"\"){\r\n if (campos.includes(\"NOM\" + codTipoExporta)){\r\n campoOrden = \"NOM\" + codTipoExporta\r\n }\r\n else{\r\n campoOrden = campos[0];\r\n }\r\n }\r\n \r\n return axios.post(API_URL + \"BotPlus2022/ExportaPost\"\r\n , { tipoRegistros: codTipoExporta,\r\n ids: ids,\r\n campos: campos,\r\n campoOrden: campoOrden,\r\n tipoBusqueda: tipoBusqueda,\r\n lfini: ini,\r\n lffin: fin,\r\n } \r\n , { headers: authHeader() });\r\n}; \r\n\r\nconst obtenExportacionExcel = (codDocExporta) => {\r\n \r\n return axios.post(API_URL + \"BotPlus2022/ExportExcelPost\"\r\n , { \r\n codDocExporta: codDocExporta,\r\n } \r\n , { headers: authHeader() });\r\n}; \r\n\r\nconst getEmpresa = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEmpresas\", { headers: authHeader() });\r\n}; \r\n\r\nconst getUsuAdicional = () => {\r\n return axios.get(API_URL + \"BotPlus2022/UsuAdicional\", { headers: authHeader() });\r\n}; \r\n\r\nconst enableUsuAdicional = (user, pass) => {\r\n return axios.get(API_URL + \"BotPlus2022/EnableUsuAdicional?user=\"+user+'&pass='+pass, { headers: authHeader() });\r\n}; \r\n\r\nconst disableUsuAdicional = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DisableUsuAdicional\", { headers: authHeader() });\r\n}; \r\n\r\nconst setEmpresa = (idEmpresa) => {\r\n return axios.get(API_URL + \"BotPlus2022/SetEmpresa?idEmpresa=\"+idEmpresa.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst getFormAddEmpresa = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAddEmpresa\", { headers: authHeader() });\r\n}; \r\n\r\nconst addEmpresa = (idEmpresa) => {\r\n return axios.get(API_URL + \"BotPlus2022/AddEmpresaColaboradora?idEmpresa=\"+idEmpresa.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst delEmpresa = (idEmpresa) => {\r\n return axios.get(API_URL + \"BotPlus2022/DeleteEmpresaColaboradora?idEmpresa=\"+idEmpresa.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst getDocumentosAyuda = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDocsAyuda\", { headers: authHeader() });\r\n}; \r\n\r\nconst setOpcionBusqueda = (i) => {\r\n localStorage.setItem(\"opcionBInicio\",i);\r\n}\r\n\r\nconst getOpcionBusqueda = () => {\r\n var i= parseInt(localStorage.getItem(\"opcionBInicio\"));\r\n return i;\r\n}\r\n\r\nconst obtenListadosExportables = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListadosExporta\", { headers: authHeader() });\r\n}; \r\n\r\nconst getBackVersion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetBackendVersion\", { headers: authHeader() });\r\n };\r\n \r\n \r\n\r\n/*\r\n .post(API_URL + \"BotplusAuthenticate\", {\r\n Username : username,\r\n Password : password,\r\n FuerzaBruta : fb,\r\n MantenerAbierta : ma\r\n }, { headers: noAuthHeader() })\r\n*/\r\n\r\nconst userService = {\r\n getMedsByName\r\n ,getFichaMUH\r\n ,getFichaMUV\r\n ,getFichaFM\r\n ,getFichaPF\r\n ,getFichaPA\r\n ,getFichaING\r\n ,getFichaASO\r\n ,getFichaPAT\r\n ,getComposM\r\n ,getComposPF\r\n ,getGruposMUH\r\n ,getGruposPF\r\n ,getTextosMUH\r\n ,getTextosPF\r\n ,getTextosPA\r\n ,getTextosING\r\n ,getAdvertenciasMUH\r\n ,getAdvertenciasPF\r\n ,getAdvertenciasPA\r\n ,getAdvertenciasING\r\n ,getAdvertenciasASO\r\n ,getConsejosMUH\r\n ,getPrecaucionExtremaMUH\r\n ,getPrecaucionExtremaPAH\r\n ,getInterferenciasMUH \r\n ,getInterferenciasPA\r\n ,getInterferenciasASO\r\n ,getInterferenciasPAT\r\n ,getCismedMUH\r\n ,getConservacionMUH\r\n ,getConservacionPF\r\n ,getFarmacogeneticaMUH\r\n ,getFarmacogeneticaPA\r\n ,getFarmacogeneticaASO\r\n ,getHistoricoMUH\r\n ,getHistoricoPF\r\n ,getHistoricoPA\r\n ,getHistoricoING\r\n ,getHistoricoASO\r\n ,getIdentificacionMUH\r\n ,getInformacionAdicionalMUH\r\n ,getInformacionAdicionalPF\r\n ,getInformacionAdicionalPA\r\n ,getInformacionAdicionalING\r\n ,getInformacionAdicionalASO\r\n ,getInformacionAdicionalPAT\r\n ,getProblemasSuministroMUH\r\n ,getVideosMUH\r\n ,getVideosPF\r\n ,getVideosPA\r\n ,getVideosING\r\n ,getVideosASO\r\n ,getVideosPAT\r\n ,getAlertasCalidadMUH\r\n ,getAlertasCalidadPF\r\n ,getMensajesEmergentesMUH\r\n ,getMensajesEmergentesPPF\r\n ,getMensajesEmergentesPAH\r\n ,getTiemposEsperaMUV\r\n ,getContenidoPackPF\r\n ,getPacksContenedoresPF\r\n ,getSinonimiasPA\r\n ,getSinonimiasING\r\n ,getSinonimiasPAT\r\n ,getDopajeInfoPA\r\n ,getDopajeInfoASO\r\n ,getProductoresInfoPA\r\n ,getJerarquiaInfoPAT\r\n ,getCIEInfoPAT\r\n ,getBuscadoresPreferidos\r\n ,getNovedades\r\n ,getProductosConPS\r\n ,getUltimasNotasYAlertas\r\n ,getHistorial\r\n ,emptyHistorial\r\n ,getDatosConfiguracion\r\n ,setDatosConfiguracion\r\n ,getLaboratorios\r\n ,medicamentosLaboratorio \r\n ,medicamentosLaboratorios\r\n ,productosLaboratorio\r\n ,productosLaboratorios\r\n ,getAgrupaciones \r\n ,getFormasFarma \r\n , getActividades\r\n , getAnalisis\r\n , getBiomarcadores\r\n , getGruposATC\r\n , getGruposVMPP\r\n , getArbolGruposVMPP\r\n , getGruposCon\r\n , getGruposSan\r\n , medicamentosAgrupacionAuto\r\n , productosAgrupacionAuto \r\n , medicamentosAgrupacioNac\r\n , productosAgrupacionNac \r\n , medicamentosFormaFarma \r\n , productosFormaFarma\r\n , medicamentosFormasFarma \r\n , productosFormasFarma\r\n , principiosActividad\r\n , ingredientesActividad\r\n , principiosActividadesY\r\n , ingredientesActividadesY\r\n , principiosActividadesO\r\n , ingredientesActividadesO\r\n , medicamentosAnalisis\r\n , medicamentosBiomarcador\r\n , medicamentosConPA\r\n , medicamentosConAso\r\n , productosConIng\r\n , productosTipo\r\n , productosSubtipo\r\n , medicamentosPorEnf\r\n , productosPorEnf\r\n , medicamentosGTATC\r\n , medicamentos2GTATC\r\n , medicamentosGTVMPP\r\n , productosGTCon\r\n , productosGTSan\r\n , datosFormularioSaborEdad\r\n , datosFormularioTest\r\n , descargaInfoSalesYCantidades\r\n , descargaInfoSalesYCantidadesIng\r\n , descargaListaInfoSalesYCantidades\r\n , descargaListaInfoSalesYCantidadesIng\r\n , productosSaborEdad\r\n , datosFormularioEspecieIndicacion\r\n , medicamentosEspecieIndicacion\r\n , datosFormularioProblemasSuministro\r\n , medicamentosProblemasSuministro\r\n , datosFormularioAlertasCalidad\r\n , medicamentosAlertasCalidad\r\n , PFAlertasCalidad\r\n , datosFormularioReaccionesAdversas\r\n , medicamentosReaccionesAdversas\r\n , datosFormularioComposicion\r\n , actualizaFFyVias\r\n , productosPorComposicion\r\n , datosFormularioAvanzadaMUH\r\n , medicamentosAvanzadaMUH\r\n , datosFormularioAvanzadaMUV\r\n , medicamentosAvanzadaMUV\r\n , datosFormularioAvanzadaPAH\r\n , principiosActivosAvanzadaPAH\r\n , datosFormularioAvanzadaPPF\r\n , viasFormularioAvanzadaPPF \r\n , productosAvanzadaPPF \r\n , datosFormularioPacienteIndicacion\r\n , medicamentosPacienteIndicacion\r\n , listaPosiblesInteractores\r\n , buscaInteracciones\r\n , medicamentosFM\r\n , medicamentosHomeo\r\n , datosFormularioFormaColor\r\n , medicamentosFormaColor\r\n , datosFormularioEXT\r\n , medicamentosEXT\r\n , getFichaEXT\r\n , medicamentosEspanoles\r\n , productosConGluten\r\n , productosConLactosa\r\n , productosSinGluten\r\n , productosSinLactosa\r\n , medicamentosDopantes\r\n , productosNoLentes\r\n , medicamentosConPrecioSupMenor\r\n , medicamentosConPrecioSupMasBajo\r\n , medicamentosConPrecioNotificado\r\n , medicamentosSeguimientoAdicional\r\n , medicamentosDispositivoSeguridad\r\n , medicamentosLibroRecetario\r\n , medicamentosLibroEstupefacientes\r\n , medicamentosNotificacionESVAC\r\n , enfermedadesH\r\n , enfermedadesV\r\n , medicamentosNoSustituibles\r\n , medicamentosDeduccionesRDL\r\n , productosCambioNombre\r\n , productosCambioLaboratorio\r\n , medicamentosCambioPrecio\r\n , medicamentosDesfinanciados\r\n , productosFechaAlta\r\n , productosUltimoMes\r\n , medicamentosCambioPrecioPrevisto\r\n , medicamentosPSUltimoMes\r\n , productosHistorialUsuario\r\n , datosFormularioDocumentos\r\n , documentosPorMedFecha\r\n , datosFormularioBucadoresPreferidos\r\n , setDatosBuscadoresPreferidos\r\n , obtenCamposExportables\r\n , obtenRegistrosAExportar\r\n , getEmpresa\r\n , setEmpresa\r\n , getFormAddEmpresa\r\n , addEmpresa \r\n , delEmpresa\r\n , getDocumentosAyuda\r\n , getOpcionBusqueda\r\n , setOpcionBusqueda\r\n , borraProductoHistorial\r\n , getUsuAdicional \r\n , enableUsuAdicional \r\n , disableUsuAdicional \r\n , obtenListadosExportables\r\n , obtenExportacionExcel\r\n , getNombresSimilaresPAH\r\n , getNombresSimilaresMUH\r\n , medicamentosMismoNombre\r\n ,getBackVersion\r\n}; \r\n\r\nexport default userService;\r\n","import { rootPath } from \"../../services/utils\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport packageJson from '../../../package.json';\r\nimport { useEffect, useState } from \"react\";\r\nimport Tippy from '@tippyjs/react';\r\nimport 'tippy.js/dist/tippy.css';\r\nimport 'tippy.js/themes/botplustt.css';\r\n\r\nconst LogoCabecera = (props) => {\r\n\r\n const frontVersion = {Version : packageJson.version, Dateversion : packageJson.dateversion, Serial : packageJson.serial};\r\n const [backVersion, setBackVersion] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!backVersion)\r\n {\r\n ConsultaBackVersion();\r\n }\r\n },[]);\r\n\r\n const ConsultaBackVersion = () => {\r\n BP2022Service.getBackVersion()\r\n .then((response) => {\r\n setBackVersion(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n })\r\n };\r\n\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n Versión del front end: {frontVersion.Version}.{frontVersion.Dateversion}.{frontVersion.Serial}\r\n
\r\n {\r\n (backVersion)?\r\n
\r\n Versión del back end: {backVersion.Version}.{backVersion.Dateversion}.{backVersion.Serial}\r\n
\r\n\r\n :<>\r\n }\r\n \r\n }\r\n >\r\n \"logoHeader2\" CambiaPaginaSimple(\"Inicio\")} style={{cursor:'pointer'}}/>\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LogoCabecera;\r\n","import {AddClassNameToClassItems\r\n , GetAntecesorWhithClassName\r\n , GetIndexFromIndexedClass\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\n\r\nconst ItemMenuPrincipalGris = (props) => {\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n const HandleHover_OpcionMenunGris = (e, hayclick, param) =>{\r\n if ((document.documentElement.clientWidth > 959) || hayclick)\r\n {\r\n RemoveClassNameToClassItems('child__menu1',null,'active');\r\n RemoveClassNameToClassItems('child__menu2',null,'active');\r\n RemoveClassNameToClassItems('nenuChilds',null,'active');\r\n RemoveClassNameToClassItems('coverToggleMenu','historial','active');\r\n RemoveClassNameToClassItems('list__1',null,'displayblock');\r\n AddClassNameToClassItems('list__1',null,'displaynone');\r\n\r\n if (param===\"BHistorialUsuario\"){\r\n AddClassNameToClassItems('historial__content__1', null, 'active');\r\n }\r\n else{\r\n //AddClassNameToClassItems('historial__content__1', null, 'active');\r\n AddClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n }\r\n\r\n }\r\n }\r\n \r\n const HandleClick_OpcionMenunGris = (e, param, AlClick) =>{\r\n if (param !== \"Historial\")\r\n AlClick(param);\r\n else{\r\n //RemoveClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n HandleHover_OpcionMenunGris(e,true,param);\r\n AddClassNameToClassItems('backItem__3',null, 'active');\r\n if (document.documentElement.clientWidth <= 959) {\r\n AddClassNameToClassItems('historial',null, 'active');\r\n }\r\n }\r\n }\r\n\r\n const miCursor = (props.item.parametro===\"Historial\" ? 'default' : 'pointer');\r\n\r\n\r\n return (\r\n
  • \r\n HandleClick_OpcionMenunGris(e,props.item.parametro, props.item.alHacerClick)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunGris(e,false,props.item.parametro)} \r\n >\r\n \r\n {props.item.titulo}\r\n \r\n {props.item.titulo}\r\n \r\n
  • \r\n )\r\n}\r\nexport default ItemMenuPrincipalGris;\r\n","import ItemMenuPrincipalGris from \"./ItemMenuPrincipalGris\";\r\n\r\nconst MenuPrincipalGris = (props) => {\r\n const itemsMenu = props.opcionesMenu.map(item => )\r\n\r\n return (\r\n
      \r\n {itemsMenu}\r\n
    \r\n )\r\n}\r\nexport default MenuPrincipalGris;\r\n","import {AddClassNameToClassItems\r\n , GetAntecesorWhithClassName\r\n , GetIndexFromIndexedClass\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\n\r\nconst ItemMenuPrincipalMorado = (props) => {\r\n const clasesItemA = \"menu__1_item menu__1_item__\" + props.idx.toString();\r\n \r\n const HandleHover_OpcionMenunMoradaNivel1 = (e, hayclick) =>{\r\n if ((document.documentElement.clientWidth > 959) || hayclick)\r\n {\r\n const numItems = 5;\r\n const itemMenu = GetAntecesorWhithClassName(e.target,'menu__1_item');\r\n const idx = GetIndexFromIndexedClass(itemMenu,'menu__1_item__',numItems);\r\n const namechild = \"child__\" + idx.toString();\r\n var i;\r\n for (i = 1; i<=numItems; i++)\r\n {\r\n var namechildtmp = \"child__\" + i.toString();\r\n if (namechild != namechildtmp){\r\n RemoveClassNameToClassItems(namechildtmp,null,'active');\r\n RemoveClassNameToClassItems(namechildtmp,null,'displayblock');\r\n AddClassNameToClassItems(namechildtmp,null,'displaynone');\r\n }\r\n else{\r\n AddClassNameToClassItems(namechildtmp,null, 'active');\r\n RemoveClassNameToClassItems(namechildtmp,null,'displaynone');\r\n AddClassNameToClassItems(namechildtmp,null,'displayblock');\r\n }\r\n }\r\n AddClassNameToClassItems('nenuChilds',null, 'active');\r\n AddClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n RemoveClassNameToClassItems('child__menu2',null,'active');\r\n }\r\n }\r\n \r\n const HandleClick_OpcionMenunMoradaNivel1 = (e) =>{\r\n HandleHover_OpcionMenunMoradaNivel1(e,true);\r\n AddClassNameToClassItems('coverMenuHistorial',null, 'active');\r\n AddClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems('backItem__2',null, 'active');\r\n RemoveClassNameToClassItems('historial',null, 'active');\r\n }\r\n \r\n\r\n return (\r\n
  • \r\n HandleClick_OpcionMenunMoradaNivel1(e)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel1(e,false)} \r\n title={props.item} >\r\n {props.item}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n )\r\n}\r\nexport default ItemMenuPrincipalMorado;\r\n","import ItemMenuPrincipalMorado from './ItemMenuPrincipalMorado.js';\r\n\r\n\r\nconst MenuPrincipalMorado = (props) => {\r\n\r\n const seccionesMenu = props.opcionesMenu.map(item => )\r\n return (\r\n
      \r\n {seccionesMenu}\r\n
    \r\n )\r\n}\r\nexport default MenuPrincipalMorado;\r\n","import {AddClassNameToClassItems\r\n , GetAntecesorWhithClassName\r\n , GetIndexFromIndexedClass\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\n\r\n\r\nconst ItemMenuSecundarioMorado = (props) => {\r\n\r\n const HandleHover_OpcionMenunMoradaNivel2 = (e, hayclick) =>{\r\n if ((document.documentElement.clientWidth > 959) || hayclick)\r\n {\r\n const numPadres = 5;\r\n const numItems = 14;\r\n const itemMenuPadre = GetAntecesorWhithClassName(e.target, 'child__menu1');\r\n if (itemMenuPadre != null){\r\n const idxMenuPadre = GetIndexFromIndexedClass(itemMenuPadre,'child__',numPadres);\r\n const itemMenu = GetAntecesorWhithClassName(e.target,'menu__2_item');\r\n const idx = GetIndexFromIndexedClass(itemMenu,'menu__2_item__',numItems);\r\n const namechild = \"child__\" + idxMenuPadre.toString() + \"__\" + idx.toString();\r\n var i;\r\n for (i = 1; i<=numItems; i++)\r\n {\r\n var namechildtmp = \"child__\" + idxMenuPadre.toString() + \"__\" + i.toString();\r\n if (namechild != namechildtmp)\r\n RemoveClassNameToClassItems(namechildtmp,null,'active');\r\n else\r\n AddClassNameToClassItems(namechildtmp,null, 'active');\r\n }\r\n AddClassNameToClassItems('nenuChilds',null, 'active');\r\n AddClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n }\r\n }\r\n }\r\n \r\n const HandleClick_OpcionMenunMoradaNivel2 = (e) =>{\r\n HandleHover_OpcionMenunMoradaNivel2(e,true);\r\n const numPadres = 5;\r\n const itemMenuPadre = GetAntecesorWhithClassName(e.target, 'child__menu1');\r\n const idxMenuPadre = GetIndexFromIndexedClass(itemMenuPadre,'child__',numPadres);\r\n const nameParent = \"child__\" + idxMenuPadre.toString();\r\n var i;\r\n for (i = 1; i<=numPadres; i++)\r\n {\r\n var nameparenttmp = \"child__\" + idxMenuPadre.toString();\r\n if (nameParent != nameparenttmp)\r\n RemoveClassNameToClassItems(nameparenttmp,null,'active2');\r\n else\r\n AddClassNameToClassItems(nameparenttmp,null, 'active2');\r\n }\r\n RemoveClassNameToClassItems('backItem__1',null, 'active');\r\n AddClassNameToClassItems('backItem__2',null, 'active');\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const tieneHijos = (props.item.subapartados != null ? true : false);\r\n const clasesItemA = \"menu__2_item menu__2_item__\" + props.idx.toString();\r\n const miCursor = (tieneHijos ? 'default' : 'pointer');\r\n\r\n const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n\r\n\r\n if (tieneHijos){ \r\n return (\r\n
  • \r\n HandleClick_OpcionMenunMoradaNivel2(e)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel2(e,false)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n )\r\n }\r\n else {\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel2(e,false)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n
  • \r\n )\r\n }\r\n}\r\nexport default ItemMenuSecundarioMorado;\r\n","import ItemMenuSecundarioMorado from \"./ItemMenuSecundarioMorado\"\r\n\r\nconst MenuSecundarioMorado = (props) => {\r\n const clasesItemUL = \"list list__1 list__purple child__\" + props.idx.toString() + \" child__menu1\"\r\n const items = props.lista.map(item => )\r\n return (\r\n
      \r\n {items}\r\n
    \r\n )\r\n}\r\nexport default MenuSecundarioMorado;\r\n","const ItemMenuTerciarioMorado = (props) => {\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n
  • \r\n )\r\n}\r\nexport default ItemMenuTerciarioMorado;\r\n","import ItemMenuTerciarioMorado from \"./ItemMenuTerciarioMorado\"\r\n\r\n\r\nconst MenuTerciarioMorado = (props) => {\r\n const clasesItemUL = \"list list__2 list__purple child__\"+ props.idxPadre.toString() +\"__\"+ props.idx.toString() +\" child__menu2\"; \r\n const items = props.lista.map(item => )\r\n\r\n return (\r\n
      \r\n {items}\r\n
    \r\n )\r\n}\r\nexport default MenuTerciarioMorado;\r\n","import { FormatoFechaBonito } from \"../../../services/utils\";\r\n\r\nconst ItemContenidoHistorial = (props) => {\r\n const CambiaAFicha = () => {\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+props.item.CodTipoRegistro,\r\n newid: props.item.Id,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {FormatoFechaBonito(props.item.FechaVisita)}\r\n

    \r\n CambiaAFicha()} \r\n style={{cursor:'pointer'}}>{props.item.NombreCompleto}\r\n

    \r\n
    \r\n

    {props.item.TipoRegistro}

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default ItemContenidoHistorial;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { rootPath } from \"../../../services/utils\";\r\nimport ItemContenidoHistorial from \"./ItemContenidoHistorial\";\r\n\r\nconst ZonaContenidoHistorial = (props) => {\r\n const listaItems = props.historial\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const miHistorial = listaItems ? (\r\n listaItems.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Historial de navegación

    \r\n
    \r\n
    \r\n {miHistorial}\r\n
    \r\n
    \r\n CambiaPaginaSimple('BHistorialUsuario')} >\r\n Ver más \"arrowRightWhite\"\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default ZonaContenidoHistorial;\r\n","import {AddClassNameToClassItems\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\nimport MenuPrincipalGris from './MenuPrincipalGris.js';\r\nimport MenuPrincipalMorado from './MenuPrincipalMorado.js';\r\nimport MenuSecundarioMorado from './MenuSecundarioMorado.js';\r\nimport MenuTerciarioMorado from './MenuTerciarioMorado.js';\r\nimport ZonaContenidoHistorial from './ZonaContenidoHistorial.js';\r\n\r\nconst MenuHamburguesa = (props) => {\r\n\r\n const menusSecundarios = props.opcionesMenu.map(item => )\r\n\r\n var itemsMenusTerciarios = []\r\n\r\n props.opcionesMenu.forEach(seccion => {\r\n seccion.apartados.forEach(apartado => {\r\n if (apartado.subapartados != null){\r\n itemsMenusTerciarios.push({\r\n idx : seccion.apartados.indexOf(apartado) + 1,\r\n idxPadre : props.opcionesMenu.indexOf(seccion) +1,\r\n items : apartado.subapartados, \r\n })\r\n }\r\n })\r\n });\r\n\r\n const menusTerciarios = itemsMenusTerciarios.map(item => )\r\n \r\n\r\n const HandleClick_BackItem1 = (e) =>{\r\n RemoveClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems(\"child__menu1\",null, 'active');\r\n RemoveClassNameToClassItems(\"coverMenuHistorial\",null, 'active');\r\n RemoveClassNameToClassItems(\"backItem__2\",null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n }\r\n \r\n const HandleClick_BackItem2 = (e) =>{\r\n RemoveClassNameToClassItems('backItem__2',null, 'active');\r\n var padresanteriores = document.getElementsByClassName('active2');\r\n if (padresanteriores.length>0){\r\n var padre = padresanteriores[0];\r\n padre.classList.add('active');\r\n }\r\n RemoveClassNameToClassItems(\"child__menu2\",null, 'active');\r\n RemoveClassNameToClassItems(\"child__menu1\",null, 'active2');\r\n AddClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n }\r\n\r\n const HandleClick_BackItem3 = (e) =>{\r\n RemoveClassNameToClassItems('backItem__3',null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n HandleClick_BackItem3(e)}>\r\n <- VOLVER\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n HandleClick_BackItem1(e)}>\r\n <- VOLVER\r\n \r\n {menusSecundarios}\r\n HandleClick_BackItem2(e)}>\r\n <- VOLVER\r\n \r\n {menusTerciarios}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default MenuHamburguesa;\r\n","import { rootPath } from \"../../services/utils\";\r\n\r\nconst LogoF = () => {\r\n return (\r\n
    \r\n \r\n \"efe\" Farmacéuticos
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LogoF;\r\n","const ItemMenuIconos = (props) => {\r\n\r\n return (\r\n
  • \r\n props.item.alHacerClick(props.item.parametro)} > \r\n {props.item.titulo}\r\n \r\n
  • \r\n )\r\n}\r\nexport default ItemMenuIconos;\r\n","import ItemMenuIconos from \"./ItemMenuIconos\";\r\n\r\nconst MenuIconos = (props) => {\r\n const itemsMenu = props.elementosMenuIconos.map(item => )\r\n\r\n return (\r\n
    \r\n
      \r\n {itemsMenu}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default MenuIconos;\r\n","import { useState } from \"react\";\r\nimport LogoF from \"./LogoF\";\r\nimport MenuIconos from \"./MenuIconos/MenuIconos\";\r\n\r\nconst BandaMoradaZonaMenus = (props) => {\r\n const [provincia, setProvvincia] = useState(props.provincia)\r\n if (provincia !== props.provincia)\r\n setProvvincia(props.provincia);\r\n\r\n const textoProvincia = (provincia && provincia != \"\" ? \"Provincia de sesión: \" : \"\");\r\n\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n {textoProvincia}\r\n \r\n props.cambiaPagina({newpagina: 'Configuracion'})} style={{fontSize:'9pt', fontWeight: 450, cursor:'pointer'}}>\r\n {provincia}\r\n \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default BandaMoradaZonaMenus;\r\n","import React, { useEffect } from \"react\";\r\n\r\nfunction Animation(props){\r\n var imgIndex = props.initIdx;\r\n var fileNameActual = props.path +'/' + props.filename + imgIndex.toString() + '.' + props.ext;\r\n const msTotal = props.t;\r\n const nImg = props.n;\r\n const interval = (nImg>1) ? msTotal/(nImg-1) : 0;\r\n var timer = null;\r\n \r\n useEffect(() => {\r\n timer = setInterval(() => {\r\n CambiaNombreImg();\r\n }, interval);\r\n },[props.refresh]);\r\n\r\n const CambiaNombreImg = () =>{\r\n if ((props.up && imgIndex<(nImg-1)) || (!props.up && imgIndex>0))\r\n {\r\n if (props.up)\r\n imgIndex++;\r\n else\r\n imgIndex--;\r\n var fin = ((props.up && imgIndex >= (nImg-1)) || (!props.up && imgIndex <= 0))\r\n if (imgIndex >= 0 || imgIndex<=(nImg-1)){\r\n if (fileNameActual != props.path +'/' + props.filename + imgIndex.toString() + '.' + props.ext){\r\n fileNameActual = props.path +'/' + props.filename + imgIndex.toString() + '.' + props.ext;\r\n document.getElementById(props.id).src = fileNameActual;\r\n } \r\n }\r\n if (fin)\r\n if (timer != null)\r\n clearInterval(timer);\r\n }\r\n else{ \r\n clearInterval(timer);\r\n }\r\n }\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\nexport default Animation;","const ApartadoSimpleSeccionMenuBlanco = (props) => {\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#999999'} : {cursor:'pointer'}\r\n \r\n return (\r\n
    \r\n
    \r\n CambiaPaginaSimple(props.item.pagina)} title={props.item.titulo} >{props.item.titulo}\r\n
    \r\n
    \r\n ) \r\n}\r\nexport default ApartadoSimpleSeccionMenuBlanco;\r\n","const SubapartadoSeccionMenuBlanco = (props) => {\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#999999'} : {cursor:'pointer'}\r\n\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} title={props.item.titulo} >{props.item.titulo}
  • \r\n\r\n )\r\n}\r\nexport default SubapartadoSeccionMenuBlanco;\r\n","import SubapartadoSeccionMenuBlanco from \"./SubapartadoSeccionMenuBlanco.js\";\r\n\r\nconst ApartadoMultipleSeccionMenuBlanco = (props) => {\r\n const subapartados = props.item.subapartados ? props.item.subapartados.map(item => \r\n ) \r\n : null;\r\n\r\n const estilo = (props.perfil === \"COL\") ? {cursor:'default', color:'#999999'} : {cursor:'default'}\r\n\r\n return (\r\n
    \r\n
    \r\n {props.item.titulo}\r\n
    \r\n
      \r\n {subapartados}\r\n
    \r\n
    \r\n ) \r\n}\r\nexport default ApartadoMultipleSeccionMenuBlanco;\r\n","import ApartadoSimpleSeccionMenuBlanco from \"./ApartadoSimpleSeccionMenuBlanco.js\";\r\nimport ApartadoMultipleSeccionMenuBlanco from \"./ApartadoMultipleSeccionMenuBlanco.js\";\r\n\r\n\r\nconst ApartadoSeccionMenuBlanco = (props) => {\r\n const tieneSubapartados = (props.item.subapartados !== null ? true : false)\r\n\r\n if (tieneSubapartados)\r\n return (\r\n \r\n )\r\n else\r\n return (\r\n \r\n ) \r\n}\r\nexport default ApartadoSeccionMenuBlanco;\r\n","import ApartadoSeccionMenuBlanco from \"./ApartadoSeccionMenuBlanco.js\";\r\n\r\nconst ColumnaSeccionMenuBlanco = (props) => {\r\n \r\n const apartados = props.item.map(item => )\r\n\r\n return (\r\n
    \r\n {apartados}\r\n
    \r\n )\r\n}\r\nexport default ColumnaSeccionMenuBlanco;\r\n","import ColumnaSeccionMenuBlanco from \"./ColumnaSeccionMenuBlanco.js\";\r\n\r\nconst SeccionMenuBlanco = (props) => {\r\n const estilo1Col = { width: '30%', left: '70%'};\r\n const estilo2Col = { width: '55%', left: '45%'};\r\n const estilo3Col = { width: '80%', left: '20%'};\r\n const estilo4Col = { width: '100%', left: '0%'};\r\n\r\n const nCol = props.item.numColumnas\r\n\r\n const estiloMenu = (nCol === 1 ? estilo1Col : nCol === 2 ? estilo2Col : nCol === 3 ? estilo3Col : estilo4Col);\r\n\r\n var itemscolumnas = []\r\n\r\n var idx=0;\r\n for (var i = 0; i )\r\n\r\n return (\r\n
  • {props.item.titulo}\r\n
    \r\n
    \r\n {columnas}\r\n
    \r\n
    \r\n
  • \r\n )\r\n}\r\nexport default SeccionMenuBlanco;\r\n\r\n","import SeccionMenuBlanco from \"./SeccionMenuBlanco\";\r\n\r\n\r\nconst MenuBlanco = (props) => {\r\n\r\n const seccionesMenu = props.elementosMenu.map(item => )\r\n\r\n return (\r\n
      \r\n {seccionesMenu}\r\n
    \r\n )\r\n}\r\nexport default MenuBlanco;\r\n","import React, { useState } from \"react\";\r\nimport BandaMoradaZonaMenus from \"./BandaMoradaZonaMenus.js\";\r\nimport Animation from \"../Utilidades/Animation.js\";\r\nimport { RemoveClassNameToClassItems, ToggleClassNameToClassItems} from '../../services/utils'\r\nimport MenuBlanco from \"./MenuBlanco/MenuBlanco.js\";\r\n\r\n\r\nconst ZonaMenus = (props) => {\r\n const [estadoMenu, setEstadoMenu] = useState(false);\r\n const [cargaInicial, setCargaInicial] = useState(true);\r\n const [refresh, doRefresh] = useState(0);\r\n var up = false;\r\n var miImgIndex = 0;\r\n const miPath='../img';\r\n const miFiename = 'MBTran';\r\n const miExt = 'png';\r\n const miT = 300;\r\n const miN = 7;\r\n var ok=true;\r\n \r\n\r\n const elem = document.getElementById('divMenuBurger');\r\n if (elem != undefined)\r\n if (elem != null)\r\n if (elem.classList.contains('active')){\r\n if (!estadoMenu){\r\n setEstadoMenu(true);\r\n ok = false;\r\n miImgIndex = miN-1;\r\n up = true;\r\n }\r\n }\r\n\r\n if (cargaInicial){\r\n miImgIndex = 0;\r\n up = false;\r\n }\r\n else if (estadoMenu){\r\n miImgIndex = 0;\r\n up = true;\r\n }\r\n else{\r\n miImgIndex = miN-1;\r\n up = false;\r\n }\r\n\r\n const handleClickMenuBurger = (e) =>{\r\n\r\n var itemMenu = document.getElementById(\"miMenuBurguer__BP2022\");\r\n var estaActivo = estadoMenu;\r\n if (itemMenu)\r\n estaActivo = itemMenu.classList.contains('active');\r\n if (cargaInicial)\r\n setCargaInicial(false);\r\n if (estaActivo){\r\n up = true;\r\n miImgIndex = 0;\r\n }\r\n else{\r\n up = false;\r\n miImgIndex = miN - 1;\r\n }\r\n e.target.classList.toggle('active');\r\n document.getElementById('divMenuBurger').classList.toggle('active');\r\n ToggleClassNameToClassItems('coverToggleMenu',null,'active');\r\n if (estaActivo){\r\n /*RemoveClassNameToClassItems('child__menu1',null, 'active');\r\n RemoveClassNameToClassItems('child__menu2',null, 'active');\r\n RemoveClassNameToClassItems('historial__content',null, 'active'); */\r\n props.cierraMenuBurguer();\r\n }\r\n\r\n doRefresh(prev => prev + 1); \r\n setEstadoMenu(!estaActivo);\r\n }\r\n\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    handleClickMenuBurger(e)} id='divMenuBurger'>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default ZonaMenus;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport LogoCabecera from \"./LogoCabecera.js\";\r\nimport MenuHamburguesa from \"./MenuHamburquesa/MenuHamburguesa.js\";\r\nimport ZonaMenus from \"./ZonaMenus.js\";\r\nimport AuthService from \"../../services/auth.service\";\r\nimport { PerfilUsuario, rootPath } from \"../../services/utils.js\";\r\nimport BP2022Service from \"./../../services/user.service\";\r\n\r\nconst Cabecera = (props) => {\r\n\r\n const logOut = () => {\r\n console.log(\"--LogOut--\");\r\n CambiaPaginaSimple('Inicio');\r\n AuthService.logout();\r\n };\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const OpenNewWindow = (url) => {\r\n const newWindow = window.open(url, '_blank', 'noopener,noreferrer')\r\n if (newWindow) newWindow.opener = null\r\n }\r\n\r\n\r\n const [opcionesMenu, setOpcionesMenu] = useState([\r\n {\r\n numColumnas : 4,\r\n filasPorColumna : [4,3,3,5],\r\n titulo : 'Uso humano',\r\n apartados : [\r\n {\r\n titulo : 'Búsqueda avanzada',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Medicamentos',\r\n pagina : 'FBAvanzadaMUH'\r\n },\r\n {\r\n titulo : 'Principios activos',\r\n pagina : 'FBAvanzadaPAH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Medicamentos por composición',\r\n pagina : 'FBComposicionMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Interacciones',\r\n pagina : 'BInteraccionesMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por aspecto físico',\r\n pagina : 'FBFormaColorMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos con igual composición',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Por agrupación homogénea nacional',\r\n pagina : 'FBAgrupHomoMUH'\r\n },\r\n {\r\n titulo : 'Por agrupación homogénea autonómica',\r\n pagina : 'FBAgrupHomoAutoMUH'\r\n },\r\n {\r\n titulo : 'Por grupo terapéutico ATC',\r\n pagina : 'FBGTATCMUH'\r\n },\r\n {\r\n titulo : 'Por descripción clínica AEMPS',\r\n pagina : 'FBGTVMPPMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Medicamentos por forma farmacéutica',\r\n pagina : 'FBFormaFarmaMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por laboratorio',\r\n pagina : 'FBLaboratorioMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Principios activos por actividad',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Por actividad farmacológica',\r\n pagina : 'FBAFMUH'\r\n },\r\n {\r\n titulo : 'Por capacidad inductora/inhibidora enzimática',\r\n pagina : 'FBAMMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Relacionados con enfermedades',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Medicamentos para una indicación',\r\n pagina : 'FBPacienteIndicacionMUH'\r\n },\r\n {\r\n titulo : 'Búsqueda de reacciones adversas',\r\n pagina : 'FBReaccionesAdversasMUH'\r\n },\r\n {\r\n titulo : 'Interferencias con análisis clínicos',\r\n pagina : 'FBAnalisisMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Por farmacogenética',\r\n pagina : 'FBFarmacogeneticaMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Problemas de suministro AEMPS',\r\n pagina : 'FBProblemasSumMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Lotes retirados por alertas de calidad',\r\n pagina : 'FBAlertasCMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Formulación magistral',\r\n pagina : 'BFormMagistralMUH',\r\n subapartados : null\r\n }, \r\n {\r\n titulo : 'Medicamentos homeopáticos',\r\n pagina : 'BMedsHomeoMUH',\r\n subapartados : null\r\n }, \r\n {\r\n titulo : 'Medicamentos extranjeros',\r\n pagina : 'FBExtranjerosEXT',\r\n subapartados : null\r\n }, \r\n ]\r\n },\r\n {\r\n numColumnas : 4,\r\n filasPorColumna : [2,2,2,2],\r\n titulo : 'Veterinaria',\r\n apartados : [\r\n {\r\n titulo : 'Búsqueda avanzada',\r\n pagina : 'FBAvanzadaMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por composición',\r\n pagina : 'FBComposicionMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por forma farmacéutica',\r\n pagina : 'FBFormaFarmaMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por laboratorio',\r\n pagina : 'FBLaboratorioMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Principios activos por actividad',\r\n pagina : 'FBAFMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por grupo terapéutico ATC',\r\n pagina : 'FBGTATCMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos indicados por especie',\r\n pagina : 'FBEspecieIndicacionMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Lotes retirados por alertas de calidad',\r\n pagina : 'FBAlertasCMUV',\r\n subapartados : null\r\n },\r\n ]\r\n },\r\n {\r\n numColumnas : 4,\r\n filasPorColumna : [3,2,3,1],\r\n titulo : 'Parafarmacia',\r\n apartados : [\r\n {\r\n titulo : 'Búsqueda avanzada',\r\n pagina : 'FBAvanzadaPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos por composición',\r\n pagina : 'FBComposicionPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Interacciones',\r\n pagina : 'BInteraccionesMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos por forma farmacéutica',\r\n pagina : 'FBFormaFarmaPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos por laboratorio',\r\n pagina : 'FBLaboratorioPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Ingredientes cosméticos por actividad',\r\n pagina : 'FBActPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Dietoterápicos',\r\n pagina : 'FBSaborEdadPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Lotes retirados por alertas de calidad',\r\n pagina : 'FBAlertasCPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos similares',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Por agrupación homogénea nacional',\r\n pagina : 'FBAgrupHomoPPF'\r\n },\r\n {\r\n titulo : 'Por agrupación homogénea autonómica',\r\n pagina : 'FBAgrupHomoAutoPPF'\r\n },\r\n {\r\n titulo : 'Por categorización del Consejo General',\r\n pagina : 'FBGTConPPF'\r\n },\r\n {\r\n titulo : 'Por clasificación Nomenclátor',\r\n pagina : 'FBGTSanPPF'\r\n },\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n numColumnas : 1,\r\n filasPorColumna : [2],\r\n titulo : 'Enfermedades',\r\n apartados : [\r\n {\r\n titulo : 'Enfermedades humanas',\r\n pagina : 'BEnfermedadesPATH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Enfermedades veterinarias',\r\n pagina : 'BEnfermedadesPATV',\r\n subapartados : null\r\n },\r\n ]\r\n },\r\n {\r\n numColumnas : 3,\r\n filasPorColumna : [2,1,1],\r\n titulo : 'Listados',\r\n apartados : [\r\n {\r\n titulo : 'Generales',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Productos con cambios de nombre',\r\n pagina : 'FBCambioNombre',\r\n },\r\n {\r\n titulo : 'Productos con cambios de laboratorio',\r\n pagina : 'FBCambioLaboratorio'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Advertencias',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Productos sin gluten',\r\n pagina : 'BSinGluten'\r\n },\r\n {\r\n titulo : 'Productos sin lactosa',\r\n pagina : 'BSinLactosa'\r\n },\r\n {\r\n titulo : 'Medicamentos que pueden dar positivo en dopaje',\r\n pagina : 'BDopantesMUH'\r\n },\r\n {\r\n titulo : 'Productos que no deben administrarse con lentes de contacto',\r\n pagina : 'BNoLentes'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Financiación y precios',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Productos con cambios de precio',\r\n pagina : 'FBCambioPrecioMUH'\r\n },\r\n {\r\n titulo : 'Productos con futuros cambios de precio',\r\n pagina : 'BCambioPrecioPrevistoMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos que superan el precio menor',\r\n pagina : 'BComparaPrecioMenorMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos que superan el precio más bajo',\r\n pagina : 'BComparaPrecioMasBajoMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos desfinanciados',\r\n pagina : 'FBDesfinanciadosMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos con precio notificado',\r\n pagina : 'BPrecioNotificadoMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos afectados por las deducciones del RDL 8/2010',\r\n pagina : 'BDeduccionesRDLMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Dispensación',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Medicamentos no sustituibles',\r\n pagina : 'BNoSustituiblesMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos sujetos a seguimiento adicional',\r\n pagina : 'BSeguimientoAdicionalMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos obligados a llevar dispositivo de seguridad',\r\n pagina : 'BDispositivoSeguridadMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos de anotación en libro recetario',\r\n pagina : 'BLibroRecetarioM'\r\n },\r\n {\r\n titulo : 'Medicamentos de anotación en libro estupefacientes',\r\n pagina : 'BLibroEstupefacientesM'\r\n },\r\n {\r\n titulo : 'Medicamentos de notificación anual por ESVAC',\r\n pagina : 'BNotificacionESVACMUV'\r\n },\r\n ]\r\n },\r\n ]\r\n },\r\n ]);\r\n\r\n if (!window.mostrarHomeopatia){\r\n opcionesMenu[0].filasPorColumna = [4,3,3,4];\r\n opcionesMenu[0].apartados.splice(opcionesMenu[0].apartados.length-2,1);\r\n }\r\n\r\n\r\n const elementosMenuIconos = [\r\n { \r\n titulo : 'Inicio',\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/homeWhite.svg',\r\n imagenGris : rootPath + 'img/homeGrey.svg',\r\n parametro: 'Inicio' \r\n },\r\n { \r\n titulo : 'Historial',\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/clockWhite.svg',\r\n imagenGris : rootPath + 'img/clockGrey.svg',\r\n parametro: 'BHistorialUsuario' \r\n },\r\n { \r\n titulo : 'Configuración',\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/settingsWhite.svg', \r\n imagenGris : rootPath + 'img/settingsGrey.svg', \r\n parametro: 'Configuracion' \r\n },\r\n { \r\n titulo : 'Ayuda',\r\n //alHacerClick: OpenNewWindow,\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/helpWhite.svg', \r\n imagenGris : rootPath + 'img/helpGrey.svg', \r\n //parametro: '/Ayuda/ManualUsoBOTPLUS2022.pdf',\r\n parametro: 'Help' \r\n },\r\n { \r\n titulo : 'Desconectar',\r\n alHacerClick: logOut,\r\n imagen : rootPath + 'img/logOutWhite.svg', \r\n imagenGris : rootPath + 'img/logOutGrey.svg', \r\n parametro: '' \r\n }, \r\n ]\r\n\r\n const perfil = PerfilUsuario();\r\n\r\n useEffect(() => {\r\n BP2022Service.obtenListadosExportables()\r\n .then((response) => {\r\n if (response.data && response.data.length>0){\r\n const nuevoMenu = JSON.parse(JSON.stringify(opcionesMenu));\r\n nuevoMenu[4].filasPorColumna = [2,1,2]\r\n nuevoMenu[4].apartados.push({\r\n titulo : 'Exportar',\r\n pagina : 'ExportaWS',\r\n subapartados : null,\r\n });\r\n setOpcionesMenu(nuevoMenu);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n\r\n }, []);\r\n\r\n\r\n return (\r\n
    \r\n\t\t
    \r\n \r\n \r\n \r\n\t\t
    \r\n\t
    \r\n ) \r\n};\r\n\r\nexport default Cabecera\r\n\r\n","import { rootPath } from \"../../../../services/utils\";\r\n\r\nconst BusquedaPreferida = (props) => {\r\n\r\n const vesABuscador = (codigo) =>{\r\n CambiaPaginaSimple(codigo)\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n \r\n const sourceImage = rootPath + \"img/lupa\" + props.colorLupa + \".svg\"\r\n \r\n return (\r\n
  • vesABuscador(props.item.CodigoPagina)} style={{cursor:'pointer'}}> {props.item.Titulo}
  • \r\n );\r\n};\r\n\r\nexport default BusquedaPreferida;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport BP2022Service, {GetBusquedasPreferidas} from \"../../../services/user.service\";\r\nimport { rootPath } from \"../../../services/utils\";\r\nimport BusquedaPreferida from \"../../Inicio/Principal/BFavoritas/BusquedaPreferida\";\r\n\r\n\r\nconst MisBuscadoresCabeceraResultados = (props) => {\r\n const [listaBuscadores, setListaBuscadores] = useState(null);\r\n const [estadoMenuMisBuscadores, setEstadoMenuMisBuscadores] = useState(false)\r\n\r\n useEffect(() => {\r\n descargaBuscadores();\r\n }, [])\r\n \r\n const descargaBuscadores = () => {\r\n BP2022Service.getBuscadoresPreferidos()\r\n .then((response) => {\r\n setListaBuscadores(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const handleClickMisBuscadores = (e) =>{\r\n e.target.parentElement.parentElement.classList.toggle('active');\r\n setEstadoMenuMisBuscadores(!estadoMenuMisBuscadores);\r\n }\r\n\r\n const CambiaAPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n \r\n const busquedas = listaBuscadores ? (\r\n listaBuscadores.map(fila => )\r\n ):(\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    handleClickMisBuscadores(e)} style={{cursor:'pointer'}}>\r\n Mis buscadores\r\n \r\n \r\n \r\n
    \r\n
    \r\n

    MIS BUSCADORES FAVORITOS

    \r\n
    \r\n
      \r\n {busquedas}\r\n
    \r\n CambiaAPaginaSimple('EditaBuscadores')}>\r\n \"pencilPink\"\r\n Editar mis buscadores\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MisBuscadoresCabeceraResultados;\r\n","import React, { useState } from \"react\";\r\n\r\nconst VolverCabeceraResultados = (props) => {\r\n const miestilo = (props.textoVolver===\"\" ? \r\n {\r\n cursor:'pointer',\r\n visibility:'hidden'\r\n } \r\n : \r\n {\r\n cursor:'pointer'\r\n }\r\n );\r\n return (\r\n
    props.atras()} style={miestilo}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.textoVolver}\r\n
    \r\n Volver ver los resultados\r\n
    \r\n );\r\n};\r\n\r\nexport default VolverCabeceraResultados;\r\n","import MisBuscadoresCabeceraResultados from \"../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\n\r\nconst CabeceraAyuda = (props) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Ayuda

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraAyuda;\r\n ","import { elementIsOfClass, rootPath } from \"../../../../../services/utils\";\r\nimport { renderToString } from 'react-dom/server'\r\nimport { useState } from \"react\";\r\n\r\nconst Acordeon = (props) => {\r\n const [completo, setCompleto] = useState(props.activo) // || renderToString(props.contenido).length<2000)\r\n var clasDiv = (props.activo ? \"accordion__module active\" : \"accordion__module\")\r\n const tipo = (props.tipo ? props.tipo : 1);\r\n var htmlTitulo = (

    {props.titulo}

    )\r\n var htmlArrow = (\"arrowGreen2\");\r\n var claseContenido = \"accordion__content\";\r\n\r\n var estiloHeader = {};\r\n if (tipo === 2){\r\n htmlTitulo =(

    {props.titulo}

    );\r\n claseContenido = \"accordion__content accordion__content__paddigLeft\";\r\n }\r\n if (tipo === 3){\r\n htmlTitulo =(

    {props.titulo}

    );\r\n claseContenido = \"accordion__content\";\r\n clasDiv += \" accordion__module__left\"\r\n }\r\n if (tipo === 4){\r\n htmlTitulo =(

    {props.titulo}

    );\r\n claseContenido = \"accordion__content \";\r\n clasDiv += \" accordion__module__left\";\r\n estiloHeader = { paddingBottom: '0px'}\r\n }\r\n\r\n const handleClickAcordeonHeader = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__header'))\r\n item = item.parentElement;\r\n if (item){\r\n item.parentElement.classList.toggle('active');\r\n var newActivo = item.parentElement.classList.contains('active');\r\n var newCompleto = newActivo; // || renderToString(props.contenido).length<2000;\r\n if (completo !== newCompleto)\r\n setCompleto(newCompleto);\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    handleClickAcordeonHeader(e)}>\r\n {htmlArrow}\r\n
    \r\n {htmlTitulo}\r\n
    \r\n
    \r\n {(completo) ?\r\n
    \r\n {props.contenido}\r\n
    \r\n :\r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Acordeon;\r\n","import { rootPath } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst DocumentosDeTipo = (props) => {\r\n const grupoDocs = props.grupoDocs;\r\n const titulo = grupoDocs.Tipo;\r\n const documentos = grupoDocs.Documentos.map(doc => \r\n
  • \r\n e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'} \r\n >{doc.Titulo} \r\n
  • \r\n );\r\n const contenido = (\r\n
      \r\n {documentos}\r\n
    \r\n );\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default DocumentosDeTipo;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { numberWithCommas } from \"../../services/utils\";\r\n\r\nconst LoadingPopup = (props) => {\r\n const claseLightbox = \"lightbox lightbox__popUp active\";\r\n\r\n const estiloSection = {\r\n opacity: 0,\r\n visibility: 'hidden', \r\n pointerEvents: 'none',\r\n }\r\n\r\n const maxItems = (props.esPorcentaje ? 100: 222935);\r\n const [miEstado, setMiEstado] = useState({\r\n numItems : 0,\r\n lastPaso : 0,\r\n paso : Math.round((maxItems)/3),\r\n fraccionRestoDelPaso: 3,\r\n })\r\n /*/const [numItems, setNumItems] = useState(0);\r\n const [lastPaso, setLastPaso] = useState(0);\r\n const [paso, setPaso] = useState(Math.round((maxItems-numItems)/3));*/\r\n\r\n var numItems = miEstado.numItems;\r\n var lastPaso = miEstado.lastPaso;\r\n var paso = miEstado.paso;\r\n var pasito = paso/20;\r\n /*if (pasito === 0)\r\n pasito = 1;*/\r\n var porcentaje = Math.round((miEstado.numItems/maxItems) * 100);\r\n \r\n\r\n useEffect(() => {\r\n var timer1s = setTimeout(() => {\r\n DaUnPaso();\r\n }, 50);\r\n });\r\n\r\n const DaUnPaso = (e) =>{\r\n numItems = numItems + pasito;\r\n var fraccionRestoDelPaso = miEstado.fraccionRestoDelPaso;\r\n if (numItems>=(lastPaso+paso)){\r\n porcentaje = Math.round((miEstado.numItems/maxItems) * 100);\r\n if ((porcentaje>70) && (fraccionRestoDelPaso<30))\r\n fraccionRestoDelPaso += 1;\r\n lastPaso = numItems;\r\n paso = Math.round((maxItems-numItems)/fraccionRestoDelPaso);\r\n }\r\n setMiEstado({\r\n numItems : numItems,\r\n lastPaso : lastPaso,\r\n paso : paso,\r\n fraccionRestoDelPaso : fraccionRestoDelPaso,\r\n })\r\n }\r\n\r\n var texto = (props.texto) ? props.texto : \"Analizando\";\r\n texto += \" \" + numberWithCommas(Math.round(miEstado.numItems))\r\n if (props.esPorcentaje){\r\n texto += \" %\";\r\n }else{\r\n texto += \" registros\";\r\n }\r\n\r\n var titulo = (props.titulo) ? props.titulo : \"Buscando\";\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {titulo}…

    \r\n

    {texto}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LoadingPopup;\r\n/*\r\n
    \r\n
    \r\n
    \r\n

    Buscando…

    \r\n

    Analizando 219.325 archivos

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n*/","import CabeceraAyuda from \"./CabeceraAyuda\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport DocumentosDeTipo from \"../Fichas/FichaMUH/Apartados/InfoAdicional/DocumentosDeTipo\";\r\nimport { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../Resultados/Loading.Popup\";\r\nimport Acordeon from \"../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport { rootPath } from \"../../services/utils\";\r\n\r\n\r\nconst Ayuda = (props) => {\r\n const [documentosAyuda, setDocumentosAyuda] = useState(null);\r\n const [documentosFiltrados, setDocumentosFiltrados] = useState(null);\r\n const [filtroAyuda, setFiltroAyuda] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (!documentosAyuda)\r\n {\r\n DescargaDatos();\r\n } \r\n else{\r\n filtraDocumentos();\r\n }\r\n },[documentosAyuda, filtroAyuda]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.getDocumentosAyuda()\r\n .then((response) => {\r\n setDocumentosAyuda(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const onChangeTextoFiltro = (e) => { \r\n setFiltroAyuda(e.target.value);\r\n };\r\n \r\n const filtraDocumentos = () => {\r\n if (documentosAyuda){\r\n var documentosAux = JSON.parse(JSON.stringify(documentosAyuda));\r\n if (filtroAyuda && filtroAyuda !== \"\"){\r\n for (var i=0; i doc.Titulo.toLowerCase().includes(filtroAyuda.toLowerCase()));\r\n }\r\n documentosAux = documentosAux.filter(gd => gd.Documentos && gd.Documentos.length>0);\r\n }\r\n setDocumentosFiltrados(documentosAux);\r\n }\r\n }\r\n\r\n const htmlDocsAyuda = (documentosFiltrados ? documentosFiltrados.map(grupodocs => \r\n \r\n {grupodocs.Documentos.map(doc => \r\n
  • \r\n {doc.Titulo} \r\n
  • \r\n )}\r\n \r\n )}\r\n \r\n tipo = {3}\r\n />\r\n ) : <>);\r\n\r\n\r\n return ( \r\n
    \r\n \r\n
    \r\n
    \r\n { (!documentosAyuda) ?\r\n \r\n :\r\n
    e.preventDefault()} tabIndex=\"0\">\r\n
    \r\n
    \r\n onChangeTextoFiltro(e)}\r\n />\r\n \"\"\r\n
    \r\n
    \r\n
    \r\n {htmlDocsAyuda}\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Ayuda;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, deepEqual\r\n , elementIsOfClass, GetAntecesorWhithClassName, GetLastSucesorWhithClassName\r\n , GetSucesorWhithClassName, primerHijoConClase, RemoveClassNameToChildClassItems\r\n , scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorComboBox(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = propiedades.lista.map(item => (item.codigo === propiedades.valueSelected ? \r\n \r\n : )\r\n );\r\n const classInputSelector = (props.disabled ? \"inputSelector disabled\" : \"inputSelector\");\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 38);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none'};\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = lista.slice(1).map(item => (\r\n \r\n ));\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const tipoFiltradoLista = 1;\r\n\r\n \r\n var textSelected = '';\r\n\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n \r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n \r\n useEffect(() => {\r\n //if (!deepEqual(props.lista, propiedades.lista) || (props.valueSelected !== valueSelected)){\r\n setPropiedades({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n //}\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const container = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n container.classList.toggle('active');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n input.value = \"\";\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = primerHijoConClase(container, 'inputSelector');\r\n\r\n //var optionWithValue = buscaOptionEnSelectByValue(select,value);\r\n //optionWithValue.setAttribute('selected', '');\r\n select.value=value;\r\n container.classList.remove(\"active\");\r\n\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n input.placeholder=html;\r\n textSelected = html;\r\n }\r\n \r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n\r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n\r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tvar found = false;\r\n\r\n \tif(search != \"\"){\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n\t \t\tvar label = elemento;\r\n\t \t\tvar html = remove_accents(label.innerHTML.toLowerCase()).replace('-',' ').replace('(',' ');\r\n var strlabel = label.getAttribute('data-value').toString();\r\n var bMostrar = false;\r\n switch (tipoFiltradoLista){\r\n case 0:\r\n bMostrar = ((html.indexOf(search) === 0));\r\n break;\r\n case 1: \r\n bMostrar = ((html.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n case 2:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0));\r\n break;\r\n case 3:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n }\r\n\t \t\tif(bMostrar){\r\n\t \t\t\tfound = true;\r\n\t\t\t\t\tlabel.classList.remove(\"hide\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlabel.classList.add(\"hide\");\r\n\t\t\t\t}\r\n } \r\n \t}\r\n else{\r\n found = true;\r\n RemoveClassNameToChildClassItems(container,'labeloption',null,'hide');\r\n }\r\n \t\r\n\r\n \tif(found){\r\n AddClassNameToChildClassItems(container,'dropdown',null,'show');\r\n var ddowns = container.getElementsByClassName('ddown');\r\n for (var elemento of ddowns) {\r\n var hijos = elemento.children;\r\n var hijosNiOcultosNiActivos = false;\r\n for (var hijo of hijos){\r\n if (elementIsOfClass(hijo, 'labeloption')){\r\n if (!elementIsOfClass('hide') && !elementIsOfClass('active')){\r\n hijosNiOcultosNiActivos = true;\r\n }\r\n }\r\n }\r\n if (!hijosNiOcultosNiActivos){\r\n elemento.classList.remove('show');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n if (input.placeholder === '')\r\n input.placeholder = textSelected; \r\n }\r\n }\r\n \t}else{\r\n container.classList.remove('active');\r\n //RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n \t}\r\n }\r\n\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n if (!props.disabled){\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n var keyCode = e.keyCode;\r\n\r\n if ((keyCode >= 48 && keyCode<=57)||(keyCode >= 65 && keyCode<=90) || (keyCode===46) || (keyCode===8)|| (keyCode===40) || (keyCode===38) ){\r\n container.classList.add('active');\r\n }\r\n\r\n if ((keyCode===46) || (keyCode===8)){\r\n input.placeholder='';\r\n }\r\n \r\n if (keyCode === 27){\r\n container.classList.remove('active');\r\n if (input.placeholder === '')\r\n input.placeholder = textSelected;\r\n }\r\n\r\n\r\n if (ddown.classList.contains('show')){\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n return (\r\n
    \r\n
    \r\n
    KeyDownSelector(e)} >\r\n \r\n
    ClickEnCoverSelect(e)}>\r\n KeyUpInput(e)} disabled = {props.disabled}/>\r\n
    \r\n {textSelected}\r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorComboBox;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\nconst AddEmpresa = (props) => {\r\n\r\n const [estado, setEstado] = useState(0);\r\n const [idEmpresa, setIdEmpresa] = useState(0);\r\n const [listaEmpresas, setListaEmpresas] = useState([]);\r\n\r\n const getEmpresa = () =>{\r\n setEstado(1);\r\n BP2022Service.getFormAddEmpresa()\r\n .then((response) => {\r\n if (response.data){\r\n var aux = response.data.Empresas;\r\n aux.splice(0,0,{Codigo:0, Valor:''});\r\n setListaEmpresas(aux);\r\n setEstado(2);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n getEmpresa();\r\n }\r\n },[]);\r\n\r\n\r\n const setEmpresa = () =>{\r\n setEstado(3);\r\n BP2022Service.addEmpresa(idEmpresa)\r\n .then((response) => {\r\n if (response.data){\r\n props.alAnadir(response.data);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n\r\n const cambiaEmpresa = (nuevoId) =>{\r\n setIdEmpresa(nuevoId);\r\n }\r\n\r\n const guardaEmpresa = () =>\r\n {\r\n setEmpresa();\r\n }\r\n\r\n\r\n const listaEmpresasCodValor = listaEmpresas.map(e => ({codigo: e.Codigo, valor: e.Valor}));\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :(estado === 1) ?\r\n
    \r\n

    Buscando información...

    \r\n
    \r\n :(estado === 2) ?\r\n
    e.preventDefault()}>\r\n

    \r\n Empresa colaboradora:\r\n \r\n \r\n \r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n :(estado === 3) ?\r\n
    \r\n

    Guardando datos...

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default AddEmpresa;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\n\r\nconst KeyEmpresa = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [idEmpresa, setIdEmpresa] = useState(0);\r\n const [idCurrentEmpresa, setIdCurrentEmpresa] = useState(0);\r\n const [listaEmpresas, setListaEmpresas] = useState([]);\r\n const [listaColaboradoras, setListaColaboradoras] = useState([]);\r\n const [sKey, setSKey] = useState('');\r\n const [mostrarAddEmpresa, setMostrarAddEmpresa] = useState(false);\r\n const [alto, setAlto] = useState('450px');\r\n\r\n const colaboradoras = (listaColaboradoras) ? \r\n listaColaboradoras.map(emp =>\r\n
    \r\n
    \r\n
    \r\n

    {emp.Nombre}

    \r\n
    \r\n
    \r\n

    {emp.Key}

    \r\n
    \r\n
    \r\n

    quitaEmpresa(emp.IdEmpresa) }>

    \r\n
    \r\n
    \r\n
    \r\n )\r\n :\r\n <>;\r\n\r\n const getEmpresa = () =>{\r\n setEstado(1);\r\n BP2022Service.getEmpresa()\r\n .then((response) => {\r\n if (response.data){\r\n setListaEmpresas(response.data.Empresas);\r\n setIdCurrentEmpresa(response.data.IdEmpresa);\r\n setIdEmpresa(response.data.IdEmpresa);\r\n setSKey(response.data.Key);\r\n setListaColaboradoras(response.data.Colaboradoras)\r\n setAlto((response.data.Colaboradoras && response.data.Colaboradoras.length>1 ) ? (550 + ((response.data.Colaboradoras.length-1) * 50)).toString() + 'px' : (response.data.Colaboradoras && response.data.Colaboradoras.length===1 ) ? '550px' : '450px')\r\n setEstado(2);\r\n setMensaje('');\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n getEmpresa();\r\n }\r\n },[]);\r\n\r\n\r\n const setEmpresa = () =>{\r\n setEstado(3);\r\n BP2022Service.setEmpresa(idEmpresa)\r\n .then((response) => {\r\n if (response.data){\r\n setIdCurrentEmpresa(response.data.IdEmpresa);\r\n setSKey(response.data.Key);\r\n setEstado(2);\r\n setMensaje(response.data.Msg);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n const cambiaEmpresa = (nuevoId) =>{\r\n setIdEmpresa(nuevoId);\r\n setMensaje('');\r\n }\r\n\r\n const guardaEmpresa = () =>\r\n {\r\n setEmpresa();\r\n }\r\n\r\n const copiaClaveBack = () =>\r\n {\r\n //navigator.clipboard.writeText(sKey);\r\n navigator.clipboard\r\n .writeText(sKey)\r\n .then(() => {\r\n })\r\n .catch(() => {\r\n });\r\n \r\n }\r\n\r\n const copiaClave = () => {\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.style.position = 'fixed';\r\n textArea.style.top = 0;\r\n textArea.style.left = 0;\r\n \r\n textArea.style.width = '2em';\r\n textArea.style.height = '2em';\r\n \r\n textArea.style.padding = 0;\r\n textArea.style.border = 'none';\r\n textArea.style.outline = 'none';\r\n textArea.style.boxShadow = 'none';\r\n \r\n textArea.style.background = 'transparent';\r\n\r\n textArea.value = sKey;\r\n \r\n document.body.appendChild(textArea);\r\n \r\n textArea.select();\r\n \r\n try {\r\n var successful = document.execCommand('copy');\r\n var msg = successful ? 'successful' : 'unsuccessful';\r\n } catch (err) {\r\n }\r\n \r\n document.body.removeChild(textArea);\r\n \r\n }\r\n\r\n const cerrarFormAddEmpresa = () =>{\r\n setMostrarAddEmpresa(false);\r\n }\r\n \r\n const muestraFormAddEmpresa = () =>{\r\n setMostrarAddEmpresa(true);\r\n }\r\n \r\n const refrescaColaboradoras = (nuevalista) =>{\r\n setListaColaboradoras(nuevalista);\r\n setMostrarAddEmpresa(false);\r\n setAlto((nuevalista && nuevalista.length>1 ) ? (550 + ((nuevalista.length-1) * 50)).toString() + 'px' : (nuevalista && nuevalista.length===1 ) ? '550px' : '450px')\r\n }\r\n\r\n const quitaEmpresa = (idEmp) =>{\r\n BP2022Service.delEmpresa(idEmp)\r\n .then((response) => {\r\n if (response.data){\r\n refrescaColaboradoras(response.data);\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n const listaEmpresasCodValor = listaEmpresas.map(e => ({codigo: e.Codigo, valor: e.Valor}));\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :(estado === 1) ?\r\n
    \r\n

    Buscando información...

    \r\n
    \r\n :(estado === 2) ?\r\n
    e.preventDefault()}>\r\n {mostrarAddEmpresa ?\r\n \r\n :\r\n <>\r\n }\r\n\r\n

    {mensaje}

    \r\n

    \r\n Empresa con permiso de actualización:\r\n \r\n \r\n \r\n

    \r\n

    \r\n KEY asignada:\r\n \r\n {(idEmpresa === idCurrentEmpresa) ? sKey : '------------'}\r\n {(idEmpresa === idCurrentEmpresa) ? copiaClave()}/> : <>}\r\n \r\n

    \r\n
    \r\n {(idEmpresa === idCurrentEmpresa) ? \r\n \r\n :\r\n \r\n }\r\n
    \r\n

    \r\n Otras empresas colaboradoras:\r\n

    \r\n {(listaColaboradoras && listaColaboradoras.length>0) ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Empresa

    \r\n
    \r\n
    \r\n

    KEY

    \r\n
    \r\n
    \r\n

     

    \r\n
    \r\n
    \r\n
    \r\n {colaboradoras}\r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n :(estado === 3) ?\r\n
    \r\n

    {mensaje}

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default KeyEmpresa;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport MisBuscadoresCabeceraResultados from \"../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport KeyEmpresa from \"./KeyEmpresa\";\r\nimport BP2022AuthService from \"../../services/auth.service\";\r\n\r\n\r\nconst CabeceraConfiguracion = (props) => {\r\n const titulo = (props.titulo ? props.titulo : \"Configuración BOT PLUS\");\r\n const [tieneLicenciaBot, setTieneLicenciaBot] = useState(null);\r\n const [mostrarEmpresa, setMostrarEmpresa] = useState(false);\r\n\r\n useEffect (() =>{\r\n if (tieneLicenciaBot===null){\r\n // getTieneLicenciaBot();\r\n }\r\n },[]);\r\n\r\n const getTieneLicenciaBot = () =>{\r\n BP2022AuthService.tieneLicenciaLocal()\r\n .then((response) => {\r\n setTieneLicenciaBot(response)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n\r\n const muestraEmpresa = (valor) =>{\r\n setMostrarEmpresa(valor);\r\n }\r\n\r\n\r\n return (\r\n
    \r\n {mostrarEmpresa ?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n {\r\n (tieneLicenciaBot) ?\r\n
    muestraEmpresa(true)}>\r\n Empresa informática\r\n
    \r\n :\r\n \r\n } \r\n
    \r\n
    \r\n
    \r\n

    {titulo}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraConfiguracion;\r\n","import { useEffect } from \"react\";\r\nimport { AddClassNameToChildClassItems, AddClassNameToClassItems, buscaOptionEnSelectByValue, createElementFromHTML, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName, getSelectValues, GetSucesorWhithClassName, primerHijoConClase, RemoveClassNameToChildClassItems, RemoveClassNameToClassItems, wrap } from \"../../../services/utils\";\r\n\r\nfunction Selector(props){\r\n const id = props.id; \r\n const lista = props.lista;\r\n const valueSelected = props.valueSelected;\r\n const options = lista.map(item => (item.codigo === valueSelected ? \r\n \r\n : )\r\n );\r\n const colorTexto = (props.disabled ? {color:'#AAAAAA'} : {});\r\n\r\n const optionsDisplayed = lista.map(item => );\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n var textSelected = '';\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n \r\n useEffect(() => {\r\n /*const select = document.getElementById(id);\r\n IniciaCustomSelect(select, id);*/\r\n }, []);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n const valor = item.getAttribute('data-value');\r\n itemContainer.classList.toggle('active');\r\n const select = GetSucesorWhithClassName(itemContainer,'custom-select');\r\n }\r\n }\r\n\r\n const ClickEnDropdownLabel = (e) =>{\r\n \tvar option = e.target;\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n var active = (elementIsOfClass(option, \"active\")) ? true : false;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var multiple = select.hasAttribute('multiple');\r\n\r\n var id_tag = select.getAttribute(\"name\") + \"-\" + value;\r\n\r\n var extra_subfield = (select.hasAttribute(\"data-show-subfield\")) ? select.getAttribute(\"data-show-subfield\") : false;\r\n\r\n var target = (select.hasAttribute(\"data-target\")) ? select.getAttribute(\"data-target\") : false;\r\n var target_label = (select.hasAttribute(\"data-target-label\")) ? select.getAttribute(\"data-target-label\") : false;\r\n\r\n //container.find('.custom-select option[value=\"' + value + '\"]').prop(\"selected\", !active);\r\n var optionWithValue = buscaOptionEnSelectByValue(select,value);\r\n if (active)\r\n optionWithValue.removeAttribute('selected');\r\n else\r\n optionWithValue.setAttribute('selected', '');\r\n\r\n if(!multiple && !target){\r\n \t//SIMPLE SELECT\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n \tcontainer.classList.remove(\"active\");\r\n\r\n \tif(!active){\r\n var aux = primerHijoConClase(container, 'select-label');\r\n \t\taux.innerHTML = html;\r\n\t \toption.classList.add(\"active\");\r\n\t }else{\r\n var aux2 = primerHijoConClase(container, 'select-label');\r\n aux2.innerHTML = container.getAttribute('data-placeholder');\r\n\t }\r\n select.value=value;\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n }else{\r\n\t if(!multiple){\r\n document.getElementById(target).innerHTML=\"\";\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n\t \toption.classList.add(\"active\");\r\n\t }else{\r\n\t \t//MULTIPLE SELECT\r\n\t \tif(!active){\r\n\t\t \toption.classList.add(\"active\");\r\n\t\t }else{\r\n\t\t \toption.classList.remove(\"active\");\r\n\t\t }\r\n\t }\r\n\r\n\t if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n\t var cloned = option.cloneNode(true);\r\n var htmlToAdd = '' + cloned.innerHTML + '\"eliminar\"';\r\n var newItem = createElementFromHTML(htmlToAdd);\r\n document.getElementById(target).appendChild(newItem);\r\n }\r\n\r\n if(target_label){\r\n\r\n\t\t\tvar multiple_labels = \"\";\r\n var seleccionados = getSelectValues(select);\r\n for (var elemento of seleccionados) {\r\n\t \tmultiple_labels += elemento.innerHTML+\", \";\r\n\t };\r\n\r\n\t if(multiple_labels != \"\"){\r\n\t \tdocument.getElementById(target_label).innerHTML = multiple_labels.slice(0, -2);\r\n\t }else{\r\n\t \tdocument.getElementById(target_label).innerHTML = \"\";\r\n\t }\r\n\t\t}\r\n\r\n var event = new Event('change');\r\n select.dispatchEvent(event);\r\n\r\n if(extra_subfield && document.getElementById(target).children.length){//si tiene subcampos marcamos el último tag incluido\r\n var tags = document.getElementById(target).getElementsByClassName('tag');\r\n var tag = tags[tag.length-1];\r\n var event2 = new Event('click');\r\n tag.dispatchEvent(event2);\r\n }\r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n /*container:
    */\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n {textSelected}\r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Selector;\r\n\r\n/*\r\n function IniciaCustomSelect(select_element, select_id){\r\n \tvar select = select_element;\r\n\t\tvar multiple = select.hasAttribute('multiple');\r\n\t\tvar search = \"\";\r\n\t\tvar fixed = \"\";\r\n\t\tvar target = false, target_box = false, target_class = \"\"\r\n\t\tvar checks = \"\";\r\n\t\tvar style = \"\";\r\n\r\n\t\tif(select.hasAttribute(\"data-search\")){\r\n\t\t\tsearch = \"search\";\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"data-fixed\")){\r\n\t\t\tfixed = \"fixed\";\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"data-checks\")){\r\n\t\t\tchecks = \"has-checks\";\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"style\")){\r\n\t\t\tstyle = \"style-\"+select.getAttribute(\"style\");\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"data-target\")){\r\n\t\t\ttarget_class = 'target';\r\n\t\t\ttarget_box = select.getAttribute(\"data-target\");\r\n\t\t}\r\n\t\tif(!select_id){\r\n\t\t\tselect_id = Math.floor(Math.random() * (999 - 111 + 1)) + 111;\r\n\t\t}\r\n\r\n\t\tselect.style.display = 'none';\r\n\r\n wrap(select, createElementFromHTML('
    '))\r\n\r\n\t\tvar container = select.parentNode;\r\n\r\n\t\tif(search !== \"\"){\r\n\t\t\tcontainer.prepend('
    ');\r\n\t\t}\r\n var iteminput = container.getElementsByClassName('inputtext')[0];\r\n if (iteminput)\r\n iteminput.addEventListener('keyup',KeyUpInput);\r\n\r\n var selected = (select.selectedIndex>=0) ? select.options[select.selectedIndex] : false;\r\n var placeholder = (selected) ? selected.innerHTML : select.options[0].innerHTML;\r\n\r\n\t\tcontainer.setAttribute(\"data-placeholder\", placeholder);\r\n\r\n\t\tcontainer.innerHTML = container.innerHTML + '
    '+placeholder+'
    [#options#]
    ';\r\n container.children[container.children.length - 2].addEventListener('click',ClickEnCoverSelect);\r\n\r\n var options = select.options;\r\n\t\tvar custom_options = \"\";\r\n for (var elemento of options) {\r\n var option = elemento;\r\n if (option.getAttribute(\"value\") !== \"\"){\r\n custom_options += '';\r\n }\r\n }\r\n\r\n\t\tcontainer.innerHTML = container.innerHTML.replaceAll('[#options#]', custom_options);\r\n\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n elemento.addEventListener('click',ClickEnDropdownLabel);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n/*\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n*/\r\n\r\n/*\r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container')[0];\r\n\r\n var search = remove_accents(input.value.toLowerCase());\r\n\r\n \tvar found = false;\r\n\r\n \tif(search != \"\"){\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n\t \t\tvar label = elemento;\r\n\t \t\tvar html = remove_accents(label.innerHTML.toLowerCase());\r\n\t \t\tif(html.indexOf(search) > -1) {\r\n\t \t\t\tfound = true;\r\n\t\t\t\t\tlabel.classList.remove(\"hide\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlabel.classList.add(\"hide\");\r\n\t\t\t\t}\r\n } \r\n \t}\r\n \t\r\n\r\n \tif(found){\r\n AddClassNameToChildClassItems(container,'dropdown',null,'show');\r\n var ddowns = container.getElementsByClassName('ddown');\r\n for (var elemento of ddowns) {\r\n var hijos = elemento.children;\r\n var hijosNiOcultosNiActivos = false;\r\n for (var hijo of hijos){\r\n if (elementIsOfClass('labeloption')){\r\n if (!elementIsOfClass('hide') && !elementIsOfClass('active')){\r\n hijosNiOcultosNiActivos = true;\r\n }\r\n }\r\n }\r\n if (!hijosNiOcultosNiActivos){\r\n elemento.classList.remove('show');\r\n }\r\n }\r\n \t}else{\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n \t}\r\n }\r\n*/\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\n\r\nconst UsuAdicional = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [enabledUsuAdicional, setEnableUsuAdicional] = useState(false);\r\n const [usuAdicional, setUsuAdicional] = useState('');\r\n const [newPassword, setNewPassword] = useState('');\r\n const [confPassword, setConfPassword] = useState('');\r\n const [alto, setAlto] = useState('230px');\r\n\r\n const getDatosUsuAdicional = () =>{\r\n setEstado(1);\r\n BP2022Service.getUsuAdicional()\r\n .then((response) => {\r\n if (response.data){\r\n setEnableUsuAdicional(response.data.Habilitado)\r\n setUsuAdicional(response.data.Usuario);\r\n if (response.data.Habilitado)\r\n setAlto('520px')\r\n else\r\n setAlto('230px');\r\n setEstado(2);\r\n setMensaje('');\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n getDatosUsuAdicional();\r\n }\r\n },[]);\r\n\r\n\r\n const setDatosUsuAdicional = () =>{\r\n if (enabledUsuAdicional){\r\n if (newPassword && newPassword != \"\"){\r\n if (newPassword === confPassword){\r\n setMensaje(\"Enviando datos...\");\r\n setAlto('230px');\r\n setEstado(3);\r\n BP2022Service.enableUsuAdicional(usuAdicional,newPassword)\r\n .then((response) => {\r\n props.alCerrar();\r\n })\r\n }else{\r\n setMensaje(\"Las contraseñas no coínciden\")\r\n }\r\n }else{\r\n setMensaje(\"Debe proporcionar una contraseña\")\r\n }\r\n }else{\r\n setMensaje(\"Enviando datos...\");\r\n setEstado(3);\r\n BP2022Service.disableUsuAdicional()\r\n .then((response) => {\r\n props.alCerrar();\r\n });\r\n }\r\n }\r\n\r\n const CambiaPassword = (s) => {\r\n setMensaje(\"\");\r\n setNewPassword(s);\r\n };\r\n\r\n const CambiaUser = (s) => {\r\n setUsuAdicional(s);\r\n };\r\n\r\n const CambiaConfirmacion = (s) => {\r\n setMensaje(\"\");\r\n setConfPassword(s);\r\n };\r\n\r\n const CambiaEnabled = (e) => {\r\n if (e)\r\n if (mensaje && mensaje != \"\")\r\n setAlto('540px')\r\n else\r\n setAlto('520px')\r\n else\r\n setAlto('230px')\r\n setEnableUsuAdicional(e);\r\n }\r\n\r\n const txtboton = enabledUsuAdicional ? \"Habilitar usuario adicional\" : \"Deshabilitar usuario adicional\";\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :(estado === 1) ?\r\n
    \r\n

    Buscando información...

    \r\n
    \r\n :(estado === 2) ?\r\n
    e.preventDefault()} autocomplete=\"off\" >\r\n {(enabledUsuAdicional) && (mensaje) && (mensaje !== \"\") ? \r\n

    {mensaje}

    \r\n :\r\n <>\r\n }\r\n

    \r\n \r\n

    \r\n {(enabledUsuAdicional) ? \r\n
    \r\n

    \r\n Usuario adicional:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaUser(e.target.value)} \r\n placeholder=\"Usuario adicional\" />\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Contraseña:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaPassword(e.target.value)} \r\n placeholder=\"Introduzca la contraseña del usuario adicional\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Confirmación contraseña:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaConfirmacion(e.target.value)} \r\n placeholder=\"Confirme la contraseña\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n :(estado === 3) ?\r\n
    \r\n

    {mensaje}

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default UsuAdicional;\r\n","import Selector from \"../Utilidades/Selector/Selector\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport AuthService from \"../../services/auth.service\"\r\nimport { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport { AddClassNameToClassItems, addDays, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\n//import BP2022AuthService from \"../../services/auth.service\";\r\nimport BP2022AuthService from \"../../services/auth.service\";\r\nimport KeyEmpresa from \"./KeyEmpresa\";\r\nimport {FormatoFechaDDMMYYYY} from '../../services/utils.js'\r\nimport UsuAdicional from \"./UsuAdicional\";\r\nimport packageJson from '../../../package.json';\r\n\r\nconst PaginaConfiguracion = (props) => {\r\n const [datosConf,setDatosConf] = useState(null);\r\n const [tieneLicenciaBot, setTieneLicenciaBot] = useState(null);\r\n const [mostrarEmpresa, setMostrarEmpresa] = useState(false);\r\n const [mostrarUsuAdicional, setMostrarUsuAdicional] = useState(false);\r\n\r\n const provincias =(datosConf ? datosConf.Provincias : null);\r\n const ccaas = (datosConf? datosConf.CCAAs : null);\r\n var guardando = false;\r\n const user = AuthService.getLocalUser();\r\n\r\n const refdate = addDays(new Date(), 367).toJSON();\r\n const username = (user && user.botPlusUser && user.botPlusUser.Username) ? user.botPlusUser.Username : '';\r\n const fechaLicencia = (user && user.botPlusUser && user.botPlusUser.LicenciaHasta && user.botPlusUser.LicenciaHasta {\r\n if (datosConf==null)\r\n {\r\n DescargaDatosConfiguracion();\r\n }else{\r\n if ((datosConf.Mensaje)&&(datosConf.Mensaje !== '')){\r\n //props.atras();\r\n if ((props.returnTo) && (props.returnTo !== '') && (!props.returnTo.includes('BAgrupHomoAuto'))){\r\n window.location.href = props.returnTo; \r\n }else{\r\n window.location.href = rootPath;\r\n }\r\n }\r\n }\r\n if (tieneLicenciaBot===null){\r\n getTieneLicenciaBot();\r\n }\r\n \r\n });\r\n\r\n const getTieneLicenciaBot = () =>{\r\n BP2022AuthService.tieneLicenciaLocal()\r\n .then((response) => {\r\n setTieneLicenciaBot(response)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n\r\n const muestraEmpresa = (valor) =>{\r\n setMostrarEmpresa(valor);\r\n }\r\n\r\n const muestraUsuAdicional = (valor) =>{\r\n setMostrarUsuAdicional(valor);\r\n }\r\n\r\n const DescargaDatosConfiguracion = () => {\r\n if (!guardando){\r\n guardando=true;\r\n BP2022Service.getDatosConfiguracion()\r\n .then((response) => {\r\n response.data.Provincias.splice(0,0,{IdProvincia:0, NombreProvincia:'Indique una provincia', IdCCAA: 0, NombreComunidad: ''});\r\n setDatosConf(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n };\r\n\r\n\r\n const GuardaDatosConfiguracion = () => {\r\n BP2022Service.setDatosConfiguracion(datosConf.IdProvincia, datosConf.NumFarmacia)\r\n .then((response) => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n lu.botPlusUser.idCCAA = response.data.IdCCAA;\r\n lu.botPlusUser.idProvincia = response.data.IdProvincia;\r\n lu.botPlusUser.Provincia = response.data.Provincia;\r\n localStorage.setItem(\"login\", JSON.stringify(lu));\r\n setDatosConf(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n \r\n const CambiaCCAA = (idProvincia) => {\r\n let tempDatosConf = JSON.parse(JSON.stringify(datosConf));\r\n var aux = provincias.filter(prov => {return prov.IdProvincia.toString()===idProvincia.toString()});\r\n if (aux){\r\n if (aux.length>0){\r\n var idCCAA = aux[0].IdCCAA;\r\n tempDatosConf.IdProvincia = parseInt(idProvincia);\r\n tempDatosConf.IdCCAA = idCCAA\r\n }\r\n }\r\n tempDatosConf.Mensaje = null;\r\n setDatosConf(tempDatosConf);\r\n };\r\n\r\n const DoNothing=() =>{\r\n\r\n }\r\n\r\n const CambiaNumFarmacia = (e) => {\r\n let tempDatosConf = JSON.parse(JSON.stringify(datosConf));\r\n tempDatosConf.NumFarmacia = e.target.value;\r\n tempDatosConf.Mensaje = null;\r\n setDatosConf(tempDatosConf);\r\n };\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = (\r\n
    \r\n

    La Organización Farmacéutica Colegial - Colegios, Consejos Autonómicos y Consejo General - ha desarrollado el  \r\n Centro de Información sobre el Suministro de Medicamentos (CisMED).\r\n

    \r\n

    CisMED es un sistema de información con un doble objetivo: detectar en tiempo real incidencias en el suministro regular de medicamentos, \r\n y dotar a la Organización de información sobre su disponibilidad para facilitar la toma de decisiones de los farmacéuticos, y contribuir \r\n a la continuidad de los tratamientos de los pacientes.\r\n

    \r\n

    Las farmacias adheridas a CisMED generan una información que, una vez tratada, permite disponer de datos sobre el suministro de medicamentos \r\n en su provincia y, una vez remitida al Consejo General, consolidar los datos a nivel nacional.\r\n

    \r\n

    Si es usted un usuario perteneciente a una farmacia adherida a CisMED, podrá consultar la información sobre faltas en el suministro del medicamento \r\n de forma completa.\r\n

    \r\n
    \r\n );\r\n\r\n const modalTituloAvisoInicial = \"\";\r\n const modalContentAvisoInicial = (\r\n
    \r\n

    Gracias por acceder a BOT PLUS.\r\n

    \r\n

    Antes de comenzar a utilizar la base de datos, es necesario que usted configure la provincia de la sesión, de forma que BOT PLUS le pueda \r\n mostrar la información de ámbito autonómico asociada a medicamentos y productos de parafarmacia. Para ello incluya dicha provincia en la \r\n siguiente pantalla. Esta provincia se podrá modificar posteriormente en cualquier momento.\r\n

    \r\n

    En esta pantalla podrá también incluir el número de farmacia adherida a CisMED, para que BOT PLUS le muestre la información sobre incidencias\r\n de suministro de medicamentos. En caso de no ser una farmacia adherida a CisMED, podrá utilizar BOT PLUS con total normalidad, si bien no podrá \r\n acceder a la información de CisMED.\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalCismedInfo\"\r\n const modalKeyNameAvisoInicial=\"ModalAvisoInicial\"\r\n\r\n const AbreEmergenteCismed = () => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n const modalAvisoInicialActivo = props.muestraAviso;\r\n\r\n\r\n const modalTitulo2 = \"\";\r\n const modalContent2 = (\r\n
    \r\n

    \r\n {(datosConf) ? datosConf.Mensaje : ''}\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName2=\"ModalSavedInfo\"\r\n\r\n const AbreEmergenteSaved = () => {\r\n AddClassNameToClassItems(modalKeyName2, null, 'active');\r\n //props.refresca();\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768); \r\n\r\n \r\n\r\n if (!datosConf){\r\n return (\r\n
    \r\n );\r\n }\r\n else{\r\n if (!datosConf.IdProvincia>0){\r\n if (provincias[0].IdProvincia!==0){\r\n provincias.splice(0,0,{IdProvincia: 0, NombreProvincia: 'Seleccione provincia', IdCCAA : 0});\r\n ccaas.splice(0,0,{Codigo:0, Valor:'-'});\r\n }\r\n }\r\n const listaProvinciasCodValor = provincias.map(prov => ({codigo: prov.IdProvincia, valor: prov.NombreProvincia}));\r\n const listaCCAACodValor = ccaas.map(ca => ({codigo: ca.Codigo, valor: ca.Valor}));\r\n return (\r\n
    \r\n \r\n \r\n \r\n {mostrarEmpresa ?\r\n \r\n :\r\n mostrarUsuAdicional ?\r\n \r\n :\r\n <>\r\n }\r\n\r\n
    \r\n
    e.preventDefault()}>\r\n \r\n
    \r\n \r\n \"logoFarmaceuticos\"\r\n \r\n
    \r\n {username !== '' ? \r\n
    \r\n Usuario BOT PLUS: \r\n  {username} \r\n
    \r\n : <>}\r\n {fechaLicencia ? \r\n
    \r\n Licencia válida hasta \r\n {FormatoFechaDDMMYYYY(fechaLicencia)\r\n }
    \r\n : <>}\r\n
    \r\n {(tieneLicenciaBot && !isMobile && esUsuarioPrincipal) ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n {(tieneLicenciaBot && isMobile && esUsuarioPrincipal) ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Indique la provincia en la que quiere configurar BOT PLUS para conocer la información de ámbito autonómico. \r\n Esta provincia puede modificarse posteriormente en cualquier momento.\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n En caso de que el usuario se trate de una farmacia adherida a CisMED, puede incluir a continuación el número de farmacia para activar \r\n la información de CisMED en BOT PLUS.
    \r\n En caso contrario, podrá utilizar BOT PLUS con total normalidad, si bien no podrá acceder a la información de CisMED.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Información CisMED \r\n AbreEmergenteCismed()}>\r\n \"\"\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n CambiaNumFarmacia(e)} placeholder=\"Número de farmacia\" />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(datosConf.AccesoCisMED) ?\r\n ((datosConf.IdProvincia===datosConf.IdProvinciaCisMED) ?\r\n
    \r\n \"warningGreen\" \r\n Dispone de acceso a la información en BOT PLUS de CisMED.\r\n
    \r\n :\r\n
    \r\n \"warningYellow\"\r\n Dispone de acceso a la información en BOT PLUS de CisMED, pero la provincia seleccionada no coincide con la registrada en su adhesión a CisMED.\r\n
    \r\n )\r\n :\r\n
    \r\n \"warningRed\" \r\n No dispone de acceso a la información en BOT PLUS de CisMED.\r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Versión del front end: {packageJson.version}.{packageJson.dateversion}.{packageJson.serial}\r\n
    \r\n
    \r\n Versión del back end: {datosConf.Version.Version}.{datosConf.Version.Dateversion}.{datosConf.Version.Serial}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default PaginaConfiguracion;","import CabeceraConfiguracion from \"./CabeceraConfiguracion\";\r\nimport PaginaConfiguracion from \"./PaginaConfiguracion\";\r\n\r\nconst Configuracion = (props) => {\r\n const infoPagina = props.infoPagina;\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Configuracion;","import BP2022Service from \"../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport CabeceraConfiguracion from \"./CabeceraConfiguracion\";\r\n\r\n\r\nconst EditaBuscadores= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaBH: null,\r\n listaBV: null,\r\n listaBF: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idsBusc: [],\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaBH === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioBucadoresPreferidos()\r\n .then((response) => {\r\n var df = {\r\n listaBH : response.data.BuscadoresMUH,\r\n listaBV : response.data.BuscadoresMUV,\r\n listaBF : response.data.BuscadoresPPF,\r\n };\r\n var ids = []\r\n for (var i=0; i{\r\n BP2022Service.setDatosBuscadoresPreferidos(seleccionFormulario.idsBusc)\r\n .then((response) => {\r\n props.atras();\r\n });\r\n }\r\n\r\n const checkBuscador= (e, valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var activo = e.target.checked;\r\n if (activo){\r\n if (!nuevaSeleccion.idsBusc.includes(valor)){\r\n nuevaSeleccion.idsBusc.push(valor);\r\n }\r\n }\r\n if (!activo){\r\n if (nuevaSeleccion.idsBusc.includes(valor)){\r\n var idx = nuevaSeleccion.idsBusc.indexOf(valor);\r\n nuevaSeleccion.idsBusc.splice(idx,1);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const disabledAdd = (seleccionFormulario.idsBusc.length>=5);\r\n\r\n const HTMLHumanas = (\r\n ((datosFormulario.listaBH) ?\r\n datosFormulario.listaBH.map(busc =>\r\n ((seleccionFormulario.idsBusc.includes(busc.IdBuscador) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n const HTMLVeterinaria = (\r\n ((datosFormulario.listaBV) ?\r\n datosFormulario.listaBV.map(busc =>\r\n ((seleccionFormulario.idsBusc.includes(busc.IdBuscador) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n const HTMLParafarmacia = (\r\n ((datosFormulario.listaBF) ?\r\n datosFormulario.listaBF.map(busc =>\r\n ((seleccionFormulario.idsBusc.includes(busc.IdBuscador) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    e.preventDefault()}>\r\n
    \r\n

    Selecciona tus buscadores preferidos

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Puedes seleccionar hasta cinco buscadores favoritos. En caso de querer cambiar un buscador favorito por otro, desmarca previamente el que desees eliminar\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Uso humano

    \r\n
    \r\n
    \r\n {HTMLHumanas}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Veterinaria

    \r\n
    \r\n
    \r\n {HTMLVeterinaria}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Parafarmacia

    \r\n
    \r\n
    \r\n {HTMLParafarmacia}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default EditaBuscadores;\r\n","import MisBuscadoresCabeceraResultados from \"../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\n\r\nconst CabeceraExporta = (props) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Exportar listado

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraExporta;\r\n ","import CabeceraExporta from \"./CabeceraExporta\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../Resultados/Loading.Popup\";\r\nimport { rootPath } from \"../../services/utils\";\r\nimport { CSVLink, CSVDownload } from \"react-csv\";\r\n\r\n\r\nconst Exporta = (props) => {\r\n const [documentosExporta, setDocumentosExporta] = useState(null);\r\n const [docSel, setDocSel] = useState(0)\r\n const [datosAExportar, setDatosAExportar] = useState({\r\n headers: [],\r\n data: [],\r\n });\r\n const [txtExportar, setTxtExportar] = useState(\"Exportar\");\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!documentosExporta)\r\n {\r\n DescargaExporta();\r\n } \r\n },[]);\r\n\r\n const DescargaExporta = () => { \r\n BP2022Service.obtenListadosExportables()\r\n .then((response) => {\r\n if (response.data && response.data.length>0){\r\n setDocSel(response.data[0].Codigo);\r\n }\r\n setDocumentosExporta(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const ClickDoc = (cod) => {\r\n setDocSel(cod);\r\n }\r\n\r\n const ClickExportar = (e) =>{\r\n setLoading(true);\r\n setDatosAExportar({\r\n headers: [],\r\n data: [],\r\n });\r\n BP2022Service.obtenExportacionExcel(docSel)\r\n .then((response) => {\r\n const nuevosDatosAExportar = {\r\n headers: response.data.cabeceras,\r\n data: response.data.datos,\r\n }\r\n setLoading(false);\r\n setDatosAExportar(nuevosDatosAExportar);\r\n setTxtExportar(\"Volver a generar\");\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setLoading(false);\r\n });\r\n }\r\n\r\n\r\n\r\n const htmlDocsExporta = (documentosExporta ? documentosExporta.map(doc => \r\n
    \r\n \r\n
    \r\n ) : <>);\r\n\r\n\r\n return ( \r\n
    \r\n \r\n
    \r\n
    \r\n { (!documentosExporta) || (loading) ?\r\n \r\n :\r\n
    e.preventDefault()} tabIndex=\"0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Seleccione el listado que desea exportar y pulse sobre el botón \"Exportar\".\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlDocsExporta}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(datosAExportar.data && datosAExportar.data.length>0 && datosAExportar.headers && datosAExportar.headers.length>0) ?\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n     Si el archivo no se descarga automáticamente pulse sobre el siguiente botón \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Exporta;\r\n","import axios from \"axios\";\r\nimport authHeader from \"./auth-header\";\r\nimport { getApiPath } from \"./utils\";\r\n\r\n//const API_URL = \"http://localhost:36823/botplusapi/\";\r\n//const API_URL = \"http://nitramsoftware.linkpc.net:8899/botplusapi/\";\r\n//const API_URL = \"/api/botplusapi/\";\r\nconst API_URL = getApiPath();\r\n\r\nconst getPalabras = (txt,tipo) => {\r\n return axios.get(API_URL + \"Sugerencias/Palabras?txt=\"+txt+\"&tipo=\"+tipo, { headers: authHeader() });\r\n};\r\n\r\nconst sugerenciasService = {\r\n getPalabras\r\n}; \r\n\r\nexport default sugerenciasService;\r\n","\r\nfunction ItemSugerencia({item}){\r\n return (\r\n \r\n ) \r\n}\r\n\r\nexport default ItemSugerencia;","import ItemSugerencia from './ItemSugerencia.js';\r\n\r\nfunction Sugerencias(props){\r\n var identificador = props.identificador; //\"sugerenciasFB\";\r\n if (props.missugerencias != null)\r\n {\r\n const filas = props.missugerencias.map(fila => )\r\n return (\r\n \r\n {filas}\r\n \r\n )\r\n } \r\n else{\r\n return(\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Sugerencias;","import React, { useState } from \"react\";\r\nimport BusqMedsService from \"../../../../services/user.service\";\r\nimport SugerenciasService from \"../../../../services/sugerencias.service\";\r\nimport Sugerencias from \"../../../Utilidades/Sugerencias/Sugerencias\";\r\n\r\n const FormBusqueda = (props) => { \r\n const [texto, setTexto] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [listaSugerencias, setListaSugerencias] = useState(null);\r\n const [opcionBusqueda, setOpcionBusqueda] = useState(BusqMedsService.getOpcionBusqueda());\r\n const onChangeTexto = (e) => {\r\n const texto = e.target.value.replace('%',' ');\r\n setTexto(texto);\r\n SugerenciasService.getPalabras(encodeURIComponent(texto),\"TOT\").then((response) => {\r\n setListaSugerencias(response.data);\r\n })\r\n };\r\n\r\n const CambiaPagina = (codigoPagina, texto) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina,\r\n texto: texto,\r\n opb: opcionBusqueda,\r\n });\r\n }\r\n\r\n if (!opcionBusqueda) setOpcionBusqueda(1);\r\n const busqueda = (e) => {\r\n var auxtexto = texto.replace('%',' '); //encodeURI(texto);\r\n if (auxtexto)\r\n if (auxtexto.trim().length>0){\r\n e.preventDefault();\r\n CambiaPagina(\"BInicio\",auxtexto);\r\n }\r\n }\r\n\r\n const clickOptionInicio = () => {\r\n BusqMedsService.setOpcionBusqueda(2);\r\n setOpcionBusqueda(2); \r\n }\r\n\r\n const clickOptionContenido = () => {\r\n BusqMedsService.setOpcionBusqueda(1);\r\n setOpcionBusqueda(1); \r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloOptions = (!isMobile)?{\r\n marginTop:'15px', \r\n display: 'flex', \r\n justifyContent:'space-around', \r\n width:'100%', \r\n fontFamily:'Flama', \r\n color:'#ffffff', \r\n fontSize:'14px' , \r\n verticalAlign: 'baseline'\r\n }:{\r\n marginTop:'7px', \r\n display: 'flex', \r\n justifyContent:'space-around', \r\n width:'100%', \r\n fontFamily:'Flama', \r\n color:'#ffffff', \r\n fontSize:'14px' , \r\n verticalAlign: 'baseline'\r\n }\r\n\r\n const estiloDiv = (isMobile) ? {margin: '20px'} : {};\r\n\r\n\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{/*

    Puedes buscar medicamentos, productos de parafarmacia o enfermedades por nombre.

    \r\n\t\t\t\t\t
    \r\n

    También puedes introducir el código nacional del producto:

    */}\r\n\t\t\t\t\t

    Puedes buscar medicamentos, productos de parafarmacia o enfermedades por nombre.

    \r\n\t\t\t\t\t
    \r\n

    También puedes introducir el código nacional del producto:

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    e.preventDefault()}>\r\n\t\t\t\t\t\r\n \r\n\t\t\t\t\t\r\n
    \r\n \r\n \r\n
    \r\n\t\t\t\t
    \r\n
    \r\n );\r\n };\r\n \r\n export default FormBusqueda;","import React, { useEffect, useState } from \"react\";\r\nimport BP2022Service, {GetBusquedasPreferidas} from \"../../../../services/user.service\";\r\nimport { rootPath } from \"../../../../services/utils\";\r\nimport BusquedaPreferida from \"./BusquedaPreferida\";\r\n\r\nconst BusquedasPreferidasInicio = (props) => {\r\n\r\n const [listaBuscadores, setListaBuscadores] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaBuscadores();\r\n }, [])\r\n\r\n const descargaBuscadores = () => {\r\n BP2022Service.getBuscadoresPreferidos()\r\n .then((response) => {\r\n setListaBuscadores(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const busquedas = listaBuscadores ? (\r\n listaBuscadores.map(fila => )\r\n ):(\r\n
    \r\n );\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n}\r\n\r\nconst ancho = window.innerWidth;\r\nconst isMobile = (ancho<768); \r\nconst estiloDiv = (isMobile) ? {backgroundColor : 'rgba(0,0,0,0.5)', display: 'block', marginLeft: '0px'} \r\n : {backgroundColor : 'rgba(0,0,0,0.5)'};\r\n\r\n\r\n return (\r\n
    \r\n

    MIS BUSCADORES FAVORITOS

    \r\n
    \r\n
      \r\n {busquedas}\r\n
    \r\n CambiaPaginaSimple('EditaBuscadores')}>\r\n \"pencilPink\" \r\n Editar mis buscadores\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default BusquedasPreferidasInicio;\r\n","import FormBusqueda from \"./FormBusqueda/FormBusqueda\";\r\nimport BusquedasPreferidas from \"./BFavoritas/BusquedasPreferidasInicio\";\r\n\r\nconst FormBusquedaYPreferidos = (props) => {\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768); \r\n \r\n const estiloContainer = (isMobile) ? {maxWidth: '100%'} : {};\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FormBusquedaYPreferidos;\r\n","import {FormatoFechaBonito, rootPath} from '../../../../services/utils.js'\r\n\r\nconst NovedadCabecera = (props) => {\r\n const picto = ( props.item.CodTipoRegistro === \"MUV\" ? rootPath + \"img/novedad2.svg\" : (props.item.CodTipoRegistro === \"PPF\" ? rootPath + \"img/novedad3.svg\" : rootPath + \"img/novedad1.svg\"));\r\n const fecha = ( props.item.FechaAlta ? FormatoFechaBonito(props.item.FechaAlta) : '');\r\n\r\n const CambiaPaginaFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n });\r\n }\r\n\r\n \r\n return (\r\n
    CambiaPaginaFicha(props.item)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n
    \r\n {fecha}\r\n
    \r\n

    \r\n {props.item.NombreCompleto}\r\n

    \r\n
    \r\n

    \r\n {props.item.TipoRegistro}\r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadCabecera;\r\n\r\n","import NovedadCabecera from \"./NovedadCabecera\";\r\n\r\n\r\nconst NovedadesInicioCabecera = (props) => {\r\n const listaNovedades = props.lista;\r\n\r\n const novedades = listaNovedades ? (\r\n listaNovedades.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n\r\n return (\r\n
    \r\n
    \r\n

    Novedades

    \r\n
    \r\n
    \r\n {novedades}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n export default NovedadesInicioCabecera;\r\n","import {FormatoFechaBonito, rootPath} from '../../../../services/utils.js'\r\n\r\nconst NovedadResto = (props) => {\r\n\r\n const picto = ( props.item.CodTipoRegistro === \"MUV\" ? rootPath + \"img/novedad2.svg\" : (props.item.CodTipoRegistro === \"PPF\" ? rootPath + \"img/novedad3.svg\" : rootPath + \"img/novedad1.svg\"));\r\n const fecha = ( props.item.FechaAlta ? FormatoFechaBonito(props.item.FechaAlta) : '');\r\n\r\n const CambiaPaginaFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n });\r\n }\r\n\r\n \r\n return (\r\n
  • CambiaPaginaFicha(props.item)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n
    \r\n {fecha}\r\n

    \r\n {props.item.NombreCompleto}\r\n

    \r\n

    \r\n {props.item.TipoRegistro}\r\n

    \r\n
    \r\n
  • \r\n );\r\n};\r\n\r\nexport default NovedadResto;\r\n","import NovedadResto from \"./NovedadResto\";\r\n\r\nconst NovedadesInicioCuerpo = (props) => {\r\n const listaNovedades = props.lista;\r\n\r\n const novedades = listaNovedades ? (\r\n listaNovedades.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n\r\n \r\n return (\r\n
    \r\n
      \r\n {novedades}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n export default NovedadesInicioCuerpo;\r\n \r\n ","import { rootPath } from \"../../../../services/utils\";\r\n\r\nconst NovedadesInicioPie = (props) => {\r\n\r\n const vesAUltimoMes = (codigo) =>{\r\n CambiaPaginaSimple(\"BNovedadesUltimoMes\")\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n vesAUltimoMes()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowRightWhite\"\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadesInicioPie;\r\n ","import React, { useEffect, useState } from \"react\";\r\nimport NovedadesInicioCabecera from \"./NovedadesInicioCabecera\";\r\nimport NovedadesInicioCuerpo from \"./NovedadesInicioCuerpo\";\r\nimport NovedadesInicioPie from \"./NovedadesInicioPie\";\r\nimport BP2022Service, {getNovedades} from \"../../../../services/user.service\";\r\n\r\nconst NovedadesInicio = (props) => {\r\n const [listaNovedades, setListaNovedades] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaNovedades();\r\n }, [])\r\n \r\n const descargaNovedades = () => {\r\n BP2022Service.getNovedades()\r\n .then((response) => {\r\n setListaNovedades(response.data.Resultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const primerasNovedades = listaNovedades ? (\r\n listaNovedades.slice(0,2)\r\n ):(\r\n null\r\n );\r\n \r\n const restoNovedades = listaNovedades ? (\r\n listaNovedades.slice(2)\r\n ):(\r\n null\r\n );\r\n \r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadesInicio;\r\n ","import {FormatoFechaDDMMYYYY} from '../../../../services/utils.js'\r\n\r\nconst ProblemaSuministro = (props) => {\r\n const ano = ( props.item.FechaFinPS ? props.item.FechaFinPS.substring(0,4) : '');\r\n const fecha = ( ano>1900 ? \"Finalización prevista: \" + FormatoFechaDDMMYYYY (props.item.FechaFinPS) : '');\r\n\r\n const CambiaPaginaFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n });\r\n }\r\n\r\n\r\n return (\r\n
  • CambiaPaginaFicha(props.item)} style={{cursor:'pointer'}}>\r\n

    \r\n {props.item.NombreCompleto}\r\n

    \r\n

    \r\n {fecha}\r\n

    \r\n
  • \r\n );\r\n};\r\n\r\nexport default ProblemaSuministro;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport ProblemaSuministro from \"./ProblemaSuministro\";\r\nimport BP2022Service, {getProductosConPS} from \"../../../../services/user.service\";\r\nimport { PerfilUsuario, rootPath } from \"../../../../services/utils\";\r\n\r\nconst ProblemasSuministroInicio = (props) => {\r\n const [listaItems, setListaItems] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaPS();\r\n }, [])\r\n \r\n const descargaPS = () => {\r\n BP2022Service.getProductosConPS(6)\r\n .then((response) => {\r\n setListaItems(response.data.Resultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const problemas = listaItems ? (\r\n listaItems.map(fila => )\r\n ):(\r\n
    \r\n );\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n \r\n const vesAUltimoMes = (codigo) =>{\r\n //CambiaPaginaSimple(\"BMedicamentosPSUltimoMes\")\r\n CambiaPaginaSimple(\"FBProblemasSumMUH\")\r\n }\r\n\r\n const rol = PerfilUsuario();\r\n const classButton = (rol === \"COL\" ? \"button button__arrow button__grey\" : \"button button__arrow button__purple\")\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ProblemasSuministroInicio;\r\n\r\n","import NovedadesInicio from \"./Novedades/NovedadesInicio\";\r\nimport ProblemasSuministroInicio from \"./ProblemasSuministro/ProblemasSuministroInicio\";\r\n\r\nconst NovedadesYProblemasSuministro = (props) => {\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadesYProblemasSuministro;\r\n","import {FormatoFechaBonito} from '../../../../services/utils.js'\r\n\r\nconst Nota = (props) => {\r\n const ano = ( props.item.Fecha ? props.item.Fecha.substring(0,4) : '');\r\n const fecha = ( ano>1900 ? FormatoFechaBonito (props.item.Fecha) : '');\r\n const tipoDoc = (props.item.IdTipo===15 ? \"Nota seguridad AEMPS\": \r\n (props.item.IdTipo===30 ? \"Alerta de calidad\" : \r\n (props.item.IdTipo===41 ? \"Nota de seguridad veterinaria\" : \r\n (props.item.IdTipo===44 ? \"Nota informativa AEMPS\" : \r\n (props.item.IdTipo===48 ? \"Nota informativa AESAN\" : \r\n (props.item.IdTipo===64 ? \"Nota informativa AEMPS\" : \r\n \"Otro\"\r\n ))))))\r\n var titulo = (props.item.Titulo.toLowerCase().endsWith(\".pdf\") ? props.item.Titulo.substring(0,props.item.Titulo.length - 4) : props.item.Titulo) \r\n\r\n if (titulo.substring(0,17).toUpperCase()===\"NOTA INFORMATIVA \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,15).toUpperCase()===\"NOTA SEGURIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,14).toUpperCase()===\"NOTA SEGURIDA \")\r\n titulo = titulo.substring(14);\r\n else if (titulo.substring(0,5).toUpperCase()===\"NOTA \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,3).toUpperCase()===\"NI \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,15).toUpperCase()===\"ALERTA CALIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,23).toUpperCase()===\"ALERTA DE MEDICAMENTOS \")\r\n titulo = titulo.substring(23);\r\n else if (titulo.substring(0,21).toUpperCase()===\"ALERTA DE VIGILANCIA \")\r\n titulo = titulo.substring(21);\r\n else if (titulo.substring(0,7).toUpperCase()===\"ALERTA \")\r\n titulo = titulo.substring(7);\r\n else if (titulo.substring(0,18).toUpperCase()===\"AMPLIACION ALERTA \")\r\n titulo = \"Ampliación alerta \" + titulo.substring(18);\r\n else if (titulo.substring(0,11).toUpperCase()===\"AMPLIACION \")\r\n titulo = \"Ampliación \" + titulo.substring(11);\r\n\r\n if (titulo !== \"\")\r\n titulo = titulo.substring(0,1) + titulo.substring(1);\r\n\r\n \r\n\r\n return (\r\n\r\n
  • \r\n \r\n \r\n {fecha}\r\n \r\n

    \r\n

    \r\n {titulo}\r\n

    \r\n

    \r\n {tipoDoc}\r\n

    \r\n
    \r\n
  • \r\n );\r\n};\r\n\r\nexport default Nota;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Nota from \"./Nota\";\r\nimport BP2022Service, {getUltimasNotasYAlertas} from \"../../../../services/user.service\";\r\nimport { rootPath } from \"../../../../services/utils\";\r\n\r\nconst NotasSeguridadYAlertasCalidad = (props) => {\r\n const [listaItems, setListaItems] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaNotasYAlertas();\r\n }, [])\r\n \r\n const descargaNotasYAlertas = () => {\r\n BP2022Service.getUltimasNotasYAlertas(3)\r\n .then((response) => {\r\n setListaItems(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const notas = listaItems ? (\r\n listaItems.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n const vesAUltimoMes = (codigo) =>{\r\n CambiaPaginaSimple(\"FBDocumentos\")\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"alertas\"\r\n
    \r\n
    \r\n

    Notas de seguridad y Alertas de calidad

    \r\n
    \r\n
    \r\n
      \r\n {notas}\r\n
    \r\n
    \r\n vesAUltimoMes()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowRightWhite\"\r\n \r\n
    \r\n
    \r\n
    \r\n\t
    \r\n );\r\n};\r\n \r\nexport default NotasSeguridadYAlertasCalidad;\r\n ","import FormBusquedaYPreferidos from \"./Principal/FormBusquedaYPreferidos\";\r\nimport NovedadesYProblemasSuministro from \"./Apartados/NovedadesYProblemasSuministro\";\r\nimport NotasSeguridadYAlertasCalidad from \"./Apartados/NotasYAlertas/NotasSeguridadYAlertasCalidad\";\r\n\r\nconst Inicio = (props) => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Inicio;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport BusqMedsService from \"../../../services/user.service\";\r\nimport SugerenciasService from \"../../../services/sugerencias.service\";\r\nimport Sugerencias from \"../../Utilidades/Sugerencias/Sugerencias\";\r\nimport { rootPath } from \"../../../services/utils\";\r\n\r\nconst FormCabeceraResultados = (props) => {\r\n const [texto, setTexto] = useState(props.infoPagina.texto);\r\n const [listaSugerencias, setListaSugerencias] = useState(null);\r\n if (props.infoPagina.fuerzaTexto)\r\n {\r\n if (props.infoPagina.texto != null)\r\n {\r\n if (props.infoPagina.texto != texto)\r\n {\r\n setTexto(props.infoPagina.texto);\r\n }\r\n }\r\n }\r\n\r\n const onChangeTexto = (e) => {\r\n //props.infoPagina.texto = e.target.value;\r\n props.infoPagina.fuerzaTexto = false;\r\n setTexto(e.target.value.replace('%',' '));\r\n SugerenciasService.getPalabras(encodeURIComponent(texto),\"TOT\").then((response) => {\r\n setListaSugerencias(response.data);\r\n })\r\n };\r\n\r\n const verResultados = (lista) =>{\r\n props.cambiaPagina({\r\n newpagina: \"BInicio\",\r\n newlista: lista,\r\n texto: texto,\r\n });\r\n };\r\n\r\n const compruebaSiEnter = (e) => {\r\n if (e.key === 'Enter')\r\n busqueda();\r\n }\r\n \r\n const busqueda = () => {\r\n var auxtexto = texto.replace('%',' ') //encodeURI(texto)\r\n if (auxtexto)\r\n if (auxtexto.trim().length > 0)\r\n props.cambiaPagina({\r\n newpagina: \"BInicio\",\r\n newlista: null,\r\n texto: auxtexto,\r\n opb: BusqMedsService.getOpcionBusqueda(),\r\n });\r\n \r\n };\r\n\r\n return (\r\n
    \r\n compruebaSiEnter(e)} \r\n />\r\n \"\" busqueda()} style={{cursor:'pointer'}}/>\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default FormCabeceraResultados;\r\n","const TituloBusqueda = (props) => {\r\n const tipo = props.infoPagina.codigoPagina.substring(props.infoPagina.codigoPagina.length-1,props.infoPagina.codigoPagina.length);\r\n\r\n\r\n const imagen = (props.infoPagina.codigoPagina===\"BEnfermedadesPATH\") ?\r\n \"/img/ficha/enfHumana.png\"\r\n : (props.infoPagina.codigoPagina===\"BEnfermedadesPATV\") ?\r\n \"/img/ficha/enfVet.png\"\r\n : (props.infoPagina.codigoPagina===\"BDocumentos\") ?\r\n \"/img/ficha/alertas.svg\"\r\n : (tipo === \"V\") ?\r\n \"/img/ficha/dog.svg\"\r\n : (tipo===\"F\") ?\r\n \"/img/ficha/paraf.png\"\r\n : \r\n \"/img/ficha/human.svg\";\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {props.infoPagina.titulo}

    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TituloBusqueda;\r\n","import React, { useState } from \"react\";\r\nimport VolverCabeceraResultados from \"./VolverCabeceraResultados\";\r\nimport FormCabeceraResultados from \"./FormCabeceraResultados\";\r\nimport MisBuscadoresCabeceraResultados from \"./MisBuscadoresCabeceraResultados\";\r\nimport TituloBusqueda from \"./TituloBusqueda\";\r\n\r\n\r\nconst CabeceraResultados = (props) => {\r\n var textoVolver = \"\"\r\n if (props.infoPagina.tipoPagina===\"Ficha\")\r\n textoVolver=\"Volver\";\r\n\r\n if (props.infoPagina.tipoPagina===\"ResultadosBusqueda\")\r\n textoVolver = \"Volver\";\r\n\r\n if ((props.infoPagina.codigoPagina === \"BNovedadesUltimoMes\")\r\n ||(props.infoPagina.codigoPagina === \"BMedicamentosPSUltimoMes\"))\r\n textoVolver = \"Modificar fechas búsqueda\"\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {\r\n (props.infoPagina.titulo) && (props.infoPagina.titulo!=\"\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraResultados;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaFM = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [id,],\r\n });\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    CambiaPaginaPorId('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n Interacciones\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaFM;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../services/utils\";\r\n\r\nconst AvisoPriciosFuturos = (props) => {\r\n const fecha = props.fecha;\r\n return (\r\n
    \r\n \r\n icon/aviso\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nuevos precios a partir de {FormatoFechaDDMMYYYY(fecha)}\r\n
    \r\n )\r\n}\r\nexport default AvisoPriciosFuturos;\r\n","import { numberWithCommas } from \"../../../services/utils\";\r\nimport AvisoPreciosFuturos from \"../FichaMUH/InfoPrincipal/AvisoPreciosFuturos\";\r\n\r\nconst PreciosFM = (props) => {\r\n const ficha = props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos !== null)\r\n const tienePMenorCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMenor>0))\r\n const literalPMenor = (ficha.AgrupacionCCAA ? (!ficha.AgrupacionCCAA.LiteralPMenor || ficha.AgrupacionCCAA.LiteralPMenor === '') ? (ficha.IdCCAA===5 || ficha.IdCCAA===18 || ficha.IdCCAA===19 ? 'PVP': 'PVP con IVA') : ficha.AgrupacionCCAA.LiteralPMenor : '');\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n {(tienePreciosFuturos ?\r\n \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    {ficha.CCAA}

    \r\n
    \r\n {(!ficha.LiteralPrecioFM || ficha.LiteralPrecioFM === \"\") ?\r\n
    \r\n

    {literalPMenor}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMenorCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n :\r\n
    \r\n

    {ficha.LiteralPrecioFM}

    \r\n {\r\n (ficha.PVPIVA>0 ?\r\n

    {numberWithCommas(ficha.PVPIVA)}

    \r\n : \r\n

    -

    \r\n )\r\n }\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.PVPIVA>0 ?\r\n

    {numberWithCommas(ficha.PFuturos.PVPIVA)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n \r\n )}\r\n {(ficha.PVPIVA>0 ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default PreciosFM;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaMUV = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {(\r\n ficha.Prospecto ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FichaTecnica ?\r\n \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaMUV;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaPA = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n var link = \"BPAMUH\";\r\n switch (ficha.CodTipoRegistro){\r\n case \"PAH\":\r\n link = \"BPAMUH\";\r\n break;\r\n case \"PAV\":\r\n link = \"BPAMUV\";\r\n break;\r\n case \"ASO\":\r\n case \"ASOH\":\r\n link = \"BAsoMUH\";\r\n break;\r\n case \"ASOV\":\r\n link = \"BAsoMUV\";\r\n break;\r\n case \"ING\":\r\n link = \"BIngPPF\";\r\n break;\r\n }\r\n\r\n const CambiaPaginaInteracciones = (pagina, id) => {\r\n var idInter = id;\r\n switch (ficha.CodTipoRegistro){\r\n case \"PAH\":\r\n idInter = id;\r\n break;\r\n case \"ASO\":\r\n case \"ASOH\":\r\n idInter = id + 1000000;\r\n break;\r\n case \"ING\":\r\n idInter = id + 2000000;\r\n break;\r\n }\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [idInter,],\r\n });\r\n }\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {(ficha.CodTipoRegistro === \"PAH\" || ficha.CodTipoRegistro === \"ASO\" || ficha.CodTipoRegistro === \"ASOH\" || ficha.Interactua) ?\r\n
    CambiaPaginaInteracciones('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Interacciones\r\n
    \r\n :\r\n
    \r\n }\r\n {(ficha.CodTipoRegistro !== \"ING\") ?\r\n
    CambiaPaginaPorId(link,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos \r\n
    \r\n :\r\n
    CambiaPaginaPorId(link,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Productos \r\n
    \r\n }\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaPA;\r\n","const FilaTablaTipoDyF = (props) => {\r\n const claseValor = (props.fila.valor === props.fila.valorPositivo ? \r\n \"col-d positivo\"\r\n :\r\n \"col-d\"\r\n )\r\n\r\n const estiloValor = (props.estiloValor ? props.estiloValor : {});\r\n\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor}
    \r\n
    \r\n )\r\n}\r\nexport default FilaTablaTipoDyF;\r\n","import FilaTablaTipoDyF from \"../FichaMUH/InfoPrincipal/FilaTablaTipoDyF\";\r\n\r\nconst TablaInfoPrincipalPA = (props) => {\r\n const ficha = props.ficha;\r\n const valorPsicotropo = (ficha.Psicotropo === \"Sí\") ? 'Sí. ' + ficha.EstupefacientePsicotropo.DescripcionPsicotropo : ficha.Psicotropo;\r\n const valorDopaje = (ficha.Dopaje === \"Sí\") ? 'Sí. ' + ficha.DescripcionDopaje.DescripcionPsicotropo : ficha.Dopaje;\r\n var tabla = [\r\n {\r\n titulo:'Dopaje',\r\n valor: valorDopaje,\r\n valorPositivo: (ficha.Dopaje === \"Sí\") ? 'Sí. ' + ficha.DescripcionDopaje.DescripcionPsicotropo : 'Sí',\r\n },\r\n {\r\n titulo:'Estupefaciente / Psicotropo',\r\n valor: valorPsicotropo,\r\n valorPositivo: (ficha.Psicotropo === \"Sí\") ? 'Sí. ' + ficha.EstupefacientePsicotropo.DescripcionPsicotropo : 'Sí',\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro === \"ASOV\" || ficha.CodTipoRegistro=== \"PAV\"){\r\n tabla = tabla.filter(item => item.valor !== \"No\");\r\n }\r\n\r\n const estiloValor = {width : '90%'};\r\n\r\n const tablaHTML = ((ficha.CodTipoRegistro === \"PAH\") ? \r\n tabla.map(fila => )\r\n : \r\n tabla.map(fila => )\r\n );\r\n if (tabla && tabla.length>0){ \r\n return (\r\n
    \r\n

    Características especiales

    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n )\r\n }else{\r\n return(<>);\r\n }\r\n\r\n}\r\nexport default TablaInfoPrincipalPA;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaPAT = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const linkIndic = (ficha.TipoPat === \"V\")? \"BIndicacionMUV\" : \"BIndicacionMUH\";\r\n const linkIndicPF = \"BIndicacionPPF\";\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n return (\r\n
    \r\n {ficha.TipoPat===\"H\" ?\r\n <>\r\n
    \r\n
    CambiaPaginaPorId(linkIndic,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos indicados \r\n
    \r\n
    CambiaPaginaPorId('BContraindicacionMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Contraindicados \r\n
    \r\n
    CambiaPaginaPorId('BPrecaucionMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Con uso precautorio \r\n
    \r\n
    CambiaPaginaPorId('BReaccionAdversaMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Que la incluyen como RAM \r\n
    \r\n
    \r\n {ficha.VisibleEnPF && ficha.TieneProductos ?\r\n
    \r\n
    CambiaPaginaPorId(linkIndicPF,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Productos \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n :\r\n
    \r\n
    CambiaPaginaPorId(linkIndic,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos indicados \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default LinksFichaPAT;\r\n","import FilaTablaTipoDyF from \"../FichaMUH/InfoPrincipal/FilaTablaTipoDyF\";\r\n\r\nconst TablaInfoPrincipalPAT = (props) => {\r\n const ficha = props.ficha;\r\n const tabla = [\r\n {\r\n titulo:'Especialidad',\r\n valor: ficha.EspecialidadMedica,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n const estiloValor = {width : '90%'};\r\n const tablaHTML = tabla.map(fila => )\r\n\r\n return (\r\n
    \r\n

    Características generales

    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaInfoPrincipalPAT;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaPPF = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const CambiaPaginaInteracciones = (pagina, id) => {\r\n var idInter = id + 2000000;\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [idInter,],\r\n });\r\n }\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n\r\n\r\n const tieneCompos = ((ficha.DatosComposicion) && (ficha.DatosComposicion.Composiciones) && (ficha.DatosComposicion.Composiciones.length>0))\r\n //console.log(ficha);\r\n return (\r\n
    \r\n
    \r\n {(ficha.Interactua) ?\r\n
    CambiaPaginaInteracciones('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Interacciones\r\n
    \r\n :\r\n
    \r\n }\r\n {(\r\n ficha.Prospecto ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FichaTecnica ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.IFU ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FolletoInformativo ?\r\n \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaPPF;\r\n","import { getIdCCAA, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport AvisoPreciosFuturos from \"../FichaMUH/InfoPrincipal/AvisoPreciosFuturos\";\r\n\r\nconst PreciosPPF = (props) => {\r\n const ficha = props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos !== null)\r\n const tienePMenorCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMenor>0))\r\n const tienePMasBajoCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMasBajo>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0))\r\n const literalPMenor = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMenor:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMenor : 'Precio menor'):\r\n 'Precio menor'\r\n )\r\n const LiteralPMasBajo = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMasBajo:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMasBajo : 'Precio más bajo'):\r\n 'Precio más bajo'\r\n )\r\n\r\n const estiloPreciosAltos = {fontSize:'25px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n const estiloCuadroPrecios = (isMobile) ? {} : {maxWidth: '160px'}\r\n const estiloOtrosPrecios = (isMobile) ? {} : {maxWidth: '300px'}\r\n\r\n\r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = (ficha.LiteralPrecio) ? ficha.LiteralPrecio : (idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA facturación': 'PVP con IVA facturación';\r\n\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if ((idCCAA===18) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Ceuta\";\r\n if ((idCCAA===19) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Melilla\";\r\n\r\n var preciofuturoAMostrar = 0;\r\n if (tienePreciosFuturos){\r\n preciofuturoAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PFuturos.PVPsinIVA: ficha.PFuturos.PVPIVA);\r\n }\r\n \r\n return (\r\n
    \r\n
    \r\n

    \r\n {literalPVPIVA}\r\n { \r\n (ficha.InfoPrecio && ficha.InfoPrecio !== '') ?\r\n props.abreEmergenteInfoPrecio(e)}>\r\n \"\"/\r\n \r\n :\r\n <>\r\n }\r\n

    \r\n {(precioAMostrar>0) ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

    -

    \r\n }\r\n {(tienePreciosFuturos && preciofuturoAMostrar !== precioAMostrar ?\r\n (preciofuturoAMostrar>0) ?\r\n

    {numberWithCommas(preciofuturoAMostrar)}

    \r\n :\r\n

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n
    \r\n {(tienePreciosFuturos ?\r\n \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    {ficha.CCAA}

    \r\n
    \r\n
    \r\n

    {literalPMenor}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMenor!==ficha.AgrupacionCCAA.PVPMenor) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMenorCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n

    {LiteralPMasBajo}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMasBajo>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo !== ficha.AgrupacionCCAA.PVPMasBajo) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMasBajoCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default PreciosPPF;\r\n","import FilaTablaTipoDyF from \"./FilaTablaTipoDyF\";\r\n\r\nconst DispensacionFacturacion = (props) => {\r\n const ficha = props.ficha;\r\n const tabla = [\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Dispensable en farmacia comunitaria',\r\n valor: ficha.Dispensable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Sustituible',\r\n valor: ficha.Sustituible,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n const tablaV = [\r\n {\r\n titulo:'Receta veterinaria',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Dispensable en farmacia comunitaria',\r\n valor: ficha.Dispensable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n const tablaFM = [\r\n {\r\n titulo:'Interoperable',\r\n valor: ficha.Interoperable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Anotación en libro recetario',\r\n valor: ficha.LibroRecetario,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n if (!ficha.Interoperable) tablaFM.splice(0,1);\r\n\r\n const tablaPF = [\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Dispensable en farmacia comunitaria',\r\n valor: ficha.Dispensable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro === \"MHO\"){\r\n tabla.splice(3,3);\r\n }\r\n\r\n const tablaHTML = ((ficha.CodTipoRegistro === \"MUV\") ? \r\n tablaV.map(fila => )\r\n : \r\n (((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\")) ? \r\n tablaFM.map(fila => )\r\n :\r\n ((ficha.CodTipoRegistro === \"PPF\") ? \r\n tablaPF.map(fila => )\r\n :\r\n tabla.map(fila => )\r\n )\r\n )\r\n );\r\n return (\r\n
    \r\n

    Condiciones de dispensación y facturación

    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default DispensacionFacturacion;\r\n","import { PerfilUsuario, rootPath } from \"../../../../services/utils\";\r\n\r\nconst LinksFichaMUH = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const CambiaPaginaInteracciones = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [id,],\r\n });\r\n }\r\n\r\n const perfil = PerfilUsuario();\r\n\r\n const colorlink = (perfil === \"COLx\" ? {color: '#999999', textDecoration:'none'} : {textDecoration:'none'})\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {(\r\n ficha.CodTipoRegistro===\"MUH\" ?\r\n
    CambiaPaginaInteracciones('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}\r\n >\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Interacciones\r\n
    \r\n : <>\r\n )}\r\n {(\r\n ficha.CodTipoRegistro===\"MUH\" ?\r\n
    CambiaPaginaPorId('BExtranjerosEXT',ficha.Id)} style={{cursor:'pointer'}}\r\n >\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos extranjeros\r\n
    \r\n : <>\r\n )}\r\n {(\r\n ficha.Prospecto ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FichaTecnica ?\r\n \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaMUH;\r\n","import { getIdCCAA, numberWithCommas, numberWithCommas2, rootPath } from \"../../../../services/utils\";\r\nimport AvisoPreciosFuturos from \"./AvisoPreciosFuturos\";\r\n\r\nconst PreciosResumen = (props) => {\r\n const ficha = props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos !== null)\r\n const tienePMenorCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMenor>0))\r\n const tienePMasBajoCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMasBajo>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0))\r\n const tienePFacturacion = ((ficha.PFact>0)||(tienePreciosFuturos) && (ficha.PFuturos.PFact>0));\r\n const ambitoHospitalario = ((ficha.DatosF && ficha.DatosF.some(e => e.CodigoDato === 'H' || e.CodigoDato === 'EC') ? false : false));\r\n const literalPMenor = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMenor:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMenor : 'Precio menor'):\r\n 'Precio menor'\r\n )\r\n const LiteralPMasBajo = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMasBajo:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMasBajo : 'Precio más bajo'):\r\n 'Precio más bajo'\r\n )\r\n\r\n const estiloPreciosAltos = {fontSize:'25px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n \r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA': 'PVP con IVA');\r\n if (ambitoHospitalario) literalPVPIVA = \"PVL\";\r\n\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if (ambitoHospitalario) precioAMostrar = ficha.PVL\r\n\r\n var preciofuturoAMostrar = 0;\r\n if (tienePreciosFuturos){\r\n preciofuturoAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PFuturos.PVPsinIVA: ficha.PFuturos.PVPIVA);\r\n if (ambitoHospitalario) preciofuturoAMostrar = ficha.PFuturos.PVL;\r\n }\r\n \r\n if (ficha.DatosF){\r\n if (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0){\r\n literalPVPIVA = literalPVPIVA + ' notificado';\r\n }\r\n }\r\n \r\n var idCCAA = getIdCCAA();\r\n\r\n const precioAComparar = (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0) ? \r\n (idCCAA==5 && ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMasBajo>0 && (ficha.DatosF.filter(e => e.CodigoDato === 'INSNS').length > 0)) ?\r\n ficha.AgrupacionCCAA.PVPMasBajo\r\n :\r\n ficha.PFact \r\n : \r\n (idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? \r\n ficha.PVPsinIVA \r\n : \r\n ficha.PFact //ficha.PVPIVA\r\n const precioAComparar2 = (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0) ? ficha.PFact : ficha.PFact //ficha.PVPIVA\r\n const mostrarAvisoPMenorAuto = (ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0 && precioAComparar>0 && ficha.AgrupacionCCAA.PVPMenor0 && precioAComparar>0 && ficha.AgrupacionCCAA.PVPMasBajo0 && precioAComparar2>0 && ficha.AgrupacionNacional.PVPMenor0 && precioAComparar2>0 && ficha.AgrupacionNacional.PVPMasBajo\r\n {((mostrarAvisoPMasBajoAuto || mostrarAvisoPMenorAuto) ?\r\n

    \r\n {avisoprecioauto}\r\n

    \r\n :\r\n <>\r\n )}\r\n {((mostrarAvisoPMasBajoNac || mostrarAvisoPMenorNac) ?\r\n

    \r\n {avisoprecionac}\r\n

    \r\n :\r\n <>\r\n )}\r\n \r\n :\r\n <>\r\n );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n {literalPVPIVA}\r\n { \r\n (ficha.InfoPrecio && ficha.InfoPrecio !== '') ?\r\n props.abreEmergenteInfoPrecio(e)}>\r\n \"\"/\r\n \r\n :\r\n <>\r\n }\r\n

    \r\n {(precioAMostrar>0) ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

    -

    \r\n }\r\n {(tienePreciosFuturos && preciofuturoAMostrar !== precioAMostrar ?\r\n (preciofuturoAMostrar>0) ?\r\n

    {numberWithCommas(preciofuturoAMostrar)}

    \r\n :\r\n

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n
    \r\n {(tienePreciosFuturos && \r\n (ficha.PFuturos.PVPIVA>0 || ficha.PFuturos.PVPsinIVA>0 || ficha.PFuturos.PFact>0 || \r\n (ficha.PFuturos.AgrupacionCCAA && \r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor > 0 || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo > 0))) ?\r\n \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    Precio facturación

    \r\n {(tienePFacturacion && ficha.PFact>0) ?\r\n

    {numberWithCommas(ficha.PFact)}

    \r\n :\r\n

    -

    \r\n }\r\n {((tienePreciosFuturos && ficha.PFuturos.PFact>0 && ficha.PFuturos.PFact !== ficha.PFact) ?\r\n

    {numberWithCommas(ficha.PFuturos.PFact)}

    \r\n :\r\n

    \r\n )}\r\n {tienePFacturacion ?\r\n

    EUR

    \r\n : \r\n \r\n } \r\n
    \r\n {(ficha.CodTipoRegistro !== \"MHO\") ?\r\n
    \r\n

    {ficha.CCAA}

    \r\n
    \r\n
    \r\n

    {literalPMenor}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMenor!==ficha.AgrupacionCCAA.PVPMenor) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMenorCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n

    {LiteralPMasBajo}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMasBajo>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo !== ficha.AgrupacionCCAA.PVPMasBajo) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMasBajoCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n
    \r\n {infoAvisoPrecio}\r\n
    \r\n)\r\n}\r\nexport default PreciosResumen;\r\n","import { rootPath } from \"../../../../services/utils\";\r\n\r\nconst ItemTablaDF = (props) => {\r\n const item = props.item;\r\n const claseDiv = item.valor ? \"bloque green\" : \"bloque\";\r\n const srcImgTooltip = item.valor ? rootPath + \"img/checkGreen.svg\" : rootPath + \"img/checkKo.svg\" ;\r\n return (\r\n
    {item.sigla}\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {item.texto}

    \r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default ItemTablaDF;\r\n","import ItemTablaDF from \"./ItemTablaDF\";\r\n\r\nconst TablaDatosFarmaceuticos = (props) => {\r\n const ficha = props.ficha;\r\n const tabla = [\r\n /*{\r\n sigla: 'A',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'A').length > 0),\r\n texto: 'Psicotropo anexo 2',\r\n },*/\r\n {\r\n sigla: 'AR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AR').length > 0),\r\n texto: 'Aportación reducida',\r\n },\r\n {\r\n sigla: 'CPD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD').length > 0),\r\n texto: 'Visado de inspección',\r\n },\r\n {\r\n sigla: 'CPD75',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD75').length > 0),\r\n texto: 'Visado de inspección en mayores de 75 años',\r\n },\r\n {\r\n sigla: 'DH',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'DH').length > 0),\r\n texto: 'Diagnóstico hospitalario',\r\n },\r\n {\r\n sigla: 'DIHSC',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'DIHSC').length > 0),\r\n texto: 'Reserva singular financiado solo en hospital',\r\n },\r\n {\r\n sigla: 'E',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'E').length > 0),\r\n texto: 'Estupefaciente',\r\n },\r\n {\r\n sigla: 'EC',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EC').length > 0),\r\n texto: 'Envase clínico',\r\n },\r\n {\r\n sigla: 'EFG',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EFG').length > 0),\r\n texto: 'Medicamento genérico',\r\n },\r\n {\r\n sigla: 'EXO',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXO').length > 0),\r\n texto: 'Excluido SNS',\r\n },\r\n {\r\n sigla: 'EXOI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXOI').length > 0),\r\n texto: 'Excluido SNS con indicaciones financiadas',\r\n },\r\n {\r\n sigla: 'H',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'H').length > 0),\r\n texto: 'Uso hospitalario',\r\n },\r\n {\r\n sigla: 'INSNS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INSNS').length > 0),\r\n texto: 'Incluido SNS',\r\n },\r\n {\r\n sigla: 'IP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IP').length > 0),\r\n texto: 'Importación paralela',\r\n },\r\n {\r\n sigla: 'LE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LE').length > 0),\r\n texto: 'Anotación en libro estupefacientes',\r\n },\r\n {\r\n sigla: 'LR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LR').length > 0),\r\n texto: 'Anotación en libro recetario',\r\n },\r\n {\r\n sigla: 'MSP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSP').length > 0),\r\n texto: 'Medicamento susceptible de publicidad al público',\r\n },\r\n {\r\n sigla: 'MSR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR').length > 0),\r\n texto: 'Medicamento sin receta médica',\r\n },\r\n /*{\r\n sigla: 'MSR_L',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR_L').length > 0),\r\n texto: 'Medicamento sin receta limitación AEMPS venta web',\r\n },*/\r\n {\r\n sigla: 'MTP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MTP').length > 0),\r\n texto: 'Medicamento tradicional plantas',\r\n },\r\n {\r\n sigla: 'P',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'P').length > 0),\r\n texto: 'Psicótropo',\r\n },\r\n {\r\n sigla: 'PN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0),\r\n texto: 'Medicamento con precio notificado',\r\n },\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta médica',\r\n },\r\n {\r\n sigla: 'R_GIE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R_GIE').length > 0),\r\n texto: 'Medicamento con receta en guía indicación enfermería',\r\n },\r\n {\r\n sigla: 'TLD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'TLD').length > 0),\r\n texto: 'Tratamiento de larga duración',\r\n },\r\n {\r\n sigla: 'UNI-D',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'UNI-D').length > 0),\r\n texto: 'Medicamento autorizado en unidosis',\r\n },\r\n {\r\n sigla: 'VERIF',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'VERIF').length > 0),\r\n texto: 'Debe llevar dispositivos de seguridad',\r\n },\r\n {\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n },\r\n ]\r\n\r\n\r\n if (ficha.IdCCAA === 1){\r\n tabla.push({\r\n sigla: 'CPD_A',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD_A').length > 0),\r\n texto: 'Visado de inspección SAS',\r\n })\r\n }\r\n /*\r\n if (ficha.IdCCAA === 2){\r\n tabla.push({\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 3){\r\n tabla.push({\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n })\r\n }\r\n */\r\n\r\n if (ficha.IdCCAA === 5){\r\n tabla.push({\r\n sigla: 'FI_CA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_CA').length > 0),\r\n texto: 'Financiado Canarias (PAFCAN)',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 8){\r\n tabla.push({\r\n sigla: 'NO_D',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NO_D').length > 0),\r\n texto: 'No dispensable, sustitución obligatoria',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 12){\r\n tabla.push({\r\n sigla: 'CATPR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CATPR').length > 0),\r\n texto: 'Medicamento en catálogo priorizado',\r\n });\r\n tabla.push({\r\n sigla: 'NODIS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NODIS').length > 0),\r\n texto: 'No dispensable por catálogo priorizado',\r\n });\r\n }\r\n\r\n if (ficha.IdCCAA === 13){\r\n tabla.push({\r\n sigla: 'CPDM',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPDM').length > 0),\r\n texto: 'Autovisado. Comunidad de Madrid',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 10){\r\n tabla.push({\r\n sigla: 'MF_VA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MF_VA').length > 0),\r\n texto: 'Incluido disfunción eréctil lesionados medulares',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 7){\r\n tabla.push({\r\n sigla: 'MF_VA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MF_VA').length > 0),\r\n texto: 'Incluido disfunción eréctil lesionados medulares',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 15){\r\n tabla.push({\r\n sigla: 'IN_NA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IN_NA').length > 0),\r\n texto: 'Prestación farmacológica de ayuda a dejar de fumar',\r\n })\r\n }\r\n\r\n /*\r\n if (ficha.IdCCAA === 17){\r\n tabla.push({\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n })\r\n }\r\n */\r\n\r\n\r\n const tablaV = [\r\n {\r\n sigla: 'ACV',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'ACV').length > 0),\r\n texto: 'Administración bajo control del veterinario',\r\n },\r\n {\r\n sigla: 'AEV',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AEV').length > 0),\r\n texto: 'Administración exclusiva por el veterinario',\r\n },\r\n {\r\n sigla: 'E',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'E').length > 0),\r\n texto: 'Estupefaciente',\r\n },\r\n {\r\n sigla: 'P',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'P').length > 0),\r\n texto: 'Psicótropo',\r\n },\r\n {\r\n sigla: 'LE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LE').length > 0),\r\n texto: 'Anotación en libro estupefacientes',\r\n },\r\n {\r\n sigla: 'LR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LR').length > 0),\r\n texto: 'Anotación en libro recetario',\r\n },\r\n {\r\n sigla: 'IP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IP').length > 0),\r\n texto: 'Importación paralela',\r\n },\r\n {\r\n sigla: 'MSR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR').length > 0),\r\n texto: 'Medicamento sin receta veterinaria',\r\n },\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta veterinaria',\r\n },\r\n {\r\n sigla: 'HSI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'HSI').length > 0),\r\n texto: 'Medicamento homeopático sin indicaciones aprobadas',\r\n }\r\n ]\r\n\r\n const tablaPF = [\r\n {\r\n sigla: 'INSNS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INSNS').length > 0),\r\n texto: 'Incluido SNS',\r\n },\r\n {\r\n sigla: 'EXO',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXO').length > 0),\r\n texto: 'Excluido SNS',\r\n },\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta médica',\r\n },\r\n {\r\n sigla: 'ANUL',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'ANUL').length > 0),\r\n texto: 'Aportación nula',\r\n },\r\n {\r\n sigla: 'AR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AR').length > 0),\r\n texto: 'Aportación reducida',\r\n },\r\n {\r\n sigla: 'AN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AN').length > 0),\r\n texto: 'Aportación normal',\r\n },\r\n {\r\n sigla: 'CPD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD').length > 0),\r\n texto: 'Visado de inspección',\r\n },\r\n ]\r\n\r\n if (ficha.IdCCAA === 1){\r\n tablaPF.push({\r\n sigla: 'SAS-B',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'SAS-B').length > 0),\r\n texto: 'Andalucia, baja facturable un año',\r\n })\r\n tablaPF.push({\r\n sigla: 'SAS-V',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'SAS-V').length > 0),\r\n texto: 'Andalucia, visado',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 2){\r\n tablaPF.push({\r\n sigla: 'H ARA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'H ARA').length > 0),\r\n texto: 'Aragón, dieta hospitalaria para salud',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 5){\r\n tablaPF.push({\r\n sigla: 'EXCAN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXCAN').length > 0),\r\n texto: 'Canarias, excluido SCS',\r\n })\r\n tablaPF.push({\r\n sigla: 'INCAN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INCAN').length > 0),\r\n texto: 'MUFACE, ISFAS, MUGEJU: visado y aportación nula',\r\n })\r\n tablaPF.push({\r\n sigla: 'IN-CA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IN-CA').length > 0),\r\n texto: 'SCS sin visado y aportación nula',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 8){\r\n tablaPF.push({\r\n sigla: 'NO_D',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NO_D').length > 0),\r\n texto: 'No dispensable, sustitución obligatoria',\r\n });\r\n }\r\n\r\n if (ficha.IdCCAA === 9){\r\n tablaPF.push({\r\n sigla: 'EXCAT',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXCAT').length > 0),\r\n texto: 'Excluido oferta CatSalut',\r\n })\r\n tablaPF.push({\r\n sigla: 'INCAT',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INCAT').length > 0),\r\n texto: 'Incluido oferta CatSalut, validació sanit',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 12){\r\n tablaPF.push({\r\n sigla: 'GA-LI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'GA-LI').length > 0),\r\n texto: 'Financiado en oficina de farmacia SERGAS',\r\n })\r\n tablaPF.push({\r\n sigla: 'GA-PS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'GA-PS').length > 0),\r\n texto: 'No financiado en oficina de farmacia SERGAS',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 16){\r\n tablaPF.push({\r\n sigla: 'NDD_R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NDD_R').length > 0),\r\n texto: 'No dispensar dietoterápicos paciente residenciado',\r\n })\r\n }\r\n\r\n const tablaFM = [\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta médica',\r\n },\r\n {\r\n sigla: 'MSR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR').length > 0),\r\n texto: 'Medicamento sin receta médica',\r\n },\r\n {\r\n sigla: 'LR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LR').length > 0),\r\n texto: 'Anotación en libro recetario',\r\n },\r\n {\r\n sigla: 'FM_FI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_FI').length > 0),\r\n texto: 'Incluido SNS',\r\n },\r\n {\r\n sigla: 'FM_PI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_PI').length > 0),\r\n texto: 'Incluido SNS por indicación',\r\n },\r\n {\r\n sigla: 'AR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_AR').length > 0),\r\n texto: 'Aportación reducida',\r\n },\r\n {\r\n sigla: 'AN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_AN').length > 0),\r\n texto: 'Aportación normal',\r\n },\r\n {\r\n sigla: 'CPD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD').length > 0),\r\n texto: 'Visado de inspección',\r\n },\r\n ]\r\n\r\n const tablaHTML = ((ficha.CodTipoRegistro === \"MUV\") ?\r\n tablaV.map(item => )\r\n :(ficha.CodTipoRegistro === \"PPF\") ? \r\n tablaPF.map(item => )\r\n :(ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\")? \r\n tablaFM.map(item => )\r\n :\r\n tabla.map(item => )\r\n );\r\n return (\r\n
    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n)\r\n}\r\nexport default TablaDatosFarmaceuticos;\r\n","import { rootPath } from \"../../../../services/utils\";\r\nimport Ficha from \"../../Ficha\";\r\nimport LinksFichaFM from \"../../FichaFM/LinksFichaFM\";\r\nimport PreciosFM from \"../../FichaFM/PreciosFM\";\r\nimport LinksFichaMUV from \"../../FichaMUV/LinksFichaMUV\";\r\nimport LinksFichaPA from \"../../FichaPA/LinksFichaPA\";\r\nimport TablaInfoPrincipalPA from \"../../FichaPA/TablaInfoPrincipalPA\";\r\nimport LinksFichaPAT from \"../../FichaPAT/LinksFichaPAT\";\r\nimport TablaInfoPrincipalPAT from \"../../FichaPAT/TablaInfoPrincipalPAT\";\r\nimport LinksFichaPPF from \"../../FichaPPF/LinksFichaPPF\";\r\nimport PreciosPPF from \"../../FichaPPF/PreciosPPF\";\r\nimport DispensacionFacturacion from \"./DispensacionFacturacion\";\r\nimport LinksFichaMUH from \"./LinksFichaMUH\";\r\nimport PreciosResumen from \"./PreciosResumen\";\r\nimport TablaDatosFarmaceuticos from \"./TablaDatosFarmaceuticos\";\r\n\r\nconst ResumenInfo = (props) => {\r\n const ficha = props.ficha;\r\n var textoEncabezado = ficha.TipoRegistro;\r\n if (ficha.CodTipoRegistro === \"PPF\")\r\n textoEncabezado = ficha.TipoPF;\r\n if (ficha.CodTipoRegistro === \"MUV\")\r\n if (ficha.Homeopatico === \"S\")\r\n textoEncabezado = \"Medicamento homeopático veterinario\";\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n const svgImagenV = (\r\n \r\n );\r\n const svgImagenPF = (\r\n \r\n );\r\n const svgImagenPAT = (\r\n \r\n );\r\n\r\n const svgImagenPATV = (\r\n \r\n );\r\n var svgImagen = svgImagenH;\r\n if ((ficha.CodTipoRegistro===\"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\"))\r\n svgImagen = svgImagenV;\r\n if ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\"))\r\n svgImagen = svgImagenPF;\r\n if ((ficha.CodTipoRegistro===\"PAT\")||(ficha.CodTipoRegistro===\"PATH\"))\r\n svgImagen = svgImagenPAT;\r\n if (ficha.CodTipoRegistro===\"PATV\")\r\n svgImagen = svgImagenPATV;\r\n\r\n return (\r\n
    \r\n
    \r\n {svgImagen}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n {((ficha.CodTipoRegistro === \"MUV\") \r\n || (ficha.CodTipoRegistro === \"PAH\")\r\n || (ficha.CodTipoRegistro === \"ASO\")\r\n || (ficha.CodTipoRegistro === \"ASOH\")\r\n || (ficha.CodTipoRegistro === \"ASOV\")\r\n || (ficha.CodTipoRegistro === \"PAT\")\r\n || (ficha.CodTipoRegistro === \"PATH\")\r\n || (ficha.CodTipoRegistro === \"PATV\")\r\n || (ficha.CodTipoRegistro === \"ING\")\r\n || ((ficha.CodTipoRegistro === \"MHO\") && (ficha.PVPIVA === 0) && (ficha.PVPsinIVA === 0) && (!ficha.PreciosFuturos))\r\n || (ficha.CodTipoRegistro === \"PHO\")\r\n || (ficha.CodTipoRegistro === \"PAV\")) ?\r\n
    \r\n :\r\n (((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\")) ?\r\n \r\n :\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n (((ficha.IdTipoPF === 1) || (ficha.IdTipoPF === 13) || (ficha.IdTipoPF === 25) || (ficha.IdTipoPF === 6)) ?\r\n \r\n :\r\n
    \r\n )\r\n :\r\n \r\n )\r\n )\r\n }\r\n
    \r\n\r\n {\r\n (((ficha.CodTipoRegistro === \"PAH\") \r\n || (ficha.CodTipoRegistro === \"ASO\")\r\n || (ficha.CodTipoRegistro === \"PAV\")\r\n || (ficha.CodTipoRegistro === \"ASOV\")\r\n || (ficha.CodTipoRegistro === \"ASOH\")) ?\r\n \r\n :\r\n (((ficha.CodTipoRegistro === \"ING\")\r\n )?\r\n
    \r\n :\r\n ((ficha.CodTipoRegistro === \"PAT\" || ficha.CodTipoRegistro === \"PATV\" || ficha.CodTipoRegistro === \"PATH\") ?\r\n \r\n :\r\n ((ficha.CodTipoRegistro === \"PHO\") ?\r\n <>\r\n :\r\n \r\n )\r\n )\r\n )\r\n )\r\n }\r\n \r\n {\r\n (((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro === \"MUH\") || (ficha.CodTipoRegistro === \"PPF\") || (ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\")) ?\r\n \r\n :\r\n \r\n )\r\n }\r\n {\r\n (((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\")) ?\r\n \r\n :\r\n ((ficha.CodTipoRegistro === \"MUV\") ?\r\n \r\n : \r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n \r\n : \r\n (((ficha.CodTipoRegistro === \"PAH\") || (ficha.CodTipoRegistro === \"PAV\")|| (ficha.CodTipoRegistro === \"PHO\") \r\n || (ficha.CodTipoRegistro === \"ASO\") || (ficha.CodTipoRegistro === \"ASOH\") || (ficha.CodTipoRegistro === \"ASOV\")\r\n || (ficha.CodTipoRegistro === \"ING\")\r\n )?\r\n \r\n : \r\n (((ficha.CodTipoRegistro === \"PAT\") || (ficha.CodTipoRegistro === \"PATH\") || (ficha.CodTipoRegistro === \"PATV\")\r\n )?\r\n \r\n : \r\n \r\n )\r\n )\r\n )\r\n )\r\n )\r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default ResumenInfo;\r\n\r\n","import ImagenConTooltip from \"../../../Utilidades/Tooltip/ImagenConTooltip\";\r\nimport Tippy from '@tippyjs/react';\r\nimport 'tippy.js/dist/tippy.css';\r\nimport 'tippy.js/themes/botplustt.css';\r\n\r\nconst FilaPictogramas = (props) => {\r\n const pictogramas = props.fila.map( picto =>\r\n \r\n \r\n \r\n )\r\n /*const pictogramas = props.fila.map( picto =>\r\n muestraHint(e)} /> \r\n )*/\r\n\r\n const muestraHint = (e) => {\r\n var element = e.target;\r\n element.dispatchEvent(new Event(\"onmouseover\"))\r\n } \r\n\r\n return (\r\n
    \r\n {pictogramas} \r\n
    \r\n )\r\n}\r\nexport default FilaPictogramas;\r\n","import { useState } from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport { divideArrayEnPartes, rootPath } from \"../../../../services/utils\";\r\nimport FilaPictogramas from \"./FilaPictogramas\";\r\n\r\nconst ZonaImagenYPictos = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n //const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n const ficha = props.ficha;\r\n var literalCodigo = \"Cód. Nacional\";\r\n if ((ficha.CodTipoRegistro === \"PAH\") || (ficha.CodTipoRegistro === \"PAV\") || (ficha.CodTipoRegistro === \"PHO\"))\r\n literalCodigo = \"Cód. principio activo\"\r\n\r\n if ((ficha.CodTipoRegistro === \"ASOH\") || (ficha.CodTipoRegistro === \"ASOV\") || (ficha.CodTipoRegistro === \"ASO\"))\r\n literalCodigo = \"Cód. asociación\"\r\n\r\n if ((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\"))\r\n literalCodigo = \"Código\"\r\n\r\n var textoEncabezado = ficha.TipoRegistro;\r\n if (ficha.CodTipoRegistro === \"PPF\")\r\n textoEncabezado = ficha.TipoPF;\r\n if (ficha.CodTipoRegistro === \"MUV\")\r\n if (ficha.Homeopatico === \"S\")\r\n textoEncabezado = \"Medicamento homeopático veterinario\";\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n const svgImagenV = (\r\n \r\n );\r\n const svgImagenPF = (\r\n \r\n );\r\n\r\n const svgImagenPAT = (\r\n \r\n );\r\n\r\n const svgImagenPATV = (\r\n \r\n );\r\n\r\n var svgImagen = svgImagenH;\r\n if ((ficha.CodTipoRegistro===\"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\"))\r\n svgImagen = svgImagenV;\r\n if ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\"))\r\n svgImagen = svgImagenPF;\r\n if ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\"))\r\n svgImagen = svgImagenPAT;\r\n if (ficha.CodTipoRegistro===\"PATV\")\r\n svgImagen = svgImagenPATV;\r\n\r\n const imgDefecto = \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" ;\r\n const srcImagen = ((props.ficha.ImagenEnvase) ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((props.ficha.ImagenFormula) ?\r\n props.ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n );\r\n\r\n const srcImagenFF = (\r\n (ficha.CodTipoRegistro === \"PPF\") ?\r\n ((props.ficha.ImagenMatAcond) ?\r\n (props.ficha.ImagenMatAcond.URLFull != null ?\r\n props.ficha.ImagenMatAcond.URLFull\r\n : \r\n props.ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((props.ficha.ImagenFormaF) ?\r\n (props.ficha.ImagenFormaF.URLFull != null ?\r\n props.ficha.ImagenFormaF.URLFull\r\n : \r\n props.ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n/*\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n*/ \r\n const tieneImagen = !(imgDefecto === srcImagen);\r\n\r\n /*const clickImagenMed = (e) => {\r\n const src = e.target.src;\r\n //const imagenLight = document.querySelector('.agregar-imagen');\r\n const contenedorLight = document.querySelector('.imagen-light');\r\n //imagenLight.src = src;\r\n contenedorLight.classList.toggle('show');\r\n //imagenLight.classList.toggle('showImage');\r\n }*/\r\n\r\n /*\r\n const clickContenedor = (e) => {\r\n const contenedorLight = document.querySelector('.imagen-light');\r\n //const imagenLight = document.querySelector('.agregar-imagen');\r\n //if (e.target !== imagenLight) {\r\n contenedorLight.classList.toggle('show');\r\n //imagenLight.classList.toggle('showImage');\r\n //}\r\n }\r\n */\r\n/*\r\n const clickImagen = (e) => {\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n*/\r\n /*\r\n const clickContenedor = (e) => {\r\n const contenedorLight = document.querySelector('.imagen-light');\r\n //const imagenLight = document.querySelector('.agregar-imagen');\r\n //if (e.target !== imagenLight) {\r\n contenedorLight.classList.toggle('show');\r\n //imagenLight.classList.toggle('showImage');\r\n //}\r\n }\r\n */\r\n\r\n\r\n const maxHeight=350;\r\n const maxWidth=300;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto'}\r\n\r\n/*\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n if ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\")){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n*/\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const seccionImagen = (tieneImagen ? \r\n
    \r\n {props.ficha.NombreCompleto} props.clickImagen(e)}\r\n onLoad={(e) => loadImage(e)}\r\n />\r\n \r\n {imagenesHTML}\r\n \r\n \"lupa\"\r\n
    \r\n :\r\n
    \r\n
    \r\n {props.ficha.NombreCompleto}\r\n
    \r\n

     

    \r\n

     

    \r\n
    \r\n )\r\n\r\n\r\n const pictogramasEnFilas = (((ficha.CodTipoRegistro === 'PAT') || (ficha.CodTipoRegistro === 'PATH') || (ficha.CodTipoRegistro === 'PATV') || (ficha.CodTipoRegistro === 'FM')) ?\r\n null\r\n :\r\n divideArrayEnPartes(ficha.Pictogramas,5) \r\n );\r\n\r\n const pictogramas = (pictogramasEnFilas) ? pictogramasEnFilas.map( fila => ) :
    ;\r\n var literalNumRegistro = Núm. registro;\r\n if (ficha.CodTipoRegistro === 'PPF')\r\n literalNumRegistro = Cód.  registro;\r\n /*if (ficha.LiteralCodigoRegistro)\r\n literalNumRegistro = ficha.LiteralCodigoRegistro;*/\r\n\r\n const tieneCodigoUdi = ((ficha.CodTipoRegistro === \"PPF\") && (ficha.IdTipoPF) && ((ficha.IdTipoPF === 1 || ficha.IdTipoPF === 13 || ficha.IdTipoPF === 25)) && (ficha.CodUDIDI) && (ficha.CodUDIDI !== ''))\r\n const tieneCodigo2 = tieneCodigoUdi;\r\n const estiloCodigos1 = (tieneCodigo2) ?\r\n {borderBottom : 'none'} \r\n :\r\n {};\r\n const estiloCodigos2 = (tieneCodigo2) ?\r\n {paddingTop : '5px'} \r\n :\r\n {}\r\n \r\n return (\r\n
    \r\n
    \r\n {svgImagen}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    \r\n {ficha.NombreCompleto}\r\n
    \r\n
    \r\n {seccionImagen}\r\n {((ficha.CodTipoRegistro !== \"ING\" \r\n && ficha.CodTipoRegistro !== \"PAT\" \r\n && ficha.CodTipoRegistro !== \"PATH\" \r\n && ficha.CodTipoRegistro !== \"PATV\"\r\n && ficha.CodTipoRegistro !== \"PAH\"\r\n && ficha.CodTipoRegistro !== \"PAV\"\r\n && ficha.CodTipoRegistro !== \"PHO\"\r\n ) \r\n || ((ficha.CodTipoRegistro !== \"ING\") && (ficha.CodCAS) && (ficha.CodCAS != ''))\r\n || ((ficha.CodCIE) && (ficha.CodCIE != '') && false) \r\n ) ?\r\n
    \r\n {(ficha.CodTipoRegistro !== \"ING\" \r\n && ficha.CodTipoRegistro !== \"PAT\" \r\n && ficha.CodTipoRegistro !== \"PATH\" \r\n && ficha.CodTipoRegistro !== \"PATV\"\r\n && ficha.CodTipoRegistro !== \"PAH\"\r\n && ficha.CodTipoRegistro !== \"PAV\"\r\n && ficha.CodTipoRegistro !== \"PHO\"\r\n ) ?\r\n
    \r\n {literalCodigo}:\r\n {ficha.Codigo}\r\n
    \r\n :\r\n (ficha.CodTipoRegistro === \"PHO\") ?\r\n (ficha.Codigo && ficha.Codigo !== \"\") ?\r\n
    \r\n {literalCodigo}:\r\n {ficha.Codigo}\r\n
    \r\n :\r\n <>\r\n \r\n :\r\n ((ficha.CodCAS && ficha.CodCAS != '') ?\r\n
    Código CAS: \r\n {ficha.CodCAS}\r\n
    \r\n :\r\n ((ficha.CodCIE && ficha.CodCIE != '' && false) ?\r\n
    Código CIE: \r\n {ficha.CodCIE}\r\n
    \r\n :\r\n
    \r\n )\r\n )\r\n }\r\n {((ficha.NumRegistro && ficha.NumRegistro != '' && ficha.CodTipoRegistro !== \"FM\" && ficha.CodTipoRegistro !== \"PO\") ?\r\n
    \r\n {literalNumRegistro}:\r\n {ficha.NumRegistro}\r\n
    \r\n :\r\n
    \r\n )}\r\n
    \r\n :\r\n
    \r\n }\r\n {((tieneCodigoUdi)?\r\n
    \r\n
    \r\n Código UDI-DI:\r\n {ficha.CodUDIDI}\r\n
    \r\n
    \r\n :\r\n <>\r\n )}\r\n {pictogramas}\r\n
    \r\n )\r\n}\r\nexport default ZonaImagenYPictos;\r\n","import ResumenInfo from \"./ResumenInfo\";\r\nimport ZonaImagenYPictos from \"./ZonaImagenYPictos\";\r\n\r\nconst InfoPrincipalMUH = (props) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default InfoPrincipalMUH;\r\n","import { RemoveClassNameToClassItems,elementIsOfClass } from \"../../../../services/utils\";\r\n\r\nconst FilaMenuIzquierda = (props) => {\r\n const claseDiv = (props.apartado.Ancla === props.activo) ? \"elemento active elemento__menu__ficha\" : \"elemento elemento__menu__ficha\";\r\n const iddiv = \"RefTo\" + props.apartado.Ancla;\r\n\r\n const handleScrollToElement = (idAncla,e) => {\r\n const linkRef = props.anclas.find(ancla => ancla.idAncla === idAncla).refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n if (props.cambiaImgIndex){\r\n if (idAncla === \"IDEN\")\r\n props.cambiaImgIndex(1);\r\n else if (idAncla === \"GEN\")\r\n props.cambiaImgIndex(0);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n handleScrollToElement(props.apartado.Ancla,e)} style={{cursor:'pointer', textDecoration:'none', paddingTop: '10px' }} title={props.apartado.Titulo} >{props.apartado.Titulo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n)\r\n}\r\nexport default FilaMenuIzquierda;\r\n","import React, { useState } from \"react\";\r\nimport FilaMenuIzquierda from \"./FilaMenuIzquierda\";\r\n\r\nconst MenuIzquierda = (props) => {\r\n const [seccionActiva,setSeccionActiva] = useState(props.activo)\r\n const [apartados,setApartados] = useState(props.apartados);\r\n //const apartadosHTML = apartados.map(apartado => );\r\n const apartadosHTML = (props.apartados && props.apartados.length>0) ?\r\n props.apartados.map(apartado => ancla.idAncla === apartado.Ancla)} \r\n cambiaImgIndex = {props.cambiaImgIndex}\r\n >) :\r\n <>;\r\n //const apartadosHTML = props.apartados.map(apartado => )\r\n return (\r\n
    \r\n {apartadosHTML}\r\n
    \r\n )\r\n}\r\nexport default MenuIzquierda;\r\n","import { useState } from \"react\";\r\nimport { GetAntecesorWhithClassName, rootPath } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaAnalisis = (props) => {\r\n /*const [alturadivinicial, SetAlturadivinicial] = useState('');\r\n const [alturadivinicial2, SetAlturadivinicial2] = useState('');*/\r\n\r\n const interferencia = props.interferencia;\r\n const info = interferencia.Observaciones;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)}/>\r\n \r\n {info}\r\n \r\n \r\n );\r\n const clasesDivAnalisis = (tieneInfo ? 'column fs fs12 fw greenColor4' : 'column fs fs12 fw greenColor4 ')\r\n const clasesDivEfecto = (tieneInfo ? 'column fs fs14 blackColor FlamaBook hasTooltip' : 'column fs fs14 blackColor FlamaBook');\r\n\r\n const CambiaPaginaInterferencias = (idAnalisis) => {\r\n props.cambiaPagina({\r\n newpagina: 'BAnalisisMUH',\r\n newid: idAnalisis,\r\n });\r\n }\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var rectdiv2 = itemInfoContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYdiv2 = (Math.round(rectdiv2.y)+Math.round(rectdiv2.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv - 10){\r\n //SetAlturadivinicial(Math.round(rectdiv.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv - 10);\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv2 - 10){\r\n //SetAlturadivinicial2(Math.round(rectdiv2.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv2 - 10);\r\n var newAltura = Math.round(rectdiv2.height) + incremento;\r\n itemInfoContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemInfoContent){ //} && alturadivinicial2 !== ''){\r\n itemInfoContent.style.height = ''; //alturadivinicial2;\r\n }\r\n if (itemAccordionContent){ //&& alturadivinicial !== ''){\r\n itemAccordionContent.style.height = ''; //alturadivinicial;\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaInterferencias(interferencia.IdAnalisis)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {interferencia.Analisis.replace('-','\\u2011')}\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n {interferencia.Efecto}\r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaAnalisis;\r\n","import FilaAnalisis from \"./FilaAnalisis\";\r\n\r\n\r\nconst Analisis = (props) => {\r\n const datosAnalisis = props.datosAnalisis;\r\n const HTMLAnalisis = datosAnalisis.map(interferencia => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Análisis clínico

    \r\n
    \r\n
    \r\n

    Efecto

    \r\n
    \r\n
    \r\n {HTMLAnalisis}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default Analisis;\r\n","import Analisis from \"../../../FichaMUH/Apartados/Analisis/Analisis\";\r\nimport Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst AnalisisPAAso = (props) => {\r\n const datosAnalisis = props.datosAnalisis;\r\n const ContAcordeon = \r\n const titulo = datosAnalisis.Causa;\r\n return (\r\n \r\n )\r\n}\r\nexport default AnalisisPAAso;","import AnalisisPAAso from \"./AnalisisPAAso\";\r\n\r\nconst AnalisisAso = (props) => {\r\n const datosAnalisisAso = props.datosAnalisisAso;\r\n const HTMLAnalisisAso = datosAnalisisAso.map(datos => );\r\n return (\r\n
    \r\n {HTMLAnalisisAso}\r\n
    \r\n )\r\n}\r\nexport default AnalisisAso;","import { useState } from \"react\";\r\nimport { GetAntecesorWhithClassName, numberWithCommas, rootPath } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaTE = (props) => {\r\n /*const [alturadivinicial, SetAlturadivinicial] = useState('');\r\n const [alturadivinicial2, SetAlturadivinicial2] = useState('');*/\r\n\r\n const tiempoEspera = props.tiempoEspera;\r\n const info = tiempoEspera.Observaciones;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)}/>\r\n \r\n {info}\r\n \r\n \r\n );\r\n const clasesDiv = (tieneInfo ? 'column fs fs14 blackColor FlamaBook hasTooltip' : 'column fs fs14 blackColor FlamaBook');\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var rectdiv2 = itemDropdownContent.getBoundingClientRect();\r\n var rectdiv3 = itemInfoContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYdiv2 = (Math.round(rectdiv2.y)+Math.round(rectdiv2.height));\r\n var finYdiv3 = (Math.round(rectdiv3.y)+Math.round(rectdiv3.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv - 10){\r\n //SetAlturadivinicial(Math.round(rectdiv.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv - 10);\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv2 - 10){\r\n //SetAlturadivinicial2(Math.round(rectdiv2.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv2 - 10);\r\n var newAltura = Math.round(rectdiv2.height) + incremento;\r\n itemDropdownContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv3 - 10){\r\n //SetAlturadivinicial3(Math.round(rectdiv3.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv3 - 10);\r\n var newAltura = Math.round(rectdiv3.height) + incremento;\r\n itemInfoContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemInfoContent) { // && alturadivinicial2 !== ''){\r\n itemInfoContent.style.height = ''; //alturadivinicial2;\r\n }\r\n if (itemAccordionContent){ //} && alturadivinicial !== ''){\r\n itemAccordionContent.style.height ='';\r\n }\r\n if (itemDropdownContent){ //} && alturadivinicial !== ''){\r\n itemDropdownContent.style.height ='';\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n {tiempoEspera.Tejido}\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n {(tiempoEspera.Tiempo>=0) && tiempoEspera.IdUnidad && tiempoEspera.IdUnidad!==6 ? \r\n {numberWithCommas(tiempoEspera.Tiempo)}\r\n : \r\n \r\n }\r\n {(tiempoEspera.Unidad) ? \r\n  {tiempoEspera.Unidad}\r\n : \r\n \r\n }\r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaTE;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport FilaTE from \"./FilaTE\";\r\n\r\nconst TiemposEsperaEspecie = (props) => {\r\n const tiemposEspera = props.tiemposEspera;\r\n const titulo = tiemposEspera.Especie;\r\n const HTMLTiemposEsperaTejidos = tiemposEspera.TiemposEsperaTejido.map(tet => );\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n
    \r\n
    \r\n

    Tejido

    \r\n
    \r\n
    \r\n

    Tiempo

    \r\n
    \r\n
    \r\n {HTMLTiemposEsperaTejidos}\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default TiemposEsperaEspecie;\r\n \r\n","import TiemposEsperaEspecie from \"./TiemposEsperaEspecie\";\r\nconst TiemposEspera = (props) => {\r\n const tiemposEspera = props.tiemposEspera;\r\n const tiemposEsperaEspecie = tiemposEspera.map(tee => );\r\n return (\r\n
    \r\n {tiemposEsperaEspecie}\r\n
    \r\n )\r\n}\r\nexport default TiemposEspera;\r\n","const FilaNombrePA = (props) => {\r\n const nombre = props.nombre;\r\n const clasesDivNombre = 'column fs fs12 fw greenColor4';\r\n\r\n const CambiaPaginaPA = (idPA) => {\r\n props.cambiaPagina({\r\n newpagina: 'FichaPAH',\r\n newid: idPA,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaPA(nombre.IdPA)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {nombre.NombrePA}\r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaNombrePA;\r\n","import FilaNombrePA from \"./FilaNombrePA\";\r\n\r\n\r\nconst ConfusionNombresPA = (props) => {\r\n const nombresPA = props.nombresPA;\r\n const HTMLNombresPA = nombresPA.map(nombre => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Principios activos

    \r\n
    \r\n
    \r\n {HTMLNombresPA}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default ConfusionNombresPA;\r\n","import AdvertenciasTipo from \"./AdvertenciasTipo\";\r\n\r\nconst Advertencias = (props) => {\r\n const datosAdver = props.datosAdvertencias;\r\n const advertenciasPorTipo = datosAdver.Advertencias.map(tipoAdver => );\r\n const textosSeccion = datosAdver.Textos.map(texto => \r\n
    \r\n

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

    \r\n
    \r\n );\r\n return (\r\n
    \r\n {advertenciasPorTipo}\r\n {textosSeccion}\r\n
    \r\n )\r\n}\r\nexport default Advertencias;\r\n","import Advertencias from \"./Advertencias\";\r\n\r\nconst AdvertenciasTipo = (props) => {\r\n const advertenciasTipo = props.advertenciasTipo;\r\n const advertencias = advertenciasTipo.Mensajes.map(mensa =>\r\n ((mensa.URLPictograma && mensa.URLPictograma != null) ?\r\n

    {mensa.Mensaje}

    \r\n :\r\n

    {mensa.Mensaje}

    \r\n )\r\n )\r\n const tieneImagen = ((advertenciasTipo.URLPictograma) && (advertenciasTipo.URLPictograma != ''));\r\n const HTMLImagen = tieneImagen ? : \r\n return (\r\n
    \r\n
    \r\n {HTMLImagen}\r\n

    {advertenciasTipo.Tipo}

    \r\n
    \r\n
    \r\n {advertencias}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default AdvertenciasTipo;\r\n","import AdvertenciasTipo from \"../../../FichaMUH/Apartados/Advertencias/AdvertenciasTipo\";\r\n\r\nconst Dopaje = (props) => {\r\n const datosDopaje = props.datosDopaje;\r\n const advertenciasPorTipo = datosDopaje.Advertencias.map(tipoAdver => );\r\n const textosSeccion = datosDopaje.Textos.map(texto => \r\n
    \r\n

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

    \r\n
    \r\n );\r\n return (\r\n
    \r\n {advertenciasPorTipo}\r\n {textosSeccion}\r\n
    \r\n )\r\n}\r\nexport default Dopaje;\r\n","import { containsNumber } from \"../../../../../services/utils\";\r\n\r\nconst FilaNombreValor = (props) => {\r\n const fila = props.fila;\r\n const claseFila = (props.claseFila ? props.claseFila : \"fila\");\r\n const claseColI = (props.claseCol ? props.claseCol : \"col-i\");\r\n var claseColD = (props.claseCol ? props.claseCol : \"col-d\");\r\n var esCodigoONumero = false;\r\n if (props.esNumero){\r\n claseColD = claseColD + \" num \";\r\n esCodigoONumero = true;\r\n }\r\n else{\r\n if (props.conValoresNumericos && fila.valor && containsNumber(fila.valor.toString())){\r\n claseColD = claseColD + \" num \";\r\n esCodigoONumero = true;\r\n }\r\n }\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n const MostrarAvisoOCambiaPagina = (aviso,pagina, id) => {\r\n if (!aviso || aviso === \"\"){\r\n CambiaPaginaPorId(pagina,id)\r\n }else{\r\n props.muestraAviso(aviso,pagina,id);\r\n }\r\n }\r\n const estiloValor = (esCodigoONumero) ? {letterSpacing : '2px'} : {overflowWrap: 'break-word'};\r\n\r\n \r\n \r\n const contenidoValor = (\r\n fila.link ? \r\n MostrarAvisoOCambiaPagina(fila.aviso,fila.link,fila.id)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{fila.valor}\r\n :\r\n {fila.valor}\r\n )\r\n return (\r\n
    \r\n
    {fila.nombre}
    \r\n
    {contenidoValor}
    \r\n
    \r\n )\r\n}\r\nexport default FilaNombreValor;\r\n","import FilaNombreValor from \"./FilaNombreValor\";\r\n\r\nconst BloqueNombreValor = (props) => {\r\n const claseBloque = props.claseBloque ? props.claseBloque : 'bloque'\r\n //const claseDiv = props.sonValoresNumericos ? claseBloque + \" num\" : claseBloque;\r\n const claseDiv = claseBloque\r\n const estilo = (props.estiloEspecial) ? props.estiloEspecial : {}\r\n\r\n var filasNumericas = [];\r\n if (props.filasNumericas)\r\n filasNumericas = props.filasNumericas;\r\n const filasHTML = props.bloque.map(fila => );\r\n return (\r\n
    \r\n {filasHTML}\r\n
    \r\n )\r\n}\r\nexport default BloqueNombreValor;\r\n","import { numberWithCommas } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport BloqueNombreValor from \"../../../FichaMUH/Apartados/InfoGeneral/BloqueNombreValor\";\r\nimport LinksFichaPA from \"../../LinksFichaPA\";\r\n\r\nconst InfoGeneralPA = (props) => {\r\n const ficha = props.ficha;\r\n const formula = ficha.FormulaEmpirica;\r\n var regex = new RegExp('([0-9]+)|([a-zA-Z]+)','g');\r\n\r\n const formulaPartida = (formula) ? formula.match(regex) : [];\r\n\r\n var formulaBonita = ;\r\n for (var i = 0; i{formulaBonita}{formulaPartida[i]}\r\n }\r\n else{\r\n formulaBonita = {formulaBonita}{formulaPartida[i]}\r\n }\r\n } \r\n \r\n const bloque1 = \r\n ((ficha.CodTipoRegistro===\"ING\")?\r\n [\r\n {\r\n nombre : 'Código CAS',\r\n valor: ficha.CodCAS,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Estado',\r\n valor: ficha.EstadoAuto.Descripcion,\r\n link: null,\r\n },\r\n ]\r\n :\r\n [\r\n/* {\r\n nombre : 'Código principio activo',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },*/\r\n {\r\n nombre : 'Código CAS',\r\n valor: ficha.CodCAS,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Fórmula empírica',\r\n valor: formulaBonita,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Peso molecular',\r\n valor: (ficha.PesoMolecular>0) ? numberWithCommas(ficha.PesoMolecular) : '',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Estado',\r\n valor: ficha.EstadoAuto.Descripcion,\r\n link: null,\r\n },\r\n ]\r\n );\r\n\r\n var estiloGrupos = {};\r\n\r\n if (ficha.CodTipoRegistro === \"ASOH\" || ficha.CodTipoRegistro === \"ASOV\" || ficha.CodTipoRegistro === \"ASO\" ){\r\n bloque1.splice(1,3);\r\n estiloGrupos = {\r\n borderTop : 'none',\r\n }\r\n }\r\n\r\n var bloqueATC = [];\r\n \r\n var link = (ficha.CodTipoRegistro===\"ASOV\" || ficha.CodTipoRegistro===\"PAV\") ? \"BGTATCMUV\" : \"BGTATCMUH\";\r\n for (var i=1; i<=5; i++)\r\n {\r\n var nombreCampo = \"GATCNivel\" + i.toString();\r\n if (ficha.DatosGrupos){\r\n if (ficha.DatosGrupos[nombreCampo]){\r\n var titulo = \"Nivel \" + i.toString();\r\n var id = ficha.DatosGrupos[nombreCampo].Codigo;\r\n var valor = ficha.DatosGrupos[nombreCampo].Codigo + \" \" + ficha.DatosGrupos[nombreCampo].Descripcion;\r\n bloqueATC.push({\r\n nombre: titulo,\r\n valor : valor,\r\n link : link,\r\n id : id\r\n })\r\n }\r\n }\r\n }\r\n var tituloGrupos = \"Grupos terapéuticos ATC\";\r\n const tituloEP = \"Estupefaciente / Psicotropo\";\r\n const tituloAF = \"Actividades farmacológicas\";\r\n const tituloCM = \"Características metabólicas\";\r\n const tituloSin = \"Sinonimias\";\r\n const tituloAING = \"Actividades\";\r\n const contEP = ( \r\n

    \r\n {(ficha.EstupefacientePsicotropo) ?\r\n ficha.EstupefacientePsicotropo.DescripcionPsicotropo\r\n :\r\n ''\r\n }\r\n

    \r\n );\r\n\r\n\r\n var busquedaActividad = \"BAFMUH\";\r\n switch (ficha.CodTipoRegistro){\r\n case \"ASOH\":\r\n case \"ASO\":\r\n case \"PAH\":\r\n busquedaActividad = \"BAFMUH\";\r\n break;\r\n case \"ASOV\":\r\n case \"PAV\":\r\n busquedaActividad = \"BAFMUV\";\r\n break;\r\n case \"ING\":\r\n busquedaActividad = \"BActPPF\";\r\n break;\r\n }\r\n\r\n const HTMLAF = (ficha.ActividadesFarmacologicas ? ficha.ActividadesFarmacologicas.map(af =>
  • CambiaPaginaPorId(busquedaActividad,af.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{af.Descripcion}
  • ) :
    );\r\n const HTMLCM = (ficha.CaracteristicasMetabolicas ? ficha.CaracteristicasMetabolicas.map(af =>
  • CambiaPaginaPorId(busquedaActividad,af.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{af.Descripcion}
  • ) :
    );\r\n const HTMLSin = (ficha.Sinonimias ? ficha.Sinonimias.map(sino =>
  • {sino}
  • ) :
    );\r\n const HTMLAING = (ficha.Actividades ? ficha.Actividades.map(af =>
  • CambiaPaginaPorId(busquedaActividad,af.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{af.Descripcion}
  • ) :
    );\r\n const contAF = ( \r\n
    \r\n
      \r\n {HTMLAF}\r\n
    \r\n
    \r\n );\r\n const contCM = ( \r\n
    \r\n
      \r\n {HTMLCM}\r\n
    \r\n
    \r\n );\r\n const contSin = ( \r\n
    \r\n
      \r\n {HTMLSin}\r\n
    \r\n
    \r\n );\r\n const contAING = ( \r\n
    \r\n
      \r\n {HTMLAING}\r\n
    \r\n
    \r\n );\r\n const DenQuiHTML = ((ficha.DenominacionQuimica)?\r\n
    \r\n

        Denominación Química

    \r\n

    {ficha.DenominacionQuimica}

    \r\n
    \r\n :\r\n
    \r\n );\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n {(ficha.CodTipoRegistro === \"ASOH\" || ficha.CodTipoRegistro === \"ASOV\" || ficha.CodTipoRegistro === \"ASO\" ) ?\r\n
    \r\n :\r\n \r\n }\r\n\r\n {(ficha.DatosGrupos) ?\r\n
    \r\n
    \r\n

    {tituloGrupos}

    \r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n {(ficha.Psicotropo === \"Sí\") ?\r\n \r\n :\r\n
    \r\n }\r\n {DenQuiHTML}\r\n {(ficha.ActividadesFarmacologicas && ficha.ActividadesFarmacologicas.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(ficha.CaracteristicasMetabolicas && ficha.CaracteristicasMetabolicas.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(ficha.Actividades && ficha.Actividades.length>0) ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n {(ficha.Sinonimias && ficha.Sinonimias.length>0) ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default InfoGeneralPA;\r\n","const Sinonimias = (props) => {\r\n const sinonimias = props.sinonimias;\r\n const HTMLSinonimias = sinonimias.map(sino =>
  • {sino}
  • );\r\n return (\r\n
    \r\n
    \r\n
      \r\n {HTMLSinonimias}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default Sinonimias;\r\n","import { GetAntecesorWhithClassName, numberWithCommas, rootPath } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaLMR = (props) => {\r\n\r\n const lmr = props.lmr;\r\n const info = lmr.Observaciones;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)}/>\r\n \r\n {info}\r\n \r\n \r\n );\r\n const clasesDiv = (tieneInfo ? 'column fs fs14 blackColor FlamaBook hasTooltip' : 'column fs fs14 blackColor FlamaBook');\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var rectdiv2 = itemDropdownContent.getBoundingClientRect();\r\n var rectdiv3 = itemInfoContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYdiv2 = (Math.round(rectdiv2.y)+Math.round(rectdiv2.height));\r\n var finYdiv3 = (Math.round(rectdiv3.y)+Math.round(rectdiv3.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv - 10){\r\n //SetAlturadivinicial(Math.round(rectdiv.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv - 10);\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv2 - 10){\r\n //SetAlturadivinicial2(Math.round(rectdiv2.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv2 - 10);\r\n var newAltura = Math.round(rectdiv2.height) + incremento;\r\n itemDropdownContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv3 - 10){\r\n //SetAlturadivinicial3(Math.round(rectdiv3.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv3 - 10);\r\n var newAltura = Math.round(rectdiv3.height) + incremento;\r\n itemInfoContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemInfoContent) { // && alturadivinicial2 !== ''){\r\n itemInfoContent.style.height = ''; //alturadivinicial2;\r\n }\r\n if (itemAccordionContent){ //} && alturadivinicial !== ''){\r\n itemAccordionContent.style.height ='';\r\n }\r\n if (itemDropdownContent){ //} && alturadivinicial !== ''){\r\n itemDropdownContent.style.height ='';\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n {lmr.Tejido}\r\n \r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {(lmr.LMR>0) ? \r\n {numberWithCommas(lmr.LMR)}\r\n : \r\n \r\n }\r\n {(lmr.Unidad) ? \r\n  {lmr.Unidad}\r\n : \r\n \r\n }\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaLMR;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport FilaLMR from \"./FilaLMR\";\r\n\r\nconst LMREspecie = (props) => {\r\n const lmr = props.lmr;\r\n const titulo = lmr.Especie;\r\n const HTMLLMRTejidos = lmr.LMRsTejidos.map(lmrtej => );\r\n\r\n const estiloUltimaFila = {borderBottom: '4px solid #e8e8e8'};\r\n var estiloPrimeraFila = {};\r\n var estiloObservaciones = {};\r\n if (lmr.Observaciones && lmr.Observaciones !== '')\r\n estiloObservaciones = estiloUltimaFila;\r\n else\r\n estiloPrimeraFila = estiloUltimaFila;\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n
    \r\n
    \r\n

    Tejido

    \r\n
    \r\n
    \r\n

    LMR

    \r\n
    \r\n
    \r\n {HTMLLMRTejidos}\r\n {(lmr.Observaciones && lmr.Observaciones !== '') ?\r\n
    \r\n
    \r\n
    \r\n

    Observaciones

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {lmr.Observaciones}

    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n );\r\n \r\n return (\r\n \r\n )\r\n}\r\nexport default LMREspecie;\r\n \r\n","import { numberWithCommas } from \"../../../../../services/utils\";\r\nimport BloqueNombreValor from \"../../../FichaMUH/Apartados/InfoGeneral/BloqueNombreValor\";\r\nimport LMREspecie from \"./LMREspecie\";\r\n\r\nconst UsoAnimalesProductores = (props) => {\r\n const datosAnimalesProductores = props.datosAnimalesProductores;\r\n const LMR = datosAnimalesProductores.LMRsEspecies;\r\n const HTMLLMREspecie = LMR.map(lmre => );\r\n\r\n var ida = \"-\"\r\n\r\n if (datosAnimalesProductores.IngestaDiariaAceptada)\r\n if (datosAnimalesProductores.IngestaDiariaAceptada>0)\r\n ida = numberWithCommas(datosAnimalesProductores.IngestaDiariaAceptada);\r\n if (datosAnimalesProductores.Unidad) \r\n ida += \" \" + datosAnimalesProductores.Unidad;\r\n\r\n\r\n const bloqueComun = [\r\n {\r\n nombre : 'Residuo marcador',\r\n valor: datosAnimalesProductores.ResiduoMarcador,\r\n link: null,\r\n },\r\n /*{\r\n nombre : 'Ingesta diaria aceptada',\r\n valor: ida,\r\n link: null,\r\n },*/\r\n ]\r\n\r\n const estiloEspecial = {borderBottom : 'none'}\r\n\r\n return (\r\n
    \r\n \r\n

     

    \r\n

     

    \r\n {HTMLLMREspecie}\r\n
    \r\n )\r\n}\r\nexport default UsoAnimalesProductores;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst Cie = (props) => {\r\n const lista = props.lista;\r\n\r\n const HTMLFila = lista.map(item => \r\n
    \r\n
    \r\n
    \r\n

    {item.Codigo}

    \r\n
    \r\n
    \r\n

    {item.Valor}

    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLTablaCie = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Código CIE

    \r\n
    \r\n
    \r\n

    Descripción

    \r\n
    \r\n
    \r\n
    \r\n {HTMLFila}\r\n
    \r\n
    \r\n
    \r\n )\r\n return ( \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default Cie;\r\n\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport BloqueNombreValor from \"../../../FichaMUH/Apartados/InfoGeneral/BloqueNombreValor\";\r\n\r\nconst InfoGeneralPAT = (props) => {\r\n const ficha = props.ficha;\r\n const bloque1 = \r\n [\r\n {\r\n nombre : 'Código CIE',\r\n valor: ficha.CodCIE,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Descripción CIE',\r\n valor: ficha.DescripcionCIE,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Especialidad',\r\n valor: ficha.EspecialidadMedica,\r\n link: null,\r\n },\r\n ];\r\n\r\n const tituloEP = \"Descripción\";\r\n const contEP = ( \r\n

    \r\n {(ficha.Descripcion) ?\r\n ficha.Descripcion\r\n :\r\n ''\r\n }\r\n

    \r\n );\r\n const DenQuiHTML = ((ficha.Descripcion)?\r\n
    \r\n

    {ficha.Descripcion}

    \r\n
    \r\n :\r\n
    \r\n );\r\n\r\n /**/\r\n return (\r\n
    \r\n {(ficha.Descripcion) && false ?\r\n \r\n :\r\n
    \r\n }\r\n {DenQuiHTML}\r\n
    \r\n )\r\n}\r\nexport default InfoGeneralPAT;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst Jerarquias = (props) => {\r\n const nivelSuperior = props.datosJerarquia.NivelSuperior;\r\n const nivelInferior = props.datosJerarquia.NivelInferior;\r\n\r\n const HTMLNS = (nivelSuperior ? nivelSuperior.map(enf =>
  • CambiaPaginaPorId('FichaPAT',enf.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{enf.Enfermedad}
  • ) :
    );\r\n const HTMLNI = (nivelInferior ? nivelInferior.map(enf =>
  • CambiaPaginaPorId('FichaPAT',enf.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{enf.Enfermedad}
  • ) :
    );\r\n const contNS = ( \r\n
    \r\n
      \r\n {HTMLNS}\r\n
    \r\n
    \r\n );\r\n const contNI = ( \r\n
    \r\n
      \r\n {HTMLNI}\r\n
    \r\n
    \r\n );\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {(nivelSuperior && nivelSuperior.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(nivelInferior && nivelInferior.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Jerarquias;\r\n","const FilaTablaProductos = (props) => {\r\n\r\n const producto = props.producto;\r\n const clasesDivNombre = 'column fs fs12 fw fw600 greenColor4 underline';\r\n const clasesDivCodigo = 'column fs fs14 blackColor FlamaBook';\r\n\r\n const CambiaPaginaFicha = (id) => {\r\n props.cambiaPagina({\r\n newpagina: 'FichaPPF',\r\n newid: id,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n {producto.Codigo}\r\n

    \r\n
    \r\n
    \r\n

    \r\n CambiaPaginaFicha(producto.Id)}>\r\n {producto.NombreCompleto}\r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaTablaProductos;","import FilaTablaProductos from \"./FilaTablaProductos\";\r\n\r\n\r\nconst TablaProductos = (props) => {\r\n const productos = props.productos;\r\n const HTMLAnalisis = productos.map(prod => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Código nacional

    \r\n
    \r\n
    \r\n

    Producto

    \r\n
    \r\n
    \r\n {HTMLAnalisis}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaProductos;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaLotes = (props) => {\r\n const lote = props.lote;\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n {lote.NumLote}\r\n

    \r\n
    \r\n
    \r\n {(lote.FechaCaducidad) && (new Date(lote.FechaCaducidad).getTime()>0) ?\r\n

    {FormatoFechaDDMMYYYY(lote.FechaCaducidad)}

    \r\n :\r\n

    -

    \r\n }\r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaLotes;\r\n","import FilaLotes from \"./FilaLotes\";\r\n\r\n\r\nconst TablaLotes = (props) => {\r\n const lotes = props.lotes;\r\n const HTMLLotes = lotes.map(lote => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Nº LOTE

    \r\n
    \r\n
    \r\n

    FECHA DE CADUCIDAD

    \r\n
    \r\n
    \r\n {HTMLLotes}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaLotes;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\nimport DocumentosDeTipo from \"../InfoAdicional/DocumentosDeTipo\";\r\nimport BloqueNombreValor from \"../InfoGeneral/BloqueNombreValor\";\r\nimport TablaLotes from \"./TablaLotes\";\r\n\r\nconst AlertaCalidad = (props) => {\r\n const alerta = props.alerta;\r\n const bloqueAlerta = [\r\n {\r\n nombre : 'Nº Alerta',\r\n valor: alerta.NumAlerta,\r\n },\r\n {\r\n nombre : 'Fecha',\r\n valor: FormatoFechaDDMMYYYY(alerta.FechaAlerta),\r\n },\r\n {\r\n nombre : 'Clasificación del defecto',\r\n valor: alerta.Tipo,\r\n },\r\n {\r\n nombre : 'Descripción del defecto',\r\n valor: alerta.Observaciones,\r\n },\r\n {\r\n nombre : 'Medidas cautelares',\r\n valor: alerta.Descripcion,\r\n },\r\n ]\r\n\r\n\r\n if (alerta.Todos)\r\n bloqueAlerta.push({\r\n nombre : 'Lotes afectados',\r\n valor : 'Todos',\r\n });\r\n \r\n if (props.codTipoRegistro === \"MUV\")\r\n bloqueAlerta.splice(2,1);\r\n\r\n const lotes = ((alerta.LotesAfectados && alerta.LotesAfectados.length>0) ?\r\n \r\n :\r\n \r\n );\r\n\r\n const htmlInfoAdicional = ((alerta.InfoAdicional && alerta.InfoAdicional.length>0) ? alerta.InfoAdicional.map(grupodocs =>
    ) :
    );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {lotes}\r\n {htmlInfoAdicional}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default AlertaCalidad;\r\n\r\n/*\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Nº Alerta

    \r\n
    \r\n
    \r\n

    R_17/2021/

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Fecha alerta

    \r\n
    \r\n
    \r\n

    03/09/2021

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Descripción del defecto

    \r\n
    \r\n
    \r\n

    Posible obtención de un resultado fuera de especificaciones en el ensayo de disolución antes de finalizar su plazo de validez.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Clasificación del defecto

    \r\n
    \r\n
    \r\n

    CLASE 2

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medidas cautelares

    \r\n
    \r\n
    \r\n

    Retirada del mercado de todas las unidades distribuidas de los lotes afectados y devolución al laboratorio por los cauces habituales.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Lotes afectados

    \r\n
    \r\n
    \r\n
    \r\n

    Nº de lote

    \r\n
    \r\n
    \r\n

    Fecha de caducidad lote

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    V08540A

    \r\n
    \r\n
    \r\n

    31/03/2022

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    W06660B

    \r\n
    \r\n
    \r\n

    28/02/2023

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    W16689A

    \r\n
    \r\n
    \r\n

    31/07/2023

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n*/","import DocumentosDeTipo from \"../InfoAdicional/DocumentosDeTipo\";\r\nimport AlertaCalidad from \"./AlertaCalidad\";\r\n\r\nconst AlertasCalidad = (props) => {\r\n const datosAlertas = props.datosAlertas;\r\n const htmlAlertas = datosAlertas.Alertas.map(alerta => )\r\n const htmlInfoAdicional = datosAlertas.InfoAdicional.map(grupodocs => )\r\n return (\r\n
    \r\n {htmlAlertas}\r\n {(datosAlertas.InfoAdicional && datosAlertas.InfoAdicional.length>0) ?\r\n
    \r\n

    Otros documentos relacionados

    \r\n
    \r\n :\r\n \r\n }\r\n {htmlInfoAdicional}\r\n
    \r\n )\r\n}\r\nexport default AlertasCalidad;\r\n\r\n","import {Chart as ChartJS,\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend,} from 'chart.js';\r\n//import faker from 'faker';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport { Redondea } from '../../../../../services/utils';\r\n\r\nChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend\r\n);\r\n\r\nconst GraficaCismed = (props) => {\r\n const inactivo = props.inactivo;\r\n const datosCismed = props.datosCismed;\r\n const estilo = (inactivo ?\r\n {color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}\r\n :\r\n {}\r\n );\r\n const estiloImg = (inactivo ?\r\n {filter: 'blur(15px)' , WebkitFilter: 'blur(15px)', width: '100%', height: '300px'}\r\n :\r\n {width: '100%', height: '300px'}\r\n );\r\n const datosGraph = {\r\n labels : ['España', datosCismed.CCAA, datosCismed.Provincia],\r\n datasets:[\r\n { \r\n data: [Redondea(datosCismed.PorcentajeNacional,2), Redondea(datosCismed.PorcentajeCCAA,2), Redondea(datosCismed.PorcentajeProvincia,2)],\r\n fill: false,\r\n backgroundColor: ['rgba(255, 99, 132, 0.2)', 'rgba(255, 159, 64, 0.2)', 'rgba(255, 205, 86, 0.2)'],\r\n borderColor: ['rgb(255, 99, 132)', 'rgb(255, 159, 64)', 'rgb(255, 205, 86)'],\r\n borderWidth: 1\r\n }\r\n ]\r\n };\r\n\r\n var max = 60;\r\n if ((datosCismed.PorcentajeNacional >= max) || (datosCismed.PorcentajeCCAA >= max) || (datosCismed.PorcentajeProvincia >= max))\r\n max = 100;\r\n\r\n const optionsGraph = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: { \r\n display: false \r\n },\r\n title: {\r\n display: true,\r\n text: 'PORCENTAJE DE FARMACIAS CON FALTA DE SUMINISTRO'\r\n },\r\n scales: { \r\n y: { \r\n display: true,\r\n stacked: true,\r\n min: 0 ,\r\n max: max ,\r\n suggestedMin:0 ,\r\n suggestedMax: max\r\n } \r\n\r\n },\r\n plugins: {\r\n legend: { \r\n display: false \r\n },\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n

    Porcentaje de farmacias con falta de suministro

    \r\n \r\n
    \r\n )\r\n}\r\nexport default GraficaCismed;\r\n\r\n/*\r\n
    \r\n

    Porcentaje de farmacias con falta de suministro

    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n*/","import { rootPath } from \"../../../../../services/utils\";\r\n\r\nconst SemaforosCismed = (props) => {\r\n const datosCismed = props.datosCismed;\r\n const inactivo = props.inactivo;\r\n const estilo = (inactivo ?\r\n {color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}\r\n :\r\n {}\r\n );\r\n const estiloImg = (inactivo ?\r\n {filter: 'blur(15px)' , WebkitFilter: 'blur(15px)', width: '100%', height: '300px'}\r\n :\r\n {width: '100%'}\r\n );\r\n\r\n\r\n const getImagenFromEstado = (estado) => {\r\n switch (estado){\r\n case 1:\r\n return 'semaforoRed.png'\r\n case 2:\r\n return 'semaforoYellow.png'\r\n case 3:\r\n return 'semaforoGreen.png'\r\n default:\r\n return 'semaforoRed.png'\r\n }\r\n }\r\n\r\n const getTextoFromEstado = (estado) => {\r\n switch (estado){\r\n case 1:\r\n return 'Problemas por faltas de suministro'\r\n case 2:\r\n return 'En observación por faltas de suministro'\r\n case 3:\r\n return 'Sin incidencias por faltas de suministro'\r\n default:\r\n return 'El número de farmacias adscritas a CisMED en su provincia no supera el umbral mánimo de farmacias activamente informantes para el análisis de medicamentos con incidencias de suministro.'\r\n }\r\n }\r\n\r\n const imgSemaforoAnt = rootPath + \"img/ficha/\"+getImagenFromEstado(datosCismed.EstadoSemanaAnterior);\r\n const imgSemaforoAct = rootPath + \"img/ficha/\"+getImagenFromEstado(datosCismed.EstadoSemanaActual);\r\n const txtSemaforoAnt = getTextoFromEstado(datosCismed.EstadoSemanaAnterior); \r\n var txtSemaforoAct = getTextoFromEstado(datosCismed.EstadoSemanaActual); \r\n if (datosCismed.EsInicioSemana)\r\n txtSemaforoAct = \"Los datos consolidados en su provincia en la semana actual no alcanzan el umbral mínimo para el análisis de medicamentos con incidencias de suministro. La información recibida se procesa de manera diaria.\";\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Semana anterior

    \r\n
    \r\n
    \r\n

    Semana actual

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {txtSemaforoAnt}

    \r\n
    \r\n
    \r\n

    {txtSemaforoAct}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SemaforosCismed;","import { FormatoFechaDDMMYYYY, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst TablaFParticipantes = (props) => {\r\n const inactivo = props.inactivo;\r\n const datosCismed = props.datosCismed;\r\n const estilo = (inactivo ?\r\n {color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}\r\n :\r\n {}\r\n );\r\n return (\r\n
    \r\n
    \r\n

    Farmacias participantes en CisMED\r\n props.abreEmergenteCismed()}>\r\n \"\"/\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    España

    \r\n
    \r\n
    \r\n

    {datosCismed.NFarmaciasNacional} farmacias

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {datosCismed.CCAA}

    \r\n
    \r\n
    \r\n

    {datosCismed.NFarmaciasCCAA} farmacias

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {datosCismed.Provincia}

    \r\n
    \r\n
    \r\n

    {datosCismed.NFarmaciasProvincia} farmacias

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Última fecha de consolidación de datos ({datosCismed.Provincia})

    \r\n
    \r\n {(!datosCismed.NoConsolidada) ?\r\n
    \r\n

    {FormatoFechaDDMMYYYY(datosCismed.FechaConsolidacion)}

    \r\n
    \r\n :\r\n
    \r\n

    \r\n El periodo transcurrido desde la última fecha de consolidación de datos procedentes de su provincia en CisMED, \r\n es superior a las 48 horas, por lo que la información que está visualizando puede no ajustarse a la situación actual \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default TablaFParticipantes;","import { AddClassNameToClassItems, numberWithCommas } from \"../../../../../services/utils\";\r\nimport Emergente from \"./Emergente\";\r\nimport GraficaCismed from \"./GraficaCismed\";\r\nimport SemaforosCismed from \"./SemaforosCismed\";\r\nimport TablaFParticipantes from \"./TablaFParticipantes\";\r\n\r\nconst CismedKO = (props) => {\r\n const yesterday = new Date(new Date().getTime() - 24*60*60*1000);\r\n const datosCismed = {\r\n NFarmaciasNacional : numberWithCommas(props.datosCismed.NFarmaciasNacional),\r\n HayConexion : props.datosCismed.HayConexion,\r\n EstaAutorizado : false,\r\n DatosVisibles : true,\r\n CCAA : props.datosCismed.CCAA,\r\n Provincia : props.datosCismed.Provincia,\r\n NFarmaciasCCAA : numberWithCommas(Math.round(props.datosCismed.NFarmaciasNacional / 10)),\r\n NFarmaciasProvincia : numberWithCommas(Math.round(props.datosCismed.NFarmaciasNacional / 40)),\r\n FechaConsolidacion : yesterday,\r\n PorcentajeNacional : 18.25,\r\n PorcentajeCCAA: 21.36,\r\n PorcentajeProvincia: 14.45,\r\n EstadoSemanaAnterior: 2,\r\n EstadoSemanaActual: 2,\r\n EsInicioSemana: false,\r\n NoConsolidado: false,\r\n CumpleCriterioDia: true,\r\n CumpleCriterioSemanaPasada: true,\r\n CumpleCriterioSemanaActual: true,\r\n }\r\n const modalTitulo = \"Información CisMED\";\r\n const modalContent = (\r\n
    \r\n

    El acceso a la información de CisMED en BOT PLUS es exclusivo para\r\n farmacias adheridas a CisMED.

    \r\n

    CisMED es un sistema de información que permite a las farmacias\r\n comunicar faltas de suministro de medicamentos.

    \r\n

    Actualmente {datosCismed.NFarmaciasNacional} farmacias participan en CisMED.

    \r\n

    En caso de que su farmacia esté adherida a CisMED, incluya el número de\r\n farmacia dado en la adhesión a CisMED en la pantalla de configuración de\r\n BOT PLUS para acceder a esta información.

    \r\n

    Si su farmacia no está adherida, puede solicitar la adhesión a CisMED a través\r\n del siguiente enlace. \r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalCismedNo\"\r\n const AbreEmergenteCismed = () => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n return (\r\n
    \r\n \r\n

    Este medicamento figura con información CisMED. Para visualizar esta información debe de estar adherido a CisMED.

    \r\n
    AbreEmergenteCismed()} style={{color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}}>\r\n \r\n \r\n

     

    \r\n

     

    \r\n

     

    \r\n

     

    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\nexport default CismedKO;","import { AddClassNameToClassItems } from \"../../../../../services/utils\";\r\nimport Emergente from \"./Emergente\";\r\nimport GraficaCismed from \"./GraficaCismed\";\r\nimport SemaforosCismed from \"./SemaforosCismed\";\r\nimport TablaFParticipantes from \"./TablaFParticipantes\";\r\n\r\nconst CismedOK = (props) => {\r\n const datosCismed = props.datosCismed;\r\n const modalTitulo = \"CRITERIOS CisMED.\";\r\n const modalContent = (\r\n
    \r\n

    \r\n Esta información ha sido elaborada a partir de la información disponible en CisMED, \r\n una infraestructura informática de comunicación que permite a la Organización \r\n Farmacéutica Colegial y a las Administraciones sanitarias disponer de información \r\n sobre la disponibilidad efectiva de medicamentos, a partir de los datos suministrados \r\n por las farmacias adheridas voluntariamente, con la finalidad de ayudar tanto a la \r\n profesión farmacéutica como en la adopción por las Administraciones de decisiones en el \r\n marco de sus competencias que faciliten la continuación de los tratamientos a los pacientes.\r\n

    \r\n

    \r\n La Organización Farmacéutica Colegial recomienda utilizar esta información como una \r\n herramienta de ayuda, pero el usuario siempre deberá valorarla con sentido crítico y \r\n consultando también otras fuentes de información. Asimismo, la Organización Farmacéutica \r\n Colegial no se hace responsable de las consecuencias que pudieran derivarse de la utilización \r\n de la información, al estar elaborada con base en criterios opinables y para la exclusiva \r\n finalidad de ayudar a la profesión farmacéutica y a las Administraciones sanitarias. \r\n El usuario es el único responsable de las infracciones en las que pueda incurrir o de los \r\n perjuicios que pueda causar por la utilización incorrecta de esta información, quedando la \r\n Organización Farmacéutica Colegial exonerada de cualquier clase de responsabilidad que se \r\n pudiera derivar por dicho uso.\r\n

    \r\n

    CRITERIOS CISMED

    \r\n

    \r\n CisMED analiza la información comunicada por las farmacias sobre faltas de\r\n suministro de los medicamentos autorizados. El periodo de análisis es semanal,\r\n de lunes a domingo.\r\n

    \r\n

    \r\n Para cada provincia, y en base al número de farmacias informantes en CisMED,\r\n se establece un valor crítico de farmacias para generar una señal de falta de\r\n suministro diario. Si el número de farmacias que comunican una falta de\r\n suministro en un día concreto supera ese valor crítico, se genera una alerta en\r\n dicho día.\r\n

    \r\n

    \r\n En base al número de alertas diarias en el suministro del medicamento que se\r\n produzcan en la semana y en la provincia, se clasifican los medicamentos en los\r\n siguientes grupos: \r\n

    \r\n
      \r\n
    • \r\n Medicamentos con incidencias por faltas de suministro: \r\n medicamentos que \r\n durante la semana observada han generado 3 o más alertas diarias en la\r\n provincia.\r\n
    • \r\n
    • \r\n Medicamentos en observación por faltas de suministro: \r\n medicamentos que\r\n durante la semana observada han generado menos de 3 alertas diarias en la\r\n provincia.\r\n
    • \r\n
    • \r\n Medicamentos sin incidencias por falta de suministro: \r\n medicamentos que\r\n durante la semana observada no han generado alertas diarias en la provincia.\r\n
    • \r\n
    \r\n

    \r\n En el gráfico de barras se muestra el porcentaje de farmacias con faltas de\r\n suministro en la última fecha disponible en distintos ámbitos geográficos:\r\n Nacional, Autonómico y Provincial.\r\n

    \r\n

    \r\n En BOT PLUS se incluye esta información procedente de CisMED para aquellos\r\n medicamentos para los que la AEMPS no informa de un problema de suministro\r\n oficial.\r\n

    \r\n

    \r\n El Consejo General pone la información recogida a través de CisMED a\r\n disposición de otros colectivos sanitarios e instituciones, todo ello con el fin de\r\n que pueda ser aprovechada en beneficio del paciente y del sistema sanitario.\r\n

    \r\n

    \r\n Así, la información generada a través de CisMED, es compartida con el Ministerio\r\n de Sanidad y a la Agencia Española de Medicamentos y Productos Sanitarios\r\n (AEMPS) que es quien recoge la información oficial sobre los problemas de\r\n suministro existentes.\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalCismedInfo\"\r\n const AbreEmergenteCismed = () => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n

     

    \r\n

     

    \r\n

     

    \r\n

     

    \r\n \r\n
    \r\n )\r\n}\r\nexport default CismedOK;\r\n\r\n","import CismedKO from \"./CismedKO\";\r\nimport CismedOK from \"./CismedOK\";\r\n\r\nconst Cismed = (props) => {\r\n const datosCismed = props.datosCismed;\r\n if (datosCismed.EstaAutorizado)\r\n return (\r\n \r\n )\r\n else\r\n return (\r\n \r\n )\r\n}\r\nexport default Cismed;\r\n\r\n","import { GetAntecesorWhithClassName, numberWithCommas, numberWithCommas2, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst Componente = (props) => {\r\n const PA = props.componente.PrincipioActivo;\r\n const idPA = props.componente.IdPrincipioActivo;\r\n const sal = props.componente.Sal;\r\n const cant = props.componente.Cantidad\r\n var uni = props.componente.Unidad;\r\n var codUnidad = props.componente.CodUnidad;\r\n var info = props.componente.Info;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tipoProd = props.tipo;\r\n var alturadivinicial;\r\n\r\n /*if (props.siguiente)\r\n console.log(props.siguiente);*/\r\n\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv){\r\n alturadivinicial = Math.round(rectdiv.height).toString() + 'px';\r\n var incremento = finYtootip - finYdiv;\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n if (itemAccordionContent && alturadivinicial){\r\n itemAccordionContent.style.height = alturadivinicial;\r\n }\r\n }\r\n\r\n if (codUnidad)\r\n codUnidad = codUnidad.trim();\r\n var sub = '';\r\n var resto = '';\r\n if (uni){\r\n if (uni.indexOf('^')>=0){\r\n var partes = uni.split('^')\r\n uni = partes[0];\r\n sub = partes[1];\r\n for(var i=0; i='0' && sub[i]<='9'; i++);\r\n resto = sub.substr(i);\r\n sub = sub.substr(0,i);\r\n }\r\n }\r\n\r\n var textosInfo = [];\r\n var subs = [];\r\n var idxsubs = [];\r\n if (info){\r\n if (info.indexOf('^')>=0){\r\n var partes = info.split('^')\r\n for (var i=0; i='0' && subInfo[j]<='9'; j++);\r\n partes[i+1] = subInfo.substr(j);\r\n subs.push(subInfo.substr(0,j));\r\n idxsubs.push(i);\r\n }\r\n textosInfo.push(partes[partes.length-1]);\r\n }\r\n else\r\n textosInfo.push(info);\r\n }\r\n\r\n /*if (info)\r\n if (info.indexOf('^')>=0){\r\n info = info.replace('^','^');\r\n }*/\r\n\r\n var HTMLAux = textosInfo[0];\r\n for (var i=0; i\"+ subs[i] + \"\" + textosInfo[i+1];\r\n\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)} />\r\n \r\n \r\n \r\n );\r\n const classdivPA = (tieneInfo ? 'column hasTooltip' : 'column');\r\n\r\n const CambiaPaginaFichaPA = (id) => {\r\n var newpagina = 'FichaPAH';\r\n if (tipoProd === \"MUV\") \r\n newpagina = 'FichaPAV';\r\n if (tipoProd === \"PPF\") \r\n newpagina = 'FichaING';\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const unidadesLargas = ['MQ','TR','UC']\r\n\r\n const sizeFontUnidades = (unidadesLargas.includes(codUnidad) ? {fontSize : '10px'} : (props.componente.IdPrincipal===0) ? {} : {fontSize : '12px'});\r\n\r\n const estiloNombreComponente = (props.componente.IdPrincipal === 0) && (!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n justifyContent: 'flex-start',\r\n textAlign: 'left',\r\n fontSize: '14px',\r\n }\r\n : (props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n justifyContent: 'flex-start',\r\n textAlign: 'left',\r\n fontSize: '14px',\r\n paddingBottom: '6px',\r\n }\r\n : \r\n {\r\n justifyContent: 'flex-start',\r\n textAlign: 'left',\r\n fontSize: '12px',\r\n paddingTop: '8px',\r\n paddingLeft: '28px',\r\n paddingBottom: '8px',\r\n }\r\n ;\r\n\r\n const estiloCantidadComponente = (props.componente.IdPrincipal === 0) && (!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n }\r\n : (props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n paddingBottom: '6px',\r\n }\r\n :\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '12px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px',\r\n }\r\n ;\r\n\r\n const estiloUnidadComponente = (unidadesLargas.includes(codUnidad) ? \r\n (props.componente.IdPrincipal === 0) && (!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n }\r\n :(props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n paddingBottom: '6px',\r\n }\r\n :\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px',\r\n }\r\n :(props.componente.IdPrincipal === 0) &&(!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n }\r\n :(props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n paddingBottom: '6px',\r\n }\r\n :\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '12px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px',\r\n }\r\n );\r\n\r\n const estiloP = (props.componente.IdPrincipal === 0) ?\r\n {marginLeft:'0px'}\r\n :\r\n {marginLeft:'0px'}\r\n ;\r\n\r\n\r\n \r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaFichaPA(idPA)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {PA} \r\n {sal}  \r\n \r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {(cant>0 ? numberWithCommas2(cant) : '-')}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {((uni !== null && uni!=='') ? \r\n ((sub!=='') ?\r\n {uni}{sub}{resto}\r\n :\r\n ((codUnidad === 'DT') ?\r\n DICT50\r\n :\r\n ((codUnidad === 'XX') ?\r\n LOG10  UNIDADES INFECCIOSAS\r\n :\r\n ((codUnidad === 'YS') ?\r\n YSLD50\r\n :\r\n ((codUnidad === 'ZX') ?\r\n LOG10  UFP\r\n :\r\n ((codUnidad === 'ZZ') ?\r\n LOG10  DICC50\r\n :\r\n uni\r\n )\r\n )\r\n )\r\n )\r\n )\r\n )\r\n : '-')}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default Componente;\r\n","import Acordeon from \"./Acordeon\";\r\nimport Componente from \"./Componente\";\r\nconst Composicion = (props) => {\r\n const composicion = props.composicion;\r\n const por = props.por;\r\n const codTipoRegistro = props.tipo;\r\n const componentes = composicion.Componentes.map(item => );\r\n //console.log(composicion.Componentes);\r\n const excipientes = ((composicion.Excipientes && composicion.Excipientes.length>0) ?\r\n composicion.Excipientes.map(item => )\r\n : \r\n \r\n );\r\n const excipientesB = ((composicion.ExcipientesB && composicion.ExcipientesB.length>0) ? \r\n composicion.ExcipientesB.map(item => )\r\n : \r\n \r\n );\r\n const titulo = composicion.Nombre+ ' ' + ((por) ? por : '');\r\n const tituloE = ((composicion.Excipientes && composicion.Excipientes.length>0) ? composicion.NombreExcipientes : '');\r\n const tituloE2 = ((composicion.ExcipientesB && composicion.ExcipientesB.length>0) ? composicion.NombreExcipientesB : '');\r\n const nombreComponentes = (codTipoRegistro===\"PPF\") ? \"Ingredientes\" : \"Principios activos\";\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n
    \r\n
    \r\n

    {nombreComponentes}

    \r\n
    \r\n
    \r\n

    Cantidad

    \r\n
    \r\n
    \r\n

    Unidad

    \r\n
    \r\n
    \r\n {componentes}\r\n {(composicion.Excipientes && composicion.Excipientes.length>0)? \r\n
    \r\n
    \r\n

    {tituloE}

    \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n : <>\r\n }\r\n {excipientes}\r\n {(composicion.ExcipientesB && composicion.ExcipientesB.length>0)? \r\n
    \r\n
    \r\n

    {tituloE2}

    \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n : <>\r\n }\r\n {excipientesB}\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default Composicion;\r\n \r\n","import Composicion from \"./Composicion\";\r\nconst Composiciones = (props) => {\r\n const datosCompos = props.datosCompos;\r\n const por = datosCompos.ComposicionPor;\r\n const composiciones = datosCompos.Composiciones.map(compo => );\r\n return (\r\n
    \r\n {composiciones}\r\n
    \r\n )\r\n}\r\nexport default Composiciones;\r\n","const FilaNombreMed = (props) => {\r\n const nombre = props.nombre;\r\n const clasesDivNombre = 'column fs fs12 fw greenColor4';\r\n const clasesDivCompos = 'column fs fs12 fw greenColor4 FlamaBook';\r\n\r\n const CambiaPaginaMed = (idMed) => {\r\n props.cambiaPagina({\r\n newpagina: 'BMismoNombreMUH',\r\n newid: idMed,\r\n });\r\n }\r\n\r\n const CambiaPaginaPA = (idPA) => {\r\n props.cambiaPagina({\r\n newpagina: 'FichaPAH',\r\n newid: idPA,\r\n });\r\n }\r\n\r\n const HTMLNombresComponentes = nombre.Componentes.map(pa => \r\n
    \r\n
    \r\n

    \r\n CambiaPaginaPA(pa.Codigo)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {pa.Valor}\r\n \r\n

    \r\n
    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaMed(nombre.IdMed)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {nombre.NombreMed}\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n {HTMLNombresComponentes}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaNombreMed;\r\n","import FilaNombreMed from \"./FilaNombreMed\";\r\n\r\n\r\nconst ConfusionNombresMed = (props) => {\r\n const nombresMed = props.nombresMed;\r\n const HTMLNombresMed = nombresMed.map(nombre => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medicamentos

    \r\n
    \r\n
    \r\n

    Composición

    \r\n
    \r\n
    \r\n {HTMLNombresMed}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default ConfusionNombresMed;\r\n","const DatoFarmaceutico = (props) => {\r\n const dato = props.dato;\r\n const tienePicto = (dato.URLPictograma && dato.URLPictograma != \"\");\r\n\r\n return (\r\n
    \r\n
    \r\n {tienePicto ?\r\n \"sandClock\"\r\n :\r\n \r\n } \r\n
    \r\n
    \r\n

    {dato.Dato}

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default DatoFarmaceutico;\r\n","import DatoFarmaceutico from \"./DatoFarmaceutico\";\r\n\r\nconst DatosConservacion = (props) => {\r\n const datosConservacion = props.datosConservacion;\r\n const htmlConservacion = datosConservacion.map(dato => )\r\n return (\r\n
    \r\n {(props.titulo) ?\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n :\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n {htmlConservacion}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default DatosConservacion;\r\n\r\n","import AdvertenciasTipo from \"../Advertencias/AdvertenciasTipo\";\r\nimport DatosConservacion from \"./DatosConservacion\";\r\n\r\nconst Conservacion = (props) => {\r\n const infoConservacion = props.infoConservacion;\r\n var datosConservacion = JSON.parse(JSON.stringify(infoConservacion.DatosConservacion));\r\n const mensajesConservacion = infoConservacion.MensajesConservacion;\r\n var datosValidez = [];\r\n\r\n if (mensajesConservacion){\r\n for (var i=0; i );\r\n\r\n return (\r\n
    \r\n {(datosConservacion && datosConservacion.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(datosValidez && datosValidez.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Conservacion;\r\n\r\n","const GrupoPolimorfismos = (props) => {\r\n const grupo = props.grupo;\r\n const polimorfismos = grupo.Polimorfismos.map(item => {item}
    );\r\n const recos = grupo.RecomendacionesTerapeuticas.map(item => {item}
    );\r\n const estiloUltimaFila = {borderBottom: '1px solid #e8e8e8'};\r\n //const estiloUltimaFila = {};\r\n var estiloObservaciones = {};\r\n var estiloRecomendaciones = {};\r\n var estiloPrimeraFila = {};\r\n if (!props.ultimaFila){\r\n if (grupo.Observaciones && grupo.Observaciones !== '')\r\n estiloObservaciones = estiloUltimaFila;\r\n else if (grupo.RecomendacionesTerapeuticas.length>0)\r\n estiloRecomendaciones = {};//estiloUltimaFila;\r\n else\r\n estiloPrimeraFila = estiloUltimaFila;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n {polimorfismos}\r\n

    \r\n
    \r\n
    \r\n

    {grupo.Fenotipo}

    \r\n
    \r\n
    \r\n

    {grupo.Efecto}

    \r\n
    \r\n
    \r\n {(grupo.RecomendacionesTerapeuticas.length>0) ?\r\n
    \r\n
    \r\n

    \r\n {recos}\r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(grupo.Observaciones && grupo.Observaciones !== '') ?\r\n
    \r\n
    \r\n

    {grupo.Observaciones}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default GrupoPolimorfismos;\r\n","import GrupoPolimorfismos from \"./GrupoPolimorfismos\";\r\n\r\nconst FarmacogeneticaBioPA = (props) => {\r\n const biomarcador = props.biomarcador;\r\n const gruposPolimorfismos = biomarcador.Polimorfismos.map(item => \r\n );\r\n\r\n var contenido = (\r\n
    \r\n
    \r\n

    Biomarcador

    \r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n

    Tipo

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {biomarcador.Nombre}

    \r\n
    \r\n
    \r\n

    {biomarcador.Tipo}

    \r\n
    \r\n
    \r\n {(biomarcador.Observaciones && biomarcador.Observaciones !== '') ?\r\n
    \r\n
    \r\n
    \r\n

    Observaciones

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {biomarcador.Observaciones}

    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n

    Polimorfismos del biomarcador

    \r\n
    \r\n
    \r\n
    \r\n

    Polimorfismo

    \r\n
    \r\n
    \r\n

    Fenotipo metabolizador

    \r\n
    \r\n
    \r\n

    Efecto farmacológico

    \r\n
    \r\n
    \r\n {gruposPolimorfismos}\r\n
    \r\n
    \r\n
    \r\n );\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n {contenido}\r\n
    \r\n )\r\n}\r\nexport default FarmacogeneticaBioPA;\r\n","import Acordeon from \"../Composicion/Acordeon\";\r\nimport FarmacogeneticaBioPA from \"./FamacogeneticaBioPA\";\r\n\r\nconst FarmacogeneticaPA = (props) => {\r\n const farmacogenetica = props.farmacogenetica;\r\n const biomarcadores = farmacogenetica.Biomarcadores.map(biom => );\r\n const titulo = farmacogenetica.PrincipioActivo;\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n {biomarcadores}\r\n
    \r\n );\r\n return (\r\n
    \r\n {(props.esAcordeon) ?\r\n \r\n :\r\n
    \r\n {biomarcadores}\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default FarmacogeneticaPA;\r\n","import FarmacogeneticaPA from \"./FarmacogeneticaPA\";\r\nconst Farmacogenetica = (props) => {\r\n const farmacogeneticaComponentes = props.farmacogeneticaComponentes;\r\n const esAcordeon = (farmacogeneticaComponentes.length>1);\r\n const farmacogeneticas = farmacogeneticaComponentes.map(fgpa => );\r\n return (\r\n
    \r\n {farmacogeneticas}\r\n
    \r\n )\r\n}\r\nexport default Farmacogenetica;\r\n","const FilaBloquePrecios = (props) => {\r\n const estilopfuturo = (props.fila.valor2 && props.fila.valor2.length>9) ? {fontSize: '12px', paddingTop: '5px'} : {};\r\n \r\n if (props.fila.colSpan){\r\n if (props.tienePFuturos){\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    \r\n )\r\n }\r\n else{\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    \r\n )\r\n }\r\n }\r\n else{\r\n if (props.tienePFuturos){\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    {props.fila.valor2}
    \r\n
    {props.fila.valor3}
    \r\n
    \r\n )\r\n }\r\n else{\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    {props.fila.valor2}
    \r\n
    \r\n )\r\n }\r\n }\r\n}\r\nexport default FilaBloquePrecios;\r\n","import { apiProdPath, FormatoFechaDDMMYYYY, numberWithCommas } from \"../../../../../services/utils\";\r\nimport FilaBloquePrecios from \"../InfoGeneral/FilaBloquePrecios\";\r\n\r\nconst AgrupacionHomogenea = (props) => {\r\n const tienePreciosFuturos = (props.agrupFutura != null);\r\n const claseDivTabla = (tienePreciosFuturos ? \"tablaConPF\" : \"tablaSinPF\");\r\n var Filas = [];\r\n const busqueda = ((props.agrup && props.agrup.IdCCAA > 0 ) || (props.agrupFutura && props.agrupFutura.IdCCAA > 0 )) ? \"BAgrupHomoAuto\" + props.tipoReg : \"BAgrupHomo\" + props.tipoReg;\r\n\r\n const literalAgrupacion = (props.tipoReg === \"FM\")||(props.tipoReg === \"PO\") ? \"Fórmula codificada receta electrónica\" : \"Agrupación homogénea\";\r\n var literalFecha = \"\"\r\n if (!props.agrup && props.agrupFutura && props.fecha)\r\n literalFecha += \" a partir de \" + FormatoFechaDDMMYYYY(props.fecha);\r\n\r\n\r\n if (tienePreciosFuturos){\r\n if ((props.agrup && props.agrup.PVPMenor>0)||(props.agrupFutura.PVPMenor>0)){\r\n Filas.push(\r\n {\r\n titulo: (props.agrup) ? props.agrup.LiteralPMenor : props.agrupFutura.LiteralPMenor,\r\n valor1: (props.agrup && props.agrup.PVPMenor >0) ? numberWithCommas(props.agrup.PVPMenor): '-',\r\n valor2: props.agrupFutura.PVPMenor > 0 && (!props.agrup || props.agrupFutura.PVPMenor !== props.agrup.PVPMenor) ? \r\n numberWithCommas(props.agrupFutura.PVPMenor) : \r\n props.agrupFutura.PVPMenor === -1 ?\r\n 'Desaparece' :\r\n ' ',\r\n valor3: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if ((props.agrup && props.agrup.PVPMasBajo>0)||(props.agrupFutura.PVPMasBajo>0)){\r\n Filas.push(\r\n {\r\n titulo: (props.agrup) ? props.agrup.LiteralPMasBajo : props.agrupFutura.LiteralPMasBajo,\r\n valor1: (props.agrup && props.agrup.PVPMasBajo >0) ? numberWithCommas(props.agrup.PVPMasBajo): '-',\r\n valor2: props.agrupFutura.PVPMasBajo > 0 && (!props.agrup || props.agrupFutura.PVPMasBajo !== props.agrup.PVPMasBajo) ? \r\n numberWithCommas(props.agrupFutura.PVPMasBajo) : \r\n props.agrupFutura.PVPMasBajo === -1 ?\r\n 'Desaparece' :\r\n ' ',\r\n valor3: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if (props.mostrarPExtra && props.agrup && props.agrup.PVPExtra>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup ? props.agrup.LiteralPExtra : props.agrupFutura.LiteralPExtra,\r\n valor1: (props.agrup && props.agrup.PVPExtra >0) ? numberWithCommas(props.agrup.PVPExtra): '-',\r\n valor2: props.agrupFutura.PVPExtra > 0 && (!props.agrup || props.agrupFutura.PVPExtra !== props.agrup.PVPExtra) ? \r\n numberWithCommas(props.agrupFutura.PVPExtra) : \r\n props.agrupFutura.PVPExtra === -1 ?\r\n 'Desaparece' :\r\n ' ',\r\n valor3: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n }\r\n else{\r\n if (props.agrup.PVPMenor>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup.LiteralPMenor,\r\n valor1: props.agrup.PVPMenor >0 ? numberWithCommas(props.agrup.PVPMenor): '-',\r\n valor2: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if (props.agrup.PVPMasBajo>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup.LiteralPMasBajo,\r\n valor1: props.agrup.PVPMasBajo >0 ? numberWithCommas(props.agrup.PVPMasBajo): '-',\r\n valor2: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if (props.mostrarPExtra && props.agrup.PVPExtra>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup.LiteralPExtra,\r\n valor1: props.agrup.PVPExtra >0 ? numberWithCommas(props.agrup.PVPExtra): '-',\r\n valor2: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n }\r\n\r\n const TablaHTML = Filas.map(fila => );\r\n\r\n const CambiaPaginaBusquedaGrupo = (id) => {\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: id,\r\n });\r\n }\r\n\r\n const estilobordes = (props.noBordeSup) ? {borderTop:'none'} : {};\r\n\r\n return (\r\n
    \r\n
    \r\n

    {literalAgrupacion} {props.ccaa} {literalFecha}

    \r\n

    CambiaPaginaBusquedaGrupo(props.agrup.Codigo)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {(props.agrup)?\r\n props.agrup.Codigo + ' ' +props.agrup.Nombre\r\n :\r\n props.agrupFutura.Codigo + ' ' +props.agrupFutura.Nombre\r\n }\r\n

    \r\n
    \r\n
    \r\n {TablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default AgrupacionHomogenea;\r\n","import { useState } from \"react\";\r\nimport { AddClassNameToClassItems, RemoveClassNameToClassItems } from \"../../../../../services/utils\";\r\nimport AvisoPriciosFuturos from \"../../InfoPrincipal/AvisoPreciosFuturos\";\r\nimport Emergente from \"../Cismed/Emergente\";\r\nimport BloqueNombreValor from \"../InfoGeneral/BloqueNombreValor\";\r\nimport AgrupacionHomogenea from \"./AgrupacionHomogenea\";\r\n\r\nconst Grupos = (props) => {\r\n const [msgAviso, setMsgAviso] = useState('');\r\n const [strPaginaTrasAviso, setStrPaginaTrasAviso] = useState('');\r\n const [idPaginaTrasAviso, setIdPaginaTrasAviso] = useState(0);\r\n \r\n var bloqueATC = [];\r\n var nombreGrupos = \"ATC\";\r\n var tipoReg = props.codTipoRegistro;\r\n if (props.nombreGrupos)\r\n nombreGrupos = props.nombreGrupos;\r\n var tituloGrupos = \"Grupos terapéuticos ATC\"\r\n if (nombreGrupos === \"Con\"){\r\n tituloGrupos = \"Categorización Consejo General\";\r\n tipoReg = \"PPF\"\r\n }\r\n var tipoRegLink = tipoReg;\r\n if ((tipoReg === \"PO\") || (tipoReg === \"FM\")){\r\n tipoRegLink = \"MUH\";\r\n }\r\n var link = \"BGT\" + nombreGrupos + tipoRegLink;\r\n \r\n for (var i=1; i<=5; i++)\r\n {\r\n var nombreCampo = \"G\" + nombreGrupos + \"Nivel\" + i.toString();\r\n if (props.datosGrupos[nombreCampo]){\r\n var titulo = \"Nivel \" + i.toString();\r\n var id = props.datosGrupos[nombreCampo].Codigo;\r\n var valor = props.datosGrupos[nombreCampo].Codigo + \" \" + props.datosGrupos[nombreCampo].Descripcion;\r\n bloqueATC.push({\r\n nombre: titulo,\r\n valor : valor,\r\n link : link,\r\n id : id\r\n })\r\n }\r\n }\r\n\r\n\r\n const CambiaPaginaBusquedaGrupo = (tipo, id) => {\r\n props.cambiaPagina({\r\n newpagina: tipo,\r\n newid: id,\r\n });\r\n }\r\n \r\n\r\n var bloqueVTM = [];\r\n /*const descClinica = ((props.datosGrupos.GVTM !== null && props.datosGrupos.GVTM!== undefined) \r\n || (props.datosGrupos.GTVMP !== null && props.datosGrupos.GTVMP !== undefined) \r\n || (props.datosGrupos.GTVMPP !== null && props.datosGrupos.GTVMPP !== undefined));*/\r\n const descClinica = (props.datosGrupos.GVTM || props.datosGrupos.GVMP ||props.datosGrupos.GVMPP) \r\n if (props.datosGrupos.GVTM){\r\n bloqueVTM.push(\r\n {\r\n nombre : 'Grupo terapéutico VTM',\r\n valor: props.datosGrupos.GVTM.Descripcion,\r\n link: 'BGTVMPPMUH',\r\n id: props.datosGrupos.GVTM.Codigo,\r\n aviso: (props.sustituible) ? false : (props.exceptSust) ? 'Se recuerda que este medicamento es sustituible por el farmacéutico de forma excepcional debido a problemas de suministro':'Se recuerda que este medicamento no es sustituible por el farmacéutico.',\r\n },\r\n )\r\n }\r\n\r\n if (props.datosGrupos.GVMP){\r\n bloqueVTM.push(\r\n {\r\n nombre : 'Grupo terapéutico VMP',\r\n valor: props.datosGrupos.GVMP.Descripcion,\r\n link: 'BGTVMPPMUH',\r\n id: props.datosGrupos.GVMP.Codigo,\r\n aviso: (props.sustituible) ? false : (props.exceptSust) ? 'Se recuerda que este medicamento es sustituible por el farmacéutico de forma excepcional debido a problemas de suministro':'Se recuerda que este medicamento no es sustituible por el farmacéutico.',\r\n },\r\n )\r\n }\r\n\r\n if (props.datosGrupos.GVMPP){\r\n bloqueVTM.push(\r\n {\r\n nombre : 'Grupo terapéutico VMPP',\r\n valor: props.datosGrupos.GVMPP.Descripcion,\r\n link: 'BGTVMPPMUH',\r\n id: props.datosGrupos.GVMPP.Codigo,\r\n aviso: (props.sustituible) ? false : (props.exceptSust) ? 'Se recuerda que este medicamento es sustituible por el farmacéutico de forma excepcional debido a problemas de suministro':'Se recuerda que este medicamento no es sustituible por el farmacéutico.',\r\n },\r\n )\r\n }\r\n\r\n const estiloSinBorde = {borderBottom: 'none'};\r\n const estiloGTATC = (descClinica) ? undefined : estiloSinBorde;\r\n\r\n const abreEmergenteAviso = (aviso,pagina,id) => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n setMsgAviso(aviso);\r\n setStrPaginaTrasAviso(pagina);\r\n setIdPaginaTrasAviso(id);\r\n }\r\n\r\n const cierraEmergenteAviso = () => {\r\n RemoveClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const modalTitulo = 'Recuerde';\r\n const modalContent = (\r\n
    \r\n

    \r\n {msgAviso}\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalAvisoSust\"\r\n\r\n const hayPFuturos = props.pFuturos && ((props.pFuturos.AgrupacionNacional && (props.pFuturos.AgrupacionNacional.PVPMenor !== 0 || props.pFuturos.AgrupacionNacional.PVPMasBajo !== 0))\r\n ||(props.pFuturos.AgrupacionCCAA && (props.pFuturos.AgrupacionCCAA.PVPMenor !== 0 || props.pFuturos.AgrupacionCCAA.PVPMasBajo !== 0)))\r\n\r\n const hayAgrupAuto = ((props.agrupCCAA && props.agrupCCAA.Codigo) || (props.pFuturos && (props.pFuturos.AgrupacionCCAA && props.pFuturos.AgrupacionCCAA.Codigo)))\r\n const hayAgrupNac = ((props.agrupNac && props.agrupNac.Codigo) || (props.pFuturos && (props.pFuturos.AgrupacionNacional && props.pFuturos.AgrupacionNacional.Codigo)))\r\n\r\n const pFuturosHTML = ((hayPFuturos)?\r\n
    \r\n \r\n
    :\r\n <> \r\n );\r\n\r\n\r\n return (\r\n
    \r\n \r\n {pFuturosHTML}\r\n {hayAgrupAuto ?\r\n \r\n \r\n :\r\n <>\r\n }\r\n {hayAgrupNac ?\r\n \r\n \r\n :\r\n <>\r\n }\r\n\r\n {props.datosGrupos.GNomenclator ?\r\n
    \r\n
    \r\n

     

    \r\n
    \r\n

    Clasificación Nomenclátor

    \r\n

    CambiaPaginaBusquedaGrupo('BGTSanPPF',props.datosGrupos.GNomenclator.Codigo)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}>\r\n {props.datosGrupos.GNomenclator.Codigo} {props.datosGrupos.GNomenclator.Descripcion}\r\n

    \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n

    {tituloGrupos}

    \r\n
    \r\n \r\n \r\n { (descClinica) ?\r\n
    \r\n

     

    \r\n
    \r\n

    Descripciones clínicas AEMPS

    \r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n )\r\n}\r\nexport default Grupos;\r\n \r\n /*if (props.datosGrupos[\"GATCNivel1\"]){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 1',\r\n valor: props.datosGrupos.GATCNivel1.Codigo + ' ' + props.datosGrupos.GATCNivel1.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel1.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel2){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 2',\r\n valor: props.datosGrupos.GATCNivel2.Codigo + ' ' + props.datosGrupos.GATCNivel2.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel2.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel3){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 3',\r\n valor: props.datosGrupos.GATCNivel3.Codigo + ' ' + props.datosGrupos.GATCNivel3.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel3.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel4){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 4',\r\n valor: props.datosGrupos.GATCNivel4.Codigo + ' ' + props.datosGrupos.GATCNivel4.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel4.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel5){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 5',\r\n valor: props.datosGrupos.GATCNivel5.Codigo + ' ' + props.datosGrupos.GATCNivel5.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel5.Codigo\r\n },\r\n )\r\n }*/\r\n","import { numberWithCommas } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst CambioHistorico = (props) => {\r\n const cambio = props.cambio;\r\n const titulo = cambio.Tipo;\r\n const esCambioPrecio = (cambio.PreAnterior && cambio.PreAnterior>0);\r\n const esCambioNombre = (cambio.NomAnterior && cambio.NomAnterior !== '');\r\n const esCambioLab = (cambio.LabAnterior && cambio.LabAnterior !== '');\r\n const tieneObservaciones = (cambio.Observaciones && cambio.Observaciones !== '');\r\n\r\n const contenido = (\r\n
    \r\n {(esCambioPrecio) ?\r\n (props.esECoH) ?\r\n

    PVL anterior: {numberWithCommas(cambio.PreAnterior)} €

    \r\n :\r\n

    PVPiva anterior: {numberWithCommas(cambio.PreAnterior)} €

    \r\n : (esCambioNombre) ?\r\n

    Nombre anterior: {cambio.NomAnterior}

    \r\n : (esCambioLab) ?\r\n

    Laboratorio anterior: {cambio.LabAnterior}

    \r\n : \r\n \r\n }\r\n {(tieneObservaciones) ?\r\n

    {cambio.Observaciones}

    \r\n :\r\n \r\n }\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default CambioHistorico;","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\nimport CambioHistorico from \"./CambioHistorico\";\r\n\r\nconst FechaHistorico = (props) => {\r\n const fecha = props.fecha;\r\n const htmlCambios = fecha.Cambios.map(cambio => )\r\n return (\r\n
    \r\n
    \r\n

    {FormatoFechaDDMMYYYY(fecha.Fecha)}

    \r\n
    \r\n {htmlCambios}\r\n
    \r\n )\r\n}\r\nexport default FechaHistorico;\r\n","import FechaHistorico from \"./FechaHistorico\";\r\n\r\nconst Historico = (props) => {\r\n const datosHistorico = props.datosHistorico;\r\n const htmlHistorico = datosHistorico.map(fecha => )\r\n return (\r\n
    \r\n {htmlHistorico}\r\n
    \r\n )\r\n}\r\nexport default Historico;\r\n","const FilaTitulosIdent = (props) => {\r\n const fila = props.fila;\r\n\r\n const htmlFila = fila.map(item=>\r\n
    \r\n

    {item}

    \r\n
    \r\n );\r\n\r\n const clasesDiv = (props.idxBloque === 0 ? \"table__row table__row__header table__row__header__noBg fs fs12 fw fw600 greenColor uppercase\" : \"table__row table__row__header2 table__row__header__noBg fs fs12 fw fw600 greenColor uppercase\")\r\n\r\n return (\r\n
    \r\n {htmlFila}\r\n
    \r\n )\r\n}\r\nexport default FilaTitulosIdent;\r\n","import FilaTitulosIdent from \"./FilaTitulosIdent\";\r\n\r\nconst FilaIdent = (props) => {\r\n const fila = props.fila;\r\n //const esImagen = props.esImagen;\r\n\r\n const htmlFila = fila.map(item=>\r\n
    \r\n {\r\n (fila.indexOf(item) + (props.idxBloque * props.colsperrow)===props.idxForma) ?\r\n {item}\r\n :\r\n (item && item !== '') ? \r\n {item.split(\"\\n\").map(line=>

    {line}

    )}
    \r\n :\r\n

    -

    \r\n }\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {htmlFila}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaIdent;\r\n","import BloqueTablaIdent from \"./BloqueTablaIdent\";\r\nimport FilaIdent from \"./FilaIdent\";\r\n\r\nconst Identificacion = (props) => {\r\n const datosIdentificacion = props.datosIdentificacion;\r\n const colsperrow = 3;\r\n const tablas = [];\r\n var iaux=datosIdentificacion.Titulos.indexOf('Forma');\r\n /*for(let i=0; i < datosIdentificacion.Titulos.length; i+= colsperrow){\r\n const chunk = datosIdentificacion.Titulos.slice(i, i + colsperrow);\r\n const valores = [];\r\n for (let j=0; j );\r\n //const htmlTabla = tabla.map(fila => );\r\n\r\n const htmlTablas = tablas.map(tabla => \r\n
    \r\n {tabla.map(fila => )}\r\n
    \r\n )\r\n \r\n\r\n return (\r\n
    \r\n {htmlTablas}\r\n
    \r\n )\r\n}\r\nexport default Identificacion;\r\n\r\n","import DocumentosDeTipo from \"./DocumentosDeTipo\";\r\n\r\nconst InformacionAdicional = (props) => {\r\n const datosInfoAdicional = props.datosInfoAdicional;\r\n const htmlInfoAdicional = datosInfoAdicional.map(grupodocs => )\r\n return (\r\n
    \r\n {htmlInfoAdicional}\r\n
    \r\n )\r\n}\r\nexport default InformacionAdicional;\r\n\r\n","import { getIdCCAA, numberWithCommas, AddClassNameToClassItems, rootPath } from \"../../../../../services/utils\";\r\nimport AvisoPriciosFuturos from \"../../InfoPrincipal/AvisoPreciosFuturos\";\r\nimport FilaBloquePrecios from \"./FilaBloquePrecios\";\r\n/*\r\n {(tienePreciosFuturos && \r\n (ficha.PFuturos.PVPIVA>0 || ficha.PFuturos.PVPsinIVA>0 || ficha.PFuturos.PFact>0 || \r\n (ficha.PFuturos.AgrupacionCCAA && \r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor > 0 || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo > 0))) ?\r\n \r\n :\r\n
    \r\n )}\r\n*/\r\n\r\nconst BloquePrecios = (props) => {\r\n const ficha=props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos);\r\n const pFuturosHTML = (tienePreciosFuturos &&\r\n (ficha.PFuturos.PVPIVA>0 || ficha.PFuturos.PVPsinIVA>0 || ficha.PFuturos.PFact>0 || ficha.PFuturos.PVL>0 || ficha.PFuturos.PRef>0 || ficha.PFuturos.PVLRef>0 )? \r\n : \r\n \r\n );\r\n const claseDivTabla = (tienePreciosFuturos ? \"tablaConPF\" : \"tablaSinPF\");\r\n var literalPVPIVA = 'PVP con IVA';\r\n if (ficha.CodTipoRegistro === 'PPF')\r\n literalPVPIVA = 'PVP con IVA de facturación';\r\n var literalPVPsinIVA = 'PVP sin IVA';\r\n var idCCAA = getIdCCAA();\r\n if ((idCCAA===18) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Ceuta\";\r\n if ((idCCAA===19) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Melilla\";\r\n var literalPVL = 'PVL';\r\n if (ficha.DatosF){\r\n if (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0){\r\n literalPVPIVA = 'PVP con IVA notificado';\r\n literalPVPsinIVA = 'PVP sin IVA notificado';\r\n literalPVL = 'PVL notificado';\r\n }\r\n }\r\n\r\n var precioReferencia = (ficha.PVPIVA ? ficha.PVPIVA : ficha.PVPsinIVA ? ficha.PVPsinIVA : ficha.PVL ? ficha.PVL : ficha.PFact);\r\n\r\n var gridTemplateColumns = \"2.5fr 0.5fr 1.7fr\";\r\n if (tienePreciosFuturos)\r\n gridTemplateColumns = \"2.5fr 0.6fr 0.6fr 1.8fr\";\r\n\r\n\r\n if (precioReferencia){\r\n if (precioReferencia>=100){\r\n gridTemplateColumns = \"2.5fr 0.6fr 1.6fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 0.7fr 0.7fr 1.6fr\";\r\n }\r\n }\r\n if (precioReferencia>=1000){\r\n gridTemplateColumns = \"2.5fr 0.7fr 1.5fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 0.8fr 0.8fr 1.4fr\";\r\n }\r\n }\r\n if (precioReferencia>=10000){\r\n gridTemplateColumns = \"2.5fr 0.9fr 1.3fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 1.0fr 1.0fr 1.0fr\";\r\n }\r\n }\r\n if (precioReferencia>=100000){\r\n gridTemplateColumns = \"2.5fr 1.0fr 1.2fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 1.1fr 1.1fr 0.8fr\";\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n const Filas = (tienePreciosFuturos ?\r\n [\r\n {\r\n titulo: 'IVA aplicable',\r\n valor1: ficha.IVA >0 ? ficha.IVA + '%': '-',\r\n valor2: '',\r\n valor3: '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPIVA,\r\n valor1: ficha.PVPIVA >0 ? numberWithCommas(ficha.PVPIVA): '-',\r\n valor2: ficha.PFuturos.PVPIVA >0 && ficha.PFuturos.PVPIVA !== ficha.PVPIVA ? numberWithCommas(ficha.PFuturos.PVPIVA) : ' ',\r\n valor3: ficha.PVPIVA >0 || ficha.PFuturos.PVPIVA >0 ?'EUR':'',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPsinIVA,\r\n valor1: ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-',\r\n valor2: ficha.PFuturos.PVPsinIVA > 0 && ficha.PFuturos.PVPsinIVA !== ficha.PVPsinIVA ? numberWithCommas(ficha.PFuturos.PVPsinIVA) : ' ',\r\n valor3: ficha.PVPsinIVA>0 || ficha.PFuturos.PVPsinIVA > 0 ? 'EUR': '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVL,\r\n valor1: ficha.PVL > 0 ? numberWithCommas(ficha.PVL) : '-',\r\n valor2: ficha.PFuturos.PVL > 0 && ficha.PFuturos.PVL !== ficha.PVL ? numberWithCommas(ficha.PFuturos.PVL) : ' ',\r\n valor3: ficha.PFuturos.PVL > 0 || ficha.PVL > 0 ? 'EUR': '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Precio facturación',\r\n valor1: ficha.PFact > 0 ? numberWithCommas(ficha.PFact) : '-',\r\n valor2: ficha.PFuturos.PFact > 0 && ficha.PFuturos.PFact !== ficha.PFact? numberWithCommas(ficha.PFuturos.PFact) : ' ',\r\n valor3: ficha.PFact > 0 || ficha.PFuturos.PFact > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Conjunto de referencia',\r\n valor1: (ficha.CjtoRef) ? ficha.CjtoRef.Codigo + ' ' + ficha.CjtoRef.Nombre : '',\r\n colSpan:true,\r\n },\r\n {\r\n titulo: 'PVP IVA referencia',\r\n valor1: ficha.PRef > 0 ? numberWithCommas(ficha.PRef) : '-',\r\n valor2: ficha.PFuturos.PRef > 0 && ficha.PFuturos.PRef != ficha.PRef ? numberWithCommas(ficha.PFuturos.PRef) : ' ',\r\n valor3: ficha.PFuturos.PRef > 0 || ficha.PRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'PVL referencia',\r\n valor1: ficha.PVLRef > 0 ? numberWithCommas(ficha.PVLRef) : '-',\r\n valor2: ficha.PFuturos.PVLRef > 0 && ficha.PFuturos.PVLRef !== ficha.PVLRef? numberWithCommas(ficha.PFuturos.PVLRef) : ' ',\r\n valor3: ficha.PFuturos.PVLRef > 0 || ficha.PVLRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n ]\r\n :\r\n [\r\n {\r\n titulo: 'IVA aplicable',\r\n valor1: ficha.IVA >0 ? ficha.IVA + '%': '-',\r\n valor2: '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPIVA,\r\n valor1: ficha.PVPIVA >0 ? numberWithCommas(ficha.PVPIVA): '-',\r\n valor2: ficha.PVPIVA >0 ?'EUR':'',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPsinIVA,\r\n valor1: ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-',\r\n valor2: ficha.PVPsinIVA>0 ? 'EUR': '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVL,\r\n valor1: ficha.PVL >0 ? numberWithCommas(ficha.PVL) : '-',\r\n valor2: ficha.PVL > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Precio facturación',\r\n valor1: ficha.PFact > 0 ? numberWithCommas(ficha.PFact) : '-',\r\n valor2: ficha.PFact > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Conjunto de referencia',\r\n valor1: (ficha.CjtoRef) ? ficha.CjtoRef.Codigo + ' ' + ficha.CjtoRef.Nombre : '-',\r\n colSpan:true,\r\n },\r\n {\r\n titulo: 'PVP IVA referencia',\r\n valor1: ficha.PRef > 0 ? numberWithCommas(ficha.PRef) : '-',\r\n valor2: ficha.PRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'PVL referencia',\r\n valor1: ficha.PVLRef > 0 ? numberWithCommas(ficha.PVLRef) : '-',\r\n valor2: ficha.PVLRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n ]\r\n );\r\n\r\n if (ficha.CodTipoRegistro === \"PPF\")\r\n {\r\n Filas.splice(4,4);\r\n Filas.splice(2,1);\r\n if (ficha.LiteralPrecio)\r\n Filas[1].titulo = ficha.LiteralPrecio;\r\n var idCCAA = getIdCCAA();\r\n if (idCCAA === 5 || idCCAA === 18 || idCCAA === 19){\r\n if (tienePreciosFuturos){\r\n Filas[1].valor1= ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-';\r\n Filas[1].valor2= ficha.PFuturos.PVPsinIVA > 0 && ficha.PFuturos.PVPsinIVA !== ficha.PVPsinIVA ? numberWithCommas(ficha.PFuturos.PVPsinIVA) : ' ';\r\n Filas[1].valor3= ficha.PVPsinIVA>0 || ficha.PFuturos.PVPsinIVA > 0 ? 'EUR': '';\r\n }\r\n else{\r\n Filas[1].valor1 = ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-';\r\n Filas[1].valor2 = ficha.PVPsinIVA>0 ? 'EUR': '';\r\n }\r\n }\r\n\r\n }\r\n\r\n if (ficha.CodTipoRegistro === \"MHO\")\r\n {\r\n Filas.splice(5,3);\r\n }\r\n\r\n const TablaHTML = Filas.map(fila => );\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n Precios\r\n { \r\n (ficha.InfoPrecio && ficha.InfoPrecio !== '') ?\r\n props.abreEmergenteInfoPrecio(e)}>\r\n \"\"/\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n {pFuturosHTML}\r\n
    \r\n
    \r\n {TablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default BloquePrecios;\r\n","import { AddClassNameToClassItems, FormatoFechaDDMMYYYY, numberWithCommas, rootPath } from \"../../../../../services/utils\";\r\nimport Emergente from \"../Cismed/Emergente\";\r\nimport BloqueNombreValor from \"./BloqueNombreValor\";\r\nimport BloquePrecios from \"./BloquePrecios\";\r\n\r\nconst InfoGeneral = (props) => {\r\n const ficha = props.ficha;\r\n const bloque1H = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Nº de registro',\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Código EAN13',\r\n valor: ficha.CodEAN13,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Max. envases por receta',\r\n valor: ficha.MaxEnvReceta,\r\n link: null,\r\n },\r\n ]\r\n const bloque1V = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Nº de registro',\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Código EAN13',\r\n valor: ficha.CodEAN13,\r\n link: null,\r\n },\r\n {\r\n nombre : 'IVA Aplicable',\r\n valor: ficha.IVA>0 ? numberWithCommas(ficha.IVA) + ' %' : '',\r\n link: null,\r\n },\r\n ]\r\n\r\n var bloque1PF = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Tipo de producto',\r\n valor: ficha.TipoPF,\r\n link: 'BTipoPPF',\r\n id: ficha.IdTipoPF\r\n },\r\n {\r\n nombre : ficha.LiteralSubtipo,\r\n valor: ficha.SubtipoPF,\r\n link: 'BSubtipoPPF',\r\n id: ficha.IdSubtipoPF\r\n },\r\n {\r\n nombre : ficha.LiteralCodigoRegistro,\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro == \"PPF\"){\r\n const idTiposConNumRegPF = [ 1, 6, 12, 13, 23, 24, 25 ];\r\n if (!idTiposConNumRegPF.includes(ficha.IdTipoPF))\r\n bloque1PF.pop();\r\n const tieneCodigoUdi = ((ficha.CodTipoRegistro === \"PPF\") && (ficha.IdTipoPF) && (ficha.IdTipoPF === 1 || ficha.IdTipoPF === 13 || ficha.IdTipoPF === 25))\r\n if (tieneCodigoUdi){\r\n const tieneValorCodigoUdi = tieneCodigoUdi && ficha.CodUDIDI && (ficha.CodUDIDI !== '')\r\n if (tieneValorCodigoUdi)\r\n bloque1PF.push({\r\n nombre : 'Código UDI-DI',\r\n valor: ficha.CodUDIDI,\r\n link: null,\r\n })\r\n else{\r\n bloque1PF.push({\r\n nombre : 'Código UDI-DI',\r\n valor: '-',\r\n link: null,\r\n })\r\n }\r\n }\r\n }\r\n\r\n var precioAuto = 0;\r\n\r\n if (ficha.AgrupacionCCAA)\r\n precioAuto = ficha.AgrupacionCCAA.PVPMenor;\r\n const formaFarma = (ficha.FormaFarma) ? ficha.FormaFarma.Formafarmaceutica : '';\r\n const via = (ficha.FormaFarma) ? ficha.FormaFarma.Via : '';\r\n\r\n const bloque1FM = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n }, \r\n {\r\n nombre : (ficha.IdCCAA===5 || ficha.IdCCAA===18 || ficha.IdCCAA===19 ? \"PVP\" : \"PVP con IVA\"),\r\n valor: (precioAuto>0) ? numberWithCommas(precioAuto) + ' EUR': '',\r\n link: null,\r\n },\r\n {\r\n nombre : 'IVA Aplicable',\r\n valor: ficha.IVA>0 ? numberWithCommas(ficha.IVA) + ' %' : '',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n ]\r\n const lab = (ficha.Laboratorio) ? ficha.Laboratorio.Nombre : '';\r\n const idLab = (ficha.Laboratorio) ? ficha.Laboratorio.Id : 0;\r\n\r\n const bloque1HO = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n }, \r\n {\r\n nombre : 'Nº de registro',\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Laboratorio',\r\n valor: \r\n (
    \r\n props.cambiaPagina({newpagina:'BLaboratorio'+ficha.CodTipoRegistro, newid:idLab})}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{lab.toUpperCase()}   \r\n abreEmergenteLabo(e)}>\r\n \"\"/\r\n \r\n
    ),\r\n link: null,\r\n id: idLab\r\n },\r\n {\r\n nombre : 'Estado autorización',\r\n valor: (ficha.EstadoAuto) ? ficha.EstadoAuto.Descripcion : '-',\r\n link: null,\r\n },\r\n ]\r\n\r\n var bloque1 = bloque1H\r\n\r\n const abreEmergenteLabo = (e) => {\r\n e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n \r\n var bloque2 = [\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Laboratorio',\r\n valor: \r\n (
    \r\n props.cambiaPagina({newpagina:'BLaboratorio'+ficha.CodTipoRegistro, newid:idLab})} \r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{lab.toUpperCase()}   \r\n abreEmergenteLabo(e)}>\r\n \"\"/\r\n \r\n
    ),\r\n link: null,\r\n id: idLab\r\n },\r\n ]\r\n\r\n var datosLaboratorio = [\r\n {\r\n nombre : 'Dirección',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Direccion) ? ficha.Laboratorio.Direccion : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Código postal',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.CodigoPostal) ? ficha.Laboratorio.CodigoPostal : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Localidad',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Localidad) ? ficha.Laboratorio.Localidad : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Provincia',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Provincia) ? ficha.Laboratorio.Provincia : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'País',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Pais) ? ficha.Laboratorio.Pais : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Teléfono',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Telefono) ? ficha.Laboratorio.Telefono : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Fax',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Fax) ? ficha.Laboratorio.Fax : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Email',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Email) ? ficha.Laboratorio.Email : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Web',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Observaciones) ? ficha.Laboratorio.Observaciones.toLowerCase() : '-',\r\n link: null,\r\n },\r\n ]\r\n\r\n if (ficha.Laboratorio && ficha.Laboratorio.IdPais===1)\r\n datosLaboratorio.splice(4,1);\r\n\r\n var bloque2PF = [\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Laboratorio',\r\n valor: \r\n (
    \r\n props.cambiaPagina({newpagina:'BLaboratorioPPF', newid:idLab})} \r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{lab.toUpperCase()}   \r\n abreEmergenteLabo(e)}>\r\n \"\"/\r\n \r\n
    ),\r\n link: null,\r\n id: idLab\r\n },\r\n {\r\n nombre : 'Estéril',\r\n valor: ficha.Esteril,\r\n link: null,\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro == \"PPF\"){\r\n const idTiposConEsteril = [ 1, 13, 25 ];\r\n if (!idTiposConEsteril.includes(ficha.IdTipoPF)){\r\n bloque2PF.pop();\r\n }\r\n\r\n const idTiposConSubtipo = [ 1, 3, 6, 12, 13, 23, 25 ];\r\n if (!idTiposConSubtipo.includes(ficha.IdTipoPF)){\r\n //bloque2PF.splice(4,1);\r\n bloque1PF.splice(2,1);\r\n }\r\n \r\n const idTiposSinFF = [ 24 ];\r\n if (idTiposSinFF.includes(ficha.IdTipoPF)){\r\n bloque2PF.splice(0,2);\r\n }\r\n }\r\n\r\n var bloque3 = [\r\n {\r\n nombre : 'Estado autorización',\r\n valor: (ficha.EstadoAuto) ? ficha.EstadoAuto.Descripcion : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Estado Nomenclátor',\r\n valor: ficha.EstadoNom ? ficha.EstadoNom.Descripcion : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Fecha autorización',\r\n valor: (ficha.FechaAutorizacion && (new Date(ficha.FechaAutorizacion)).getTime()>(new Date('01/01/1900')).getTime() ? FormatoFechaDDMMYYYY(ficha.FechaAutorizacion) : '-'),\r\n link: null,\r\n },\r\n ]\r\n\r\n\r\n const fecha0 = new Date(1900,1,1).toJSON();\r\n if ((ficha.FechaComercializacion > fecha0) && (ficha.IdEstadoAuto !== 3))\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha comercialización',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaComercializacion),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.FechaInclusionSNS > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha inclusión en SNS',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaInclusionSNS),\r\n link: null,\r\n },\r\n )\r\n\r\n\r\n if (ficha.FechaBajaInclusionFinanIndiv > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha baja exclusión financiación individualizada',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaBajaInclusionFinanIndiv),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.CodTipoRegistro===\"PPF\"){\r\n bloque1 = bloque1PF;\r\n bloque2 = bloque2PF;\r\n bloque3.splice(0,1);\r\n bloque3[0].nombre = \"Estado comercialización\";\r\n bloque3[1].nombre = \"Fecha de alta\";\r\n if (ficha.IdEstadoNomPF>0 && ficha.EstadoNomPF){\r\n bloque3.splice(1,0,{\r\n nombre : 'Estado Nomenclátor',\r\n valor: ficha.EstadoNomPF.Descripcion,\r\n link: null,\r\n });\r\n if (ficha.FechaBajaEfectoYAccesorio > fecha0){\r\n bloque3.push({\r\n nombre : 'Fecha baja Efectos y Accesorios',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaBajaEfectoYAccesorio),\r\n link: null,\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (ficha.FechaExclusionSNS > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha exclusión SNS',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaExclusionSNS),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.FechaBaja > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : (ficha.IdEstadoAuto === 1) ? 'Fecha de suspensión':'Fecha de baja',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaBaja),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.CodTipoRegistro===\"MUV\"){ \r\n bloque1 = bloque1V;\r\n //bloque2[2].link = \"BLaboratorioMUV\"\r\n bloque3.splice(1,1);\r\n }\r\n \r\n if (ficha.CodTipoRegistro===\"FM\" || ficha.CodTipoRegistro === \"PO\")\r\n {\r\n bloque1 = bloque1FM;\r\n bloque2 = null;\r\n bloque3 = null;\r\n }\r\n\r\n if (ficha.CodTipoRegistro===\"MHO\")\r\n {\r\n bloque1 = bloque1HO;\r\n bloque2 = null;\r\n bloque3 = null;\r\n }\r\n\r\n var ocultaPrecios = (ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro === \"FM\") ||(ficha.CodTipoRegistro === \"PO\")||(ficha.CodTipoRegistro === \"XMHO\");\r\n\r\n if ((ficha.CodTipoRegistro === \"PPF\")){\r\n const idTiposConPreciosPF = [ 1, 6, 13, 25 ];\r\n ocultaPrecios = !(idTiposConPreciosPF.includes(ficha.IdTipoPF)) && (!ficha.IVA || ficha.IVA === 0.0)\r\n }\r\n\r\n const modalTitulo = (ficha.Laboratorio) ? ficha.Laboratorio.NombreLargo : '';\r\n const estiloEmergenteLabo = {borderBottom: 'none'}\r\n const modalContent = (\r\n \r\n );\r\n\r\n const modalKeyName=\"ModalDatosLab\"\r\n\r\n return (\r\n
    \r\n \r\n \r\n {(bloque2) ?\r\n \r\n :\r\n
    \r\n }\r\n {ocultaPrecios ?\r\n
    \r\n :\r\n \r\n }\r\n {(bloque3) ?\r\n
    \r\n
    \r\n

    Información sobre autorización y comercialización

    \r\n \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default InfoGeneral;\r\n","import AdvertenciasTipo from \"../Advertencias/AdvertenciasTipo\";\r\n\r\nconst PrecaucionExtrema = (props) => {\r\n const datosAdver = props.datosAdvertencias;\r\n const advertenciasPorTipo = datosAdver.Advertencias.map(tipoAdver => );\r\n\r\n const textos = (datosAdver.Textos && datosAdver.Textos.length>0) ? datosAdver.Textos[0].Texto.split(\"####\") : [];\r\n var formatedtexto = (textos.length>0 ? {textos[0]}: );\r\n for (var i=1; i{formatedtexto}{textos[i]}\r\n }\r\n else{\r\n formatedtexto = {formatedtexto}    {textos[i]}\r\n }\r\n }\r\n/*\r\n const textosSeccion = datosAdver.Textos.map(texto => \r\n
    \r\n

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

    \r\n
    \r\n );\r\n*/ \r\n return (\r\n
    \r\n
    \r\n

    Mensaje para el paciente

    \r\n

    \r\n {formatedtexto}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default PrecaucionExtrema;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\nimport BloqueNombreValor from \"../InfoGeneral/BloqueNombreValor\";\r\n\r\nconst ProblemaS = (props) => {\r\n const problema = props.problema;\r\n const bloqueProblema = [\r\n {\r\n nombre : 'Estado del problema de suministro según la información de la AEMPS',\r\n valor: problema.Estado,\r\n },\r\n {\r\n nombre : 'Fecha inicio',\r\n valor: ((problema.FechaInicio) ? FormatoFechaDDMMYYYY(problema.FechaInicio) : ''),\r\n },\r\n {\r\n nombre : 'Fecha finalización prevista',\r\n valor: ((problema.FechaFin) ? FormatoFechaDDMMYYYY(problema.FechaFin) : ''),\r\n },\r\n {\r\n nombre : 'Observaciones de la AEMPS',\r\n valor: problema.Observaciones,\r\n },\r\n ]\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\nexport default ProblemaS;\r\n","import DocumentosDeTipo from \"../InfoAdicional/DocumentosDeTipo\";\r\nimport ProblemaS from \"./ProblemaS\";\r\n\r\nconst ProblemasS = (props) => {\r\n const datosProblemasS = props.datosProblemasS;\r\n const htmlProblemas = datosProblemasS.Problemas.map(problema => )\r\n const htmlInfoAdicional = datosProblemasS.InfoAdicional.map(grupodocs => )\r\n return (\r\n
    \r\n {htmlProblemas}\r\n {(datosProblemasS.InfoAdicional && datosProblemasS.InfoAdicional.length>0) ?\r\n
    \r\n

    Documentos relacionados

    \r\n
    \r\n :\r\n \r\n }\r\n {htmlInfoAdicional}\r\n
    \r\n )\r\n}\r\nexport default ProblemasS;\r\n\r\n\r\n","import Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst EnfermedadesRelacionadas = (props) => {\r\n const titulo = props.titulo;\r\n const enfermedades = props.enfermedades;\r\n const enfermedadesHTML = enfermedades.map(enf =>
  • CambiaAFichaEnf(enf.Id)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{enf.Enfermedad}
  • )\r\n\r\n const CambiaAFichaEnf = (codigoEnf) => {\r\n props.cambiaPagina({\r\n newpagina: \"FichaPAT\",\r\n newid: codigoEnf\r\n });\r\n }\r\n\r\n\r\n\r\n var contenidoAcordeon = (\r\n
      \r\n {enfermedadesHTML}\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default EnfermedadesRelacionadas;\r\n\r\n","import { DevuelveTextoAsHTML } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst Texto = (props) => {\r\n const epigrafe = props.epigrafe;\r\n const titulo = epigrafe.Epigrafe;\r\n const texto = epigrafe.Texto;\r\n const textos = texto.split(\"####\");\r\n var formatedtexto = DevuelveTextoAsHTML(textos[0]);\r\n for (var i=1; i{formatedtexto}{DevuelveTextoAsHTML(textos[i])}\r\n }\r\n else{\r\n formatedtexto = {formatedtexto}    {textos[i]}\r\n }\r\n }\r\n\r\n var contenidoAcordeon = (\r\n

    \r\n {formatedtexto}\r\n

    \r\n );\r\n return (\r\n
    \r\n {props.ancla ? \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default Texto;\r\n","import EnfermedadesRelacionadas from \"./EnfermedadesRelacionadas\";\r\nimport Texto from \"./Texto\";\r\nconst Textos = (props) => {\r\n const codTipoRegistro = props.codTipoRegistro;\r\n const epigrafeActivo = (props.epigrafesActivos && props.epigrafesActivos.length>0) ? props.epigrafesActivos : (codTipoRegistro === \"MUV\" ? [83] : [3]);\r\n const datosTextos = props.datosTextos;\r\n //const epigrafeActivo = (datosTextos.Epigrafes.length>0 ? datosTextos.Epigrafes[0].IdEpigrafe : 1);\r\n\r\n const TextosHTML = datosTextos.Epigrafes.map(epi => anc.idAncla === \"Epi\" + epi.IdEpigrafe.toString()) : null}\r\n >);\r\n const hayIndicaciones = (datosTextos.PatologiasIndicadas) && (datosTextos.PatologiasIndicadas.length>0);\r\n const hayContraindicaciones = (datosTextos.PatologiasContraindicadas) && (datosTextos.PatologiasContraindicadas.length>0);\r\n const hayPrecauciones = (datosTextos.PatologiasPrecaucion) && (datosTextos.PatologiasPrecaucion.length>0);\r\n const hayRA = (datosTextos.EfectosAdversos) && (datosTextos.EfectosAdversos.length>0);\r\n const hayEnfermedades = (hayIndicaciones || hayContraindicaciones || hayPrecauciones || hayRA);\r\n return (\r\n
    \r\n {TextosHTML}\r\n\r\n {hayEnfermedades ?\r\n
    \r\n

    Patologías relacionadas

    \r\n
    \r\n :\r\n
    \r\n }\r\n {hayIndicaciones ?\r\n \r\n :\r\n
    \r\n }\r\n {hayContraindicaciones ?\r\n \r\n :\r\n
    \r\n }\r\n {hayPrecauciones ?\r\n \r\n :\r\n
    \r\n }\r\n {hayRA ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Textos;\r\n","import { RemoveClassNameToClassItems, rootPath } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst Video = (props) => {\r\n const video = props.video;\r\n const titulo = video.Titulo\r\n const url = video.URL.replace('watch?v=','embed/');\r\n\r\n const handleVideoClick = (e) =>{\r\n var item = e.target;\r\n var id = item.id;\r\n var idFrame = id.replace('video','iFrame');\r\n var idMask = id.replace('video','mask');\r\n var itemFrame = document.getElementById(idFrame);\r\n var itemMask = document.getElementById(idMask);\r\n itemFrame.width = item.width;\r\n itemFrame.height = item.height;\r\n item.style.display = 'none';\r\n itemMask.style.display = 'none';\r\n itemFrame.style.display = 'block';\r\n itemFrame.src += '?autoplay=1';\r\n }\r\n\r\n const contenido = (\r\n
    \r\n \r\n
    \r\n handleVideoClick(e)} />\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default Video;","import Video from \"./Video\";\r\n\r\nconst Videos = (props) => {\r\n const datosVideos = props.datosVideos;\r\n const htmlVideos = datosVideos.Documentos.map(video => )\r\n return (\r\n
    \r\n {htmlVideos}\r\n
    \r\n )\r\n}\r\nexport default Videos;\r\n\r\n","import { useState } from \"react\";\r\nimport { elementIsOfClass, rootPath } from \"../../../../services/utils\";\r\nimport AnalisisAso from \"../../FichaASO/Apartados/Analisis/AnalisisAso\";\r\nimport TiemposEspera from \"../../FichaMUV/Apartados/TiemposEspera/TiemposEspera\";\r\nimport ConfusionNombresPA from \"../../FichaPA/Apartados/ConfusionNombres/ConfusionNombresPA\";\r\nimport Dopaje from \"../../FichaPA/Apartados/Dopaje/Dopaje\";\r\nimport InfoGeneralPA from \"../../FichaPA/Apartados/InfoGeneral/InfoGeneralPA\";\r\nimport Sinonimias from \"../../FichaPA/Apartados/Sinonimias/Sinonimias\";\r\nimport UsoAnimalesProductores from \"../../FichaPA/Apartados/UsoAnimalesProductores/UsoAnimalesProductores\";\r\nimport Cie from \"../../FichaPAT/Apartados/CIE/cie\";\r\nimport InfoGeneralPAT from \"../../FichaPAT/Apartados/InfoGeneral/InfoGeneralPAT\";\r\nimport Jerarquias from \"../../FichaPAT/Apartados/Jerarquia/Jerarquia\";\r\nimport TablaProductos from \"../../FichaPPF/Apartados/ContenidoPack/TablaProductos\";\r\nimport Advertencias from \"./Advertencias/Advertencias\";\r\nimport AlertasCalidad from \"./AlertasCalidad/AlertasCalidad\";\r\nimport Analisis from \"./Analisis/Analisis\";\r\nimport Cismed from \"./Cismed/Cismed\";\r\nimport Emergente from \"./Cismed/Emergente\";\r\nimport Composiciones from \"./Composicion/Composiciones\";\r\nimport ConfusionNombresMed from \"./ConfusionNombres/ConfusionNombresMed\";\r\nimport Conservacion from \"./Conservacion/Conservacion\";\r\nimport Farmacogenetica from \"./Farmacogenetica/Farmacogenetica\";\r\nimport FarmacogeneticaPA from \"./Farmacogenetica/FarmacogeneticaPA\";\r\nimport Grupos from \"./Grupos/Grupos\";\r\nimport Historico from \"./Historico/HIstorico\";\r\nimport Identificacion from \"./Identificacion/Identificacion\";\r\nimport InformacionAdicional from \"./InfoAdicional/InformacionAdicional\";\r\nimport InfoGeneral from \"./InfoGeneral/InfoGeneral\";\r\nimport PrecaucionExtrema from \"./PrecaucionExtrema/PrecaucionExtrema\";\r\nimport ProblemasS from \"./ProblemasS/ProblemasS\";\r\nimport Textos from \"./Textos/Textos\";\r\nimport Videos from \"./Videos/Videos\";\r\n\r\nconst Apartado = (props) => {\r\n\r\n const [muestraEmergenteSimil, setMuestraEmergenteSimil] = useState(false);\r\n const handleClickTitulo = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'dropdown__button'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n var detalleApartado;\r\n switch (props.apartado.Ancla){\r\n case \"GEN\":\r\n if ((props.ficha.CodTipoRegistro===\"PAH\") || (props.ficha.CodTipoRegistro===\"PAV\")\r\n ||(props.ficha.CodTipoRegistro===\"ASOH\") || (props.ficha.CodTipoRegistro===\"ASOV\") || (props.ficha.CodTipoRegistro===\"ASO\")\r\n ||(props.ficha.CodTipoRegistro===\"ING\"))\r\n detalleApartado = \r\n else if ((props.ficha.CodTipoRegistro === \"PAT\") ||(props.ficha.CodTipoRegistro === \"PATH\") ||(props.ficha.CodTipoRegistro === \"PATV\"))\r\n detalleApartado = \r\n else\r\n detalleApartado = \r\n break;\r\n case \"COMP\":\r\n detalleApartado = \r\n break;\r\n case \"GRUP\":\r\n if (props.ficha.CodTipoRegistro === \"PPF\"){\r\n detalleApartado = \r\n \r\n }\r\n else{\r\n detalleApartado = dato.CodigoDato===\"MF_VA\")}\r\n sustituible = {(!props.ficha.Sustituible || props.ficha.Sustituible === \"Sí\" || props.ficha.Sustituible === \"S\" || props.ficha.Sustituible === \"\")}\r\n exceptSust = {(props.ficha.DatosF.some(dato => dato.CodigoDato ===\"SUST\"))}\r\n >\r\n \r\n }\r\n break;\r\n case \"TEXT\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"ADV\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"CONS\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"PEXT\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"ANA\":\r\n detalleApartado = \r\n break;\r\n \r\n case \"SIMIL\":\r\n if ((props.ficha.CodTipoRegistro === \"PAH\")||(props.ficha.CodTipoRegistro === \"PA\")){\r\n detalleApartado = \r\n }else if (props.ficha.CodTipoRegistro === \"MUH\"){\r\n detalleApartado = \r\n }\r\n break\r\n case \"ANAASO\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"FGEN\":\r\n detalleApartado = \r\n break; \r\n\r\n case \"FGENPA\":\r\n detalleApartado = \r\n break; \r\n\r\n case \"CPV\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"HIST\":\r\n detalleApartado = e.CodigoDato === 'EC' || e.CodigoDato === 'H').length > 0}>\r\n break;\r\n \r\n case \"IDEN\":\r\n detalleApartado = \r\n break;\r\n \r\n case \"ALER\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"PSUM\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"DOCS\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"CMED\":\r\n detalleApartado = \r\n break;\r\n \r\n case \"VID\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"TESP\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"PACK\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"ENPACKS\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"SINO\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"DOP\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"UAP\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"JENF\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"CIE10\":\r\n detalleApartado = \r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n const clickTop = () => {\r\n window.scroll({ top: 0, behavior: 'smooth' }) \r\n props.cambiaImgIndex(0);\r\n }\r\n\r\n const abreEmergenteInfoSimil = (e) => {\r\n setMuestraEmergenteSimil(true);\r\n }\r\n\r\n const cierraEmergenteInfoSimil = (e) => {\r\n setMuestraEmergenteSimil(false);\r\n }\r\n\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = \r\n
    \r\n

    \r\n La información sobre confusiones de nombre en BOT PLUS procede de las notificaciones de errores de medicación \r\n entre medicamentos diferentes producidas a nivel de prescripción, administración o dispensación, debido a la \r\n similitud fonética u ortográfica de los nombres de los medicamentos o principios activos, que han sido notificados\r\n por profesionales sanitarios al Instituto para el Uso Seguro de los Medicamentos.\r\n

    \r\n
    \r\n\r\n const modalKeyName=\"ModalInfoSimil\"\r\n\r\n return (\r\n
    \r\n {(muestraEmergenteSimil) ?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n
    \r\n {props.apartado.Ancla === \"SIMIL\" ?\r\n

    handleClickTitulo(e)}>\r\n
    \r\n {props.apartado.Titulo}\r\n abreEmergenteInfoSimil(e)}>\r\n \"\"/\r\n \r\n
    \r\n clickTop()} class=\"up\" >\r\n Subir \r\n \"arrowUp\"\r\n \r\n

    \r\n :\r\n

    handleClickTitulo(e)}>\r\n
    {props.apartado.Titulo}
    \r\n clickTop()} class=\"up\" >\r\n Subir \r\n \"arrowUp\"\r\n \r\n

    \r\n }\r\n
    \r\n {detalleApartado} \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default Apartado;\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport Apartado from \"./Apartado\";\r\n\r\nconst ContenedorApartados = (props) => {\r\n const [refresh, setRefresh] = useState(0);\r\n const anclas = props.anclas;\r\n const apartadosHTML = \r\n props.ficha.Apartados.map(aptdo => ancla.idAncla===aptdo.Ancla)} \r\n anclasEpis={props.anclasEpis}\r\n apartado={aptdo} ficha={props.ficha} \r\n cambiaPagina={props.cambiaPagina} cambiaImgIndex = {props.cambiaImgIndex}\r\n abreEmergenteInfoPrecio={props.abreEmergenteInfoPrecio}\r\n epigrafesActivos = {props.epigrafesActivos}\r\n >);\r\n\r\n useEffect(() => {\r\n setRefresh(prev => prev +1);\r\n }, [props.ficha.Apartados])\r\n \r\n return (\r\n
    \r\n {apartadosHTML}\r\n
    \r\n )\r\n}\r\nexport default ContenedorApartados;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToClassItems } from \"../../../services/utils\";\r\nimport Emergente from \"./Apartados/Cismed/Emergente\";\r\n\r\nconst MensajesEmergentes = (props) => {\r\n const restoMensajes = props.mensajes.slice(1);\r\n const primerMensaje = props.mensajes[0];\r\n const keyME = \"ME_\" + props.id.toString();\r\n const titulo = primerMensaje.Titulo;\r\n const imagen = primerMensaje.URLImagen;\r\n const htmlResto = restoMensajes.map(mensa =>

    );\r\n const [mostrado, setMostrado] = useState(false)\r\n const contenido = (\r\n
    \r\n

    \r\n {htmlResto}\r\n
    \r\n );\r\n\r\n const AbreEmergente = () => {\r\n AddClassNameToClassItems(keyME, null, 'active');\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (!mostrado)\r\n AbreEmergente();\r\n setMostrado(true);\r\n });\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default MensajesEmergentes;\r\n\r\n","import React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaPA from './LinksFichaPA';\r\nimport FilaPictogramas from '../FichaMUH/InfoPrincipal/FilaPictogramas';\r\n\r\nconst MargenDerechoPA = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n var imgDefecto = rootPath + \"img/person.svg\" ;\r\n if ((ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\"))\r\n imgDefecto = rootPath + \"img/perro.svg\" ;\r\n if (ficha.CodTipoRegistro===\"ING\")\r\n imgDefecto = rootPath + \"img/jabonLiquido.svg\" ;\r\n const srcImagen = (props.ficha.ImagenFormula != null ?\r\n props.ficha.ImagenFormula.URL\r\n :\r\n ''\r\n );\r\n\r\n const tieneImagenes = srcImagen !== ''; \r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto', cursor: 'pointer'}\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto', cursor: 'pointer'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n const imagenesHTML = tieneImagenes ?

     

    loadImage(e)} onClick={(e) => props.clickImagen(e)}/>
    \r\n :

     

    \r\n \r\n const pictogramasEnFilas = (((ficha.CodTipoRegistro === 'PAT') || (ficha.CodTipoRegistro === 'PATH') || (ficha.CodTipoRegistro === 'PATV')) ?\r\n null\r\n :\r\n divideArrayEnPartes(ficha.Pictogramas,5) \r\n );\r\n\r\n\r\n const pictogramas = (pictogramasEnFilas) ? pictogramasEnFilas.map( fila => ) :
    ;\r\n\r\n const valorPsicotropo = (ficha.Psicotropo === \"Sí\") ? 'Sí. ' + ficha.EstupefacientePsicotropo.DescripcionPsicotropo : ficha.Psicotropo;\r\n const valorDopaje = (ficha.Dopaje === \"Sí\") ? 'Sí. ' + ficha.DescripcionDopaje.DescripcionPsicotropo : ficha.Dopaje;\r\n\r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {imagenesHTML}\r\n {pictogramas}\r\n
    \r\n {(ficha.CodTipoRegistro === \"PAH\" || ficha.CodTipoRegistro === \"ASO\" || ficha.CodTipoRegistro === \"ASOH\") ?\r\n
    \r\n
    \r\n
    \r\n
    Dopaje
    \r\n
    {ficha.Dopaje}
    \r\n
    \r\n
    \r\n
    Psicotropo/Estupefaciente
    \r\n
    {ficha.Psicotropo}
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
     
    \r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoPA;\r\n\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPA from \"../FichaPA/MargenDerechoPA\";\r\n\r\nconst FichaASO = (props) => {\r\n const id = props.infoPagina.id;\r\n const tipo = props.tipo;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==2){\r\n descargaDopaje(ficha.Id)\r\n }\r\n else if (refresh==3){\r\n if (tipo===\"H\")\r\n descargaInterferencias(ficha.Id);\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==4){ \r\n if (tipo===\"H\")\r\n descargaFarmacogenetica(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==5){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n if (tipo===\"V\")\r\n descargaUsoAnimalesProductores(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==8){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 9)\r\n { \r\n //setRefresh(prev => prev + 1);\r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaASO(id, props.tipo)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"ASO\" + auxFicha.TipoPA;\r\n if (auxFicha.CodTipoRegistro === \"ASOH\")\r\n auxFicha.TipoRegistro=\"Asociación de uso humano\";\r\n else\r\n auxFicha.TipoRegistro=\"Asociación veterinaria\";\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANAASO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética\", Ancla:\"FGEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.FarmacogeneticaComponentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDopaje = (miId) => {\r\n BP2022Service.getDopajeInfoASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Textos){\r\n if (response.data.Textos.length>0){\r\n AnadeApartado({Titulo: \"Dopaje\", Ancla:\"DOP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosDopaje = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaUsoAnimalesProductores = (miId) => {\r\n if (tipo===\"V\"){\r\n /*BP2022Service.getProductoresInfoASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.LMRsEspecies){\r\n if (response.data.LMRsEspecies.length>0){\r\n AnadeApartado({Titulo: \"Uso en animales productores\", Ancla:\"UAP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAnimalesProductores = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });*/\r\n }\r\n };\r\n\r\n \r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }\r\n */\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaASO;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaExt = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n var link = \"BMedEspanolesMUH\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    CambiaPaginaPorId(link,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n Medicamentos españoles \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaExt;\r\n","\r\nconst TablaInfoPrincipalExt = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const estiloValor = {width : '90%'};\r\n\r\n return (\r\n
    \r\n

    \r\n
    \r\n
    \r\n
    País
    \r\n
    {ficha.Pais}
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaInfoPrincipalExt;\r\n","\r\nimport LinksFichaExt from \"./LinksFichaExt\";\r\nimport TablaInfoPrincipalExt from \"./TablaInfoPrincipalExt\";\r\n\r\nconst ResumenInfoExt = (props) => {\r\n const ficha = props.ficha;\r\n var textoEncabezado = ficha.TipoRegistro;\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n {svgImagenH}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\nexport default ResumenInfoExt;\r\n\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst ZonaImagenYPictosExt = (props) => {\r\n const ficha = props.ficha;\r\n var textoEncabezado = ficha.TipoRegistro;\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n var svgImagen = svgImagenH;\r\n\r\n const imgDefecto = rootPath + \"img/person.svg\" ;\r\n const seccionImagen = (\r\n
    \r\n
    \r\n {props.ficha.NombreCompleto}\r\n
    \r\n

     

    \r\n

     

    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {svgImagen}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    \r\n {ficha.NombreCompleto}\r\n
    \r\n
    \r\n {seccionImagen}\r\n
    \r\n )\r\n}\r\nexport default ZonaImagenYPictosExt;\r\n","import ResumenInfoExt from \"./ResumenInfoExt\";\r\nimport ZonaImagenYPictosExt from \"./ZonaImagenYPictosExt\";\r\n\r\nconst InfoPrincipalExt = (props) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default InfoPrincipalExt;\r\n","import React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\n\r\nimport LinksFichaExt from \"./LinksFichaExt\";\r\n\r\nconst MargenDerechoExt = (props) => {\r\n const ficha = props.ficha;\r\n var imgDefecto = rootPath + \"img/person.svg\" ;\r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n\r\n const imagenesHTML =

     

    \r\n \r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {/*imagenesHTML*/}\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoExt;\r\n\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport InfoPrincipalExt from \"./InfoPrincipalExt\";\r\nimport MargenDerechoExt from \"./MargenDerechoExt\";\r\n\r\nconst FichaEXT = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, 0);\r\n }\r\n else if (refresh==2){\r\n setRefresh(prev => prev + 2);\r\n /*descargaAdvertencias(ficha.Id);*/\r\n }\r\n else if (refresh==3){\r\n setRefresh(prev => prev + 1);\r\n /*descargaInformacionAdicional(ficha.Id)*/\r\n }\r\n else if (refresh == 18){\r\n }\r\n })\r\n\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaEXT(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"EXT\";\r\n auxFicha.TipoRegistro=\"Medicamento extranjero\"\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {(ficha.Apartados && ficha.Apartados.length>0) ?\r\n \r\n : \r\n
    \r\n }\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaEXT;\r\n","import Slider from 'react-slick'\r\nimport React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport FilaPictogramas from \"../FichaMUH/InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUH from './LinksFichaFM';\r\nimport LinksFichaFM from './LinksFichaFM';\r\n\r\nconst MargenDerechoFM = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n const tienePFuturos = (ficha.PFuturos !== null) && (ficha.PFuturos.AgrupacionCCAA !== null) && (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0);\r\n const imgDefecto = rootPath + \"img/person.svg\" ;\r\n const literalPrecio = (ficha.AgrupacionCCAA ? (!ficha.AgrupacionCCAA.LiteralPMenor || ficha.AgrupacionCCAA.LiteralPMenor === '') ? (ficha.IdCCAA===5 || ficha.IdCCAA===18 || ficha.IdCCAA===19 ? 'PVP': 'PVP con IVA') : ficha.AgrupacionCCAA.LiteralPMenor : '');\r\n\r\n const imagenesHTML =

     

    \r\n\r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {imagenesHTML}\r\n {/*pictogramas*/}\r\n
    \r\n
    \r\n {(!ficha.LiteralPrecioFM || ficha.LiteralPrecioFM === \"\") ?\r\n
    \r\n

    {literalPrecio}

    \r\n {(ficha.AgrupacionCCAA) && (ficha.AgrupacionCCAA.PVPMenor>0) ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n :\r\n

    -

    \r\n }\r\n {(\r\n tienePFuturos ? \r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n

    {ficha.LiteralPrecioFM}

    \r\n {(ficha.PVPIVA>0) ?\r\n

    {numberWithCommas(ficha.PVPIVA)}

    \r\n :\r\n

    -

    \r\n }\r\n {(\r\n tienePFuturos ? \r\n

    {numberWithCommas(ficha.PFuturos.PVPIVA)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n }\r\n
    \r\n {/*
    \r\n
    Interoperable
    \r\n
    \r\n
    */}\r\n {(ficha.Interoperable) ?\r\n
    \r\n
    Interoperable
    \r\n
    {ficha.Interoperable}
    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.ShortFinanciado}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoFM;","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoFM from \"./MargenDerechoFM\";\r\n\r\nconst FichaFM = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==0){\r\n descargaMensajesEmergentes(ficha.Id);\r\n }\r\n else if (refresh==1){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==2){\r\n var codGrupo = ficha.CodATCN5;\r\n var nivel = 5;\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN4;\r\n nivel = 4;\r\n }\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN3;\r\n nivel = 3;\r\n }\r\n descargaGrupos(ficha.Id, codGrupo, nivel, ficha.CodVMPP);\r\n }\r\n else if (refresh==3){\r\n //descargaAdvertencias(ficha.Id);\r\n setRefresh(prev => prev + 1);\r\n }\r\n else if (refresh==4){\r\n descargaInterferencias(ficha.Id)\r\n }\r\n else if (refresh==5){\r\n descargaFarmacogenetica(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaDatosConservacion(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==8){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 10)\r\n {\r\n \r\n //setRefresh(prev => prev + 1);\r\n }\r\n })\r\n\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaFM(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados); \r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.TipoRegistro = (auxFicha.CodTipoRegistro===\"FM\") ? \"Fórmula magistral\" : \"Preparado oficinal\";\r\n setFicha(auxFicha);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGrupos = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n if (ficha.Interoperable)\r\n setRefresh(prev => prev +1);\r\n else{\r\n BP2022Service.getGruposMUH (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Medicamentos con igual composición\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética componentes\", Ancla:\"FGEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.FarmacogeneticaComponentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDatosConservacion = (miId) => {\r\n BP2022Service.getConservacionMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaFM;\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPA from \"../FichaPA/MargenDerechoPA\";\r\n\r\nconst FichaING = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==2){\r\n //descargaSinonimias(ficha.Id)\r\n setRefresh(prev => prev +1);\r\n }\r\n else if (refresh==3){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==4){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==5){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 7)\r\n {\r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaING(id, props.tipo)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"ING\";\r\n auxFicha.TipoRegistro=\"Ingrediente parafarmacia\"; // + auxFicha.TipoIngrediente.toLowerCase();\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Ficha de ingrediente\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosTextos = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaSinonimias = (miId) => {\r\n BP2022Service.getSinonimiasING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Sinonimias\", Ancla:\"SINO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Sinonimias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaING;\r\n","import Slider from 'react-slick'\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { divideArrayEnPartes, getIdCCAA, numberWithCommas, rootPath } from \"../../../../services/utils\";\r\nimport FilaPictogramas from \"../InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUH from '../InfoPrincipal/LinksFichaMUH';\r\nimport Ficha from '../../Ficha';\r\n\r\nconst MargenDerecho = (props) => {\r\n //const [sliderRef, setSliderRef] = useState(null)\r\n //const [imgIndex,setImgIndex] = useState(0);\r\n const sliderRef = useRef();\r\n const ficha = props.ficha;\r\n const tienePFuturos = (ficha.PFuturos !== null) && (ficha.PFuturos.PVPIVA>0);\r\n const imgDefecto = rootPath + \"img/person.svg\" ;\r\n const srcImagen = (props.ficha.ImagenEnvase != null ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ''\r\n );\r\n\r\n const srcImagenFF = (props.ficha.ImagenFormaF != null ?\r\n (props.ficha.ImagenFormaF.URLFull != null ?\r\n props.ficha.ImagenFormaF.URLFull\r\n : \r\n props.ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (props.imgIndex === 1){\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n }else{\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n //setImgIndex(props.imgIndex);\r\n }, [props.imgIndex]);\r\n \r\n\r\n/* const posicionaImagen = () => {\r\n if (sliderRef)\r\n if(sliderRef.current)\r\n if (props.imgIndex
    {srcImg} props.clickImagen(e, (props.imgIndex===1) ? (arrayImgs.indexOf(srcImg) + 1) % 2 : arrayImgs.indexOf(srcImg))}\r\n />
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n \r\n const estiloPreciosAltos = {fontSize:'14px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n\r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n\r\n const ambitoHospitalario = ((ficha.DatosF && ficha.DatosF.some(e => e.CodigoDato === 'H' || e.CodigoDato === 'EC') ? false : false));\r\n const notificado = ((ficha.DatosF && ficha.DatosF.some(e => e.CodigoDato === 'PN') ? true : false));\r\n\r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA': 'PVP con IVA');\r\n if (ambitoHospitalario) literalPVPIVA = (notificado) ? \"PVL notificado\":\"PVL\";\r\n\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if (ambitoHospitalario) precioAMostrar = ficha.PVL\r\n\r\n var precioFuturoAMostrar = 0;\r\n if (tienePFuturos){\r\n precioFuturoAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PFuturos.PVPsinIVA: ficha.PFuturos.PVPIVA);\r\n if (ambitoHospitalario) precioFuturoAMostrar = ficha.PFuturos.PVL;\r\n }\r\n\r\n var textoDispensable = ficha.Dispensable.replace(\"Mutualidades\",\"Mut\").replace(\"SACYL no. \", \"No/\");\r\n textoDispensable = (textoDispensable && textoDispensable.length>2 && textoDispensable.substring(0,2)===\"No\" ? \"No\" : textoDispensable);\r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n {pictogramas}\r\n
    \r\n {((ficha.CodTipoRegistro === \"xMHO\") ?\r\n <>\r\n :\r\n
    \r\n {((ficha.CodTipoRegistro === \"MHO\") && (precioAMostrar === 0) && (!ficha.PreciosFuturos)) ?\r\n <>\r\n :\r\n
    \r\n

    {literalPVPIVA}

    \r\n {precioAMostrar>0 ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

     

    \r\n }\r\n {(\r\n tienePFuturos && precioFuturoAMostrar>0 ? \r\n

    {numberWithCommas(precioFuturoAMostrar)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Dispensable
    \r\n
    {textoDispensable}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.ShortFinanciado}
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerecho;\r\n\r\n","import React, { useState, useEffect, createRef, useRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"./InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"./MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"./Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"./MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"./MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems, rootPath, AddClassNameToClassItems, getParam, anadeAncla } from \"../../../services/utils\";\r\nimport Emergente from \"./Apartados/Cismed/Emergente\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\n\r\nconst FichaMUH = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [imgIndex, setImgIndex] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n const sliderRef2 = useRef();\r\n const [idxSlider, setIdxSlider] = useState(0);\r\n const [muestraEmergentePrecios, setMuestraEmergentePrecios] = useState(false);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e,idx) => {\r\n if (idx || idx===0){\r\n setIdxSlider(idx);\r\n }\r\n else{\r\n setIdxSlider(0);\r\n }\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n\r\n useEffect(() => {\r\n if (sliderRef2)\r\n if(sliderRef2.current)\r\n sliderRef2.current.slickGoTo(idxSlider);\r\n\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n /*(ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(refresh+1)\r\n :*/\r\n descargaMensajesEmergentes(ficha.Id); \r\n }\r\n else if (refresh==2){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==3){\r\n if (ficha.CodTipoRegistro === \"MHO\")\r\n setRefresh(refresh+1)\r\n else{\r\n var codGrupo = ficha.CodATCN5;\r\n var nivel = 5;\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN4;\r\n nivel = 4;\r\n }\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN3;\r\n nivel = 3;\r\n }\r\n descargaGrupos(ficha.Id, codGrupo, nivel, ficha.CodVMPP);\r\n }\r\n }\r\n else if (refresh==4){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==6){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(10)\r\n :\r\n descargaConsejos(ficha.Id);\r\n }\r\n else if (refresh==7){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(10)\r\n :\r\n descargaPrecaucionExtrema(ficha.Id);\r\n }\r\n else if (refresh==8){\r\n descargaInterferencias(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaFarmacogenetica(ficha.Id)\r\n }\r\n else if (refresh==10){\r\n descargaDatosConservacion(ficha.Id)\r\n }\r\n else if (refresh==11){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==12){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(refresh+1)\r\n :\r\n descargaIdentificacion(ficha.Id, ficha.IdFormaFarma)\r\n }\r\n else if (refresh==13){\r\n (ficha.CodTipoRegistro !== \"MUH\") ?\r\n setRefresh(refresh+1)\r\n :\r\n descargaNombresSimilares(ficha.Id)\r\n }\r\n else if (refresh==14){\r\n descargaAlertasCalidad(ficha.Id)\r\n }\r\n else if (refresh==15){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(17)\r\n :\r\n descargaProblemasSuministro(ficha.Id)\r\n }\r\n else if (refresh==16){\r\n if (ficha.IdEstadoAuto === 0)\r\n descargaDatosCismed(ficha.Id);\r\n else\r\n setRefresh(prev => prev + 1);;\r\n }\r\n else if (refresh==17){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==18){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 19){\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n } \r\n }\r\n })\r\n\r\n const getLeyendaPictoCismed = (eAnt, eAct) => {\r\n const eAux = eAnt * 10 + eAct;\r\n var leyenda = \"\";\r\n switch (eAux){\r\n case 33: \r\n leyenda = \"Medicamento sin incidencias por faltas de suministro\";\r\n break;\r\n case 32:\r\n leyenda = \"Medicamento sin incidencias por faltas de suministro la semana anterior. Actualmente en observación por faltas de suministro\";\r\n break;\r\n case 31:\r\n leyenda = \"Medicamento sin incidencias por faltas de suministro la semana anterior. Actualmente con problemas por falta de suministro\";\r\n break;\r\n case 23:\r\n leyenda = \"Medicamento en observación por faltas de suministro la semana anterior. Actualmente sin incidencias por faltas de suministro\";\r\n break;\r\n case 22:\r\n leyenda = \"Medicamento en observación por faltas de suministro\";\r\n break;\r\n case 21:\r\n leyenda = \"Medicamento en observación por faltas de suministro la semana anterior. Actualmente con problemas por falta de suministro\";\r\n break;\r\n case 13:\r\n leyenda = \"Medicamento con problemas por faltas de suministro la semana anterior. Actualmente sin incidencias por falta de suministro\";\r\n break;\r\n case 12:\r\n leyenda = \"Medicamento con problemas por faltas de suministrola semana anterior. Actualmente en observación por faltas de suministro\";\r\n break;\r\n case 11:\r\n leyenda = \"Medicamento con problemas por faltas de suministro\";\r\n break;\r\n }\r\n return leyenda;\r\n }\r\n\r\n const anadeIconoCismed = (ficha) => {\r\n var url = '';\r\n var txt = '';\r\n var id = 9999;\r\n if (ficha.DatosCismed.DatosVisibles)\r\n if (ficha.DatosCismed.EstaAutorizado)\r\n if (ficha.DatosCismed.EstadoSemanaActual>0 && ficha.DatosCismed.EstadoSemanaAnterior>0){\r\n url = baseURLPictogramas + \"cismed\" + ficha.DatosCismed.EstadoSemanaAnterior.toString() + ficha.DatosCismed.EstadoSemanaActual.toString() + \".jpg\"\r\n txt = getLeyendaPictoCismed(ficha.DatosCismed.EstadoSemanaAnterior, ficha.DatosCismed.EstadoSemanaActual);\r\n }\r\n else{\r\n url = baseURLPictogramas + \"cismed00.jpg\"\r\n }\r\n else{\r\n url = baseURLPictogramas + \"cismed00.jpg\"\r\n txt = 'Este medicamento figura con información en CisMED. Para visualizar esta información debe estar adherido a CisMED.'\r\n }\r\n else\r\n id = 0;\r\n \r\n if (id>0) \r\n ficha.Pictogramas.push({\r\n IdPictograma: id,\r\n Archivo : url,\r\n Texto : txt,\r\n })\r\n return;\r\n }\r\n \r\n const descargaFicha = () => {\r\n BP2022Service.getFichaMUH(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n //auxFicha.CodTipoRegistro=\"MUH\";\r\n auxFicha.TipoRegistro=\"Medicamento de uso humano\"\r\n if (auxFicha.CodTipoRegistro === \"MHO\"){\r\n auxFicha.TipoRegistro=\"Medicamento homeopático de uso humano\"\r\n }\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGrupos = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n BP2022Service.getGruposMUH (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Medicamentos con igual composición\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n \r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaConsejos = (miId) => {\r\n /*BP2022Service.getConsejosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Consejos al paciente\", Ancla:\"CONS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosConsejos = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });*/\r\n setRefresh(prev => prev +1);\r\n };\r\n \r\n const descargaPrecaucionExtrema = (miId) => {\r\n BP2022Service.getPrecaucionExtremaMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Precaución extrema de uso\", Ancla:\"PEXT\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosPrecaucionExtrema = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética\", Ancla:\"FGEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.FarmacogeneticaComponentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDatosConservacion = (miId) => {\r\n BP2022Service.getConservacionMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\nconst descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaIdentificacion = (miId, idFF) => {\r\n BP2022Service.getIdentificacionMUH (miId, idFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Titulos){\r\n if (response.data.Titulos.length>0){\r\n AnadeApartado({Titulo: \"Identificación\", Ancla:\"IDEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosIdentificacion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaNombresSimilares = (miId) => {\r\n BP2022Service.getNombresSimilaresMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Confusiones de nombre\", Ancla:\"SIMIL\"},miFicha.Apartados,anclas);\r\n miFicha.NombresSimilares = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaAlertasCalidad = (miId) => {\r\n BP2022Service.getAlertasCalidadMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Alertas){\r\n if (response.data.Alertas.length>0){\r\n AnadeApartado({Titulo: \"Alertas de calidad\", Ancla:\"ALER\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAlertas = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaProblemasSuministro = (miId) => {\r\n BP2022Service.getProblemasSuministroMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Problemas){\r\n if (response.data.Problemas.length>0){\r\n AnadeApartado({Titulo: \"Problemas de suministro\", Ancla:\"PSUM\"},miFicha.Apartados,anclas);\r\n miFicha.DatosProblemasS = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\nconst descargaDatosCismed = (miId) => {\r\n BP2022Service.getCismedMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.DatosVisibles){\r\n /*if (!miFicha.Apartados.find(ap => ap.Ancla === \"CMED\")){\r\n miFicha.Apartados.push({Titulo: \"CisMED\", Ancla:\"CMED\"});\r\n checkAnclas(miFicha.Apartados);*/\r\n AnadeApartado({Titulo: \"CisMED\", Ancla:\"CMED\"},miFicha.Apartados,anclas)\r\n miFicha.DatosCismed = response.data;\r\n anadeIconoCismed(miFicha);\r\n //}\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const cambiaImgIndex = (idx) => {\r\n setImgIndex(idx);\r\n };\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }\r\n */\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = (ficha && ficha.InfoPrecio && ficha.InfoPrecio !== '') ? \r\n
    \r\n

    \r\n {ficha.InfoPrecio}\r\n

    \r\n
    \r\n : \r\n
    \r\n ;\r\n\r\n const modalKeyName=\"ModalInfoPrecio\"\r\n const abreEmergenteInfoPrecio = (e) => {\r\n /*e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');*/\r\n setMuestraEmergentePrecios(true);\r\n }\r\n\r\n const cierraEmergenteInfoPrecio = (e) => {\r\n setMuestraEmergentePrecios(false);\r\n }\r\n\r\n\r\n if ((ficha !== null) && (ficha.Id === id))\r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n {(muestraEmergentePrecios) ?\r\n \r\n :\r\n <>\r\n }\r\n\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaMUH;\r\n","import Slider from 'react-slick'\r\nimport React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport FilaPictogramas from \"../FichaMUH/InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUV from './LinksFichaMUV';\r\n\r\nconst MargenDerchoMUV = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n const imgDefecto = rootPath + \"img/perro.svg\" ;\r\n const srcImagen = (props.ficha.ImagenEnvase != null ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ''\r\n );\r\n\r\n const srcImagenFF = (props.ficha.ImagenFormaF != null ?\r\n (props.ficha.ImagenFormaF.URLFull != null ?\r\n props.ficha.ImagenFormaF.URLFull\r\n : \r\n props.ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} props.clickImagen(e, arrayImgs.indexOf(srcImg))} />
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n \r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n const txtDispensable = ficha.Dispensable === \"No, solo a veterinarios\" || ficha.Dispensable === \"Solo a veterinarios\" ? \"Solo a vet.\" : ficha.Dispensable;\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n {pictogramas}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Dispensable
    \r\n
    {txtDispensable}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.Financiado}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerchoMUV;\r\n","import React, { useState, useEffect, createRef, useRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"../FichaMUH/MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, compruebaAnclas, RemoveClassNameToClassItems, rootPath , getParam, anadeAncla } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerchoMUV from \"./MargenDerechoMUV\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\n\r\nconst FichaMUV = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n const sliderRef2 = useRef();\r\n const [idxSlider, setIdxSlider] = useState(0);\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n\r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e, idx) => {\r\n if (idx || idx===0){\r\n setIdxSlider(idx);\r\n }\r\n else{\r\n setIdxSlider(0);\r\n }\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n useEffect(() => {\r\n if (sliderRef2)\r\n if(sliderRef2.current)\r\n sliderRef2.current.slickGoTo(idxSlider);\r\n\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==0){\r\n descargaMensajesEmergentes(ficha.Id);\r\n }\r\n else if (refresh==1){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==2){\r\n var codGrupo = ficha.CodATCN5;\r\n var nivel = 5;\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN4;\r\n nivel = 4;\r\n }\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN3;\r\n nivel = 3;\r\n }\r\n descargaGrupos(ficha.Id, codGrupo, nivel, null);\r\n }\r\n else if (refresh==3){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==4){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n descargaDatosConservacion(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaTiemposEspera(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==8){\r\n descargaAlertasCalidad(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaProblemasSuministro(ficha.Id)\r\n }\r\n else if (refresh==10){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh == 11)\r\n {\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 12)\r\n {\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n } \r\n }\r\n })\r\n\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaMUV(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"MUV\";\r\n auxFicha.TipoRegistro=\"Medicamento veterinario\"\r\n setFicha(auxFicha);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGrupos = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n BP2022Service.getGruposMUH (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Medicamentos con igual composición\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n \r\n const descargaTiemposEspera = (miId) => {\r\n BP2022Service.getTiemposEsperaMUV (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Tiempos de espera\", Ancla:\"TESP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.TiemposEspera = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDatosConservacion = (miId) => {\r\n BP2022Service.getConservacionMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaAlertasCalidad = (miId) => {\r\n BP2022Service.getAlertasCalidadMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Alertas){\r\n if (response.data.Alertas.length>0){\r\n AnadeApartado({Titulo: \"Alertas de calidad\", Ancla:\"ALER\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAlertas = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaProblemasSuministro = (miId) => {\r\n BP2022Service.getProblemasSuministroMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Problemas){\r\n if (response.data.Problemas.length>0){\r\n AnadeApartado.push({Titulo: \"Problemas de suministro\", Ancla:\"PSUM\"},miFicha.Apartados,anclas);\r\n miFicha.DatosProblemasS = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n {(ficha.CodTipoRegistro === \"MUV\") ?\r\n \r\n :\r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaMUV;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"../FichaMUH/MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems, rootPath, getParam, anadeAncla } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPA from \"./MargenDerechoPA\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\n\r\nconst FichaPA = (props) => {\r\n const id = props.infoPagina.id;\r\n const tipo = props.tipo;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n const [sliderRef2, setSliderRef2] = useState(null)\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n \r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e) => {\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n (ficha.CodTipoRegistro === \"PHO\") ?\r\n setRefresh(2)\r\n :\r\n descargaMensajesEmergentes(ficha.Id);\r\n }\r\n else if (refresh==2){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==3){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==4){\r\n (ficha.CodTipoRegistro === \"PHO\") ?\r\n setRefresh(10)\r\n :\r\n descargaPrecaucionExtrema(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n if (tipo===\"H\")\r\n descargaNombresSimilares(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==6){\r\n if (tipo===\"H\")\r\n descargaInterferencias(ficha.Id);\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==7){\r\n if (tipo===\"H\")\r\n descargaFarmacogenetica(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==8){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n if (tipo===\"V\")\r\n descargaUsoAnimalesProductores(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==10){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==11){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 12)\r\n {\r\n \r\n //setRefresh(prev => prev + 1);\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n if (linkRef && linkRef.current){\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n }\r\n } \r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaPA(id, props.tipo)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n //auxFicha.CodTipoRegistro=\"PA\" + tipo;\r\n\r\n if (auxFicha.CodTipoRegistro === \"PAV\")\r\n auxFicha.TipoRegistro=\"Principio activo veterinario\";\r\n else if (auxFicha.CodTipoRegistro === \"PHO\")\r\n auxFicha.TipoRegistro=\"Principio activo homeopático de uso humano\";\r\n else\r\n auxFicha.TipoRegistro=\"Principio activo de uso humano\";\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesPAH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n \r\n BP2022Service.getAdvertenciasPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaNombresSimilares = (miId) => {\r\n BP2022Service.getNombresSimilaresPAH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Confusiones de nombre\", Ancla:\"SIMIL\"},miFicha.Apartados,anclas);\r\n miFicha.NombresSimilares = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaPrecaucionExtrema = (miId) => {\r\n BP2022Service.getPrecaucionExtremaPAH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Precaución extrema de uso\", Ancla:\"PEXT\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosPrecaucionExtrema = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Biomarcadores){\r\n if (response.data.Biomarcadores.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética\", Ancla:\"FGENPA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Farmacogenetica = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDopaje = (miId) => {\r\n BP2022Service.getDopajeInfoPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Textos){\r\n if (response.data.Textos.length>0){\r\n AnadeApartado({Titulo: \"Dopaje\", Ancla:\"DOP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosDopaje = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaSinonimias = (miId) => {\r\n BP2022Service.getSinonimiasPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Sinonimias\", Ancla:\"SINO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Sinonimias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaUsoAnimalesProductores = (miId) => {\r\n if (tipo===\"V\"){\r\n BP2022Service.getProductoresInfoPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.LMRsEspecies){\r\n if (response.data.LMRsEspecies.length>0){\r\n AnadeApartado({Titulo: \"Límites máximos de residuos\", Ancla:\"UAP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAnimalesProductores = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n };\r\n\r\n \r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n \r\n if ((ficha !== null) && (ficha.Id === id))\r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {(ficha.Apartados && ficha.Apartados.length>0) ?\r\n \r\n :\r\n
    \r\n } \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaPA;\r\n","import FichaPA from \"./FichaPA\";\r\n\r\nconst FichaPAH = (props) => {\r\n return (\r\n \r\n )\r\n}\r\nexport default FichaPAH;\r\n","import FichaPA from \"./FichaPA\";\r\n\r\nconst FichaPAV = (props) => {\r\n return (\r\n \r\n )\r\n}\r\nexport default FichaPAV;\r\n","import React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\n\r\nimport LinksFichaPAT from './LinksFichaPAT';\r\n\r\nconst MargenDerechoPAT = (props) => {\r\n const ficha = props.ficha;\r\n var imgDefecto = rootPath + \"img/patHumana.svg\" ;\r\n if (ficha.CodTipoRegistro===\"PATV\")\r\n imgDefecto = rootPath + \"img/patVet.svg\" ;\r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n const imagenesHTML =

     

    \r\n \r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {imagenesHTML}\r\n
    \r\n
    \r\n {(ficha.CodTipoRegistro !== \"ING\") ?\r\n
    \r\n
    \r\n
    Especialidad
    \r\n
    {ficha.CodEspecialidadMedica}
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoPAT;\r\n\r\n/*\r\n
    \r\n
    CodCIE
    \r\n
    {ficha.CodCIE}
    \r\n
    \r\n*/","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPAT from \"./MargenDerechoPAT\";\r\n\r\nconst FichaPAT = (props) => {\r\n const id = props.infoPagina.id;\r\n //const tipo = props.tipo;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id)){\r\n window.scroll({ top: 0, behavior: 'smooth' })\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaJerarquiaInfo(ficha.Id)\r\n }\r\n else if (refresh==2){\r\n descargaSinonimias(ficha.Id)\r\n }\r\n else if (refresh==3){\r\n /*if (ficha.TipoPat===\"H\")\r\n descargaInterferencias(ficha.Id);\r\n else*/\r\n descargaCieInfo(ficha.Id);\r\n //setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==4){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==5){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 6)\r\n { \r\n //setRefresh(prev => prev + 1);\r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaPAT(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"PAT\" + auxFicha.TipoPat;\r\n if (auxFicha.TipoPat === \"H\")\r\n auxFicha.TipoRegistro=\"Enfermedad humana\";\r\n else\r\n auxFicha.TipoRegistro=\"Enfermedad veterinaria\";\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaJerarquiaInfo = (miId) => {\r\n BP2022Service.getJerarquiaInfoPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.NivelSuperior.length + response.data.NivelInferior.length>0){\r\n AnadeApartado({Titulo: \"Jerarquía enfermedades\", Ancla:\"JENF\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosJerarquia = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCieInfo = (miId) => {\r\n BP2022Service.getCIEInfoPAT(miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length >0){\r\n AnadeApartado({Titulo: \"CIE 10\", Ancla:\"CIE10\"},miFicha.Apartados,anclas);\r\n miFicha.DatosCIE = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaSinonimias = (miId) => {\r\n BP2022Service.getSinonimiasPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Sinonimias\", Ancla:\"SINO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Sinonimias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaPAT;\r\n","import Slider from 'react-slick'\r\nimport React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, getIdCCAA, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport FilaPictogramas from \"../FichaMUH/InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUH from '../FichaMUH/InfoPrincipal/LinksFichaMUH';\r\nimport LinksFichaPPF from './LinksFichaPPF';\r\n\r\nconst MargenDerechoPPF = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n const tienePFuturos = (ficha.PFuturos !== null) && (ficha.PFuturos.PVPIVA>0);\r\n const imgDefecto = rootPath + \"img/jabonLiquido.svg\" ;\r\n const srcImagen = (props.ficha.ImagenEnvase != null ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ''\r\n );\r\n\r\n const srcImagenFF = (props.ficha.ImagenMatAcond != null ?\r\n (props.ficha.ImagenMatAcond.URLFull != null ?\r\n props.ficha.ImagenMatAcond.URLFull\r\n : \r\n props.ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImage(e)} onClick={(e) => props.clickImagen(e, arrayImgs.indexOf(srcImg))}/>
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n \r\n const estiloPreciosAltos = {fontSize:'14px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n\r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n\r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = (ficha.LiteralPrecio) ? ficha.LiteralPrecio : (idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA facturación': 'PVP con IVA facturación';\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if ((idCCAA===18) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Ceuta\";\r\n if ((idCCAA===19) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Melilla\";\r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n {pictogramas}\r\n
    \r\n
    \r\n {(((ficha.IdTipoPF === 1) || (ficha.IdTipoPF === 13) || (ficha.IdTipoPF === 25) || (ficha.IdTipoPF === 6)) ?\r\n
    \r\n

    {literalPVPIVA}

    \r\n {ficha.PVPIVA>0 ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

    -

    \r\n }\r\n {(\r\n tienePFuturos ? \r\n

    {numberWithCommas(ficha.PFuturos.PVPIVA)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Dispensable
    \r\n
    {ficha.Dispensable}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.ShortFinanciado}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoPPF;","import React, { useState, useEffect, createRef, useRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"../FichaMUH/MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems, rootPath, AddClassNameToClassItems, getParam, anadeAncla } from \"../../../services/utils\";\r\nimport Emergente from \"../FichaMUH/Apartados/Cismed/Emergente\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPPF from \"./MargenDerechoPPF\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\n\r\nconst FichaPPF = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n const sliderRef2 = useRef();\r\n const [idxSlider, setIdxSlider] = useState(0);\r\n const [muestraEmergentePrecios, setMuestraEmergentePrecios] = useState(false);\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n\r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e,idx) => {\r\n if (idx || idx===0){\r\n setIdxSlider(idx);\r\n }\r\n else{\r\n setIdxSlider(0);\r\n }\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n useEffect(() => {\r\n if (sliderRef2)\r\n if(sliderRef2.current)\r\n sliderRef2.current.slickGoTo(idxSlider);\r\n\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n window.scroll({ top: 0, behavior: 'smooth' })\r\n descargaFichaPF();\r\n } \r\n else if (refresh==1){\r\n descargaMensajesEmergentes(ficha.Id); \r\n }\r\n else if (refresh==2){\r\n descargaComposPF(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==3){\r\n var codGrupo = ficha.CodConN5;\r\n var nivel = 5;\r\n if (!codGrupo||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodConN4;\r\n nivel = 4;\r\n }\r\n if (!codGrupo||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodConN3;\r\n nivel = 3;\r\n }\r\n if (!codGrupo||(codGrupo===''))\r\n {\r\n codGrupo = '';\r\n nivel = 0;\r\n }\r\n descargaGruposPF(ficha.Id, codGrupo, nivel, ficha.CodNom);\r\n }\r\n else if (refresh==4){\r\n descargaTextosPF(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n descargaAdvertenciasPF(ficha.Id);\r\n }\r\n else if (refresh==6){\r\n descargaDatosConservacionPF(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n descargaHistoricoPF(ficha.Id)\r\n }\r\n else if (refresh==8){\r\n descargaAlertasCalidadPF(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaContenidoPackPF(ficha.Id)\r\n }\r\n else if (refresh==10){\r\n descargaPacksContenedoresPF(ficha.Id)\r\n }\r\n else if (refresh==11){\r\n descargaInformacionAdicionalPF(ficha.Id)\r\n }\r\n else if (refresh==12){\r\n descargaVideosPF(ficha.Id)\r\n }\r\n else if (refresh == 13)\r\n {\r\n var mipie = document.getElementById('app__pie');\r\n var rectpie = mipie.getBoundingClientRect();\r\n var finpie = (Math.round(rectpie.y)+Math.round(rectpie.height));\r\n var documentHeight = Math.max( document.body.scrollHeight, document.body.offsetHeight ); //, \r\n document.body.style.maxHeight = finpie.toString + 'px';\r\n documentHeight = Math.max( document.body.scrollHeight, document.body.offsetHeight );\r\n document.body.height = finpie;\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n } \r\n }\r\n })\r\n\r\n \r\n const descargaFichaPF = () => {\r\n BP2022Service.getFichaPF(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"PPF\";\r\n auxFicha.TipoRegistro=\"Producto de parafarmacia\"\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesPPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaComposPF = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposPF(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGruposPF = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n BP2022Service.getGruposPF (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n if (response.data.GConNivel1 || response.data.GConNivel2 || response.data.GConNivel3 || response.data.GConNivel4|| response.data.GConNivel5|| response.data.GNomenclator\r\n || ficha.AgrpacionCCAA || ficha.AgrpacionNacional){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Productos similares\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaTextosPF = (miId) => {\r\n BP2022Service.getTextosPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertenciasPF = (miId) => {\r\n BP2022Service.getAdvertenciasPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n\r\n const descargaDatosConservacionPF = (miId) => {\r\n BP2022Service.getConservacionPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaHistoricoPF = (miId) => {\r\n BP2022Service.getHistoricoPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaAlertasCalidadPF = (miId) => {\r\n BP2022Service.getAlertasCalidadPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Alertas){\r\n if (response.data.Alertas.length>0){\r\n AnadeApartado({Titulo: \"Alertas de calidad\", Ancla:\"ALER\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAlertas = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicionalPF = (miId) => {\r\n BP2022Service.getInformacionAdicionalPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaContenidoPackPF = (miId) => {\r\n BP2022Service.getContenidoPackPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Contenido del pack\", Ancla:\"PACK\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.PackContiene = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaPacksContenedoresPF = (miId) => {\r\n BP2022Service.getPacksContenedoresPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Packs que lo incluyen\", Ancla:\"ENPACKS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.PackContenidoEn = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideosPF = (miId) => {\r\n BP2022Service.getVideosPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = (ficha && ficha.InfoPrecio && ficha.InfoPrecio !== '') ? \r\n
    \r\n

    \r\n {ficha.InfoPrecio}\r\n

    \r\n
    \r\n : \r\n
    \r\n ;\r\n\r\n const modalKeyName=\"ModalInfoPrecio\"\r\n const abreEmergenteInfoPrecio = (e) => {\r\n /*e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');*/\r\n setMuestraEmergentePrecios(true);\r\n }\r\n\r\n const cierraEmergenteInfoPrecio = (e) => {\r\n setMuestraEmergentePrecios(false);\r\n }\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n {(muestraEmergentePrecios) ?\r\n \r\n :\r\n <>\r\n }\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaPPF;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Inicio from \"../Inicio/Inicio\";\r\nimport LoadingPopup from \"../Resultados/Loading.Popup\";\r\nimport FichaASO from \"./FichaASO/FichaASO\";\r\nimport FichaEXT from \"./FichaEXT/FichaExt\";\r\nimport FichaFM from \"./FichaFM/FichaFM\";\r\nimport FichaING from \"./FichaING/FichaING\";\r\nimport FichaMUH from './FichaMUH/FichaMUH';\r\nimport FichaMUV from \"./FichaMUV/FichaMUV\";\r\nimport FichaPAH from \"./FichaPA/FichaPAH\";\r\nimport FichaPAV from \"./FichaPA/FichaPAV\";\r\nimport FichaPAT from \"./FichaPAT/FichaPAT\";\r\nimport FichaPPF from \"./FichaPPF/FichaPPF\";\r\n\r\nconst Ficha = (props) => {\r\n const infoPagina = props.infoPagina;\r\n var ficha;\r\n var visitados = JSON.parse(localStorage.getItem(\"visitados\"));\r\n if (!visitados)\r\n visitados = [];\r\n \r\n switch(infoPagina.codigoPagina){\r\n case \"FichaMUH\":\r\n case \"FichaMHO\": \r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaMUV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaFM\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPPF\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPAH\":\r\n case \"FichaPHO\": \r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPAV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaASO\":\r\n case \"FichaASOH\":\r\n case \"FichaASOV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaING\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPAT\":\r\n case \"FichaPATH\":\r\n case \"FichaPATV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaEXT\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n }\r\n var tipo = infoPagina.codigoPagina.substring(5);\r\n var id = infoPagina.id;\r\n if (visitados.findIndex(item=> item.tipo===tipo && item.id===id)<0){\r\n visitados.push({tipo: tipo, id: id})\r\n localStorage.setItem(\"visitados\", JSON.stringify(visitados));\r\n }\r\n\r\n return (\r\n
    \r\n {ficha}\r\n
    \r\n );\r\n\r\n};\r\n\r\nexport default Ficha;\r\n","\r\nimport BP2022Service from \"./user.service\";\r\nimport { rootPath } from \"./utils\";\r\n\r\nexport function getDatosFormulario(tipoForm, id){\r\n var res = {}\r\n \r\n if (tipoForm === \"FBLaboratorioMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BLaboratoriosMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getLaboratorios,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Laboratorio\",\r\n placeholder : \"Escriba nombre laboratorio\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBLaboratorioMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BLaboratoriosMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getLaboratorios,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Laboratorio\",\r\n placeholder : \"Escriba nombre laboratorio\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBLaboratorioPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BLaboratoriosPPF\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getLaboratorios,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Laboratorio\",\r\n placeholder : \"Escriba nombre laboratorio\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAgrupHomoMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'N',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BAgrupHomoPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea nacional\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'N',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoAutoMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAgrupHomoAutoMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'S',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoAutoPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BAgrupHomoAutoPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'S',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTVMPPMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTVMPPMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getArbolGruposVMPP,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Descripción clínica AEMPS\",\r\n placeholder : \"Escriba el nombre de un principio activo\",\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 0,\r\n ocultaCodigo: true,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTVMPP2MUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTVMPPMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposVMPP,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Descripción clínica AEMPS\",\r\n placeholder : \"Escriba el nombre de un principio activo\",\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 0,\r\n ocultaCodigo: true,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFormaFarmaMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BFormasFarmaMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getFormasFarma,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Forma farmacéutica\",\r\n placeholder : \"Escriba la forma farmacéutica\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFormaFarmaMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BFormasFarmaMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getFormasFarma,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Forma farmacéutica\",\r\n placeholder : \"Escriba la forma farmacéutica\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFormaFarmaPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BFormasFarmaPPF\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getFormasFarma,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Forma farmacéutica\",\r\n placeholder : \"Escriba la forma farmacéutica\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAFMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAFsMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Actividad farmacológica\",\r\n placeholder : \"Escriba la actividad farmacológica\",\r\n valorNulo : 0,\r\n aux : 'AF',\r\n esIdStr : false,\r\n }\r\n }\r\n \r\n if (tipoForm === \"FBAFMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BAFsMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Actividad farmacológica\",\r\n placeholder : \"Escriba la actividad farmacológica\",\r\n valorNulo : 0,\r\n aux : 'AF',\r\n esIdStr : false,\r\n }\r\n }\r\n \r\n if (tipoForm === \"FBAMMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAMsMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Capacidad inductora / inhibidora enzimática\",\r\n placeholder : \"Escriba el nombre del enzima metabolizador o proteína transportadora\",\r\n valorNulo : 0,\r\n aux : 'AM',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBActPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BActsPPF\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Actividad\",\r\n placeholder : \"Escriba la actividad\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAnalisisMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAnalisisMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAnalisis,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Análisis clínico\",\r\n placeholder : \"Indique un análisis clínico\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFarmacogeneticaMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BFarmacogeneticaMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getBiomarcadores,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Biomarcador\",\r\n placeholder : \"Indique un biomarcador\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTATCMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTsATCMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getGruposATC,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo terapéutico ATC\",\r\n placeholder : \"Escriba el código o nombre del grupo\" ,\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTATCMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BGTsATCMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getGruposATC,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo terapéutico ATC\",\r\n placeholder : \"Escriba el código o nombre del grupo\" ,\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTConPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"p\",\r\n busqueda : \"BGTConPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposCon,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo categorización Consejo\",\r\n placeholder : \"Escriba el código o nombre de la categoría\",\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTSanPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"p\",\r\n busqueda : \"BGTSanPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposSan,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo clasificación Nomenclátor\",\r\n placeholder : \"Escriba el código o nombre del grupo\",\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n /*\r\n if (tipoForm === \"FBGTVMPPMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTVMPPMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposVMPP,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Descripción clínica AEMPS\",\r\n placeholder : \"Escriba el nombre de un principio activo\",\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n ocultaCodigo: true,\r\n esIdStr : true,\r\n }\r\n }\r\n */\r\n return res;\r\n}\r\n\r\n\r\nexport const OpcionesDG = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado autorización',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Anulado',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDGPF = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Alta',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Baja',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDGPA = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado autorización',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Anulado',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PSI',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DRG',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISP = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'D',\r\n tit: 'Dispensable en farmacia
    comunitaria',\r\n tip: 'SNX',\r\n },\r\n /*{\r\n cod: 'F',\r\n tit: 'Financiado en farmacia comunitaria',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Financiado',\r\n val: 'INSNS'\r\n },\r\n {\r\n tit: 'Excluido',\r\n val: 'EXO'\r\n },\r\n {\r\n tit: 'No financiado',\r\n val: 'NOF'\r\n },\r\n ],\r\n },*/\r\n {\r\n cod: 'F',\r\n tit: 'Financiado en farmacia
    comunitaria',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EXO',\r\n tit: 'Excluido',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EXOI',\r\n tit: 'Excluido con indicaciones
    financiadas',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'S',\r\n tit: 'Sustituible',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'A',\r\n tit: 'Aportación',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Reducida',\r\n val: 'AR'\r\n },\r\n {\r\n tit: 'Normal',\r\n val: 'AN'\r\n },\r\n {\r\n tit: 'Reducida en HFH',\r\n val: 'HFH'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'V',\r\n tit: 'Visado',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Sí',\r\n val: 'V'\r\n },\r\n {\r\n tit: 'Sólo para > 75',\r\n val: 'M75'\r\n },\r\n {\r\n tit: 'No',\r\n val: 'NV'\r\n },\r\n {\r\n tit: 'Validación mutualidades',\r\n val: 'VM'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'TLD',\r\n tit: 'Tratamiento larga duración',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'H',\r\n tit: 'Uso hospitalario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DH',\r\n tit: 'Diagnóstico hospitalario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DIHSC',\r\n tit: 'Reserva singular
    financiado hospital',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'VERIF',\r\n tit: 'Dispositivo seguridad',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'RGIE',\r\n tit: 'Con receta, en guía
    de enfermería',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PN',\r\n tit: 'Precio notificado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LR',\r\n tit: 'Anotación libro recetario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LE',\r\n tit: 'Anotación libro
    estupefacientes',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISPPPF = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'F',\r\n tit: 'Financiado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'A',\r\n tit: 'Aportación',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Reducida',\r\n val: 'AR'\r\n },\r\n {\r\n tit: 'Normal',\r\n val: 'AN'\r\n },\r\n {\r\n tit: 'Nula',\r\n val: 'ANUL'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'V',\r\n tit: 'Visado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCON = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CO',\r\n tit: 'Congelador',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LUZ',\r\n tit: 'Proteger de luz',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T25',\r\n tit: 'Conservar a 25ºC',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T30',\r\n tit: 'Conservar a 30ºC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesPAC = [\r\n {\r\n cod: 'EMB',\r\n tit: 'Embarazo',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: 'A'\r\n },\r\n {\r\n tit: 'Precaución',\r\n val: 'P'\r\n },\r\n {\r\n tit: 'No recomendado',\r\n val: 'C'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'LAC',\r\n tit: 'Lactancia',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: 'A'\r\n },\r\n {\r\n tit: 'Precaución',\r\n val: 'P'\r\n },\r\n {\r\n tit: 'No recomendado',\r\n val: 'C'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesADM = [\r\n {\r\n cod: 'DG',\r\n tit: 'Fraccionable',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'ALM',\r\n tit: 'Administración con alimentos',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Con alimentos',\r\n val: 'CA'\r\n },\r\n {\r\n tit: 'En ayunas',\r\n val: 'EA'\r\n },\r\n {\r\n tit: 'Indiferente',\r\n val: 'IN'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'SPD',\r\n tit: 'Acondicionable en SPD',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesESP = [\r\n {\r\n cod: 'O',\r\n tit: 'Ototóxico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'FS',\r\n tit: 'Fotosensible',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DOP',\r\n tit: 'Dopante',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'COND',\r\n tit: 'Efecto sobre conducción',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CIT',\r\n tit: 'Citotóxico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'HD',\r\n tit: 'Hemoderivado',\r\n tip: 'SNX',\r\n },\r\n] \r\nexport const OpcionesOTR = [\r\n {\r\n cod: 'E',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PS',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'GEN',\r\n tit: 'Genérico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PUB',\r\n tit: 'Publicitario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EC',\r\n tit: 'Envase clínico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'IP',\r\n tit: 'Importación paralela',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'UNID',\r\n tit: 'Unidosis',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'MTP',\r\n tit: 'Tradicional plantas',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesOTRV = [\r\n {\r\n cod: 'E',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PS',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'HSI',\r\n tit: 'Medicamento homeopático',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'IP',\r\n tit: 'Importación paralela',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISPV = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'AEV',\r\n tit: 'Administración exclusiva veterinario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'ACV',\r\n tit: 'Administración control veterinario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LR',\r\n tit: 'Anotación libro recetario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LE',\r\n tit: 'Anotación libro estupefacientes',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesESPV = [\r\n {\r\n cod: 'ESVAC',\r\n tit: 'Notificación ESVAC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCONV = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CO',\r\n tit: 'Congelador',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LUZ',\r\n tit: 'Proteger de luz',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T25',\r\n tit: 'Conservar a 25ºC',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T30',\r\n tit: 'Conservar a 30ºC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCONPF = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesPacientePI = [\r\n {\r\n cod: 'PAC',\r\n tit: 'Condiciones fisiológicas',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Embarazada',\r\n val: 'EMB'\r\n },\r\n {\r\n tit: 'Deportista competición',\r\n val: 'DEP'\r\n },\r\n {\r\n tit: 'Lactancia',\r\n val: 'LAC'\r\n },\r\n {\r\n tit: 'Usuario lentes de contacto',\r\n val: 'LEN'\r\n },\r\n {\r\n tit: 'Niño',\r\n val: 'NIN'\r\n },\r\n {\r\n tit: 'Dificultad deglución',\r\n val: 'DEG'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesPatologiasPI = [\r\n {\r\n cod: 'PAT',\r\n tit: 'Otras patologías',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Asma',\r\n val: '6'\r\n },\r\n {\r\n tit: 'Hipertensión',\r\n val: '2'\r\n },\r\n {\r\n tit: 'Insuf. hepática',\r\n val: '5'\r\n },\r\n {\r\n tit: 'Diabetes',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Insuf. renal',\r\n val: '4'\r\n },\r\n {\r\n tit: 'Insuf. cardíaca',\r\n val: '3'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const IconosListadosPI = [\r\n {\r\n cod: 1,\r\n txt: 'Uso precautorio con alguna enfermedad declarada',\r\n img: rootPath + 'img/pacienteindicacion/EnfermedadPrecaucion.png',\r\n },\r\n {\r\n cod: 2,\r\n txt: 'Interacción de importancia moderada detectada',\r\n img: rootPath + 'img/pacienteindicacion/InteraccionPrecaucion.png',\r\n },\r\n {\r\n cod: 3,\r\n txt: 'Embarazo: consultar con el médico',\r\n img: rootPath + 'img/pacienteindicacion/EmbarazoPrecaucion.gif',\r\n },\r\n {\r\n cod: 4,\r\n txt: 'Lactancia: consultar con el médico',\r\n img: rootPath + 'img/pacienteindicacion/LactanciaPrecaucion.gif',\r\n },\r\n {\r\n cod: 5,\r\n txt: 'Niños: medicamento con limitaciones',\r\n img: rootPath + 'img/pacienteindicacion/NinosPrecaucion.png',\r\n },\r\n {\r\n cod: 6,\r\n txt: 'Niños: autorización por peso',\r\n img: rootPath + 'img/pacienteindicacion/NinosPeso.png',\r\n },\r\n {\r\n cod: 7,\r\n txt: 'No aplicar con lentes de contacto',\r\n img: rootPath + 'img/pacienteindicacion/LentesPrecaucion.gif',\r\n },\r\n {\r\n cod: 8,\r\n txt: 'No adaptado a problemas de deglución',\r\n img: rootPath + 'img/pacienteindicacion/DDeglucionNo.png',\r\n },\r\n {\r\n cod: 9,\r\n txt: 'Adaptado a problemas de deglución',\r\n img: rootPath + 'img/pacienteindicacion/DDeglucionSi.png',\r\n },\r\n]\r\n\r\nexport const filtrosInteracciones = [\r\n {\r\n idGrupo : 'GRAV',\r\n nombre : 'Gravedad',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdSemaforo',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Grave',\r\n value:1,\r\n otrosValores: [9],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===1) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Moderada',\r\n value:2,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===2) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Leve',\r\n value:3,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===3) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'MED',\r\n nombre : 'Medidas a tomar',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdMedidas',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Evitar asociación',\r\n value:0,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===0) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Vigilar al enfermo',\r\n value:1,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===1) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Espaciar administración',\r\n value:2,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===2) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Tomar medidas dietéticas',\r\n value:3,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===3) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n ]\r\n },\r\n]\r\n\r\nexport const paginasRestringidas = [\r\n \"BLaboratorioMUH\",\r\n \"BLaboratorioMUV\",\r\n \"BLaboratorioPPF\",\r\n \"BAgrupHomoAutoMUH\",\r\n \"BAgrupHomoMUH\",\r\n \"BAgrupHomoAutoPPF\",\r\n \"BAgrupHomoPPF\",\r\n \"BFormaFarmaMUH\",\r\n \"BFormaFarmaMUV\",\r\n \"BFormaFarmaPPF\",\r\n \"BAFMUH\",\r\n \"BAMMUH\",\r\n \"BActPPF\",\r\n \"BAFMUV\",\r\n \"BAnalisisMUH\",\r\n \"BFarmacogeneticaMUH\",\r\n /*\"BPAMUH\",\r\n \"BAsoMUH\",\r\n \"BPAMUV\",\r\n \"BAsoMUV\",\r\n \"BIngPPF\",*/\r\n \"BTipoPPF\",\r\n \"BSubtipoPPF\",\r\n \"BIndicacionMUH\",\r\n \"BIndicacionMUV\",\r\n \"BContraindicacionMUH\",\r\n \"BPrecaucionMUH\",\r\n \"BReaccionAdversaMUH\",\r\n \"BGTATCMUH\",\r\n \"BGTATCMUV\",\r\n \"BGTVMPPMUH\",\r\n \"BGTConPPF\",\r\n \"BGTSanPPF\",\r\n \"BFormMagistralMUH\",\r\n \"BMedEspanolesMUH\",\r\n \"BConGluten\",\r\n \"BConLactosa\",\r\n \"BSinGluten\",\r\n \"BSinLactosa\",\r\n \"BDopantesMUH\",\r\n \"BNoLentes\",\r\n \"BComparaPrecioMenorMUH\",\r\n \"BPrecioNotificadoMUH\",\r\n \"BSeguimientoAdicionalMUH\",\r\n \"BDispositivoSeguridadMUH\",\r\n \"BLibroRecetarioM\",\r\n \"BLibroEstupefacientesM\",\r\n \"BNotificacionESVACMUV\",\r\n \"BEnfermedadesPATH\",\r\n \"BEnfermedadesPATV\",\r\n \"BNoSustituiblesMUH\",\r\n \"BDeduccionesRDLMUH\",\r\n \"BCambioPrecioPrevistoMUH\",\r\n \"BSaborEdadPPF\",\r\n \"BProblemasSumMUH\",\r\n \"BAlertasCMUH\",\r\n \"BAlertasCMUV\",\r\n \"BAlertasCPPF\",\r\n \"BCambioNombre\",\r\n \"BCambioLaboratorio\",\r\n \"BCambioPrecioMUH\",\r\n \"BDesfinanciadosMUH\",\r\n \"BMedicamentosPSUltimoMes\",\r\n \"BExtranjerosEXT\",\r\n \"BEspecieIndicacionMUV\",\r\n \"BReaccionesAdversasMUH\",\r\n \"BComposicionMUH\",\r\n \"BComposicionMUV\",\r\n \"BComposicionPPF\",\r\n \"BPacienteIndicacionMUH\",\r\n \"BFormaColorMUH\",\r\n \"BAvanzadaMUH\",\r\n \"BAvanzadaMUV\",\r\n \"BAvanzadaPAH\",\r\n \"BAvanzadaPPF\",\r\n \"EditaBuscadores\",\r\n \"FBLaboratorioMUH\",\r\n \"FBLaboratorioMUV\",\r\n \"FBLaboratorioPPF\",\r\n \"FBAgrupHomoAutoMUH\",\r\n \"FBAgrupHomoMUH\",\r\n \"FBAgrupHomoAutoPPF\",\r\n \"FBAgrupHomoPPF\",\r\n \"FBFormaFarmaMUH\",\r\n \"FBFormaFarmaMUV\",\r\n \"FBFormaFarmaPPF\",\r\n \"FBAFMUH\",\r\n \"FBAMMUH\",\r\n \"FBActPPF\",\r\n \"FBAFMUV\",\r\n \"FBAnalisisMUH\",\r\n \"FBFarmacogeneticaMUH\",\r\n \"FBGTATCMUH\",\r\n \"FBGTATCMUV\",\r\n \"FBGTVMPPMUH\",\r\n \"FBGTConPPF\",\r\n \"FBGTSanPPF\", \r\n \"FBSaborEdadPPF\",\r\n \"FBEspecieIndicacionMUV\",\r\n \"FBProblemasSumMUH\",\r\n \"FBAlertasCMUH\",\r\n \"FBAlertasCMUV\",\r\n \"FBAlertasCPPF\",\r\n \"FBReaccionesAdversasMUH\",\r\n \"FBComposicionMUH\",\r\n \"FBComposicionMUV\",\r\n \"FBComposicionPPF\",\r\n \"FBPacienteIndicacionMUH\",\r\n \"FBFormaColorMUH\", \r\n \"FBAvanzadaMUH\",\r\n \"FBAvanzadaMUV\",\r\n \"FBAvanzadaPAH\",\r\n \"FBAvanzadaPPF\",\r\n \"FBExtranjerosEXT\",\r\n \"FBCambioNombre\",\r\n \"FBCambioLaboratorio\",\r\n \"FBCambioPrecioMUH\",\r\n \"FBDesfinanciadosMUH\",\r\n \"BInteraccionesMUH\"\r\n]\r\n","import { getDescripcionTipo } from \"../../../services/utils\";\r\n\r\nconst TituloFormularioBusqueda = (props) => {\r\n const imagen = (props.tipo === \"V\") ?\r\n \"/img/ficha/dog.svg\"\r\n : ((props.tipo===\"PF\")||(props.tipo===\"F\")||(props.tipo===\"P\")) ?\r\n \"/img/ficha/paraf.png\"\r\n : (props.codPagina===\"FBDocumentos\") ?\r\n \"/img/ficha/alertas.svg\"\r\n :\r\n \"/img/ficha/human.svg\";\r\n var textoGen = getDescripcionTipo(props.tipo, props.codPagina);\r\n if ((props.codPagina===\"FBAFMUV\")||(props.codPagina===\"FBEspecieIndicacionMUV\")||(props.codPagina===\"FBActPPF\")||(props.codPagina===\"FBSaborEdadPPF\"))\r\n textoGen=\"\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n {(textoGen != \"\")?\r\n

    {textoGen}: {props.titulo}

    \r\n :\r\n

    {props.titulo}

    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TituloFormularioBusqueda;\r\n","import MisBuscadoresCabeceraResultados from \"../../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport TituloFormularioBusqueda from \"./TituloFormularioBusqueda\";\r\n\r\nconst CabeceraFormulario = (props) => {\r\n const infoPagina = props.infoPagina;\r\n var tipo = props.tipo;\r\n var titulo = props.titulo;\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n \r\n export default CabeceraFormulario;\r\n ","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorUno(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = propiedades.lista.map(item => (item.codigo === propiedades.valueSelected ? \r\n \r\n : )\r\n );\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = lista.slice(1).map(item => (\r\n item.codigo===valueSelected ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n var textSelected = '';\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n \r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagSelected = (valueSelected) ? \r\n {textSelected}\r\n {HTMLImagen}\r\n : ;\r\n \r\n useEffect(() => {\r\n if (!deepEqual(props.lista, propiedades.lista) || (props.valueSelected !== valueSelected)){\r\n setPropiedades({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n select.value=value;\r\n\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n textSelected = html;\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tvar found = false;\r\n\r\n \tif(search != \"\"){\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n\t \t\tvar label = elemento;\r\n\t \t\tvar html = remove_accents(label.innerHTML.toLowerCase());\r\n var strlabel = label.getAttribute('data-value').toString();\r\n var bMostrar = false;\r\n var textoDividido = search.split(' ');\r\n if (textoDividido.length === 1){\r\n switch (tipoFiltradoLista){\r\n case 0:\r\n bMostrar = ((html.indexOf(search) === 0));\r\n break;\r\n case 1: \r\n bMostrar = ((html.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n case 2:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0));\r\n break;\r\n case 3:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n }\r\n }else{\r\n bMostrar = true;\r\n for(var i=0; i0));\r\n }\r\n }\r\n\t \t\tif(bMostrar){\r\n\t \t\t\tfound = true;\r\n\t\t\t\t\tlabel.classList.remove(\"hide\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlabel.classList.add(\"hide\");\r\n\t\t\t\t}\r\n } \r\n \t}\r\n \t\r\n\r\n \tif(found){\r\n AddClassNameToChildClassItems(container,'dropdown',null,'show');\r\n var ddowns = container.getElementsByClassName('ddown');\r\n for (var elemento of ddowns) {\r\n var hijos = elemento.children;\r\n var hijosNiOcultosNiActivos = false;\r\n for (var hijo of hijos){\r\n if (elementIsOfClass('labeloption')){\r\n if (!elementIsOfClass('hide') && !elementIsOfClass('active')){\r\n hijosNiOcultosNiActivos = true;\r\n }\r\n }\r\n }\r\n if (!hijosNiOcultosNiActivos){\r\n elemento.classList.remove('show');\r\n }\r\n }\r\n \t}else{\r\n container.classList.remove('active');\r\n //RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n \t}\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n {textSelected}\r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagSelected}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorUno;\r\n\r\n","const ResumenBusqueda = (props) => {\r\n const condiciones = props.condiciones;\r\n const HTMLCondicionesBusqueda = (condiciones && condiciones.length>0) ?\r\n condiciones.map(cond => \r\n (cond.valor && cond.valor !== \"\") ? \r\n
    \r\n {(cond.titulo && cond.titulo !== '')?\r\n

    {cond.titulo}:

    \r\n :\r\n \r\n }\r\n

    {cond.valor}

    \r\n
    \r\n :\r\n
    \r\n

    {cond.titulo}

    \r\n
    \r\n )\r\n :\r\n
    \r\n \r\n\r\n return(\r\n
    \r\n {(condiciones && condiciones.length>0) ?\r\n
    \r\n
    \r\n

    Mi búsqueda:

    \r\n
    \r\n
    \r\n {HTMLCondicionesBusqueda}\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default ResumenBusqueda;","import { useEffect, useState } from \"react\";\r\nimport ReactDatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker3.css\";\r\nimport { registerLocale, setDefaultLocale } from \"react-datepicker\";\r\nimport es from 'date-fns/locale/es';\r\nimport MaskedInput from 'react-text-mask'\r\nimport { createAutoCorrectedDatePipe } from \"text-mask-addons\";\r\n\r\nfunction SelectorFechas(props){\r\n const [seleccion, setSeleccion] = useState({\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n });\r\n const inicio = seleccion.inicio;\r\n const fin = seleccion.fin;\r\n const id = props.idHMTL\r\n const idDesde = id + \"_Desde\";\r\n const idHasta = id + \"_Hasta\";\r\n\r\n \r\n useEffect(() => {\r\n setSeleccion({\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n \r\n }, [props.inicio, props.fin]);\r\n\r\n const cambioInicio = (date) =>{\r\n /*var ts = Math.round(date.getTime()/1000);\r\n var newdate = new Date(parseInt(ts)*1000);*/\r\n cambiaSeleccion(date, seleccion.fin);\r\n }\r\n\r\n const cambioFin = (date) =>{\r\n /*var ts = Math.round(date.getTime()/1000);\r\n var newdate = new Date(parseInt(ts)*1000);*/\r\n cambiaSeleccion(seleccion.inicio, date);\r\n }\r\n\r\n const cambiaSeleccion = (inicio, fin) =>{\r\n props.alCambiar(inicio, fin); \r\n }\r\n\r\n const keyDateDown = (e) =>{\r\n var txt = e.target.value;\r\n var key = e.keyCode || e.charCode;\r\n if (key !== 8 && key !== 46){\r\n if (/^[0-3][0-9]$/.test(txt)){\r\n e.target.value = txt + \"/\";\r\n }\r\n if (/^[0-3][0-9]\\/[0-1][0-9]$/.test(txt)){\r\n e.target.value = txt + \"/\";\r\n }\r\n if (key === 111 || key === 55){\r\n if (/^[0-9]\\/$/.test(txt)){\r\n e.target.value = \"0\" + txt;\r\n }\r\n if (/^[0-3][0-9]\\/[0-9]\\/$/.test(txt)){\r\n e.target.value = txt.substring(0,3) + \"0\" + txt.substring(3);\r\n }\r\n e.target.value = e.target.value.replace(\"//\",\"/\");\r\n }\r\n }\r\n }\r\n\r\n const estiloTitulo = (props.estiloTitulo ? props.estiloTitulo : {})\r\n\r\n registerLocale('es', es)\r\n\r\n const autoCorrectedDatePipe = createAutoCorrectedDatePipe('dd/mm/yyyy')\r\n\r\n const estilosubtitulos = {\r\n fontFace : 'Flama, sans-serif',\r\n marginTop : '-5px',\r\n marginBottom : '5px',\r\n fontSize : '14px',\r\n fontWeight : '300',\r\n };\r\n\r\n\r\n const subtitulodesde = (props.subtitulodesde) ? \r\n

    {props.subtitulodesde}

    : <> ;\r\n const subtitulohasta = (props.subtitulohasta) ? \r\n

    {props.subtitulohasta}

    : <> ;\r\n\r\n\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n {subtitulodesde}\r\n cambioInicio(date)}\r\n className=\"hasDatepicker\"\r\n dateFormat=\"dd/MM/yyyy\"\r\n placeholderText=\"dd/mm/aaaa\"\r\n id = {idDesde}\r\n customInput = {keyDateDown(e)}/>}\r\n /*customInput={\r\n }*/\r\n />\r\n
    \r\n
    \r\n {subtitulohasta}\r\n cambioFin(date)}\r\n className=\"hasDatepicker\"\r\n dateFormat=\"dd/MM/yyyy\"\r\n placeholderText=\"dd/mm/aaaa\"\r\n id = {idHasta}\r\n customInput = {keyDateDown(e)}/>}\r\n /*customInput={\r\n }*/\r\n />\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorFechas;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorUno2(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = propiedades.lista.map(item => (item.codigo === propiedades.valueSelected ? \r\n \r\n : )\r\n );\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 40);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none', whiteSpace: 'normal'};\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n \r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n var textSelected = '';\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n \r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagSelected = (valueSelected) ? \r\n {textSelected}\r\n {HTMLImagen}\r\n : ;\r\n \r\n useEffect(() => {\r\n //if (!deepEqual(props.lista, propiedades.lista) || (props.valueSelected !== valueSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n //}\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 10:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0)));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n \t}else{\r\n setListaVisible([]);\r\n }\r\n\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n setListaVisible([]);\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagSelected}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorUno2;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\n\r\nconst FBAlertasCalidad= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaLab: null,\r\n listaPA: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n txtLote: props.txtLote,\r\n idLab: props.idLab,\r\n idPA: props.idPA,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n\r\n const tituloPA = (props.tipo === \"F\" ? \"Ingrediente\" : \"Principio activo\")\r\n const placeholderNombre = (props.tipo === \"F\" ? \"Escribe nombre producto\" : \"Escribe nombre medicamento\")\r\n\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPA === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAlertasCalidad(props.tipo)\r\n .then((response) => {\r\n var df = {\r\n listaPA : response.data.PrincipiosActivos,\r\n listaLab : response.data.Laboratorios, \r\n };\r\n df.listaLab.splice(0,0,{Codigo:0, Valor:'Indique un laboratorio'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor:'Indique un ' + tituloPA.toLowerCase()});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n if (seleccionFormulario.txtLote && seleccionFormulario.txtLote != \"\"){\r\n res.push ({titulo: 'Número de lote contiene', valor: seleccionFormulario.txtLote});\r\n }\r\n\r\n if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLab){\r\n var item = datosFormulario.listaLab.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.idPA>0){\r\n if (datosFormulario.listaPA){\r\n var item = datosFormulario.listaPA.find(x => x.Codigo === seleccionFormulario.idPA);\r\n if (item)\r\n res.push ({titulo: \"Principio activo\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.inicio){\r\n if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha de la alerta\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de la alerta\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio)});\r\n }\r\n }else if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha de la alerta\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const busqueda = (props.tipo === \"F\" ? \"BAlertasCPPF\" : props.tipo === \"V\" ? \"BAlertasCMUV\" : \"BAlertasCMUH\")\r\n\r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n txt: seleccionFormulario.txt,\r\n txtLote: seleccionFormulario.txtLote,\r\n idLab: seleccionFormulario.idLab,\r\n idPA: seleccionFormulario.idPA,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n txtLote: '',\r\n idLab: 0,\r\n idPA: 0,\r\n inicio: null,\r\n fin: null,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fin = origen.fin;\r\n destino.inicio = origen.inicio;\r\n }\r\n\r\n const CambioFecha= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambioPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraPA = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const CambiaTxtLote = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txtLote = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n const listaCodValorLab = (datosFormulario.listaLab) ? datosFormulario.listaLab.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Número de lote

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxtLote(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    {tituloPA}

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBAlertasCalidad;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../../services/utils\";\r\nimport BP2022Service from \"../../../../services/user.service\"; \r\nimport ItemMenuIconos from \"../../../Cabecera/MenuIconos/ItemMenuIconos\";\r\n\r\nfunction SelectorComposicion(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const [infoComponentes, setInfoComponentes] = useState([]) ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ? \r\n \r\n : )\r\n );\r\n const [currentComponente, setCurrentComponente] = useState(0);\r\n const [negado, setNegado] = useState(false);\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n\r\n for (var vs of valuesSelected){\r\n var item = lista.find(vsitem=> vsitem.codigo === Math.abs(vs.codigo));\r\n var infoComponente = infoComponentes.find(info=> info.Codigo === Math.abs(vs.codigo));\r\n if (item){\r\n if (infoComponente){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, sales: vs.sales, cants: vs.cants, salesPosibles : infoComponente.Sales, cantsPosibles : infoComponente.Cantidades, negado : (vs.codigo<0)});\r\n }else{\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, sales: vs.sales, cants: vs.cants, salesPosibles : [], cantsPosibles : [], negado : (vs.codigo<0)});\r\n }\r\n \r\n }\r\n }\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n SeleccionaItem(e) } >\r\n {item.negado ? \"NO \" : \"\"}\r\n {item.valor}\r\n {HTMLImagen}\r\n {(item.sales) && (item.sales.length>1) ? \r\n \r\n varias sales\r\n \r\n \r\n :(item.sales) && (item.sales.length===1) ?\r\n \r\n {item.sales[0].valor}\r\n \r\n \r\n :\r\n \r\n }\r\n {(item.cants) && (item.cants.length>1) ? \r\n \r\n varias cantidades\r\n \r\n \r\n :(item.cants) && (item.cants.length===1) ?\r\n \r\n {item.cants[0].des}\r\n \r\n \r\n :\r\n \r\n }\r\n \r\n );\r\n const HTMLTags = ((itemsSelected && itemsSelected.length>0) ?\r\n
    \r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const currentItemSelected = itemsSelected.find(item=> (item.codigo === currentComponente));\r\n\r\n const ClickNegado = (e) =>{\r\n if (currentComponente){\r\n props.alUpdatePA(currentComponente,e.target.checked);\r\n }\r\n setNegado(e.target.checked);\r\n }\r\n\r\n\r\n const HTMLSalesYCantidades = (((currentComponente>0) && (currentItemSelected) \r\n /*&& (((currentItemSelected.salesPosibles) && (currentItemSelected.salesPosibles.length>0)) \r\n || ((currentItemSelected.cantsPosibles) && (currentItemSelected.cantsPosibles.length>0)))*/) ? \r\n
    \r\n

    {currentItemSelected.valor}

    \r\n {(!props.ocultaNegado) ?\r\n
    \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n { ((currentItemSelected.cantsPosibles) && (currentItemSelected.cantsPosibles.length>0) && !negado) ?\r\n
    \r\n
    clickEnCabeceraSC(e)}>\r\n
    Cantidad
    \r\n
    \r\n
    \r\n { currentItemSelected.cantsPosibles.map(cp =>\r\n (currentItemSelected.cants.find(cs => (cs.cant === cp.Cant && cs.cod === cp.Cod)) ?\r\n \r\n :\r\n \r\n ))\r\n }\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n { ((currentItemSelected.salesPosibles) && (currentItemSelected.salesPosibles.length>0) && !negado) ?\r\n
    \r\n
    clickEnCabeceraSC(e)}>\r\n
    Sal
    \r\n
    \r\n
    \r\n { currentItemSelected.salesPosibles.map(sp =>\r\n (currentItemSelected.sales.find(ss => (ss.codigo === sp.Codigo)) ?\r\n \r\n :\r\n \r\n ))\r\n }\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n :\r\n
    \r\n
    \r\n );\r\n \r\n \r\n useEffect(() => {\r\n \r\n if (!propiedades.lista || !valuesSelected || !deepEqual(props.lista, propiedades.lista) || !deepEqual(props.valuesSelected, valuesSelected ) ) {\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n DescargaInfoValuesSelected();\r\n }\r\n if (props.valuesSelected && props.valuesSelected.length>0 && (!infoComponentes || infoComponentes.length==0)){\r\n DescargaInfoValuesSelected();\r\n }\r\n }, [props.lista, props.valuesSelected]);\r\n\r\n const clickEnCabeceraSC= (e) =>{\r\n var item = e.target;\r\n var parent = GetAntecesorWhithClassName(item,'custom-select-container');\r\n parent.classList.toggle('active');\r\n }\r\n\r\n const DescargaInfoValuesSelected = () =>{\r\n var listaCodigos = props.valuesSelected.map(item => item.codigo);\r\n \r\n if (listaCodigos.length>0){\r\n BP2022Service.descargaListaInfoSalesYCantidades(listaCodigos,props.tipo)\r\n .then((response) => {\r\n var descarga = response.data;\r\n if (descarga){\r\n for (var i=0; i Math.abs(item.codigo) === itemdescarga.Codigo);\r\n if (itemvs.sales){\r\n for (var j=0; j item.Codigo === salvs.codigo);\r\n if (saldescarga){\r\n salvs.valor = saldescarga.Valor.toLowerCase();\r\n }\r\n }\r\n }\r\n if (itemvs.cants){\r\n for (var j=0; j item.Cant === cantvs.cant && item.Cod === cantvs.cod);\r\n if (cantdescarga){\r\n cantvs.des = cantdescarga.Des.toLowerCase();\r\n }\r\n }\r\n }\r\n }\r\n setInfoComponentes(descarga);\r\n props.alCambiarPASolo(props.pasolo);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n }); \r\n }\r\n }\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alAnadirPA){\r\n props.alAnadirPA(value);\r\n setCurrentComponente(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 4:\r\n nuevalista = nuevalista.filter(item => (remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n }else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var negado = tag.getAttribute(\"data-negado\")===\"S\";\r\n if (value === currentComponente)\r\n setCurrentComponente(0);\r\n setNegado(false);\r\n if (props.alBorrarPA){\r\n if (negado)\r\n props.alBorrarPA(parseInt(value));\r\n else\r\n props.alBorrarPA(parseInt(value)*(-1));\r\n }\r\n \r\n }\r\n\r\n const SeleccionaItem = (e) =>{\r\n var img = e.target;\r\n if (!img.classList.contains('imagenTagEliminar')){\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var negado = tag.getAttribute(\"data-negado\")===\"S\";\r\n setCurrentComponente(parseInt(value));\r\n setNegado(negado);\r\n }\r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n //const strComponente = (props.pf ? \"ingredientes\" : \"principios activos\");\r\n const strComponente = props.nombreComponentes.toLowerCase();\r\n\r\n const opcionesComposHTML = ((props.muestraChecks) ?\r\n ((props.pasolo)?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n \r\n \r\n
    \r\n )\r\n :
    \r\n );\r\n\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n {opcionesComposHTML}\r\n
    \r\n {HTMLTags}\r\n {HTMLSalesYCantidades}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorComposicion;\r\n\r\n/*\r\n
    \r\n \r\n
    \r\n
    Cantidad
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Sal
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n*/","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorMulti2(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n //const estilolabel = (props.small ? {fontSize:'12px'} : {} ) ;\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 44);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none', whiteSpace: 'normal'};\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n \r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n \r\n for (var item of lista){\r\n if (valuesSelected.includes(item.codigo))\r\n itemsSelected.push(item);\r\n }\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n \r\n {item.valor}\r\n \"eliminar\" props.alBorrar(item.codigo) } />\r\n );\r\n \r\n useEffect(() => {\r\n if (!deepEqual(props.lista, propiedades.lista) || (props.valuesSelected !== valuesSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alAnadir){\r\n props.alAnadir(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 4:\r\n nuevalista = nuevalista.filter(item => (remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n \t}else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n setListaVisible([]);\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n var classInputName=\"inputSelector\"\r\n if (props.estrecho)\r\n classInputName += \" estrecho\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {(!props.ocultaTags) ?\r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorMulti2;\r\n\r\n","\r\n\r\nfunction SelectorCHK(props){\r\n const valoresCHK = props.valoresCHK;\r\n const opcionesCHK = props.opcionesCHK;\r\n const titulo = props.titulo;\r\n const idOrigen = props.idOrigen;\r\n\r\n const cambiaCheck= (e, valor) =>{\r\n var check = e.target;\r\n var idx = valoresCHK.indexOf(valor);\r\n if (check.checked){\r\n if (idx<0) valoresCHK.push(valor);\r\n }else{\r\n if(idx>=0) valoresCHK.splice(idx,1);\r\n }\r\n \r\n props.alCambiar(valoresCHK,idOrigen);\r\n }\r\n\r\n const HTMLChecks = opcionesCHK.map(opt => \r\n \r\n );\r\n\r\n return (\r\n
    \r\n

    {titulo}

    \r\n
    \r\n {HTMLChecks}\r\n
    \r\n {(props.pie) ?\r\n props.pie\r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default SelectorCHK;\r\n","import { useEffect, useState } from \"react\";\r\n\r\nfunction SelectorSNX(props){\r\n const [valorSNX, setValorSNX] = useState(props.valorSNX);\r\n const idChkAct = props.idHTML+'__Act';\r\n const idChkSN = props.idHTML+'__SN';\r\n const txtS = (props.txtS ? props.txtS : 'Sí');\r\n const txtN = (props.txtN ? props.txtN : 'No');\r\n const titulo = props.titulo;\r\n const idOrigen = props.idOrigen;\r\n\r\n const checkedChkAct = (valorSNX === \"X\" ? false : true);\r\n const checkedChkSN = (valorSNX === \"N\" ? false : true);\r\n\r\n\r\n useEffect(() => {\r\n setValorSNX(props.valorSNX); \r\n }, [props.valorSNX]);\r\n\r\n const calculaSNX = (act, SN) =>{\r\n var valor='X';\r\n if (act){\r\n if (SN){\r\n valor = 'S'\r\n }else{\r\n valor = 'N'\r\n }\r\n }\r\n return valor;\r\n }\r\n\r\n const cambiaCheckActivo = (e) =>{\r\n var checkAct = e.target;\r\n var checkSN = document.getElementById(idChkSN);\r\n var valor = calculaSNX(checkAct.checked, checkSN.checked);\r\n cambiaSeleccion(valor);\r\n }\r\n\r\n const cambiaCheckSN = (e) =>{\r\n var checkSN = e.target;\r\n var checkAct = document.getElementById(idChkAct);\r\n var valor = calculaSNX(checkAct.checked, checkSN.checked);\r\n cambiaSeleccion(valor);\r\n }\r\n\r\n const cambiaSeleccion = (valor) =>{\r\n setValorSNX(valor);\r\n props.alCambiar(valor,idOrigen);\r\n }\r\n\r\n const estiloDiv = (props.estiloDiv ? props.estiloDiv : {})\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n cambiaCheckSN(e)} style={{cursor:'pointer'}}/>\r\n\r\n \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorSNX;\r\n","import { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport Selector from \"../Selector\";\r\nimport SelectorComboBox from \"../SelectorComboBox\";\r\n\r\nfunction SelectorEdad(props){\r\n const [seleccion, setSeleccion] = useState({\r\n edad: props.edad,\r\n unidad: props.unidad,\r\n });\r\n const edad = seleccion.edad;\r\n\r\n \r\n useEffect(() => {\r\n setSeleccion({\r\n edad: props.edad,\r\n unidad: props.unidad,\r\n })\r\n \r\n }, [props.edad, props.unidad]);\r\n\r\n const cambioEdad = (e) =>{\r\n var item = e.target\r\n var value = item.value;\r\n var ivalue = parseInt(value);\r\n cambiaSeleccion(ivalue, seleccion.unidad);\r\n }\r\n\r\n const cambioUnidad = (newunidad) =>{\r\n cambiaSeleccion(seleccion.edad, newunidad)\r\n }\r\n\r\n const cambiaSeleccion = (edad, unidad) =>{\r\n props.alCambiar(edad, unidad);\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n 0 ? seleccion.edad : ''} \r\n name=\"\" min=\"0\" max=\"100\" \r\n className = \"input__sel__num\"\r\n onChange={(e) => cambioEdad(e)}/>\r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default SelectorEdad;\r\n/*\r\n
    \r\n \r\n \r\n
    \r\n*/","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../../services/utils\";\r\n\r\nfunction SelectorEnfRel(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n const [epigrafe, setEpigrafe] = useState(3);\r\n const [currentEnf, setCurrentEnf] = useState(0);\r\n const [negado, setNegado] = useState(false);\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n\r\n/* \r\n for (var item of lista){\r\n var vs = valuesSelected.find(vsitem=> vsitem.codigo === item.codigo);\r\n if (vs){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: vs.epi});\r\n }\r\n }\r\n*/\r\n for (var vs of valuesSelected){\r\n var item = lista.find(vsitem=> vsitem.codigo === vs.codigo);\r\n if (item){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: Math.abs(vs.epi), negado: (vs.epi<0)});\r\n }\r\n }\r\n\r\n\r\n const EpigrafeByCod = (epi) =>{\r\n var res = '';\r\n switch (epi){\r\n case 3:\r\n res = 'Indicado';\r\n break;\r\n case 7:\r\n res = 'Reacción adversa';\r\n break;\r\n case 13:\r\n res = 'Contraindicado';\r\n break;\r\n case 14:\r\n res = 'Precaución';\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n SeleccionaItem(e) } >\r\n {item.valor}\r\n {HTMLImagen}\r\n \r\n \r\n {item.negado ? NO : <>}\r\n {EpigrafeByCod(item.epi)}\r\n \r\n \r\n \r\n );\r\n \r\n useEffect(() => {\r\n /*var setValores = false;\r\n setValores = ((!propiedades.lista) || (!valuesSelected))\r\n if (!setValores)\r\n setValores = */\r\n \r\n if (!propiedades.lista || !valuesSelected || !deepEqual(props.lista, propiedades.lista) || !deepEqual(props.valuesSelected, valuesSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n const ClickEpigrafe = (e) =>{\r\n var check = e.target;\r\n var value = parseInt(check.value);\r\n if (check.checked){\r\n if (currentEnf>0){\r\n if (!negado)\r\n props.alUpdate(currentEnf, value);\r\n else\r\n props.alUpdate(currentEnf, (-1) * value);\r\n }\r\n setEpigrafe(value);\r\n } \r\n }\r\n\r\n const ClickNegado = (e) =>{\r\n var check = e.target;\r\n var value = check.checked;\r\n if (currentEnf>0){\r\n if (!value)\r\n props.alUpdate(currentEnf, epigrafe);\r\n else\r\n props.alUpdate(currentEnf, (-1) * epigrafe);\r\n }\r\n setNegado(value);\r\n }\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alUpdate){\r\n if (!negado)\r\n props.alUpdate(value,epigrafe);\r\n else\r\n props.alUpdate(value, (-1) * epigrafe);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n }else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n setCurrentEnf(0);\r\n if (props.alBorrar){\r\n props.alBorrar(parseInt(value));\r\n }\r\n \r\n }\r\n\r\n const SeleccionaItem = (e) =>{\r\n var img = e.target;\r\n if (!img.classList.contains('imagenTagEliminar')){\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var itemepi = GetSucesorWhithClassName(tag,'row-subfield');\r\n var codEpi = parseInt(itemepi.getAttribute('data-epi'));\r\n var esNegado = (itemepi.getAttribute('data-negado')==='S');\r\n setCurrentEnf(parseInt(value));\r\n setEpigrafe(codEpi);\r\n setNegado(esNegado);\r\n }\r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorEnfRel;\r\n\r\n","function ItemResumenFiltros(props){\r\n const item = props.item;\r\n return (\r\n \r\n {item.descripcion}\r\n \"eliminar\" props.borraFiltro(item.idFiltro, item.valor)} />\r\n \r\n );\r\n}\r\n\r\nexport default ItemResumenFiltros;\r\n","import { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\n\r\n\r\nfunction SelectorNumero(props){\r\n const [num, setNum] = useState(props.num);\r\n //const [txt, setTxt] = useState('');\r\n //const soloEnteros = props.soloEnteros;\r\n const valorVacio = props.valorVacio;\r\n const sufijo = props.sufijo;\r\n const numNull = (num ===null || num == undefined);\r\n var pulsaPunto=false;\r\n\r\n \r\n useEffect(() => {\r\n setNum(props.num)\r\n }, [props.num]);\r\n\r\n const cambioNum = (e) =>{\r\n var item = e.target\r\n var value = item.value;\r\n if (!pulsaPunto){\r\n setNum(value);\r\n var ivalue = parseFloat(value.replace(',','.'));\r\n props.alCambiar(ivalue);\r\n }\r\n }\r\n\r\n const checkDot= (e) =>{\r\n var keyCode = e.keyCode;\r\n if ((keyCode===110)||(keyCode===190)){\r\n e.stopPropagation();\r\n e.preventDefault();\r\n pulsaPunto=true;\r\n }else{\r\n pulsaPunto=false;\r\n }\r\n }\r\n\r\n const titulo = (props.titulo === \" \" ?   : props.titulo);\r\n\r\n const HTMLSufijo = (props.sufijo) ?\r\n {sufijo}:\r\n <>;\r\n \r\n\r\n \r\n\r\n return (\r\n
    \r\n

    {titulo}

    \r\n
    \r\n cambioNum(e)}\r\n className = \"input__sel__num\"\r\n onKeyDown={(e) => checkDot(e)}\r\n /*onKeyUp={(e) => checkDot(e)}\r\n onKeypress={(e) => checkDot(e)} */\r\n /> \r\n {HTMLSufijo}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorNumero;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorMulti2No(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n currentValue: null,\r\n negado: false,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n //const estilolabel = (props.small ? {fontSize:'12px'} : {} ) ;\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 44);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none', whiteSpace: 'normal'};\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n \r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 5;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n \r\n for (var item of lista){\r\n if (valuesSelected.includes(item.codigo))\r\n itemsSelected.push(item);\r\n if (valuesSelected.includes(item.codigo * -1))\r\n itemsSelected.push({codigo : item.codigo * -1, valor : 'NO ' + item.valor});\r\n }\r\n\r\n //const itemsSelected = lista.filter(item => valuesSelected.includes(item.codigo));\r\n \r\n // style = {(item.codigo<0) ? {backgroundColor:'#FFE3DF', borderColor: '#EBA7B9'} : {backgroundColor:'#E3EADC', borderColor: '#7EB04B'}}\r\n\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n ClickTag(item.codigo)}>\r\n {item.valor}\r\n \"eliminar\" props.alBorrar(item.codigo) } />\r\n );\r\n \r\n useEffect(() => {\r\n if (!deepEqual(props.lista, propiedades.lista) || (props.valuesSelected !== valuesSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickTag = (codigo) =>{\r\n const nuevaProps = JSON.parse(JSON.stringify(propiedades));\r\n nuevaProps.negado = (codigo<0);\r\n nuevaProps.currentValue = codigo;\r\n setPropiedades(nuevaProps);\r\n }\r\n\r\n const AddItem = (codigo) =>{\r\n if (props.alAnadir){\r\n if (propiedades.negado){\r\n props.alAnadir(codigo * -1);\r\n }else{\r\n props.alAnadir(codigo);\r\n }\r\n }\r\n }\r\n\r\n const ClickNegado = (e) =>{\r\n const nuevaProps = JSON.parse(JSON.stringify(propiedades));\r\n nuevaProps.negado = !propiedades.negado;\r\n if (nuevaProps.currentValue && nuevaProps.currentValue !== 0 && props.alNegar)\r\n props.alNegar(nuevaProps.currentValue);\r\n else\r\n setPropiedades(nuevaProps);\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n AddItem(parseInt(value)); \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(/[\\s\\/\\\\\\[\\]\\(\\)\\{\\},;:.\\-\\+\\*=?¿¡!%$€&@\\'\\\"']+/);\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 4:\r\n nuevalista = nuevalista.filter(item => (remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0));\r\n break;\r\n case 5:\r\n nuevalista = nuevalista.filter(item => item.valor.split(/[\\s\\/\\\\\\[\\]\\(\\)\\{\\},;:.\\-\\+\\*=?¿¡!%$€&@\\'\\\"']+/).find(pal => pal.toLowerCase().indexOf(search1)===0));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n \t}else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n setListaVisible([]);\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n var classInputName=\"inputSelector\"\r\n if (props.estrecho)\r\n classInputName += \" estrecho\";\r\n\r\n return (\r\n
    \r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(!props.ocultaTags) ?\r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorMulti2No;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../../services/utils\";\r\n\r\nfunction SelectorAnaRel(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n const [epigrafe, setEpigrafe] = useState(99);\r\n const [currentEnf, setCurrentEnf] = useState(0);\r\n const [negado, setNegado] = useState(false);\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n\r\n/* \r\n for (var item of lista){\r\n var vs = valuesSelected.find(vsitem=> vsitem.codigo === item.codigo);\r\n if (vs){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: vs.epi});\r\n }\r\n }\r\n*/\r\n for (var vs of valuesSelected){\r\n var item = lista.find(vsitem=> vsitem.codigo === vs.codigo);\r\n if (item){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: Math.abs(vs.epi), negado: (vs.epi<0)});\r\n }\r\n }\r\n\r\n\r\n const EpigrafeByCod = (epi) =>{\r\n var res = '';\r\n switch (epi){\r\n case 99:\r\n res = 'Culaquier interferencia';\r\n break;\r\n case 1:\r\n res = 'Aumento';\r\n break;\r\n case 2:\r\n res = 'Disminución';\r\n break;\r\n case 3:\r\n res = 'Positivo';\r\n break;\r\n case 4:\r\n res = 'Negativo';\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n SeleccionaItem(e) } >\r\n {item.valor}\r\n {HTMLImagen}\r\n \r\n \r\n {item.negado ? NO : <>}\r\n {EpigrafeByCod(item.epi)}\r\n \r\n \r\n \r\n );\r\n \r\n useEffect(() => {\r\n /*var setValores = false;\r\n setValores = ((!propiedades.lista) || (!valuesSelected))\r\n if (!setValores)\r\n setValores = */\r\n \r\n if (!propiedades.lista || !valuesSelected || !deepEqual(props.lista, propiedades.lista) || !deepEqual(props.valuesSelected, valuesSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n const ClickEpigrafe = (e) =>{\r\n var check = e.target;\r\n var value = parseInt(check.value);\r\n if (check.checked){\r\n if (currentEnf>0){\r\n if (!negado)\r\n props.alUpdate(currentEnf, value);\r\n else\r\n props.alUpdate(currentEnf, (-1) * value);\r\n }\r\n setEpigrafe(value);\r\n } \r\n }\r\n\r\n const ClickNegado = (e) =>{\r\n var check = e.target;\r\n var value = check.checked;\r\n if (currentEnf>0){\r\n if (!value)\r\n props.alUpdate(currentEnf, epigrafe);\r\n else\r\n props.alUpdate(currentEnf, (-1) * epigrafe);\r\n }\r\n setNegado(value);\r\n }\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alUpdate){\r\n if (!negado)\r\n props.alUpdate(value,epigrafe);\r\n else\r\n props.alUpdate(value, (-1) * epigrafe);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n }else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n setCurrentEnf(0);\r\n if (props.alBorrar){\r\n props.alBorrar(parseInt(value));\r\n }\r\n \r\n }\r\n\r\n const SeleccionaItem = (e) =>{\r\n var img = e.target;\r\n if (!img.classList.contains('imagenTagEliminar')){\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var itemepi = GetSucesorWhithClassName(tag,'row-subfield');\r\n var codEpi = parseInt(itemepi.getAttribute('data-epi'));\r\n var esNegado = (itemepi.getAttribute('data-negado')==='S');\r\n setCurrentEnf(parseInt(value));\r\n setEpigrafe(codEpi);\r\n setNegado(esNegado);\r\n }\r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorAnaRel;\r\n","import { useEffect, useState } from \"react\";\r\nimport { deepEqual } from \"../../../services/utils\";\r\nimport SelectorComboBox from \"./SelectorComboBox\";\r\n\r\nfunction SelectorTexto(props){\r\n const [propiedades, setPropiedades] = useState({\r\n listaEpigrafes: props.listaEpigrafes,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n negado: props.negado,\r\n })\r\n const idHTML = props.idHTML;\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n useEffect(() => {\r\n if (!deepEqual(props.listaEpigrafes, propiedades.listaEpigrafes) || (props.idEpi !== propiedades.idEpi) || (props.texto !== propiedades.texto)){\r\n setPropiedades({\r\n listaEpigrafes: props.listaEpigrafes,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n })\r\n }\r\n \r\n }, [props.listaEpigrafes, props.texto, props.idEpi]);\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\"; \r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n\r\n const CambioEpi = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(propiedades));\r\n nuevaSeleccion.idEpi = nuevovalor;\r\n setPropiedades(nuevaSeleccion);\r\n if (props.alCambiar)\r\n props.alCambiar(nuevovalor,nuevaSeleccion.texto);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(propiedades));\r\n nuevaSeleccion.texto = valor;\r\n setPropiedades(nuevaSeleccion);\r\n if (props.alCambiar)\r\n props.alCambiar(nuevaSeleccion.idEpi,nuevaSeleccion.texto);\r\n }\r\n }\r\n \r\n const ClickNegado = (e) =>{\r\n var check = e.target;\r\n var value = check.checked;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(propiedades));\r\n nuevaSeleccion.negado = value;\r\n setPropiedades(nuevaSeleccion);\r\n if (props.alCambiar)\r\n props.alCambiar(nuevaSeleccion.idEpi,nuevaSeleccion.texto,nuevaSeleccion.negado);\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {props.tituloTexto}

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {props.tituloEpigrafe}

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n);\r\n}\r\n\r\nexport default SelectorTexto;\r\n\r\n","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport { OpcionesADM, OpcionesCON, OpcionesDG, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorAnaRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorAnaRel\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\n\r\nconst FBAvanzadaMUH= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n listaEnfs: null,\r\n listaGTs: null,\r\n listaLabs: null,\r\n listaCamposPrecio: null,\r\n listaOperadoresPrecio: null,\r\n listaPredefinidasPrecio: null,\r\n listaAgrupAuto:null,\r\n listaAgrupNac:null,\r\n listaDescrip:null,\r\n listaAnas: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsLab: props.idsLab,\r\n idsGT: props.idsGT,\r\n pas: props.pas,\r\n solo: props.solo,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n uds: props.uds,\r\n emr: props.emr,\r\n ints: props.ints,\r\n edad: props.edad,\r\n undEdad: props.undEdad,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n anasRel: (props.anasRel ? props.anasRel : []),\r\n ops: (props.ops ? props.ops : []),\r\n fechaAutoIni: props.fechaAutoIni,\r\n fechaAutoFin: props.fechaAutoFin,\r\n fechaInSNSIni: props.fechaInSNSIni,\r\n fechaInSNSFin: props.fechaInSNSFin,\r\n fechaComerIni: props.fechaComerIni,\r\n fechaComerFin: props.fechaComerFin,\r\n fechaBajaIni: props.fechaBajaIni,\r\n fechaBajaFin: props.fechaBajaFin,\r\n fechaExSNSIni: props.fechaExSNSIni,\r\n fechaExSNSFin: props.fechaExSNSFin,\r\n fechaExFIIni: props.fechaExFIIni,\r\n fechaExFIFin: props.fechaExFIFin,\r\n idCampoP: props.idCampoP,\r\n idOpP: props.idOpP,\r\n pre: props.pre,\r\n idPredefP: props.idPredefP,\r\n idsAA: props.idsAA,\r\n idsAN: props.idsAN,\r\n idsDC: props.idsDC,\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n })\r\n\r\n\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPAs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAvanzadaMUH()\r\n .then((response) => {\r\n var df = {\r\n listaPAs : response.data.Componentes,\r\n listaLabs: response.data.Laboratorios,\r\n listaGTs: response.data.Grupos,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n listaEnfs : response.data.Enfermedades,\r\n listaAnas : response.data.Analisis,\r\n listaCamposPrecio: response.data.CamposPrecio,\r\n listaOperadoresPrecio: response.data.OperadoresPrecio,\r\n listaPredefinidasPrecio: response.data.PredefinidasPrecio,\r\n listaAgrupAuto: response.data.AgrupacionesAutonomicas,\r\n listaAgrupNac: response.data.AgrupacionesNacionales,\r\n listaDescrip: response.data.DescripcionesClinicas,\r\n listaMens: response.data.Mensajes,\r\n listaEpis: response.data.Epigrafes,\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique principio activo'});\r\n df.listaLabs.splice(0,0,{Codigo:0, Valor:'Indique laboratorio'});\r\n df.listaGTs.splice(0,0,{Codigo:'', Valor:'Indique nombre o código de grupo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique enfermedad '});\r\n df.listaAnas.splice(0,0,{Codigo:0, Valor:'Indique análisis '});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n df.listaCamposPrecio.splice(0,0,{Codigo:'-', Valor:'Indique un precio'},{Codigo:'', Valor:'-'});\r\n df.listaOperadoresPrecio.splice(0,0,{Codigo:-1, Valor:'Indique un operador'},{Codigo:0, Valor:'-'});\r\n df.listaPredefinidasPrecio.splice(0,0,{Codigo:-1, Valor:'Indique una comparativa'},{Codigo:0, Valor:'-'});\r\n df.listaAgrupAuto.splice(0,0,{Codigo:'', Valor:'Indique nombre o código de la agrupación'});\r\n df.listaAgrupNac.splice(0,0,{Codigo:'', Valor:'Indique nombre o código de la agrupación'});\r\n df.listaDescrip.splice(0,0,{Codigo:'', Valor:'Indique descripción clínica'});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit.replace(\"
    \",\"\"));\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase().replace(\"
    \",\"\"));\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n \r\n /*if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLabs){\r\n var item = datosFormulario.listaLabs.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Grupo terapéutico ATC\", valor: item.Valor});\r\n }\r\n }\r\n */\r\n if ((seleccionFormulario.idsLab) && (seleccionFormulario.idsLab.length>0)){\r\n if (datosFormulario.listaLabs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsLab[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Laboratorio/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Grupo/s terapéutico/s ATC\", valor: valor});\r\n }\r\n } \r\n\r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.emr>0){\r\n res.push ({titulo: \"Envases máximos por receta\", valor: seleccionFormulario.emr.toString()});\r\n }\r\n \r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDG[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.fechaAutoIni){\r\n if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de autorización\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de autorización\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni)});\r\n }\r\n }else if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de autorización\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaInSNSIni){\r\n if (seleccionFormulario.fechaInSNSFin){\r\n res.push ({titulo: \"Fecha de inclusión SNS\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de inclusión SNS\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSIni)});\r\n }\r\n }else if (seleccionFormulario.fechaInSNSFin){\r\n res.push ({titulo: \"Fecha de inclusión SNS\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaComerIni){\r\n if (seleccionFormulario.fechaComerFin){\r\n res.push ({titulo: \"Fecha de comercialización\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de comercialización\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerIni)});\r\n }\r\n }else if (seleccionFormulario.fechaComerFin){\r\n res.push ({titulo: \"Fecha de comercialización\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaBajaIni){\r\n if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de baja\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni)});\r\n }\r\n }else if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaExSNSIni){\r\n if (seleccionFormulario.fechaExSNSFin){\r\n res.push ({titulo: \"Fecha de exclusión\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de exclusión\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSIni)});\r\n }\r\n }else if (seleccionFormulario.fechaExSNSFin){\r\n res.push ({titulo: \"Fecha de exclusión\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaExFIIni){\r\n if (seleccionFormulario.fechaExFIFin){\r\n res.push ({titulo: \"Fecha de exclusión financiación individualizada\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de exclusión financiación individualizada\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIIni)});\r\n }\r\n }else if (seleccionFormulario.fechaExFIFin){\r\n res.push ({titulo: \"Fecha de exclusión financiación individualizada\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIFin)});\r\n }\r\n if (seleccionFormulario.idCampoP && seleccionFormulario.idCampoP!=='' && seleccionFormulario.idOpP > 0 && seleccionFormulario.pre && seleccionFormulario.pre > 0){\r\n if (datosFormulario.listaCamposPrecio && datosFormulario.listaOperadoresPrecio){\r\n var c = datosFormulario.listaCamposPrecio.find(x => x.Codigo === seleccionFormulario.idCampoP);\r\n var o = datosFormulario.listaOperadoresPrecio.find(x => x.Codigo === seleccionFormulario.idOpP);\r\n if (c && o){\r\n var val = o.Valor + ' que ' + seleccionFormulario.pre.toString() + \" €\";\r\n if (o.Codigo === 3) val = o.Valor + ' a ' + seleccionFormulario.pre.toString() + \" €\";\r\n res.push ({titulo: c.Valor, valor: val});\r\n }\r\n }\r\n }\r\n if (seleccionFormulario.idPredefP > 0){\r\n if (datosFormulario.listaPredefinidasPrecio){\r\n var item = datosFormulario.listaPredefinidasPrecio.find(x => x.Codigo === seleccionFormulario.idPredefP);\r\n if (item){\r\n res.push ({titulo: \"Precio\", valor: item.Valor});\r\n }\r\n }\r\n }\r\n if ((seleccionFormulario.idsAA) && (seleccionFormulario.idsAA.length>0)){\r\n if (datosFormulario.listaAgrupAuto){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAA[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Agrupación/es autonómica/s\", valor: valor});\r\n }\r\n } \r\n if ((seleccionFormulario.idsAN) && (seleccionFormulario.idsAN.length>0)){\r\n if (datosFormulario.listaAgrupNac){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAN[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Agrupación/es nacional/es\", valor: valor});\r\n }\r\n } \r\n if ((seleccionFormulario.idsDC) && (seleccionFormulario.idsDC.length>0)){\r\n if (datosFormulario.listaDescrip){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsDC[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Descripción/es clínica/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los principios activos seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener principios activos adicionales\"});\r\n }\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesDISP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de dispensación y faturación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesPAC);\r\n if (seleccionFormulario.edad && seleccionFormulario.edad>0 && seleccionFormulario.undEdad && seleccionFormulario.undEdad != \"\"){\r\n if (str != \"\") str += \"\\n\";\r\n str += \"Autorizado en niños de \" + seleccionFormulario.edad.toString();\r\n if (seleccionFormulario.undEdad.toLowerCase()===\"m\"){\r\n str += \" meses\"\r\n }else{\r\n str += \" años\"\r\n }\r\n }\r\n if (str !== \"\")\r\n res.push({titulo: \"Características del paciente\", valor:str});\r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Aptos para las intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesADM);\r\n if (str !== \"\")\r\n res.push({titulo: \"Administración y dosificación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesESP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Advertencias especiales\", valor:str});\r\n\r\n\r\n var str = obtenDatoResumen(OpcionesOTR);\r\n if (str !== \"\")\r\n res.push({titulo: \"Tipo de medicamento\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesCON);\r\n if (str !== \"\")\r\n res.push({titulo: \"Conservación\", valor:str});\r\n\r\n if (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0){\r\n if (datosFormulario.listaEnfs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.enfsRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.enfsRel[i].epi;\r\n if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No indicado para \" + item.Valor;\r\n else\r\n valor += \"Indicado para \" + item.Valor;\r\n }else if (Math.abs(epi)===13){\r\n if (epi<0)\r\n valor += \"No contraindicado en \" + item.Valor;\r\n else \r\n valor += \"Contraindicado en \" + item.Valor;\r\n }else if (Math.abs(epi)===14){\r\n if (epi<0)\r\n valor += \"Sin uso precautorio en \" + item.Valor;\r\n else \r\n valor += \"Uso precautorio en \" + item.Valor;\r\n }else if (Math.abs(epi)===7){\r\n if (epi<0)\r\n valor += \"Sin \" + item.Valor + \" como reacción adversa\";\r\n else \r\n valor += \"Con \" + item.Valor + \" como reacción adversa\";\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Relación con enfermedades\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0){\r\n if (datosFormulario.listaAnas){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.anasRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.anasRel[i].epi;\r\n if (Math.abs(epi)===99){\r\n if (epi<0)\r\n valor += \"No interfiere en \" + item.Valor;\r\n else\r\n valor += \"Interfiere en \" + item.Valor;\r\n }else if (Math.abs(epi)===1){\r\n if (epi<0)\r\n valor += \"No provoca aumento de \" + item.Valor;\r\n else\r\n valor += \"Provoca aumento de \" + item.Valor;\r\n }else if (Math.abs(epi)===2){\r\n if (epi<0)\r\n valor += \"No provoca disminución de \" + item.Valor;\r\n else \r\n valor += \"Provoca disminución de \" + item.Valor;\r\n }else if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No provoca positivo en \" + item.Valor;\r\n else \r\n valor += \"Provoca positivo \" + item.Valor;\r\n }else if (Math.abs(epi)===4){\r\n if (epi<0)\r\n valor += \"No provoca negativo en \" + item.Valor;\r\n else \r\n valor += \"Provoca negativo \" + item.Valor;\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Interferencia en análisis clínicos\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.pas && seleccionFormulario.pas.length>0)\r\n || (seleccionFormulario.txt && seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsLab && seleccionFormulario.idsLab.length>0)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idFF>0)\r\n || (seleccionFormulario.idVia>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.edad>0 && seleccionFormulario.undEdad != \"\")\r\n || (seleccionFormulario.ints && seleccionFormulario.ints.length>0)\r\n || (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0)\r\n || (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0)\r\n || (seleccionFormulario.uds > 0)\r\n || (seleccionFormulario.emr > 0)\r\n || (seleccionFormulario.fechaAutoIni) || (seleccionFormulario.fechaAutoFin)\r\n || (seleccionFormulario.fechaInSNSIni) || (seleccionFormulario.fechaInSNSFin)\r\n || (seleccionFormulario.fechaComerIni) || (seleccionFormulario.fechaComerFin)\r\n || (seleccionFormulario.fechaBajaIni) || (seleccionFormulario.fechaBajaFin)\r\n || (seleccionFormulario.fechaExSNSIni) || (seleccionFormulario.fechaExSNSFin)\r\n || (seleccionFormulario.fechaExFIIni) || (seleccionFormulario.fechaExFIFin)\r\n || (seleccionFormulario.idCampoP && seleccionFormulario.idCampoP!=='' && seleccionFormulario.idOpP > 0 && seleccionFormulario.pre > 0)\r\n || (seleccionFormulario.idPredefP > 0)\r\n || (seleccionFormulario.idsAA && seleccionFormulario.idsAA.length>0)\r\n || (seleccionFormulario.idsAN && seleccionFormulario.idsAN.length>0)\r\n || (seleccionFormulario.idsDC && seleccionFormulario.idsDC.length>0)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n ;\r\n\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaMUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsLab: seleccionFormulario.idsLab,\r\n idsGT: seleccionFormulario.idsGT,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n uds: seleccionFormulario.uds,\r\n emr: seleccionFormulario.emr,\r\n edad: seleccionFormulario.edad,\r\n undEdad: seleccionFormulario.undEdad,\r\n enfsRel: seleccionFormulario.enfsRel,\r\n anasRel: seleccionFormulario.anasRel,\r\n ints: seleccionFormulario.ints,\r\n ops: seleccionFormulario.ops,\r\n fechaAutoFin: seleccionFormulario.fechaAutoFin,\r\n fechaAutoIni: seleccionFormulario.fechaAutoIni,\r\n fechaBajaFin: seleccionFormulario.fechaBajaFin,\r\n fechaBajaIni: seleccionFormulario.fechaBajaIni,\r\n fechaComerFin: seleccionFormulario.fechaComerFin,\r\n fechaComerIni: seleccionFormulario.fechaComerIni,\r\n fechaExFIFin: seleccionFormulario.fechaExFIFin,\r\n fechaExFIIni: seleccionFormulario.fechaExFIIni,\r\n fechaExSNSFin: seleccionFormulario.fechaExSNSFin,\r\n fechaExSNSIni: seleccionFormulario.fechaExSNSIni,\r\n fechaInSNSFin: seleccionFormulario.fechaInSNSFin,\r\n fechaInSNSIni: seleccionFormulario.fechaInSNSIni,\r\n idCampoP: seleccionFormulario.idCampoP,\r\n idOpP: seleccionFormulario.idOpP,\r\n pre: seleccionFormulario.pre,\r\n idPredefP: seleccionFormulario.idPredefP,\r\n idsAA: seleccionFormulario.idsAA,\r\n idsAN: seleccionFormulario.idsAN,\r\n idsDC: seleccionFormulario.idsDC,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n txt: '',\r\n idsLab: [],\r\n idsGT: [],\r\n solo: \"S\",\r\n idVia: 0,\r\n idFF: 0,\r\n uds: 0,\r\n emr: 0,\r\n edad: 0,\r\n undEdad: '',\r\n ints: [],\r\n enfsRel: [],\r\n anasRel: [],\r\n ops: [],\r\n fechaAutoFin: null,\r\n fechaAutoIni: null,\r\n fechaBajaFin: null,\r\n fechaBajaIni: null,\r\n fechaComerFin: null,\r\n fechaComerIni: null,\r\n fechaExFIFin: null,\r\n fechaExFIIni: null,\r\n fechaExSNSFin: null,\r\n fechaExSNSIni: null,\r\n fechaInSNSFin: null,\r\n fechaInSNSIni: null,\r\n idCampoP: '',\r\n idOpP: 0,\r\n pre: 0,\r\n idPredefP: 0,\r\n idsAA: [],\r\n idsAN: [],\r\n idsDC: [],\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fechaAutoFin = origen.fechaAutoFin;\r\n destino.fechaAutoIni = origen.fechaAutoIni;\r\n destino.fechaComerFin = origen.fechaComerFin;\r\n destino.fechaComerIni = origen.fechaComerIni;\r\n destino.fechaBajaFin = origen.fechaBajaFin;\r\n destino.fechaBajaIni = origen.fechaBajaIni;\r\n destino.fechaInSNSFin = origen.fechaInSNSFin;\r\n destino.fechaInSNSIni = origen.fechaInSNSIni;\r\n destino.fechaExSNSFin = origen.fechaExSNSFin;\r\n destino.fechaExSNSIni = origen.fechaExSNSIni;\r\n destino.fechaExFIFin = origen.fechaExFIFin;\r\n destino.fechaExFIIni = origen.fechaExFIIni;\r\n }\r\n\r\n const CambioFechaAuto= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaAutoIni = inicio;\r\n nuevaSeleccion.fechaAutoFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaComer= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaComerIni = inicio;\r\n nuevaSeleccion.fechaComerFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaBaja= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaBajaIni = inicio;\r\n nuevaSeleccion.fechaBajaFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaInSNS= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaInSNSIni = inicio;\r\n nuevaSeleccion.fechaInSNSFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaExSNS= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaExSNSIni = inicio;\r\n nuevaSeleccion.fechaExSNSFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaExFI= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaExFIIni = inicio;\r\n nuevaSeleccion.fechaExFIFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n /*\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n\r\n const AddLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsLab) { nuevaSeleccion.idsLab = []};\r\n nuevaSeleccion.idsLab.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveLaboratorio = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsLab.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsLab.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAgrupAuto = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsAA) { nuevaSeleccion.idsAA = []};\r\n nuevaSeleccion.idsAA.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAgrupAuto = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsAA.indexOf(valor.trim());\r\n nuevaSeleccion.idsAA.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAgrupNac = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsAN) { nuevaSeleccion.idsAN = []};\r\n nuevaSeleccion.idsAN.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAgrupNac = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsAN.indexOf(valor.trim());\r\n nuevaSeleccion.idsAN.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddDescripC = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsDC) { nuevaSeleccion.idsDC = []};\r\n nuevaSeleccion.idsDC.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveDescripC = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsDC.indexOf(valor.trim());\r\n nuevaSeleccion.idsDC.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioCampoPrecio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idCampoP = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioOperadorPrecio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idOpP = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioPrecio = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.pre = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioPredefinidaPrecio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPredefP = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUds = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEmr = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.emr = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.undEdad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateEnfermedad = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var item = nuevaSeleccion.enfsRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.enfsRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.enfsRel = nuevaSeleccion.enfsRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateAnalisis = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var item = nuevaSeleccion.anasRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.anasRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAnalisis = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.anasRel = nuevaSeleccion.anasRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n\r\n const CambiaValorCheck = (idCheck, valorCheck, checked) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.codigo===idCheck);\r\n if (item){\r\n if (!item.valores) item.valores = [];\r\n var idxV = item.valores.indexOf(valorCheck)\r\n if (idxV>0){\r\n if (!checked){\r\n item.valores.splice(idxV,1);\r\n }\r\n }else{\r\n if(checked){\r\n item.valores.push(valorCheck)\r\n }\r\n }\r\n }else{\r\n if (checked){\r\n var item = { codigo: idCheck, valores: [valorCheck]};\r\n nuevaSeleccion.ops.push(item);\r\n }\r\n\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const listaCodValorLabs = (datosFormulario.listaLabs) ? datosFormulario.listaLabs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAnas = (datosFormulario.listaAnas) ? datosFormulario.listaAnas.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorCPs = (datosFormulario.listaCamposPrecio) ? datosFormulario.listaCamposPrecio.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorOPs = (datosFormulario.listaOperadoresPrecio) ? datosFormulario.listaOperadoresPrecio.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPPs = (datosFormulario.listaPredefinidasPrecio) ? datosFormulario.listaPredefinidasPrecio.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAAs = (datosFormulario.listaAgrupAuto) ? datosFormulario.listaAgrupAuto.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorANs = (datosFormulario.listaAgrupNac) ? datosFormulario.listaAgrupNac.map (it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorDCs = (datosFormulario.listaDescrip) ? datosFormulario.listaDescrip.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n const HTMLOpcionesDG = OpcionesDG.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP1 = OpcionesDISP.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP2 = OpcionesDISP.slice(4,8).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP3 = OpcionesDISP.slice(8,12).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP4 = OpcionesDISP.slice(12,16).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP5 = OpcionesDISP.slice(16).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesPAC = OpcionesPAC.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesADM = OpcionesADM.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESP = OpcionesESP.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESP2 = OpcionesESP.slice(4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesOTR1 = OpcionesOTR.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesOTR2 = OpcionesOTR.slice(4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesCONV = OpcionesCON.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n const estiloFF = (isMobile) ? {} : {width: '40%'} ;\r\n const estiloVia = (isMobile) ? {} : {width: '25%'} ;\r\n\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    Grupo terapéutico ATC

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n
    \r\n
    \r\n );\r\n const HTMLFechasContenido = (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLPrecioContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Precio

    \r\n \r\n
    \r\n
    \r\n

     

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Comparativa con precio menor/más bajo

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLGruposContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Agrupación homogénea nacional

    \r\n \r\n
    \r\n
    \r\n

    Agrupación homogénea autonómica

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Descripción clínica AEMPS

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCompos = (\r\n \r\n );\r\n\r\n const HTMLDatosDisp = (\r\n
    \r\n
    \r\n {HTMLOpcionesDISP1}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP2}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP3}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP4}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP5}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosPac = (\r\n
    \r\n
    \r\n {HTMLOpcionesPAC}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosAdm = (\r\n
    \r\n {HTMLOpcionesADM}\r\n
    \r\n );\r\n\r\n const HTMLDatosEsp = (\r\n
    \r\n
    \r\n {HTMLOpcionesESP}\r\n
    \r\n
    \r\n {HTMLOpcionesESP2}\r\n
    \r\n
    \r\n);\r\n\r\n const HTMLDatosOtr = (\r\n
    \r\n
    \r\n {HTMLOpcionesOTR1}\r\n
    \r\n
    \r\n {HTMLOpcionesOTR2}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCon = (\r\n
    \r\n {HTMLOpcionesCONV}\r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n {HTMLOpcionesESP}\r\n
    \r\n
    \r\n {HTMLOpcionesESP2}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEnf = (\r\n \r\n );\r\n\r\n const HTMLDatosAna = (\r\n \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaMUH;\r\n/*\r\n \r\n*/ ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesCONV, OpcionesDG, OpcionesDISP, OpcionesDISPV, OpcionesESP, OpcionesESPV, OpcionesOTR, OpcionesOTRV, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\n\r\nconst FBAvanzadaMUV= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaEnfs: null,\r\n listaEsps: null,\r\n listaGTs: null,\r\n listaLabs: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsLab: props.idsLab,\r\n idsGT: props.idsGT,\r\n pas: props.pas,\r\n solo: props.solo,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n idEnf: props.idEnf,\r\n idEspecie: props.idEspecie,\r\n ops: (props.ops ? props.ops : []),\r\n uds: props.uds,\r\n fechaAutoIni: props.fechaAutoIni,\r\n fechaAutoFin: props.fechaAutoFin,\r\n fechaBajaIni: props.fechaBajaIni,\r\n fechaBajaFin: props.fechaBajaFin,\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n })\r\n\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPAs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAvanzadaMUV()\r\n .then((response) => {\r\n var df = {\r\n listaPAs : response.data.Componentes,\r\n listaLabs: response.data.Laboratorios,\r\n listaGTs: response.data.Grupos,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaEsps : response.data.Especies,\r\n listaEnfs : response.data.Enfermedades,\r\n listaMens: response.data.Mensajes,\r\n listaEpis: response.data.Epigrafes,\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique principio activo'});\r\n df.listaLabs.splice(0,0,{Codigo:0, Valor:'Indique laboratorio'});\r\n df.listaGTs.splice(0,0,{Codigo:0, Valor:'Indique nombre o código de grupo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique indicación '});\r\n df.listaEsps.splice(0,0,{Codigo:0, Valor:'Indique especie destino '});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n \r\n if ((seleccionFormulario.idsLab) && (seleccionFormulario.idsLab.length>0)){\r\n if (datosFormulario.listaLabs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsLab[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Laboratorio/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Grupo/s terapéutico/s ATC\", valor: valor});\r\n }\r\n } \r\n\r\n/* if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLabs){\r\n var item = datosFormulario.listaLabs.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Grupo terapéutico ATC\", valor: item.Valor});\r\n }\r\n }\r\n*/ \r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDG[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.fechaAutoIni){\r\n if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de alta\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni)});\r\n }\r\n }else if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }\r\n\r\n\r\n if (seleccionFormulario.fechaBajaIni){\r\n if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de baja\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni)});\r\n }\r\n }else if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }\r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los principios activos seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener principios activos adicionales\"});\r\n }\r\n } \r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesOTRV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Tipo de medicamento\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesDISPV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Dispensación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesESPV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Advertencias especiales\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesCONV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Conservación\", valor:str});\r\n\r\n if (seleccionFormulario.idEnf>0){\r\n if (datosFormulario.listaEnfs){\r\n var item = datosFormulario.listaEnfs.find(x => x.Codigo === seleccionFormulario.idEnf);\r\n if (item)\r\n res.push ({titulo: \"Indicación\", valor: item.Valor});\r\n }\r\n }\r\n if (seleccionFormulario.idEspecie>0){\r\n if (datosFormulario.listaEsps){\r\n var item = datosFormulario.listaEsps.find(x => x.Codigo === seleccionFormulario.idEspecie);\r\n if (item)\r\n res.push ({titulo: \"Especie destino\", valor: item.Valor});\r\n }\r\n }\r\n \r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.pas && seleccionFormulario.pas.length>0)\r\n || (seleccionFormulario.txt && seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsLab && seleccionFormulario.idsLab.length>0)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idEnf>0)\r\n || (seleccionFormulario.idEspecie>0)\r\n || (seleccionFormulario.idFF>0)\r\n || (seleccionFormulario.idVia>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.uds > 0)\r\n || (seleccionFormulario.fechaAutoIni) || (seleccionFormulario.fechaAutoFin)\r\n || (seleccionFormulario.fechaBajaIni) || (seleccionFormulario.fechaBajaFin)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n \r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaMUV\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsLab: seleccionFormulario.idsLab,\r\n idsGT: seleccionFormulario.idsGT,\r\n idEnf: seleccionFormulario.idEnf,\r\n idEspecie: seleccionFormulario.idEspecie,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n ops: seleccionFormulario.ops,\r\n uds: seleccionFormulario.uds,\r\n fechaAutoFin: seleccionFormulario.fechaAutoFin,\r\n fechaAutoIni: seleccionFormulario.fechaAutoIni,\r\n fechaBajaFin: seleccionFormulario.fechaBajaFin,\r\n fechaBajaIni: seleccionFormulario.fechaBajaIni,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n txt: '',\r\n idsLab: [],\r\n idsGT: [],\r\n idEnf: 0,\r\n idEspecie: 0,\r\n solo: \"S\",\r\n idVia: 0,\r\n idFF: 0,\r\n ops: [],\r\n uds: 0,\r\n fechaAutoFin: null,\r\n fechaAutoIni: null,\r\n fechaBajaFin: null,\r\n fechaBajaIni: null,\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fechaAutoFin = origen.fechaAutoFin;\r\n destino.fechaAutoIni = origen.fechaAutoIni;\r\n destino.fechaBajaFin = origen.fechaBajaFin;\r\n destino.fechaBajaIni = origen.fechaBajaIni;\r\n }\r\n\r\n const CambioFechaAuto= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaAutoIni = inicio;\r\n nuevaSeleccion.fechaAutoFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaBaja= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaBajaIni = inicio;\r\n nuevaSeleccion.fechaBajaFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEnfermedad = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEspecie = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEspecie = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n /*\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n\r\n const AddLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsLab) { nuevaSeleccion.idsLab = []};\r\n nuevaSeleccion.idsLab.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveLaboratorio = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsLab.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsLab.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUds = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n const listaCodValorLabs = (datosFormulario.listaLabs) ? datosFormulario.listaLabs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEsps = (datosFormulario.listaEsps) ? datosFormulario.listaEsps.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n const HTMLOpcionesDG = OpcionesDG.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n\r\n const HTMLOpcionesOTR1 = OpcionesOTRV.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n/*\r\n const HTMLOpcionesOTR2 = OpcionesOTRV.slice(4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n estiloDiv = {{marginBottom: '20px'}}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n estiloDiv = {{marginBottom: '20px'}}\r\n />\r\n :
    \r\n );\r\n*/\r\n\r\n const HTMLOpcionesDISP = OpcionesDISPV.slice(0,3).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP2 = OpcionesDISPV.slice(3).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESPV = OpcionesESPV.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesCONV = OpcionesCONV.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n const estiloFF = (isMobile) ? {} : {width: '40%'} ;\r\n const estiloVia = (isMobile) ? {} : {width: '25%'} ;\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    Grupo terapéutico ATC

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCompos = (\r\n \r\n );\r\n\r\n const HTMLDatosOtr = (\r\n
    \r\n
    \r\n {HTMLOpcionesOTR1}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosDisp = (\r\n
    \r\n
    \r\n {HTMLOpcionesDISP}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP2}\r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEsp = (\r\n
    \r\n {HTMLOpcionesESPV}\r\n
    \r\n );\r\n\r\n const HTMLDatosCon = (\r\n
    \r\n {HTMLOpcionesCONV}\r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const HTMLDatosEspInd = (\r\n
    \r\n
    \r\n

    Especie destino

    \r\n \r\n
    \r\n
    \r\n

    Indicación

    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaMUV;\r\n ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesDG, OpcionesDGPA, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorAnaRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorAnaRel\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\n\r\nconst FBAvanzadaPAH= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnfs: null,\r\n listaGTs: null,\r\n listaAFs: null,\r\n listaAMs: null,\r\n listaAnas: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsAF: props.idsAF,\r\n idsAM: props.idsAM,\r\n idsGT: props.idsGT,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n anasRel: (props.anasRel ? props.anasRel : []),\r\n ops: (props.ops ? props.ops : []),\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaGTs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAvanzadaPAH()\r\n .then((response) => {\r\n var df = {\r\n listaAFs: response.data.ActividadesF,\r\n listaAMs: response.data.ActividadesM,\r\n listaGTs: response.data.Grupos,\r\n listaEnfs : response.data.Enfermedades,\r\n listaAnas : response.data.Analisis,\r\n listaMens: response.data.Mensajes,\r\n listaEpis: response.data.Epigrafes,\r\n };\r\n df.listaGTs.splice(0,0,{Codigo:0, Valor:'Indique nombre o código del grupo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique la enfermedad '});\r\n df.listaAFs.splice(0,0,{Codigo:0, Valor:'Indique la actividad '});\r\n df.listaAMs.splice(0,0,{Codigo:0, Valor:'Indique un sistema enzimático'});\r\n df.listaAnas.splice(0,0,{Codigo:0, Valor:'Indique análisis '});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n /*\r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Grupo terapéutico ATC\", valor: item.Valor});\r\n }\r\n }\r\n */\r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Grupo/s terapéutico/s ATC\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsAF) && (seleccionFormulario.idsAF.length>0)){\r\n if (datosFormulario.listaAFs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAF[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Actividades farmacológicas (todas las siguientes)\", valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsAM) && (seleccionFormulario.idsAM.length>0)){\r\n if (datosFormulario.listaAMs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAM[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Capacidades inductoras/inhibidoras metabólicas (alguna de las siguientes)\", valor: valor});\r\n }\r\n }\r\n\r\n \r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDG[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesDISP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de dispensación y faturación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesPAC);\r\n if (str !== \"\")\r\n res.push({titulo: \"Características del paciente\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesESP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Advertencias especiales\", valor:str});\r\n\r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0){\r\n if (datosFormulario.listaEnfs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.enfsRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.enfsRel[i].epi;\r\n if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No indicado para \" + item.Valor;\r\n else\r\n valor += \"Indicado para \" + item.Valor;\r\n }else if (Math.abs(epi)===13){\r\n if (epi<0)\r\n valor += \"No contraindicado en \" + item.Valor;\r\n else \r\n valor += \"Contraindicado en \" + item.Valor;\r\n }else if (Math.abs(epi)===14){\r\n if (epi<0)\r\n valor += \"Sin uso precautorio en \" + item.Valor;\r\n else \r\n valor += \"Uso precautorio en \" + item.Valor;\r\n }else if (Math.abs(epi)===7){\r\n if (epi<0)\r\n valor += \"Sin \" + item.Valor + \" como reacción adversa\";\r\n else \r\n valor += \"Con \" + item.Valor + \" como reacción adversa\";\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Relación con enfermedades\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0){\r\n if (datosFormulario.listaAnas){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.anasRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.anasRel[i].epi;\r\n if (Math.abs(epi)===99){\r\n if (epi<0)\r\n valor += \"No interfiere en \" + item.Valor;\r\n else\r\n valor += \"Interfiere en \" + item.Valor;\r\n }else if (Math.abs(epi)===1){\r\n if (epi<0)\r\n valor += \"No provoca aumento de \" + item.Valor;\r\n else\r\n valor += \"Provoca aumento de \" + item.Valor;\r\n }else if (Math.abs(epi)===2){\r\n if (epi<0)\r\n valor += \"No provoca disminución de \" + item.Valor;\r\n else \r\n valor += \"Provoca disminución de \" + item.Valor;\r\n }else if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No provoca positivo en \" + item.Valor;\r\n else \r\n valor += \"Provoca positivo \" + item.Valor;\r\n }else if (Math.abs(epi)===4){\r\n if (epi<0)\r\n valor += \"No provoca negativo en \" + item.Valor;\r\n else \r\n valor += \"Provoca negativo \" + item.Valor;\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Interferencia en análisis clínicos\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idsAF && seleccionFormulario.idsAF.length>0)\r\n || (seleccionFormulario.idsAM && seleccionFormulario.idsAM.length>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0\r\n || (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n );\r\n \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaPAH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsAF: seleccionFormulario.idsAF,\r\n idsAM: seleccionFormulario.idsAM,\r\n idsGT: seleccionFormulario.idsGT,\r\n enfsRel: seleccionFormulario.enfsRel,\r\n anasRel: seleccionFormulario.anasRel,\r\n ops: seleccionFormulario.ops,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n idsGT: [],\r\n idsAF: [],\r\n idsAM: [],\r\n enfsRel: [],\r\n anasRel: [],\r\n ops: [],\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsAM) { nuevaSeleccion.idsAM = []};\r\n nuevaSeleccion.idsAM.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveActividadM = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsAM.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsAM.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddActividadF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsAF) { nuevaSeleccion.idsAF = []};\r\n nuevaSeleccion.idsAF.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveActividadF = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsAF.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsAF.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n /*\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const UpdateEnfermedad = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var item = nuevaSeleccion.enfsRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.enfsRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.enfsRel = nuevaSeleccion.enfsRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateAnalisis = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var item = nuevaSeleccion.anasRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.anasRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAnalisis = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.anasRel = nuevaSeleccion.anasRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const listaCodValorAFs = (datosFormulario.listaAFs) ? datosFormulario.listaAFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAMs = (datosFormulario.listaAMs) ? datosFormulario.listaAMs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAnas = (datosFormulario.listaAnas) ? datosFormulario.listaAnas.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 \";\r\n\r\n const HTMLOpcionesDG = OpcionesDGPA.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesPAC = OpcionesPAC.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESP = OpcionesESP.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Grupo terapéutico ATC

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Actividades farmacológicas:

    \r\n \r\n
    \r\n
    \r\n

    Efectos metabólicos:

    \r\n \r\n
    \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n {/*HTMLOpcionesPAC*/}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEsp = (\r\n
    \r\n {HTMLOpcionesESP}\r\n
    \r\n );\r\n\r\n const HTMLDatosPac = (\r\n
    \r\n
    \r\n {HTMLOpcionesPAC}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEnf = (\r\n \r\n );\r\n\r\n const HTMLDatosAna = (\r\n \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaGTs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaPAH;\r\n ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesCONPF, OpcionesDG, OpcionesDGPF, OpcionesDISP, OpcionesDISPPPF, OpcionesESP, OpcionesOTR, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\n\r\nconst FBAvanzadaPPF= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n listaTipos: null,\r\n listaSubtipos: null,\r\n listaGTs: null,\r\n listaLabs: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsLab: props.idsLab,\r\n idsGT: props.idsGT,\r\n pas: props.pas,\r\n solo: (props.solo ? props.solo : false),\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n idsTipo: props.idsTipo,\r\n idsSubtipo: props.idsSubtipo,\r\n ints: props.ints,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n ops: (props.ops ? props.ops : []),\r\n uds: props.uds,\r\n fechaAutoIni: props.fechaAutoIni,\r\n fechaAutoFin: props.fechaAutoFin,\r\n fechaBajaIni: props.fechaBajaIni,\r\n fechaBajaFin: props.fechaBajaFin,\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n\r\n })\r\n\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPAs === null){\r\n DescargaDatos(seleccionFormulario.idTipo);\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = (idTipo) => { \r\n BP2022Service.datosFormularioAvanzadaPPF(idTipo)\r\n .then((response) => {\r\n var df = {\r\n listaPAs : response.data.Componentes,\r\n listaLabs: response.data.Laboratorios,\r\n listaGTs: response.data.Grupos,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaTipos : response.data.Tipos,\r\n listaSubtipos : response.data.Subtipos,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n listaMens: response.data.Mensajes,\r\n //listaEpis: response.data.Epigrafes,\r\n listaEpis: [],\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique un ingrediente'});\r\n df.listaLabs.splice(0,0,{Codigo:0, Valor:'Indique laboratorio'});\r\n df.listaGTs.splice(0,0,{Codigo:0, Valor:'Indique categoría'});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n df.listaTipos.splice(0,0,{Codigo:0, Valor:'Indique un tipo'});\r\n df.listaSubtipos.splice(0,0,{Codigo:0, Valor:'Indique un subtipo'});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'Todos los epígrafes'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const DescargaVias = (idTipo) => { \r\n BP2022Service.viasFormularioAvanzadaPPF(idTipo)\r\n .then((response) => {\r\n var df = {\r\n listaPAs : datosFormulario.listaPAs,\r\n listaLabs: datosFormulario.listaLabs,\r\n listaGTs: datosFormulario.listaGTs,\r\n listaVias : response.data.Vias,\r\n listaFFs : datosFormulario.listaFFs,\r\n listaTipos : datosFormulario.listaTipos,\r\n listaSubtipos : datosFormulario.listaSubtipos,\r\n listaIntsV : datosFormulario.listaIntsV,\r\n listaIntsNV : datosFormulario.listaIntsNV,\r\n listaMens: datosFormulario.listaMens,\r\n listaEpis: datosFormulario.listaEpis,\r\n };\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n /* \r\n if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLabs){\r\n var item = datosFormulario.listaLabs.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Categorización Consejo\", valor: item.Valor});\r\n }\r\n }\r\n */ \r\n\r\n\r\n if ((seleccionFormulario.idsLab) && (seleccionFormulario.idsLab.length>0)){\r\n if (datosFormulario.listaLabs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsLab[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Laboratorio/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Categoría/s Consejo\", valor: valor});\r\n }\r\n } \r\n \r\n /*\r\n if (seleccionFormulario.idTipo>0){\r\n if (datosFormulario.listaTipos){\r\n var item = datosFormulario.listaTipos.find(x => x.Codigo === seleccionFormulario.idTipo);\r\n if (item)\r\n res.push ({titulo: \"Tipo de producto\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idSubtipo>0){\r\n if (datosFormulario.listaSubtipos){\r\n var item = datosFormulario.listaSubtipos.find(x => x.Codigo === seleccionFormulario.idSubtipo);\r\n if (item)\r\n res.push ({titulo: \"Subtipo de producto\", valor: item.Valor});\r\n }\r\n }\r\n */\r\n \r\n if ((seleccionFormulario.idsTipo) && (seleccionFormulario.idsTipo.length>0)){\r\n if (datosFormulario.listaTipos){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsTipo[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Tipo/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsSubtipo) && (seleccionFormulario.idsSubtipo.length>0)){\r\n if (datosFormulario.listaSubtipos){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsSubtipo[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Subtipo/s\", valor: valor});\r\n }\r\n } \r\n\r\n\r\n\r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDGPF[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.fechaAutoIni){\r\n if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de alta\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni)});\r\n }\r\n }else if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }\r\n\r\n\r\n if (seleccionFormulario.fechaBajaIni){\r\n if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de baja\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni)});\r\n }\r\n }else if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }\r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los principios activos seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener principios activos adicionales\"});\r\n }\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesDISPPPF);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de dispensación y faturación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesCONPF);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de conservación\", valor:str});\r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Aptos para las intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.pas && seleccionFormulario.pas.length>0)\r\n || (seleccionFormulario.txt && seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsLab && seleccionFormulario.idsLab.length>0)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idFF>0)\r\n || (seleccionFormulario.idVia>0)\r\n || (seleccionFormulario.idsTipo && seleccionFormulario.idsTipo.length>0)\r\n || (seleccionFormulario.idsSubtipo && seleccionFormulario.idsSubtipo.length>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.ints && seleccionFormulario.ints.length>0)\r\n || (seleccionFormulario.uds > 0)\r\n || (seleccionFormulario.fechaAutoIni) || (seleccionFormulario.fechaAutoFin)\r\n || (seleccionFormulario.fechaBajaIni) || (seleccionFormulario.fechaBajaFin)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaPPF\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsLab: seleccionFormulario.idsLab,\r\n idsGT: seleccionFormulario.idsGT,\r\n idsTipo: seleccionFormulario.idsTipo,\r\n idsSubtipo: seleccionFormulario.idsSubtipo,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n ints: seleccionFormulario.ints,\r\n ops: seleccionFormulario.ops,\r\n uds: seleccionFormulario.uds,\r\n fechaAutoFin: seleccionFormulario.fechaAutoFin,\r\n fechaAutoIni: seleccionFormulario.fechaAutoIni,\r\n fechaBajaFin: seleccionFormulario.fechaBajaFin,\r\n fechaBajaIni: seleccionFormulario.fechaBajaIni,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n txt: '',\r\n idsLab: [],\r\n idsGT: [],\r\n idsTipo: [],\r\n idsSubtipo: [],\r\n solo: \"N\",\r\n idVia: 0,\r\n idFF: 0,\r\n ints: [],\r\n ops: [],\r\n uds: 0,\r\n fechaAutoFin: null,\r\n fechaAutoIni: null,\r\n fechaBajaFin: null,\r\n fechaBajaIni: null,\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n DescargaVias(0);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fechaAutoFin = origen.fechaAutoFin;\r\n destino.fechaAutoIni = origen.fechaAutoIni;\r\n destino.fechaBajaFin = origen.fechaBajaFin;\r\n destino.fechaBajaIni = origen.fechaBajaIni;\r\n }\r\n\r\n const CambioFechaAuto= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaAutoIni = inicio;\r\n nuevaSeleccion.fechaAutoFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaBaja= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaBajaIni = inicio;\r\n nuevaSeleccion.fechaBajaFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n /*\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioTipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idTipo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n DescargaVias(nuevovalor);\r\n }\r\n\r\n const BorraTipo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idTipo = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n DescargaVias(0);\r\n }\r\n\r\n const CambioSubtipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSubtipo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraSubtipo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSubtipo = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n\r\n const AddLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsLab) { nuevaSeleccion.idsLab = []};\r\n nuevaSeleccion.idsLab.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveLaboratorio = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsLab.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsLab.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddTipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsTipo) { nuevaSeleccion.idsTipo = []};\r\n nuevaSeleccion.idsTipo.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveTipo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsTipo.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsTipo.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddSubtipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsSubtipo) { nuevaSeleccion.idsSubtipo = []};\r\n nuevaSeleccion.idsSubtipo.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSubtipo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsSubtipo.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsSubtipo.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUds = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const listaCodValorLabs = (datosFormulario.listaLabs) ? datosFormulario.listaLabs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorTipos = (datosFormulario.listaTipos) ? datosFormulario.listaTipos.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorSubtipos = (datosFormulario.listaSubtipos) ? datosFormulario.listaSubtipos.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n const HTMLOpcionesDG = OpcionesDGPF.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP = OpcionesDISPPPF.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesCON = OpcionesCONPF.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n const estiloFF = (isMobile) ? {} : {width: '40%'} ;\r\n const estiloVia = (isMobile) ? {} : {width: '25%'} ;\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    Categorización Consejo General

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tipo de producto

    \r\n \r\n
    \r\n
    \r\n

    Subtipo de producto

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCompos = (\r\n \r\n );\r\n\r\n const HTMLDatosDisp = (\r\n
    \r\n {HTMLOpcionesDISP}\r\n
    \r\n );\r\n\r\n const HTMLDatosCon = (\r\n
    \r\n {HTMLOpcionesCON}\r\n
    \r\n );\r\n\r\n const HTMLDatosPac = (\r\n
    \r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaPPF;\r\n ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport Emergente from \"../../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\n\r\nconst FBComposicion= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n tipo: (props.tipo),\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n tipoProd: props.tipoProd,\r\n pas: props.pas,\r\n solo: props.solo,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n uds: props.uds,\r\n pv: props.pv,\r\n ints: props.ints,\r\n })\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n const [muestraAviso, setMuestraAviso] = useState(false);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if ((datosFormulario.listaPAs === null) || props.tipoProd != seleccionFormulario.tipoProd || props.tipo != datosFormulario.tipo)\r\n {\r\n if ((seleccionFormulario.tipoProd != props.tipoProd || props.tipo != datosFormulario.tipo)){\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas=[];\r\n nuevaSeleccion.tipoProd = props.tipoProd;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n DescargaDatos();\r\n } \r\n },[props.tipoProd,props.tipo]);\r\n\r\n const nombreComponente = (datosFormulario.tipo===\"P\") ? \"Ingrediente\" : \"Principio activo\";\r\n const nombreComponentePlural = (datosFormulario.tipo===\"P\") ? \"Ingredientes\" : \"Principios activos\";\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioComposicion(props.tipo, props.tipoProd, props.pas)\r\n .then((response) => {\r\n var df = {\r\n tipo: props.tipo,\r\n listaPAs : response.data.Componentes,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique ' + nombreComponente.toLowerCase()});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const ActualizaFormasYVias = (pas) => { \r\n BP2022Service.actualizaFFyVias(props.tipo, props.tipoProd, pas)\r\n .then((response) => {\r\n var df = {\r\n tipo: datosFormulario.tipo,\r\n listaPAs : datosFormulario.listaPAs,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : datosFormulario.listaIntsV,\r\n listaIntsNV : datosFormulario.listaIntsNV,\r\n };\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const ActualizaListaIngredientesYVias = () => { \r\n BP2022Service.datosFormularioComposicion(datosFormulario.tipo)\r\n .then((response) => {\r\n var df = JSON.parse(JSON.stringify(datosFormulario));\r\n df.listaPAs = response.data.Componentes;\r\n df.listaVias = response.data.Vias;\r\n if (datosFormulario.tipo===\"P\")\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Seleccione una ingrediente'});\r\n df.listaVias.splice(0,0,{Codigo:0, Valor:''});\r\n setDatosFormulario(df);\r\n setSeleccionFormulario(seleccionFormulario);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los \" + nombreComponentePlural.toLowerCase() + \" seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener \" + nombreComponentePlural.toLowerCase() + \" adicionales\"});\r\n }\r\n\r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.pv>0){\r\n res.push ({titulo: \"Peso / volumen\", valor: seleccionFormulario.pv.toString() + ' g o ml'});\r\n }\r\n \r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.pas && (seleccionFormulario.pas.filter(item => item.codigo>0).length>0);\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BComposicion\";\r\n if (datosFormulario.tipo===\"P\")\r\n newpagina += \"PPF\";\r\n else if (datosFormulario.tipo===\"V\")\r\n newpagina += \"MUV\";\r\n else\r\n newpagina += \"MUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n pas: seleccionFormulario.pas,\r\n tipoProd: seleccionFormulario.tipoProd,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n uds: seleccionFormulario.uds,\r\n pv: seleccionFormulario.pv,\r\n ints: seleccionFormulario.ints,\r\n })\r\n }\r\n else{\r\n setMuestraAviso(true);\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n tipoProd: seleccionFormulario.tipoProd,\r\n solo: (datosFormulario.tipo===\"P\" ? \"N\":\"S\"),\r\n idVia: 0,\r\n idFF: 0,\r\n uds: 0,\r\n pv: 0,\r\n ints: [],\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n ActualizaFormasYVias([]);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUnidad = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioPV = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pv = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n /*const listaCodValorIntV = (datosFormulario.listaIntsV) ? datosFormulario.listaIntsV.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorIntNV = (datosFormulario.listaIntsNV) ? datosFormulario.listaIntsNV.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];*/\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n\r\n const modalKeyName = \"NoDataFCompos\"\r\n const modalContent = (\r\n
    \r\n

    Debe indicar al menos un {nombreComponente.toLowerCase()}

    \r\n
    \r\n );\r\n const cierraAviso = () =>{\r\n setMuestraAviso(false);\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n {muestraAviso ?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {(props.tipo === \"H\" || (props.tipo === \"P\" && props.tipoProd === 1)) ?\r\n
    \r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n \r\n
    \r\n \r\n \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBComposicion;\r\n","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\n\r\nconst FBDocumentos= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaMed: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idMed: props.idMed,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaMed === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioDocumentos()\r\n .then((response) => {\r\n var df = {\r\n listaMed : response.data.Medicamentos,\r\n };\r\n df.listaMed.splice(0,0,{Codigo:0, Valor:'Indique un medicamento o principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n\r\n if (seleccionFormulario.idMed>0){\r\n if (datosFormulario.listaMed){\r\n var item = datosFormulario.listaMed.find(x => x.Codigo === seleccionFormulario.idMed);\r\n if (item)\r\n res.push ({titulo: \"Relacionado con \", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.inicio){\r\n if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha del documento\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }else{\r\n res.push ({titulo: \"Fecha del documento\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio)});\r\n }\r\n }else if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha del documento\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n \r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: 'BDocumentos',\r\n idMed: seleccionFormulario.idMed,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idMed: 0,\r\n inicio: null,\r\n fin: null,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fin = origen.fin;\r\n destino.inicio = origen.inicio;\r\n }\r\n\r\n const CambioFecha= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioMed = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idMed = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraMed = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idMed = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n const listaCodValorMed = (datosFormulario.listaMed) ? datosFormulario.listaMed.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.listaMed === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Medicamento/Principio activo

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBDocumentos;\r\n","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport { GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\n\r\nconst FBEspecieIndicacion= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnf: null,\r\n listaEspecie: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idEspecie: props.idEspecie,\r\n idEnf: props.idEnf,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnf === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioEspecieIndicacion()\r\n .then((response) => {\r\n var df = {\r\n listaEnf : response.data.Enfermedades,\r\n listaEspecie : response.data.Especies,\r\n };\r\n df.listaEnf.splice(0,0,{Codigo:0, Valor:'Escriba una enfermedad'});\r\n df.listaEspecie.splice(0,0,{Codigo:0, Valor:'Escriba una especie animal'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.idEnf>0){\r\n if (datosFormulario.listaEnf){\r\n var item = datosFormulario.listaEnf.find(x => x.Codigo === seleccionFormulario.idEnf);\r\n if (item)\r\n res.push ({titulo: \"Indicación\", valor: item.Valor});\r\n }\r\n }\r\n if (seleccionFormulario.idEspecie>0){\r\n if (datosFormulario.listaEspecie){\r\n var item = datosFormulario.listaEspecie.find(x => x.Codigo === seleccionFormulario.idEspecie);\r\n if (item)\r\n res.push ({titulo: \"Especie destino\", valor: item.Valor});\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idEnf>0 || seleccionFormulario.idEspecie>0; \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: 'BEspecieIndicacionMUV',\r\n idEnf: seleccionFormulario.idEnf,\r\n idEspecie: seleccionFormulario.idEspecie,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idEnf: 0,\r\n idEspecie: 0,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEspecie = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEspecie = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%'} : {height:'76px', width:'100%', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n const listaCodValorEnf = (datosFormulario.listaEnf) ? datosFormulario.listaEnf.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEspecie = (datosFormulario.listaEspecie) ? datosFormulario.listaEspecie.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBEspecieIndicacion;\r\n","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\n\r\nconst FBExtranjeros= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPaises: null,\r\n listaPA: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idPais: props.idPais,\r\n solo: (props.solo ? props.solo : true),\r\n pas: (props.pas ? props.pas : []),\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPA === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioEXT()\r\n .then((response) => {\r\n var df = {\r\n listaPA : response.data.PrincipiosActivos,\r\n listaPaises : response.data.Paises, \r\n };\r\n df.listaPaises.splice(0,0,{CodPais:0, Nombre:'Indique un país'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor:'Indique un principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n if (seleccionFormulario.idPais>0){\r\n if (datosFormulario.listaPaises){\r\n var item = datosFormulario.listaPaises.find(x => x.CodPais === seleccionFormulario.idPais);\r\n if (item)\r\n res.push ({titulo: \"País\", valor: item.Nombre});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPA){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.pas[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Composición\", valor: valor});\r\n }\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idPais>0 || seleccionFormulario.txt != \"\" || (seleccionFormulario.pas && seleccionFormulario.pas.length > 0);\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda)\r\n props.cambiaPagina({\r\n newpagina: 'BExtranjerosEXT',\r\n txt: seleccionFormulario.txt,\r\n idPais: seleccionFormulario.idPais,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n idPais: 0,\r\n pas: [],\r\n solo: true,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idPais = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraPais = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idPais = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.pas) { nuevaSeleccion.pas = []};\r\n nuevaSeleccion.pas.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.pas.indexOf(parseInt(valor));\r\n nuevaSeleccion.pas.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaSolo= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n const listaCodValorPais = (datosFormulario.listaPaises) ? datosFormulario.listaPaises.map(it => ({codigo: it.CodPais, valor: it.Nombre})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.listaPA === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    País:

    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Principios activos

    \r\n \r\n {((seleccionFormulario.solo)?\r\n \r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n \r\n \r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBExtranjeros;\r\n","import { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\nconst FBFechas= (props) => {\r\n const fecha = new Date();\r\n fecha.setMonth(fecha.getMonth() - 3);\r\n //const timespanDefault = Math.round(fecha.getTime()/1000);\r\n \r\n\r\n const codigoPagina = props.codigoPagina\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n //inicio: (!props.inicio && !props.fin)? fecha : props.inicio,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n\r\n useEffect(() => {\r\n },[]);\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.inicio){\r\n if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha \", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }else{\r\n res.push ({titulo: \"Fecha \", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio)});\r\n }\r\n }else if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha \", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const clickBuscar = (e) =>{\r\n var newpagina = codigoPagina.substring(1);\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n inicio: null,\r\n fin: null,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fin = origen.fin;\r\n destino.inicio = origen.inicio;\r\n }\r\n\r\n const CambioFecha= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FBFechas;\r\n","const PreviewForma = (props) => {\r\n const idForma = props.idForma;\r\n const color1 = (props.color1 ? props.color1 : \"transparent\");\r\n const color2 = (props.color2 ? props.color2 : \"transparent\");\r\n\r\n const HTMLCirculo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLCuadrado = ( \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLRectangulo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLTriangulo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLPentagono = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLHexagono = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLOvalo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLHuevo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLCorazon = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLDiamante = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLDobleFlecha = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLMediaLuna = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLManzana = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLOctogono = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLRombo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLEsmeralda = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n const HTMLEscudo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n\r\n\r\n const ListaFormas = [\r\n HTMLCirculo,\r\n HTMLCuadrado,\r\n HTMLRectangulo,\r\n HTMLTriangulo,\r\n HTMLPentagono,\r\n HTMLHexagono,\r\n HTMLOvalo,\r\n HTMLHuevo,\r\n HTMLCorazon,\r\n HTMLDiamante,\r\n HTMLDobleFlecha,\r\n HTMLMediaLuna,\r\n HTMLManzana,\r\n HTMLOctogono,\r\n HTMLRombo,\r\n HTMLEsmeralda,\r\n HTMLEscudo,\r\n ]\r\n\r\n\r\n return(\r\n
    \r\n {ListaFormas[idForma-1]}\r\n
    \r\n );\r\n}\r\n\r\nexport default PreviewForma;\r\n\r\n\r\n/*\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n*/","\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, rootPath, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesDG, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC, OpcionesPacientePI, OpcionesPatologiasPI } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport PreviewForma from \"./PreviewForma\";\r\n\r\nconst FBFormaColor= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaFormas: null,\r\n listaColores: null,\r\n listaSabores: null,\r\n listaEnfs: null,\r\n listaPAs: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idForma: props.idForma,\r\n idColor1: props.idColor1,\r\n idColor2: props.idColor2,\r\n idSabor: props.idSabor,\r\n idEnf: props.idEnf,\r\n tamanos: (props.tamanos ? props.tamanos : []),\r\n CO1: props.CO1,\r\n CO2: props.CO2,\r\n col2: props.col2,\r\n anycol: props.anycol,\r\n ranura: props.ranura,\r\n logo: props.logo,\r\n difCol: props.difCol,\r\n solo: (props.solo ? props.solo : true),\r\n ins1: props.ins1,\r\n ins2: props.ins2,\r\n pas: (props.pas ? props.pas : []),\r\n })\r\n const [tipoFF, setTipoFF] = useState(props.tipoFF);\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnfs === null){\r\n DescargaDatos();\r\n } \r\n if (tipoFF !== props.tipoFF)\r\n setTipoFF(props.tipoFF);\r\n var col1 = document.getElementById('Seccion_Color1');\r\n var col1c = document.getElementById('Seccion_Color1_Copia');\r\n var col2 = document.getElementById('Seccion_Color2');\r\n var sab = document.getElementById('Seccion_Sabor');\r\n var ftr = document.getElementById('Seccion_Forma_Tamano_Ranura');\r\n var ins = document.getElementById('Seccion_Inscripciones');\r\n if (col1){\r\n if (props.tipoFF===\"CO\"){\r\n col1.style.display='block';\r\n col1c.style.display='none';\r\n col2.style.display='block';\r\n sab.style.display='block';\r\n ftr.style.display='block';\r\n ins.style.display='block';\r\n }\r\n if (props.tipoFF==='CA'){\r\n col1.style.display='none';\r\n col1c.style.display='block';\r\n col2.style.display='block';\r\n sab.style.display='none';\r\n ftr.style.display='none';\r\n ins.style.display='block';\r\n }\r\n if (props.tipoFF==='JA'){\r\n col1.style.display='none';\r\n col1c.style.display='block';\r\n col2.style.display='none';\r\n sab.style.display='block';\r\n ftr.style.display='none';\r\n ins.style.display='none';\r\n }\r\n }\r\n if (props.tipoFF != tipoFF)\r\n BorraBusqueda();\r\n },[props.tipoFF, datosFormulario, seleccionFormulario]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioFormaColor()\r\n .then((response) => {\r\n var df = {\r\n listaFormas : response.data.Formas,\r\n listaColores : response.data.Colores,\r\n listaSabores : response.data.Sabores,\r\n listaEnfs : response.data.Enfermedades,\r\n listaPAs : response.data.PrincipiosActivos,\r\n };\r\n df.listaSabores.splice(0,0,{Codigo:0, Valor:'Indique un sabor'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique una enfermedad '});\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique un principio activo '});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const getStrColor=(idColor) =>{\r\n if (idColor){\r\n var color = datosFormulario.listaColores.find(col => col.Codigo===idColor)\r\n if (color)\r\n if (color.AuxStr)\r\n return color.AuxStr;\r\n else\r\n return \"transparent\";\r\n else\r\n return \"#FFFFFF\";\r\n }else{\r\n return \"#FFFFFF\";\r\n }\r\n }\r\n\r\n const getStrTamanos=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.tamanos){\r\n for (var i=0; i{\r\n var res = \"\";\r\n if (seleccionFormulario.ins1 && seleccionFormulario.ins1 !== \"\"){\r\n if (res != \"\")\r\n res += \"\\n\";\r\n res += seleccionFormulario.ins1;\r\n }\r\n if (seleccionFormulario.ins2 && seleccionFormulario.ins2 !== \"\"){\r\n if (res != \"\")\r\n res += \"\\n\";\r\n res += seleccionFormulario.ins2;\r\n }\r\n if (seleccionFormulario.logo){\r\n if (res != \"\")\r\n res += \"\\n\";\r\n res += \"Con dibujo\"\r\n }\r\n return res;\r\n }\r\n\r\n const getStrColorDesc=(idColor, co) =>{\r\n var res = \"\";\r\n if (idColor !== \"\" ){\r\n var color = datosFormulario.listaColores.find(col => col.Codigo===idColor)\r\n if (color)\r\n res = upperCaseFirstLetter(color.Valor);\r\n if (co===\"C\") \r\n res += \" claro\";\r\n else if (co===\"O\")\r\n res += \" oscuro\";\r\n }\r\n return res;\r\n }\r\n\r\n const getStrSabor=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.idSabor > 0 ){\r\n var item = datosFormulario.listaSabores.find(col => col.Codigo===seleccionFormulario.idSabor)\r\n if (item)\r\n res = upperCaseFirstLetter(item.Valor);\r\n }\r\n return res;\r\n }\r\n\r\n const getStrIndicacion=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.idEnf > 0 ){\r\n var item = datosFormulario.listaEnfs.find(col => col.Codigo===seleccionFormulario.idEnf)\r\n if (item)\r\n res = upperCaseFirstLetter(item.Valor);\r\n }\r\n return res;\r\n }\r\n\r\n const getStrPrincipiosActivos=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.pas && seleccionFormulario.pas.length > 0 ){\r\n /*for (var i=0; i col.Codigo===seleccionFormulario.pas[i])\r\n if (item)\r\n aux = item.Valor;\r\n if (res === \"\")\r\n res = aux;\r\n else\r\n res += \"\\n\" + aux;\r\n }*/\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res = valor;\r\n }\r\n if (seleccionFormulario.solo) \r\n res += \"\\n Únicamente los principios activos indicados\";\r\n else \r\n res += \"\\n Puede contener otros principios activos \";\r\n }\r\n return res;\r\n }\r\n\r\n const clickCambiaCol2 = (e) =>{\r\n var check = e.target;\r\n var item = GetAntecesorWhithClassName(check, 'checks__full');\r\n item = item.nextSibling;\r\n var content = item.nextSibling;\r\n if (check.checked){\r\n item.classList.add('active');\r\n content.classList.add('active');\r\n }else{\r\n item.classList.remove('active');\r\n content.classList.remove('active');\r\n }\r\n CambiaCol2(check.checked);\r\n }\r\n\r\n const despliegaColor2= (e) =>{\r\n var item = e.target;\r\n item = GetAntecesorWhithClassName(item,'showButton__colors');\r\n var content = item.nextSibling;\r\n item.classList.toggle(\"active\");\r\n content.classList.toggle(\"active\");\r\n }\r\n\r\n const clasesHeaderColor2 = (seleccionFormulario.col2) ? \"showButton showButton__colors active\" : \"showButton showButton__colors\";\r\n const clasesContentColor2 = (seleccionFormulario.col2) ? \"module module__filters showContent active\" : \"module module__filters showContent\";\r\n \r\n const hayBusqueda = seleccionFormulario.idEnf>0 || seleccionFormulario.idForma>0 || seleccionFormulario.idColor1!=='' || seleccionFormulario.idSabor>0 || seleccionFormulario.ins1 !== '' || (seleccionFormulario.pas && seleccionFormulario.pas.length>0);\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BFormaColorMUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n tipoFF: tipoFF,\r\n idForma: seleccionFormulario.idForma,\r\n idColor1: seleccionFormulario.idColor1,\r\n idColor2: seleccionFormulario.idColor2,\r\n idSabor: seleccionFormulario.idSabor,\r\n idEnf: seleccionFormulario.idEnf,\r\n tamanos: seleccionFormulario.tamanos,\r\n CO1: seleccionFormulario.CO1,\r\n CO2: seleccionFormulario.CO2,\r\n ranura: seleccionFormulario.ranura,\r\n logo: seleccionFormulario.logo,\r\n difCol: seleccionFormulario.difCol,\r\n anycol: seleccionFormulario.anycol,\r\n col2: seleccionFormulario.col2,\r\n ins1: seleccionFormulario.ins1,\r\n ins2: seleccionFormulario.ins2,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idForma: 0,\r\n idColor1: '',\r\n idColor2: '',\r\n idSabor: 0,\r\n idEnf: 0,\r\n tamanos: [],\r\n CO1: '',\r\n CO2: '',\r\n ranura: false,\r\n logo: false,\r\n difCol: false,\r\n anycol: false,\r\n col2: false,\r\n ins1: '',\r\n ins2: '',\r\n pas: [],\r\n solo: true,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n\r\n }\r\n\r\n const CambioEnfermedad = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClickForma = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevaSeleccion.idForma === nuevovalor)\r\n nuevaSeleccion.idForma = 0;\r\n else\r\n nuevaSeleccion.idForma = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioForma = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idForma = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClickColor1 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevaSeleccion.idColor1 === nuevovalor)\r\n nuevaSeleccion.idColor1 = '';\r\n else\r\n nuevaSeleccion.idColor1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClickColor2 = (nuevovalor) =>{\r\n if (seleccionFormulario.idColor2 === nuevovalor)\r\n CambioColor2('');\r\n else\r\n CambioColor2(nuevovalor);\r\n }\r\n\r\n const CambioColor1 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idColor1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioColor2 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idColor2 = nuevovalor;\r\n nuevaSeleccion.anycol = false;\r\n nuevaSeleccion.col2 = true;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambioSabor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSabor = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraSabor = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSabor = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddTamano= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.tamanos) { nuevaSeleccion.tamanos = []};\r\n nuevaSeleccion.tamanos.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const RemoveTamano = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.tamanos.indexOf(valor);\r\n nuevaSeleccion.tamanos.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ToggleTamano = (valor) =>{\r\n if (seleccionFormulario.tamanos.includes(valor))\r\n RemoveTamano(valor);\r\n else\r\n AddTamano(valor);\r\n }\r\n\r\n const CambiaCO1= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.CO1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCO2= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.CO2 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n } \r\n\r\n const CambiaRanura= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.ranura = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaLogo= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.logo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaDifCol= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.difCol = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaAnycol= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.anycol = nuevovalor;\r\n if (nuevovalor)\r\n nuevaSeleccion.idColor2 = \"\";\r\n else if (!nuevaSeleccion.idColor2 || nuevaSeleccion.idColor2===\"\")\r\n nuevaSeleccion.col2 = false;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaCol2= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.col2 = nuevovalor;\r\n if ((nuevovalor) && (!nuevaSeleccion.idColor2 || nuevaSeleccion.idColor2 == \"\"))\r\n nuevaSeleccion.anycol = true;\r\n if (!nuevovalor){\r\n nuevaSeleccion.anycol = false;\r\n nuevaSeleccion.idColor2 = \"\";\r\n }\r\n\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambiaSolo= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaIns1= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.ins1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaIns2= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.ins2 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n/*\r\n const AddPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.pas) { nuevaSeleccion.pas = []};\r\n nuevaSeleccion.pas.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.pas.indexOf(parseInt(valor));\r\n nuevaSeleccion.pas.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n*/\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n //ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n //ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n const listaTamanos = [\r\n {\r\n cod: \"P\",\r\n txt: \"<8 mm\",\r\n img: \"forma10size1.svg\",\r\n },\r\n {\r\n cod: \"M\",\r\n txt: \"8-15 mm\",\r\n img: \"forma10size2.svg\",\r\n },\r\n {\r\n cod: \"G\",\r\n txt: \">15 mm\",\r\n img: \"forma10size3.svg\",\r\n },\r\n ]\r\n\r\n\r\n const listaCodValorSabores = (datosFormulario.listaSabores) ? datosFormulario.listaSabores.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorColores = (datosFormulario.listaColores) ? datosFormulario.listaColores.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map (it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map (it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n listaCodValorColores.splice(0,0,{codigo:\"\", valor:''});\r\n listaCodValorColores.splice(0,0,{codigo:\"\", valor:'Selecciones un color'});\r\n\r\n const estiloSeleccionado = {\r\n backgroundColor: \"#f8f0ff\",\r\n borderColor: '#c8a6e5',\r\n }\r\n const estiloTamanoSeleccionado = {\r\n backgroundColor: \"#f8f0ff\",\r\n borderColor: '#c8a6e5',\r\n width: '63px',\r\n height: '63px',\r\n }\r\n const textoTamanoSeleccionado = {\r\n color: '#81509A',\r\n fontWeight: '500',\r\n }\r\n const estiloTamanoVacio = {\r\n width: '63px',\r\n height: '63px',\r\n }\r\n const textoTamanoVacio = {\r\n }\r\n const estiloVacio = { }\r\n\r\n const HTMLFormas = ((datosFormulario.listaFormas) ? \r\n datosFormulario.listaFormas.map(forma =>\r\n
    ClickForma(forma.Codigo)}>\r\n \r\n
    \r\n )\r\n :\r\n
    \r\n );\r\n\r\n const nomForma = (seleccionFormulario.idForma && seleccionFormulario.idForma>0 && datosFormulario.listaFormas ? datosFormulario.listaFormas.find(forma => forma.Codigo === seleccionFormulario.idForma).Valor : '');\r\n\r\n const HTMLTamanos = ((listaTamanos) ? \r\n listaTamanos.map(tam =>\r\n
    ToggleTamano(tam.cod)}>\r\n \r\n
    \r\n )\r\n :\r\n
    \r\n );\r\n\r\n const HTMLColores = ((datosFormulario.listaColores) ?\r\n datosFormulario.listaColores.map(color =>\r\n (color.Codigo !== 'ZY' || tipoFF !== 'CO') ? \r\n \r\n :\r\n <>\r\n )\r\n :\r\n
    \r\n );\r\n\r\n \r\n const HTMLColores2 = ((datosFormulario.listaColores) ?\r\n datosFormulario.listaColores.map(color =>\r\n (color.Codigo !== 'ZY' || tipoFF !== 'CO') ? \r\n \r\n :\r\n <>\r\n )\r\n :\r\n
    \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n const estiloFormaMin = (seleccionFormulario.idForma === 12 ? {width: '9px', marginRight: '14px', marginLeft: '4px'}: {width: '17px', marginRight: '10px', marginLeft: '0px'});\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaEnfs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma:

    \r\n
    \r\n
    \r\n
    \r\n {HTMLFormas}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tamaño:

    \r\n
    \r\n
    \r\n {HTMLTamanos}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Ranura:

    \r\n
    \r\n
    \r\n {(seleccionFormulario.ranura) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Color 1:

    \r\n
    \r\n
    \r\n {HTMLColores} \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(seleccionFormulario.CO1 === 'C') ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.CO1 === 'O') ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Inscripciones:

    \r\n
    \r\n
    \r\n
    \r\n CambiaIns1(e.target.value)} />\r\n
    \r\n
    \r\n CambiaIns2(e.target.value)} />\r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.logo) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Color 1:

    \r\n
    \r\n
    \r\n {HTMLColores} \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.CO1 === 'C') ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.CO1 === 'O') ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    despliegaColor2(e)}>\r\n

    Color 2:

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {HTMLColores2} \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.CO2 === 'C') ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.CO2 === 'O') ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sabor:

    \r\n \r\n \r\n
    \r\n
    \r\n\r\n

    Indicacion:

    \r\n \r\n \r\n
    \r\n
    \r\n

    Composición de búsqueda:

    \r\n
    \r\n {(seleccionFormulario.idForma>0 && tipoFF===\"CO\") ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n {(seleccionFormulario.idForma>0 && tipoFF===\"CO\") ?\r\n
    \r\n
    \r\n

    Forma:

    \r\n
    \r\n
    \r\n

    \r\n \r\n {nomForma}\r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.tamanos && seleccionFormulario.tamanos.length>0 && tipoFF===\"CO\") ?\r\n
    \r\n
    \r\n

    Tamaño:

    \r\n
    \r\n
    \r\n

    {getStrTamanos()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.ranura && tipoFF===\"CO\") ?\r\n
    \r\n
    \r\n

    Ranura:

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(((seleccionFormulario.ins1 && seleccionFormulario.ins1 !== \"\") \r\n || (seleccionFormulario.ins2 && seleccionFormulario.ins2 !== \"\")\r\n || (seleccionFormulario.logo)) \r\n && (tipoFF===\"CO\" || tipoFF===\"CA\")) ?\r\n
    \r\n
    \r\n

    Inscripciones:

    \r\n
    \r\n
    \r\n

    {getStrInscripciones()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.idColor1 && seleccionFormulario.idColor1 !== \"\") \r\n ?\r\n
    \r\n
    \r\n

    Color:

    \r\n
    \r\n
    \r\n

    \r\n {(seleccionFormulario.idColor1 === \"ZY\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n {upperCaseFirstLetter(getStrColorDesc(seleccionFormulario.idColor1, seleccionFormulario.CO1))}\r\n \r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(((seleccionFormulario.idColor2 && seleccionFormulario.idColor2 !== \"\") || seleccionFormulario.col2)\r\n && (tipoFF === \"CO\" || tipoFF === \"CA\"))\r\n ?\r\n
    \r\n
    \r\n

    Color 2:

    \r\n
    \r\n
    \r\n

    \r\n {(seleccionFormulario.anycol) ?\r\n \r\n : (seleccionFormulario.idColor2 === \"ZY\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n {(seleccionFormulario.anycol) ?\r\n \"Cualquiera\"\r\n :\r\n upperCaseFirstLetter(getStrColorDesc(seleccionFormulario.idColor2, seleccionFormulario.CO2))\r\n }\r\n \r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.idSabor > 0 && (tipoFF===\"CO\" || tipoFF===\"JA\")) ?\r\n
    \r\n
    \r\n

    Sabor:

    \r\n
    \r\n
    \r\n

    {getStrSabor()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n\r\n {(seleccionFormulario.idEnf > 0 ) ?\r\n
    \r\n
    \r\n

    Indicación:

    \r\n
    \r\n
    \r\n

    {getStrIndicacion()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n\r\n {(seleccionFormulario.pas && seleccionFormulario.pas.length > 0 ) ?\r\n
    \r\n
    \r\n

    Principios activos:

    \r\n
    \r\n
    \r\n

    {getStrPrincipiosActivos()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.difCol && (tipoFF===\"CO\" || tipoFF===\"CA\")) ?\r\n
    \r\n
    \r\n

    Tiene comprimidos diferentes

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBFormaColor;\r\n /*, backgroundImage:'/img/ficha/transparent.svg', backgroundRepeat:'repeat', backgroundSize:'50%'*/","\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesDG, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC, OpcionesPacientePI, OpcionesPatologiasPI } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\n\r\nconst FBPacienteIndicacion= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnfs: null,\r\n listaMeds: null,\r\n listaAlgs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idEnf: props.idEnf,\r\n idsPat: props.idsPat,\r\n idsMed: props.idsMed,\r\n idsAlg: props.idsAlg,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n ints: props.ints,\r\n edad: props.edad,\r\n undEdad: (props.undEdad ? props.undEdad : 'A'),\r\n ops: (props.ops ? props.ops : []),\r\n })\r\n\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnfs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioPacienteIndicacion()\r\n .then((response) => {\r\n var df = {\r\n listaEnfs : response.data.Enfermedades,\r\n listaMeds : response.data.Medicamentos,\r\n listaAlgs : response.data.Alergias,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n };\r\n df.listaMeds.splice(0,0,{Codigo:0, Valor:'Indique un medicamento o principio activo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique una enfermedad '});\r\n df.listaAlgs.splice(0,0,{Codigo:0, Valor:'Indique una alergia '});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i{\r\n var strValores=[]\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \", \";\r\n else strVal += \"\";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n if (valSel.val === \"NIN\"){\r\n if ((seleccionFormulario.edad>0) && (seleccionFormulario.undEdad) && (seleccionFormulario.undEdad!==\"\")){\r\n strVal += \" de \" + seleccionFormulario.edad.toString() + (seleccionFormulario.undEdad===\"M\" ? \" meses\": \" años\");\r\n }\r\n }\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i{\r\n var strValores=[]\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \", \";\r\n else strVal += \"\";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.idEnf>0){\r\n if (datosFormulario.listaEnfs){\r\n var item = datosFormulario.listaEnfs.find(x => x.Codigo === seleccionFormulario.idEnf);\r\n if (item)\r\n res.push ({titulo: \"Medicamentos indicados para \", valor: item.Valor});\r\n }\r\n\r\n var itemPat = seleccionFormulario.ops.find(item => item.cod===\"PAT\");\r\n if (((seleccionFormulario.idsPat) && (seleccionFormulario.idsPat.length>0)) || itemPat){\r\n if (datosFormulario.listaEnfs){\r\n var valor = obtenDatoResumenPatologias(OpcionesPatologiasPI[0]);\r\n if (seleccionFormulario.idsPat){\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsPat[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: 'Otras patologías del paciente', valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsMed) && (seleccionFormulario.idsMed.length>0)){\r\n if (datosFormulario.listaMeds){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsMed[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Otra medicación del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n var valor = obtenDatoResumenPaciente(OpcionesPacientePI[0]);\r\n if (valor != \"\")\r\n res.push ({titulo: \"Características del paciente\", valor: valor});\r\n \r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsAlg) && (seleccionFormulario.idsAlg.length>0)){\r\n if (datosFormulario.listaAlgs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAlg[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Alergias del paciente\", valor: valor});\r\n }\r\n } \r\n \r\n }\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idEnf>0;\r\n\r\n const clickBuscar = (e) =>{\r\n if ( hayBusqueda){\r\n var newpagina = \"BPacienteIndicacionMUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n idEnf: seleccionFormulario.idEnf,\r\n idsPat: seleccionFormulario.idsPat,\r\n idsMed: seleccionFormulario.idsMed,\r\n idsAlg: seleccionFormulario.idsAlg,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n edad: seleccionFormulario.edad,\r\n undEdad: seleccionFormulario.undEdad,\r\n ints: seleccionFormulario.ints,\r\n ops: seleccionFormulario.ops,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idEnf: 0,\r\n idsPat: [],\r\n idsMed: [],\r\n idsAlg: [],\r\n idVia: 0,\r\n idFF: 0,\r\n edad: 0,\r\n undEdad: '',\r\n ints: [],\r\n ops: [],\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPatologia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsPat) { nuevaSeleccion.idsPat = []};\r\n nuevaSeleccion.idsPat.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePatologia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsPat.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsPat.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddMedicamento = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMed) { nuevaSeleccion.idsMed = []};\r\n nuevaSeleccion.idsMed.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveMedicamento = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsMed.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMed.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAlergia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsAlg) { nuevaSeleccion.idsAlg = []};\r\n nuevaSeleccion.idsAlg.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAlergia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsAlg.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsAlg.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.undEdad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMeds = (datosFormulario.listaMeds) ? datosFormulario.listaMeds.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAlgs = (datosFormulario.listaAlgs) ? datosFormulario.listaAlgs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n /* const HTMLOpcionesPat = OpcionesPatologiasPI.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );*/\r\n\r\n const HTMLPiePat = (\r\n
    \r\n \"tip\"\r\n

    Puede añadir otras enfermedades diferentes a las anteriores buscándolas en el siguiente cuadro

    \r\n
    \r\n );\r\n\r\n const HTMLOpcionesPat = (\r\n
    \r\n it.cod===OpcionesPatologiasPI[0].cod) ? seleccionFormulario.ops.find(it => it.cod===OpcionesPatologiasPI[0].cod).valores : [])}\r\n opcionesCHK = {OpcionesPatologiasPI[0].ops}\r\n titulo = {OpcionesPatologiasPI[0].tit}\r\n idOrigen = {OpcionesPatologiasPI[0].cod}\r\n alCambiar = {CambiaValorCHK}\r\n pie = {HTMLPiePat}\r\n />\r\n
    \r\n );\r\n\r\n const HTMLPiePac = ((seleccionFormulario.ops.find(it=>it.cod===\"PAC\")) \r\n && (seleccionFormulario.ops.find(it=>it.cod===\"PAC\").valores)\r\n && (seleccionFormulario.ops.find(it=>it.cod===\"PAC\").valores.includes(\"NIN\")) ?\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!seleccionFormulario.edad || seleccionFormulario.edad === 0 ?\r\n
    \r\n \"tip\"\r\n

    Debe indicar la edad del niño

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n :\r\n
    \r\n )\r\n\r\n const HTMLOpcionesPac = (\r\n
    \r\n it.cod===OpcionesPacientePI[0].cod) ? seleccionFormulario.ops.find(it => it.cod===OpcionesPacientePI[0].cod).valores : [])}\r\n opcionesCHK = {OpcionesPacientePI[0].ops}\r\n titulo = {OpcionesPacientePI[0].tit}\r\n idOrigen = {OpcionesPacientePI[0].cod}\r\n alCambiar = {CambiaValorCHK}\r\n pie = {HTMLPiePac}\r\n />\r\n
    \r\n );\r\n\r\n/* const HTMLOpcionesPac = OpcionesPacientePI.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n*/\r\n\r\n const HTMLDatosGeneral = (\r\n
    \r\n
    \r\n
    \r\n

    Indicación

    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLColumna1 = (\r\n
    \r\n {HTMLOpcionesPat}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Otros tratamientos

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLColumna2 = (\r\n
    \r\n {HTMLOpcionesPac}\r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n \"tip\"

    Puede seleccionar otras alergias en el listado inferior.

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n \r\n const HTMLDosColumnas = (\r\n
    \r\n
    \r\n

    Características del paciente

    \r\n
    \r\n
    \r\n {HTMLColumna1}\r\n {HTMLColumna2}\r\n
    \r\n
    \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaEnfs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n {HTMLDatosGeneral}\r\n {HTMLDosColumnas}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBPacienteIndicacion;\r\n ","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\nconst FBProblemasSum= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaLab: null,\r\n listaPA: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idLab: props.idLab,\r\n idPA: props.idPA,\r\n medExt: props.medExt,\r\n noSust: props.noSust,\r\n iniciod: props.iniciod,\r\n inicioh: props.inicioh,\r\n find: props.find,\r\n finh: props.finh,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPA === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioProblemasSuministro()\r\n .then((response) => {\r\n var df = {\r\n listaPA : response.data.PrincipiosActivos,\r\n listaLab : response.data.Laboratorios, \r\n };\r\n df.listaLab.splice(0,0,{Codigo:0, Valor:'Indique un laboratorio'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor:'Indique un principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLab){\r\n var item = datosFormulario.listaLab.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.idPA>0){\r\n if (datosFormulario.listaPA){\r\n var item = datosFormulario.listaPA.find(x => x.Codigo === seleccionFormulario.idPA);\r\n if (item)\r\n res.push ({titulo: \"Principio activo\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.iniciod){\r\n if (seleccionFormulario.inicioh){\r\n res.push ({titulo: \"Fecha de inicio del problema\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.iniciod) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicioh)});\r\n }else{\r\n res.push ({titulo: \"Fecha de inicio del problema\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.iniciod)});\r\n }\r\n }else if (seleccionFormulario.inicioh){\r\n res.push ({titulo: \"Fecha de inicio del problema\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicioh)});\r\n }\r\n\r\n if (seleccionFormulario.find){\r\n if (seleccionFormulario.finh){\r\n res.push ({titulo: \"Fecha de finalización prevista del problema\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.find) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.finh)});\r\n }else{\r\n res.push ({titulo: \"Fecha de finalización prevista del problema\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.find)});\r\n }\r\n }else if (seleccionFormulario.finoh){\r\n res.push ({titulo: \"Fecha de finalización prevista del problema\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.finh)});\r\n }\r\n\r\n if (seleccionFormulario.noSust){\r\n res.push({titulo: \"Medicamento no sustituible\"})\r\n }\r\n\r\n if (seleccionFormulario.medExt){\r\n res.push({titulo: \"Medicamento puede obtenerse como medicación extranjera\"})\r\n }\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: 'BProblemasSumMUH',\r\n txt: seleccionFormulario.txt,\r\n idLab: seleccionFormulario.idLab,\r\n idPA: seleccionFormulario.idPA,\r\n iniciod: seleccionFormulario.iniciod,\r\n inicioh: seleccionFormulario.inicioh,\r\n find: seleccionFormulario.find,\r\n finh: seleccionFormulario.finh,\r\n noSust: seleccionFormulario.noSust,\r\n medExt: seleccionFormulario.medExt,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n idLab: 0,\r\n idPA: 0,\r\n iniciod: null,\r\n inicioh: null,\r\n find: null,\r\n finh: null,\r\n noSust: false,\r\n medExt: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.find = origen.find;\r\n destino.finh = origen.finh;\r\n destino.iniciod = origen.iniciod;\r\n destino.inicioh = origen.inicioh;\r\n }\r\n\r\n\r\n const CambioFechaInicio= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.iniciod = inicio;\r\n nuevaSeleccion.inicioh = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaFin= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.find = inicio;\r\n nuevaSeleccion.finh = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambioPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraPA = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCheckMedExt = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.medExt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCheckNoSust = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.noSust = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n const listaCodValorLab = (datosFormulario.listaLab) ? datosFormulario.listaLab.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.medExt) ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.noSust) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBProblemasSum;\r\n","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport VolverCabeceraResultados from \"../../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport { GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\n\r\nconst FBReaccionesAdversas= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnf: null,\r\n listaMed: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idEpi: (props.idEpi ? props.idEpi : 7),\r\n idsEnfs: props.idsEnfs,\r\n idsMeds: props.idsMeds,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnf === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioReaccionesAdversas()\r\n .then((response) => {\r\n var df = {\r\n listaEnf : response.data.Enfermedades,\r\n listaMed : response.data.Medicamentos,\r\n };\r\n df.listaEnf.splice(0,0,{Codigo:0, Valor:'Indique un síntoma o enfermedad'});\r\n df.listaMed.splice(0,0,{Codigo:0, Valor:'Indique una medicamento o principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const TituloByEpicod = (epi) =>{\r\n var res = '';\r\n switch (epi){\r\n case 3:\r\n res = 'Indicaciones';\r\n break;\r\n case 7:\r\n res = 'Reacciones adversas';\r\n break;\r\n case 13:\r\n res = 'Contraindicaciones';\r\n break;\r\n case 14:\r\n res = 'Uso precautorio';\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n\r\n if ((seleccionFormulario.idsEnfs) && (seleccionFormulario.idsEnfs.length>0)){\r\n if (datosFormulario.listaEnf){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsEnfs[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: TituloByEpicod(seleccionFormulario.idEpi), valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsMeds) && (seleccionFormulario.idsMeds.length>0)){\r\n if (datosFormulario.listaMed){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsMeds[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Medicamentos / Principios activos\", valor: valor});\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idsEnfs && seleccionFormulario.idsEnfs.length>0 && seleccionFormulario.idsMeds && seleccionFormulario.idsMeds.length>0; \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: 'BReaccionesAdversasMUH',\r\n idEpi: seleccionFormulario.idEpi,\r\n idsEnfs: seleccionFormulario.idsEnfs,\r\n idsMeds: seleccionFormulario.idsMeds,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idEpi: 7,\r\n idsEnfs: [],\r\n idsMeds: [],\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEpi = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddEnfermedad = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsEnfs) { nuevaSeleccion.idsEnfs = []};\r\n nuevaSeleccion.idsEnfs.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsEnfs.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsEnfs.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddMedicamento = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMeds) { nuevaSeleccion.idsMeds = []};\r\n nuevaSeleccion.idsMeds.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveMedicamento = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsMeds.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMeds.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%'} : {height:'76px', width:'100%', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n const listaCodValorEnf = (datosFormulario.listaEnf) ? datosFormulario.listaEnf.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMed = (datosFormulario.listaMed) ? datosFormulario.listaMed.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2\";\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n

    Síntomas / Enfermedades:

    \r\n \r\n
    \r\n
    \r\n {/*

    Relación:

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    */}\r\n

    Medicamentos y/o Principios activos

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBReaccionesAdversas;\r\n","import { elementIsOfClass, RemoveClassNameToDoubleClassItems, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst AcordeonN1 = (props) => {\r\n const clasDiv = (props.activo ? \"accordion__module active\" : \"accordion__module\")\r\n var htmlTitulo = (props.ocultaCodigo) ? \r\n () \r\n : ()\r\n var htmlArrow = (\"arrowGreen2\");\r\n var claseContenido = \"accordion__content pad20\";\r\n\r\n const handleClickAcordeonHeader = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__header__check'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n const handleClickAcordeonCheck = (e) =>{\r\n var item = e.target;\r\n e.stopPropagation();\r\n var parent = item.parentElement;\r\n RemoveClassNameToDoubleClassItems('active','titulo__rama__arbol','active');\r\n var checks = document.getElementsByClassName('check__rama__arbol');\r\n for (var i = 0; i \r\n
    handleClickAcordeonHeader(e)}>\r\n {(props.contenido) ?\r\n {htmlArrow}\r\n :\r\n \r\n } \r\n
    \r\n {(props.checked) || (props.codigo===props.valueSelected) ?\r\n handleClickAcordeonCheck(e)} checked />\r\n : \r\n handleClickAcordeonCheck(e)} />\r\n }\r\n {htmlTitulo}\r\n
    \r\n
    \r\n {(props.contenido) ?\r\n
    \r\n {props.contenido}\r\n
    \r\n :\r\n
    \r\n }\r\n \r\n )\r\n}\r\nexport default AcordeonN1;\r\n","import { elementIsOfClass, RemoveClassNameToClassItems, RemoveClassNameToDoubleClassItems, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst AcordeonN2 = (props) => {\r\n const clasDiv = props.clasDiv;\r\n var htmlTitulo = (props.ocultaCodigo) ? \r\n ()\r\n :()\r\n //var htmlArrow = (\"arrowGreen2\");\r\n var claseContenido = \"accordion__mas__content\";\r\n var estiloContenido = {display: 'block', paddingTop: '2px', paddingBottom: '0px'};\r\n\r\n const handleClickAcordeonHeader = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__mas__header'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n\r\n const handleClickAcordeonCheck = (e) =>{\r\n var item = e.target;\r\n e.stopPropagation();\r\n var parent = item.parentElement;\r\n RemoveClassNameToDoubleClassItems('active','titulo__rama__arbol','active');\r\n var checks = document.getElementsByClassName('check__rama__arbol');\r\n for (var i = 0; i \r\n
    handleClickAcordeonHeader(e)}>\r\n
    \r\n {(props.checked) || (props.codigo===props.valueSelected) ?\r\n handleClickAcordeonCheck(e)} checked />\r\n : \r\n handleClickAcordeonCheck(e)} />\r\n } \r\n {htmlTitulo}\r\n
    \r\n
    \r\n
    \r\n {props.contenido}\r\n
    \r\n \r\n )\r\n}\r\nexport default AcordeonN2;\r\n","import AcordeonN2 from \"./AcordeonN2/AccordeonN2\";\r\n\r\nfunction RamaSecundaria(props){\r\n const item = props.item; \r\n const codigo = item.Codigo\r\n const titulo = (props.ocultaCodigo) ? item.Valor : item.Valor.substring(codigo.length).trim();\r\n// const contenidoHTML = item.hijos.map(hijo =>
    {hijo.Valor}
    ) \r\n// const contenidoHTML = (item.hijos) ? item.hijos.map(hijo =>

    {hijo.Valor}

    ) :
    \r\n const contenidoHTML = (item.hijos) ? item.hijos.map(hijo => ) :
    \r\n const clasDiv = \r\n ((item.abierta && item.hijos && item.hijos.length>0) ? \r\n \"accordion__mas active\" \r\n : (item.abierta) ?\r\n \"accordion__mas accordion__mas__only active\" \r\n : (item.hijos && item.hijos.length>0) ?\r\n \"accordion__mas\" \r\n : \r\n \"accordion__mas accordion__mas__only\" \r\n );\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default RamaSecundaria;\r\n","import AcordeonN1 from \"./AcordeonN1/AcordeonN1\";\r\nimport RamaSecundaria from \"./RamaSecundaria\";\r\n\r\nfunction RamaPrincipal(props){\r\n const item = props.item; \r\n const codigo = item.Codigo\r\n const titulo = (props.ocultaCodigo) ? item.Valor : item.Valor.substring(codigo.length).trim();\r\n const contenidoHTML = (item.hijos) ? item.hijos.map(hijo => ) : null ;\r\n //const contenidoHTML = item.hijos.map(hijo =>
    {hijo.Valor}
    )\r\n return (\r\n \r\n )\r\n}\r\nexport default RamaPrincipal;\r\n","\r\nfunction OptionSelect({opt}){\r\n if (opt != null){\r\n return (\r\n \r\n ) \r\n }\r\n else return null;\r\n}\r\n\r\nexport default OptionSelect;","import { useEffect, useState } from \"react\";\r\nimport { deepEqual } from \"../../../../services/utils\";\r\nimport RamaPrincipal from \"./RamaPrincipal\";\r\n\r\nfunction SelectorTree(props){\r\n const [propiedades, setPropiedades] = useState({\r\n arbol: props.arbol,\r\n valueSelected: props.valueSelected,\r\n textSelected: '',\r\n });\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n\r\n const idInput = \"Input__\" + idHTML;\r\n \r\n \r\n useEffect(() => {\r\n var textSelected = props.textSelected;\r\n if ((props.arbol) && (props.valueSelected) && (props.valueSelected !== '')){\r\n for (var i1=0; i1< props.arbol.length; i1++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].Codigo)===0 && (props.valueSelected !== props.arbol[i1].Codigo)){\r\n props.arbol[i1].abierta = true;\r\n for (var i2=0; i2< props.arbol[i1].hijos.length; i2++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].hijos[i2].Codigo)===0 && (props.valueSelected !== props.arbol[i1].hijos[i2].Codigo)){\r\n props.arbol[i1].hijos[i2].abierta = true;\r\n for (var i3=0; i3< props.arbol[i1].hijos[i2].hijos.length; i3++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].hijos[i2].hijos[i3].Codigo)===0 && (props.valueSelected !== props.arbol[i1].hijos[i2].hijos[i3].Codigo)){\r\n props.arbol[i1].hijos[i2].hijos[i3].abierta = true;\r\n for (var i4=0; i4< props.arbol[i1].hijos[i2].hijos[i3].hijos.length; i4++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Codigo)===0 && (props.valueSelected !== props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Codigo)){\r\n props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].abierta = true;\r\n for (var i5=0; i5< props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].hijos.length; i5++){\r\n if (props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].hijos[5].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].hijos[5].Valor\r\n }\r\n }\r\n if (props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Valor\r\n }\r\n }\r\n if (props.arbol[i1].hijos[i2].hijos[i3].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].hijos[i3].Valor\r\n }\r\n }\r\n if (props.arbol[i1].hijos[i2].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].Valor\r\n }\r\n }\r\n if (props.arbol[i1].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].Valor\r\n }\r\n }\r\n //if (props.textSelected === '' && props.valueSelected !== '' && textSelected !== '') \r\n if (props.textSelected === '' && props.valueSelected !== '' && textSelected !== '') \r\n cambiaSeleccion(valueSelected, textSelected.substring(props.valueSelected.length));\r\n setPropiedades({\r\n arbol: props.arbol,\r\n valueSelected: props.valueSelected,\r\n textSelected: textSelected,\r\n })\r\n \r\n }, [props.arbol, props.valueSelected]);\r\n\r\n\r\n const cambiaSeleccion = (codigo, valor) =>{\r\n if (codigo !== \"\"){\r\n var texto = valor; \r\n if (!props.ocultaCodigo)\r\n texto = codigo + ' ' + valor; \r\n }\r\n props.alCambiar(codigo,valor);\r\n }\r\n\r\n if ((props.arbol) && (props.arbol.length===1)){\r\n props.arbol[0].abierta=true;\r\n }\r\n\r\n const arbolHTML = ((propiedades.arbol) && (propiedades.arbol.length>0)) ?\r\n propiedades.arbol.slice(0,300).map(item => )\r\n :
    \r\n\r\n return (\r\n
    \r\n {arbolHTML}\r\n
    \r\n )\r\n}\r\nexport default SelectorTree;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport Selector from \"../../Utilidades/Selector/Selector\";\r\nimport SelectorMultiple from \"../../Utilidades/Selector/SelectorMultiple\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport SelectorMulti from \"../../Utilidades/Selector/SelectorMulti\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorTree from \"../../Utilidades/Selector/SelectorArbol/SelectorTree\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\n\r\nconst FBTest= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n arbol: null,\r\n lista1: null,\r\n lista2: null,\r\n lista3: null,\r\n lista4: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n itemA: (props.idA) ? {codigo : props.idA, valor : ''} : null,\r\n idL1: props.idL1,\r\n idL2: props.idL2,\r\n idsL3: props.idsL3,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n snx: props.snx,\r\n edad: props.edad,\r\n unidad: props.unidad,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n num: 35,\r\n pas: (props.pas ? props.pas : []),\r\n pasolo: (props.pasolo ? props.pasolo : []),\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.arbol === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioTest()\r\n .then((response) => {\r\n var df = {\r\n arbol : [response.data.Dietoterapicos],\r\n lista1 : response.data.Sabores,\r\n lista2 : JSON.parse(JSON.stringify(response.data.Sabores)),\r\n lista3 : response.data.NombresMeds, \r\n lista4 : response.data.Enfermedades, \r\n listaPA : response.data.PrincipiosActivos,\r\n };\r\n df.lista1.splice(0,0,{Codigo:0, Valor:'Seleccione un valor'});\r\n df.lista2.splice(0,0,{Codigo:0, Valor:'Seleccione un valor'});\r\n df.lista3.splice(0,0,{Codigo:0, Valor:'Seleccione valores'});\r\n df.lista4.splice(0,0,{Codigo:0, Valor:'Seleccione enfermedad'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor: 'Seleccione componente'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.itemA != null){\r\n res.push ({titulo: \"Arbol\", valor: seleccionFormulario.itemA.codigo + ' ' + seleccionFormulario.itemA.valor})\r\n }\r\n if (seleccionFormulario.idL1>0){\r\n if (datosFormulario.lista1){\r\n var item = datosFormulario.lista1.find(x => x.Codigo === seleccionFormulario.idL1);\r\n if (item)\r\n res.push ({titulo: \"Lista 1\", valor: item.Valor});\r\n }\r\n }\r\n if (seleccionFormulario.idL2>0){\r\n if (datosFormulario.lista2){\r\n var item = datosFormulario.lista2.find(x => x.Codigo === seleccionFormulario.idL2);\r\n if (item)\r\n res.push ({titulo: \"Lista 2\", valor: item.Valor});\r\n }\r\n }\r\n if ((seleccionFormulario.idsL3) && (seleccionFormulario.idsL3.length>0)){\r\n if (datosFormulario.lista3){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsL3[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Lista 3\", valor: valor});\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const clickBuscar = (e) =>{\r\n const datosnuevapagina = {\r\n newpagina: 'BTest',\r\n idA: (seleccionFormulario.itemA) ? seleccionFormulario.itemA.codigo : '',\r\n idL1: seleccionFormulario.idL1,\r\n idL2: seleccionFormulario.idL2,\r\n idsL3: seleccionFormulario.idsL3,\r\n snx: seleccionFormulario.snx,\r\n edad: seleccionFormulario.edad,\r\n unidad: seleccionFormulario.unidad,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n enfsRel: seleccionFormulario.enfsRel,\r\n pas: seleccionFormulario.pas,\r\n pasolo: seleccionFormulario.pasolo,\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n itemA: null,\r\n idL1: 0,\r\n idL2: 0,\r\n idsL3: [],\r\n snx: 'X',\r\n edad: null,\r\n unidad: '',\r\n inicio: null,\r\n fin: null,\r\n num: 0,\r\n enfsRel : [],\r\n pas : [],\r\n pasolo : true,\r\n }\r\n //let df = JSON.parse(JSON.stringify(datosFormulario));\r\n //setDatosFormulario(df);\r\n setSeleccionFormulario(formularioVacio);\r\n }\r\n\r\n const CambioNumero = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.num = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambioSNX = (nuevoSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.snx = nuevoSNX;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.unidad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechas= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaArbol = (nuevovalor, nuevoTexto) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevovalor !== '')\r\n nuevaSeleccion.itemA = {codigo: nuevovalor, valor: nuevoTexto};\r\n else\r\n nuevaSeleccion.itemA = null;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLista1 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idL1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLista2 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idL2 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLista2 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idL2 = null;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddItemLista3 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idsL3.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveItemLista3 = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsL3.indexOf(valor);\r\n nuevaSeleccion.idsL3.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateEnfermedad = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var item = nuevaSeleccion.enfsRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.enfsRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.enfsRel = nuevaSeleccion.enfsRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => item.codigo!==idPA);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pasolo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClearLista3 = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idsL3 = [];\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const listaCodValor1 = (datosFormulario.lista1) ? datosFormulario.lista1.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValor2 = (datosFormulario.lista2) ? datosFormulario.lista2.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValor3 = (datosFormulario.lista3) ? datosFormulario.lista3.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValor4 = (datosFormulario.lista4) ? datosFormulario.lista4.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()}>\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sabores

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Tipo selector de una opcion\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Tipo selector de muchas opciones\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Edad

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBTest;\r\n\r\n/*\r\n
    \r\n \r\n
    \r\n*/","import RamaArbol3 from \"./RamaArbol3\";\r\n\r\nfunction ItemRamaArbol3(props){\r\n\r\n const item = props.item;\r\n const abierto = item.abierto;\r\n const hijos = item.hijos;\r\n const nombre = item.valor;\r\n const codigo = item.codigo;\r\n const seleccionado = item.seleccionado;\r\n const tieneHijos = item.tieneHijos;\r\n\r\n const accion = (abierto ? props.cierraRama :props.abreRama)\r\n\r\n var clasesDiv = \"accordion__mas\";\r\n var clasesSubdiv = \"text titulo__rama__arbol\";\r\n if (abierto) clasesDiv += \" active\";\r\n if (!tieneHijos)\r\n clasesDiv += \" accordion__mas__only\";\r\n\r\n if (seleccionado) clasesSubdiv += \" active2\";\r\n\r\n const estilodisabled = (item.disabled) ? {backgroundColor: '#D6D2D2', border: '1px solid #d6d2d2'} : {}\r\n const estilodisabledtexto = (item.disabled) ? {color: '#D6D2D2'} : {}\r\n\r\n const miHTML = (\r\n
    \r\n
    accion(codigo)}>\r\n
    \r\n props.cambiaSeleccion(e.target.checked,codigo,nombre)}/>\r\n \r\n
    \r\n
    \r\n
    \r\n {(abierto)?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {miHTML}\r\n
    \r\n )\r\n}\r\nexport default ItemRamaArbol3;\r\n","import ItemRamaArbol3 from \"./ItemRamaArbol3\";\r\n\r\nfunction RamaArbol3(props){\r\n const arbol = props.arbol;\r\n\r\n const arbolHTML = (((arbol) && (arbol.length>0)) ?\r\n arbol.map(item => \r\n \r\n )\r\n : \r\n <>\r\n );\r\n\r\n return (\r\n
    \r\n {arbolHTML}\r\n
    \r\n )\r\n}\r\nexport default RamaArbol3;\r\n","\r\nimport { useEffect, useState } from \"react\";\r\nimport { rootPath } from \"../../../../services/utils\";\r\nimport RamaArbol3 from \"./RamaArbol3\";\r\n\r\nfunction SelectorArbolM(props){\r\n const [datosSeleccion, setDatosSeleccion] = useState({\r\n valorSeleccionado: props.valorSeleccionado,\r\n texto: props.texto\r\n });\r\n const [listaCompleta, setListaCompleta] = useState(props.listaCompleta);\r\n const [listaFiltrada, setListaFiltrada] = useState([]);\r\n const [numMostrar, setNumMostrar] = useState(20);\r\n var bMostrarMas = (listaFiltrada.length>=numMostrar);\r\n\r\n const codigoJerarquico = props.codigoJerarquico;\r\n\r\n useEffect(() => {\r\n /*if ((props.valorSeleccionado && props.valorSeleccionado !== datosSeleccion.valorSeleccionado) \r\n || (props.texto && props.texto !== datosSeleccion.texto)\r\n || (props.listaCompleta && props.listaCompleta != listaCompleta)){*/\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevaSeleccion.valorSeleccionado = props.valorSeleccionado ? props.valorSeleccionado : '';\r\n nuevaSeleccion.texto = props.texto;\r\n var nuevalistafiltrada = filtraLista(props.listaCompleta,props.valorSeleccionado, props.texto);\r\n setListaCompleta(props.listaCompleta);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevaSeleccion);\r\n /*}*/\r\n }, [props.valorSeleccionado, props.texto, props.listaCompleta,numMostrar]);\r\n\r\n\r\n const filtraLista = (lista, valor, texto) =>{\r\n if (valor && valor != ''){\r\n return filtraValorSeleccionado(lista, valor);\r\n }else{\r\n return filtraListaConTexto(lista, texto);\r\n }\r\n }\r\n\r\n const filtraListaConTexto = (lista, texto) =>{\r\n\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var listaLlena = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !listaLlena){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n nuevalista.push(newitem);\r\n listaLlena = nuevalista.length>=numMostrar;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!listaLlena)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = listaLlena;\r\n return nuevalista;\r\n }\r\n\r\n const filtraValorSeleccionado = (lista, seleccion) =>{\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !encontrado){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n nuevalista.push(newitem);\r\n encontrado=true;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = false;\r\n return nuevalista;\r\n }\r\n\r\n const abreRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n var pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n pendientes = [];\r\n pendientes.push(listaCompleta);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaCompleta = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n if (codigoJerarquico){\r\n if (EsCodigoPadre(currentlista[i].Codigo,codigoRama)){\r\n pendientes.push(currentlista[i].hijos); \r\n }\r\n }else{\r\n pendientes.push(currentlista[i].hijos);\r\n } \r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada && itemListaCompleta){\r\n itemListaFiltrada.hijos = [];\r\n if (itemListaCompleta.hijos && itemListaCompleta.hijos.length>0){\r\n for (var i=0; i0),\r\n }\r\n itemListaFiltrada.hijos.push(newitem);\r\n }\r\n itemListaFiltrada.abierto = true;\r\n }\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const cierraRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n const pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada){\r\n itemListaFiltrada.hijos = [];\r\n itemListaFiltrada.abierto = false;\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const itemContieneTxt = (item, txt) =>{\r\n txt = txt.replace('/',' ').replace(',', ' ').replace('\\\\',' ').replace('-',' ');\r\n var textoSeparado = txt.split(' ');\r\n var res = true;\r\n for (var i=0; i{\r\n if (txt){\r\n txt = txt.trim().toLowerCase();\r\n var txt2 = ' ' + txt;\r\n return ((item.Codigo.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt2)>=0))\r\n }else return true;\r\n }\r\n\r\n const EsCodigoPadre = (padre, hijo) =>{\r\n if ((hijo) && (hijo !== \"\")){\r\n if (padre && padre !== \"\"){\r\n var res = (hijo.indexOf(padre)===0);\r\n if (!res){\r\n res = (padre === \"0\" \r\n &&(hijo.indexOf(\"1\")===0\r\n || hijo.indexOf(\"2\")===0\r\n || hijo.indexOf(\"3\")===0\r\n || hijo.indexOf(\"4\")===0\r\n )\r\n );\r\n }\r\n return res;\r\n }else return false;\r\n }else return false;\r\n }\r\n\r\n const cambiaTexto = (newtxt) =>{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevosDatosSeleccion.texto = newtxt;\r\n var nuevalistafiltrada = filtraListaConTexto(listaCompleta,newtxt);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevosDatosSeleccion); \r\n props.cambiaTxt(newtxt); \r\n }\r\n\r\n const cambiaSeleccion = (checked, codigo, valor) =>{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n if (checked)\r\n nuevosDatosSeleccion.valorSeleccionado = valor;\r\n else\r\n nuevosDatosSeleccion.valorSeleccionado = '';\r\n setDatosSeleccion(nuevosDatosSeleccion);\r\n if (checked)\r\n props.alCambiar(codigo,valor);\r\n else\r\n props.alCambiar('','');\r\n }\r\n\r\n const muestraMas = () =>{\r\n setNumMostrar(numMostrar + 20);\r\n }\r\n\r\n const arbolHTML = \r\n\r\n return (\r\n
    \r\n
    \r\n \"eliminar\"\r\n
    \r\n \r\n cambiaTexto(e.target.value)} style={{maxWidth:'600px'}}/> \r\n
    \r\n
    \r\n {arbolHTML}\r\n
    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorArbolM;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems, RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorArbol2 from \"../../Utilidades/Selector/SelectorArbol2/SelectorArbol2\";\r\nimport SelectorArbol3 from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbol3\";\r\n\r\nconst FBusquedaArbol = (props) => {\r\n //const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n const [arbol, setArbol] = useState([]);\r\n const [refresh, setRefresh] = useState(1);\r\n const [txt, setTxt] = useState('');\r\n\r\n var seleccionado = datosFormulario.seleccionado;\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n const cambiaSeleccion = (cod, texto) => {\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = cod;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n useEffect(() => {\r\n if ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux, datosFormulario.seleccionado, 20)\r\n .then((response) => {\r\n if (props.datosFormulario.tipoForm === \"FBGTVMPPMUH\"){\r\n props.datosFormulario.descarga(tipo, aux, '', 0)\r\n .then((response) => {\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n })\r\n }\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n //ConstruyeArbol(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const cambiaTxt = (newtxt) =>{\r\n setTxt(newtxt);\r\n }\r\n\r\n const hayBusqueda= datosFormulario.seleccionado != '';\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: datosFormulario.seleccionado,\r\n })\r\n }\r\n }\r\n\r\n const setCheckedFalse = (r) =>{\r\n if (r){\r\n for (var i=0; i{\r\n setTxt('');\r\n cambiaSeleccion('','');\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n\r\n return (\r\n
    \r\n\r\n { ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n {(datosFormulario.tipoForm === \"FBGTVMPPMUH\")?\r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n :\r\n <>\r\n }\r\n {/**/}\r\n {/**/}\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaArbol;\r\n","\r\nimport { useEffect, useState } from \"react\";\r\nimport { rootPath } from \"../../../../services/utils\";\r\nimport RamaArbol3 from \"./RamaArbol3\";\r\n\r\nfunction SelectorArbol3(props){\r\n const [datosSeleccion, setDatosSeleccion] = useState({\r\n valuesSelected: props.valuesSelected,\r\n texto: props.texto\r\n });\r\n const [listaCompleta, setListaCompleta] = useState(props.listaCompleta);\r\n const [listaFiltrada, setListaFiltrada] = useState([]);\r\n const [numMostrar, setNumMostrar] = useState(20);\r\n var bMostrarMas = (listaFiltrada.length>=numMostrar);\r\n\r\n const codigoJerarquico = props.codigoJerarquico;\r\n\r\n useEffect(() => {\r\n /*if ((props.valorSeleccionado && props.valorSeleccionado !== datosSeleccion.valorSeleccionado) \r\n || (props.texto && props.texto !== datosSeleccion.texto)\r\n || (props.listaCompleta && props.listaCompleta != listaCompleta)){*/\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevaSeleccion.valuesSelected = props.valuesSelected ? props.valuesSelected : [];\r\n nuevaSeleccion.texto = props.texto;\r\n var nuevalistafiltrada = filtraLista(props.listaCompleta,props.valuesSelected, props.texto);\r\n setListaCompleta(props.listaCompleta);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevaSeleccion);\r\n /*}*/\r\n }, [props.valuesSelected, props.texto, props.listaCompleta,numMostrar]);\r\n\r\n\r\n const filtraLista = (lista, valores, texto) =>{\r\n /*if (valor && valor != ''){\r\n return filtraValorSeleccionado(lista, valor);\r\n }else{*/\r\n return filtraListaConTexto(lista, texto, valores);\r\n /*}*/\r\n }\r\n\r\n const filtraListaConTexto = (lista, texto, valores) =>{\r\n\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var listaLlena = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !listaLlena){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n if (newitem.abierto){\r\n newitem.hijos = [];\r\n if (currentlista[i].hijos && currentlista[i].hijos.length>0){\r\n for (var j=0; j0),\r\n }\r\n if (newitem2.abierto){\r\n newitem2.hijos = [];\r\n if (currentlista[i].hijos[j].hijos && currentlista[i].hijos[j].hijos.length>0){\r\n for (var k=0; k0),\r\n }\r\n if (newitem3.abierto){\r\n newitem3.hijos = [];\r\n if (currentlista[i].hijos[j].hijos[k].hijos && currentlista[i].hijos[j].hijos[k].hijos.length>0){\r\n for (var l=0; l0),\r\n }\r\n if (newitem4.abierto){\r\n newitem4.hijos = [];\r\n if (currentlista[i].hijos[j].hijos[k].hijos[l].hijos && currentlista[i].hijos[j].hijos[k].hijos[l].hijos.length>0){\r\n for (var m=0; m0),\r\n }\r\n newitem4.hijos.push(newitem5);\r\n }\r\n }\r\n }\r\n newitem3.hijos.push(newitem4);\r\n }\r\n }\r\n }\r\n newitem2.hijos.push(newitem3);\r\n }\r\n }\r\n }\r\n newitem.hijos.push(newitem2);\r\n }\r\n }\r\n }\r\n nuevalista.push(newitem);\r\n listaLlena = nuevalista.length>=numMostrar;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!listaLlena)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = listaLlena;\r\n return nuevalista;\r\n }\r\n\r\n const filtraValorSeleccionado = (lista, seleccion) =>{\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !encontrado){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n nuevalista.push(newitem);\r\n encontrado=true;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = false;\r\n return nuevalista;\r\n }\r\n\r\n const abreRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n var pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n pendientes = [];\r\n pendientes.push(listaCompleta);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaCompleta = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n if (codigoJerarquico){\r\n if (EsCodigoPadre(currentlista[i].Codigo,codigoRama)){\r\n pendientes.push(currentlista[i].hijos); \r\n }\r\n }else{\r\n pendientes.push(currentlista[i].hijos);\r\n } \r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada && itemListaCompleta){\r\n itemListaFiltrada.hijos = [];\r\n if (itemListaCompleta.hijos && itemListaCompleta.hijos.length>0){\r\n for (var i=0; i0),\r\n }\r\n itemListaFiltrada.hijos.push(newitem);\r\n }\r\n itemListaFiltrada.abierto = true;\r\n }\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const cierraRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n const pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada){\r\n itemListaFiltrada.hijos = [];\r\n itemListaFiltrada.abierto = false;\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const itemContieneTxt = (item, txt) =>{\r\n txt = txt.replace('/',' ').replace(',', ' ').replace('\\\\',' ').replace('-',' ');\r\n var textoSeparado = txt.split(' ');\r\n var res = true;\r\n for (var i=0; i{\r\n if (txt){\r\n txt = txt.trim().toLowerCase();\r\n var txt2 = ' ' + txt;\r\n return ((item.Codigo.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt2)>=0))\r\n }else return true;\r\n }\r\n\r\n const EsCodigoPadre = (padre, hijo) =>{\r\n if ((hijo) && (hijo !== \"\")){\r\n if (padre && padre !== \"\"){\r\n var res = (hijo.indexOf(padre)===0);\r\n if (!res){\r\n res = (padre === \"0\" \r\n &&(hijo.indexOf(\"1\")===0\r\n || hijo.indexOf(\"2\")===0\r\n || hijo.indexOf(\"3\")===0\r\n || hijo.indexOf(\"4\")===0\r\n )\r\n );\r\n }\r\n return res;\r\n }else return false;\r\n }else return false;\r\n }\r\n\r\n const EsAlgunCodigoPadre = (padre, hijos) =>{\r\n if (hijos && hijos.length>0){\r\n var res = false;\r\n for(var i=0; i{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevosDatosSeleccion.texto = newtxt;\r\n var nuevalistafiltrada = filtraListaConTexto(listaCompleta,newtxt);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevosDatosSeleccion); \r\n props.cambiaTxt(newtxt); \r\n }\r\n\r\n const cambiaSeleccion = (checked, codigo, valor) =>{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n if (checked)\r\n nuevosDatosSeleccion.valuesSelected.push(codigo);\r\n else{\r\n var idx = nuevosDatosSeleccion.valuesSelected.indexOf(codigo);\r\n if (idx>0)\r\n nuevosDatosSeleccion.valuesSelected.splice(idx,1);\r\n }\r\n setDatosSeleccion(nuevosDatosSeleccion);\r\n if (checked)\r\n props.alAnadir(codigo,valor);\r\n else\r\n props.alBorrar(codigo,valor);\r\n }\r\n\r\n const muestraMas = () =>{\r\n setNumMostrar(numMostrar + 20);\r\n }\r\n\r\n const arbolHTML = \r\n\r\n return (\r\n
    \r\n
    \r\n \"eliminar\"\r\n
    \r\n \r\n cambiaTexto(e.target.value)} style={{maxWidth:'600px'}}/> \r\n
    \r\n
    \r\n {arbolHTML}\r\n
    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorArbol3;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems, RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorArbolM from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbolM\";\r\nimport SelectorArbol3 from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbol3\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\n\r\n\r\nconst FBusquedaArbolMultiple = (props) => {\r\n //const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n const [arbol, setArbol] = useState([]);\r\n const [refresh, setRefresh] = useState(1);\r\n const [txt, setTxt] = useState('');\r\n\r\n var seleccionados = datosFormulario.seleccionados;\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n const codigoJerarquico = datosFormulario.tipoForm===\"FBGTATCMUH\" || datosFormulario.tipoForm===\"FBGTATCMUV\" || datosFormulario.tipoForm===\"FBGTConPPF\" || datosFormulario.tipoForm===\"FBGTSanPPF\";\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n\r\n /*const cambiaSeleccion = (cod, texto) => {\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = cod;\r\n setDatosFormulario(nuevaSeleccion);\r\n }*/\r\n\r\n const AddValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n if (!nuevaSeleccion.seleccionados) { nuevaSeleccion.seleccionados = []};\r\n nuevaSeleccion.seleccionados.push(nuevovalor);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveValor = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n var i = nuevaSeleccion.seleccionados.indexOf(valor);\r\n nuevaSeleccion.seleccionados.splice(i,1);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n if ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux, datosFormulario.seleccionado, 20)\r\n .then((response) => {\r\n if (props.datosFormulario.tipoForm === \"FBGTVMPPMUH\"){\r\n props.datosFormulario.descarga(tipo, aux, '', 0)\r\n .then((response) => {\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n })\r\n }\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n //ConstruyeArbol(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const cambiaTxt = (newtxt) =>{\r\n setTxt(newtxt);\r\n }\r\n\r\n const EsCodigoPadre = (padre, hijo) =>{\r\n if ((hijo) && (hijo !== \"\")){\r\n if (padre && padre !== \"\"){\r\n var res = (hijo.indexOf(padre)===0);\r\n if (!res){\r\n res = (padre === \"0\" \r\n &&(hijo.indexOf(\"1\")===0\r\n || hijo.indexOf(\"2\")===0\r\n || hijo.indexOf(\"3\")===0\r\n || hijo.indexOf(\"4\")===0\r\n )\r\n );\r\n }\r\n return res;\r\n }else return false;\r\n }else return false;\r\n }\r\n\r\n const buscaItemArbol = (listaCompleta, codigoBuscado) =>{\r\n var pendientes = [];\r\n pendientes.push(listaCompleta);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaCompleta = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n if (codigoJerarquico){\r\n if (EsCodigoPadre(currentlista[i].Codigo,codigoBuscado)){\r\n pendientes.push(currentlista[i].hijos); \r\n }\r\n }else{\r\n pendientes.push(currentlista[i].hijos);\r\n } \r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n return itemListaCompleta\r\n }\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n var aux = \"\";\r\n if (datosFormulario.seleccionados && datosFormulario.seleccionados.length>0){\r\n for (var i=0; i0;\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n //newid: datosFormulario.seleccionado,\r\n seleccionados: datosFormulario.seleccionados,\r\n })\r\n }\r\n }\r\n\r\n const setCheckedFalse = (r) =>{\r\n if (r){\r\n for (var i=0; i{\r\n /*setTxt('');\r\n cambiaSeleccion('','');*/\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionados = [];\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n\r\n return (\r\n
    \r\n\r\n { ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n {(datosFormulario.tipoForm === \"FBGTVMPPMUH\")?\r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n :\r\n <>\r\n }\r\n {/**/}\r\n {/**/}\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaArbolMultiple;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { GetAntecesorWhithClassName, RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport Selector from \"../../Utilidades/Selector/Selector\";\r\nimport SelectorMultiple from \"../../Utilidades/Selector/SelectorMultiple\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorTree from \"../../Utilidades/Selector/SelectorArbol/SelectorTree\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorArbol3 from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbol3\";\r\n\r\nconst FBusquedaSaborEdad = (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n arbolDieto: null,\r\n listaSabores: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n itemDieto: (props.idDieto) ? {codigo : props.idDieto, valor : ''} : null,\r\n idsSabores: props.idsSabores,\r\n edad: props.edad,\r\n undEdad: props.undEdad,\r\n saborSolo: props.saborSolo,\r\n })\r\n const [txtInputDieto, setTxtInputDieto] = useState('');\r\n\r\n\r\n useEffect(() => {\r\n if (datosFormulario.arbolDieto === null)\r\n {\r\n DescargaDatosSaborEdad();\r\n } \r\n },[]);\r\n\r\n const cambiaTxt = (newtxt) =>{\r\n setTxtInputDieto(newtxt);\r\n }\r\n\r\n\r\n\r\n const DescargaDatosSaborEdad = () => { \r\n BP2022Service.datosFormularioSaborEdad()\r\n .then((response) => {\r\n var df = {\r\n arbolDieto : [response.data.Dietoterapicos],\r\n listaSabores : response.data.Sabores,\r\n };\r\n df.listaSabores.splice(0,0,{Codigo:0, Valor:'Seleccione un sabor'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: 'BSaborEdadPPF',\r\n idDieto: (seleccionFormulario.itemDieto) ? seleccionFormulario.itemDieto.codigo : '',\r\n idsSabores: seleccionFormulario.idsSabores,\r\n edad: seleccionFormulario.edad,\r\n undEdad: seleccionFormulario.undEdad,\r\n saborSolo: seleccionFormulario.saborSolo,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n itemDieto:{codigo: '', valor: ''},\r\n idsSabores: [],\r\n edad: null,\r\n undEdad: null,\r\n saborSolo: false,\r\n }\r\n setTxtInputDieto('');\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevovalor !== '')\r\n nuevaSeleccion.itemDieto = {codigo: nuevovalor, valor: nuevoTexto};\r\n else\r\n nuevaSeleccion.itemDieto = null;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AnadeSabor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsSabores){\r\n nuevaSeleccion.idsSabores = [];\r\n }\r\n nuevaSeleccion.idsSabores.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraSabor = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsSabores.indexOf(valor);\r\n nuevaSeleccion.idsSabores.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCheckSolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.saborSolo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.undEdad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.itemDieto){\r\n res.push ({titulo: \"Dietoterápico\", valor: seleccionFormulario.itemDieto.codigo + ' ' + seleccionFormulario.itemDieto.valor})\r\n }\r\n if ((seleccionFormulario.idsSabores) && (seleccionFormulario.idsSabores.length>0)){\r\n if (datosFormulario.listaSabores){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsSabores[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Sabores\", valor: valor});\r\n }\r\n\r\n if (seleccionFormulario.saborSolo){\r\n res.push({titulo: \"Sólo puede tener los sabores seleccionados\"})\r\n }else{\r\n res.push({titulo: \"Puede contener sabor adicional\"})\r\n }\r\n }\r\n\r\n if (seleccionFormulario.edad && seleccionFormulario.edad>0 && seleccionFormulario.undEdad && seleccionFormulario.undEdad != \"\"){\r\n var str = seleccionFormulario.edad.toString();\r\n if (seleccionFormulario.undEdad.toLowerCase()===\"m\"){\r\n str += \" meses\"\r\n }else{\r\n str += \" años\"\r\n }\r\n res.push({titulo: \"Edad\", valor: str});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'}) \r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const listaCodValor = (datosFormulario.listaSabores) ? datosFormulario.listaSabores.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbolDieto === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n {/**/\r\n }\r\n {/*\r\n \r\n */}\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sabores

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(seleccionFormulario.saborSolo) ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Edad

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaSaborEdad;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\n\r\nconst FBusquedaSimple = (props) => {\r\n const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n var seleccionado = datosFormulario.seleccionado;\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n if ((!datosFormulario.esIdStr) && (seleccionado))\r\n seleccionado = parseInt(seleccionado);\r\n \r\n if (!seleccionado)\r\n seleccionado = 0;\r\n \r\n const listaCodValor = lista.map(it => ({codigo: it.Codigo, valor: it.Valor}));\r\n\r\n\r\n useEffect(() => {\r\n if ((lista.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux)\r\n .then((response) => {\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n newlista.splice(0,0,{Codigo:props.datosFormulario.valorNulo, Valor:props.datosFormulario.placeholder});\r\n setLista(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const clickBuscar = (e) =>{\r\n const item = document.getElementById(props.datosFormulario.idSelect);\r\n if (item){\r\n if (item.value!=datosFormulario.valorNulo){\r\n var valor = item.value;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: valor,\r\n })\r\n }\r\n }\r\n }*/\r\n\r\n const clickBuscar = (e) =>{\r\n if (datosFormulario.seleccionado!==datosFormulario.valorNulo){\r\n var valor = datosFormulario.seleccionado;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: valor,\r\n })\r\n }\r\n }\r\n\r\n const CambiaValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = nuevovalor;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const BorraValor = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = datosFormulario.valorNulo;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n const BorraBusqueda = (e) =>{\r\n BorraValor();\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const maxLengthNormal = (datosFormulario.ancho && !isMobile ? 80 : 40);\r\n\r\n return (\r\n
    \r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n {/* */}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaSimple;\r\n\r\n\r\n/*\r\n \r\n*/","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\n\r\nconst FBusquedaMultiple = (props) => {\r\n const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n var seleccionados = datosFormulario.seleccionados;\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n if ((!datosFormulario.esIdStr) && (seleccionados))\r\n seleccionados = seleccionados.map(i => parseInt(i));\r\n \r\n if (!seleccionados)\r\n seleccionados = [];\r\n \r\n const listaCodValor = lista.map(it => ({codigo: it.Codigo, valor: it.Valor}));\r\n\r\n\r\n useEffect(() => {\r\n if ((lista.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux)\r\n .then((response) => {\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n newlista.splice(0,0,{Codigo:props.datosFormulario.valorNulo, Valor:props.datosFormulario.placeholder});\r\n setLista(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const clickBuscar = (e) =>{\r\n const item = document.getElementById(props.datosFormulario.idSelect);\r\n if (item){\r\n if (item.value!=datosFormulario.valorNulo){\r\n var valor = item.value;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: valor,\r\n })\r\n }\r\n }\r\n }*/\r\n\r\n const clickBuscar = (e) =>{\r\n if (datosFormulario.seleccionados && datosFormulario.seleccionados.length>0){\r\n //var valor = datosFormulario.seleccionado;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n //newid: valor,\r\n seleccionados: datosFormulario.seleccionados,\r\n })\r\n }\r\n }\r\n\r\n/* const CambiaValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = nuevovalor;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const BorraValor = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = datosFormulario.valorNulo;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n*/\r\n\r\n const AddValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n if (!nuevaSeleccion.seleccionados) { nuevaSeleccion.seleccionados = []};\r\n nuevaSeleccion.seleccionados.push(nuevovalor);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveValor = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n var i = nuevaSeleccion.seleccionados.indexOf(parseInt(valor));\r\n nuevaSeleccion.seleccionados.splice(i,1);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const BorraBusqueda = (e) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionados = [];\r\n setDatosFormulario(nuevaSeleccion);\r\n /*BorraValor();\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const maxLengthNormal = (datosFormulario.ancho && !isMobile ? 80 : 40);\r\n\r\n return (\r\n
    \r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaMultiple;\r\n","const ItemIndiceFormularios = (props) => {\r\n const item = props.item;\r\n const activo = props.activo;\r\n const claseli = (activo ? \"active\" : \"\");\r\n const colorFill = (activo ? \"#B9B9B9\" : \"#81509a\");\r\n const estiloSpan = (activo ? {cursor:'default'} : {cursor:'pointer'})\r\n\r\n return (\r\n
  • \r\n props.cambiaPagina({newpagina : item.codigoPagina})} style={estiloSpan}>{item.display}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n );\r\n};\r\n\r\nexport default ItemIndiceFormularios;\r\n","import { getDescripcionTipo, getListaFormularios } from \"../../../services/utils\";\r\nimport ItemIndiceFormularios from \"./ItemIndiceFormularios\";\r\n\r\nconst IndiceFormularios = (props) => {\r\n const tipo = props.tipo;\r\n const codigoPagina = props.codigoPagina;\r\n const listaFormularios = getListaFormularios(tipo);\r\n const tipoDesc = getDescripcionTipo(tipo);\r\n const HTMLIndice = listaFormularios.map(item => \r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default IndiceFormularios;\r\n","import { useEffect, useState } from \"react\";\r\nimport { getDatosFormulario } from \"../../services/objsAplicacion\";\r\nimport { getTipoFromCodigoPagina, getTituloFromCodigoPagina } from \"../../services/utils\";\r\nimport CabeceraFormulario from \"./CabeceraFormulario/CabeceraFormulario\";\r\nimport FBAlertasCalidad from \"./Formularios/FBAlertasCalidad\";\r\nimport FBAvanzadaMUH from \"./Formularios/FBAvanzadaMUH\";\r\nimport FBAvanzadaMUV from \"./Formularios/FBAvanzadaMUV\";\r\nimport FBAvanzadaPAH from \"./Formularios/FBAvanzadaPAH\";\r\nimport FBAvanzadaPPF from \"./Formularios/FBAvanzadaPPF\";\r\nimport FBComposicion from \"./Formularios/FBComposicion\";\r\nimport FBDocumentos from \"./Formularios/FBDocumentos\";\r\nimport FBEspecieIndicacion from \"./Formularios/FBEspecieIndicacion\";\r\nimport FBExtranjeros from \"./Formularios/FBExtranjeros\";\r\nimport FBFechas from \"./Formularios/FBFechas\";\r\nimport FBFormaColor from \"./Formularios/FBFormaColor\";\r\nimport FBPacienteIndicacion from \"./Formularios/FBPacienteIndicacion\";\r\nimport FBProblemasSum from \"./Formularios/FBProblemasSum\";\r\nimport FBReaccionesAdversas from \"./Formularios/FBReaccionesAdversas\";\r\nimport FBTest from \"./Formularios/FBTest\";\r\nimport FBusquedaArbol from \"./Formularios/FBusquedaArbol\";\r\nimport FBusquedaArbolMultiple from \"./Formularios/FBusquedaArbolMultiple\";\r\nimport FBusquedaSaborEdad from \"./Formularios/FBusquedaSaborEdad\";\r\nimport FBusquedaSimple from \"./Formularios/FBusquedaSimple\";\r\nimport FBusquedaMultiple from \"./Formularios/FBusquedaMultiple\";\r\nimport IndiceFormularios from \"./IndiceFormularios/IndiceFormularios\";\r\n\r\nconst FormularioBusqueda = (props) => {\r\n const [infoPagina, setInfoPagina] = useState(props.infoPagina);\r\n const tipo = getTipoFromCodigoPagina(infoPagina.codigoPagina);\r\n var titulo = getTituloFromCodigoPagina(infoPagina.codigoPagina);\r\n\r\n if ((infoPagina.codigoPagina) === \"FBAFMUV\")\r\n titulo = \"Principios activos veterinarios por actividad farmacológica\"\r\n\r\n const datosFormulario = (infoPagina.seleccionados) ? getDatosFormulario(infoPagina.codigoPagina, infoPagina.seleccionados) : getDatosFormulario(infoPagina.codigoPagina, infoPagina.id);\r\n\r\n const formulario = (\r\n (infoPagina.codigoPagina === \"FBAgrupHomoAutoMUH\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoMUH\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoAutoPPF\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoPPF\")\r\n || (infoPagina.codigoPagina === \"FBAnalisisMUH\")\r\n || (infoPagina.codigoPagina === \"FBGTVMPP2MUH\") \r\n || (infoPagina.codigoPagina === \"FBFarmacogeneticaMUH\") ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBLaboratorioPPF\") \r\n || (infoPagina.codigoPagina === \"FBLaboratorioMUV\")\r\n || (infoPagina.codigoPagina === \"FBLaboratorioMUH\") \r\n || (infoPagina.codigoPagina === \"FBFormaFarmaMUH\")\r\n || (infoPagina.codigoPagina === \"FBFormaFarmaMUV\")\r\n || (infoPagina.codigoPagina === \"FBFormaFarmaPPF\")\r\n || (infoPagina.codigoPagina === \"FBAFMUH\")\r\n || (infoPagina.codigoPagina === \"FBAMMUH\")\r\n || (infoPagina.codigoPagina === \"FBActPPF\")\r\n || (infoPagina.codigoPagina === \"FBAFMUV\")\r\n ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBGTConPPF\") \r\n || (infoPagina.codigoPagina === \"FBGTSanPPF\") \r\n || (infoPagina.codigoPagina === \"FBGTVMPPMUH\") \r\n ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBGTATCMUV\") \r\n || (infoPagina.codigoPagina === \"FBGTATCMUH\")\r\n ?\r\n \r\n /*:\r\n (infoPagina.codigoPagina === \"FBGTVMPPMUHxxxx\") ?\r\n */\r\n : (infoPagina.codigoPagina === \"FBSaborEdadPPF\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBEspecieIndicacionMUV\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBTest\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBProblemasSumMUH\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBAlertasCMUH\") \r\n || (infoPagina.codigoPagina === \"FBAlertasCMUV\") \r\n || (infoPagina.codigoPagina === \"FBAlertasCPPF\") ?\r\n \r\n : \r\n (infoPagina.codigoPagina === \"FBCambioNombre\")\r\n || (infoPagina.codigoPagina === \"FBCambioLaboratorio\") \r\n || (infoPagina.codigoPagina === \"FBCambioPrecioMUH\") \r\n || (infoPagina.codigoPagina === \"FBDesfinanciadosMUH\") \r\n || (infoPagina.codigoPagina === \"FBFechaAlta\") ?\r\n \r\n\r\n : (infoPagina.codigoPagina === \"FBReaccionesAdversasMUH\") ?\r\n \r\n : ((infoPagina.codigoPagina === \"FBComposicionMUH\") \r\n ||(infoPagina.codigoPagina === \"FBComposicionMUV\") \r\n ||(infoPagina.codigoPagina === \"FBComposicionPPF\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaMUH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaMUV\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaPAH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaPPF\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBPacienteIndicacionMUH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBFormaColorMUH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBExtranjerosEXT\") \r\n )?\r\n \r\n : (infoPagina.codigoPagina === \"FBDocumentos\") ?\r\n \r\n :\r\n
    \r\n );\r\n\r\n useEffect(() => {\r\n setInfoPagina(props.infoPagina);\r\n },[props.infoPagina]);\r\n\r\n const cambiaTab = (codTab) =>{\r\n if (infoPagina.codigoPagina=== \"FBComposicionPPF\"){\r\n const nuevaInfoPagina = JSON.parse(JSON.stringify(infoPagina));\r\n nuevaInfoPagina.tipoProd = codTab;\r\n setInfoPagina(nuevaInfoPagina);\r\n }else if (infoPagina.codigoPagina === \"FBFormaColorMUH\"){\r\n const nuevaInfoPagina = JSON.parse(JSON.stringify(infoPagina));\r\n nuevaInfoPagina.tipoFF = codTab;\r\n setInfoPagina(nuevaInfoPagina);\r\n }\r\n }\r\n\r\n\r\n const tabsComposPF = [\r\n { \r\n cod: 2, \r\n texto: \"Dermofarmacia\",\r\n clase: (infoPagina.tipoProd === 2) ? \"active\" : \"\",\r\n },\r\n {\r\n cod: 1, \r\n texto: \"Otros productos\",\r\n clase: (infoPagina.tipoProd === 1) ? \"active\" : \"\",\r\n },\r\n ]\r\n\r\n const tiposFF = [\r\n { \r\n cod: 'CO', \r\n texto: \"Comprimidos\",\r\n clase: (infoPagina.tipoFF === 'CO') ? \"active\" : \"\",\r\n },\r\n {\r\n cod: 'CA', \r\n texto: \"Cápsulas\",\r\n clase: (infoPagina.tipoFF === 'CA') ? \"active\" : \"\",\r\n },\r\n { \r\n cod: 'JA', \r\n texto: \"Jarabes / Soluciones orales\",\r\n clase: (infoPagina.tipoFF === 'JA') ? \"active\" : \"\",\r\n },\r\n ]\r\n\r\n\r\n const HTMLTabs = (\r\n (infoPagina.codigoPagina === \"FBComposicionPPF\") ?\r\n
    \r\n
    \r\n
      \r\n {tabsComposPF.map(t =>
    • cambiaTab(t.cod)}>{t.texto}
    • )}\r\n
    \r\n
    \r\n
    \r\n :\r\n (infoPagina.codigoPagina === \"FBFormaColorMUH\") ?\r\n
    \r\n
    \r\n
      \r\n {tiposFF.map(t =>
    • cambiaTab(t.cod)}>{t.texto}
    • )}\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n );\r\n\r\n\r\n return ( \r\n
    \r\n \r\n {HTMLTabs}\r\n {(infoPagina.codigoPagina === \"FBAvanzadaMUH\") \r\n ||(infoPagina.codigoPagina === \"FBAvanzadaMUV\") \r\n ||(infoPagina.codigoPagina === \"FBAvanzadaPAH\") \r\n ||(infoPagina.codigoPagina === \"FBAvanzadaPPF\") \r\n ||(infoPagina.codigoPagina === \"FBExtranjerosEXT\") \r\n ||(infoPagina.codigoPagina === \"FBCambioNombre\") \r\n ||(infoPagina.codigoPagina === \"FBCambioLaboratorio\") \r\n ||(infoPagina.codigoPagina === \"FBCambioPrecio\") \r\n ||(infoPagina.codigoPagina === \"FBDesfinanciados\") \r\n ||(infoPagina.codigoPagina === \"FBFechaAlta\") \r\n ||(infoPagina.codigoPagina === \"FBDocumentos\") \r\n ?\r\n
    \r\n {formulario}\r\n
    \r\n :\r\n
    \r\n \r\n {formulario}\r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FormularioBusqueda;\r\n \r\n/*\r\n \r\n*/\r\n","import { GetAntecesorWhithClassName, rootPath } from \"../../../services/utils\";\r\nimport ItemMenuIconos from \"../../Cabecera/MenuIconos/ItemMenuIconos\";\r\n\r\nfunction Interaccion(props){\r\n const itemInteraccion = props.item\r\n var claseMask = \"mask\";\r\n if (itemInteraccion.IdSemaforo === 1)\r\n claseMask = \"mask red\";\r\n if (itemInteraccion.IdSemaforo === 2)\r\n claseMask = \"mask yellow\";\r\n if (itemInteraccion.IdSemaforo === 3)\r\n claseMask = \"mask green\";\r\n\r\n var imgSentido = rootPath + \"img/ficha/arrowRight.svg\";\r\n var txtSentido = itemInteraccion.PA1 + \" interfiere con la acción de \" + itemInteraccion.PA2;\r\n if (itemInteraccion.Sentido === 1){\r\n imgSentido = rootPath + \"img/ficha/arrowLeft.svg\";\r\n txtSentido = itemInteraccion.PA2 + \" interfiere con la acción de \" + itemInteraccion.PA1;\r\n }\r\n if (itemInteraccion.Sentido === 2){\r\n imgSentido = rootPath + \"img/ficha/arrowEqual.svg\";\r\n txtSentido = \"Interferencia mutua\";\r\n }\r\n\r\n const clickDetalles = (e) =>{\r\n var item = e.target;\r\n var header = GetAntecesorWhithClassName(item,'showCard');\r\n var covercard = GetAntecesorWhithClassName(item,'cover__card');\r\n if (header)\r\n header.classList.toggle('active');\r\n if (covercard)\r\n covercard.classList.toggle('active');\r\n }\r\n \r\n const clickDescripcion = (e) =>{\r\n var item = e.target;\r\n var header = GetAntecesorWhithClassName(item,'showCard__details');\r\n var covercard = GetAntecesorWhithClassName(item,'card__content');\r\n if (header)\r\n header.classList.toggle('active');\r\n if (covercard)\r\n covercard.classList.toggle('active');\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const anchos = (isMobile) ? ['37%','26%','37%'] : ['39%','27%','34%'];\r\n\r\n const HTMLSemaforoInter = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n (!isMobile) ?\r\n HTMLSemaforoInter\r\n :\r\n <> \r\n }\r\n
    \r\n

    {itemInteraccion.TxtSel1}

    \r\n

    {itemInteraccion.TipoRegistro1}

    \r\n {\r\n (itemInteraccion.IdSel1 !== itemInteraccion.IdPA1) ?\r\n
    \r\n

    {itemInteraccion.PA1}

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {\r\n (isMobile) ?\r\n HTMLSemaforoInter\r\n :\r\n <> \r\n }\r\n
    \r\n {imgSentido}\r\n
    \r\n
    \r\n

    {itemInteraccion.DesSemaforo}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {itemInteraccion.TxtSel2}

    \r\n

    {itemInteraccion.TipoRegistro2}

    \r\n {\r\n (itemInteraccion.IdSel2 !== itemInteraccion.IdPA2) ?\r\n
    \r\n

    {itemInteraccion.PA2}

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n { (itemInteraccion.IdSemaforo<=3) ?\r\n
    \r\n clickDetalles(e)} >Detalles \r\n \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n { (itemInteraccion.IdSemaforo<=3) ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Importancia clínica:

    \r\n
    \r\n
    \r\n

    {itemInteraccion.Significacion}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sentido de la interacción:

    \r\n
    \r\n
    \r\n

    {txtSentido}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Efecto clínico:

    \r\n
    \r\n
    \r\n

    {itemInteraccion.Naturaleza}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medidas a tomar:

    \r\n
    \r\n
    \r\n

    {itemInteraccion.Medidas}

    \r\n
    \r\n
    \r\n { (itemInteraccion.Textos) ?\r\n
    \r\n
    \r\n

    Descripción:

    \r\n
    \r\n
    \r\n clickDescripcion(e)} >\r\n Mostrar descripción \r\n \r\n \r\n
    \r\n

    {itemInteraccion.Titulo}

    \r\n
    \r\n {(itemInteraccion.Textos.Efecto) ?\r\n
    \r\n

    Efecto

    \r\n

    \r\n {itemInteraccion.Textos.Efecto} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Importancia) ?\r\n
    \r\n

    Importancia

    \r\n

    \r\n {itemInteraccion.Textos.Importancia} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Mecanismo) ?\r\n
    \r\n

    Mecanismo

    \r\n

    \r\n {itemInteraccion.Textos.Mecanismo} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Evidencias) ?\r\n
    \r\n

    Evidencias

    \r\n

    \r\n {itemInteraccion.Textos.Evidencias} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Referencias) ?\r\n
    \r\n

    Referencias

    \r\n

    \r\n {itemInteraccion.Textos.Referencias}\r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n clickDescripcion(e)} >\r\n Ocultar descripción \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n} \r\nexport default Interaccion;\r\n","import OptionSelect from \"../../../Utilidades/Select/OptionSelect\";\r\n\r\nfunction FiltroLista(props){\r\n const filtro = props.filtro;\r\n const opcionesLista = filtro.posibles.map(opcion => );\r\n const idInput = \"input__\" + filtro.idGrupo;\r\n \r\n const avoidEnter = (e) =>{\r\n if (e.which == '13') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.target.blur();\r\n }\r\n }\r\n\r\n const handleCambioLista=(e) =>{\r\n props.cambiaLista(filtro.idGrupo, e.target.value)\r\n }\r\n\r\n return (\r\n
    e.preventDefault()}>\r\n handleCambioLista(e)} \r\n onKeyDown={e => avoidEnter(e)}/>\r\n { \r\n (filtro.posibles && filtro.posibles.length>0) ? (\r\n \r\n {opcionesLista}\r\n \r\n ) : (\r\n

    \r\n )\r\n }\r\n
    \r\n );\r\n} \r\nexport default FiltroLista;","import OptionSelect from \"../../../Utilidades/Select/OptionSelect\";\r\nimport SelectorComboBox from \"../../../Utilidades/Selector/SelectorComboBox\";\r\n\r\nfunction FiltroListBox(props){\r\n const filtro = props.filtro;\r\n const opcionesLista = filtro.posibles.map(opcion => );\r\n const idInput = \"input__\" + filtro.idGrupo;\r\n \r\n const avoidEnter = (e) =>{\r\n if (e.which == '13') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.target.blur();\r\n }\r\n }\r\n\r\n const handleCambioLista=(valor) =>{\r\n props.cambiaLista(filtro.idGrupo, valor)\r\n }\r\n\r\n\r\n return (\r\n
    e.preventDefault()}>\r\n \r\n
    \r\n );\r\n} \r\nexport default FiltroListBox;","function FiltroText(props){\r\n const filtro = props.filtro;\r\n const idInput = \"input__\" + filtro.idGrupo;\r\n \r\n const avoidEnter = (e) =>{\r\n if (e.which == '13') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.target.blur();\r\n }\r\n }\r\n\r\n const handleCambioLista=(e) =>{\r\n props.cambiaLista(filtro.idGrupo, e.target.value)\r\n }\r\n\r\n return (\r\n
    e.preventDefault()}>\r\n handleCambioLista(e)} \r\n onKeyDown={e => avoidEnter(e)}/>\r\n
    \r\n );\r\n} \r\nexport default FiltroText;\r\n","import React, { useState, useEffect } from \"react\";\r\n\r\nfunction CheckBoxFiltro(props){\r\n var claseCheckBox = props.idGrupo;\r\n if (props.excluyente)\r\n claseCheckBox = claseCheckBox + ' excluyente';\r\n\r\n var claseLabel = (props.nivel===1 ? 'filter' : 'filter filter__child');\r\n if (props.grupoActivo)\r\n claseLabel += \" grupoActivo\";\r\n const idCheckBox = props.idGrupo + '__' + (props.idValor ? props.idValor : props.value);\r\n const valueCheckBox = props.value;\r\n const texto = props.texto;\r\n\r\n const handleCambioCheckBox=(e) =>{\r\n var marcado = e.target.checked;\r\n props.cambiaCheck(props.idGrupo, (props.idValor ? props.idValor : props.value), marcado);\r\n }\r\n\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\n\r\nexport default CheckBoxFiltro;","import React, { useState, useEffect } from \"react\";\r\nimport CheckBoxFiltro from \"./CheckBoxFiltro\";\r\n\r\nfunction GrupoCheckBoxFiltro(props){\r\n const filtro = props.filtro;\r\n const items = filtro.valores;\r\n const grupoActivo = (items.find(item => item.activo) ? true : false);\r\n const listaCheckBox = items.map(item => );\r\n\r\n\r\n return(\r\n
    \r\n
    \r\n {listaCheckBox}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\nexport default GrupoCheckBoxFiltro;\r\n","import { elementIsOfClass } from \"../../../../services/utils\";\r\nimport FiltroLista from \"./FiltroLista\";\r\nimport FiltroListBox from \"./FiltroListBox\";\r\nimport FiltroText from \"./FiltroText\";\r\nimport GrupoCheckBoxFiltro from \"./GrupoCheckBoxFiltro\";\r\n\r\nfunction FiltroBusqueda(props){\r\n const filtro = props.filtro\r\n var contenido;\r\n\r\n const claseAcordeon = (filtro.abierto ? \"accordion__module accordion__module__filters active\" : \"accordion__module accordion__module__filters\");\r\n\r\n const handleClickAcordeonFiltro = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__header'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n\r\n if (filtro.tipo ==='List')\r\n contenido = (\r\n \r\n \r\n );\r\n else if (filtro.tipo ==='Text')\r\n contenido = (\r\n \r\n \r\n );\r\n else if (filtro.tipo ==='ListBox')\r\n contenido = (\r\n \r\n \r\n );\r\n else /* filtro.tipo === 'Check' */\r\n contenido = (\r\n \r\n \r\n );\r\n\r\n return(\r\n
    \r\n
    handleClickAcordeonFiltro(e)}>\r\n
    \r\n

    {filtro.nombre}

    \r\n
    \r\n
    \r\n
    \r\n {contenido}\r\n
    \r\n
    \r\n )\r\n\r\n } \r\nexport default FiltroBusqueda;\r\n\r\n\r\n","import SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport FiltroBusqueda from \"../FiltrosYBusqueda/Filtros/FiltroBusqueda\";\r\n\r\nfunction MargenIzquierdoInter(props){\r\n const filtros = props.filtros;\r\n const htmlFiltros = (filtros ?\r\n
    \r\n {filtros.map(filtro => \r\n )}\r\n
    \r\n :\r\n
    \r\n );\r\n/*\r\n const handleClickFiltrosHeader = (e) =>{\r\n ToggleClassNameToClassItems('cover__aside', null, 'active');\r\n }\r\n*/\r\n const listaCodValorMeds = (props.listaPosibles) ? props.listaPosibles.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medicamentos o complementos

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Filtrar

    \r\n
    \r\n {htmlFiltros}\r\n
    \r\n )\r\n} \r\nexport default MargenIzquierdoInter;\r\n","function MedsSeleccionados(props){\r\n\r\n const itemsHtml = props.itemsSelected.map(item => \r\n \r\n {item.Valor}\r\n \"eliminar\" props.alBorrar(item.Codigo)} />\r\n );\r\n\r\n const texto = (props.nFiltrados > 0 ? props.nFiltrados.toString() + \" interacciones encontradas\" : \"\");\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {itemsHtml}\r\n
    \r\n
    \r\n \r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n {(texto !== \"\") ?\r\n
    \r\n

    {texto}

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n} \r\nexport default MedsSeleccionados;\r\n","import { useEffect, useState } from \"react\";\r\nimport { filtrosInteracciones } from \"../../../services/objsAplicacion\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { GetFiltrosStr, handleClasesCheckbox, rootPath } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../Loading.Popup\";\r\nimport Interaccion from \"./Interaccion\";\r\nimport MargenIzquierdoInter from \"./MargenIzquierdoInter\";\r\nimport MedsSeleccionados from \"./MedsSeleccionados\";\r\n\r\nconst BInteracciones = (props) => {\r\n const [listaPosibles, setListaPosibles] = useState(null);\r\n const [idsSel, setIdsSel] = useState((props.infoPagina.idsSel) ? props.infoPagina.idsSel : []);\r\n const [listaResultados, setListaResultados] = useState(null);\r\n const [listaFiltrada, setListaFiltrada] = useState(null);\r\n const [configuracionVista, setConfiguracionVista] = useState({\r\n filtros: (props.infoPagina.filtrosActivos) ? props.infoPagina.filtrosActivos : [],\r\n numMostrar: (props.infoPagina.numMostrar) ? props.infoPagina.numMostrar: 10,\r\n })\r\n const [itemsSelected, setItemsSelected] = useState(null);\r\n \r\n \r\n const ActulizaItemsSelected = () =>{\r\n var nuevosItemsSelected = [];\r\n\r\n for (var i = 0; iparseInt(x.Codigo)===parseInt(id));\r\n if (item)\r\n nuevosItemsSelected.push(item);\r\n }\r\n setItemsSelected(nuevosItemsSelected);\r\n }\r\n\r\n\r\n const filtrosInt = filtrosInteracciones;\r\n\r\n for (var i=0; i0){\r\n for (var j=0; j0 ? \r\n (configuracionVista.filtros.find(x => x.nombre === idGrupo && parseInt(x.valor) === parseInt(valor)) ? true : false)\r\n : \r\n false\r\n );\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (listaPosibles === null){\r\n DescargaDatos();\r\n }else if (idsSel && idsSel.length>0 && !listaResultados){\r\n ActulizaItemsSelected();\r\n BuscaInteracciones();\r\n }else if((!idsSel || idsSel.length===0) && !listaResultados){\r\n setItemsSelected([]);\r\n setListaResultados([]);\r\n }else if(listaResultados && (!listaFiltrada) ) {\r\n var nuevaListaFiltrada = [];\r\n if (configuracionVista.filtros && configuracionVista.filtros.length>0){\r\n AplicaFiltrosInteracciones(listaResultados,configuracionVista.filtros)\r\n }\r\n else{\r\n nuevaListaFiltrada = listaResultados;\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n }else{\r\n }\r\n\r\n if ((idsSel) && idsSel.length>0){\r\n var newpath = rootPath + \"BInteraccionesMUH?idsSel=\" + idsSel.toString();\r\n if (configuracionVista.filtros && configuracionVista.filtros.length>0){\r\n newpath += \"&\" + GetFiltrosStr(filtrosInteracciones);\r\n }\r\n window.history.replaceState(null,'',newpath);\r\n }\r\n\r\n },[listaPosibles, idsSel, listaResultados, listaFiltrada, configuracionVista]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.listaPosiblesInteractores(idsSel)\r\n .then((response) => {\r\n var nuevaListaPosibles = response.data.Medicamentos;\r\n nuevaListaPosibles.splice(0,0,{Codigo:0, Valor:'Medicamento o complemento'});\r\n setListaPosibles(nuevaListaPosibles);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const BuscaInteracciones = () => { \r\n BP2022Service.buscaInteracciones(idsSel)\r\n .then((response) => {\r\n var nuevaListaResultados = response.data;\r\n setListaResultados(nuevaListaResultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const cambioFiltroCheck = (idFiltro, idValor, marcado, ) => {\r\n let tempVar = JSON.parse(JSON.stringify(configuracionVista));\r\n var item = tempVar.filtros.findIndex(x => x.nombre === idFiltro && parseInt(x.valor) === parseInt(idValor));\r\n if (item<0 && marcado){\r\n tempVar.filtros.push({nombre: idFiltro, valor:idValor})\r\n }\r\n if (item>=0 && !marcado){\r\n tempVar.filtros.splice(item,1);\r\n }\r\n setConfiguracionVista(tempVar);\r\n //setListaFiltrada(null);\r\n AplicaFiltrosInteracciones(listaResultados,tempVar.filtros);\r\n };\r\n\r\n function AplicaFiltro(lista, filtroInter, filtroSel)\r\n {\r\n if (lista){\r\n if (filtroInter.valores){\r\n var seleccionados = [];\r\n for (var i=0; i y.nombre === filtroInter.idGrupo && parseInt(y.valor) === parseInt(filtroInter.valores[i].value))\r\n if (aux){\r\n seleccionados.push(filtroInter.valores[i].value);\r\n if (filtroInter.valores[i].otrosValores)\r\n for (var j=0; j0){\r\n lista = lista.filter(item => seleccionados.includes(item[filtroInter.campolista]));\r\n }\r\n }\r\n }\r\n return lista;\r\n };\r\n\r\n const AddMedicamento = (nuevovalor) =>{\r\n const nuevosIdsSel = JSON.parse(JSON.stringify(idsSel));\r\n if (!nuevosIdsSel) { nuevosIdsSel = []};\r\n if (!nuevosIdsSel.includes(nuevovalor))\r\n nuevosIdsSel.push(nuevovalor);\r\n setIdsSel(nuevosIdsSel);\r\n setListaResultados(null);\r\n setListaFiltrada(null);\r\n }\r\n\r\n const RemoveMedicamento = (valor) =>{\r\n const nuevosIdsSel = JSON.parse(JSON.stringify(idsSel));\r\n if (!nuevosIdsSel) { nuevosIdsSel = []};\r\n var i = nuevosIdsSel.indexOf(parseInt(valor));\r\n nuevosIdsSel.splice(i,1);\r\n setIdsSel(nuevosIdsSel);\r\n setListaResultados(null);\r\n setListaFiltrada(null);\r\n }\r\n\r\n const ClearMedicamentos = () =>{\r\n const nuevosIdsSel = [];\r\n setIdsSel(nuevosIdsSel);\r\n setItemsSelected([]);\r\n setListaResultados(null);\r\n setListaFiltrada(null);\r\n }\r\n\r\n const AplicaFiltrosInteracciones = (listaCompleta,filtros) => {\r\n var lista = listaCompleta;\r\n if (filtrosInteracciones)\r\n {\r\n for (var i=0; i{\r\n let tempVar = JSON.parse(JSON.stringify(configuracionVista));\r\n tempVar.numMostrar += 10;\r\n setConfiguracionVista(tempVar);\r\n }\r\n\r\n var bMostrarMas = (listaFiltrada ? (configuracionVista.numMostrar0 ? \r\n listaFiltrada.slice(0,configuracionVista.numMostrar).map(inter => ) : \r\n
    No se han encontrado interacciones farmacológicas
    : \r\n
    ;\r\n\r\n if ((listaPosibles === null) || (listaResultados === null) || (listaFiltrada === null))\r\n if (listaPosibles === null)\r\n return( \r\n \r\n );\r\n else\r\n return( \r\n \r\n );\r\n else\r\n return(\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {HTMLListaInteracciones}\r\n
    \r\n {(listaFiltrada && listaFiltrada.length>0) ?\r\n
    \r\n

    \r\n {Math.min(configuracionVista.numMostrar,listaFiltrada.length)} interacciones de {listaFiltrada.length}\r\n

    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default BInteracciones;","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {FormatoFechaDDMMYYYY, FormatoFechaDDMMYYYYHHMM, numberWithCommas, rootPath} from '../../../../services/utils.js'\r\nimport BusqMedsService from \"../../../../services/user.service\";\r\n\r\nfunction FilaListaResBusqueda(props){\r\n const item = props.item;\r\n const tiposPersona = new Array (\"MUH\",\"PAH\",\"ASOH\",\"FM\",\"PO\",\"MHO\",\"PHO\");\r\n const tiposAnimal = new Array (\"MUV\",\"PAV\",\"ASOV\");\r\n const tiposParafar = new Array (\"PPF\",\"ING\");\r\n const patologias = new Array(\"PATH\",\"PATV\");\r\n const conPrecio = new Array(\"MUH\", \"MUV\", \"PPF\",\"MHO\",\"FM\");\r\n const conEstado = new Array(\"MUH\",\"MUV\",\"PAH\",\"PAV\",\"ASOH\",\"ASOV\",\"PPF\",\"ING\",\"MHO\",\"PHO\");\r\n const conLaboratorio = new Array(\"MUH\",\"MUV\",\"PPF\",\"MHO\");\r\n const claseEstado = (item.IdEstadoAutorizacion === '0' ?\r\n \"estado__item estado__item__1 autorizado\"\r\n : \r\n (item.IdEstadoAutorizacion === '1' ?\r\n \"estado__item estado__item__1 suspendido\"\r\n :\r\n (item.IdEstadoAutorizacion === '2' || item.IdEstadoAutorizacion === '4' ?\r\n \"estado__item estado__item__1 anulado\"\r\n :\r\n \"estado__item estado__item__1\"\r\n )\r\n )\r\n );\r\n const colorEstado = (item.IdEstadoAutorizacion === '0' ?\r\n \"greenColor4\"\r\n : \r\n (item.IdEstadoAutorizacion === '1' ?\r\n \"yellowColor2\"\r\n :\r\n (item.IdEstadoAutorizacion === '2' || item.IdEstadoAutorizacion === '4' ?\r\n \"redColor\"\r\n :\r\n \"greyColor2\"\r\n )\r\n )\r\n );\r\n const claseTextoEstado = \"fs fs12 \" + colorEstado;\r\n\r\n const literalCodigo = (conPrecio.includes(item.CodTipoRegistro) ?\r\n \"Cód. Nacional:\"\r\n :\r\n (patologias.includes(item.CodTipoRegistro) ?\r\n \"Código CIE:\"\r\n :\r\n \"Código\"\r\n )\r\n );\r\n const pictogramatipo = (tiposPersona.includes(item.CodTipoRegistro) ?\r\n rootPath + \"img/person.svg\" \r\n :\r\n (tiposAnimal.includes(item.CodTipoRegistro) ? \r\n rootPath + \"img/perro.svg\" \r\n :\r\n (tiposParafar.includes(item.CodTipoRegistro) ?\r\n rootPath + \"img/jabonLiquido.svg\"\r\n :(item.CodTipoRegistro===\"PATH\") ?\r\n rootPath + \"img/patHumana.svg\"\r\n :\r\n rootPath + \"img/patVet.svg\"\r\n )\r\n )\r\n )\r\n const problemaSuministro = ((item.ProblemaSuministro===\"S\")?\r\n {\r\n img : rootPath + \"img/icoTrouble.svg\",\r\n leyenda : 'Medicamento con problemas de suministro',\r\n texto : 'Problema de suministro AEMPS'\r\n }\r\n : ((item.ProblemaSuministro===\"X\") ? \r\n {\r\n img : rootPath + \"img/icoCee.svg\",\r\n leyenda : 'Medicamento con problemas de suministro.\\nLa AEMPS informa que se puede solicitar como medicamento extranjero',\r\n texto : 'Problema de suministro AEMPS'\r\n }\r\n :\r\n null\r\n ));\r\n\r\n const vesAFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n filtros: props.filtros,\r\n numMostrar: props.numMostrar,\r\n idxOrden: props.idxOrden,\r\n });\r\n }\r\n\r\n const mostrarPI = props.mostrarPI;\r\n const infoPacienteIndica = ((mostrarPI && item.ListaAux1 && item.ListaAux1.length>0)) ?\r\n item.ListaAux1.map(icon => \r\n
    \r\n

    \r\n aux.cod === icon).img} alt={IconosListadosPI.find(aux => aux.cod === icon).txt} />\r\n {IconosListadosPI.find(aux => aux.cod === icon).txt}\r\n

    \r\n
    )\r\n :\r\n \r\n\r\n const mostrarAuxStr = props.mostrarAuxStr;\r\n const infoAuxStr = ((mostrarAuxStr && item.AuxStr && item.AuxStr != \"\") ?\r\n
    \r\n

    \r\n {item.AuxStr}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n var mensStrAux2 = item.AuxStr2;\r\n if (mensStrAux2===\"NHUER\")\r\n mensStrAux2 = \"\";\r\n else if (mensStrAux2===\"SHUER\")\r\n mensStrAux2 = \"Medicamento huérfano\";\r\n\r\n const infoAuxStr2 = ((mostrarAuxStr && item.AuxStr2 && item.AuxStr2 != \"\") ?\r\n
    \r\n

    \r\n {mensStrAux2}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarListaAuxStr = props.mostrarListaAuxStr;\r\n const infoListaAuxStr = ((mostrarListaAuxStr && item.ListaStr && item.ListaStr.length != \"\") ?\r\n
    \r\n {item.ListaStr.map(x => \r\n

    \r\n {x}\r\n

    \r\n )}\r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarAuxFecha = props.mostrarAuxFecha;\r\n const infoAuxFecha = ((mostrarAuxFecha && item.AuxFecha && new Date(item.AuxFecha).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha exclusión financiación individualizada: {FormatoFechaDDMMYYYY(item.AuxFecha)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const infoAuxFecha2 = ((mostrarAuxFecha && item.AuxFecha2 && new Date(item.AuxFecha2).getTime()> 0) ?\r\n
    \r\n

    \r\n Fecha exclusión Insalud: {FormatoFechaDDMMYYYY(item.AuxFecha2)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarFechaAlta = props.mostrarFechaAlta;\r\n const infoFechaAlta = ((mostrarFechaAlta && item.FechaAlta && new Date(item.FechaAlta).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha de alta: {FormatoFechaDDMMYYYY(item.FechaAlta)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarFechaEntrada = props.mostrarFechaEntrada;\r\n const infoFechaEntrada = ((mostrarFechaEntrada && item.AuxFecha && new Date(item.AuxFecha).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha cambio de precio: {FormatoFechaDDMMYYYY(item.AuxFecha)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n\r\n\r\n const mostrarFVisita = props.mostrarFVisita;\r\n const infoFechaVisita = ((mostrarFVisita && item.FechaVisita && new Date(item.FechaVisita).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha visita: {FormatoFechaDDMMYYYYHHMM(item.FechaVisita)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const clickBorrar = (tipo,id) => {\r\n BusqMedsService.borraProductoHistorial(tipo,id);\r\n props.alBorrar(tipo,id);\r\n }\r\n\r\n\r\n const mostrarBotonBorrar = props.mostrarBotonBorrar;\r\n const infoBorrarItem = ((mostrarBotonBorrar) ?\r\n
    \r\n

    mouseOverLink(e)} onMouseOut={(e) => mouseOutLink(e)} onClick={(e) => clickBorrar(item.CodTipoRegistro, item.Id)}>\r\n Borrar del historial\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarAvisoPrecio = props.mostrarAvisoPrecio;\r\n const mostrarAvisoPMenor = (props.pvpMenor && props.pvpMenor>0 && item.AuxDbl>props.pvpMenor);\r\n const mostrarAvisoPMasBajo = (props.pvpMasBajo && props.pvpMasBajo>0 && item.AuxDbl>props.pvpMasBajo);\r\n const infoAvisoPrecioMenor = ((mostrarAvisoPrecio) && (mostrarAvisoPMenor)?\r\n
    \r\n

    \r\n Supera el precio menor\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const infoAvisoPrecioMasBajo = ((mostrarAvisoPrecio) && (mostrarAvisoPMasBajo)?\r\n
    \r\n

    \r\n Supera el precio más bajo\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n var literalPrecio = props.literalPVP;\r\n var precio = item.PVPIVA;\r\n if (item.AmbitoHospitalario === \"S\" && false){\r\n literalPrecio = (item.Notificado === \"S\") ? \"PVL Notificado\" : \"PVL\";\r\n precio = item.PVL\r\n }else{\r\n if (item.CodTipoRegistro === \"FM\") literalPrecio = \"Precio\";\r\n else literalPrecio = (mostrarAvisoPrecio && item.AuxStr===\"PN\" ? \"Precio facturación\": props.literalPVP);\r\n precio = (mostrarAvisoPrecio && item.AuxStr===\"PN\" ? item.PFacturacion : item.PVPIVA);\r\n if (props.mostrarHist && item.AuxDbl>0 && item.AuxStr2==='001' && item.CodTipoRegistro==='MUH' && item.AuxStr3 === \"PN\"){\r\n literalPrecio = \"Precio Facturación\"\r\n precio = item.PFacturacion\r\n }\r\n }\r\n const maxHeight=150;\r\n const maxWidth=228;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n var estiloItem = (props.oculto) ? {visibility:'hidden'} : {};\r\n if (props.visitado)\r\n estiloItem.backgroundColor = '#fafafa';\r\n\r\n var displayTipoPack = item.TipoRegistro;\r\n if (item.CodTipoRegistro === \"MUH\" || item.CodTipoRegistro === \"MUV\") displayTipoPack = \"Medicamento\";\r\n if (item.CodTipoRegistro === \"MHO\") displayTipoPack = \"Medicamento homeopático\";\r\n if (item.CodTipoRegistro === \"PAH\" || item.CodTipoRegistro === \"PAV\") displayTipoPack = \"Principio activo\";\r\n if (item.CodTipoRegistro === \"PPF\") displayTipoPack = \"Parafarmacia\";\r\n if (item.CodTipoRegistro === \"ING\") displayTipoPack = \"Ingrediente\";\r\n if (item.CodTipoRegistro === \"PATH\" || item.CodTipoRegistro === \"PATV\") displayTipoPack = \"Enfermedad\";\r\n if (item.CodTipoRegistro === \"ASOH\" || item.CodTipoRegistro === \"ASOV\") displayTipoPack = \"Asociación\";\r\n\r\n const espacioPrimero = (props.primero? {paddingTop: '7px'} : {})\r\n const espacioPrimeroPrecio = (props.primero? {paddingTop: '7px', whiteSpace: 'nowrap'} : {whiteSpace: 'nowrap'})\r\n\r\n const estiloNombre = {...espacioPrimero , whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', maxWidth: '406px'}\r\n const estiloLaborat = {...espacioPrimero , whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', maxWidth: '140px'}\r\n\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.fontFamily='Flama-Bold, sanserif';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n e.target.style.fontFamily='Flama-Basic, sanserif';\r\n }\r\n\r\n if (!props.comoPackList){\r\n return (\r\n
    \r\n
    \r\n {(((props.comoGrid || isMobile) && item.ImagenEnvase) ?\r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n :(props.comoGrid || isMobile) ?\r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n :\r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n {\r\n (item.NombreAnterior ?\r\n
    \r\n

    Nombre anterior: {item.NombreAnterior}

    \r\n
    \r\n :\r\n \r\n )\r\n }\r\n {\r\n (props.mostrarHist && item.AuxInt>0 ?\r\n
    \r\n

    Laboratorio anterior: {item.AuxStr}

    \r\n
    \r\n :props.mostrarHist && item.AuxDbl>0 ?\r\n
    \r\n

    Precio anterior: {numberWithCommas(item.AuxDbl)} €

    \r\n
    \r\n :\r\n \r\n )\r\n }\r\n
    \r\n

    {item.TipoRegistro}

    \r\n {\r\n (problemaSuministro ? \r\n

    {problemaSuministro.leyenda}{problemaSuministro.texto}

    \r\n :\r\n \r\n ) \r\n }\r\n
    \r\n {infoPacienteIndica}\r\n {infoAuxStr}\r\n {infoAuxStr2}\r\n {infoListaAuxStr}\r\n {infoAuxFecha}\r\n {infoAuxFecha2}\r\n {infoFechaAlta}\r\n {infoFechaVisita}\r\n {infoBorrarItem}\r\n {infoFechaEntrada}\r\n {infoAvisoPrecioMenor}\r\n {infoAvisoPrecioMasBajo} \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n (conPrecio.includes(item.CodTipoRegistro) && (precio > 0) ?\r\n
    \r\n

    {literalPrecio}

    \r\n {\r\n (((precio>999999.99) || (precio>9999.99 && props.comoGrid)) ?\r\n {numberWithCommas(precio)}\r\n : ((precio>9999.99) || (precio>999.99 && props.comoGrid)) ?\r\n {numberWithCommas(precio)}\r\n :\r\n {numberWithCommas(precio)}\r\n )\r\n }\r\n {\r\n (props.mostrarFuturo && item.AuxDbl>0)?\r\n

    {numberWithCommas(item.AuxDbl)}

    \r\n :\r\n \r\n }\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n )\r\n }\r\n {\r\n (conEstado.includes(item.CodTipoRegistro) ?\r\n (conLaboratorio.includes(item.CodTipoRegistro) ?\r\n
    \r\n
    {item.EstadoAutorizacion}
    \r\n
    {item.Laboratorio}
    \r\n
    \r\n :\r\n
    \r\n
    {item.EstadoAutorizacion}
    \r\n
    \r\n )\r\n :\r\n \r\n )\r\n }\r\n
    \r\n {\r\n ((item.Codigo != '') && (item.Codigo != null) ?\r\n
    \r\n {literalCodigo}\r\n
    {item.Codigo}
    \r\n
    \r\n :\r\n \r\n ) \r\n }\r\n
    \r\n
    \r\n );\r\n }else{\r\n return(\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n {\r\n (problemaSuministro) ? \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n

    \r\n {\r\n ((item.Codigo != '') && (item.Codigo != null) ?\r\n item.Codigo\r\n :\r\n \r\n ) \r\n }\r\n

    \r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {(conPrecio.includes(item.CodTipoRegistro) && (precio > 0)) ?\r\n {numberWithCommas(precio)} €\r\n :\r\n \r\n }\r\n

    \r\n
    \r\n
    \r\n

    \r\n {(conLaboratorio.includes(item.CodTipoRegistro)) ?\r\n {item.Laboratorio}\r\n : \r\n \r\n }\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n {(conEstado.includes(item.CodTipoRegistro)) ?\r\n {item.EstadoAutorizacion}\r\n : \r\n \r\n }\r\n

    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FilaListaResBusqueda;\r\n\r\n","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {numberWithCommas, rootPath} from '../../../../services/utils.js'\r\n\r\nfunction FilaListaFM(props){\r\n const item = props.item;\r\n const literalCodigo = \"Cód. Nacional:\";\r\n const pictogramatipo = rootPath + \"img/person.svg\" ;\r\n const vesAFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"FichaFM\",\r\n newid: it.Id,\r\n filtros: props.filtros,\r\n numMostrar: props.numMostrar,\r\n idxOrden: props.idxOrden,\r\n });\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n var txtFina = \"\";\r\n var txtApor = \"\";\r\n var txtVisa = \"\";\r\n\r\n if (item.Financiado===\"S\")\r\n txtFina = \"Sí\";\r\n else if (item.Financiado === \"X\")\r\n txtFina = \"Según indicación\";\r\n else if (item.Financiado === \"N\")\r\n txtFina = \"No\";\r\n\r\n if (item.AuxStr===\"AR\")\r\n txtApor = \"Reducida\";\r\n else if (item.AuxStr === \"AN\")\r\n txtApor = \"Normal\";\r\n\r\n if (item.AuxStr2===\"S\")\r\n txtVisa = \"Sí\";\r\n else if (item.AuxStr2 === \"N\")\r\n txtVisa = \"No\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n
    \r\n

    {item.TipoRegistro}

    \r\n
    \r\n
    \r\n \r\n
    {item.Codigo}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n ((item.PVPIVA > 0) ?\r\n
    \r\n

    PVP con IVA

    \r\n {\r\n (((item.PVPIVA>999999.99) || (item.PVPIVA>9999.99 && props.comoGrid)) ?\r\n {numberWithCommas(item.PVPIVA)}\r\n : ((item.PVPIVA>9999.99) || (item.PVPIVA>999.99 && props.comoGrid)) ?\r\n {numberWithCommas(item.PVPIVA)}\r\n :\r\n {numberWithCommas(item.PVPIVA)}\r\n )\r\n }\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n

    PVP con IVA

    \r\n -\r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n Financiado:\r\n
    {txtFina}
    \r\n
    \r\n
    \r\n Aportación:\r\n
    {txtApor}
    \r\n
    \r\n
    \r\n Visado:\r\n
    {txtVisa}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) \r\n}\r\n\r\nexport default FilaListaFM;\r\n","function OpcionOrden(props){\r\n const index = props.index;\r\n const currentIndex = props.currentIndex;\r\n const texto = props.texto\r\n\r\n const getIndexSetOrden = (obj) =>{\r\n var idx = obj.index;\r\n props.setOrden(idx);\r\n }\r\n\r\n if (currentIndex===index)\r\n return (\r\n getIndexSetOrden({index})}>{texto} \r\n )\r\n else\r\n return (\r\n getIndexSetOrden({index})}>{texto} \r\n )\r\n}\r\n\r\nexport default OpcionOrden;","import React, { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport {ToggleClassNameToClassItems, RemoveClassNameToClassItems, AddClassNameToClassItems, rootPath} from '../../../../services/utils.js'\r\nimport OpcionOrden from './OpcionOrden.js'\r\n\r\n\r\nfunction EncabezadoListado(props){\r\n const [estadoOpcionesOrden, setEstadoOpcionesOrden] = useState(false);\r\n const ordenesPosibles = ['Nombre ascendente', 'Nombre descendente'\r\n , 'Código nacional ascendente', 'Código nacional descendente'\r\n , 'Precio de menor a mayor', 'Precio de mayor a menor'];\r\n if (props.mostrarFVisita)\r\n ordenesPosibles.push (\"Fecha visita\");\r\n\r\n if (props.mostrarDocumentos){\r\n ordenesPosibles.splice(0,6,\"Título ascendente\")\r\n ordenesPosibles.push(\"Título descendente\")\r\n ordenesPosibles.push(\"Fecha ascendente\")\r\n ordenesPosibles.push(\"Fecha descendente\")\r\n }\r\n const currentIndex = props.currentIndex; \r\n \r\n const opciones = ordenesPosibles.map(opcion => );\r\n\r\n const handleClickOrden = (e) =>{\r\n ToggleClassNameToClassItems('ordenListado',null,'active');\r\n setEstadoOpcionesOrden(!estadoOpcionesOrden);\r\n }\r\n \r\n \r\n const handleExport = (e) =>{\r\n //alert(\"Exportación de resultados no implementada\");\r\n props.alExportar(true);\r\n }\r\n\r\n const muestraBotonTabla = !props.mostrarFM && !props.mostrarEXT && !props.mostrarDocumentos;\r\n\r\n var claseSwitchGrid = 'switch__grid';\r\n var claseSwitchList = 'switch__list';\r\n var claseSwitchPackList = 'switch__packlist';\r\n\r\n if (props.comoGrid && !props.mostrarFM && !props.mostrarEXT)\r\n claseSwitchGrid += \" active\";\r\n else if (props.listaPack && muestraBotonTabla)\r\n claseSwitchPackList += \" active\";\r\n else\r\n claseSwitchList += \" active\";\r\n \r\n const nFiltrados = props.listaitems.length;\r\n const nDescargados = props.numDescargados;\r\n const nTotal = props.numTotal;\r\n var texto = nTotal + \"resultados\";\r\n if (nFiltrados === nDescargados)\r\n if (nTotal > nDescargados)\r\n texto = \"Descargados \" + nDescargados + \" de \" + nTotal + \". Descargando el resto... \"\r\n else\r\n texto = nDescargados.toString() + \" resultados \" \r\n else\r\n if (nTotal > nDescargados)\r\n texto = nFiltrados + \" de \" + nDescargados + \". Descargando el resto... \"\r\n else\r\n texto = nFiltrados + \" de \" + nDescargados + \" \"\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    {texto}

    \r\n {(!props.mostrarDocumentos) ?\r\n handleExport(e)} >\r\n \"Export\" Exportar\r\n \r\n :\r\n \r\n }\r\n {(props.mostrarLimpiaHistorial) ?\r\n props.alVaciar()} style={{paddingLeft:'10px', marginLeft:'10px', borderLeftStyle:'solid', borderLeftColor:'#414139', borderLeftWidth:'1px'}}>\r\n \"Vaciar Vaciar historial\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n {(!props.mostrarFM && !props.mostrarEXT) ?\r\n
    \r\n {/*
    props.clickComoGrid(e)}>\r\n \r\n
    */}\r\n {(muestraBotonTabla) ? \r\n
    props.clickComoPackList(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n
    props.clickComoList(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    props.clickComoGrid(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(!props.mostrarEXT) ?\r\n
    \r\n
    handleClickOrden(e)}>\r\n \"order\"\r\n Ordenar por…\r\n
    \r\n {opciones}\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default EncabezadoListado;\r\n","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {numberWithCommas, rootPath} from '../../../../services/utils.js'\r\n\r\nfunction FilaListaEXT(props){\r\n const item = props.item;\r\n const pictogramatipo = rootPath + \"img/person.svg\" ;\r\n const vesAFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"FichaEXT\",\r\n newid: it.Id,\r\n filtros: props.filtros,\r\n numMostrar: props.numMostrar,\r\n idxOrden: props.idxOrden,\r\n });\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n return (\r\n
    \r\n
    \r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n
    \r\n

    {item.AuxStr}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) \r\n}\r\n\r\nexport default FilaListaEXT;\r\n","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {FormatoFechaBonito, numberWithCommas, rootPath} from '../../../../services/utils.js'\r\n\r\nfunction FilaListaDOC(props){\r\n const item = props.item;\r\n const pictogramatipo = rootPath + \"img/alertas.svg\" ;\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const ano = (item.Fecha) ? new Date(item.Fecha).getFullYear() : 0; //( item.Fecha ? item.Fecha.substring(0,4) : '');\r\n const fecha = ( ano>1900 ? FormatoFechaBonito (new Date(item.Fecha)) : '');\r\n /*const tipoDoc = (item.IdTipo===15 ? \"Nota de seguridad\": \r\n (item.IdTipo===30 ? \"Alerta de calidad\" : \r\n (item.IdTipo===41 ? \"Nota de seguridad veterinaria\" : item.Tipo)));*/\r\n const tipoDoc = (item.IdTipo===15 ? \"Nota seguridad AEMPS\": \r\n (item.IdTipo===30 ? \"Alerta de calidad\" : \r\n (item.IdTipo===41 ? \"Nota de seguridad veterinaria\" : \r\n (item.IdTipo===44 ? \"Nota informativa AEMPS\" : \r\n (item.IdTipo===48 ? \"Nota informativa AESAN\" : \r\n (item.IdTipo===64 ? \"Nota informativa AEMPS\" : \r\n (item.Tipo && item.Tipo !== \"\" ? item.Tipo.substring(0,1).toUpperCase() + item.Tipo.substring(1).toLowerCase() :\r\n \"Otro\"\r\n )))))))\r\n\r\n var titulo = (item.Titulo.toLowerCase().endsWith(\".pdf\") ? item.Titulo.substring(0,item.Titulo.length - 4) : item.Titulo) \r\n \r\n if (titulo.substring(0,17).toUpperCase()===\"NOTA INFORMATIVA \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,15).toUpperCase()===\"NOTA SEGURIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,14).toUpperCase()===\"NOTA SEGURIDA \")\r\n titulo = titulo.substring(14);\r\n else if (titulo.substring(0,5).toUpperCase()===\"NOTA \")\r\n titulo = titulo.substring(5);\r\n else if (titulo.substring(0,3).toUpperCase()===\"NI \")\r\n titulo = titulo.substring(3);\r\n else if (titulo.substring(0,15).toUpperCase()===\"ALERTA CALIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,23).toUpperCase()===\"ALERTA DE MEDICAMENTOS \")\r\n titulo = titulo.substring(23);\r\n else if (titulo.substring(0,21).toUpperCase()===\"ALERTA DE VIGILANCIA \")\r\n titulo = titulo.substring(21);\r\n else if (titulo.substring(0,7).toUpperCase()===\"ALERTA \")\r\n titulo = titulo.substring(7);\r\n else if (titulo.substring(0,18).toUpperCase()===\"AMPLIACION ALERTA \")\r\n titulo = \"Ampliación alerta \" + titulo.substring(18);\r\n else if (titulo.substring(0,11).toUpperCase()===\"AMPLIACION \")\r\n titulo = \"Ampliación \" + titulo.substring(11);\r\n\r\n titulo = titulo.trim();\r\n\r\n if (titulo !== \"\")\r\n titulo = titulo.substring(0,1).toUpperCase() + titulo.substring(1);\r\n\r\n\r\n\r\n return (\r\n \r\n ) \r\n}\r\n\r\nexport default FilaListaDOC;\r\n\r\n/*\r\n
  • \r\n \r\n \r\n {fecha}\r\n \r\n

    \r\n

    \r\n {titulo}\r\n

    \r\n

    \r\n {tipoDoc}\r\n

    \r\n
    \r\n
  • \r\n\r\n*/","import React, { useState, useEffect } from \"react\";\r\nimport FilaResultadoBusqueda from './FilaListaResBusqueda';\r\nimport FilaListaFM from './FilaListaFM';\r\nimport EncabezadoListado from './EncabezadoListado';\r\nimport { AddClassNameToClassItems, getIdCCAA, RemoveClassNameToClassItems, rootPath } from \"../../../../services/utils\";\r\nimport FilaListaEXT from \"./FilaListaEXT\";\r\nimport FilaListaDOC from \"./FilaListaDOC\";\r\n\r\nfunction ListaResBusqueda(props){\r\n const [numMostrar, setNumMostrar] = useState((props.filtrosYlista.numMostrar) ? parseInt(props.filtrosYlista.numMostrar) : 10);\r\n const idxOrden = (props.filtrosYlista.idxOrden) ? props.filtrosYlista.idxOrden : 0;\r\n const [estadoVerComoGrid, setEstadoVerComoGrid] = useState(JSON.parse(localStorage.getItem(\"comoGrid\")));\r\n const [estadoVerListaPack, setEstadoVerListaPack] = useState(JSON.parse(localStorage.getItem(\"listaPack\")));\r\n const listaitems = props.filtrosYlista.listaFiltrada;\r\n const numTotal = props.filtrosYlista.numTotal;\r\n const numDescargados = props.filtrosYlista.numDescargados;\r\n const filtros = props.filtrosYlista.filtros;\r\n const numDefectoListaPack = 50;\r\n const numDefectoLista = 10;\r\n const numDefectoGrid = 9;\r\n const numMedio = 5;\r\n const ancho = window.innerWidth;\r\n const numColsGrid = (ancho>=944 ? 3 : ancho>=768 ? 2 : 1);\r\n const numMostrados = Math.min(numMostrar,listaitems.length);\r\n const numUltimaFila = numMostrados % numColsGrid;\r\n const unoOculto = (estadoVerComoGrid && numUltimaFila>1);\r\n\r\n useEffect(() => {\r\n var divisor = (estadoVerComoGrid ? numDefectoGrid : estadoVerListaPack ? numDefectoListaPack : numDefectoLista);\r\n var resto = numMostrar % divisor;\r\n if (resto > 0 ){\r\n if (resto < numMedio)\r\n setNumMostrar(numMostrar - resto);\r\n else\r\n setNumMostrar(numMostrar + (divisor - resto));\r\n }\r\n })\r\n\r\n const vistaComoGrid = () =>{\r\n AddClassNameToClassItems('switch__grid',null,'active');\r\n RemoveClassNameToClassItems('switch__list',null,'active');\r\n RemoveClassNameToClassItems('switch__packlist',null,'active');\r\n AddClassNameToClassItems('content__results',null,'grid');\r\n }\r\n \r\n const vistaComoList = () =>{\r\n AddClassNameToClassItems('switch__list',null,'active');\r\n RemoveClassNameToClassItems('switch__grid',null,'active');\r\n RemoveClassNameToClassItems('switch__packlist',null,'active');\r\n RemoveClassNameToClassItems('content__results',null,'grid');\r\n }\r\n\r\n const vistaComoPackList = () =>{\r\n AddClassNameToClassItems('switch__packlist',null,'active');\r\n RemoveClassNameToClassItems('switch__list',null,'active');\r\n RemoveClassNameToClassItems('switch__grid',null,'active');\r\n RemoveClassNameToClassItems('content__results',null,'grid');\r\n }\r\n\r\n const handleClickGrid = (e) =>{\r\n vistaComoGrid();\r\n localStorage.setItem(\"comoGrid\", true);\r\n setEstadoVerComoGrid(true);\r\n }\r\n \r\n const handleClickList = (e) =>{\r\n vistaComoList();\r\n localStorage.setItem(\"comoGrid\", false);\r\n localStorage.setItem(\"listaPack\", false);\r\n setEstadoVerComoGrid(false);\r\n setEstadoVerListaPack(false);\r\n }\r\n\r\n const handleClickPackList = (e) =>{\r\n vistaComoPackList();\r\n localStorage.setItem(\"comoGrid\", false);\r\n localStorage.setItem(\"listaPack\", true);\r\n setEstadoVerComoGrid(false);\r\n setEstadoVerListaPack(true);\r\n }\r\n\r\n const claseContentResults = (estadoVerComoGrid ? \"content__results grid\" : \"content__results\");\r\n\r\n var visitados = JSON.parse(localStorage.getItem(\"visitados\"));\r\n if (!visitados)\r\n visitados = [];\r\n\r\n var idCCAA = getIdCCAA();\r\n const literalPVP = (((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) && props.codigoPagina !== \"BAgrupHomoMUH\") ? 'PVP sin IVA': 'PVP con IVA');\r\n\r\n const isMobile = (ancho<768); \r\n\r\n const muestraTabla = !isMobile && !estadoVerComoGrid && estadoVerListaPack && !props.mostrarFM && !props.mostrarEXT && !props.mostrarDocumentos;\r\n\r\n const borraDeLista = (tipo, id) => {\r\n props.borraDeLista(tipo,id);\r\n }\r\n\r\n \r\n const muestraMas = () => {\r\n var incremento = (estadoVerComoGrid ? numDefectoGrid : estadoVerListaPack ? numDefectoListaPack : numDefectoLista);\r\n var newLength = numMostrar + incremento;\r\n\r\n if (props.mostrarFM){\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarEXT){\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarDocumentos){\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else{\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n primero = {(listaitems.indexOf(fila)===0)}\r\n alBorrar = {borraDeLista}\r\n >)\r\n } \r\n setNumMostrar(newLength);\r\n };\r\n\r\n var filas;\r\n if (listaitems != null)\r\n {\r\n if (props.mostrarFM){\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarEXT){\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarDocumentos){\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else{\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n primero = {(listaitems.indexOf(fila)===0)}\r\n alBorrar = {borraDeLista}\r\n >)\r\n } \r\n var nTotal = listaitems.length;\r\n var bMostrarMas = (nTotal>numMostrar);\r\n \r\n\r\n return (\r\n
    \r\n \r\n \r\n {(!muestraTabla) ? \r\n
    \r\n {(!props.mostrarEXT) && (!props.mostrarDocumentos) ?\r\n
    \r\n
    \r\n

    {literalPVP}

    \r\n {(props.mostrarFuturo) ?\r\n

    nuevo

    \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n {(!props.mostrarFM) && (!props.mostrarEXT) ?\r\n

    Estado / Laboratorio

    \r\n :\r\n

    Dispensación/Financiación

    \r\n }\r\n \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n {filas}\r\n {\r\n (unoOculto)?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n

    \r\n {filas.length} resultados de {nTotal}\r\n

    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n
    \r\n

     

    \r\n
    \r\n
    \r\n

     

    \r\n
    \r\n
    \r\n

    Código

    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n

    {literalPVP}

    \r\n
    \r\n
    \r\n

    Laboratorio

    \r\n
    \r\n
    \r\n

    Estado

    \r\n
    \r\n
    \r\n {filas}\r\n
    \r\n
     
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {filas.length} resultados de {nTotal}\r\n

    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n } \r\n else{\r\n return(\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default ListaResBusqueda;\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { numberWithCommas, ToggleClassNameToClassItems } from \"../../../../services/utils\";\r\nimport FiltroBusqueda from \"./FiltroBusqueda\";\r\n\r\nfunction FiltrosBusqueda(props){\r\n const filtros = props.filtros;\r\n const htmlFiltros = (filtros ?\r\n
    \r\n {filtros.map(filtro => \r\n )}\r\n
    \r\n :\r\n
    \r\n );\r\n\r\n const handleClickFiltrosHeader = (e) =>{\r\n ToggleClassNameToClassItems('cover__aside', null, 'active');\r\n }\r\n\r\n const estiloAsideConPMenores = {borderTopStyle:'none'}\r\n const estiloAsideNormal = {};\r\n const estiloAside = (props.conPreciosMenores) ? estiloAsideConPMenores : estiloAsideNormal\r\n const estiloSegundoAsideNormal = {marginTop:'0px', borderTopStyle: 'none'}\r\n const estiloSegundoAside = (props.conPreciosMenores) ? estiloAsideConPMenores : estiloSegundoAsideNormal\r\n\r\n\r\n return ( \r\n \r\n )\r\n} \r\nexport default FiltrosBusqueda;\r\n\r\n","import ItemResumenFiltros from \"./ItemResumenFiltros\"\r\n\r\nfunction ResumenFiltros(props){\r\n const filtros = props.filtros\r\n var items = []\r\n for(var i=0 ; i -1){\r\n items.push(\r\n {\r\n descripcion: filtros[i].display + ' ' + filtros[i].displayValor,\r\n idFiltro : filtros[i].idGrupo,\r\n valor: filtros[i].valor\r\n }\r\n )\r\n }\r\n }\r\n if (filtros[i].tipo==='Text'){\r\n if (filtros[i].valor !== ''){\r\n items.push(\r\n {\r\n descripcion: filtros[i].display + ' ' + filtros[i].valor,\r\n idFiltro : filtros[i].idGrupo,\r\n valor: filtros[i].valor\r\n }\r\n )\r\n }\r\n }\r\n if (filtros[i].tipo === 'Check'){\r\n for (var j=0; j )\r\n\r\n return (\r\n
    \r\n
     
    \r\n
     
    \r\n
    \r\n
    Filtros
    \r\n
    \r\n
    \r\n {itemsHtml}\r\n
    \r\n props.borraTodosFiltros()} style={{width:'120px'}}>\r\n Quitar filtros\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ResumenFiltros;\r\n","import Acordeon from \"../../../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst GrupoCamposExportables = (props) => {\r\n const codGrupo = props.codGrupo;\r\n const titulo = props.titulo;\r\n const campos = props.campos;\r\n const activo = props.activo;\r\n const seleccionados = props.seleccionados;\r\n const disabledAdd = props.disabledAdd;\r\n\r\n var contenidoAcordeon = (\r\n ((campos) ?\r\n campos.map(campo =>\r\n ((seleccionados.includes(campo.CodCampo) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n const HTMLAcordeon = (\r\n
    \r\n
    \r\n {contenidoAcordeon}\r\n
    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default GrupoCamposExportables;\r\n \r\n","import BP2022Service from \"../../../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { CSVLink, CSVDownload } from \"react-csv\";\r\nimport GrupoCamposExportables from \"./GrupoCamposExportable\";\r\nimport LoadingPopup from \"../../../Loading.Popup\";\r\nimport { AddClassNameToClassItems, numberWithCommas, PerfilUsuario } from \"../../../../../services/utils\";\r\nimport Emergente from \"../../../../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\n\r\nconst CamposExportacion= (props) => {\r\n const [listasPosibles, setListasPosibles] = useState([]);\r\n const [listasResultados, setListasResultados] = useState(props.listasResultados);\r\n const [codTipoExporta, setCodTipoExporta] = useState(props.codTipoExporta);\r\n const [codsSeleccionados, setCodsSeleccionados] = useState(null);\r\n const [datosAExportar, setDatosAExportar] = useState({\r\n headers: [],\r\n data: [],\r\n });\r\n const [loading, setLoading] = useState(false);\r\n const [txtExportar, setTxtExportar] = useState(\"Exportar\");\r\n const [txtCancelar, setTxtCancelar] = useState(\"Cancelar\");\r\n// const [setMuestraEmergenteMaxRegistros, setMuestraEmergenteMaxRegistros] = useState(false);\r\n const maxRegs = 5000;\r\n\r\n\r\n\r\n var listaPosibles = ((listasPosibles.find(item => item.codTipoExporta === codTipoExporta)) ? listasPosibles.find(item => item.codTipoExporta === codTipoExporta).lista : null);\r\n var listaResultados = ((listasResultados.find(item => item.codTipoExporta === codTipoExporta)) ? listasResultados.find(item => item.codTipoExporta === codTipoExporta).lista : null);\r\n\r\n\r\n var numTotalCampos = 0;\r\n if (listaPosibles){\r\n for (var i=0; i0)\r\n\r\n //var maxCampos = 100;\r\n var maxCampos = (codTipoExporta===\"MUH\") ? 7 : 5;\r\n\r\n \r\n\r\n\r\n useEffect(() => {\r\n if (listaPosibles === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[codTipoExporta]);\r\n\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.obtenCamposExportables(codTipoExporta, props.codBusqueda)\r\n .then((response) => {\r\n var lp = {\r\n codTipoExporta : codTipoExporta,\r\n lista : response.data,\r\n };\r\n const nuevasListasPosibles = JSON.parse(JSON.stringify(listasPosibles));\r\n nuevasListasPosibles.push(lp);\r\n /*var nuevaSeleccion=[];\r\n for (var i=0; i<2; i++){\r\n if(lp.lista[0].Campos[i])\r\n nuevaSeleccion.push(lp.lista[0].Campos[i].CodCampo);\r\n }\r\n setCodsSeleccionados(nuevaSeleccion);*/\r\n setListasPosibles(nuevasListasPosibles);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const clickExportar = (e) =>{\r\n if (codTipoExporta && codTipoExporta != \"\" && listaResultados && listaResultados.length>0 && codsSeleccionados && codsSeleccionados.length>0){\r\n if (listaResultados.length<=maxRegs || PerfilUsuario() === \"CON\" ){\r\n setLoading(true)\r\n BP2022Service.obtenRegistrosAExportar(codTipoExporta, listaResultados, codsSeleccionados, '', props.codBusqueda, props.aux1, props.aux2)\r\n .then((response) => {\r\n const nuevosDatosAExportar = {\r\n headers: response.data.cabeceras,\r\n data: response.data.datos,\r\n }\r\n setLoading(false);\r\n setDatosAExportar(nuevosDatosAExportar);\r\n setTxtExportar(\"Volver a generar\");\r\n setTxtCancelar(\"Volver al listado\")\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setLoading(false);\r\n });\r\n }\r\n else{\r\n abreEmergenteMaxRegs();\r\n }\r\n }\r\n }\r\n\r\n const checkCampo= (e, valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(codsSeleccionados));\r\n var activo = e.target.checked;\r\n if (activo){\r\n if (!nuevaSeleccion.includes(valor)){\r\n nuevaSeleccion.push(valor);\r\n }\r\n }\r\n if (!activo){\r\n if (nuevaSeleccion.includes(valor)){\r\n var idx = nuevaSeleccion.indexOf(valor);\r\n nuevaSeleccion.splice(idx,1);\r\n }\r\n }\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }\r\n\r\n const disabledAdd = (codsSeleccionados && codsSeleccionados.length>=maxCampos && PerfilUsuario() !== \"CON\");\r\n\r\n if (!codsSeleccionados && listaPosibles){\r\n if (codTipoExporta === \"MUH\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNMUH\");\r\n nuevaSeleccion.push(\"NOMMUH\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"MUV\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNMUV\");\r\n nuevaSeleccion.push(\"NOMMUV\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"PPF\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNPPF\");\r\n nuevaSeleccion.push(\"NOMPPF\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"FM\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNFM\");\r\n nuevaSeleccion.push(\"NOMFM\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"PA\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"NOMPA\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"EXT\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"NOMEXT\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else{\r\n setCodsSeleccionados([]);\r\n }\r\n }\r\n\r\n const HTMLGruposExportables = (\r\n (listaPosibles) ?\r\n listaPosibles.map(grupo => \r\n ((grupo.Campos && grupo.Campos.length>0) ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n )\r\n )\r\n :\r\n
    \r\n );\r\n\r\n function getTipoFromCodTipo(codTipo){\r\n var res = \"\";\r\n switch (codTipo){\r\n case \"MUH\":\r\n res = \"Medicamentos uso humano\";\r\n break;\r\n case \"MUV\":\r\n res = \"Medicamentos veterinarios\";\r\n break;\r\n case \"PPF\":\r\n res = \"Productos de parafarmacia\";\r\n break;\r\n case \"PA\":\r\n res = \"Principios activos\";\r\n break;\r\n case \"FM\":\r\n res = \"Formulación magistral\";\r\n break;\r\n case \"ING\":\r\n res = \"Ingredientes\";\r\n break;\r\n case \"EXT\":\r\n res = \"Medicamentos extranjeros\";\r\n break;\r\n case \"PAT\":\r\n res = \"Enfermedades\";\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n const cambiaTab = (codTab) =>{\r\n if (codTab !== codTipoExporta)\r\n setCodsSeleccionados(null);\r\n setCodTipoExporta(codTab);\r\n }\r\n\r\n const abreEmergenteMaxRegs = () => {\r\n //e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n const tiposRegs = [];\r\n\r\n for (var j=0; j\r\n
    \r\n
      \r\n {tiposRegs.map(t =>
    • cambiaTab(t.cod)}>{t.texto}
    • )}\r\n
    \r\n
    \r\n \r\n );\r\n /* style={{marginTop:'0px'}}*/\r\n\r\n const modalTitulo = 'Número máximo de registros excedido';\r\n const modalContent = (\r\n
    \r\n

    \r\n El listado generado supera el límite máximo de registros que pueden exportarse\r\n (máximo {numberWithCommas(maxRegs)}). Puede volver a generar el listado limitando los criterios de búsqueda \r\n de forma que obtenga un listado con un menor número de registros.\r\n

    \r\n

    \r\n En caso de que necesite exportar una cantidad superior de información, le rogamos se ponga \r\n en contacto con el Consejo General en el correo electrónico congral@redfarma.org.\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalMaxRegsExporta\"\r\n\r\n return (\r\n
    \r\n {HTMLTabs}\r\n
    \r\n {(loading) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    e.preventDefault()}>\r\n
    \r\n

    {listaResultados.length} registros

    \r\n
    \r\n
    \r\n

    {literalTitulo}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(numTotalCampos>maxCampos)?\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Puedes seleccionar hasta {maxCampos.toString()} campos. En caso de querer cambiar un campo por otro, desmarca previamente el que desees eliminar\r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n {HTMLGruposExportables}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {(datosAExportar.data && datosAExportar.data.length>0 && datosAExportar.headers && datosAExportar.headers.length>0) ?\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Si el archivo no se descarga automáticamente pulse sobre el siguiente botón\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n};\r\n\r\nexport default CamposExportacion;\r\n/*\r\n \r\n \r\n*/","import { RemoveClassNameToClassItems } from \"../../services/utils\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\nconst AccesoRestringido = (props) => {\r\n const modalTitulo = \"Acceso restringido\";\r\n const modalKeyName = \"AccessNotAllowed\"\r\n const modalContent = (\r\n
    \r\n

    Para acceder a la funcionalidad solicitada debe estár suscrito a BOT PLUS.\r\n

    \r\n

    Puede encontrar más información acerca de BOT PLUS y de como suscribirse aquí\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const cerrar = () =>{\r\n if (!props.atras){\r\n RemoveClassNameToClassItems(modalKeyName, null, 'active');\r\n }else{\r\n props.atras();\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AccesoRestringido;","import React, { useState, useEffect } from \"react\";\r\nimport ListaResBusqueda from \"./Listado/ListaResBusqueda\";\r\nimport FiltrosBusqueda from \"./Filtros/FiltrosBusqueda\";\r\nimport ResumenFiltros from \"./ResumenFiltros/ResumenFiltros\";\r\nimport BusqMedsService from \"../../../services/user.service\";\r\nimport { GetFiltrosStr, handleClasesCheckbox, PerfilUsuario, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../Loading.Popup\";\r\nimport ColumnaSeccionMenuBlanco from \"../../Cabecera/MenuBlanco/ColumnaSeccionMenuBlanco\";\r\nimport CamposExportacion from \"./Listado/Exportacion/CamposExportacion\";\r\nimport AccesoRestringido from \"../../Configuarcion/AccesoRestringido\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\n\r\nvar idUltimaBusqueda = 0;\r\n\r\nconst FiltrosYResultados = (props) => {\r\n const [filtrosYlista, setFiltrosYLista] = useState({\r\n listaFiltrada: props.infoPagina.listaRes, //aplicaFiltros(, props.filtros, props.infoPagina.idxOrden),\r\n filtros: props.filtros,\r\n idxOrden: props.infoPagina.idxOrden,\r\n numMostrar: props.infoPagina.numMostrar,\r\n numTotal: props.infoPagina.total,\r\n numDescargados: (props.infoPagina.listaRes) ? props.infoPagina.listaRes.length : 0,\r\n });\r\n const [codigoPagina, setCodigoPagina] = useState(props.infoPagina.codigoPagina);\r\n const [verCamposExporta, setVerCamposExporta] = useState (null);\r\n const [infoExportacion, setInfoExportacion] = useState (null);\r\n var loading = false;\r\n\r\n var campo = '';\r\n var ascendente = true;\r\n\r\n\r\n function compare (xa, xb) {\r\n var a = xa;\r\n var b = xb;\r\n if (a[campo] === null) \r\n {\r\n if ((campo === 'PVPIVA')||(campo === 'Codigo'))\r\n a[campo] = 0;\r\n else\r\n a[campo]='';\r\n }\r\n else{\r\n if (campo === \"FechaVisita\")\r\n a[campo] = new Date(a[campo]).getTime();\r\n }\r\n\r\n if (b[campo] === null) \r\n {\r\n if ((campo === 'PVPIVA')||(campo === 'Codigo'))\r\n b[campo]=0;\r\n else\r\n b[campo]='';\r\n } \r\n else{\r\n if ((campo === \"FechaVisita\")||(campo === \"Fecha\"))\r\n b[campo] = new Date(b[campo]).getTime();\r\n }\r\n\r\n if(((a[campo]>b[campo]) && ascendente) || ((a[campo]b[campo]) && !ascendente))\r\n return -1;\r\n else\r\n return 0\r\n }\r\n\r\n function cambioOrden (lista,idx) {\r\n\r\n if ((lista) && (idx>=0))\r\n {\r\n let templista = JSON.parse(JSON.stringify(lista));\r\n if (props.infoPagina.codigoPagina !== \"BDocumentos\"){\r\n switch(idx){\r\n case 0:\r\n campo = 'NombreCompleto';\r\n ascendente = true;\r\n break;\r\n case 1:\r\n campo = 'NombreCompleto';\r\n ascendente = false;\r\n break;\r\n case 2:\r\n campo = 'Codigo';\r\n ascendente = true;\r\n break;\r\n case 3:\r\n campo = 'Codigo';\r\n ascendente = false;\r\n break;\r\n case 4:\r\n campo = 'PVPIVA';\r\n ascendente = true;\r\n break;\r\n case 5:\r\n campo = 'PVPIVA';\r\n ascendente = false;\r\n break; \r\n case 6:\r\n campo = 'FechaVisita';\r\n ascendente = false;\r\n break; \r\n }\r\n lista = lista.sort(compare);\r\n return lista;\r\n }\r\n else{\r\n switch(idx){\r\n case 0:\r\n campo = 'Titulo';\r\n ascendente = true;\r\n break;\r\n case 1:\r\n campo = 'Titulo';\r\n ascendente = false;\r\n break;\r\n case 2:\r\n campo = 'Fecha';\r\n ascendente = true;\r\n break; \r\n case 3:\r\n campo = 'Fecha';\r\n ascendente = false;\r\n break; \r\n }\r\n lista = lista.sort(compare);\r\n return lista;\r\n }\r\n }\r\n return lista;\r\n }\r\n\r\n function aplicaFiltros(lista, filtros, orden)\r\n {\r\n if (filtros)\r\n {\r\n for (var i=0; i item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista==='int')\r\n if (filtro.valor && filtro.valor !== -1)\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista==='string')\r\n if (filtro.valor && filtro.valor !== ''){\r\n lista = lista.filter(item => item[filtro.campolista]);\r\n lista = lista.filter(item => item[filtro.campolista].toString().toLowerCase().includes(filtro.valor.toLowerCase()));\r\n }\r\n }\r\n if (filtro.tipo==='ListBox'){\r\n if (filtro.tipoCampolista==='codString')\r\n if (filtro.valor && filtro.valor !== '')\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista==='int')\r\n if (filtro.valor && filtro.valor !== -1)\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista === 'array')\r\n if (filtro.valor && filtro.valor !== -1)\r\n lista = lista.filter(item => item[filtro.campolista].includes(filtro.valor));\r\n }\r\n if (filtro.tipo==='Text'){\r\n if (filtro.tipoCampolista==='string')\r\n if (filtro.valor && filtro.valor !== ''){\r\n //lista = lista.filter(item => item[filtro.campolista]);\r\n lista = lista.filter(item => item[filtro.campolista].toString().toLowerCase().includes(filtro.valor.toLowerCase()));\r\n }\r\n }\r\n if (filtro.tipo==='Check'){\r\n if ((filtro.tipoCampolista==='codString') || (filtro.tipoCampolista==='int') || (filtro.tipoCampolista==='array') || (filtro.tipoCampolista==='float')){\r\n if (filtro.valores){\r\n if (filtro.excluyente){\r\n var enc = false;\r\n for (var i=0; i parseInt(item[filtro.campolista])===parseInt(filtro.valores[i].value));\r\n else\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valores[i].value);\r\n }else if (relacion === \"comparacion\"){\r\n if (filtro.valores[i].comparacion===\">\"){\r\n lista = lista.filter(item => item[filtro.campolista]>filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\">=\"){\r\n lista = lista.filter(item => item[filtro.campolista]>=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<\"){\r\n lista = lista.filter(item => item[filtro.campolista] item[filtro.campolista]<=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<>\"){\r\n lista = lista.filter(item => item[filtro.campolista]!==filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"=\"){\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valores[i].value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else{ //no excluyente\r\n const relacion = (filtro.relacion) ? filtro.relacion : \"igualdad\";\r\n if ((relacion === \"igualdad\") || (relacion === \"notIn\")){\r\n var seleccionados = [];\r\n for (var i=0; i0){\r\n if (filtro.tipoCampolista === 'array'){ \r\n if (filtro.relacion === \"notIn\"){ \r\n lista = lista.filter(item => (!item[filtro.campolista] || item[filtro.campolista].filter(valorlista => seleccionados.includes(valorlista) ).length==0));\r\n }else{\r\n lista = lista.filter(item => (item[filtro.campolista].filter(valorlista => seleccionados.includes(valorlista) ).length>0));\r\n }\r\n }\r\n else\r\n lista = lista.filter(item => seleccionados.includes(item[filtro.campolista]));\r\n }\r\n }else if (relacion === \"comparacion\"){\r\n for (var i=0; i\"){\r\n lista = lista.filter(item => item[filtro.campolista]>filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\">=\"){\r\n lista = lista.filter(item => item[filtro.campolista]>=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<\"){\r\n lista = lista.filter(item => item[filtro.campolista] item[filtro.campolista]<=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<>\"){\r\n lista = lista.filter(item => item[filtro.campolista]!==filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"=\"){\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valores[i].value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return lista;\r\n };\r\n\r\n\r\n const mostrarCamposExporta= (valor) => {\r\n if (valor){\r\n var infoExport = [];\r\n var tieneMUH = false;\r\n var tieneMUV = false;\r\n var tienePPF = false;\r\n var tieneFM = false;\r\n var defaultTipoExporta = \"\";\r\n for (var i=0; i ie.codTipoExporta === codTipoExporta);\r\n if (!info){\r\n info = {codTipoExporta : codTipoExporta, lista : []}\r\n infoExport.push(info);\r\n }\r\n if (item.CodTipoRegistro===\"ASO\" || item.CodTipoRegistro===\"ASOH\" || item.CodTipoRegistro===\"ASOV\"){\r\n info.lista.push(item.Id + 1000000);\r\n }else{\r\n info.lista.push(item.Id);\r\n }\r\n if (i===0)\r\n defaultTipoExporta = codTipoExporta;\r\n }\r\n if (tieneMUH) defaultTipoExporta = \"MUH\";\r\n else if (tieneMUV) defaultTipoExporta = \"MUV\";\r\n else if (tienePPF) defaultTipoExporta = \"PPF\";\r\n setVerCamposExporta(defaultTipoExporta);\r\n setInfoExportacion(infoExport);\r\n }\r\n else{\r\n setVerCamposExporta(null);\r\n }\r\n }\r\n\r\n const vaciarHistorial = () => {\r\n BP2022Service.emptyHistorial();\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n tempVar.listaFiltrada = [];\r\n tempVar.numTotal = 0;\r\n tempVar.numMostrar = 0;\r\n tempVar.numDescargados = 0;\r\n setFiltrosYLista(tempVar);\r\n };\r\n\r\n const cambioFiltroCheck = (idFiltro, idValor, marcado, ) => {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n var enc = false;\r\n for (var i=0; i {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n var enc = false;\r\n for (var i=0; i item.codigo === valor)\r\n if (item) tempVar.filtros[i].displayValor = item.valor;\r\n }\r\n tempVar.listaFiltrada = aplicaFiltros(props.infoPagina.listaRes, tempVar.filtros, tempVar.idxOrden);\r\n setFiltrosYLista(tempVar);\r\n }\r\n }\r\n };\r\n\r\n const cambioOrdenList = (idxOrden) => {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n tempVar.idxOrden = idxOrden;\r\n tempVar.listaFiltrada = cambioOrden(tempVar.listaFiltrada,idxOrden);\r\n setFiltrosYLista(tempVar);\r\n };\r\n\r\n const borraFiltro = (idFiltro, idValor) =>\r\n {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n var enc = false;\r\n for (var i=0; i\r\n {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n for (var i=0; i{\r\n if ((props.infoPagina.listaRes != null) && (filtros != null))\r\n {\r\n for (var i=0; i0)){\r\n filtros[i].posibles = props.filtros[i].posibles;\r\n if (filtros[i].tipo === 'ListBox'){\r\n if (filtros[i].valor>0){\r\n var item = filtros[i].posibles.find(item => item.codigo === filtros[i].valor)\r\n if (item) filtros[i].displayValor = item.valor;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n if (props.infoPagina.codigoPagina !== codigoPagina){\r\n tempVar.filtros = props.filtros;\r\n setFiltrosYLista(tempVar);\r\n setCodigoPagina(props.codigoPagina);\r\n setVerCamposExporta(null);\r\n }\r\n if (props.infoPagina.listaRes===null){\r\n tempVar.filtros = props.filtros;\r\n if (verCamposExporta)\r\n setVerCamposExporta(null);\r\n }\r\n if ((!props.infoPagina.listaRes) || (!props.infoPagina.completa && !loading)){\r\n busqueda();\r\n if (verCamposExporta)\r\n setVerCamposExporta(null);\r\n }\r\n if (props.infoPagina.listaRes){\r\n ChequeaPosiblesFiltros(tempVar.filtros);\r\n tempVar.listaFiltrada = aplicaFiltros(props.infoPagina.listaRes, tempVar.filtros, tempVar.idxOrden);\r\n tempVar.numTotal = props.infoPagina.total;\r\n tempVar.numDescargados = props.infoPagina.listaRes.length;\r\n setFiltrosYLista(tempVar);\r\n }\r\n for (var i=0; i {\r\n if (rutaAlInicioBusqueda == window.location.href)\r\n {\r\n var completa = true;\r\n if (incompleta)\r\n completa = false;\r\n props.cambiaPagina({\r\n newpagina: props.infoPagina.codigoPagina,\r\n newid: props.infoPagina.id,\r\n newlista: resultados,\r\n texto: props.infoPagina.texto,\r\n filtros: filtrosYlista.filtros,\r\n titulo: titulo,\r\n filtrosActivos: props.infoPagina.filtrosActivos,\r\n numMostrar: props.infoPagina.numMostrar,\r\n idxOrden: filtrosYlista.idxOrden,\r\n tipoPagina: \"ResultadosBusqueda\",\r\n completa: completa,\r\n total: total,\r\n idEpi: props.infoPagina.idEpi,\r\n idsEnfs: props.infoPagina.idsEnfs,\r\n idsMeds: props.infoPagina.idsMeds,\r\n txt: props.infoPagina.txt,\r\n idLab: props.infoPagina.idLab,\r\n idGT: props.infoPagina.idGT,\r\n idsLab: props.infoPagina.idsLab,\r\n idsGT: props.infoPagina.idsGT,\r\n pas: props.infoPagina.pas,\r\n solo: props.infoPagina.solo,\r\n idVia: props.infoPagina.idVia,\r\n idFF: props.infoPagina.idFF,\r\n ints: props.infoPagina.ints,\r\n uds: props.infoPagina.uds,\r\n emr: props.infoPagina.emr,\r\n edad: props.infoPagina.edad,\r\n undEdad: props.infoPagina.undEdad,\r\n enfsRel: props.infoPagina.enfsRel,\r\n anasRel: props.infoPagina.anasRel,\r\n ops: props.infoPagina.ops,\r\n idEspecie: props.infoPagina.idEspecie,\r\n idEnf: props.infoPagina.idEnf,\r\n idTipo: props.infoPagina.idTipo,\r\n idSubtipo: props.infoPagina.idSubtipo,\r\n idsTipo: props.infoPagina.idsTipo,\r\n idsSubtipo: props.infoPagina.idsSubtipo,\r\n tipoFF: props.infoPagina.tipoFF,\r\n idForma: props.infoPagina.idForma,\r\n idColor1: props.infoPagina.idColor1,\r\n idColor2: props.infoPagina.idColor2,\r\n idSabor: props.infoPagina.idSabor,\r\n CO1: props.infoPagina.CO1,\r\n CO2: props.infoPagina.CO2,\r\n tamanos: props.infoPagina.tamanos,\r\n ranura: props.infoPagina.ranura,\r\n logo: props.infoPagina.logo,\r\n difCol: props.infoPagina.difCol,\r\n ins1: props.infoPagina.ins1,\r\n ins2: props.infoPagina.ins2,\r\n anycol: props.infoPagina.anycol,\r\n col2: props.infoPagina.col2,\r\n idPais: props.infoPagina.idPais,\r\n inicio: props.infoPagina.inicio,\r\n fin: props.infoPagina.fin,\r\n pvpMenor: pvpMenor,\r\n pvpMasBajo: pvpMasBajo,\r\n literalPMenor: literalPMenor,\r\n literalPMasBajo: literalPMasBajo,\r\n fechaAutoIni: props.infoPagina.fechaAutoIni,\r\n fechaAutoFin: props.infoPagina.fechaAutoFin,\r\n fechaBajaIni: props.infoPagina.fechaBajaIni,\r\n fechaBajaFin: props.infoPagina.fechaBajaFin,\r\n fechaExFIIni: props.infoPagina.fechaExFIIni,\r\n fechaExFIFin: props.infoPagina.fechaExFIFin,\r\n fechaExSNSIni: props.infoPagina.fechaExSNSIni,\r\n fechaExSNSFin: props.infoPagina.fechaExSNSFin,\r\n fechaInSNSIni: props.infoPagina.fechaInSNSIni,\r\n fechaInSNSFin: props.infoPagina.fechaInSNSFin,\r\n fechaComerIni: props.infoPagina.fechaComerIni,\r\n fechaComerFin: props.infoPagina.fechaComerFin,\r\n idCampoP: props.infoPagina.idCampoP,\r\n idOpP: props.infoPagina.idOpP,\r\n pre: props.infoPagina.pre,\r\n idPredefP: props.infoPagina.idPredefP,\r\n idsAA: props.infoPagina.idsAA,\r\n idsAN: props.infoPagina.idsAN,\r\n idsDC: props.infoPagina.idsDC,\r\n idsMen: props.infoPagina.idsMen,\r\n idEpi: props.infoPagina.idEpi,\r\n texto: props.infoPagina.texto,\r\n noTexto : props.infoPagina.noTexto,\r\n opb: props.infoPagina.opb,\r\n seleccionados: props.infoPagina.seleccionados,\r\n });\r\n }\r\n }\r\n\r\n\r\n var rutaAlInicioBusqueda = '';\r\n \r\n const busqueda = () => {\r\n var numMax = 500;\r\n if (props.infoPagina.listaRes){\r\n numMax = 100000;\r\n }\r\n loading = true;\r\n rutaAlInicioBusqueda = window.location.href;//history.location.pathname + history.location.search;\r\n var idBusqueda = Math.floor(Math.random() * (1000000));\r\n idUltimaBusqueda = idBusqueda;\r\n switch (props.infoPagina.codigoPagina){\r\n case 'BInicio':\r\n BusqMedsService.getMedsByName(props.infoPagina.texto, props.infoPagina.opb, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratorioMUV':\r\n case 'BLaboratorioMUH':\r\n case 'BLaboratorioMHO':\r\n BusqMedsService.medicamentosLaboratorio(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratorioPPF':\r\n BusqMedsService.productosLaboratorio(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAgrupHomoAutoMUH\":\r\n BusqMedsService.medicamentosAgrupacionAuto (props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n var filtroscp = filtrosYlista.filtros.find(f => f.idGrupo === \"COMPPRE\");\r\n if (filtroscp && filtroscp.valores){\r\n var filtropm = filtroscp.valores.find(v => v.idValor === \"SPM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n filtropm = filtroscp.valores.find(v => v.idValor === \"APM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n var filtropmb = filtroscp.valores.find(v => v.idValor === \"SPMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n filtropmb = filtroscp.valores.find(v => v.idValor === \"APMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n }\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BAgrupHomoMUH\":\r\n BusqMedsService.medicamentosAgrupacioNac(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n var filtroscp = filtrosYlista.filtros.find(f => f.idGrupo === \"COMPPRE\");\r\n if (filtroscp && filtroscp.valores){\r\n var filtropm = filtroscp.valores.find(v => v.idValor === \"SPM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n filtropm = filtroscp.valores.find(v => v.idValor === \"APM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n var filtropmb = filtroscp.valores.find(v => v.idValor === \"SPMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n filtropmb = filtroscp.valores.find(v => v.idValor === \"APMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n }\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BAgrupHomoAutoPPF\":\r\n BusqMedsService.productosAgrupacionAuto(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BAgrupHomoPPF\":\r\n BusqMedsService.productosAgrupacionNac(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BFormaFarmaMUH\":\r\n case \"BFormaFarmaMUV\":\r\n BusqMedsService.medicamentosFormaFarma(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFormaFarmaPPF\":\r\n BusqMedsService.productosFormaFarma(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAFMUH\":\r\n case \"BAFMUV\":\r\n case \"BAMMUH\":\r\n BusqMedsService.principiosActividad(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BActPPF\":\r\n BusqMedsService.ingredientesActividad(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratoriosMUH':\r\n case 'BLaboratoriosMUV':\r\n case 'BLaboratoriosMHO':\r\n BusqMedsService.medicamentosLaboratorios(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratoriosPPF':\r\n BusqMedsService.productosLaboratorios(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BFormasFarmaMUH\":\r\n case \"BFormasFarmaMUV\":\r\n BusqMedsService.medicamentosFormasFarma(props.infoPagina.seleccionados, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFormasFarmaPPF\":\r\n BusqMedsService.productosFormasFarma(props.infoPagina.seleccionados, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAFsMUH\":\r\n case \"BAFsMUV\":\r\n BusqMedsService.principiosActividadesY(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAMsMUH\":\r\n BusqMedsService.principiosActividadesY(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BActsPPF\":\r\n BusqMedsService.ingredientesActividadesO(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAnalisisMUH\":\r\n BusqMedsService.medicamentosAnalisis(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFarmacogeneticaMUH\":\r\n BusqMedsService.medicamentosBiomarcador(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BPAMUH\":\r\n case \"BPAMUV\":\r\n BusqMedsService.medicamentosConPA(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAsoMUH\":\r\n case \"BAsoMUV\":\r\n BusqMedsService.medicamentosConAso(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BIngPPF\":\r\n BusqMedsService.productosConIng(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BTipoPPF\":\r\n BusqMedsService.productosTipo(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BSubtipoPPF\":\r\n BusqMedsService.productosSubtipo(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data);\r\n });\r\n break;\r\n case \"BIndicacionMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 3, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BIndicacionMUV\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 83, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BIndicacionPPF\":\r\n BusqMedsService.productosPorEnf(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BContraindicacionMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 13, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BPrecaucionMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 14, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BReaccionAdversaMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 7, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTsATCMUH\":\r\n case \"BGTsATCMUV\":\r\n BusqMedsService.medicamentos2GTATC(props.infoPagina.seleccionados, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTATCMUH\":\r\n case \"BGTATCMUV\":\r\n BusqMedsService.medicamentosGTATC(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTConPPF\":\r\n BusqMedsService.productosGTCon(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTSanPPF\":\r\n BusqMedsService.productosGTSan(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BGTVMPPMUH\":\r\n BusqMedsService.medicamentosGTVMPP(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BSaborEdadPPF\":\r\n BusqMedsService.productosSaborEdad(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BEspecieIndicacionMUV\":\r\n BusqMedsService.medicamentosEspecieIndicacion(props.infoPagina.idEnf, props.infoPagina.idEspecie, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BProblemasSumMUH\":\r\n BusqMedsService.medicamentosProblemasSuministro(props.infoPagina, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BAlertasCMUH\":\r\n BusqMedsService.medicamentosAlertasCalidad(props.infoPagina, props.infoPagina.idxOrden, \"H\").then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BAlertasCMUV\":\r\n BusqMedsService.medicamentosAlertasCalidad(props.infoPagina, props.infoPagina.idxOrden,\"V\").then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BAlertasCPPF\":\r\n BusqMedsService.PFAlertasCalidad(props.infoPagina, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BReaccionesAdversasMUH\":\r\n BusqMedsService.medicamentosReaccionesAdversas(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BComposicionMUH\":\r\n case \"BComposicionMUV\":\r\n case \"BComposicionPPF\":\r\n BusqMedsService.productosPorComposicion(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAvanzadaMUH\":\r\n BusqMedsService.medicamentosAvanzadaMUH(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAvanzadaMUV\":\r\n BusqMedsService.medicamentosAvanzadaMUV(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAvanzadaPAH\":\r\n BusqMedsService.principiosActivosAvanzadaPAH(props.infoPagina).then((response) => {\r\n //console.log(response.data);\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAvanzadaPPF\":\r\n BusqMedsService.productosAvanzadaPPF(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BPacienteIndicacionMUH\":\r\n BusqMedsService.medicamentosPacienteIndicacion(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n\r\n case \"BFormMagistralMUH\":\r\n BusqMedsService.medicamentosFM(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BMedsHomeoMUH\":\r\n BusqMedsService.medicamentosHomeo(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BFormaColorMUH\":\r\n BusqMedsService.medicamentosFormaColor(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BExtranjerosEXT\":\r\n BusqMedsService.medicamentosEXT(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case 'BMedEspanolesMUH':\r\n BusqMedsService.medicamentosEspanoles(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BConGluten\":\r\n BusqMedsService.productosConGluten(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BConLactosa\":\r\n BusqMedsService.productosConLactosa(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BSinGluten\":\r\n BusqMedsService.productosSinGluten(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BSinLactosa\":\r\n BusqMedsService.productosSinLactosa(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BDopantesMUH\":\r\n BusqMedsService.medicamentosDopantes(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BNoLentes\":\r\n BusqMedsService.productosNoLentes(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BComparaPrecioMenorMUH\":\r\n BusqMedsService.medicamentosConPrecioSupMenor(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BComparaPrecioMasBajoMUH\":\r\n BusqMedsService.medicamentosConPrecioSupMasBajo(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BPrecioNotificadoMUH\":\r\n BusqMedsService.medicamentosConPrecioNotificado(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BSeguimientoAdicionalMUH\":\r\n BusqMedsService.medicamentosSeguimientoAdicional(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BDispositivoSeguridadMUH\":\r\n BusqMedsService.medicamentosDispositivoSeguridad(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BLibroRecetarioM\":\r\n BusqMedsService.medicamentosLibroRecetario(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BLibroEstupefacientesM\":\r\n BusqMedsService.medicamentosLibroEstupefacientes(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BNotificacionESVACMUV\":\r\n BusqMedsService.medicamentosNotificacionESVAC(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BEnfermedadesPATH\":\r\n BusqMedsService.enfermedadesH(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BEnfermedadesPATV\":\r\n BusqMedsService.enfermedadesV(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BDispositivoSeguridadMUH\":\r\n BusqMedsService.medicamentosDeduccionesRDL(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BNoSustituiblesMUH\":\r\n BusqMedsService.medicamentosNoSustituibles(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BDeduccionesRDLMUH\":\r\n BusqMedsService.medicamentosDeduccionesRDL(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BCambioNombre\":\r\n BusqMedsService.productosCambioNombre(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BCambioLaboratorio\":\r\n BusqMedsService.productosCambioLaboratorio(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BCambioPrecioMUH\":\r\n BusqMedsService.medicamentosCambioPrecio(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BDesfinanciadosMUH\":\r\n BusqMedsService.medicamentosDesfinanciados(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFechaAlta\":\r\n BusqMedsService.productosFechaAlta(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BNovedadesUltimoMes\":\r\n BusqMedsService.productosUltimoMes(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n \r\n case \"BMedicamentosPSUltimoMes\":\r\n BusqMedsService.medicamentosPSUltimoMes(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BCambioPrecioPrevistoMUH\":\r\n BusqMedsService.medicamentosCambioPrecioPrevisto(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BHistorialUsuario\":\r\n BusqMedsService.productosHistorialUsuario(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BDocumentos\":\r\n BusqMedsService.documentosPorMedFecha(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data;\r\n MuestraResultados(miListaBusqeda, \"Notas de seguridad y alertas de calidad\");\r\n });\r\n break;\r\n case \"BMismoNombreMUH\":\r\n BusqMedsService.medicamentosMismoNombre(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n var conPreciosMenores = (props.infoPagina.codigoPagina===\"BAgrupHomoMUH\"\r\n || props.infoPagina.codigoPagina ===\"BAgrupHomoAutoMUH\"\r\n || props.infoPagina.codigoPagina===\"BAgrupHomoPPF\"\r\n || props.infoPagina.codigoPagina ===\"BAgrupHomoAutoPPF\");\r\n\r\n const hayFiltros = (GetFiltrosStr(filtrosYlista.filtros)!==\"\" ? true : false)\r\n\r\n if (filtrosYlista.listaFiltrada != null && props.infoPagina.listaRes != null)\r\n {\r\n if (props.infoPagina.listaRes.length >0)\r\n return (\r\n (verCamposExporta && infoExportacion) ? (\r\n (PerfilUsuario() !==\"COL\") ?\r\n \r\n :\r\n \r\n )\r\n :(\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {hayFiltros ?\r\n \r\n \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n )\r\n else{\r\n return(\r\n
    \r\n

     

    \r\n

     

    \r\n

     

    \r\n

     

    \r\n

    No se han encontrado resultados

    \r\n
    \r\n );\r\n }\r\n } \r\n else{\r\n return(\r\n \r\n );\r\n }\r\n}\r\nexport default FiltrosYResultados;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport BusqMedsService from \"../../services/user.service\";\r\nimport BInteracciones from \"./BInteracciones/BInteracciones\";\r\nimport CabeceraResultados from \"./CabeceraResultados/CabeceraResultados\";\r\nimport FiltrosYResultados from \"./FiltrosYBusqueda/FiltrosYResultados\";\r\nimport LoadingPopup from \"./Loading.Popup\";\r\n\r\nconst SeccionResultados = (props) => {\r\n const infoPagina = props.infoPagina;\r\n\r\n const filtroNombre = {\r\n idGrupo : 'NOMBRE',\r\n nombre : 'Nombre',\r\n tipo: 'Text',\r\n campolista: 'NombreCompleto',\r\n tipoCampolista: 'string',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOMBRE')) ? infoPagina.filtrosActivos.find(x => x.nombre === 'NOMBRE').valor : ''\r\n : ''),\r\n display: 'Nombre: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroTitulo = {\r\n idGrupo : 'TITULO',\r\n nombre : 'Titulo',\r\n tipo: 'Text',\r\n campolista: 'Titulo',\r\n tipoCampolista: 'string',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TITULO')) ? infoPagina.filtrosActivos.find(x => x.nombre === 'TITULO').valor : ''\r\n : ''),\r\n display: 'Titulo: ',\r\n abierto: true,\r\n }\r\n\r\n const valorFiltroFinanciadoSegun = {\r\n texto:'Según indicación',\r\n display: 'Financiado',\r\n value:'X',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'FINAN' && x.valor ==='X') ? true : false)\r\n : false),\r\n nivel:1\r\n }\r\n\r\n const filtroAportacionFM = {\r\n idGrupo : 'APORT',\r\n nombre : 'Aportación',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'AuxStr',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Normal',\r\n display: 'Aportación normal',\r\n value:'AN',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'APORT' && x.valor ==='AN') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Reducida',\r\n display: 'Aportación reducida',\r\n value:'AR',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'APORT' && x.valor ==='AR') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroVisadoFM = {\r\n idGrupo : 'VISA',\r\n nombre : 'Visado',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxStr2',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Visado',\r\n value:'S',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'VISA' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'No visado',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'VISA' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroTipoFM = {\r\n idGrupo : 'TIPOFM',\r\n nombre : 'Tipo',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Fórmula magistral',\r\n display: 'Fórmula magistral',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPOFM' && x.valor.toString() === '1') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Preparado oficinal',\r\n display: 'Preparado oficinal',\r\n value: 2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPOFM' && x.valor.toString() === '2') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroPaises = {\r\n idGrupo : 'PAIS',\r\n nombre : 'País',\r\n tipo: 'ListBox',\r\n getPosibles : getPosiblesPaises,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n placeholder: 'Seleccione un pais',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PAIS')) ? parseInt(infoPagina.filtrosActivos.find(x => x.nombre === 'PAIS').valor) : -1\r\n : -1),\r\n display: 'País: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroEspecies = {\r\n idGrupo : 'ESPECIE',\r\n nombre : 'Especie',\r\n tipo: 'ListBox',\r\n getPosibles : getPosiblesEspecies,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'ListaAux1',\r\n tipoCampolista: 'array',\r\n placeholder: 'Seleccione una especie',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESPECIE')) ? parseInt(infoPagina.filtrosActivos.find(x => x.nombre === 'ESPECIE').valor) : -1\r\n : -1),\r\n display: 'Especie: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroPAHomeo = {\r\n idGrupo : 'PAHOMEO',\r\n nombre : 'Principio activo',\r\n tipo: 'ListBox',\r\n getPosibles : getPosiblesPAHomeo,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'ListaAux1',\r\n tipoCampolista: 'array',\r\n placeholder: 'Indique principio activo',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PAHOMEO')) ? parseInt(infoPagina.filtrosActivos.find(x => x.nombre === 'PAHOMEO').valor) : -1\r\n : -1),\r\n display: 'Principio activo: ',\r\n abierto: true,\r\n }\r\n\r\n const filtrosStandard = [\r\n {\r\n idGrupo : 'LABO',\r\n nombre : 'Laboratorio',\r\n tipo: 'List',\r\n getPosibles : getPosiblesLaboratorios,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'Laboratorio',\r\n tipoCampolista: 'string',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'LABO')) ? infoPagina.filtrosActivos.find(x => x.nombre === 'LABO').valor : ''\r\n : ''),\r\n display: 'Laboratorio: ',\r\n abierto: true,\r\n },\r\n {\r\n idGrupo : 'TIPO',\r\n nombre : 'Tipo de producto',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'CodTipoRegistro',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Medicamentos uso humano',\r\n value:'MUH',\r\n otrosValores: ['FM','MHO'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='MUH') ? true : false)\r\n : false),\r\n nivel:1,\r\n },\r\n {\r\n texto:'Principios activos',\r\n value:'PAH',\r\n otrosValores: ['ASOH','PHO'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PAH') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Medicamentos veterinarios',\r\n value:'MUV',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='MUV') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Principios activos',\r\n value:'PAV',\r\n otrosValores: ['ASOV'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PAV') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Parafarmacia',\r\n value:'PPF',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PPF') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Ingredientes',\r\n value:'ING',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='ING') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Enfermedades',\r\n value:'PAT',\r\n otrosValores: ['PATH','PATV'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PAT') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'ESTADO',\r\n nombre : 'Estado',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdEstadoAutorizacion',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Comercializado',\r\n value:'0',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='0') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No comercializado',\r\n value:'3',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='3') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Suspendido',\r\n value:'1',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='1') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Anulado',\r\n value:'2',\r\n otrosValores: ['4'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='2') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'RECETA',\r\n nombre : 'Receta',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'Receta',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Con receta',\r\n value:'R',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECETA' && x.valor ==='R') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Sin receta',\r\n value:'MSR',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECETA' && x.valor ==='MSR') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'FINAN',\r\n nombre : 'Financiado en farmacia comunitaria',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'Financiado',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Financiado',\r\n value:'S',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'FINAN' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'No financiado',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'FINAN' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'PSUM',\r\n nombre : 'Problemas de suministro',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'ProblemaSuministro',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Con problemas de suministro',\r\n value:'S',\r\n otrosValores: ['X'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PSUM' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'Sin problemas de suministro',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PSUM' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n ];\r\n\r\n function getPosiblesLaboratorios() {\r\n var listaLaboratorios = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n var laboratorio = {nombre: listaitems[i].Laboratorio ,id: listaitems[i].IdLaboratorio}\r\n if (! listaLaboratorios.some((element => element.id === laboratorio.id)))\r\n listaLaboratorios.push(laboratorio);\r\n }\r\n }\r\n }\r\n var aux = listaLaboratorios.sort((a, b) => b.nombre < a.nombre ? 1 : -1);\r\n return listaLaboratorios;\r\n };\r\n\r\n\r\n function getPosiblesPaises() {\r\n var listaPaises = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n var pais = {codigo: listaitems[i].AuxInt ,valor: listaitems[i].AuxStr}\r\n if (! listaPaises.some((element => element.codigo === pais.codigo))){\r\n listaPaises.push(pais);\r\n }\r\n }\r\n }\r\n }\r\n var aux = listaPaises.sort((a, b) => b.valor < a.valor ? 1 : -1);\r\n if (listaPaises.length>0){\r\n listaPaises.splice(0,0,{codigo:-1, valor: \"Seleccione un país\"});\r\n }\r\n return listaPaises;\r\n };\r\n\r\n function getPosiblesEspecies() {\r\n var listaEspecies = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n if (j element.codigo === especie.codigo))){\r\n listaEspecies.push(especie);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var aux = listaEspecies.sort((a, b) => b.valor < a.valor ? 1 : -1);\r\n if (listaEspecies.length>0){\r\n listaEspecies.splice(0,0,{codigo:-1, valor: \"Seleccione una especie\"});\r\n }\r\n return listaEspecies;\r\n };\r\n\r\n function getPosiblesPAHomeo() {\r\n var listaEspecies = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n if (j element.codigo === especie.codigo))){\r\n listaEspecies.push(especie);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var aux = listaEspecies.sort((a, b) => b.valor < a.valor ? 1 : -1);\r\n if (listaEspecies.length>0){\r\n listaEspecies.splice(0,0,{codigo:-1, valor: \"Indique principio activo\"});\r\n }\r\n return listaEspecies;\r\n };\r\n\r\n const filtroCompos =\r\n {\r\n idGrupo : 'NUMCOMPOS',\r\n nombre : 'Composición',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxStr',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Sólo',\r\n value:'S',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NUMCOMPOS' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'En asociación',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NUMCOMPOS' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroAnalisis =\r\n {\r\n idGrupo : 'RELACION',\r\n nombre : 'Efecto en el análisis',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaStr',\r\n tipoCampolista: 'array',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Aumento',\r\n value:'1',\r\n otrosValores: ['5','7','8','E','F'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='1') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Disminución',\r\n value:'2',\r\n otrosValores: ['6','7','8','E','F'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='2') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Positivo',\r\n value:'3',\r\n otrosValores: ['B'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='3') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Negativo',\r\n value:'4',\r\n otrosValores: ['C'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='4') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroEfectoFG =\r\n {\r\n idGrupo : 'EFECTOFG',\r\n nombre : 'Efecto farmacológico',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaAux1',\r\n tipoCampolista: 'array',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Respuesta terapéutica favorable',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Respuesta terapéutica desfavorable',\r\n value:2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Mayor riesgo de reacciones adversas',\r\n value:3,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===3) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Mayor riesgo de perdida de eficacia',\r\n value:4,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===4) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Sin efecto farmacológico significativo',\r\n value:5,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===5) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Sin datos concluyentes',\r\n value:6,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===6) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroRecoFG =\r\n {\r\n idGrupo : 'RECOFG',\r\n nombre : 'Recomendación terapéutica',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaAux2',\r\n tipoCampolista: 'array',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Considerar la administración de otro fármaco',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Debe realizarse un test genético previo',\r\n value:2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Monitorizar al paciente',\r\n value:3,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===3) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No existe información suficiente para una recomendación terapéutica',\r\n value:4,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===4) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Posible necesidad de ajuste posológico con aumento de la dosis',\r\n value:5,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===5) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Posible necesidad de ajuste posológico con disminución de la dosis',\r\n value:6,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===6) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Seleccionar farmaco alternativo',\r\n value:7,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===7) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroIntolerancias =\r\n {\r\n idGrupo : 'INTOL',\r\n nombre : 'Intolerancias',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaIntolerancias',\r\n tipoCampolista: 'array',\r\n abierto: false,\r\n relacion: 'notIn',\r\n valores : [\r\n {\r\n texto:'Gluten',\r\n display:'Permitido en pacientes celíacos',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Lactosa',\r\n display:'Permitido en intolerancia a la lactosa',\r\n value: 2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Azúcares y polialcoholes',\r\n display:'Permitido en intolerancia a azúcares y polialcoholes',\r\n value: 3,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===3) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Etanol',\r\n display:'Permitido en intolerancia al etanol',\r\n value: 4,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===4) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Aceite de cacahuete o soja',\r\n display:'Permitido en intolerancia al aceite de cacahuete o soja',\r\n value: 5,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===5) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroDeduccionesRDL =\r\n {\r\n idGrupo : 'DEDUCCION',\r\n nombre : 'Tipo de deducción',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'4 %',\r\n display: 'Deducción del 4 %',\r\n value: 888,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'DEDUCCION' && x.valor ===888) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'7,5 %',\r\n display: 'Deducción del 7,5 %',\r\n value: 936,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'DEDUCCION' && x.valor ===936) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'15 %',\r\n display: 'Deducción del 15 %',\r\n value: 889,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'DEDUCCION' && x.valor ===889) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroHuerfano = {\r\n idGrupo : 'HUER',\r\n nombre : 'Huérfano',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxStr2',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Huérfano',\r\n value:'SHUER',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'HUER' && x.valor ==='SHUER') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'No huérfano',\r\n value:'NHUER',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'HUER' && x.valor ==='NHUER') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroNoSustituible =\r\n {\r\n idGrupo : 'NOSUST',\r\n nombre : 'Causa',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Biológico',\r\n value: 2175,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOSUST' && x.valor ===2175) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Inhalatorio',\r\n value: 2178,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOSUST' && x.valor ===2178) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Estrecho margen terapéutico',\r\n value: 2176,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOSUST' && x.valor ===2176) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n\r\n const filtroComparaPrecios = {\r\n idGrupo : 'COMPPRE',\r\n nombre : 'Comparación precios',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxDbl',\r\n tipoCampolista: 'float',\r\n abierto: true,\r\n relacion: 'comparacion',\r\n valores : [\r\n {\r\n texto:'Ajustado a precio menor',\r\n display: 'Ajustado a precio menor',\r\n value: infoPagina.pvpMenor,\r\n idValor:'APM',\r\n comparacion: '<=',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='APM') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Supera precio menor',\r\n display: 'Precio mayor que precio menor',\r\n value: infoPagina.pvpMenor,\r\n idValor:'SPM',\r\n comparacion: '>',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='SPM') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Ajustado a precio más bajo',\r\n display: 'Ajustado a precio más bajo',\r\n value:infoPagina.pvpMasBajo,\r\n idValor:'APMB',\r\n comparacion: '<=',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='APMB') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Supera precio más bajo',\r\n display: 'Supera precio más bajo',\r\n value:infoPagina.pvpMasBajo,\r\n idValor:'SPMB',\r\n comparacion: '>',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='SPMB') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtros = filtrosStandard\r\n\r\n switch (infoPagina.codigoPagina){\r\n case 'BInicio':\r\n case 'BHistorialUsuario':\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case 'BLaboratorioMUH':\r\n case 'BLaboratorioMHO':\r\n //Sólo productos de un laboratorio \r\n filtros.splice(0,2,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case 'BLaboratorioPPF':\r\n //Sólo productos de un laboratorio. Quitamos PS\r\n filtros.splice(0,2,filtroNombre);\r\n filtros.splice(4,1);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case 'BLaboratorioMUV':\r\n //Sólo productos de un laboratorio. Quitamos financiado y PS \r\n filtros.splice(0,2,filtroNombre);\r\n filtros.splice(3,2);\r\n break;\r\n case \"BFormaFarmaMUH\":\r\n case \"BGTVMPPMUH\": \r\n case \"BComposicionMUH\": \r\n case \"BAvanzadaMUH\":\r\n case \"BMedEspanolesMUH\": \r\n case \"BComparaPrecioMenorMUH\":\r\n case \"BComparaPrecioMasBajoMUH\":\r\n case \"BPrecioNotificadoMUH\":\r\n case \"BSeguimientoAdicionalMUH\": \r\n case \"BDispositivoSeguridadMUH\": \r\n //case \"BCambioPrecioPrevistoMUH\":\r\n case \"BDesfinanciadosMUH\":\r\n case \"BFormaColorMUH\":\r\n case 'BLaboratoriosMUH':\r\n case \"BFormasFarmaMUH\":\r\n //Sólo medicamentos (H o V pero sólo 1)\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BNoSustituiblesMUH\":\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(2,0,filtroNoSustituible);\r\n filtros[3].abierto=false;\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BDeduccionesRDLMUH\":\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(2,0,filtroDeduccionesRDL);\r\n filtros.splice(3,0,filtroHuerfano);\r\n filtros[1].abierto=false;\r\n filtros[4].abierto=false;\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n\r\n case \"BNotificacionESVACMUV\":\r\n filtros[1].valores.splice(3,4);\r\n filtros[1].valores.splice(1,1);\r\n filtros.splice(4,2);\r\n filtros.splice(0,0,filtroNombre)\r\n break;\r\n case \"BComposicionMUV\": \r\n case \"BFormaFarmaMUV\":\r\n case \"BEspecieIndicacionMUV\": \r\n case \"BAvanzadaMUV\": \r\n case \"BAlertasCMUV\": \r\n case 'BLaboratoriosMUV':\r\n case \"BFormasFarmaMUV\":\r\n //Sólo medicamentos Sin financiados ni PS. Con receta\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre)\r\n filtros.splice(4,2);\r\n break;\r\n case \"BProblemasSumMUH\":\r\n case \"BAlertasCMUH\": \r\n //Sólo medicamentos. Sin financiado/PS/Receta\r\n filtros.splice(3,3);\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre)\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BAgrupHomoAutoMUH\":\r\n case \"BAgrupHomoMUH\":\r\n //Sólo medicamentos. No filtro financiado\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre)\r\n filtros.splice(4,1);\r\n filtros.splice(2,0,filtroComparaPrecios);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BPAMUH\":\r\n case \"BAsoMUH\":\r\n //Sólo medicamentos (H o V pero sólo 1) pero añade filtro sólo/asociación\r\n filtros.splice(1,1,filtroCompos);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BPAMUV\":\r\n case \"BAsoMUV\":\r\n //Sólo medicamentos (H o V pero sólo 1) pero añade filtro sólo/asociación\r\n filtros.splice(1,1,filtroCompos);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,2);\r\n break;\r\n //case \"BAgrupHomoAutoPPF\":\r\n //case \"BAgrupHomoPPF\":\r\n case \"BFormaFarmaPPF\":\r\n case \"BIngPPF\":\r\n case \"BTipoPPF\":\r\n case \"BSubtipoPPF\":\r\n case \"BGTConPPF\": \r\n case \"BSaborEdadPPF\": \r\n case \"BComposicionPPF\": \r\n case \"BAvanzadaPPF\": \r\n case \"BAlertasCPPF\":\r\n case 'BLaboratoriosPPF':\r\n case \"BFormasFarmaPPF\":\r\n //Sólo productos de PF\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,1);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BAgrupHomoAutoPPF\":\r\n case \"BAgrupHomoPPF\":\r\n case \"BGTSanPPF\": \r\n //Sólo productos de PF. Quita filtro financiado\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(4,2);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BAFMUH\":\r\n case \"BAMMUH\":\r\n case \"BActPPF\":\r\n case \"BAFMUV\":\r\n case \"BAFsMUH\":\r\n case \"BAMsMUH\":\r\n case \"BActsPPF\":\r\n case \"BAFsMUV\":\r\n case \"BAvanzadaPAH\":\r\n //Sólo PA\r\n filtros.splice(0,2,filtroNombre);\r\n filtros.splice(2,3);\r\n break;\r\n case \"BAnalisisMUH\":\r\n //Medicamentos, PA y Enfermedades de H. Añade la relación\r\n filtros[1].valores.splice(2,5);\r\n filtros.splice(1,0,filtroAnalisis);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BIndicacionMUH\":\r\n case \"BContraindicacionMUH\":\r\n case \"BPrecaucionMUH\":\r\n case \"BReaccionAdversaMUH\":\r\n case \"BGTATCMUH\":\r\n case \"BGTsATCMUH\":\r\n case \"BReaccionesAdversasMUH\": \r\n case \"BPacienteIndicacionMUH\": \r\n //Medicamentos y PA de H\r\n filtros[1].valores.splice(2,5);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BFarmacogeneticaMUH\":\r\n //Medicamentos y PA de H. Añade filtros de farmacogenética\r\n filtros[1].valores.splice(2,5);\r\n filtros.splice(1,0,filtroEfectoFG);\r\n filtros.splice(2,0,filtroRecoFG);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros[0].abierto=false;\r\n filtros[1].abierto=false;\r\n filtros[4].abierto=false;\r\n filtros[5].abierto=false;\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BDopantesMUH\": \r\n //Medicamentos y PA de H\r\n filtros[1].valores.splice(4,3);\r\n filtros[1].valores.splice(2,2);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BGTATCMUV\":\r\n case \"BGTsATCMUV\":\r\n //Medicamentos y PA de V\r\n filtros[1].valores.splice(4,3);\r\n filtros[1].valores.splice(0,2);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,2);\r\n break;\r\n case \"BIndicacionMUV\":\r\n //Medicamentos y PA de V\r\n filtros[1].valores.splice(4,3);\r\n filtros[1].valores.splice(0,2);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,2);\r\n filtros.splice(2,0,filtroEspecies);\r\n break;\r\n case \"BFormMagistralMUH\":\r\n filtros.splice(0,3,filtroNombre);\r\n filtros[2].valores.push(valorFiltroFinanciadoSegun);\r\n filtros[2].excluyente = false;\r\n filtros.splice(3,1,filtroAportacionFM);\r\n filtros.splice(4,0,filtroVisadoFM);\r\n filtros.splice(1,0,filtroTipoFM);\r\n break;\r\n case \"BMedsHomeoMUH\":\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(2,1,filtroPAHomeo);\r\n filtros.splice(4,3);\r\n break;\r\n case \"BExtranjerosEXT\":\r\n filtros.splice(0,6,filtroNombre);\r\n filtros.push(filtroPaises);\r\n break;\r\n case \"BConGluten\":\r\n case \"BConLactosa\":\r\n case \"BSinGluten\":\r\n case \"BSinLactosa\":\r\n case \"BCambioPrecioMUH\":\r\n case \"BCambioPrecioPrevistoMUH\": \r\n case \"BNoLentes\":\r\n //Medicamentos de humana o parafarmacia\r\n filtros[1].valores.splice(5,2);\r\n filtros[1].valores.splice(1,3);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BLibroRecetarioM\":\r\n case \"BLibroEstupefacientesM\":\r\n //Medicamentos de humana y veterinarios\r\n filtros[1].valores.splice(3,4);\r\n filtros[1].valores.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BCambioNombre\":\r\n case \"BCambioLaboratorio\":\r\n case \"BFechaAlta\":\r\n case \"BNovedadesUltimoMes\":\r\n //Medicamentos de humana, Medicamentos de veterinaría o parafarmacia\r\n filtros[1].valores.splice(5,2);\r\n filtros[1].valores.splice(3,1);\r\n filtros[1].valores.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BEnfermedadesPATH\":\r\n case \"BEnfermedadesPATV\":\r\n filtros.splice(0,6,filtroNombre);\r\n break;\r\n case \"BDocumentos\":\r\n filtros.splice(0,6,filtroTitulo);\r\n break;\r\n }\r\n\r\n\r\n if ((props.infoPagina.listaRes != null) && (filtros != null))\r\n {\r\n for (var i=0; i \r\n \r\n {(infoPagina.codigoPagina===\"BInteraccionesMUH\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default SeccionResultados;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Ayuda from \"./Ayuda/Ayuda\";\r\nimport Configuracion from \"./Configuarcion/Configuracion\";\r\nimport EditaBuscadores from \"./Configuarcion/EditaBuscadores\";\r\nimport Exporta from \"./Exporta/Exporta\";\r\nimport Ficha from \"./Fichas/Ficha\";\r\nimport FichaMUH from \"./Fichas/FichaMUH/FichaMUH\";\r\nimport FormularioBusqueda from \"./FomulariosBusqueda/ForumularioBusqueda\";\r\n\r\nimport Inicio from \"./Inicio/Inicio\";\r\nimport SeccionResultados from \"./Resultados/SeccionResultados\";\r\n\r\n\r\nconst Cuerpo = (props) => {\r\n const infoPagina = props.infoPagina;\r\n\r\n useEffect(() => {\r\n }, [])\r\n\r\n switch(infoPagina.tipoPagina){\r\n case \"ResultadosBusqueda\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Inicio\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Ayuda\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Exporta\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Ficha\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"FormularioBusqueda\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Conf\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"EditaBuscadores\":\r\n return (\r\n \r\n );\r\n break;\r\n default:\r\n return (\r\n \r\n );\r\n break;\r\n }\r\n};\r\n\r\nexport default Cuerpo;\r\n","import BP2022Service from \"../services/user.service\";\r\nimport { rootPath } from \"../services/utils\";\r\nimport AuthService from \"../services/auth.service\";\r\nimport packageJson from '../../package.json';\r\nimport { useEffect, useState } from \"react\";\r\nimport Tippy from '@tippyjs/react';\r\nimport 'tippy.js/dist/tippy.css';\r\nimport 'tippy.js/themes/botplustt.css';\r\n\r\nconst Pie = (props) => {\r\n\r\n const hacernada = () => {\r\n };\r\n\r\n const frontVersion = {Version : packageJson.version, Dateversion : packageJson.dateversion, Serial : packageJson.serial};\r\n const [backVersion, setBackVersion] = useState(null);\r\n const urlLicencia = (AuthService.getUserRol()===\"COL\")? rootPath + \"Ayuda/Licencia3.pdf\" : rootPath + \"Ayuda/Licencia.pdf\" \r\n const estiloLinks = {cursor:'pointer', fontSize: '12px'}\r\n const estiloLiRRSSs = {marginRight: '24px'}\r\n const estiloLiMenus = {paddingLeft: '12px', paddingRight: '12px'}\r\n\r\n useEffect(() => {\r\n if (!backVersion)\r\n {\r\n //ConsultaBackVersion();\r\n }\r\n },[]);\r\n\r\n const ConsultaBackVersion = () => {\r\n BP2022Service.getBackVersion()\r\n .then((response) => {\r\n setBackVersion(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n })\r\n };\r\n\r\n\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
      \r\n {(props.codigoPagina === \"Inicio\") ?\r\n
    • window.scroll({ top: 0, behavior: 'smooth' })} style={estiloLinks}>BOT PLUS
    • \r\n :\r\n
    • props.cambiaPagina({newpagina: 'Inicio'})} style={estiloLinks}>BOT PLUS
    • \r\n }\r\n
    • props.cambiaPagina({newpagina: 'Ayuda'})} style={{cursor:'pointer'}}>Ayuda
    • \r\n
    • Contacto
    • \r\n
    • Aviso Legal
    • \r\n
    • Política de privacidad
    • \r\n
    • Política de cookies
    • \r\n
    • Licencia de uso
    • \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \"Twitter\"
    • \r\n
    • \"Instagram\"
    • \r\n
    • \"facebook\"
    • \r\n
    • \"YouTube\"
    • \r\n
    • \"LinkedIn\"
    • \r\n
    • \"TikTok\"
    • \r\n
    • \"Telegram\"
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"logoFarmaceuticos\"\r\n
    \r\n
    \r\n

    © 2022 Consejo General de Colegios Oficiales de Farmacéuticos. Todos los derechos reservados

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\t
    \r\n )\r\n};\r\n\r\nexport default Pie\r\n","import { useState } from \"react\";\r\n\r\nconst Licencia = (props) => {\r\n const [checkedAceptar, setCheckedAcpetar] = useState(false);\r\n\r\n const clickAcepta = () =>{\r\n if (checkedAceptar)\r\n props.alAceptar();\r\n }\r\n\r\n const clickCheckAceptar = (valor) =>{\r\n setCheckedAcpetar(valor);\r\n }\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n\r\n\r\n return(\r\n
    \r\n

    \r\n Debe de aceptar la licencia de uso de BOT PLUS para poder continuar\r\n

    \r\n

    \r\n Si no puede leer el acuerdo correctamente pulse aquí\r\n

    \r\n \r\n

    \r\n \r\n

    \r\n
    \r\n {(checkedAceptar) ?\r\n \r\n \r\n         \r\n \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Licencia;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {createBrowserHistory} from 'history';\r\nimport AuthService from \"../services/auth.service\";\r\n \r\n\r\nimport Cabecera from \"./Cabecera/Cabecera\";\r\nimport Cuerpo from \"./Cuerpo\";\r\nimport Pie from \"./Pie\";\r\nimport Licencia from \"./Licencia\";\r\nimport {RemoveClassNameToClassItems, AddClassNameToClassItems, rootPath, deepEqual, getParam, getCurrentURL\r\n , getParamsURL, getPathURL, getIdProvincia, getStringProvincia, fromParmaURLToListaPAsCompos, fromListaPAsComposToParamURL\r\n , fromListaOpsAvanzadaToParamURL, fromParamURLToListaOpsAvanzada, GetFiltrosStr, PerfilUsuario } from '../services/utils.js'\r\nimport BP2022Service from \"./../services/user.service\";\r\nimport Configuracion from \"./Configuarcion/Configuracion\";\r\nimport Emergente from \"./Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport { paginasRestringidas } from \"../services/objsAplicacion\";\r\nimport AccesoRestringido from \"./Configuarcion/AccesoRestringido\";\r\n\r\n\r\nconst Contenido = (props) => {\r\n const [infoPagina, setInfoPagina] = useState({\r\n codigoPagina:'Inicio',\r\n tipoPagina:'Inicio',\r\n listaRes: null,\r\n texto: '',\r\n id:0, \r\n fuerzaTexto : true,\r\n })\r\n const [isTopWindow, setIsTopWindow] = useState(window.pageYOffset === 0);\r\n const [historial, setHistorial] = useState([]);\r\n const [provincia, setProvincia] = useState(props.provincia);\r\n\r\n const history = createBrowserHistory();\r\n\r\n const [refresh, setRefresh] = useState(1);\r\n const [lastVisitedPath, setLastVisitedPath] = useState('');\r\n const [haAceptadoLicencia, setHaAceptadoLicencia] = useState(true);\r\n const [licenciaAAceptar, setLicenciaAAceptar] = useState('');\r\n\r\n const tiempoCheck = 60 * 60 * 1000 \r\n\r\n const [accesoRestringido, setAccesoRestringido] = useState(false);\r\n\r\n var myTimeout;\r\n\r\n function ChequeaSesion() {\r\n props.checkSesion();\r\n myTimeout = setTimeout(ChequeaSesion, tiempoCheck);\r\n }\r\n\r\n useEffect(() => {\r\n if (myTimeout)\r\n clearTimeout(myTimeout);\r\n myTimeout = setTimeout(ChequeaSesion, tiempoCheck);\r\n construyeInfoPaginaFromPath();\r\n window.removeEventListener('scroll', AlHacerScroll);\r\n window.removeEventListener('popstate', onBackButtonEvent); \r\n window.addEventListener('scroll', AlHacerScroll, { passive: true });\r\n window.addEventListener('popstate', onBackButtonEvent);\r\n RefrescaProvincia(getStringProvincia());\r\n const user = AuthService.getLocalUser();\r\n if (user && user.botPlusUser){\r\n if (!user.botPlusUser.HaAceptadoLicencia){\r\n setLicenciaAAceptar(user.botPlusUser.LicenciaAAceptar);\r\n setHaAceptadoLicencia(false);\r\n window.removeEventListener('scroll', AlHacerScroll);\r\n window.removeEventListener('popstate', onBackButtonEvent); \r\n }\r\n }\r\n return () => {\r\n window.removeEventListener('scroll', AlHacerScroll);\r\n window.removeEventListener('popstate', onBackButtonEvent); \r\n }\r\n }, [refresh]);\r\n\r\n const borraDeLista = (tipo,id) =>{\r\n if (infoPagina.listaRes){\r\n var pos = infoPagina.listaRes.findIndex(item => item.CodTipoRegistro === tipo && item.Id === id);\r\n if (pos>=0){\r\n var infoAux = JSON.parse(JSON.stringify(infoPagina));\r\n infoAux.listaRes.splice(pos,1);\r\n setInfoPagina(infoAux);\r\n }\r\n }\r\n }\r\n\r\n const RefrescaProvincia = (prov) =>{\r\n if (provincia !== prov)\r\n setProvincia(prov);\r\n }\r\n\r\n const ClickAceptaLicencia = () =>{\r\n AuthService.aceptaLicencia();\r\n const user = AuthService.getLocalUser();\r\n if (user && user.botPlusUser){\r\n user.botPlusUser.HaAceptadoLicencia = true;\r\n localStorage.setItem(\"login\", JSON.stringify(user));\r\n }\r\n setHaAceptadoLicencia(true);\r\n }\r\n\r\n const DescargaHistorial = () => {\r\n BP2022Service.getHistorial(8)\r\n .then((response) => {\r\n setHistorial(response.data.Resultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const ParseaFiltros = (strFiltros) => {\r\n var arrayFiltros = strFiltros.split('|');\r\n var res =[];\r\n for (var j=0; j {\r\n var rol = PerfilUsuario();\r\n var res = true;\r\n if (rol === \"COL\"){\r\n if (paginasRestringidas.includes(pagina)){\r\n res = false;\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n \r\n const construyeInfoPaginaFromPath = () => {\r\n var newInfoPagina = {\r\n codigoPagina:'Inicio',\r\n tipoPagina:'Inicio',\r\n listaRes: null,\r\n texto: '',\r\n fuerzaTexto : false,\r\n };\r\n var ruta = getCurrentURL();\r\n if (ruta.length>=rootPath.length)\r\n ruta = ruta.substring(rootPath.length);\r\n //console.log(ruta);\r\n if (ruta.length>0){\r\n var params = getParamsURL(ruta);\r\n ruta = getPathURL(ruta);\r\n var partes = ruta.split('/');\r\n if (accesoRestringido !== validaAcceso(partes[0]))\r\n setAccesoRestringido(validaAcceso(partes[0]));\r\n switch (partes[0].toLowerCase()){\r\n case \"ayuda\":\r\n case \"help\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Ayuda',\r\n }\r\n break;\r\n case \"exportaws\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Exporta',\r\n }\r\n break;\r\n case \"fichamuh\":\r\n case \"fichamuv\":\r\n case \"fichafm\":\r\n case \"fichappf\":\r\n case \"fichapah\":\r\n case \"fichapav\":\r\n case \"fichaaso\":\r\n case \"fichaasoh\":\r\n case \"fichaasov\":\r\n case \"fichaing\":\r\n case \"fichamho\": \r\n case \"fichapho\": \r\n case \"fichapat\":\r\n case \"fichapath\":\r\n case \"fichapatv\":\r\n case \"fichaext\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Ficha',\r\n listaRes: null,\r\n texto: '',\r\n id: parseInt(partes[1]), \r\n fuerzaTexto : false,\r\n }\r\n break;\r\n case \"fbagruphomoautomuh\":\r\n case \"fbagruphomomuh\":\r\n case \"fbagruphomoautoppf\":\r\n case \"fbagruphomoppf\":\r\n case \"fbfarmacogeneticamuh\":\r\n case \"fbanalisismuh\":\r\n var id = getParam(params,'id');\r\n if (!id)\r\n id = 0;\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n id: id,\r\n }\r\n break;\r\n case \"fblaboratoriomuv\":\r\n case \"fblaboratorioppf\":\r\n case \"fblaboratoriomuh\":\r\n case \"fbformafarmamuh\":\r\n case \"fbformafarmamuv\":\r\n case \"fbformafarmappf\":\r\n case \"fbafmuh\":\r\n case \"fbammuh\":\r\n case \"fbactppf\":\r\n case \"fbafmuv\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados.map(id=> parseInt(id)) : []; \r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n seleccionados: seleccionados,\r\n }\r\n break;\r\n case \"fbsaboredadppf\":\r\n case \"bsaboredadppf\":\r\n var idDieto = getParam(params,'idDieto');\r\n var auxIdsSabores = getParam(params,'idsSabores');\r\n var idsSabores = (auxIdsSabores!=='') ? auxIdsSabores.split(',') : [];\r\n var edad = getParam(params, 'edad');\r\n var undEdad = getParam(params, 'undEdad');\r\n var saborSolo = getParam(params, 'saborSolo');\r\n idDieto = (idDieto) ? idDieto : '';\r\n idsSabores = (idsSabores) && (idsSabores.length>0) ? idsSabores.map(id=> parseInt(id)) : [];\r\n edad = (edad) ? parseInt(edad) : null;\r\n undEdad = (undEdad) ? undEdad : '';\r\n saborSolo = (saborSolo==='S');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idDieto: idDieto,\r\n idsSabores: idsSabores,\r\n edad: edad,\r\n undEdad: undEdad,\r\n saborSolo: saborSolo,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbespecieindicacionmuv\":\r\n case \"bespecieindicacionmuv\":\r\n var idEspecie = getParam(params,'idEspecie');\r\n var idEnf = getParam(params,'idEnf');\r\n idEspecie = (idEspecie) ? parseInt(idEspecie) : 0;\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idEspecie: idEspecie,\r\n idEnf: idEnf,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbproblemassummuh\":\r\n case \"bproblemassummuh\":\r\n var txt = getParam(params,'med');\r\n var idLab = getParam(params,'idLab');\r\n var idPA = getParam(params,'idPA');\r\n var noSust = getParam(params, 'noSust');\r\n var medExt = getParam(params, 'medExt');\r\n var iniciod = getParam(params, 'iniciod');\r\n var inicioh = getParam(params, 'inicioh');\r\n var find = getParam(params, 'find');\r\n var finh = getParam(params, 'finh');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n idPA = (idPA) ? parseInt(idPA) : 0;\r\n noSust = (noSust==='S');\r\n medExt = (medExt==='S');\r\n iniciod = (iniciod) ? new Date(parseInt(iniciod)*1000) : null;\r\n inicioh = (inicioh) ? new Date(parseInt(inicioh)*1000) : null;\r\n find = (find) ? new Date(parseInt(find)*1000) : null;\r\n finh = (finh) ? new Date(parseInt(finh)*1000) : null;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idLab: idLab,\r\n idPA: idPA,\r\n noSust: noSust,\r\n medExt: medExt,\r\n iniciod: iniciod,\r\n inicioh: inicioh,\r\n find: find,\r\n finh: finh,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbalertascmuh\":\r\n case \"balertascmuh\":\r\n case \"fbalertascmuv\":\r\n case \"balertascmuv\":\r\n case \"fbalertascppf\":\r\n case \"balertascppf\":\r\n var txt = getParam(params,'med');\r\n var txtLote = getParam(params,'txtLote');\r\n var idLab = getParam(params,'idLab');\r\n var idPA = getParam(params,'idPA');\r\n var inicio = getParam(params, 'inicio');\r\n var fin = getParam(params, 'fin');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n txtLote = (txtLote) ? decodeURI(txtLote) : '';\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n idPA = (idPA) ? parseInt(idPA) : 0;\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n txtLote: txtLote,\r\n idLab: idLab,\r\n idPA: idPA,\r\n inicio: inicio,\r\n fin: fin,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbcambionombre\":\r\n case \"bcambionombre\":\r\n case \"fbcambiolaboratorio\":\r\n case \"bcambiolaboratorio\":\r\n case \"fbcambiopreciomuh\":\r\n case \"bcambiopreciomuh\":\r\n case \"fbdesfinanciadosmuh\":\r\n case \"bdesfinanciadosmuh\":\r\n case \"fbfechaalta\":\r\n case \"bfechaalta\":\r\n case \"bnovedadesultimomes\":\r\n case \"bmedicamentospsultimomes\":\r\n case \"bhistorialusuario\":\r\n var inicio = getParam(params, 'inicio');\r\n var fin = getParam(params, 'fin');\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n if (partes[0].toLowerCase() === \"bnovedadesultimomes\"){\r\n inicio = new Date();\r\n inicio.setMonth(inicio.getMonth() - 1);\r\n fin = null;\r\n }\r\n if (partes[0].toLowerCase() === \"bmedicamentospsultimomes\"){\r\n inicio = new Date();\r\n inicio.setMonth(inicio.getMonth() - 1);\r\n fin = null;\r\n }\r\n\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n inicio: inicio,\r\n fin: fin,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : (partes[0].toLowerCase() === \"bhistorialusuario\") ? 6 : 0;\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbextranjerosext\":\r\n case \"bextranjerosext\":\r\n var id = getParam(params,'id');\r\n id = (id) ? parseInt(id) : 0;\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n var idPais = getParam(params,'idPais');\r\n idPais = (idPais) ? parseInt(idPais) : 0;\r\n var auxPas = getParam(params,'pas');\r\n var pas= (auxPas!=='') ? auxPas.split(',') : [];\r\n pas = (pas) && (pas.length>0) ? pas.map(id=> parseInt(id)) : []; \r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : true );\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n id:id,\r\n txt: txt,\r\n idPais: idPais,\r\n solo: solo,\r\n pas: pas,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbreaccionesadversasmuh\":\r\n case \"breaccionesadversasmuh\":\r\n var idEpi = getParam(params,'idEpi');\r\n var auxIdsEnfs = getParam(params,'idsEnfs');\r\n var idsEnfs = (auxIdsEnfs!=='') ? auxIdsEnfs.split(',') : [];\r\n var auxIdsMeds = getParam(params,'idsMeds');\r\n var idsMeds = (auxIdsMeds!=='') ? auxIdsMeds.split(',') : [];\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n idsEnfs = (idsEnfs) && (idsEnfs.length>0) ? idsEnfs.map(id=> parseInt(id)) : [];\r\n idsMeds = (idsMeds) && (idsMeds.length>0) ? idsMeds.map(id=> parseInt(id)) : [];\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idEpi: idEpi,\r\n idsEnfs: idsEnfs,\r\n idsMeds: idsMeds,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"fbcomposicionmuh\":\r\n case \"bcomposicionmuh\":\r\n case \"fbcomposicionmuv\":\r\n case \"bcomposicionmuv\":\r\n case \"fbcomposicionppf\":\r\n case \"bcomposicionppf\": \r\n var tipo = partes[0].substring(partes[0].length-1).toUpperCase(); \r\n var tipoProd = getParam(params,'tipoProd');\r\n tipoProd = (tipoProd ? parseInt(tipoProd) : 1);\r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : (tipo === \"F\") ? false : true );\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var pv = getParam(params, 'pv');\r\n pv = (pv ? parseFloat(pv) : 0.0);\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n tipoProd: tipoProd,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n uds: uds,\r\n pv: pv,\r\n ints: ints\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbpacienteindicacionmuh\":\r\n case \"bpacienteindicacionmuh\":\r\n var idEnf = getParam(params,'idEnf');\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n var auxIdsPat = getParam(params,'idsPat');\r\n var idsPat = (auxIdsPat!=='') ? auxIdsPat.split(',') : [];\r\n idsPat = (idsPat) && (idsPat.length>0) ? idsPat.map(id=> parseInt(id)) : []; \r\n var auxIdsMed = getParam(params,'idsMed');\r\n var idsMed = (auxIdsMed!=='') ? auxIdsMed.split(',') : [];\r\n idsMed = (idsMed) && (idsMed.length>0) ? idsMed.map(id=> parseInt(id)) : []; \r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var edad = getParam(params, 'edad');\r\n var undEdad = getParam(params, 'undEdad');\r\n edad = (edad) ? parseInt(edad) : null;\r\n undEdad = (undEdad) ? undEdad : '';\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n var auxIdsAlg = getParam(params,'idsAlg');\r\n var idsAlg = (auxIdsAlg!=='') ? auxIdsAlg.split(',') : [];\r\n idsAlg = (idsAlg) && (idsAlg.length>0) ? idsAlg.map(id=> parseInt(id)) : []; \r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idEnf: idEnf,\r\n idsPat: idsPat,\r\n idsMed: idsMed,\r\n idVia: idVia,\r\n idFF: idFF,\r\n edad: edad,\r\n undEdad: undEdad,\r\n ints: ints,\r\n idsAlg: idsAlg,\r\n ops: ops,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n\r\n case \"fbformacolormuh\":\r\n case \"bformacolormuh\":\r\n var tipoFF = getParam(params,'tipoFF');\r\n tipoFF = (tipoFF) ? tipoFF : 'CO';\r\n var idEnf = getParam(params,'idEnf');\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n var idForma = getParam(params, 'idForma');\r\n idForma = (idForma ? parseInt(idForma) : 0);\r\n var idColor1 = getParam(params, 'idColor1');\r\n idColor1 = (idColor1 ? idColor1 : '');\r\n var idColor2 = getParam(params, 'idColor2');\r\n idColor2 = (idColor2 ? idColor2 : '');\r\n var idSabor = getParam(params, 'idSabor');\r\n idSabor = (idSabor ? parseInt(idSabor) : 0);\r\n var CO1 = getParam(params, 'CO1');\r\n CO1 = (CO1 ? CO1 : '');\r\n var CO2 = getParam(params, 'CO2');\r\n CO2 = (CO2 ? CO2 : '');\r\n var auxTamanos = getParam(params,'tamanos');\r\n var tamanos = (auxTamanos!=='') ? auxTamanos.split(',') : [];\r\n var ranura = getParam(params,'ranura');\r\n ranura = (ranura === \"S\" ? true : false);\r\n var logo = getParam(params,'logo');\r\n logo = (logo === \"S\" ? true : false)\r\n var difCol = getParam(params,'difCol');\r\n difCol = (difCol === \"S\" ? true : false)\r\n var anycol = getParam(params,'anycol');\r\n anycol = (anycol === \"S\" ? true : false)\r\n var col2 = getParam(params,'col2');\r\n col2 = (col2 === \"S\" ? true : false)\r\n var ins1 = getParam(params,'ins1');\r\n ins1 = (ins1) ? ins1 : '';\r\n var ins2 = getParam(params,'ins2');\r\n ins2 = (ins2) ? ins2 : '';\r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : true );\r\n\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n tipoFF: tipoFF,\r\n idForma: idForma,\r\n idColor1: idColor1,\r\n idColor2: idColor2,\r\n idSabor: idSabor,\r\n CO1: CO1,\r\n CO2: CO2,\r\n tamanos: tamanos,\r\n ranura: ranura,\r\n difCol: difCol,\r\n anycol: anycol,\r\n col2: col2,\r\n logo: logo,\r\n ins1: ins1,\r\n ins2: ins2,\r\n idEnf: idEnf,\r\n pas: pas,\r\n solo: solo\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n\r\n case \"fbavanzadamuh\":\r\n case \"bavanzadamuh\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n /*var idLab = getParam(params,'idLab');\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsLab = getParam(params,'idsLab');\r\n var idsLab = (auxIdsLab!=='') ? auxIdsLab.split(',') : [];\r\n idsLab = (idsLab) && (idsLab.length>0) ? idsLab.map(id=> parseInt(id)) : []; \r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n\r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : (tipo === \"F\") ? false : true );\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var emr = getParam(params, 'emr');\r\n emr = (emr ? parseInt(emr) : 0);\r\n var edad = getParam(params, 'edad');\r\n var undEdad = getParam(params, 'undEdad');\r\n edad = (edad) ? parseInt(edad) : null;\r\n undEdad = (undEdad) ? undEdad : '';\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n var listaEnfs = getParam(params,'enfsRel');\r\n var enfsRelAux = (listaEnfs!=='') ? listaEnfs.split(',') : [];\r\n var enfsRel = [];\r\n for (var i=0; i0) ? enfsRel : [];\r\n var listaAnas = getParam(params,'anasRel');\r\n var anasRelAux = (listaAnas!=='') ? listaAnas.split(',') : [];\r\n var anasRel = [];\r\n for (var i=0; i0) ? anasRel : [];\r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var fechaAutoIni = getParam(params, 'fechaAutoIni');\r\n fechaAutoIni = (fechaAutoIni) ? new Date(parseInt(fechaAutoIni)*1000) : null;\r\n var fechaAutoFin = getParam(params, 'fechaAutoFin');\r\n fechaAutoFin = (fechaAutoFin) ? new Date(parseInt(fechaAutoFin)*1000) : null;\r\n var fechaInSNSIni = getParam(params, 'fechaInSNSIni');\r\n fechaInSNSIni = (fechaInSNSIni) ? new Date(parseInt(fechaInSNSIni)*1000) : null;\r\n var fechaInSNSFin = getParam(params, 'fechaInSNSFin');\r\n fechaInSNSFin = (fechaInSNSFin) ? new Date(parseInt(fechaInSNSFin)*1000) : null;\r\n var fechaExSNSIni = getParam(params, 'fechaExSNSIni');\r\n fechaExSNSIni = (fechaExSNSIni) ? new Date(parseInt(fechaExSNSIni)*1000) : null;\r\n var fechaExSNSFin = getParam(params, 'fechaExSNSFin');\r\n fechaExSNSFin = (fechaExSNSFin) ? new Date(parseInt(fechaExSNSFin)*1000) : null;\r\n var fechaExFIIni = getParam(params, 'fechaExFIIni');\r\n fechaExFIIni = (fechaExFIIni) ? new Date(parseInt(fechaExFIIni)*1000) : null;\r\n var fechaExFIFin = getParam(params, 'fechaExFIFin');\r\n fechaExFIFin = (fechaExFIFin) ? new Date(parseInt(fechaExFIFin)*1000) : null;\r\n var fechaBajaIni = getParam(params, 'fechaBajaIni');\r\n fechaBajaIni = (fechaBajaIni) ? new Date(parseInt(fechaBajaIni)*1000) : null;\r\n var fechaBajaFin = getParam(params, 'fechaBajaFin');\r\n fechaBajaFin = (fechaBajaFin) ? new Date(parseInt(fechaBajaFin)*1000) : null;\r\n var fechaComerIni = getParam(params, 'fechaComerIni');\r\n fechaComerIni = (fechaComerIni) ? new Date(parseInt(fechaComerIni)*1000) : null;\r\n var fechaComerFin = getParam(params, 'fechaComerFin');\r\n fechaComerFin = (fechaComerFin) ? new Date(parseInt(fechaComerFin)*1000) : null;\r\n var idPredefP = getParam(params, 'idPredefP');\r\n idPredefP = (idPredefP) ? parseInt(idPredefP) : 0;\r\n var idOpP = getParam(params, 'idOpP');\r\n idOpP = (idOpP) ? parseInt(idOpP) : 0;\r\n var idCampoP = getParam(params, 'idCampoP');\r\n idCampoP = (idCampoP) ? idCampoP.trim() : '';\r\n var pre = getParam(params, 'pre');\r\n pre = (pre) ? parseFloat(pre)/100 : 0;\r\n var auxIdsAA = getParam(params,'idsAA');\r\n var idsAA = (auxIdsAA!=='') ? auxIdsAA.split(',') : [];\r\n idsAA = (idsAA) && (idsAA.length>0) ? idsAA.map(id=> id) : []; \r\n var auxIdsAN = getParam(params,'idsAN');\r\n var idsAN = (auxIdsAN!=='') ? auxIdsAN.split(',') : [];\r\n idsAN = (idsAN) && (idsAN.length>0) ? idsAN.map(id=> id) : []; \r\n var auxIdsDC = getParam(params,'idsDC');\r\n var idsDC = (auxIdsDC!=='') ? auxIdsDC.split(',') : [];\r\n idsDC = (idsDC) && (idsDC.length>0) ? idsDC.map(id=> id) : []; \r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsLab: idsLab,\r\n idsGT: idsGT,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n uds: uds,\r\n emr: emr,\r\n edad: edad,\r\n undEdad: undEdad,\r\n ints: ints,\r\n enfsRel: enfsRel,\r\n anasRel: anasRel,\r\n ops: ops,\r\n fechaAutoIni: fechaAutoIni,\r\n fechaAutoFin: fechaAutoFin,\r\n fechaBajaFin: fechaBajaFin,\r\n fechaBajaIni: fechaBajaIni,\r\n fechaComerFin: fechaComerFin,\r\n fechaComerIni: fechaComerIni,\r\n fechaExFIFin: fechaExFIFin,\r\n fechaExFIIni: fechaExFIIni,\r\n fechaExSNSIni: fechaExSNSIni,\r\n fechaExSNSFin: fechaExSNSFin,\r\n fechaInSNSFin: fechaInSNSFin,\r\n fechaInSNSIni: fechaInSNSIni,\r\n idCampoP: idCampoP,\r\n idOpP: idOpP,\r\n pre: pre,\r\n idPredefP: idPredefP,\r\n idsAA: idsAA,\r\n idsAN: idsAN,\r\n idsDC: idsDC,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"fbavanzadamuv\":\r\n case \"bavanzadamuv\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n /*var idLab = getParam(params,'idLab');\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsLab = getParam(params,'idsLab');\r\n var idsLab = (auxIdsLab!=='') ? auxIdsLab.split(',') : [];\r\n idsLab = (idsLab) && (idsLab.length>0) ? idsLab.map(id=> parseInt(id)) : []; \r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : (tipo === \"F\") ? false : true );\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var fechaAutoIni = getParam(params, 'fechaAutoIni');\r\n fechaAutoIni = (fechaAutoIni) ? new Date(parseInt(fechaAutoIni)*1000) : null;\r\n var fechaAutoFin = getParam(params, 'fechaAutoFin');\r\n fechaAutoFin = (fechaAutoFin) ? new Date(parseInt(fechaAutoFin)*1000) : null;\r\n var fechaBajaIni = getParam(params, 'fechaBajaIni');\r\n fechaBajaIni = (fechaBajaIni) ? new Date(parseInt(fechaBajaIni)*1000) : null;\r\n var fechaBajaFin = getParam(params, 'fechaBajaFin');\r\n fechaBajaFin = (fechaBajaFin) ? new Date(parseInt(fechaBajaFin)*1000) : null;\r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var idEspecie = getParam(params,'idEspecie');\r\n idEspecie = (idEspecie) ? parseInt(idEspecie) : 0;\r\n var idEnf = getParam(params,'idEnf');\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsLab: idsLab,\r\n idsGT: idsGT,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n uds: uds,\r\n fechaAutoIni: fechaAutoIni,\r\n fechaAutoFin: fechaAutoFin,\r\n fechaBajaFin: fechaBajaFin,\r\n fechaBajaIni: fechaBajaIni,\r\n ops: ops,\r\n idEspecie: idEspecie,\r\n idEnf: idEnf,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbavanzadapah\":\r\n case \"bavanzadapah\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n var auxAF = getParam(params,'idsAF');\r\n var idsAF = (auxAF!=='') ? auxAF.split(',') : [];\r\n idsAF = (idsAF) && (idsAF.length>0) ? idsAF.map(id=> parseInt(id)) : []; \r\n var auxAM = getParam(params,'idsAM');\r\n var idsAM = (auxAM!=='') ? auxAM.split(',') : [];\r\n idsAM = (idsAM) && (idsAM.length>0) ? idsAM.map(id=> parseInt(id)) : []; \r\n /*var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n var listaEnfs = getParam(params,'enfsRel');\r\n var enfsRelAux = (listaEnfs!=='') ? listaEnfs.split(',') : [];\r\n var enfsRel = [];\r\n for (var i=0; i0) ? enfsRel : [];\r\n var listaAnas = getParam(params,'anasRel');\r\n var anasRelAux = (listaAnas!=='') ? listaAnas.split(',') : [];\r\n var anasRel = [];\r\n for (var i=0; i0) ? anasRel : [];\r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsAF: idsAF,\r\n idsAM: idsAM,\r\n idsGT: idsGT,\r\n enfsRel: enfsRel,\r\n anasRel: anasRel,\r\n ops: ops,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"fbavanzadappf\":\r\n case \"bavanzadappf\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n /*var idLab = getParam(params,'idLab');\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsLab = getParam(params,'idsLab');\r\n var idsLab = (auxIdsLab!=='') ? auxIdsLab.split(',') : [];\r\n idsLab = (idsLab) && (idsLab.length>0) ? idsLab.map(id=> parseInt(id)) : []; \r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : false);\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n /*var idTipo = getParam(params, 'idTipo');\r\n idTipo = (idTipo ? parseInt(idTipo) : 0);\r\n var idSubtipo = getParam(params, 'idSubtipo');\r\n idSubtipo = (idSubtipo ? parseInt(idSubtipo) : 0);*/\r\n var auxIdsTipo = getParam(params,'idsTipo');\r\n var idsTipo = (auxIdsTipo!=='') ? auxIdsTipo.split(',') : [];\r\n idsTipo = (idsTipo) && (idsTipo.length>0) ? idsTipo.map(id=> parseInt(id)) : []; \r\n var auxIdsSubtipo = getParam(params,'idsSubtipo');\r\n var idsSubtipo = (auxIdsSubtipo!=='') ? auxIdsSubtipo.split(',') : [];\r\n idsSubtipo = (idsSubtipo) && (idsSubtipo.length>0) ? idsSubtipo.map(id=> parseInt(id)) : []; \r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var fechaAutoIni = getParam(params, 'fechaAutoIni');\r\n fechaAutoIni = (fechaAutoIni) ? new Date(parseInt(fechaAutoIni)*1000) : null;\r\n var fechaAutoFin = getParam(params, 'fechaAutoFin');\r\n fechaAutoFin = (fechaAutoFin) ? new Date(parseInt(fechaAutoFin)*1000) : null;\r\n var fechaBajaIni = getParam(params, 'fechaBajaIni');\r\n fechaBajaIni = (fechaBajaIni) ? new Date(parseInt(fechaBajaIni)*1000) : null;\r\n var fechaBajaFin = getParam(params, 'fechaBajaFin');\r\n fechaBajaFin = (fechaBajaFin) ? new Date(parseInt(fechaBajaFin)*1000) : null;\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsLab: idsLab,\r\n idsGT: idsGT,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n idsTipo: idsTipo,\r\n idsSubtipo: idsSubtipo,\r\n uds: uds,\r\n fechaAutoIni: fechaAutoIni,\r\n fechaAutoFin: fechaAutoFin,\r\n fechaBajaFin: fechaBajaFin,\r\n fechaBajaIni: fechaBajaIni,\r\n ints: ints,\r\n ops: ops,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"binteraccionesmuh\":\r\n var auxIdsSel = getParam(params,'idsSel');\r\n var idsSel = (auxIdsSel!=='') ? auxIdsSel.split(',') : [];\r\n idsSel = (idsSel) && (idsSel.length>0) ? idsSel.map(id=> parseInt(id)) : []; \r\n\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n\r\n var numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n var idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n var filtrosActivos = misFiltros;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n idsSel: idsSel,\r\n titulo: 'Búsqueda de interacciones',\r\n numMostrar: numMostrar,\r\n idxOrden: idxOrden,\r\n filtrosActivos: filtrosActivos \r\n }\r\n break;\r\n\r\n case \"fbtest\":\r\n var idA = getParam(params,'idA');\r\n var idL1 = getParam(params,'idL1');\r\n var idL2 = getParam(params,'idL2');\r\n var listaIds = getParam(params,'idsL3');\r\n var idsL3 = (listaIds!=='') ? listaIds.split('--') : [];\r\n var listaEnfs = getParam(params,'enfsRel');\r\n var enfsRelAux = (listaEnfs!=='') ? listaIds.split('--') : [];\r\n var enfsRel = [];\r\n for (var i=0; i0) ? idsL3 : [];\r\n enfsRel = (enfsRel) && (enfsRel.length>0) ? enfsRel : [];\r\n snx = (snx) ? snx : 'X';\r\n edad = (edad) ? parseInt(edad) : null;\r\n unidad = (unidad) ? unidad : '';\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idA: idA,\r\n idL1: idL1,\r\n idL2: idL2,\r\n idsL3: idsL3,\r\n snx: snx,\r\n edad: edad,\r\n unidad: unidad,\r\n inicio: inicio,\r\n fin: fin,\r\n enfsRel: enfsRel,\r\n }\r\n break;\r\n case \"fbgtvmppmuh\":\r\n case \"fbgtvmpp2muh\":\r\n case \"fbgtconppf\":\r\n case \"fbgtsanppf\":\r\n var id = getParam(params,'id');\r\n if (!id)\r\n id = '';\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n id: id,\r\n }\r\n break;\r\n case \"fbgtatcmuh\":\r\n case \"fbgtatcmuv\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados : []; \r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n seleccionados: seleccionados,\r\n }\r\n break;\r\n case \"configuracion\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Conf',\r\n }\r\n break;\r\n case \"editabuscadores\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'EditaBuscadores',\r\n }\r\n break;\r\n case \"binicio\":\r\n case \"blaboratoriomuv\":\r\n case \"blaboratorioppf\":\r\n case \"blaboratoriomuh\":\r\n case \"blaboratoriomho\": \r\n case \"bformafarmamuh\":\r\n case \"bformafarmamuv\":\r\n case \"bformafarmappf\":\r\n case \"bafmuh\":\r\n case \"bammuh\":\r\n case \"bactppf\":\r\n case \"bafmuv\":\r\n case \"bagruphomoautomuh\":\r\n case \"bagruphomomuh\":\r\n case \"bagruphomoautoppf\":\r\n case \"bagruphomoppf\":\r\n case \"banalisismuh\":\r\n case \"bfarmacogeneticamuh\":\r\n case \"bpamuh\":\r\n case \"basomuh\":\r\n case \"bpamuv\":\r\n case \"basomuv\":\r\n case \"bingppf\":\r\n case \"btipoppf\":\r\n case \"bsubtipoppf\":\r\n case \"bindicacionmuh\":\r\n case \"bindicacionmuv\":\r\n case \"bindicacionppf\": \r\n case \"bcontraindicacionmuh\":\r\n case \"bprecaucionmuh\":\r\n case \"breaccionadversamuh\":\r\n case \"bgtatcmuh\":\r\n case \"bgtatcmuv\":\r\n case \"bgtvmppmuh\":\r\n case \"bgtconppf\":\r\n case \"bgtsanppf\":\r\n case \"bformmagistralmuh\":\r\n case \"bmedshomeomuh\": \r\n case \"bmedespanolesmuh\": \r\n case \"bmismonombremuh\": \r\n var txt = getParam(params,'txt');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n var opb = getParam(params,'opb');\r\n opb = (opb) ? parseInt(opb) : 0;\r\n var id = getParam(params,'id');\r\n if (!id)\r\n id = 0;\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n texto: txt,\r\n id: id, \r\n fuerzaTexto : true,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n opb: opb,\r\n }\r\n break;\r\n case \"bgtsatcmuh\":\r\n case \"bgtsatcmuv\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados : []; \r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n texto: txt,\r\n seleccionados: seleccionados, \r\n fuerzaTexto : true,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n opb: opb,\r\n }\r\n break;\r\n case \"blaboratoriosmuv\":\r\n case \"blaboratoriosppf\":\r\n case \"blaboratoriosmuh\":\r\n case \"blaboratoriosmho\":\r\n case \"bformasfarmamuh\":\r\n case \"bformasfarmamuv\":\r\n case \"bformasfarmappf\":\r\n case \"bafsmuh\":\r\n case \"bamsmuh\":\r\n case \"bactsppf\":\r\n case \"bafsmuv\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados.map(id=> parseInt(id)) : []; \r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n texto: txt,\r\n seleccionados: seleccionados, \r\n fuerzaTexto : true,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n opb: opb,\r\n }\r\n break;\r\n case \"bcongluten\":\r\n case \"bconlactosa\":\r\n case \"bsingluten\":\r\n case \"bsinlactosa\":\r\n case \"bdopantesmuh\":\r\n case \"bnolentes\":\r\n case \"bcomparapreciomenormuh\":\r\n case \"bcomparapreciomasbajomuh\":\r\n case \"bprecionotificadomuh\":\r\n case \"bseguimientoadicionalmuh\":\r\n case \"bdispositivoseguridadmuh\":\r\n case \"blibrorecetariom\":\r\n case \"blibroestupefacientesm\":\r\n case \"bnotificacionesvacmuv\":\r\n case \"benfermedadespath\":\r\n case \"benfermedadespatv\":\r\n case \"bdeduccionesrdlmuh\":\r\n case \"bnosustituiblesmuh\":\r\n case \"bcambioprecioprevistomuh\":\r\n\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n }\r\n break;\r\n case \"fbdocumentos\":\r\n case \"bdocumentos\":\r\n var idMed = getParam(params,'idMed');\r\n var inicio = getParam(params, 'inicio');\r\n var fin = getParam(params, 'fin');\r\n idMed = (idMed) ? parseInt(idMed) : 0;\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idMed: idMed,\r\n inicio: inicio,\r\n fin: fin,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 3\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (newInfoPagina)\r\n if (!deepEqual(newInfoPagina, infoPagina)){\r\n setInfoPagina(newInfoPagina); \r\n } \r\n return;\r\n }\r\n \r\n const onBackButtonEvent = (e) => {\r\n construyeInfoPaginaFromPath();\r\n }\r\n \r\n const AccionesComunesBusqueda = (datosPagina) =>{\r\n if (datosPagina.newlista != infoPagina.listaRes){\r\n var newInfoPagina = {\r\n codigoPagina: datosPagina.newpagina,\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: datosPagina.newlista,\r\n titulo: datosPagina.titulo,\r\n texto: datosPagina.texto,\r\n id: datosPagina.newid, \r\n seleccionados: datosPagina.seleccionados,\r\n fuerzaTexto : false,\r\n filtros : datosPagina.filtros,\r\n numMostrar : (datosPagina.numMostrar) ? datosPagina.numMostrar : 10,\r\n idxOrden : (datosPagina.idxOrden) ? datosPagina.idxOrden : 0,\r\n filtrosActivos : (datosPagina.filtrosActivos) ? datosPagina.filtrosActivos : [],\r\n completa: datosPagina.completa,\r\n total: datosPagina.total,\r\n idEpi: datosPagina.idEpi,\r\n idsEnfs: datosPagina.idsEnfs,\r\n idsMeds: datosPagina.idsMeds,\r\n txt: datosPagina.txt,\r\n idLab: datosPagina.idLab,\r\n idGT: datosPagina.idGT,\r\n idsLab: datosPagina.idsLab,\r\n idsGT: datosPagina.idsGT,\r\n pas: datosPagina.pas,\r\n solo: datosPagina.solo,\r\n idVia: datosPagina.idVia,\r\n idFF: datosPagina.idFF,\r\n ints: datosPagina.ints,\r\n uds: datosPagina.uds,\r\n emr: datosPagina.emr,\r\n edad: datosPagina.edad,\r\n undEdad: datosPagina.undEdad,\r\n enfsRel: datosPagina.enfsRel,\r\n anasRel: datosPagina.anasRel,\r\n ops: datosPagina.ops,\r\n idEspecie: datosPagina.idEspecie,\r\n idEnf: datosPagina.idEnf,\r\n idTipo: datosPagina.idTipo,\r\n idSubtipo: datosPagina.idSubtipo,\r\n idsTipo: datosPagina.idsTipo,\r\n idsSubtipo: datosPagina.idsSubtipo,\r\n tipoFF: datosPagina.tipoFF,\r\n idForma: datosPagina.idForma,\r\n idColor1: datosPagina.idColor1,\r\n idColor2: datosPagina.idColor2,\r\n idSabor: datosPagina.idSabor,\r\n CO1: datosPagina.CO1,\r\n CO2: datosPagina.CO2,\r\n tamanos: datosPagina.tamanos,\r\n ranura: datosPagina.ranura,\r\n logo: datosPagina.logo,\r\n difCol: datosPagina.difCol,\r\n anycol: datosPagina.anycol,\r\n col2: datosPagina.col2,\r\n ins1: datosPagina.ins1,\r\n ins2: datosPagina.ins2,\r\n idPais: datosPagina.idPais,\r\n inicio: datosPagina.inicio,\r\n fin: datosPagina.fin,\r\n pvpMenor : datosPagina.pvpMenor,\r\n pvpMasBajo : datosPagina.pvpMasBajo,\r\n literalPMenor : datosPagina.literalPMenor,\r\n literalPMasBajo : datosPagina.literalPMasBajo,\r\n fechaAutoIni: datosPagina.fechaAutoIni,\r\n fechaAutoFin: datosPagina.fechaAutoFin,\r\n fechaBajaIni: datosPagina.fechaBajaIni,\r\n fechaBajaFin: datosPagina.fechaBajaFin,\r\n fechaExFIIni: datosPagina.fechaExFIIni,\r\n fechaExFIFin: datosPagina.fechaExFIFin,\r\n fechaExSNSIni: datosPagina.fechaExSNSIni,\r\n fechaExSNSFin: datosPagina.fechaExSNSFin,\r\n fechaInSNSIni: datosPagina.fechaInSNSIni,\r\n fechaInSNSFin: datosPagina.fechaInSNSFin,\r\n fechaComerIni: datosPagina.fechaComerIni,\r\n fechaComerFin: datosPagina.fechaComerFin,\r\n idCampoP: datosPagina.idCampoP,\r\n idOpP: datosPagina.idOpP,\r\n pre: datosPagina.pre,\r\n idPredefP: datosPagina.idPredefP,\r\n idsAA: datosPagina.idsAA,\r\n idsAN: datosPagina.idsAN,\r\n idsDC: datosPagina.idsDC,\r\n idsMen: datosPagina.idsMen,\r\n idEpi: datosPagina.idEpi,\r\n texto: datosPagina.texto,\r\n noTexto : datosPagina.noTexto,\r\n opb: datosPagina.opb,\r\n }\r\n setInfoPagina(newInfoPagina);\r\n }\r\n }\r\n\r\n const QuitaFiltrosURL = (miUrl) =>{\r\n var idx = miUrl.indexOf(\"&filtro=\");\r\n var newUrl = miUrl;\r\n if (idx > 0)\r\n newUrl = miUrl.substr(0,idx);\r\n idx = newUrl.indexOf(\"&numMostrar=\");\r\n if (idx>0)\r\n newUrl = newUrl.substr(0,idx);\r\n idx = newUrl.indexOf(\"&idxOrden=\");\r\n if (idx>0)\r\n newUrl = newUrl.substr(0,idx);\r\n return newUrl; \r\n }\r\n\r\n const MismaURL = (url1, url2) =>{\r\n url1 = decodeURI(url1);\r\n url2 = decodeURI(url2);\r\n var sinparametros1 = url1.split('?')[0];\r\n var sinparametros2 = url2.split('?')[0];\r\n var params1 = getParamsURL(url1);\r\n var params2 = getParamsURL(url2);\r\n var txt1 = getParam(params1, 'txt');\r\n var txt2 = getParam(params2, 'txt');\r\n var res = (sinparametros1 === sinparametros2 && txt1===txt2);\r\n return res;\r\n }\r\n\r\n const CompletaURLBusqueda = (datosPagina) =>{\r\n var addToUrl = '';\r\n if (infoPagina.tipoPagina===\"ResultadosBusqueda\"){\r\n if (datosPagina.filtros){\r\n var filtrosStr = GetFiltrosStr(datosPagina.filtros);\r\n if (filtrosStr!=='')\r\n addToUrl += '&filtro=' + filtrosStr;\r\n }\r\n if (datosPagina.numMostrar>=0){\r\n addToUrl += '&numMostrar=' + datosPagina.numMostrar.toString();\r\n }\r\n if (datosPagina.idxOrden>=0){\r\n addToUrl += '&idxOrden=' + datosPagina.idxOrden.toString();\r\n }\r\n }\r\n return addToUrl;\r\n }\r\n\r\n const AccionesComunesFicha = (currentpath, datosPagina) =>{\r\n if (infoPagina.tipoPagina===\"ResultadosBusqueda\"){\r\n var changedpath = QuitaFiltrosURL(currentpath);\r\n var newpath = changedpath + CompletaURLBusqueda(datosPagina);\r\n if (newpath !== currentpath)\r\n window.history.replaceState(null,'',newpath);\r\n }\r\n }\r\n\r\n const checkSesion = (datosPagina) => {\r\n AuthService.isSesionOk()\r\n .then((response) => {\r\n if (!response)\r\n props.checkSesion()\r\n });\r\n }\r\n \r\n const CambiaAPagina = (datosPagina) => {\r\n checkSesion();\r\n CierraMenuBurguer();\r\n const currentpath = history.location.pathname + history.location.search;\r\n var newpath = currentpath;\r\n var newpagina = datosPagina.newpagina;\r\n //console.log(datosPagina.newpagina);\r\n if (accesoRestringido !== validaAcceso(newpagina))\r\n setAccesoRestringido(validaAcceso(newpagina));\r\n\r\n if (getIdProvincia()>0 || newpagina===\"Configuracion\"){ \r\n switch(newpagina){\r\n case \"Inicio\":\r\n newpath = rootPath;\r\n break;\r\n case \"Ayuda\":\r\n case \"Help\":\r\n newpath = rootPath + newpagina;\r\n break;\r\n case \"ExportaWS\":\r\n newpath = rootPath + newpagina;\r\n break;\r\n case \"BInicio\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?txt=\" + datosPagina.texto;\r\n if (datosPagina.opb > 0)\r\n newpath += \"&opb=\" + datosPagina.opb.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BLaboratorioMUV\":\r\n case \"BLaboratorioMUH\":\r\n case \"BLaboratorioMHO\":\r\n case \"BLaboratorioPPF\":\r\n case \"BFormaFarmaMUH\":\r\n case \"BFormaFarmaMUV\":\r\n case \"BFormaFarmaPPF\":\r\n case \"BAFMUH\":\r\n case \"BAMMUH\":\r\n case \"BActPPF\":\r\n case \"BAFMUV\":\r\n case \"BAgrupHomoAutoMUH\":\r\n case \"BAgrupHomoMUH\":\r\n case \"BAgrupHomoAutoPPF\":\r\n case \"BAgrupHomoPPF\":\r\n case \"BAnalisisMUH\":\r\n case \"BFarmacogeneticaMUH\":\r\n case \"BPAMUH\":\r\n case \"BAsoMUH\":\r\n case \"BPAMUV\":\r\n case \"BAsoMUV\":\r\n case \"BIngPPF\":\r\n case \"BTipoPPF\":\r\n case \"BSubtipoPPF\":\r\n case \"BIndicacionMUH\":\r\n case \"BIndicacionMUV\":\r\n case \"BIndicacionPPF\": \r\n case \"BContraindicacionMUH\":\r\n case \"BPrecaucionMUH\":\r\n case \"BReaccionAdversaMUH\":\r\n case \"BGTATCMUH\":\r\n case \"BGTATCMUV\":\r\n case \"BGTVMPPMUH\":\r\n case \"BGTConPPF\":\r\n case \"BGTSanPPF\":\r\n case \"BFormMagistralMUH\":\r\n case \"BMedsHomeoMUH\":\r\n case \"BMedEspanolesMUH\":\r\n case \"BMismoNombreMUH\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?id=\" + datosPagina.newid;\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',history.location.pathname+ \"?id=\" + datosPagina.newid);\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BLaboratoriosMUV\":\r\n case \"BLaboratoriosMUH\":\r\n case \"BLaboratoriosMHO\":\r\n case \"BLaboratoriosPPF\":\r\n case \"BFormasFarmaMUH\":\r\n case \"BFormasFarmaMUV\":\r\n case \"BFormasFarmaPPF\":\r\n case \"BAFsMUH\":\r\n case \"BAMsMUH\":\r\n case \"BActsPPF\":\r\n case \"BAFsMUV\":\r\n case \"BGTsATCMUH\":\r\n case \"BGTsATCMUV\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?seleccionados=\" + datosPagina.seleccionados.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',history.location.pathname+ \"?seleccionados=\" + datosPagina.seleccionados.toString());\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BConGluten\":\r\n case \"BConLactosa\":\r\n case \"BSinGluten\":\r\n case \"BSinLactosa\":\r\n case \"BDopantesMUH\":\r\n case \"BNoLentes\":\r\n case \"BComparaPrecioMenorMUH\":\r\n case \"BComparaPrecioMasBajoMUH\":\r\n case \"BPrecioNotificadoMUH\":\r\n case \"BSeguimientoAdicionalMUH\":\r\n case \"BDispositivoSeguridadMUH\":\r\n case \"BLibroRecetarioM\":\r\n case \"BLibroEstupefacientesM\":\r\n case \"BNotificacionESVACMUV\":\r\n case \"BEnfermedadesPATH\":\r\n case \"BEnfermedadesPATV\":\r\n case \"BNoSustituiblesMUH\":\r\n case \"BDeduccionesRDLMUH\":\r\n case \"BCambioPrecioPrevistoMUH\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?lst\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BSaborEdadPPF\":\r\n newpath = rootPath + newpagina + \"?se\";\r\n if (datosPagina.idDieto != \"\")\r\n newpath += \"&idDieto=\" + datosPagina.idDieto;\r\n if (datosPagina.idsSabores && (datosPagina.idsSabores.length > 0))\r\n newpath += \"&idsSabores=\" + datosPagina.idsSabores.toString();\r\n if (datosPagina.saborSolo)\r\n newpath += \"&saborSolo=S\";\r\n if (datosPagina.edad)\r\n newpath += \"&edad=\" + datosPagina.edad.toString();\r\n if (datosPagina.undEdad)\r\n newpath += \"&undEdad=\" + datosPagina.undEdad;\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BProblemasSumMUH\":\r\n newpath = rootPath + newpagina + \"?ps\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idPA > 0)\r\n newpath += \"&idPA=\" + datosPagina.idPA.toString();\r\n if (datosPagina.noSust)\r\n newpath += \"&noSust=S\";\r\n if (datosPagina.medExt)\r\n newpath += \"&medExt=S\";\r\n if (datosPagina.iniciod)\r\n newpath += \"&iniciod=\" + Math.round(datosPagina.iniciod.getTime()/1000).toString();\r\n if (datosPagina.inicioh)\r\n newpath += \"&inicioh=\" + Math.round(datosPagina.inicioh.getTime()/1000).toString();\r\n if (datosPagina.find)\r\n newpath += \"&find=\" + Math.round(datosPagina.find.getTime()/1000).toString();\r\n if (datosPagina.finh)\r\n newpath += \"&finh=\" + Math.round(datosPagina.finh.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BAlertasCMUH\":\r\n case \"BAlertasCMUV\":\r\n case \"BAlertasCPPF\":\r\n newpath = rootPath + newpagina + \"?ac\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.txtLote && datosPagina.txtLote !== '')\r\n newpath += \"&txtLote=\" + datosPagina.txtLote;\r\n if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idPA > 0)\r\n newpath += \"&idPA=\" + datosPagina.idPA.toString();\r\n if (datosPagina.inicio)\r\n newpath += \"&inicio=\" + Math.round(datosPagina.inicio.getTime()/1000).toString();\r\n if (datosPagina.fin)\r\n newpath += \"&fin=\" + Math.round(datosPagina.fin.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BCambioNombre\":\r\n case \"BCambioLaboratorio\":\r\n case \"BCambioPrecioMUH\":\r\n case \"BDesfinanciadosMUH\":\r\n case \"BFechaAlta\":\r\n newpath = rootPath + newpagina + \"?bf\";\r\n if (datosPagina.inicio)\r\n newpath += \"&inicio=\" + Math.round(datosPagina.inicio.getTime()/1000).toString();\r\n if (datosPagina.fin)\r\n newpath += \"&fin=\" + Math.round(datosPagina.fin.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BNovedadesUltimoMes\":\r\n case \"BMedicamentosPSUltimoMes\":\r\n case \"BHistorialUsuario\":\r\n newpath = rootPath + newpagina + \"?um\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BExtranjerosEXT\":\r\n newpath = rootPath + newpagina + \"?ex\";\r\n if (datosPagina.newid > 0)\r\n newpath += \"&id=\" + datosPagina.newid.toString();\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.idPais > 0)\r\n newpath += \"&idPais=\" + datosPagina.idPais.toString();\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + datosPagina.pas.toString();\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n\r\n case \"BEspecieIndicacionMUV\":\r\n newpath = rootPath + newpagina + \"?ei\";\r\n if (datosPagina.idEspecie != \"\")\r\n newpath += \"&idEspecie=\" + datosPagina.idEspecie;\r\n if (datosPagina.idEnf != \"\")\r\n newpath += \"&idEnf=\" + datosPagina.idEnf;\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n \r\n case \"BReaccionesAdversasMUH\":\r\n newpath = rootPath + newpagina + \"?se\";\r\n if (datosPagina.idEpi > 0)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi;\r\n if (datosPagina.idsEnfs && (datosPagina.idsEnfs.length > 0))\r\n newpath += \"&idsEnfs=\" + datosPagina.idsEnfs.toString();\r\n if (datosPagina.idsMeds && (datosPagina.idsMeds.length > 0))\r\n newpath += \"&idsMeds=\" + datosPagina.idsMeds.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BComposicionMUH\":\r\n case \"BComposicionMUV\":\r\n case \"BComposicionPPF\":\r\n newpath = rootPath + newpagina + \"?c\";\r\n if (datosPagina.tipoProd != \"\")\r\n newpath += \"&tipoProd=\" + datosPagina.tipoProd;\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.uds>0)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.pv>0)\r\n newpath += \"&pv=\" + datosPagina.pv.toString();\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BPacienteIndicacionMUH\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.idEnf>0)\r\n newpath += \"&idEnf=\" + datosPagina.idEnf.toString();\r\n if (datosPagina.idsPat && (datosPagina.idsPat.length > 0))\r\n newpath += \"&idsPat=\" + datosPagina.idsPat.toString();\r\n if (datosPagina.idsMed && (datosPagina.idsMed.length > 0))\r\n newpath += \"&idsMed=\" + datosPagina.idsMed.toString();\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.edad)\r\n newpath += \"&edad=\" + datosPagina.edad.toString();\r\n if (datosPagina.undEdad)\r\n newpath += \"&undEdad=\" + datosPagina.undEdad;\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idsAlg && (datosPagina.idsAlg.length > 0))\r\n newpath += \"&idsAlg=\" + datosPagina.idsAlg.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BFormaColorMUH\":\r\n newpath = rootPath + newpagina + \"?fc\";\r\n if (datosPagina.tipoFF!=='')\r\n newpath += \"&tipoFF=\" + datosPagina.tipoFF;\r\n if (datosPagina.idForma>0)\r\n newpath += \"&idForma=\" + datosPagina.idForma.toString();\r\n if (datosPagina.idColor1!==\"\")\r\n newpath += \"&idColor1=\" + datosPagina.idColor1.toString();\r\n if (datosPagina.idColor2!==\"\")\r\n newpath += \"&idColor2=\" + datosPagina.idColor2.toString();\r\n if (datosPagina.idSabor>0)\r\n newpath += \"&idSabor=\" + datosPagina.idSabor.toString();\r\n if (datosPagina.idEnf>0)\r\n newpath += \"&idEnf=\" + datosPagina.idEnf.toString();\r\n if (datosPagina.tamanos && (datosPagina.tamanos.length > 0))\r\n newpath += \"&tamanos=\" + datosPagina.tamanos.toString();\r\n if (datosPagina.CO1)\r\n newpath += \"&CO1=\" + datosPagina.CO1;\r\n if (datosPagina.CO2)\r\n newpath += \"&CO2=\" + datosPagina.CO2;\r\n if (datosPagina.col2)\r\n newpath += \"&col2=S\" \r\n if (datosPagina.anycol)\r\n newpath += \"&anycol=S\" \r\n if (datosPagina.ranura)\r\n newpath += \"&ranura=S\" \r\n if (datosPagina.logo)\r\n newpath += \"&logo=S\" \r\n if (datosPagina.difCol)\r\n newpath += \"&difCol=S\" \r\n if (datosPagina.ins1 && datosPagina.ins1 !== '')\r\n newpath += \"&ins1=\" + datosPagina.ins1;\r\n if (datosPagina.ins2 && datosPagina.ins2 !== '')\r\n newpath += \"&ins2=\" + datosPagina.ins2;\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BAvanzadaMUH\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n /*if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n\r\n if (datosPagina.idsLab && (datosPagina.idsLab.length > 0))\r\n newpath += \"&idsLab=\" + datosPagina.idsLab.toString();\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.uds)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.emr)\r\n newpath += \"&emr=\" + datosPagina.emr.toString();\r\n if (datosPagina.edad)\r\n newpath += \"&edad=\" + datosPagina.edad.toString();\r\n if (datosPagina.undEdad)\r\n newpath += \"&undEdad=\" + datosPagina.undEdad;\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n\r\n if (datosPagina.fechaAutoIni)\r\n newpath += \"&fechaAutoIni=\" + Math.round(datosPagina.fechaAutoIni.getTime()/1000).toString();\r\n if (datosPagina.fechaAutoFin)\r\n newpath += \"&fechaAutoFin=\" + Math.round(datosPagina.fechaAutoFin.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaIni)\r\n newpath += \"&fechaBajaIni=\" + Math.round(datosPagina.fechaBajaIni.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaFin)\r\n newpath += \"&fechaBajaFin=\" + Math.round(datosPagina.fechaBajaFin.getTime()/1000).toString();\r\n if (datosPagina.fechaComerIni)\r\n newpath += \"&fechaComerIni=\" + Math.round(datosPagina.fechaComerIni.getTime()/1000).toString();\r\n if (datosPagina.fechaComerFin)\r\n newpath += \"&fechaComerFin=\" + Math.round(datosPagina.fechaComerFin.getTime()/1000).toString();\r\n if (datosPagina.fechaInSNSIni)\r\n newpath += \"&fechaInSNSIni=\" + Math.round(datosPagina.fechaInSNSIni.getTime()/1000).toString();\r\n if (datosPagina.fechaInSNSFin)\r\n newpath += \"&fechaInSNSFin=\" + Math.round(datosPagina.fechaInSNSFin.getTime()/1000).toString();\r\n if (datosPagina.fechaExSNSIni)\r\n newpath += \"&fechaExSNSIni=\" + Math.round(datosPagina.fechaExSNSIni.getTime()/1000).toString();\r\n if (datosPagina.fechaExSNSFin)\r\n newpath += \"&fechaExSNSFin=\" + Math.round(datosPagina.fechaExSNSFin.getTime()/1000).toString();\r\n if (datosPagina.fechaExFIIni)\r\n newpath += \"&fechaExFIIni=\" + Math.round(datosPagina.fechaExFIIni.getTime()/1000).toString();\r\n if (datosPagina.fechaExFIFin)\r\n newpath += \"&fechaExFIFin=\" + Math.round(datosPagina.fechaExFIFin.getTime()/1000).toString();\r\n if (datosPagina.idCampoP)\r\n newpath += \"&idCampoP=\" + datosPagina.idCampoP;\r\n if (datosPagina.idOpP)\r\n newpath += \"&idOpP=\" + datosPagina.idOpP.toString();\r\n if (datosPagina.idPredefP)\r\n newpath += \"&idPredefP=\" + datosPagina.idPredefP.toString();\r\n if (datosPagina.pre)\r\n newpath += \"&pre=\" + Math.trunc(datosPagina.pre * 100).toString();\r\n if (datosPagina.idsAA && (datosPagina.idsAA.length > 0))\r\n newpath += \"&idsAA=\" + datosPagina.idsAA.toString();\r\n if (datosPagina.idsAN && (datosPagina.idsAN.length > 0))\r\n newpath += \"&idsAN=\" + datosPagina.idsAN.toString();\r\n if (datosPagina.idsDC && (datosPagina.idsDC.length > 0))\r\n newpath += \"&idsDC=\" + datosPagina.idsDC.toString();\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n\r\n if (datosPagina.enfsRel && (datosPagina.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += datosPagina.enfsRel[i].codigo + \"_\" + datosPagina.enfsRel[i].epi;\r\n }\r\n newpath += \"&enfsRel=\" + strEnf;\r\n } \r\n if (datosPagina.anasRel && (datosPagina.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += datosPagina.anasRel[i].codigo + \"_\" + datosPagina.anasRel[i].epi;\r\n }\r\n newpath += \"&anasRel=\" + strAna;\r\n } \r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BAvanzadaMUV\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n /*if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n\r\n if (datosPagina.idsLab && (datosPagina.idsLab.length > 0))\r\n newpath += \"&idsLab=\" + datosPagina.idsLab.toString();\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.uds)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.fechaAutoIni)\r\n newpath += \"&fechaAutoIni=\" + Math.round(datosPagina.fechaAutoIni.getTime()/1000).toString();\r\n if (datosPagina.fechaAutoFin)\r\n newpath += \"&fechaAutoFin=\" + Math.round(datosPagina.fechaAutoFin.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaIni)\r\n newpath += \"&fechaBajaIni=\" + Math.round(datosPagina.fechaBajaIni.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaFin)\r\n newpath += \"&fechaBajaFin=\" + Math.round(datosPagina.fechaBajaFin.getTime()/1000).toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idEspecie != \"\")\r\n newpath += \"&idEspecie=\" + datosPagina.idEspecie;\r\n if (datosPagina.idEnf != \"\")\r\n newpath += \"&idEnf=\" + datosPagina.idEnf;\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n \r\n case \"BAvanzadaPAH\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.idsAF && (datosPagina.idsAF.length > 0))\r\n newpath += \"&idsAF=\" + datosPagina.idsAF.toString();\r\n if (datosPagina.idsAM && (datosPagina.idsAM.length > 0))\r\n newpath += \"&idsAM=\" + datosPagina.idsAM.toString();\r\n /*if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n if (datosPagina.enfsRel && (datosPagina.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += datosPagina.enfsRel[i].codigo + \"_\" + datosPagina.enfsRel[i].epi;\r\n }\r\n newpath += \"&enfsRel=\" + strEnf;\r\n } \r\n if (datosPagina.anasRel && (datosPagina.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += datosPagina.anasRel[i].codigo + \"_\" + datosPagina.anasRel[i].epi;\r\n }\r\n newpath += \"&anasRel=\" + strAna;\r\n } \r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BAvanzadaPPF\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n /*if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n\r\n if (datosPagina.idsLab && (datosPagina.idsLab.length > 0))\r\n newpath += \"&idsLab=\" + datosPagina.idsLab.toString();\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n /*if (datosPagina.idTipo>0)\r\n newpath += \"&idTipo=\" + datosPagina.idTipo.toString();\r\n if (datosPagina.idSubtipo>0)\r\n newpath += \"&idSubtipo=\" + datosPagina.idSubtipo.toString();*/\r\n if (datosPagina.idsTipo && (datosPagina.idsTipo.length > 0))\r\n newpath += \"&idsTipo=\" + datosPagina.idsTipo.toString();\r\n if (datosPagina.idsSubtipo && (datosPagina.idsSubtipo.length > 0))\r\n newpath += \"&idsSubtipo=\" + datosPagina.idsSubtipo.toString();\r\n if (datosPagina.uds)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.fechaAutoIni)\r\n newpath += \"&fechaAutoIni=\" + Math.round(datosPagina.fechaAutoIni.getTime()/1000).toString();\r\n if (datosPagina.fechaAutoFin)\r\n newpath += \"&fechaAutoFin=\" + Math.round(datosPagina.fechaAutoFin.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaIni)\r\n newpath += \"&fechaBajaIni=\" + Math.round(datosPagina.fechaBajaIni.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaFin)\r\n newpath += \"&fechaBajaFin=\" + Math.round(datosPagina.fechaBajaFin.getTime()/1000).toString();\r\n\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n \r\n case \"BInteraccionesMUH\":\r\n newpath = rootPath + newpagina + \"?ia\";\r\n if (datosPagina.idsSel && (datosPagina.idsSel.length > 0))\r\n newpath += \"&idsSel=\" + datosPagina.idsSel.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BDocumentos\":\r\n newpath = rootPath + newpagina + \"?do\";\r\n if (datosPagina.idMed > 0)\r\n newpath += \"&idMed=\" + datosPagina.idMed.toString();\r\n if (datosPagina.inicio)\r\n newpath += \"&inicio=\" + Math.round(datosPagina.inicio.getTime()/1000).toString();\r\n if (datosPagina.fin)\r\n newpath += \"&fin=\" + Math.round(datosPagina.fin.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"FichaMUH\":\r\n case \"FichaMUV\":\r\n case \"FichaFM\":\r\n case \"FichaPPF\":\r\n case \"FichaPAH\":\r\n case \"FichaPAV\":\r\n case \"FichaASO\":\r\n case \"FichaASOH\":\r\n case \"FichaASOV\":\r\n case \"FichaING\": \r\n case \"FichaMHO\": \r\n case \"FichaPHO\": \r\n case \"FichaPAT\":\r\n case \"FichaPATH\":\r\n case \"FichaPATV\":\r\n case \"FichaEXT\":\r\n var newpath = rootPath + newpagina + \"/\" +datosPagina.newid.toString();\r\n AccionesComunesFicha(currentpath, datosPagina);\r\n break;\r\n case \"Configuracion\":\r\n case \"EditaBuscadores\":\r\n case \"FBLaboratorioMUH\":\r\n case \"FBLaboratorioMUV\":\r\n case \"FBLaboratorioPPF\":\r\n case \"FBAgrupHomoAutoMUH\":\r\n case \"FBAgrupHomoMUH\":\r\n case \"FBAgrupHomoAutoPPF\":\r\n case \"FBAgrupHomoPPF\":\r\n case \"FBFormaFarmaMUH\":\r\n case \"FBFormaFarmaMUV\":\r\n case \"FBFormaFarmaPPF\":\r\n case \"FBAFMUH\":\r\n case \"FBAMMUH\":\r\n case \"FBActPPF\":\r\n case \"FBAFMUV\":\r\n case \"FBAnalisisMUH\":\r\n case \"FBFarmacogeneticaMUH\":\r\n case \"FBGTATCMUH\":\r\n case \"FBGTATCMUV\":\r\n case \"FBGTVMPPMUH\":\r\n case \"FBGTVMPP2MUH\":\r\n case \"FBGTConPPF\":\r\n case \"FBGTSanPPF\": \r\n case \"FBSaborEdadPPF\":\r\n case \"FBEspecieIndicacionMUV\":\r\n case \"FBProblemasSumMUH\":\r\n case \"FBAlertasCMUH\":\r\n case \"FBAlertasCMUV\":\r\n case \"FBAlertasCPPF\":\r\n case \"FBReaccionesAdversasMUH\":\r\n case \"FBComposicionMUH\":\r\n case \"FBComposicionMUV\":\r\n case \"FBComposicionPPF\":\r\n case \"FBPacienteIndicacionMUH\":\r\n case \"FBFormaColorMUH\": \r\n case \"FBAvanzadaMUH\":\r\n case \"FBAvanzadaMUV\":\r\n case \"FBAvanzadaPAH\":\r\n case \"FBAvanzadaPPF\":\r\n case \"FBExtranjerosEXT\":\r\n case \"FBCambioNombre\":\r\n case \"FBCambioLaboratorio\":\r\n case \"FBCambioPrecioMUH\":\r\n case \"FBDesfinanciadosMUH\":\r\n case \"FBFechaAlta\":\r\n case \"FBDocumentos\":\r\n \r\n case \"FBTest\": \r\n newpath = rootPath;\r\n newpath += newpagina;\r\n break;\r\n\r\n default:\r\n console.log(newpagina);\r\n alert(\"Página no implementada\");\r\n break;\r\n }\r\n }\r\n else{\r\n newpath = rootPath;\r\n newpath += newpagina;\r\n }\r\n \r\n //if (QuitaFiltrosURL(newpath) != QuitaFiltrosURL(currentpath)){\r\n if (!MismaURL(newpath, currentpath)){\r\n setLastVisitedPath(currentpath);\r\n if (newpagina === \"BNovedadesUltimoMes\"){\r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n var aux = \"FBFechaAlta?inicio=\"+Math.round(auxdate.getTime()/1000).toString();\r\n history.push(aux);\r\n }\r\n if (newpagina === \"BMedicamentosPSUltimoMes\"){\r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n var aux = \"FBProblemasSumMUH?iniciod=\"+Math.round(auxdate.getTime()/1000).toString();\r\n history.push(aux);\r\n }\r\n history.push(newpath);\r\n window.scroll({ top: 0, behavior: 'smooth' })\r\n construyeInfoPaginaFromPath();\r\n }\r\n else{\r\n }\r\n }\r\n\r\n const Atras = () => { \r\n history.goBack();\r\n //setRefresh (prev => prev + 1 );\r\n }\r\n\r\n const AlHacerScroll = () => {\r\n if (window.pageYOffset === 0){\r\n if (!isTopWindow)\r\n setIsTopWindow(true);\r\n RemoveClassNameToClassItems('header', null, 'active');\r\n RemoveClassNameToClassItems('contenedor__buscador__sticky.', null, 'active');\r\n var elements = document.getElementsByTagName('section');\r\n if (elements.length >0)\r\n {\r\n if (!elements[0].classList.contains(\"AccessNotAllowed\"))\r\n elements[0].classList.remove('active');\r\n }\r\n RemoveClassNameToClassItems('section__buscador', 'container', 'active');\r\n RemoveClassNameToClassItems('medicamento-infoGeneral', 'nav__info', 'active');\r\n RemoveClassNameToClassItems('medicamento-infoGeneral', 'medicamento', 'active');\r\n }\r\n else{\r\n if (isTopWindow)\r\n setIsTopWindow(false);\r\n AddClassNameToClassItems('header', null, 'active');\r\n AddClassNameToClassItems('contenedor__buscador__sticky.', null, 'active');\r\n var elements = document.getElementsByTagName('section');\r\n if (elements.length >0)\r\n {\r\n elements[0].classList.add('active');\r\n }\r\n AddClassNameToClassItems('section__buscador', 'container', 'active');\r\n AddClassNameToClassItems('medicamento-infoGeneral', 'nav__info', 'active');\r\n AddClassNameToClassItems('medicamento-infoGeneral', 'medicamento', 'active');\r\n }\r\n var infogenItems = document.getElementsByClassName('medicamento-infoGeneral');\r\n var infoGenItem = null;\r\n if (infogenItems.length>0)\r\n {\r\n infoGenItem = infogenItems[0];\r\n var secciones = document.getElementsByClassName('activeAside');\r\n var menus = document.getElementsByClassName(' elemento__menu__ficha');\r\n \r\n if (window.pageYOffset>=100)\r\n {\r\n for (var i = 0, len = secciones.length; i < len; i++) {\r\n var y0 = secciones[i].getBoundingClientRect().top;\r\n //if (y0>0 && y<= ((window.pageYOffset + 100) - offsetY ))\r\n if (y0>-80 && y0<= 200)\r\n {\r\n RemoveClassNameToClassItems('nav__info', 'elemento', 'active');\r\n if (menus.length>i)\r\n menus[i].classList.add('active');\r\n break;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n RemoveClassNameToClassItems('nav__info', 'elemento', 'active');\r\n if (menus.length>0)\r\n menus[0].classList.add('active')\r\n }\r\n }\r\n }\r\n\r\n const CierraMenuBurguer = () => {\r\n \r\n RemoveClassNameToClassItems('child__menu1',null, 'active');\r\n RemoveClassNameToClassItems('child__menu1',null, 'active2');\r\n RemoveClassNameToClassItems('child__menu2',null, 'active');\r\n RemoveClassNameToClassItems('historial__content',null, 'active');\r\n RemoveClassNameToClassItems('child__1',null, 'active');\r\n RemoveClassNameToClassItems('child__2',null, 'active');\r\n RemoveClassNameToClassItems('nenuChilds',null, 'active');\r\n RemoveClassNameToClassItems('coverToggleMenu',null, 'active');\r\n RemoveClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n RemoveClassNameToClassItems('toggle',null, 'active');\r\n RemoveClassNameToClassItems('backItem__3',null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n RemoveClassNameToClassItems('backItem__2',null, 'active');\r\n RemoveClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems(\"coverMenuHistorial\",null, 'active');\r\n RemoveClassNameToClassItems('list__1',null,'displayblock');\r\n AddClassNameToClassItems('list__1',null,'displaynone');\r\n var imagen = document.getElementById('imgMenuBurger');\r\n if (imagen)\r\n imagen.src = rootPath + 'img/MBTran0.png';\r\n }\r\n\r\n const logOut = () => {\r\n AuthService.logout();\r\n }; \r\n\r\n const modalContentLicencia = (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n {!haAceptadoLicencia ?\r\n \r\n :\r\n <>\r\n }\r\n \r\n
    CierraMenuBurguer()}>\r\n {(getIdProvincia()>0) ?\r\n (validaAcceso(infoPagina.codigoPagina) ?\r\n \r\n :\r\n \r\n )\r\n :\r\n \r\n }\r\n
    \r\n \r\n
    \r\n );\r\n\r\n};\r\n\r\nexport default Contenido;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022AuthService from \"../services/auth.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../services/utils\";\r\nimport Emergente from \"./Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\nconst Credenciales = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [datosAcceso, setDatosAcceso] = useState(null);\r\n\r\n const getInfoCredenciales = (str) =>{\r\n setEstado(1);\r\n BP2022AuthService.infoCredenciales(str)\r\n .then((response) => {\r\n if ((response.ok) && (response.info)){\r\n setDatosAcceso({\r\n usuarioActual: response.info.UsuarioActual,\r\n passActual: response.info.PassActual,\r\n });\r\n setEstado(2);\r\n }\r\n else{\r\n setMensaje(response.msg);\r\n setEstado(3);\r\n } \r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(3);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n var ruta = getCurrentURL();\r\n if (ruta.length>=rootPath.length)\r\n ruta = ruta.substring(rootPath.length);\r\n if (ruta.length>0){\r\n var params = getParamsURL(ruta);\r\n var str = getParam(params,'a');\r\n getInfoCredenciales(str);\r\n }\r\n }\r\n },[]);\r\n\r\n\r\n const cancelaProceso = () =>{\r\n window.location.href = \"https://botplusweb.farmaceuticos.com\";\r\n }\r\n\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :(estado === 1) ?\r\n
    \r\n

    Buscando información...

    \r\n
    \r\n :(estado === 2) ?\r\n
    \r\n

    \r\n Usuario:\r\n {datosAcceso.usuarioActual}\r\n

    \r\n

    \r\n Contraseña:\r\n {datosAcceso.passActual}\r\n

    \r\n
    \r\n :(estado === 3) ?\r\n
    \r\n

    {mensaje}

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default Credenciales;\r\n","import React, { useState, useEffect } from \"react\";\n\nimport {\n BrowserRouter as Router,\n Link,\n useLocation,\n Switch,\n Route,\n} from \"react-router-dom\";\n\nimport \"./css/style.css\"\nimport \"./css/style.scss\"\nimport \"./css/fran.css\"\nimport \"./App.css\";\nimport BP2022AuthService from \"./services/auth.service\";\n\n\nimport Login from \"./components/Login\";\nimport Contenido from \"./components/Contenido\";\nimport Credenciales from \"./components/Credenciales\";\n\nimport AuthService from \"./services/auth.service\";\nimport { getCurrentURL, getParam, getParamsURL } from \"./services/utils\";\n\nconst App = () => {\n const [currentUser, setCurrentUser] = useState(undefined);\n const [sesionOK, setSesionOk] = useState(true);\n const [estado, setEstado] = useState(0);\n const [mensaje, setMensaje] = useState(\"\");\n\n useEffect(() => {\n const user = AuthService.getLocalUser();\n if (!user || !user.botPlusUser || !sesionOK){\n var ruta = getCurrentURL();\n var params = getParamsURL(ruta);\n var keypass = getParam(params,'keypass');\n var token = getParam(params,'token');\n\n if (token && token !== ''){\n OpenDeferredSession(token);\n }else if (keypass && keypass !== ''){\n SpecialAuthentication(keypass);\n }else{\n IPAuthentication();\n }\n }else if (user != currentUser) {\n setCurrentUser(user);\n CheckNetworkUser();\n }\n }, [sesionOK]);\n\n const CheckNetworkUser = () => {\n BP2022AuthService.getNetworkUser()\n .then((response) => {\n var bpu = response.botPlusUser;\n var lu = JSON.parse(localStorage.getItem(\"login\"));\n if (lu.botPlusUser.Username === bpu.Username && response.Status===0){\n console.log(\"Renovado TOKEN\");\n localStorage.setItem(\"login\", JSON.stringify(response));\n if (estado != 0)\n setEstado(0);\n if (mensaje != \"\")\n setMensaje(\"\");\n }\n else{\n setEstado(response.Status);\n setMensaje(response.Mensaje);\n setSesionOk(false);\n }\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n const OpenDeferredSession = (token) => {\n BP2022AuthService.openDeferredSesion(token)\n .then((response) => {\n //console.log(response);\n setCurrentUser(response.botPlusUser.Usuario)\n if (response.Status === 0){\n setEstado(0);\n window.location.reload();\n }\n if (mensaje != \"\")\n setMensaje(\"\");\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n const SpecialAuthentication = (str) => {\n BP2022AuthService.getSpecialAuthentication(str)\n .then((response) => {\n if (response.Status===0){\n localStorage.setItem(\"login\", JSON.stringify(response));\n setCurrentUser(response.botPlusUser.Usuario)\n window.location.reload();\n }\n else{\n setEstado(response.Status);\n setMensaje(response.Mensaje);\n setSesionOk(false);\n }\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n const IPAuthentication = () => {\n BP2022AuthService.getIPAuthentication()\n .then((response) => {\n if (response.Status===0){\n localStorage.setItem(\"login\", JSON.stringify(response));\n setCurrentUser(response.botPlusUser.Usuario)\n window.location.reload();\n }\n else{\n setEstado(response.Status);\n setMensaje(response.Mensaje);\n setSesionOk(false);\n }\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n if (window.location.host === 'localhost:3000')\n document.title = \"BOTPLUS Desarrollo\";\n else if (window.location.host === 'botplus2022.nitramsoftware.es:8088')\n document.title = \"BOTPLUS Nitram\";\n else if (window.location.host === 'botpluswebdesa.consejo.es')\n document.title = \"BOTPLUS Pruebas\";\n else if (window.location.host === 'botpluswebpreproduccion.consejo.es')\n document.title = \"BOTPLUS Preproducción\";\n\n\n\n return (\n \n
    \n \n \n \n \n \n {(currentUser) && sesionOK ? (\n \n ) : (\n \n ) } \n \n \n
    \n
    \n );\n};\n\nexport default App;","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}