{"version":3,"sources":["assets/img/loading.gif","assets/img/document-ok.png","assets/img/logoSPRegula.png","assets/img/logoFooterSPRegula.png","assets/img/mascote.png","assets/img/document.png","services/session.js","services/api_service.js","services/message.js","context/auth.js","services/cookies.js","helpers/formats.js","constants/MaterialTable.js","components/ProgressBar/StepperProgress.jsx","views/Shared/AcoesGestor.jsx","views/Shared/Transportador/FichaRequerimento.jsx","views/Shared/Gerador/FichaRequerimento.jsx","views/Shared/Destino/FichaRequerimento.jsx","views/Acompanhamento/Lista.jsx","components/TextField/TextField.jsx","views/Dashboard/ListaDashboardRequerimento.jsx","views/Dashboard/Dashboard.jsx","views/Shared/Transportador/AgendamentoVistoria.jsx","components/Input/InputPDF.jsx","views/Shared/Transportador/ConfirmacaoVistoria.jsx","views/Shared/Transportador/CalendarioVistoria.jsx","services/mask.js","services/viaCep.js","components/ModalJustificativa/ModalJustificativa.jsx","services/requerimento_service.js","views/Shared/Transportador/FichaTransportador.jsx","views/Shared/Gerador/FichaGerador.jsx","views/Shared/Destino/FichaDestino.jsx","services/acesso.js","helpers/email.js","helpers/valid.js","views/Shared/Transportador/Identificacao.jsx","services/protocolo_transportador_service.js","views/Shared/Transportador/Veiculos.jsx","views/Shared/Transportador/LocaisGuarda.jsx","views/Shared/Transportador/LocaisDestinacao.jsx","views/Shared/Transportador/Equipamentos.jsx","views/Shared/Documentos.jsx","services/protocolo_gerador_service.js","services/protocolo_destino_service.js","views/Manutencao/Transportador/ManutencaoTransportadorForm.jsx","views/Shared/Gerador/Identificacao.jsx","views/Shared/Gerador/LocaisColeta.jsx","views/Shared/Gerador/CaracterizacaoResiduos.jsx","views/Shared/Gerador/Residuos.jsx","views/Manutencao/Gerador/ManutencaoGeradorForm.jsx","views/Shared/Gerador/LocaisArmazenagem.jsx","views/Manutencao/GeradorRSS/ManutencaoGeradorRSSForm.jsx","views/Manutencao/GeradorRSS/ManutencaoGeradorRSSLista.jsx","views/Shared/Destino/Identificacao.jsx","views/Shared/Destino/Locais.jsx","views/Manutencao/Destino/ManutencaoDestinoForm.jsx","views/Cadastros/CadastroSolicitacaoForm.jsx","views/Cadastros/CadastroFluxoForm.jsx","views/Cadastros/CadastroClassesResiduosForm.jsx","views/Seguranca/PerfilForm.jsx","views/Seguranca/UsuarioForm.jsx","views/Relatorios/Fichas/RelatorioFichaRequerimentoGeradorRSS.jsx","helpers/nomeclaturas.js","views/Relatorios/Fichas/RelatorioManutecaoGeradorRSS.jsx","views/Relatorios/Fichas/RelatorioManutecaoTransportadores.jsx","views/Relatorios/Fichas/RelatorioManutecaoDestinos.jsx","helpers/mascaras.js","views/Shared/DadosPrimarios.jsx","views/Portal/components/CardOpcaoCadastro.jsx","views/Portal/components/CardIntegracao.jsx","views/Shared/Declaracao.jsx","views/Shared/Transportador/ListaVeiculosExclusao.jsx","views/Shared/Gerador/ListaLocaisColetaExclusao.jsx","views/Shared/Destino/ListaLocaisExclusao.jsx","views/Portal/Legislacao/index.jsx","components/LogoSistema/LogoSistema.jsx","routes/routes.jsx","components/Sidebar/Sidebar.jsx","layouts/Admin.jsx","views/Auth/Login.jsx","views/Auth/EsqueceuSenha.jsx","views/Auth/TrocarSenha.jsx","views/Acompanhamento/Inicio.jsx","views/Manutencao/ManutencaoForm.jsx","views/Consulta/ConsultaCadastro.jsx","views/Consulta/ConsultaVeiculo.jsx","views/Acompanhamento/AgendamentoVistoriaLista.jsx","views/Acompanhamento/ExportacaoLauda.jsx","views/Manutencao/Transportador/ManutencaoTransportadorLista.jsx","views/Manutencao/Gerador/ManutencaoGeradorLista.jsx","views/Manutencao/Destino/ManutencaoDestinoLista.jsx","views/Cadastros/CadastroEnquadramento.jsx","views/Cadastros/CadastroDocumentos.jsx","views/Cadastros/CadastroSolicitacaoLista.jsx","views/Cadastros/CadastroFluxoLista.jsx","views/Cadastros/CadastroSubPrefeitura.jsx","views/Cadastros/CadastroClassesResiduosLista.jsx","views/Cadastros/CadastroSetupAgendaVistoria.jsx","views/Cadastros/CadastroDiasNaoUteis.jsx","views/Seguranca/PerfilLista.jsx","views/Seguranca/UsuarioLista.jsx","views/Relatorios/RelatoriosLista.jsx","views/Portal/Opcoes.jsx","views/Portal/Duvidas/index.jsx","views/Portal/Transportador/RequerimentoNovoCadastro.jsx","views/Portal/Transportador/RequerimentoRenovacaoCadastro.jsx","views/Portal/Transportador/RequerimentoInclusaoVeiculo.jsx","views/Portal/Transportador/RequerimentoExclusaoVeiculo.jsx","views/Portal/Transportador/RequerimentoAlteracao.jsx","views/Portal/Transportador/RequerimentoAlteracaoIdentificacao.jsx","views/Shared/AtualizarContato.jsx","views/Portal/Transportador/RequerimentoAlteracaoEquipamentos.jsx","views/Portal/MeuCadastro.jsx","views/Consulta/ConsultaRequerimento.jsx","views/Carteirinha/CarteirinhaVeiculo.jsx","views/Portal/Gerador/RequerimentoNovoCadastro.jsx","views/Portal/Gerador/RequerimentoRenovacaoCadastro.jsx","views/Portal/Gerador/RequerimentoInclusaoLocal.jsx","views/Portal/Gerador/RequerimentoExclusaoLocal.jsx","views/Portal/Gerador/RequerimentoAlteracaoCadastro.jsx","views/Carteirinha/CarteirinhaGG.jsx","views/Carteirinha/QrCodelocalidadeRGG.jsx","views/Portal/GeradorRSS/RequerimentoNovoCadastro.jsx","views/Portal/GeradorRSS/RequerimentoAlteracao.jsx","views/Portal/Destino/RequerimentoNovoCadastro.jsx","views/Portal/Destino/RequerimentoInclusaoLocal.jsx","views/Portal/Destino/RequerimentoRenovacaoCadastro.jsx","views/Portal/Destino/RequerimentoExclusaoLocal.jsx","views/Portal/Destino/RequerimentoAlteracao.jsx","views/Portal/Destino/RequerimentoAumentoCapacidade.jsx","views/Carteirinha/CertificadoRSS.jsx","views/Carteirinha/CertificadoTransportador.jsx","views/Carteirinha/CertificadoTransportadorUnificado.jsx","views/Carteirinha/CertificadoDestino.jsx","views/Carteirinha/CertificadoDestinoRGG.jsx","views/Portal/RequerimentoCancelamento.jsx","views/Portal/AnexoComprovantePagamento.jsx","views/Portal/AgendamentoVistoriaPortal.jsx","views/Layouts/ImplantacaoDatasys.jsx","components/Navbars/Navbar.jsx","components/Footer/Footer.jsx","components/Navbars/components/Popover.jsx","components/Navbars/Navigation.jsx","layouts/Auth.jsx","layouts/Empty.jsx","layouts/External.jsx","components/Loading/Loading.jsx","routes/RoutesComponent.jsx","App.jsx","index.js"],"names":["module","exports","setSessionCookie","session","Cookies","expires","getSessionCookie","sessionCookie","undefined","JSON","parse","React","createContext","tokenCookie","getTokenCookie","api","axios","create","baseURL","process","tenantId","window","location","host","split","request","endpoint","obj","method","contentType","a","promise","Promise","resolve","reject","accessToken","now","Date","expiration","reload","success","result","newResult","status","message","data","failed","error","response","headers","_headers","Authorization","post","stringify","then","catch","put","get","delete","api_POST","api_PUT","api_GET","api_GETExternal","newError","swall","withReactContent","Swal","showMessage","title","text","icon","function_confirmation","fire","footer","getFullYear","showQuestion","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","value","AuthContext","loading","isSignout","useAuth","useContext","AuthProvider","children","useState","setLoading","setSession","setupSistema","setSetupSistema","signIn","useCallback","signOut","token","callback","Object","keys","forEach","cookie","loadSetupSistema","err","finally","loadAsync","console","useEffect","Provider","transformValueFloattoFormated","valor","index","toLocaleString","indexOf","substring","length","formateDate","date","moment","format","formateDateSemBarra","formateDateApi","formateDateandTimeApi","formateDateandTime","formateMonthName","month","table_translate","body","emptyDataSourceMessage","deleteText","filterPlaceHolder","filterTooltip","cancelTooltip","saveTooltip","grouping","placeholder","groupedBy","header","actions","pagination","labelDisplayedRows","labelRowsSelect","labelRowsPerPage","firstAriaLabel","firstTooltip","previousAriaLabel","previousTooltip","nextAriaLabel","nextTooltip","lastAriaLabel","lastTooltip","toolbar","addRemoveColumns","nRowsSelected","showColumnsTitle","showColumnsAriaLabel","exportTitle","exportAriaLabel","exportName","searchTooltip","searchPlaceholder","table_style","headerStyle","fontFamily","fontWeight","color","CustomizedSteppers","stepValue","steps","classes","useStyles","className","root","style","backgroundColor","Stepper","alternativeLabel","activeStep","connector","ColorlibConnector","map","label","Step","key","StepLabel","StepIconComponent","ColorlibStepIcon","usuario_Id","makeStyles","display","height","alignItems","active","circle","width","borderRadius","completed","zIndex","fontSize","withStyles","top","backgroundImage","line","border","StepConnector","useColorlibStepIconStyles","background","justifyContent","backgroundClip","boxShadow","animation","animationDirection","props","icons","1","class","2","3","4","5","6","7","8","clsx","String","theme","button","marginRight","spacing","instructions","marginTop","marginBottom","AcoesGestor","requerimento","handleReturn","useForm","mode","register","errors","handleSubmit","setValue","setError","clearErrors","getValues","reset","registro","set_registro","fluxoCadastroEtapaAtual","tipo","loadOptionsEnquadramento","options_enquadramento","set_options_enquadramento","enquadramento","set_enquadramento","handleEnquadramento","handleAguardandoAnalise","aprovacao","setupSolicitacaoAcao","acao","enquadramentoObrigatorio","json_submit","requerimentoAnaliseGestor_Id","requerimento_Id","dataAnalise","usuarioAnalise_Id","enquadramento_Id","aceite","observacao","codigoSistemaPrefeitura","handleAguardandoAprovacao","dataAprovacao","usuarioAprovacao_Id","autorizado","handleAguardandoCompensacao","handleAguardandoFiscalizacao","dataFiscalizacao","usuarioFiscalizacao_Id","handleAprovacaoGuia","aprovado","handleBaixaManual","cancelarRequerimentos","Row","Button","onClick","tipoAcesso","type","setupSolicitacao","categoria","sigla","segmento","Col","lg","FormGroup","options","name","getOptionLabel","option","descricao","getOptionValue","onChange","e","find","ref","required","informarCodigoSistemaPrefeitura","Input","innerRef","metodologiaCobranca","md","sm","dataPublicacao","usuarioPublicacao_Id","dataPublicao","requerimentoLaudaDiarioOficial_Id","handleAguardandoDiarioOficial","requerimentoCobrancas","usuarioEmissao_Id","handleEmitirGuia","handleAguardandoEnquadramento","FichaRequerimento","item","showAcoesGestor","set_requerimento","stepAtual","set_stepAtual","set_steps","justificativaList","setJustificativaList","isLoadingEmitirGuia","setIsLoadingEmitirGuia","modal","setModal","toggleModal","existAcaoDocumento","setExistAcaoDocumento","historicoAnaliseGestor","set_historicoAnaliseGestor","setupSolicitacaoAcao_Id","solicitacaoAcoes","filter","f","acaoDocumentos","etapaCadastro","document","querySelector","scrollTop","setTimeout","ordem","etapas","fluxoCadastroEtapas","sort","b","m","push","protocolo_Id","componentRef","useRef","handlePrint","useReactToPrint","content","current","copyStyles","Modal","isOpen","toggle","size","ModalBody","scope","justificativa","dataJustificativa","nome","ModalFooter","src","require","Container","id","paddingTop","requerimentoTransportador","nome_Fantasia","protocolo","protocoloTransportador","cpf_Cnpj","razaoSocial","ccm","ramoAtividade","tipoIndustriaComercio","cep","logradouro","numEndereco","complemento","bairro","cidade","nomeResponsavel","email","telefone","celular","numeroRequerimento","requerimentoAnaliseGestor","requerimentoMotivoCancelamento","motivo","requerimentoTransportadorVeiculo","placa","requerimentoTransportadorVeiculoModalidade","modalidade","marca","anoFabricacao","anoFabricacaoEquipamento","cor","tara","capacidadeCarga","volume","numeroRenavam","proprietarioOuLocado","requerimentoTransportadorAgendamento","dataHora","situacao","requerimentoTransportadorVistoria","dataHoraAtualizacao","href","caminhoVirtual","arquivoLaudoVistoria","target","arquivoRenavam","arquivoInspecaoInmetro","arquivoComprovanteTara","arquivoComodato","requerimentoTransportadorLocalGuarda","requerimentoTransportadorLocalDestino","cnpj","fantasia","requerimentoTransportadorEquipamento","numeroEquipamento","dimensao","capacidadeVolume","minHeight","columns","field","requerimentoDocumento","isLoading","tooltip","event","rowData","open","arquivo","localization","observacaoRequerente","render","dataVencimento","logCobrancas","retorno","arquivoPDF","l","nomeArquivo","linkSource","downloadLink","createElement","fileName","download","click","openGuiaCobranca","dataAceite","requerimentoCobrancaComprovantes","dataImportacao","x","modalContrato","set_modalContrato","listContratoLocal","set_listcontratoLocal","toggleModalContrato","modalMapaOpen","set_modalMapaOpen","centerMap","setCenterMap","positionMarker","setpositionMarker","iconMarker","L","Icon","iconUrl","iconRetinaUrl","ChangeMap","center","zoom","useMap","setView","handleModalOpen","geoLocalizacao","centered","borderBottom","close","arquivoContrato","Card","CardBody","requerimentoGerador","protocoloGerador","codigoCadastro","tipoEstabelecimento","quantidadeLeitosAtivos","quantidadeLeitosInativos","classificacaoEstabelecimento","numeroColaboradores","consumoMensalAgua","localEmpreendimento","areaTotal","toString","replace","areaConstruida","nomeResponsavelTecnico","tipoDocumentoResponsavelTecnico","numeroDocumentoResponsavelTecnico","arquivoCertificadoResponsavelTecnico","dataCriacaoRequerimento","dataUltimaAcao","requerimentoGeradorCaracterizacaoResiduo","caracterizacaoResiduosConama","grupo","codigo","quantidadeEstimada","requerimentoGeradorLocalArmazenagem","requerimentoGeradorLocal","requerimentoGeradorLocalContratos","requerimentoGeradorClasseResiduo","classeResiduo","MapContainer","TileLayer","url","attribution","opacity","Marker","position","draggable","outline","requerimentoDestino","protocoloDestino","inscricaoMunicipal","numeroLicensaOperacao","tipoDestino","requerimentoDestinoClasseResiduos","requerimentoDestinoTransportadores","requerimentoDestinoLocais","identificacao","capacidade","AcompanhamentoLista","requerimentos","list_table","set_list_table","tipoAcao","setTipoAcao","item_requerimento","set_item_requerimento","selection","filtering","set_selection","requerimentos_publicacao","set_requerimentos_publicacao","listLotePublicacao","setListLotePublicacao","setDataPublicacao","editable","cursor","handleVisualizarRequerimento","requerimentoSolicitacaoPublicacaoDiarioOficiais","marginLeft","handlePublicaoLoteRefresh","customFilterAndSearch","includes","listaColumn","setListaColumn","listLoteAguardadoAnaliseRGG","setListLoteAguardadoAnaliseRGG","modalLotePublicacao","setModalLotePublicacao","toggleLotePublicacao","modalEnquadramento","setModalEnquadramento","toggleEnquadramento","handlePublicarDiarioOficial","laudaDiarioOficial_Id","requerimentoLaudaDiarioOficial","handleLoteAguardandoAnalise","some","listaRequerimentos","requerimentos_IDs","requerimentosFalha","join","scrollIntoView","_tipoAcao","selectionProps","visibility","disabled","toLowerCase","ModalHeader","margin","Form","handleChange","Enquadramento_Id","req","requerimentoSolicitacaoPublicacaoDiarioOficial_Id","onSelectionChange","rows","selectedRow","handleAcaoSectionTable","cellEditable","onCellEditApproved","newValue","oldValue","columnDef","i","TextField","inputClassName","multiple","onBlur","invalid","searchable","onClickIcon","maxLength","mask","creatable","inputValue","setInputValue","customStyles","control","base","state","menu","provided","borderColor","isFocused","Label","isClearable","isMulti","classNamePrefix","isDisabled","styles","components","DropdownIndicator","menuIsOpen","onInputChange","onKeyDown","preventDefault","isSearchable","data-thumbnail","image","checked","ListaDashboardRequerimento","listShow","handleReturnDashboard","setRequerimentos","requerimentoVisualizar","setRquerimentoVisualizar","_etapa","etapa","requerimentosList","_requerimentos","ultimaAcao","dataSolicitacao","handleView","handleRequerimento","exportButton","columnsButton","Dashboard","btnfiltro","setBtnFiltro","dashboardProtocolo","setDashboardProtocolo","dashboardRequerimento","setDashboardRequerimento","mostrarTotalIndicadores","setMostrarTotalIndicadores","dashboardAuxiliar","setDashboardAuxiliar","tipoIndicador","visibleDadosIndicadores","setVisibleDadosIndicadores","setListShow","filtro","setFiltro","optionsModalidade","handleVisibleDadosIndicadores","HandleModificarTextoCardIndicador","total","qtdFinalizado","qtdPendente","qtdEmAndamento","qtdRejeitado","tiposProtocolos","reduce","acc","qtdAtivos","qtdInativos","qtdCancelados","qtdVencidos","texto","descricaoDashboard","corIcone","icone","classeIcone","CardsCadastroIndicativo","cadastro","dado","CardFooter","el","tipoPessoa","CardsRequerimentoIndicativo","dadoRequerimento","datainicio","datafim","dadoFiltro","setDadoFiltro","handleDataFiltros","protocolos","for","Inicio","Fim","AgendamentoVistoria","requerimentoAgendamento","list_agendamentos","set_list_agendamentos","handleChangeDataHoraAgendamento","requerimentoTransportadorAgendamento_Id","_newlist","handleClickRemoverVeiculo","onSubmit","requerimentoTransportadorVeiculo_Id","logAgendamento","categoria_Descricao","tipoRequerimento","ItemAgendaVistoria","options_ano","add","ano","set_ano","options_mes","set_options_mes","loadOptionsMes","_ano","_meses","_mes","parseInt","mes","set_mes","options_disponibilidadeAgenda","set_options_disponibilidadeAgenda","loadOptionsDisponibilidadeAgenda","_dia","dia","set_options_horario","horarios","diaAgendamento","set_diaAgendamento","options_horario","horario","set_horario","defaultValue","readonly","datahora","handleHorario","InputPDF","inputImage","setImage","accept","files","file","fsize","Math","round","reader","FileReader","readAsDataURL","onloadend","base64data","handlefile","base64","uuidv4","documento_Id","documento_id","handleImage","maxWidth","ConfirmacaoVistoria","file_laudo","set_file_laudo","handleClickAprovacao","requerimentoTransportadorVistoria_Id","arquivoLaudoVistoriaBase64","_file","CalendarioVistoria","eventosCalendario","set_eventosCalendario","loadEventosCalendario","_eventos","start","allDay","evento","set_evento","plugins","dayGridPlugin","interactionPlugin","listPlugin","initialView","locale","selectable","headerToolbar","left","right","eventClick","events","InputCPF","this","Component","InputCNPJ","InputCEP","InputHourMinutes","InputTELEFONE","InputDIAMES","GetCEPViaCEP","hasOwnProperty","erro","ModalJustificativa","visibilidadeModal","setVisibilidadeModal","protocoloJustificativas","usuario","CancelarRequerimentoByRequerimento","FichaTransportador","history","set_protocolo","list_acoes","set_list_acoes","handleRequerimentoRenovarCadastro","pathname","handleRetornoCancelaRequerimento","numeroProtocolo","valorGuia","setupSolicitacaoAcaoNovoCadastro","dataFimVigencia","protocoloTransportadorClasseResiduo","tipoCertificadoTransportador","protocoloTransportadorVeiculo","protocoloTransportadorVeiculoModalidades","dataVistoria","dataValidadeVistoria","protocoloTransportadorVeiculo_Id","protocoloTransportadorLocalGuarda","protocoloTransportadorLocalDestino","protocoloTransportadorEquipamento","protocoloDocumentos","dataAceiteDeclaracao","handleOpenRequerimento","_requerimento","prop","toUpperCase","FichaGerador","protocoloGeradorCaracterizacaoResiduos","protocoloGeradorLocaisArmazenagem","protocoloGeradorLocais","protocoloGeradorLocalContratos","protocoloGeradorClasseResiduos","FichaDestino","handleRequerimentoAlterarCadastro","handleRequerimentoCancelamento","bloquearRecebimentoCapacidadeExcedida","requerComprovacaoDestinacao","observacaoManutencao","protocoloDestinoLocais","protocoloDestinoLocal_Id","protocoloDestinoClasseResiduos","protocoloDestinoTransportadores","classificacao","ValidaAcessoFuncionalidadeAcao","funcionalidadeAcao","login","ValidaEmail","isValidCNPJ","Number","isInteger","Array","isArray","match","numbers","Set","calc","slice","factor","sum","digits","isValidDate","input_date","year","isValid","isValidHourMinute","onlyNumber","input_text","onlyAlphaNumericAndSpace","Identificacao","tipoCadastro","permiteManutencao","handleProximoStep","permiteEditar","set_permiteEditar","set_identificacao","set_status","options_status","set_email","handleRetornoValidaEmail","optionsTipoTransportador","tipoTransportador","set_tipoTransportador","optionsSubPrefeitura","set_OptionsSubPrefeitura","subPrefeitura","set_subPrefeitura","tipoIndustria","set_tipoIndustria","ramo","set_ramo","classesResiduo","set_classesResiduo","optionsClassesResiduo","set_OptionsClassesResiduo","loadOptionsClassesResiduo","categoria_Id","_classes","classeResiduo_Id","requerimentoTransportadorClasseResiduo","set_categoria","loadDefaultValues","nomeSolicitante","pessoa","uf","carregaJsonRequerimento","requerimentoTransportadorClasseResiduo_Id","requerimentoTransportador_Id","subPrefeitura_Id","cpf","responsavel","cCM","cEP","uF","replaceAll","carregaJsonProtocolo","protocoloTransportadorClasseResiduo_Id","usuarioCadastro_Id","usuarioUltimaAlteracao_Id","protocoloTransportador_Id","protocoloJustificativas_Id","UsuarioJustificativa","handleRetornoSubmit","usuarioJustificativa","CardHeader","json","EnviaProtocoloWithProtocoloTransportador","EnviaRequerimentoTransportador","padding","handleTipoTransportador","autoComplete","UncontrolledTooltip","placement","onKeyUp","inputRef","readOnly","trim","localidade","Veiculos","totalVeiculos","handleStepAnterior","veiculos","set_veiculos","tooltipOpen","setTooltipOpen","LoadTiposVeiculo","loadItemProtocolo","loadItemRequerimento","_actionRenavam","handleVisualizaRENAVAM","set_actions","_action","handleRemove","handleEdit","handleDataVigencia","optionsTipoVeiculo","set_optionsTipoVeiculo","tipos","tipoVeiculo","set_tipoVeiculo","modalidades","set_modalidades","optionsModalidades","set_OptionsModalidades","loadModalidades","handleModalidades","veiculoStatus","setVeiculoStatus","file_renavam","set_file_renavam","file_inmetro","set_file_inmetro","file_comprovantetara","set_file_comprovantetara","file_comodato","set_file_comodato","handleFileComodato","set_proprietarioOuLocado","options_proprietarioOuLocado","rowEdit","set_rowEdit","_modalidades","handleReturnRemove","reloadId","protocoloTransportadorVeiculoModalidade","protocoloTransportadorVeiculoModalidade_Id","renavam","arquivoRenavamBase64","arquivoInspecaoInmetroBase64","arquivoComprovanteTaraBase64","arquivoComodatoBase64","requerimentoTransportadorVeiculoModalidade_Id","placaAntiga","confirmaAddVeiculo","_registro","veiculo","new_list","_veiculos","Alteracao","tableData","optionsStatusVeiculo","EnviaProtocoloTransportadorVeiculo","EnviaRequerimentoTransportadorVeiculo","min","max","step","Tooltip","delay","show","hide","loadInputComodato","cellStyle","textAlign","inverse","CardText","LocaisGuarda","locais_guarda","set_locais_guarda","set_cep","editarEndereco","set_editarEndereco","requerimentoTransportadorLocalGuarda_Id","protocoloTransportadorLocalGuarda_Id","confirmaAddLocaisGuarda","local","EnviaProtocoloTransportadorLocalGuarda","EnviaRequerimentoTransportadorLocalGuarda","LocaisDestinacao","locais_destinacao","set_locais_destinacao","set_cnpj","set_telefone","set_celular","_usuarioId","protocoloTransportadorLocalDestino_Id","requerimentoTransportadorLocalDestino_Id","confirmaAddLocaisDestino","EnviaProtocoloTransportadorLocalDestino","EnviaRequerimentoTransportadorLocalDestino","cpf_cnpj","Equipamentos","equipamentos","set_equipamentos","set_tipo","options_tipo","toggleModalEquipamentos","set_file","erros_importacao","set_erros_importacao","protocoloTransportadorEquipamento_Id","requerimentoTransportadorEquipamento_Id","confirmaAddEquipamento","equipamento","EnviaProtocoloTransportadorEquipamento","EnviaRequerimentoTransportadorEquipamento","v","Alert","linha","formData","FormData","append","Documentos","opcao","documentos","set_documentos","observacoesRequerente","setObservacoesRequerente","options_documentos","set_options_documentos","loadOptionsDocumentos","confirmaAddFile","lista_documento","newDocumentos","handleFile","EnviaProtocoloDocumentoGerador","EnviaProtocoloDocumentoTransportador","EnviaProtocoloDocumentoDestino","EnviaRequerimentoDocumentoGerador","protocoloDocumento_Id","arquivoBase64","requerimentoDocumento_Id","y","paddingBottom","documento","orientacao","ManutencaoTransportadorForm","set_opcao","set_step","_protocolo","set_permiteManutencao","sucesso","mensagem","addNovoGerador","useHistory","set_setupSolicitacaoAcao","optionsTipoGerador","setOptionsTipoGerador","setupSolicitacoaAcaoNovoCadastro_Id","setSetupSolicitacoaAcaoNovoCadastro_Id","modalAlteracaoCadastro","setModalAlteracaoCadastro","toggleAlteracaoCadastroModal","opcoes_SetupSolicitacoaAcaoNovoCadastro","setOpcoes_SetupSolicitacoaAcaoNovoCadastro","setDataValidadeCadastroRGG","tipoGerador","set_tipoGerador","optionsClassificacaoEstabelecimento","set_OptionsClassificacaoEstabelecimento","set_classificacaoEstabelecimento","optionsTipoEstabelecimento","set_OptionsTipoEstabelecimento","set_tipoEstabelecimento","set_tipoDocumentoResponsavelTecnico","options_tipoDocumentoResponsavelTecnico","setNumeroColaboradores","optionsNumeroColaboradores","consumoMensalEnergia","setConsumoMensalEnergia","optionsConsumoMensalEnergia","setConsumoMensalAgua","optionsConsumoMensalAgua","setLocalEmpreendimento","optionsLocalEmpreendimento","file_certificadoCurso","set_file_certificadoCurso","options_ramoAtividade","set_optionsRamoAtividade","requerimentoGerador_Id","tipoEstabelecimento_Id","qtdeLeitosAtivos","qtdeLeitosInativos","classificacaoEstabelecimento_Id","arquivoCertificadoResponsavelTecnicoBase64","dataValidadeCadastro","setupSolicitacaoAcaoNovoCadastro_Id","tg","protocoloGerador_Id","descricaoSetupSolicitacoaAcao","EnviaProtocoloWithProtocoloGerador","EnviaRequerimentoGerador","Style","setupSolicitacao_Id","handleTipoGerador","pattern","LocaisColeta","locais_Coleta","set_locais_Coleta","set_setupSolicitacao","modalOpen","set_modalOpen","localizacaoConfirmada","set_localizacaoConfirmada","modalidadeColeta","transportador_CNPJ","transportador_RazaoSocial","contratoLocal","set_contratoLocal","set_disabledCamposTransportador","listModalidadesRGG","set_listModalidadesRGG","municipio","set_municipio","hash","setHash","loadTransportadoresRGG","editarEnderecoCep","set_editarEnderecoCep","UpdatePositionEndereco","chave","results","geometry","lat","lng","markerRef","handleMarkerPosition","useMemo","dragend","marker","getLatLng","handleModalClose","requerimentoGeradorLocal_Id","protocoloGeradorLocal_Id","_listContratoLocal","confirmaAddLocaisColeta","listaTransportadoresRGG","setListaTransportadoresRGG","closeBtn","EnviaProtocoloGeradorLocal","EnviaRequerimentoGeradorLocal","handleNumeroChange","t","transportador","handleTransportador","handleRemoveContratoLocal","eventHandlers","CaracterizacaoResiduos","lista","set_lista","set_listTipoAcondicionamento","_lista","caracterizacaoResiduosConama_Id","_protocoloGeradorCaracterizacaoResiduos","protocoloGeradorCaracterizacaoResiduo_Id","quantidade","_requerimentoGeradorCaracterizacaoResiduo","requerimentoGeradorCaracterizacaoResiduo_Id","confirmaCaracterizacaoResiduos","indice","tooltipActive","setTooltipActive","EnviaProtocoloGeradorCaracterizacaoResiduo","EnviaRequerimentoGeradorCaracterizacaoResiduo","_caracterizacaoResiduosConama_Id","handleBlurQuantidade","descricaoTipoAcondicionamento","handleTooltipAtive","Residuos","residuos","set_residuos","set_classeResiduo","requerimentoGeradorClasseResiduo_Id","protocoloGeradorClasseResiduo_Id","confirmaAddResiduos","residuo","EnviaProtocoloGeradorClasseResiduo","EnviaRequerimentoGeradorClasseResiduo","ManutencaoGeradorForm","setSteps","LocaisArmazenagem","locais_Armazenagem","set_locais_Armazenagem","optionsTipoAbrigo","tipoAbrigo","set_tipoAbrigo","requerimentoGeradorLocalArmazenagem_Id","protocoloGeradorLocalArmazenagem_Id","confirmaAddLocaisArmazenagem","EnviaProtocoloGeradorLocalArmazenagem","EnviaRequerimentoGeradorLocalArmazenagem","ManutencaoGeradorRSSForm","inititialGeradorRss","dataCadastro","dataCriacaoProtocolo","dataUltimaAlteracao","notificacao1Enviada","dataLiberacaoCertificado","segmentoProtocolo","senha","codigoCobranca","prazoVencimentoCobrancaEmDias","publicaDiarioOficial","cabecalhoCertificado","dataDeletado","deletado","descricaoDeclaracao","legislacaoCertificado","notificacao1RenovacaoEmDias","notificacao2RenovacaoEmDias","notificacao3RenovacaoEmDias","permiteCadastroDuplicado","vigenciaEmMeses","optionsTipoPessoa","set_tipoPessoa","transportadores","set_transportadores","optionsTransportadores","set_optionsTransportadores","loadOptionsTransportadores","_transportadores","set_tipoDestino","options_tipoDestino","set_optionsTipoDestino","comprovacaoDestinacao","set_comprovacaoDestinacao","options_comprovacaoDestinacao","tbTipoDestino_Descricao","requerimentoDestinoClasseResiduo","requerimentoDestinoClasseResiduo_Id","requerimentoDestino_Id","requerimentoDestinoTransportador_Id","protocoloDestinoClasseResiduo","protocoloDestinoClasseResiduo_Id","protocoloDestino_Id","protocoloDestinoTransportador_Id","EnviaProtocoloWithProtocoloDestino","EnviaRequerimentoDestino","handleTipoPessoa","Locais","locais_Destinacao","set_locais_Destinacao","requerimentoDestinoLocal_Id","confirmaAddLocais","EnviaProtocoloDestinoLocal","EnviaRequerimentoDestinoLocal","ManutencaoDestinoForm","CadastroSolicitacaoForm","set_setupSolicitacao_Id","set_segmento","options_segmento","options_categoria","set_options_categoria","loadOptionsCategoria","_segmento","options_tipoPessoa","set_permiteCadastroDuplicado","set_acao","options_acao","statusAcao","set_statusAcao","options_statusAcao","enquadramentoObg","set_enquadramentoObg","options_enquadramentoObg","set_cancelarRequerimentos","options_cancelarRequerimentos","diarioOficial","set_diarioOficial","options_diarioOficial","optionsDocumentos","set_optionsDocumentos","optionsDocumentosSelected","set_optionsDocumentosSelected","toggleModalDocumentos","list_table_acoes","set_list_table_acoes","confirmacaoAcaoAdicionada","h1_tab","set_h1_tab","Nav","pills","NavItem","NavLink","TabContent","activeTab","TabPane","tabId","vigencia","primeiraNotificacao","segundaNotificacao","terceiraNotificacao","declaracao","UsuarioUltimaAlteracao_Id","InputGroup","InputGroupAddon","addonType","InputGroupText","prazoCobranca","_documentos","handleEditarAcao","handleDeleteAcao","editRow","deleteTooltip","editTooltip","CustomInput","defaultChecked","handleDocumentoChange","CadastroFluxoForm","fluxoCadastro_Id","set_fluxoCadastro_Id","optionsSetupSolicitacao","set_OptionsSetupSolicitacao","list_table_etapas","set_list_table_etapas","statusEtapa","set_statusEtapa","confirmaEtapaAdicionada","fluxoCadastroEtapa_Id","loadOptionsSetupSolicitacao","ordemEtapaErro","descricaoEtapa","responsividadeEtapa","ordemEtapa","prazoResponsividade","handleEditarEtapa","handleDeleteEtapa","CadastroClassesResiduosForm","set_classeResiduo_Id","statusResiduo","set_statusResiduo","options_statusResiduo","list_table_residuos","set_list_table_residuos","confirmacaoResiduoAdicionado","residuo_Id","descricaoResiduo","handleAdicionarResiduo","handleEditarResiduo","Options","PerfilForm","perfil_Id","set_perfil_Id","list_funcionalidades","set_list_funcionalidades","list_setupsolicitacao","set_list_setupsolicitacao","funcionalidades","j","funcionalidadeAcoes","perfilFuncionalidadeAcao","funcionalidadeAcao_Id","setup","perfilSetupSolicitacaoAcao","liberado","akey","funcionalidade","funcionalidade_Id","new_funcionalidadeAcao","fucionalidadeAcao_Id","handleChangeFuncionalidadeAcao","perfil_permissoes","new_setupSolicitacaoAcao","handleChangeSetupSolicitacao","perfil_setupsolicitacaoacao","UsuarioForm","set_usuario_Id","perfil","set_perfil","options_perfil","set_options_perfil","loadListFuncionalidades","loadListSetupSolicitacaoAcao","usuarioFuncionalidadeAcoes","usuarioSetupSolicitacaoAcoes","_perfil","random","usuario_permissoes","usuario_setupsolicitacaoacao","RelatorioFichaRequerimentoGeradorRSS","relatorio","set_relatorio","set_tipoRequerimento","subprefeitura","set_Subprefeitura","options_tipoRequerimento","options_subprefeitura","showDetail","set_showDetail","set_filtro","resultExcel","validadacaoSubPrefeitura","inicio","dataInicial","fim","dataFinal","autocomplete","ComponentToPrint","ComponentToExcel","forwardRef","geradores","n","key2","numero","fone","responsavelTecnico","dataValidacao","locaisColeta","key3","caracterizacaoResiduos","c","val","array","values","splice","getSheetData","fields","sheetData","row","fieldName","unshift","XlsxPopulate","fromBlankAsync","workbook","sheet1","sheet","totalColumns","cell","usedRange","endColumn","fromCharCode","range","outputAsync","res","saveAs","getDate","getMonth","nomeclaturas","CodigoCadastro","DataFimVigencia","Status","NomeSolicitante","Email","CodigoSistemaPrefeitura","ProtocoloDestino","Cpf_Cnpj","InscricaoMunicipal","Nome_Fantasia","RazaoSocial","NomeResponsavel","NomeResponsavelTecnico","TipoDocumentoResponsavelTecnico","NumeroDocumentoResponsavelTecnico","CCM","CEP","Logradouro","NumEndereco","Complemento","Bairro","Cidade","Telefone","Celular","RamoAtividade","UF","TipoIndustriaComercio","ProtocoloGerador","GeoLocalizacao","Usuario","DataAlteracao","CNPJ","NomeFantasia","SubPrefeitura","Tipo","CapacidadeCarga","Tara","AnoFabricacao","NumeroRenavam","ArquivoRenavam","ArquivoRenavamBase64","ArquivoInspecaoInmetro","ArquivoInspecaoInmetroBase64","ArquivoComprovanteTara","ArquivoComprovanteTaraBase64","ArquivoComodato","ArquivoComodatoBase64","DataVistoria","DataValidadeVistoria","AnoFabricacaoEquipamento","ProprietarioOuLocado","Cor","Volume","PlacaAntiga","QuantidadeLeitosEstimada","Descricao","UsuarioAlteracao","isDate","test","camposEditados","nomeFantasia","atualizado","campo","antigo","novo","RelatorioManutecaoGeradorRSS","logs","setLogs","setCategoria","verificarIndex","object","vetor","idRegistro","formataDados","dados","info","dataAlteracao","json_antigo","jsonAntigo","json_novo","jsonNovo","comp","geraRelatorio","RelatorioManutecaoTransportadores","RelatorioManutecaoDestinos","cpfMask","_value","noMask","num","cnpjMask","cpfcnpjMask","tamanho","substr","celularMask","telefoneMask","cepMask","horaMask","floatMask","parseFloat","toFixed","numeroMask","ufMask","placaMask","DadosPrimarios","setCpf_cnpj","errorCpfCnpj","setErrorCpf_cnpj","setupSolicitacaoAcaoPJ","set_setupSolicitacaoAcaoPJ","setupSolicitacaoAcaoPF","set_setupSolicitacaoAcaoPF","setupSolicitacaoAcaoPB","set_setupSolicitacaoAcaoPB","options_h1","set","all","index_h1","confirmarEmail","resto","soma","isValidCPF","mascaras","CardOpcaoCadastro","handleClickOpcao","xs","detalhes","CardIntegracao","integracao","handleClickIntegacao","Declaracao","handleFinalizarCadastro","set_declaracao","checkDeclaracao","textoDeclaracao","ListaVeiculosExclusao","veiculosExcluir","setVeiculosExcluir","locais","set_locais","locaisExcluir","setLocaisExcluir","ListaLocaisExclusao","Legislacao","legislacoes","LogoSistema","identificacaoLogo","ps","routes","path","component","jsonSubmit","password","remove","layout","sidebar","new_password","json_post","novaSenha","confirmarSenha","password_antiga","categorias","set_categorias","set_requerimentos","abrirCard","setAbrirCard","loadIndicadores","savedModalidade","_abriCard","setupSolicitacoes","flat","visivel","listFilter","set_listFilter","detalhadoIndicador","set_detalhadoIndicador","MontaCard","reverse","_categoria","_acao","indicador","qtdNoPrazo","isAfter","qtdForaDoPrazo","loadDetalhadoIndicador","MontaDetalhes","_setupSolicitacao_Id","Collapse","textTransform","_","s","_cards","_card","findIndex","handleRequerimentoSetupSolicitacoes","codigoPermissaoAcesso","opcoes","set_opcoes","_setupSolicitacao","_tipoPessoa","listProtocolos","set_listProtocolos","inputMostra","setInputMostra","cpfcnpj","trimStart","handleColumnRazaoSocial","handleColumnResponsavel","handleColumnEndereco","listVeiculos","setlistVeiculos","placaVeiculo","dataValidadeTransportador","showCalendario","set_showCalendario","dataInicio","dataFim","json_filter","element","Blob","URL","createObjectURL","appendChild","handleExport","useLocation","setAddNovoGerador","handleStatus","openCollapse","set_openCollapse","loadList","defaultOpen","textoLauda","horarioInicio","set_horarioInicio","horarioTermino","set_horarioTermino","diaSemana","set_diaSemana","options_diaSemana","setupAgendaVistoria_Id","capacidadeDiaria","duracaoVistoriaMinutos","diaMes","set_diaMes","diaNaoUtil_Id","description","set_showFicha","showFicha","ficha","set_ficha","integracaoSelecionada","set_integracaoSelecionada","integracoes","set_integracoes","showModal","setShowModal","toogleShowModal","opcaoSelecionada","set_opcaoSelecionada","subTitle","setSubTitle","link","manuais","collapse","informacoes","setInformacoes","informacoesRecadastramentro","setInformacoesRecadastramentro","mostrarLegislacao","setMostrarLegislacao","mostrarManual","setMostrarManual","prevState","_mensagens","handleMostrarTexto","handleMostrarRecadastramentoTexto","urls","search","params","queryString","loadRequerimento","handleFinalizarRequerimento","loadProtocolo","veiculosAlteracao","setVeiculosAlteracao","vRequerimentoTransportadorVeiculo_Id","RequerimentoTransportadorVeiculo","retVeiculoPorPlaca","finalizaSolicitacaoRequerimento","TodosAlteracao","controller","passwordRpt","itemAtualizado","emailInvalido","meuCadastro","set_MeuCadastro","itemMeuCadastro","set_itemMeuCadastro","handleCancelarRequerimento","esqueceuSenha","set_esqueceuSenha","recuperarRequerimento","set_recuperarRequerimento","openModal","sessionData","paramentros","senhaModal","responseToken","handleRecuperarRequerimento","segmentos","statusProtocolo","handleClickConsultar","endereco","CorIcone","mensagemBloqueioNovoCadastro","handleCard","novoEmail","shouldFocus","recuperarSenha","confirmarRecuperarRequerimento","getRequerimento","result_protocolo","handleOpenRequerimentoTransportador","handleOpenRequerimentoGerador","handleOpenRequerimentoDestino","titleCard","setTitleCard","QRCode","dadoscarteirinha","set_dadoscarteirinha","_carteirinha","codCadastro","validade","loadDados","urL_WEB_ROC","isModal","setIsModal","list_transportadoresRGG","set_list_transportadores","visualizarTransportadores","setVisualizarTransportadoes","_enderencosLocais","localidades","setLocalidades","contratos","contrato","keyContrato","flex","ImageLogo","alt","tag","logoOpacity","qrStyle","fgColor","bgColor","logoWidth","logoheight","nomeFantasiaTransportador","logoFooterSPRegula","_classificacaoGG","capacidadeAtualizada","set_capacidadeAtualizada","capacidadeAntiga","capacidadeNova","localDestinoAtual","set_LocalDestinoAtual","edit","handleAumentoCapacidade","d","cpfCnpj","toDateString","Parser","cabecalho","validadeCadastro","legislacao","enderecoCompleto","proprioOuLocado","marcaModelo","tipoEquipamento","localId","requerimentoMotivoCancelamento_Id","dadosComprovantePagamento","set_dadosComprovantePagamento","set_arquivo","requerimentoCobranca_Id","loadItem","Header","dropdownOpen","bind","dropdownToggle","sidebarToggle","createRef","setState","iconName","brandName","documentElement","classList","innerWidth","addEventListener","updateColor","Navbar","expand","fluid","openSidebar","NavbarBrand","getIcon","getBrand","NavbarToggler","navbar","Dropdown","nav","DropdownToggle","caret","DropdownMenu","DropdownItem","divider","Footer","default","getYear","Sidebar","activeRoute","routeName","navigator","platform","PerfectScrollbar","suppressScrollX","suppressScrollY","destroy","data-color","data-active-color","flexDirection","maxHeight","pro","to","activeClassName","Admin","handleActiveClick","activeColor","handleBgClick","validaPermissaoAcesso","newRoutes","mainPanel","action","scrollingElement","Popover","mensagens","setMensagens","UncontrolledPopover","PopoverHeader","PopoverBody","handleCollapse","UncontrolledCollapse","toggler","Navigation","borderLeft","Auth","localStorage","getItem","setItem","borderTop","bottom","Empty","External","Loading","hist","createBrowserHistory","RoutesComponent","exact","App","ReactDOM","getElementById"],"mappings":"qGAAAA,EAAOC,QAAU,IAA0B,qC,kBCA3CD,EAAOC,QAAU,kxI,kBCAjBD,EAAOC,QAAU,8hN,oBCAjBD,EAAOC,QAAU,IAA0B,gD,wCCA3CD,EAAOC,QAAU,suS,kBCAjBD,EAAOC,QAAU,s4Q,0mBCGJC,EAAmB,SAACC,GAC/BC,SAAe,cACfA,MAAY,aAAcD,EAAS,CAAEE,QAAS,MAGnCC,EAAmB,WAC9B,IAAMC,EAAgBH,MAAY,cAClC,YAAsBI,IAAlBD,EACK,KAEAE,KAAKC,MAAMH,I,GAIQI,IAAMC,cAAcN,KAkDtBK,IAAMC,cAzCJ,WAC5B,IAAMC,EAAcT,MAAY,YAChC,YAAoBI,IAAhBK,EACK,KAEAJ,KAAKC,MAAMG,GAoC0BC,I,iBChE1CC,EAAMC,IAAMC,OAAO,CACvBC,QAASC,0CAGLC,EAAWC,OAAOC,SAASC,KAAKC,MAAM,KAAK,GAAGA,MAAM,KAAK,GAEzDC,EAAO,uCAAG,WAAOC,EAAUC,EAAKC,EAAQC,GAA9B,eAAAC,EAAA,6DACRC,EAAU,IAAIC,SAAQ,SAACC,EAASC,GACpC,IAAM/B,EAAUG,IAChB,GAAe,MAAXH,IAAA,OAAmBA,QAAnB,IAAmBA,OAAnB,EAAmBA,EAASgC,aAAa,CAC3C,IAAMC,EAAM,IAAIC,OACXlC,GAAY,IAAIkC,KAAKlC,EAAQmC,YAAeF,KAC/ClC,EAAiB,MACjBmB,OAAOC,SAASiB,SAChBN,EAAQ,OAGZ,IAAMO,EAAW,SAAAC,GACf,IAAIC,EAAY,CACdC,OAAQF,EAAOE,OACfC,QAASH,EAAOG,QAChBC,KAAMJ,EAAOI,MAGfZ,EAAQS,IAEJI,EAAU,SAAAC,GACd,GAAIA,EAAMC,SACR,GAA8B,MAA1BD,EAAMC,SAASL,QAA4C,MAA1BI,EAAMC,SAASL,OAClDT,EAAO,CAAES,OAAQI,EAAMC,SAASL,OAAQC,QAAS,2DAEjD,IACEV,EAAO,CAAES,OAAQI,EAAMC,SAASL,OAAQC,QAASG,EAAMC,SAASH,KAAOE,EAAMC,SAASH,KAAKD,QAAUG,EAAMC,SAASJ,UAEtH,SACEV,EAAO,CAAES,OAAQ,IAAKC,QAAS,kCAInCV,EAAO,CAAES,OAAQ,IAAKC,QAAS,8BAG7BK,EAAU,WACd,IAAMC,EAAW,CACfD,QAAS,CACP,SAAY7B,EACZ,gBAAiB,WACjB,OAAU,WACV,QAAW,MAcf,MAVmB,uBAAfS,GAEFqB,EAASD,QAAQ,aAAe,6BACzBC,EAASD,QAAQ,iBAGxBC,EAASD,QAAQ,gBAAkBpB,EAEtB,MAAX1B,IAAA,OAAmBA,QAAnB,IAAmBA,OAAnB,EAAmBA,EAASgC,eAC9Be,EAASD,QAAQE,cAAjB,iBAA2ChD,EAAQgC,cAC9Ce,GAGT,IACE,GAAc,QAAVtB,EACF,OAAOb,EAAIqC,KAAK1B,EAAyB,uBAAfG,EAAuCF,EAAMlB,KAAK4C,UAAU1B,GAAMsB,KACzFK,MAAK,SAAAb,GAAM,OAAID,EAAQC,MACvBc,OAAM,SAAAR,GAAK,OAAID,EAAOC,MACtB,GAAc,OAAVnB,EACP,OAAOb,EAAIyC,IAAI9B,EAAyB,uBAAfG,EAAuCF,EAAMlB,KAAK4C,UAAU1B,GAAMsB,KACxFK,MAAK,SAAAb,GAAM,OAAID,EAAQC,MACvBc,OAAM,SAAAR,GAAK,OAAID,EAAOC,MACtB,GAAc,OAAVnB,EACP,OAAOb,EAAI0C,IAAI/B,EAAUuB,KACtBK,MAAK,SAAAb,GAAM,OAAID,EAAQC,MACvBc,OAAM,SAAAR,GAAK,OAAID,EAAOC,MACtB,GAAc,UAAVnB,EACP,OAAOb,EAAI2C,OAAOhC,EAAUuB,KACzBK,MAAK,SAAAb,GAAM,OAAID,EAAQC,MACvBc,OAAM,SAAAR,GAAK,OAAID,EAAOC,MAG7B,MAAOA,GAKLd,EAJa,CACXU,OAAQ,IACRC,QAAS,+BAjFD,kBAuFPb,GAvFO,2CAAH,4DA0FP4B,EAAW,SAACjC,EAAUC,GAC1B,OAAO,IAAIK,SAAQ,SAACC,EAASC,GAC3BT,EAAQC,EAAUC,EAAK,OAAQ,oBAC5B2B,MAAK,SAAAb,GAAM,OAAIR,EAAQQ,MACvBc,OAAM,SAAAR,GAAK,OAAIb,EAAOa,UAYvBa,EAAU,SAAClC,EAAUC,GACzB,OAAO,IAAIK,SAAQ,SAACC,EAASC,GAC3BT,EAAQC,EAAUC,EAAK,MAAO,oBAC3B2B,MAAK,SAAAb,GAAM,OAAIR,EAAQQ,MACvBc,OAAM,SAAAR,GAAK,OAAIb,EAAOa,UAYvBc,EAAU,SAACnC,GACf,OAAO,IAAIM,SAAQ,SAACC,EAASC,GAC3BT,EAAQC,EAAU,KAAM,MAAO,oBAC5B4B,MAAK,SAAAb,GAAM,OAAIR,EAAQQ,MACvBc,OAAM,SAAAR,GAAK,OAAIb,EAAOa,UAIvBe,EAAkB,SAACpC,GAgDvB,OA/CgB,IAAIM,SAAQ,SAACC,EAASC,GACpC,IACE,OAAOlB,IAAMyC,IAAI/B,GACd4B,MAAK,SAAAb,GACJ,IAAIC,EAAY,CACdC,OAAQF,EAAOE,OACfE,KAAMJ,EAAOI,KACbI,QAASR,EAAOQ,SAElBhB,EAAQS,MAETa,OAAM,SAAUR,GACf,GAAIA,EAAMC,SAAU,CAClB,GAA8B,MAA1BD,EAAMC,SAASL,QAA4C,MAA1BI,EAAMC,SAASL,OAElD,YADAtB,OAAOC,SAASiB,SAIlB,IAAIK,EAAU,GAEZA,EADEG,EAAMC,SAASH,KAAKD,QACZG,EAAMC,SAASH,KAAKD,QAEpB,kBAEZ,IAAImB,EAAW,CACbpB,OAAQI,EAAMC,SAASH,KAAKF,OAC5BC,QAASA,GAEXX,EAAQ8B,OAEL,CAKH9B,EAJa,CACXU,OAAQ,IACRC,QAAS,oCAMjB,MAAOG,GAKPd,EAJa,CACXU,OAAQ,IACRC,QAAS,2B,2BCnLXoB,E,MAAQC,GAAiBC,KAElBC,EAAc,SAACC,EAAOC,EAAMC,EAAMC,GAC3CP,EAAMQ,KAAK,CACPJ,MAAOA,EACPC,KAAMA,EACNC,KAAMA,EACNG,OAAQ,QAAM,IAAIpC,MAAOqC,cAAgB,kBAC1CpB,MAAK,WACyB,OAA1BiB,GACCA,QAICI,EAAe,SAACP,EAAOC,EAAMC,EAAMC,GAC5CP,EAAMQ,KAAK,CACPJ,MAAOA,EACPC,KAAMA,EACNC,KAAMA,EACNM,kBAAkB,EAClBC,mBAAoB,UACpBC,kBAAmB,OACnBC,kBAAmB,YACnBC,iBAAkB,aACjB1B,MAAK,SAACb,GACHA,EAAOwC,MACsB,OAA1BV,GACCA,GAAsB,GAG1BA,GAAsB,OCd3B,IAAMW,EAActE,wBAPhB,CACHuE,SAAS,EACTC,WAAW,EACXjF,QAAS,OA+DV,SAASkF,IAEZ,OADgBC,qBAAWJ,GAIhBK,MA9DM,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,SAEpB,EAA8BC,oBAAS,GAAvC,mBAAON,EAAP,KAAgBO,EAAhB,KACA,EAA8BD,mBAAS,MAAvC,mBAAOtF,EAAP,KAAgBwF,EAAhB,KACA,EAAwCF,mBAAS,MAAjD,mBAAOG,EAAP,KAAqBC,EAArB,KAGMC,EAASC,sBAAW,uCAAC,WAAOlD,GAAP,SAAAf,EAAA,sEACjB5B,EAAiB2C,GADA,OAEvB8C,EAAW9C,GAFY,2CAAD,sDAGvB,IAEGmD,EAAUD,sBAAW,uCAAC,WAAOE,EAAOC,GAAd,SAAApE,EAAA,sDACnBmE,GC/BTE,OAAOC,KAAKhG,SAAeiG,SAAQ,SAASC,GAC5B,aAAXA,GACDlG,SAAekG,MD8BfX,EAAW,MACPO,GAAUA,IAHU,2CAAD,wDAIxB,IAEGK,EAAmBR,uBAAY,WACjCL,GAAW,GACX7B,EAAQ,cACHP,MAAK,SAAAb,GAAYoD,EAAgBpD,EAAOI,SACxCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAC/B,IAEGgB,EAAYX,sBAAW,sBAAC,4BAAAjE,EAAA,6DAC1B4D,GAAW,GADe,kBAGHpF,IAHG,OAGhBuC,EAHgB,OAItB8C,EAAW9C,GAJW,gDAMtB8D,QAAQ5D,MAAM,yBAAd,MANsB,yBAQtB2C,GAAW,GARW,4EAU3B,IAOH,OALAkB,qBAAU,WACNL,IACAG,MACD,CAACA,IAGA,kBAACxB,EAAY2B,SAAb,CAAsB5B,MAAO,CACzB9E,UACAgF,UACAO,aACAI,SACAE,UACAJ,iBAECJ,I,iVExDPsB,GAAgC,SAAC7B,GAEnC,IAAI8B,EAAQ9B,EACR8B,IACAA,EAAQ,GAGZ,IAAIC,GADJD,EAAQA,EAAME,eAAe,UACXC,QAAQ,KAC1B,OAAc,IAAXF,EAECD,GAAgB,OAKgB,IADRA,EAAMI,UAAUH,EAAM,EAAED,EAAMK,QACjCA,SACrBL,GAAgB,KAEbA,IAUX,SAASM,GAAYC,GAIjB,OADeC,KAAOD,GAAME,OAAO,cAIvC,SAASC,GAAoBH,GAIzB,OADeC,KAAOD,GAAME,OAAO,cAKvC,SAASE,GAAeJ,GAIpB,OADeC,KAAOD,GAAME,OAAO,cAIvC,SAASG,GAAsBL,GAI3B,OADeC,KAAOD,GAAME,OAAO,uBAIvC,SAASI,GAAmBN,GAIxB,OADeC,KAAOD,GAAME,OAAO,oBAoBvC,SAASK,GAAiBC,GACtB,OAAOA,GACH,KAAK,EAAG,MAAO,UACf,KAAK,EAAG,MAAO,YACf,KAAK,EAAG,MAAO,WACf,KAAK,EAAG,MAAO,QACf,KAAK,EAAG,MAAO,OACf,KAAK,EAAG,MAAO,QACf,KAAK,EAAG,MAAO,QACf,KAAK,EAAG,MAAO,SACf,KAAK,EAAG,MAAO,WACf,KAAK,GAAI,MAAO,UAChB,KAAK,GAAI,MAAO,WAChB,KAAK,GAAI,MAAO,Y,4EC9GXC,GAAmB,CAC5BC,MAAI,IACFC,uBAAwB,wBACxBC,WAAY,yCAFV,yCAGsB,yBAHtB,6BAIU,aAJV,gCAKa,WALb,8BAMW,UANX,4BAOS,CACTC,kBAAmB,UACnBC,cAAe,YATf,0BAWO,CACPF,WAAY,qCACZG,cAAe,WACfC,YAAa,WAdb,IAiBJC,SAAU,CACRC,YAAa,uDACbC,UAAW,iBAEbC,OAAQ,CACNC,QAAS,IAEXC,WAAY,CACVC,mBAAoB,yBACpBC,gBAAiB,SACjBC,iBAAkB,yBAClBC,eAAgB,qBAChBC,aAAc,qBACdC,kBAAmB,qBACnBC,gBAAiB,qBACjBC,cAAe,uBACfC,YAAa,uBACbC,cAAe,sBACfC,YAAa,uBAEfC,QAAS,CACPC,iBAAkB,+BAClBC,cAAe,6BACfC,iBAAkB,kBAClBC,qBAAsB,kBACtBC,YAAa,WACbC,gBAAiB,WACjBC,WAAY,oBACZC,cAAe,YACfC,kBAAmB,qBAIVC,GACb,CACEC,YAAa,CACTC,WAAW,gDACXC,WAAW,MACXC,MAAM,S,8HC5CC,SAASC,GAAT,GAAgD,IAAnBC,EAAkB,EAAlBA,UAAUC,EAAQ,EAARA,MAC5CC,EAAUC,KACVxK,EAAUG,IAEhB,OACE,yBAAKsK,UAAWF,EAAQG,KAAMC,MAAO,CAACC,gBAAgB,2BAEpD,kBAACC,GAAA,EAAD,CAASJ,UAAWF,EAAQG,KAAMI,kBAAgB,EAACC,WAAYV,EAAWW,UAAW,kBAACC,GAAD,OAClFX,EAAMY,KAAI,SAACC,GAAD,OACT,kBAACC,GAAA,EAAD,CAAMC,IAAKF,GACT,kBAACG,GAAA,EAAD,CAAWC,kBAAmBC,IAAkB,0BAAMb,MAAO,CAACR,MAAOnK,GAAiC,MAAtBA,EAAQyL,WAAqB,QAAU,UAAWN,UAQjHO,aAAW,CACxChB,KAAM,CACJP,MAAO,UACPwB,QAAS,OACTC,OAAQ,GACRC,WAAY,UAEdC,OAAQ,CACN3B,MAAO,WAET4B,OAAQ,CACNC,MAAO,EACPJ,OAAQ,EACRK,aAAc,MACdrB,gBAAiB,gBAEnBsB,UAAW,CACT/B,MAAO,UACPgC,OAAQ,EACRC,SAAU,MA8Bd,IAAMnB,GAAoBoB,aAAW,CACnCvB,iBAAkB,CAChBwB,IAAK,IAEPR,OAAQ,CACN,UAAW,CACTS,gBACE,iDAGNL,UAAW,CACT,UAAW,CACTK,gBACE,qFAGNC,KAAM,CACJZ,OAAQ,EACRa,OAAQ,EACR7B,gBAAiB,UACjBqB,aAAc,IApBQI,CAsBvBK,MAEGC,GAA4BjB,aAAW,CAC3ChB,KAAM,CACJkC,WAAY,WACZT,OAAQ,EACRhC,MAAO,OACP6B,MAAO,GACPJ,OAAQ,GACRD,QAAS,OACTM,aAAc,MACdY,eAAgB,SAChBhB,WAAY,UAEdC,OAAQ,CACNc,WAAY,UAEZE,eAAgB,cAChBC,UAAW,+BACXC,UAAU,6BACVC,mBAAoB,WAEtBf,UAAW,CACTK,gBACE,iDAIN,SAASf,GAAiB0B,GAAQ,IAAD,EACzB3C,EAAUoC,KACRb,EAAsBoB,EAAtBpB,OAAQI,EAAcgB,EAAdhB,UAEViB,EAAQ,CACZC,EAAG,uBAAGC,MAAM,iBACZC,EAAG,uBAAGD,MAAM,iBACZE,EAAG,uBAAGF,MAAM,iBACZG,EAAG,uBAAGH,MAAM,iBACZI,EAAG,uBAAGJ,MAAM,iBACZK,EAAG,uBAAGL,MAAM,iBACZM,EAAG,uBAAGN,MAAM,iBACZO,EAAG,uBAAGP,MAAM,kBAGd,OACE,yBACE5C,UAAWoD,aAAKtD,EAAQG,MAAT,oBACZH,EAAQuB,OAASA,GADL,eAEZvB,EAAQ2B,UAAYA,GAFR,KAKdiB,EAAMW,OAAOZ,EAAM/I,QAoB1B,IAAMqG,GAAYkB,cAAW,SAACqC,GAAD,qBAC3BrD,KAAM,CACJsB,MAAO,OACPpB,gBAAgB,eAElBoD,OAAQ,CACNC,YAAaF,EAAMG,QAAQ,IAE7BC,aAAc,CACZC,UAAWL,EAAMG,QAAQ,GACzBG,aAAcN,EAAMG,QAAQ,KAVH,OAYrB,CAAC,mBAAoB,CACzBtD,gBAAiB,oBCxKN,SAAS0D,GAAT,GAAsD,IAAD,0BAA9BC,EAA8B,EAA9BA,aAAcC,EAAgB,EAAhBA,aAChD,EAA8CtJ,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAE7B,EAA8FgJ,YAAQ,CAAEC,KAAM,WAAtGC,EAAR,EAAQA,SAAwBC,GAAhC,EAAkBC,aAAlB,EAAgCD,QAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAAoBC,GAAhF,EAAyEC,MAAzE,EAAgFD,WAEhF,EAAiCzO,IAAM8E,SAAS,MAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA3I,qBAAU,WAAO,IAAD,IACZ2I,EAAab,GACsC,6BAAnC,OAAZA,QAAY,IAAZA,GAAA,UAAAA,EAAcc,+BAAd,eAAuCC,OAAqF,0BAAnC,OAAZf,QAAY,IAAZA,GAAA,UAAAA,EAAcc,+BAAd,eAAuCC,OACpHC,MACL,IAIH,MAA2D/O,IAAM8E,SAAS,IAA1E,mBAAOkK,EAAP,KAA8BC,EAA9B,KACA,EAA2CjP,IAAM8E,SAAS,MAA1D,mBAAOoK,EAAP,KAAsBC,EAAtB,KACMJ,EAA2B,WAC7B7L,EAAQ,iBACHP,MAAK,SAAAb,GAAM,OAAImN,EAA0BnN,EAAOI,SAChDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAE5BqK,EAAsB,SAAC9K,GACzB6K,EAAkB7K,GAClBgK,EAAS,gBAAiBhK,GAAO,GACjCkK,EAAY,kBAGVa,EAA0B,SAACC,GAC7B,GAA2C,iBAAtCX,EAASY,qBAAqBC,MAAiE,mBAAtCb,EAASY,qBAAqBC,MACpE,MAAjBN,IAAyBP,EAASY,qBAAqBE,yBAD9D,CAMA,IAAIvN,EAAOuM,IACPiB,EAAc,CACdC,6BAA8B,EAC9BC,gBAAiBjB,EAASiB,gBAC1BC,YAAa9I,GAAe,IAAIrF,MAChCoO,kBAAmBtQ,EAAQyL,WAC3B8E,iBAAmC,MAAjBb,EAAwBA,EAAca,iBAAmB,KAC3EC,OAAQV,EACRW,WAAY/N,EAAK+N,WACjBC,wBAAyBhO,EAAKgO,yBAGlCnL,GAAW,GACX/B,EAAS,oDAAqD0M,GACzD/M,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WApB1BvB,EAAY,QAAS,4BAA6B,QAAS,OAoD7D2M,EAA4B,SAACb,GAC/B,IAAIpN,EAAOuM,IACPiB,EAAc,CACdE,gBAAiBjB,EAASiB,gBAC1BQ,cAAerJ,GAAe,IAAIrF,MAClC2O,oBAAqB7Q,EAAQyL,WAC7BqF,WAAYhB,EACZW,WAAY/N,EAAK+N,YAGrBlL,GAAW,GACX/B,EAAS,gDAAiD0M,GACrD/M,MAAK,SAAAb,GACF0B,EAAY,QAAS,wCAAmC,WAAW,WAC/DwK,UAGPpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG5BwL,EAA8B,WAChCrN,EAAQ,8CAAgDyL,EAASiB,iBAC5DjN,MAAK,SAAAb,GACEA,EAAOI,KACPsB,EAAY,QAAS,wBAAyB,WAAW,WACrDwK,OAIJxK,EAAY,QAAS,2CAAyC,UAAW,SAGhFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAuB5ByL,EAA+B,SAAClB,GAClC,IAAIpN,EAAOuM,IACPiB,EAAc,CACdE,gBAAiBjB,EAASiB,gBAC1Ba,iBAAkB1J,GAAe,IAAIrF,MACrCgP,uBAAwBlR,EAAQyL,WAChCqF,WAAYhB,EACZW,WAAY/N,EAAK+N,YAGrBlL,GAAW,GACX/B,EAAS,mDAAoD0M,GACxD/M,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAsC5B4L,EAAsB,SAACrB,GACzB,IAAIpN,EAAOuM,IACPiB,EAAc,CACdE,gBAAiBjB,EAASiB,gBAC1BQ,cAAerJ,GAAe,IAAIrF,MAClC2O,oBAAqB7Q,EAAQyL,WAC7B2F,SAAUtB,EACVW,WAAY/N,EAAK+N,YAGrBlL,GAAW,GACX/B,EAAS,yDAA0D0M,GAC9D/M,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAmB5B8L,GAAoB,WACtB9L,GAAW,GACX/B,EAAS,qDAAD,OAAsD+K,EAAa6B,gBAAnE,YAAsFpQ,EAAQyL,aACjGtI,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAGlC,OACI,oCACiB,MAAZ4J,IAAwC,YAAnBA,EAAS3M,QAA2C,gBAAnB2M,EAAS3M,QAA+C,cAAnB2M,EAAS3M,SACtD,iCAAnC,OAAR2M,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACQ,aAAnC,OAARH,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACI,wBAAI7E,UAAU,mBAAd,cACA,yBAAKA,UAAU,oBAIV,MAAZ0E,IAAwC,YAAnBA,EAAS3M,QAA2C,gBAAnB2M,EAAS3M,QAA+C,cAAnB2M,EAAS3M,SACxC,IAAjD,OAAR2M,QAAQ,IAARA,GAAA,UAAAA,EAAUY,4BAAV,eAAgCuB,wBAChC,kBAACC,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,SACNsH,QAAS,WA3FzBjN,EAAa,gBAAW,qCAAsC,YAAY,SAAUlC,GAChF,GAAIA,EAAQ,CACR,IAAImJ,EAAwB,MAAXzL,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAChGlG,GAAW,GAEX/B,EAAS,+CAAwC2L,EAASiB,gBAAjD,KAAsE3E,GAC1EtI,MAAK,SAAAb,GACF0B,EAAY,QAAS,sCAAuC,WAAW,WACnEwK,UAGPpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAgFtBkF,UAAU,aACVkH,KAAK,UAJT,0BAWK,MAAZxC,GAAuC,YAAnBA,EAAS3M,QACW,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,0BAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACKH,EAASY,qBAAqBE,4BACa,gBAAtCd,EAASY,qBAAqBC,MACsC,OAAlEb,EAASY,qBAAqB6B,iBAAiBC,UAAUC,OACE,kBAA3D3C,EAASY,qBAAqB6B,iBAAiBG,WAEnD,kBAACR,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,+BACH,kBAAC,KAAD,CACI0H,QAAS3C,EACT4C,KAAK,gBACLC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAO/B,kBACjCkC,SAAU,SAACC,GAAQ9C,EAAoB8C,IACvC5N,MAAwB,MAAjB4K,GAAyBF,EAAsBmD,MAAK,SAAAnR,GAAG,OAAIA,EAAI+O,mBAAqBb,EAAca,oBACzGlI,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAU,OAGnBjE,EAAOc,eAAiB,0BAAMjF,UAAU,kCAAhB,8BAKD,iBAAtC0E,EAASY,qBAAqBC,MAAiE,mBAAtCb,EAASY,qBAAqBC,OACrFvK,GAAgBA,EAAaqN,iCAC7B,kBAACvB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,wEAAH,KACA,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,0BACLY,SAAUrE,EAAS,CAAEkE,UAAU,SAMnD,kBAACtB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,oDAAH,KACA,kBAACa,GAAA,EAAD,CACIpB,KAAK,WACLS,KAAK,aACLY,SAAUrE,QAItB,kBAACqD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAAM5B,GAAwB,IACvCpF,UAAU,aAAakH,KAAK,UAHhC,WAOA,kBAACH,GAAA,EAAD,CACIrH,MAAM,SACNsH,QAAS,kBAAM5B,GAAwB,IACvCpF,UAAU,aAAakH,KAAK,UAHhC,eAYH,MAAZxC,GAAuC,YAAnBA,EAAS3M,QACW,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,+BAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACI,kBAACiC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,oDAAH,KACA,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,aACLY,SAAUrE,QAItB,kBAACqD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAAMd,GAA0B,IACzClG,UAAU,aACVkH,KAAK,UAJT,WAQA,kBAACH,GAAA,EAAD,CACIrH,MAAM,SACNsH,QAAS,kBAAMd,GAA0B,IACzClG,UAAU,aACVkH,KAAK,UAJT,eAaH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,iCAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC7J,GAAoD,2BAApCA,EAAawN,qBAC7B,6BACI,kBAAC1B,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,OACNsH,QAAS,kBAAMV,KACftG,UAAU,aACVkH,KAAK,UAJT,0BAQA,kBAACH,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAAMJ,MACf5G,UAAU,aAAakH,KAAK,UAHhC,6BAYH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,iCAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACI,kBAACiC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,MAClB,kBAACjB,GAAA,EAAD,KACI,2BAAG,yDAAH,KACA,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,iBACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAOwE,gBAAkB,0BAAM3I,UAAU,kCAAhB,4BAGlC,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBA5SC,WAClC,IAAI/O,EAAOuM,IACX,GAA2B,IAAvBvM,EAAK0Q,eAAT,CAIA,IAAIlD,EAAc,CACdE,gBAAiBjB,EAASiB,gBAC1BiD,qBAAsBrT,EAAQyL,WAC9B6H,aAAc/L,GAAe7E,EAAK0Q,gBAClCG,kCAAmC,GAGvChO,GAAW,GACX/B,EAAS,8DAA+D0M,GACnE/M,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAd1BvB,EAAY,QAAS,sCAAiC,QAAS,MAyS5BwP,IACf/I,UAAU,aACVkH,KAAK,UAJT,iCAYH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,kCAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACI,kBAACiC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,oDAAH,KACA,kBAACa,GAAA,EAAD,CACIpB,KAAK,WACLS,KAAK,aACLY,SAAUrE,QAItB,kBAACqD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAAMT,GAA6B,IAC5CvG,UAAU,aACVkH,KAAK,UAJT,WAQA,kBAACH,GAAA,EAAD,CACIrH,MAAM,SACNsH,QAAS,kBAAMT,GAA6B,IAC5CvG,UAAU,aACVkH,KAAK,UAJT,eAaH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,uBAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC7J,GAAoD,2BAApCA,EAAawN,qBAC7B,6BACI,kBAAC1B,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACH9C,EAASsE,sBAAsBxM,OAAS,GACrC,kBAACuK,GAAA,EAAD,CACIrH,MAAM,OACNsH,QAAS,kBAAMV,KACftG,UAAU,aACVkH,KAAK,UAJT,0BASJ,kBAACH,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAAMJ,MACf5G,UAAU,aACVkH,KAAK,UAJT,0BAQA,kBAACH,GAAA,EAAD,CACIrH,MAAM,YACNsH,QAAS,kBAjUZ,WACrB,IAAIvB,EAAc,CACdE,gBAAiBjB,EAASiB,gBAC1BsD,kBAAmB1T,EAAQyL,YAG/BlG,GAAW,GACX/B,EAAS,+CAAgD0M,GACpD/M,MAAK,SAAAb,GACF0B,EAAY,QAAS,wCAAmC,WAAW,WAC/DwK,UAGPpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAmTSoO,IACflJ,UAAU,aACVkH,KAAK,UAJT,kBAYH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,uCAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACI,kBAACiC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,oDAAH,KACA,kBAACa,GAAA,EAAD,CACIpB,KAAK,WACLS,KAAK,aACLY,SAAUrE,QAItB,kBAACqD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAAMN,GAAoB,IACnC1G,UAAU,aACVkH,KAAK,UAJT,YAMA,kBAACH,GAAA,EAAD,CACIrH,MAAM,SACNsH,QAAS,kBAAMN,GAAoB,IACnC1G,UAAU,aACVkH,KAAK,UAJT,eAaH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,iCAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACI,kBAACiC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,YACNsH,QAAS,kBArVjClM,GAAW,QACX7B,EAAQ,6CAAD,OAA8C6K,EAAa6B,kBAC7DjN,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAkVNkF,UAAU,aACVkH,KAAK,UAJT,oCAYH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,aAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACI,kBAACiC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAhWjClM,GAAW,QACX7B,EAAQ,wDAAD,OAAyD6K,EAAa6B,kBACxEjN,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA6VNkF,UAAU,aACVkH,KAAK,UAJT,oCAaH,MAAZxC,GACsB,YAAnBA,EAAS3M,QAC4B,OAA7B,OAAR2M,QAAQ,IAARA,OAAA,EAAAA,EAAUE,0BACiC,6BAAnC,OAARF,QAAQ,IAARA,GAAA,UAAAA,EAAUE,+BAAV,eAAmCC,OACnC,6BACKH,EAASY,qBAAqBE,0BAC3B,kBAACsB,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,+BACH,kBAAC,KAAD,CACI0H,QAAS3C,EACT4C,KAAK,gBACLC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAO/B,kBACjCkC,SAAU,SAACC,GAAQ9C,EAAoB8C,IACvC5N,MAAwB,MAAjB4K,GAAyBF,EAAsBmD,MAAK,SAAAnR,GAAG,OAAIA,EAAI+O,mBAAqBb,EAAca,oBACzGlI,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAU,OAGnBjE,EAAOc,eAAiB,0BAAMjF,UAAU,kCAAhB,6BAKzC,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,oDAAH,KACA,kBAACa,GAAA,EAAD,CACIpB,KAAK,WACLS,KAAK,aACLY,SAAUrE,QAItB,kBAACqD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAxjBC,WAClC,GAA2C,iBAAtCtC,EAASY,qBAAqBC,MAAiE,mBAAtCb,EAASY,qBAAqBC,MACpE,MAAjBN,IAAyBP,EAASY,qBAAqBE,yBAD9D,CAMA,IAAIvN,EAAOuM,IACPiB,EAAc,CACdE,gBAAiBjB,EAASiB,gBAC1BC,YAAa9I,GAAe,IAAIrF,MAChCoO,kBAAmBtQ,EAAQyL,WAC3B8E,iBAAmC,MAAjBb,EAAwBA,EAAca,iBAAmB,KAC3EE,WAAY/N,EAAK+N,YAGrBlL,GAAW,GACX/B,EAAS,2DAA4D0M,GAChE/M,MAAK,SAAAb,GACF0B,EAAY,QAAS,wCAAmC,WAAW,WAC/DwK,UAGPpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WArB1BvB,EAAY,QAAS,4BAA6B,QAAS,MAqjBxB4P,IACfnJ,UAAU,aACVkH,KAAK,UAJT,iBClmBb,SAASkC,GAAT,GAAqE,IAAxCC,EAAuC,EAAvCA,KAAMtF,EAAiC,EAAjCA,aAAcuF,EAAmB,EAAnBA,gBAC5D,EAA4C7O,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAE5B,EAAyCjF,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAAmCxT,IAAM8E,SAAS,GAAlD,mBAAO2O,EAAP,KAAkBC,EAAlB,KACA,EAA2B1T,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAGA,EAAkD3T,IAAM8E,SAAS,IAAjE,mBAAO8O,EAAP,KAA0BC,EAA1B,KAEA,EAAsD7T,IAAM8E,UAAS,GAArE,mBAAOgP,EAAP,KAA4BC,EAA5B,KAEA,EAA0B/T,IAAM8E,UAAS,GAAzC,mBAAOkP,EAAP,KAAcC,EAAd,KAEMC,EAAc,kBAAMD,GAAUD,IAUpC,EAAoDlP,mBAAS,MAA7D,mBAAOqP,EAAP,KAA2BC,EAA3B,KAiDA,EAA6DpU,IAAM8E,SAAS,IAA5E,mBAAOuP,EAAP,KAA+BC,EAA/B,KASArO,qBAAU,WAvDN/C,EAAQ,gCAAkCoQ,EAAKiB,yBAC1C5R,MAAK,SAAAb,GAAM,OAAIsS,EAAsBtS,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2BjB,EAAKiB,2BAAyB,GAAGI,eAAelO,WAC3J7D,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAEJ,GAAtBuO,EAAKsB,eAAsBT,EAAqB,IAChD3Q,EAAY,QAAS,8IAAgI,UAAW,MAChKwK,KAGyC,MAAzC6G,SAASC,cAAc,iBACvBD,SAASC,cAAc,eAAeC,UAAY,GAEtDvB,EAAiBF,GACjB0B,YAAW,WAC6B,MAAhC1B,EAAKzE,yBACL6E,EAAcJ,EAAKzE,wBAAwBoG,MAAQ,KACxD,KAeH/R,EAAQ,0CAA4CoQ,EAAKiB,yBACpD5R,MAAK,SAAAb,GACF,GAAmB,MAAfA,EAAOI,KAAc,CACrB,IAAIgT,EAAS,GACbpT,EAAOI,KAAKiT,oBAAoBC,MAAK,SAAUjU,EAAGkU,GAAK,OAAOlU,EAAE8T,MAAQI,EAAEJ,SAASvK,KAAI,SAAA4K,GACnFJ,EAAOK,KAAKD,EAAExG,SAElB6E,EAAUuB,OAGjBtS,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAK9B7B,EAAQ,kDAAoDoQ,EAAK1D,iBAC5DjN,MAAK,SAAAb,GAAM,OAAIwS,EAA2BxS,EAAOI,SACjDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA5D9B7B,EAAQ,iDAAD,OAAkDoQ,EAAKkC,eACzD7S,MAAK,SAAAb,GAAM,OAAI+R,EAAqB/R,EAAOI,SAC3CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAkE/B,IAEH,IAAM0Q,EAAezV,IAAM0V,SACrBC,EAAcC,2BAAgB,CAChCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IAgBhB,OACI,oCACI,kBAACC,GAAA,EAAD,CAAOC,OAAQjC,EAAOkC,OAAQhC,EAAaiC,KAAM,MAC7C,kBAAC,KAAD,CAAaD,OAAQhC,GAArB,+DACA,kBAACkC,GAAA,EAAD,KACI,kBAAC,KAAD,KACI,yBAAKnM,UAAU,oBACX,2BAAOA,UAAU,SACb,+BACI,4BACI,wBAAIoM,MAAM,MAAMpM,UAAU,IAA1B,yBACA,wBAAIoM,MAAM,OAAV,oBACA,wBAAIA,MAAM,OAAV,gBAGR,+BACKzC,EAAkBnN,OAAS,GAAKmN,EAAkBlJ,KAAI,SAAA4L,GAAa,aAChE,4BACI,4BAAKrP,GAAmBqP,EAAcC,oBACtC,4BAAKD,EAAcrG,YACnB,sCAAKqG,EAAcE,YAAnB,QAA2B,aAQvD,kBAACC,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASiD,GAAnC,QAGPJ,GACG,yBAAK7J,UAAU,iBACX,yBAAKA,UAAU,OACX,yBAAKyM,IAAKC,EAAQ,UAI5B7C,GAAuC,MAAhB/F,GACrB,6BACI,kBAAC6I,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW4J,EAAW3J,MAAOA,KAE9C,yBAAKG,UAAU,OACX,yBAAKA,UAAU,kBACM,MAAhB+D,GACG,kBAACgD,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASjD,GAAc,uBAAGnB,MAAM,wBAA1D,YAGR,yBAAK5C,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAa,uBAAG9I,MAAM,iBAAtD,eAGR,yBAAK5C,UAAU,kBAAkBmI,IAAKqD,GAClC,yBAAKxL,UAAU,aACX,yBAAKA,UAAU,mBACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,sBAAsB8D,EAAawB,qBAAqB6B,iBAAiBC,UAAUU,aAGzG,yBAAK9H,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAI4M,GAAG,eAAe5M,UAAU,mBAAhC,WACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,4BACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGC,cAAgBjJ,EAAakJ,UAAUC,uBAAuB,GAAGF,gBAEtM,yBAAK/M,UAAU,yCACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAaoJ,WAEpD,yBAAKlN,UAAU,6BACX,2BAAG,+CAAH,IAAyB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGK,YAAcrJ,EAAakJ,UAAUC,uBAAuB,GAAGE,cAE1L,yBAAKnN,UAAU,6BACX,2BAAG,mCAAH,IAAgB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGM,IAAMtJ,EAAakJ,UAAUC,uBAAuB,GAAGG,MAElG,OAAtEtJ,EAAawB,qBAAqB6B,iBAAiBC,UAAUC,OAC1D,yBAAKrH,UAAU,6BACX,2BAAG,oCAAH,IAAiB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGO,cAAgBvJ,EAAakJ,UAAUC,uBAAuB,GAAGI,gBAExL,yBAAKrN,UAAU,4BACX,2BAAG,mEAAH,IAA0C8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGQ,sBAAwBxJ,EAAakJ,UAAUC,uBAAuB,GAAGK,wBAErN,yBAAKtN,UAAU,4BACX,2BAAG,mCAAH,IAAgB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGS,IAAMzJ,EAAakJ,UAAUC,uBAAuB,GAAGM,MAEzK,yBAAKvN,UAAU,4BACX,2BAAG,2CAAH,IAAqB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGU,WAAa,KAAO1J,EAAagJ,0BAA0B,GAAGW,YAAc,KAAO3J,EAAagJ,0BAA0B,GAAGY,YAAc5J,EAAakJ,UAAUC,uBAAuB,GAAGO,WAAa,KAAO1J,EAAakJ,UAAUC,uBAAuB,GAAGQ,cAExX,yBAAKzN,UAAU,4BACX,2BAAG,sCAAH,IAAmB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGa,OAAS7J,EAAakJ,UAAUC,uBAAuB,GAAGU,SAE/K,yBAAK3N,UAAU,4BACX,2BAAG,sCAAH,IAAmB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGc,OAAS9J,EAAakJ,UAAUC,uBAAuB,GAAGW,SAE/K,yBAAK5N,UAAU,8BACC,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAgC0C,EAAkBnN,OAAS,GACnF,yBAAKwD,UAAU,oDACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,WAAWgH,QAAS,kBAAMgD,GAAS,KAC9D,uBAAGhK,UAAU,yBADjB,oCAQhB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,kBACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,4BACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGe,gBAAkB/J,EAAakJ,UAAUC,uBAAuB,GAAGY,kBAExM,yBAAK7N,UAAU,wCACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAagK,QAEpD,yBAAK9N,UAAU,4BACX,2BAAG,wCAAH,IAAqB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGiB,SAAWjK,EAAakJ,UAAUC,uBAAuB,GAAGc,WAEnL,yBAAK/N,UAAU,wCACX,2BAAG,uCAAH,IAAoB8D,EAAagJ,0BAA0BtQ,OAAS,EAAIsH,EAAagJ,0BAA0B,GAAGkB,QAAUlK,EAAakJ,UAAUC,uBAAuB,GAAGe,WAGrL,yBAAKhO,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,gBACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,kBACX,oCADJ,IACiB,2BAAI8D,EAAawB,qBAAqBC,OAEvD,yBAAKvF,UAAU,kBACX,0CADJ,IACoB,2BAAI8D,EAAamK,qBAErC,yBAAKjO,UAAU,kBACX,uCADJ,IACoB,2BAAI8D,EAAa/L,UAGjB,cAAvB+L,EAAa/L,QAAoE,MAA1C+L,EAAaoK,2BACjD,yBAAKlO,UAAU,OACX,yBAAKA,UAAU,oBACX,+CADJ,IACyB,2BAAI8D,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIlKlC,EAAaqK,+BAA+B3R,OAAS,GAClD,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,0BACA,yBAAKA,UAAU,oBAEnB,yBAAKA,UAAU,oBACX,2BAAI8D,EAAaqK,+BAA+B,GAAGC,UAIb,MAAjDtK,EAAauK,kCAA4CvK,EAAauK,iCAAiC7R,OAAS,GAC7G,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,eACA,yBAAKA,UAAU,oBAEnB,yBAAKA,UAAU,oBACV8D,EAAauK,iCAAiC5N,KAAI,SAAC4I,EAAMzI,GAAP,OAC/C,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,qCADJ,IACkB,2BAAIqJ,EAAKiF,QAE3B,yBAAKtO,UAAU,kBACX,oCADJ,IACiB,2BAAIqJ,EAAKxE,OAE6C,OAAtEf,EAAawB,qBAAqB6B,iBAAiBC,UAAUC,OAC1D,yBAAKrH,UAAU,kBACX,2CADJ,IACyBqJ,EAAKkF,4CAA8ClF,EAAKkF,2CAA2C9N,KAAI,SAAC4I,EAAMzI,GAAP,OACxH,uBAAGA,IAAKA,GAAMyI,EAAKmF,gBAE/B,yBAAKxO,UAAU,kBACX,4CADJ,IACyB,2BAAIqJ,EAAKoF,QAElC,yBAAKzO,UAAU,kBACX,oDADJ,IAC2B,2BAAIqJ,EAAKqF,gBAEpC,yBAAK1O,UAAU,kBACX,+CADJ,IAC4B,2BAAIqJ,EAAKsF,2BAErC,yBAAK3O,UAAU,kBACX,mCADJ,IACgB,2BAAIqJ,EAAKuF,MAEzB,yBAAK5O,UAAU,kBACX,yCADJ,IACsB,2BAAIqJ,EAAKwF,OAE/B,yBAAK7O,UAAU,kBACX,+CADJ,IAC4B,2BAAIqJ,EAAKyF,kBAErC,yBAAK9O,UAAU,kBACX,8CADJ,IACwB,2BAAI9D,GAA8BmN,EAAK0F,UAE/D,yBAAK/O,UAAU,kBACX,uCADJ,IACoB,2BAAIqJ,EAAK2F,gBAE7B,yBAAKhP,UAAU,kBACX,yDADJ,IACmC,2BAAIqJ,EAAK4F,uBAE5C,yBAAKjP,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,UAG/BsR,EAAK6F,qCAAqC1S,OAAS,GAChD,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,kBACX,uDADJ,IACoC,2BAAIvD,GAAY4M,EAAK6F,qCAAqC,GAAGC,YAEjG,yBAAKnP,UAAU,kBACX,6DADJ,IACoC,2BAAIqJ,EAAK6F,qCAAqC,GAAGE,WAEpF/F,EAAK6F,qCAAqC,GAAGG,kCAAkC7S,OAAS,GACrF,oCACI,yBAAKwD,UAAU,kBACX,gDADJ,IAC6B,2BAAIvD,GAAY4M,EAAK6F,qCAAqC,GAAGG,kCAAkC,GAAGC,uBAE/H,yBAAKtP,UAAU,kBACX,0DADJ,IACiC,2BAAIqJ,EAAK6F,qCAAqC,GAAGG,kCAAkC,GAAGD,WAEvH,yBAAKpP,UAAU,kBACX,iDADJ,IACwB,2BAAIqJ,EAAK6F,qCAAqC,GAAGG,kCAAkC,GAAGrJ,aAE9G,yBAAKhG,UAAU,oBACX,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAK6F,qCAAqC,GAAGG,kCAAkC,GAAGI,qBAAsBC,OAAO,UAAvJ,wBAMpB,yBAAK1P,UAAU,OACa,MAAvBqJ,EAAKsG,gBAA0B,yBAAK3P,UAAU,kBAAiB,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKsG,eAAgBD,OAAO,UAApE,oBAChC,MAA/BrG,EAAKuG,wBAAkC,yBAAK5P,UAAU,kBAAiB,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKuG,uBAAwBF,OAAO,UAA5E,mCACxC,MAA/BrG,EAAKwG,wBAAkC,yBAAK7P,UAAU,kBAAiB,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKwG,uBAAwBH,OAAO,UAA5E,6BAC/C,MAAxBrG,EAAKyG,iBAA2B,yBAAK9P,UAAU,kBAAiB,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKyG,gBAAiBJ,OAAO,UAArE,sBAErE,mCAMkC,MAArD5L,EAAaiM,sCAAgDjM,EAAaiM,qCAAqCvT,OAAS,GACrH,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,kCACA,yBAAKA,UAAU,oBAEnB,yBAAKA,UAAU,oBACV8D,EAAaiM,qCAAqCtP,KAAI,SAAC4I,EAAMzI,GAAP,OACnD,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,mCADJ,IACgB,2BAAIqJ,EAAKkE,MAEzB,yBAAKvN,UAAU,kBACX,2CADJ,IACqB,2BAAIqJ,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,yBAAKzN,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKsE,SAE5B,yBAAK3N,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,UAGhC,mCAMmC,MAAtD+L,EAAakM,uCAAiDlM,EAAakM,sCAAsCxT,OAAS,GACvH,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,8BACA,yBAAKA,UAAU,oBAEnB,yBAAKA,UAAU,oBACV8D,EAAakM,sCAAsCvP,KAAI,SAAC4I,EAAMzI,GAAP,OACpD,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,oCADJ,IACiB,2BAAIqJ,EAAK4G,OAE1B,yBAAKjQ,UAAU,kBACX,wCADJ,IACqB,2BAAIqJ,EAAK6G,WAE9B,yBAAKlQ,UAAU,kBACX,+CADJ,IACyB,2BAAIqJ,EAAK8D,cAElC,yBAAKnN,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,SAE5B,yBAAKiI,UAAU,kBACX,mCADJ,IACgB,2BAAIqJ,EAAKkE,MAEzB,yBAAKvN,UAAU,kBACX,2CADJ,IACqB,2BAAIqJ,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,yBAAKzN,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKsE,SAE5B,yBAAK3N,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKuE,UAGhC,mCAMkC,MAArD9J,EAAaqM,sCAAgDrM,EAAaqM,qCAAqC3T,OAAS,GACrH,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,gBACA,yBAAKA,UAAU,oBAEnB,yBAAKA,UAAU,oBACV8D,EAAaqM,qCAAqC1P,KAAI,SAAC4I,EAAMzI,GAAP,OACnD,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,yCADJ,IACmB,2BAAIqJ,EAAK+G,oBAE5B,yBAAKpQ,UAAU,kBACX,oCADJ,IACiB,2BAAIqJ,EAAKxE,OAE1B,yBAAK7E,UAAU,kBACX,2CADJ,IACqB,2BAAIqJ,EAAKgH,WAE9B,yBAAKrQ,UAAU,kBACX,kDADJ,IAC4B,2BAAIqJ,EAAKiH,mBAErC,yBAAKtQ,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,UAGhC,mCAMpB,yBAAKiI,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,cACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,UAAWiX,MAAO,YAE/BxY,KAAM6L,EAAa4M,sBACnBC,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,uBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQE,QAAS,aAGjGC,aAAc9T,GACduK,QAASpI,MAIL,MAAX/J,GAAmBuO,MAAiB,OAACA,QAAD,IAACA,OAAD,EAACA,EAAcoN,uBAChD,yBAAKlR,UAAU,YACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,mCACA,yBAAKA,UAAU,oBAGnB,yBAAKA,UAAU,yBACX,kCAAI8D,QAAJ,IAAIA,OAAJ,EAAIA,EAAcoN,wBAK7BlW,GAAoD,2BAApCA,EAAawN,qBAA8C1E,EAAakF,sBAAsBxM,OAAS,GACpH,yBAAKwD,UAAU,YACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,gBACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,aAAciX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQM,kBAChG,CACI5X,MAAO,oBAAkBiX,MAAO,SAChCU,OAAQ,SAACL,GAAD,OAAaA,EAAQO,cAAgBP,EAAQO,aAAa7U,OAAS,EAAIQ,GAAmB8T,EAAQO,aAAaP,EAAQO,aAAa7U,OAAS,GAAG2S,UAAY,KAExK,CACI3V,MAAO,UAAWiX,MAAO,SACzBU,OAAQ,SAACL,GAAD,OAAaA,EAAQO,cAAgBP,EAAQO,aAAa7U,OAAS,EAAIsU,EAAQO,aAAaP,EAAQO,aAAa7U,OAAS,GAAG8U,QAAU,MAGvJrZ,KAAM6L,EAAakF,sBACnB2H,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,aACT5J,QAAS,SAAC6J,EAAOC,GAAR,OApe5B,SAACA,GACtB,IAAMS,EAAaT,EAAQO,aAAa7G,QAAO,SAAAgH,GAAC,OAAqB,MAAjBA,EAAEC,eAChDC,EAAU,sCAAkCH,EAAW,GAAGE,aAC1DE,EAAe/G,SAASgH,cAAc,KACtCC,EAAW/N,EAAamK,mBAAqB,OAEnD0D,EAAapC,KAAOmC,EACpBC,EAAaG,SAAWD,EACxBF,EAAaI,QA4dwDC,CAAiBlB,MAGtDG,aAAc9T,GACduK,QAASpI,MAIpB8K,EAAuB5N,OAAS,GAC7B,yBAAKwD,UAAU,YACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,qCACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,qBAAmBiX,MAAO,eACnC,CAAEjX,MAAO,kBAAgBiX,MAAO,cAAeU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQlL,eAC/F,CAAEpM,MAAO,aAAWiX,MAAO,uBAC3B,CAAEjX,MAAO,WAAYiX,MAAO,SAAUU,OAAQ,SAACL,GAAD,OAAaA,EAAQ/K,OAAS,MAAQ,WACpF,CAAEvM,MAAO,mBAAciX,MAAO,cAC9B,CAAEjX,MAAO,iBAAkBiX,MAAO,aAAcU,OAAQ,SAACL,GAAD,OAAaA,EAAQmB,WAAajV,GAAmB8T,EAAQmB,YAAc,MAEvIha,KAAMmS,EACNuG,WAAW,EACXM,aAAc9T,GACduK,QAASpI,MAIpBtE,GAAoD,SAApCA,EAAawN,qBAAkC1E,EAAakF,sBAAsBxM,OAAS,GACxGsH,EAAakF,sBAAsB,GAAGkJ,iCAAiC1V,OAAS,GAChF,yBAAKwD,UAAU,oBACX,yBAAKA,UAAU,yBACX,wBAAIA,UAAU,mBAAd,4BACA,yBAAKA,UAAU,oBAElB8D,EAAakF,sBAAsB,GAAGkJ,iCAAiCzR,KAAI,SAAC4K,EAAGzK,GAC5E,OAAO,yBAAKZ,UAAU,mBAAmBY,IAAKA,GAC1C,uBAAG2O,KAAMvU,EAAawU,eAAiBnE,EAAE2F,QAAStB,OAAO,UAAS,uBAAG1P,UAAU,gBAA/E,2BAA0HvD,GAAY4O,EAAE8G,sBAKvJ7I,GAA8B,MAAX/T,GAAyC,gBAAtBA,EAAQ0R,YAAgD,MAAhBnD,GAA+C,cAAvBA,EAAa/L,QAChH,yBAAKiI,UAAU,gBACX,kBAAC6D,GAAD,CACIC,aAAcA,EACdC,aAAcA,MAIb,MAAXxO,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aACd,YAAvBnD,EAAa/L,QAC2B,MAAxC+L,EAAac,yBACgC,sBAA7Cd,EAAac,wBAAwBC,MACrC7J,GAAoD,2BAApCA,EAAawN,qBAC7B,yBACIxI,UAAU,eAEV,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,YACNsH,QAAS,YACW,OAAZlD,QAAY,IAAZA,OAAA,EAAAA,EAAckF,sBAAsBwB,QAAO,SAAA4H,GAAC,MAAgB,YAAZA,EAAEra,UAAsByE,QAAS,EACjFjD,EAAY,QAAS,mFAA2E,UAAW,MAtf9H,WACrB,IAAIkM,EAAc,CACdE,gBAAiB7B,EAAa6B,iBAGlCmE,GAAuB,GACvB/Q,EAAS,+CAAgD0M,GACpD/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW9C,OAAOC,SAASiB,aAClGgB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAgfUoO,IAGRlJ,UAAU,aACVkH,KAAK,UAXT,oB,uEC7kBrB,SAASkC,GAAT,GAAqE,IAAD,kBAAvCC,EAAuC,EAAvCA,KAAMtF,EAAiC,EAAjCA,aAAcuF,EAAmB,EAAnBA,gBAC5D,EAAkC7O,IAA1BlF,EAAR,EAAQA,QAASyF,EAAjB,EAAiBA,aAEjB,EAAyCH,mBAAS,MAAlD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAAmC1O,mBAAS,GAA5C,mBAAO2O,EAAP,KAAkBC,EAAlB,KACA,EAA2B5O,mBAAS,IAApC,mBAAOgF,EAAP,KAAc6J,EAAd,KAGA,EAAkD3T,IAAM8E,SAAS,IAAjE,mBAAO8O,EAAP,KAA0BC,EAA1B,KAEA,EAAsD7T,IAAM8E,UAAS,GAArE,mBAAOgP,EAAP,KAA4BC,EAA5B,KAEA,EAA0B/T,IAAM8E,UAAS,GAAzC,mBAAOkP,EAAP,KAAcC,EAAd,KAEMC,EAAc,kBAAMD,GAAUD,IAGpC,EAA2ClP,oBAAS,GAApD,mBAAOwX,GAAP,KAAsBC,GAAtB,KAGA,GAAmDzX,mBAAS,IAA5D,qBAAO0X,GAAP,MAA0BC,GAA1B,MAEMC,GAAsB,kBAAMH,IAAmBD,KAUrD,GAA2CxX,oBAAS,GAApD,qBAAO6X,GAAP,MAAsBC,GAAtB,MACA,GAAkC9X,mBAAS,CAAC,EAAG,IAA/C,qBAAO+X,GAAP,MAAkBC,GAAlB,MACA,GAA4ChY,mBAAS,CAAC,EAAG,IAAzD,qBAAOiY,GAAP,MAAuBC,GAAvB,MACMC,GAAa,IAAIC,KAAEC,KAAK,CAC1BC,QAAS,mGACTC,cAAe,qGAEbC,GAAY,SAAC,GAAsB,IAApBC,EAAmB,EAAnBA,OAAQC,EAAW,EAAXA,KAGzB,OAFoBC,eACRC,QAAQH,EAAQC,GACrB,MAELG,GAAkB,SAACC,GACjBA,GAAkBA,EAAe/c,MAAM,KAAK4F,OAAS,IACrDqW,GAAa,CAACc,EAAe/c,MAAM,KAAK,GAAI+c,EAAe/c,MAAM,KAAK,KACtEmc,GAAkB,CAACY,EAAe/c,MAAM,KAAK,GAAI+c,EAAe/c,MAAM,KAAK,KAC3E+b,IAAkB,KAI1B,GAAoD9X,mBAAS,MAA7D,qBAAOqP,GAAP,MAA2BC,GAA3B,MAmDA,GAA6DtP,mBAAS,IAAtE,qBAAOuP,GAAP,MAA+BC,GAA/B,MAOArO,qBAAU,WAvDN/C,EAAQ,gCAAkCoQ,EAAKiB,yBAC1C5R,MAAK,SAAAb,GAAM,OAAIsS,GAAsBtS,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2BjB,EAAKiB,2BAAyB,GAAGI,eAAelO,WAC3J7D,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAEnC,GAAtBqR,EAAKsB,eAAsBT,GAAqB,IAChD3Q,EAAY,QAAS,8IAAgI,UAAW,MAChKwK,KAGJwF,EAAiBF,GAEmB,MAAhCA,EAAKzE,yBACL6E,EAAcJ,EAAKzE,wBAAwBoG,MAAQ,GAuBvD/R,EAAQ,0CAA4CoQ,EAAKiB,yBACpD5R,MAAK,SAAAb,GACF,GAAmB,MAAfA,EAAOI,KAAc,CACrB,IAAIgT,EAAS,GACbpT,EAAOI,KAAKiT,oBAAoBC,MAAK,SAAUjU,EAAGkU,GAAK,OAAOlU,EAAE8T,MAAQI,EAAEJ,SAASvK,KAAI,SAAA4K,GACnFJ,EAAOK,KAAKD,EAAExG,SAElB6E,EAAUuB,OAGjBtS,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAK7DiB,EAAQ,kDAAoDoQ,EAAK1D,iBAC5DjN,MAAK,SAAAb,GAAM,OAAIwS,GAA2BxS,EAAOI,SACjDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAjF7DiB,EAAQ,iDAAD,OAAkDoQ,EAAKkC,eACzD7S,MAAK,SAAAb,GAAM,OAAI+R,EAAqB/R,EAAOI,SAC3CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,WAuF9D,IAcH,OACI,oCACI,kBAAC+T,GAAA,EAAD,CAAOC,OAAQjC,EAAOkC,OAAQhC,EAAaiC,KAAM,MAC7C,kBAAC,KAAD,CAAaD,OAAQhC,GAArB,+DACA,kBAACkC,GAAA,EAAD,KACI,kBAAC,KAAD,KACI,yBAAKnM,UAAU,oBACX,2BAAOA,UAAU,SACb,+BACI,4BACI,wBAAIoM,MAAM,MAAMpM,UAAU,IAA1B,yBACA,wBAAIoM,MAAM,OAAV,oBACA,wBAAIA,MAAM,OAAV,gBAGR,+BACKzC,EAAkBnN,OAAS,GAAKmN,EAAkBlJ,KAAI,SAAC4L,EAAejQ,GAAhB,aACnD,wBAAIwE,IAAKxE,GACL,4BAAKY,GAAmBqP,EAAcC,oBACtC,4BAAKD,EAAcrG,YACnB,sCAAKqG,EAAcE,YAAnB,QAA2B,aAQvD,kBAACC,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASiD,GAAnC,QAIR,kBAAC8B,GAAA,EAAD,CACI6H,UAAQ,EACR5H,OAAQqG,GACRpG,OAAQwG,GACRvG,KAAM,KACNhM,MAAO,CAAEyD,UAAW,SAEpB,kBAACwI,GAAA,EAAD,CAAWnM,UAAU,SACjB,kBAAC,KAAD,CACIiM,OAAQwG,GACRzS,UAAU,WACVE,MAAO,CAAE2T,aAAc,QACvBC,MAAO,sCAJX,aAQA,kBAAChN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAO,GACPgX,QAAS,CACL,CAAEhX,MAAO,aAAciX,MAAO,oBAC9B,CAAEjX,MAAO,OAAQiX,MAAO,sBACxB,CAAEjX,MAAO,kBAAgBiX,MAAO,8BAEpCxY,KAAMsa,GACNxU,QAAS,CAAC,CACNrE,KAAM,WACNkX,QAAS,iBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQiD,gBAAiB,aAErGpD,WAAW,EACXM,aAAc9T,GACduK,QAASpI,OAIrB,kBAACwH,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,iCACnB,kBAAC+G,GAAA,EAAD,CAAQ/G,UAAU,cAAcN,MAAO,OAAQsH,QAASyL,IAAxD,cAQf5I,GACG,yBAAK7J,UAAU,iBACX,yBAAKA,UAAU,OACX,yBAAKyM,IAAKC,EAAQ,UAI5B7C,GAAuC,MAAhB/F,GACrB,6BACI,kBAAC6I,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW4J,EAAW3J,MAAOA,KAE7B,MAAhBkE,GACG,kBAACgD,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASjD,GAAc,uBAAGnB,MAAM,wBAA1D,WAEJ,kBAACoR,EAAA,EAAD,CAAMhU,UAAS,cACX,kBAACiU,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,kCAAkC8D,EAAawB,qBAAqB6B,iBAAiBC,UAAUU,aAGrH,kBAAChB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,WACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,wBAAIxI,MAAO,CAAE2M,WAAY,QAAU/I,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGnH,cAAgBjJ,EAAakJ,UAAUmH,iBAAiB,GAAGpH,gBAEpL,kBAACxF,GAAA,EAAD,CAAKvH,UAAU,cAAcwH,GAAG,IAAIkB,GAAG,MACnC,wBAAIxI,MAAO,CAAE2M,WAAY,QAAU/I,EAAaoJ,WAEpD,kBAAC3F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,+CAAH,IAAyB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAG/G,YAAcrJ,EAAakJ,UAAUmH,iBAAiB,GAAGhH,cAExK,kBAAC5F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mCAAH,IAAgB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAG9G,IAAMtJ,EAAakJ,UAAUmH,iBAAiB,GAAG/G,MAEvJ,kBAAC7F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,kDAAH,IAA6D,MAAjCW,EAAK2D,UAAUoH,eAAyB/K,EAAK2D,UAAUoH,eAAiB,KAExG,kBAAC7M,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,oCAAH,IAAiB5E,EAAaoQ,oBAAoB1X,OAAS,GAA0D,MAArDsH,EAAaoQ,oBAAoB,GAAG7G,cAAwBvJ,EAAaoQ,oBAAoB,GAAG7G,cAAgBvJ,EAAakJ,UAAUmH,iBAAiB,GAAG9G,gBAE/N,kBAAC9F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mEAAH,IAA0C5E,EAAaoQ,oBAAoB1X,OAAS,GAAkE,MAA7DsH,EAAaoQ,oBAAoB,GAAG5G,sBAAgCxJ,EAAaoQ,oBAAoB,GAAG5G,sBAAwBxJ,EAAakJ,UAAUmH,iBAAiB,GAAG7G,wBAExQ,kBAAC/F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mCAAH,IAAgB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAG3G,IAAMzJ,EAAakJ,UAAUmH,iBAAiB,GAAG5G,MAEvJ,kBAAChG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,2CAAH,IAAqB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAG1G,WAAa,KAAO1J,EAAaoQ,oBAAoB,GAAGzG,YAAc,KAAO3J,EAAaoQ,oBAAoB,GAAGxG,YAAc5J,EAAakJ,UAAUmH,iBAAiB,GAAG3G,WAAa,KAAO1J,EAAakJ,UAAUmH,iBAAiB,GAAG1G,cAEpV,kBAAClG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,sCAAH,IAAmB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGvG,OAAS7J,EAAakJ,UAAUmH,iBAAiB,GAAGxG,SAE7J,kBAACpG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,sCAAH,IAAmB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGtG,OAAS9J,EAAakJ,UAAUmH,iBAAiB,GAAGvG,SAEtF,OAAtE9J,EAAawB,qBAAqB6B,iBAAiBC,UAAUC,OAC1D,kBAACE,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,oDAAH,IAAiC5E,EAAaoQ,oBAAoB1X,OAAS,GAAgE,MAA3DsH,EAAaoQ,oBAAoB,GAAGG,oBAA8BvQ,EAAaoQ,oBAAoB,GAAGG,oBAAoBvM,UACjI,MAAlEhE,EAAakJ,UAAUmH,iBAAiB,GAAGE,oBAA8B,GAAKvQ,EAAakJ,UAAUmH,iBAAiB,GAAGE,oBAAoBvM,YAGrF,OAAtEhE,EAAawB,qBAAqB6B,iBAAiBC,UAAUC,OAC1DvD,EAAaoQ,oBAAoB1X,OAAS,GACiB,MAA3DsH,EAAaoQ,oBAAoB,GAAGG,qBACiC,YAArEvQ,EAAaoQ,oBAAoB,GAAGG,oBAAoBvM,WACxD,kBAACP,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BACI,wDADJ,IACsC5E,EAAaoQ,oBAAoB1X,OAAS,GAAmE,MAA9DsH,EAAaoQ,oBAAoB,GAAGI,uBAAiCxQ,EAAaoQ,oBAAoB,GAAGI,uBAAyBxQ,EAAakJ,UAAUmH,iBAAiB,GAAGG,yBAInM,OAAtExQ,EAAawB,qBAAqB6B,iBAAiBC,UAAUC,OAC1DvD,EAAaoQ,oBAAoB1X,OAAS,GACiB,MAA3DsH,EAAaoQ,oBAAoB,GAAGG,qBACiC,YAArEvQ,EAAaoQ,oBAAoB,GAAGG,oBAAoBvM,WACxD,kBAACP,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BACI,0DADJ,IACwC5E,EAAaoQ,oBAAoB1X,OAAS,GAAqE,MAAhEsH,EAAaoQ,oBAAoB,GAAGK,yBAAmCzQ,EAAaoQ,oBAAoB,GAAGK,yBAA2BzQ,EAAakJ,UAAUmH,iBAAiB,GAAGI,2BAIzM,OAAtEzQ,EAAawB,qBAAqB6B,iBAAiBC,UAAUC,OAC1D,kBAACE,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,mEAAH,IAA0C5E,EAAaoQ,oBAAoB1X,OAAS,GAAyE,MAApEsH,EAAaoQ,oBAAoB,GAAGM,6BAAuC1Q,EAAaoQ,oBAAoB,GAAGM,6BAA6B1M,UACnJ,MAA3EhE,EAAakJ,UAAUmH,iBAAiB,GAAGK,6BAAuC,GAAK1Q,EAAakJ,UAAUmH,iBAAiB,GAAGK,6BAA6B1M,YAG9K,kBAACP,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACA,MAAXnT,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAAsB2I,EAAkBnN,OAAS,GACjH,yBAAKwD,UAAU,oDACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,WAAWgH,QAAS,kBAAMgD,GAAS,KAC9D,uBAAGhK,UAAU,yBADjB,oCAQ0D,QAA7D,OAAZ8D,QAAY,IAAZA,GAAA,UAAAA,EAAcwB,4BAAd,mBAAoC6B,wBAApC,eAAsDC,UAAUC,QAA8F,mBAAhE,OAAZvD,QAAY,IAAZA,GAAA,UAAAA,EAAcwB,4BAAd,mBAAoC6B,wBAApC,eAAsDC,UAAUE,WAC/I,kBAACR,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,oBACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,0DAAH,IAAoC5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGO,oBAAsB3Q,EAAakJ,UAAUmH,iBAAiB,GAAGM,sBAE3L,kBAAClN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,yDAAH,IAAsC5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGQ,kBAAoB5Q,EAAakJ,UAAUmH,iBAAiB,GAAGO,oBAE3L,kBAACnN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,yDAAH,IAAmC5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGQ,kBAAoB5Q,EAAakJ,UAAUmH,iBAAiB,GAAGO,oBAExL,kBAACnN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,uDAAH,IAAoC5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGS,oBAAsB7Q,EAAakJ,UAAUmH,iBAAiB,GAAGQ,sBAE3L,kBAACpN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,qDAAH,IAA4B5E,EAAaoQ,oBAAoB1X,OAAS,EAA1C,UAA8CsH,EAAaoQ,oBAAoB,UAA/E,iBAA8C,EAAqCU,iBAAnF,aAA8C,EAAgDC,WAAWC,QAAQ,IAAK,KAAtH,UAA6HhR,EAAakJ,UAAUmH,iBAAiB,GAAGS,iBAAxK,aAA6H,EAAsDC,WAAWC,QAAQ,IAAK,OAE3O,kBAACvN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,6DAAH,IAAiC5E,EAAaoQ,oBAAoB1X,OAAS,EAA1C,UAA8CsH,EAAaoQ,oBAAoB,GAAGa,sBAAlF,aAA8C,EAAoDF,WAAWC,QAAQ,IAAK,KAA1H,UAAiIhR,EAAakJ,UAAUmH,iBAAiB,GAAGY,sBAA5K,aAAiI,EAA2DF,WAAWC,QAAQ,IAAK,QAIjQ,kBAAChO,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,kBACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,wBAAIxI,MAAO,CAAE2M,WAAY,QAAU/I,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGrG,gBAAkB/J,EAAakJ,UAAUmH,iBAAiB,GAAGtG,kBAEtL,kBAACtG,GAAA,EAAD,CAAKvH,UAAU,cAAcwH,GAAG,IAAIkB,GAAG,MACnC,wBAAIxI,MAAO,CAAE2M,WAAY,QAAU/I,EAAagK,QAEpD,kBAACvG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,wCAAH,IAAqB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGnG,SAAWjK,EAAakJ,UAAUmH,iBAAiB,GAAGpG,WAEjK,kBAACxG,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAAc0I,GAAG,MACnC,2BAAG,uCAAH,IAAoB5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGlG,QAAUlK,EAAakJ,UAAUmH,iBAAiB,GAAGnG,WAG5F,OAAtElK,EAAawB,qBAAqB6B,iBAAiBC,UAAUC,OAC1D,oCACI,kBAACP,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,6BACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,wBAAIxI,MAAO,CAAE2M,WAAY,QAAU/I,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGc,uBAAyBlR,EAAakJ,UAAUmH,iBAAiB,GAAGa,yBAE7L,kBAACzN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,8CAAH,IAA2B5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGe,gCAAkCnR,EAAakJ,UAAUmH,iBAAiB,GAAGc,kCAE9L,kBAAC1N,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mDAAH,IAA6B5E,EAAaoQ,oBAAoB1X,OAAS,EAAIsH,EAAaoQ,oBAAoB,GAAGgB,kCAAoCpR,EAAakJ,UAAUmH,iBAAiB,GAAGe,oCAElM,kBAAC3N,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MAEN5E,EAAaoQ,oBAAoB1X,OAAS,GACqC,MAA5EsH,EAAaoQ,oBAAoB,GAAGiB,qCACpC,uBAAG5F,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBACnB1L,EAAaoQ,oBAAoB,GAAGiB,qCACpCzF,OAAO,UAFX,qBAGE,MAM1B,kBAAC5I,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,gBACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,CAAKU,GAAG,KACJ,kBAACD,GAAA,EAAD,KACI,oCADJ,IACiB,2BAAIzD,EAAawB,qBAAqBC,OAEvD,kBAACgC,GAAA,EAAD,KACI,0CADJ,IACoB,2BAAIzD,EAAamK,qBAErC,kBAAC1G,GAAA,EAAD,KACI,uDADJ,IAC8B,2BAAIvK,GAAmB8G,EAAasR,2BAElE,kBAAC7N,GAAA,EAAD,KACI,uDADJ,IAC8B,2BAAIvK,GAAmB8G,EAAauR,mBAGtE,kBAACvO,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,KACI,uCADJ,IACoB,2BAAIzD,EAAa/L,SAEb,cAAvB+L,EAAa/L,QACV,kBAACwP,GAAA,EAAD,KACI,+CADJ,IACyB,2BAAIzD,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIlKlC,EAAaqK,+BAA+B3R,OAAS,GAClD,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,0BACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,2BAAI3E,EAAaqK,+BAA+B,GAAGC,UAIL,MAAzDtK,EAAawR,0CAAoDxR,EAAawR,yCAAyC9Y,OAAS,GAC7H,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,wCACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACV,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,qCAEJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAI3E,EAAawR,yCAAyC9K,QAAO,SAAA4H,GAAC,QAAMA,EAAEmD,6BAA6BC,SAAOhZ,OAAS,EAAI,IAAM,KAClI,yCAEJ,kBAAC+K,GAAA,EAAD,CAAKkB,GAAG,KACJ,oCAEJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,+CAEJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,2CAGP3E,EAAawR,yCAAyC7U,KAAI,SAAC4I,EAAMzI,GAAP,uBACvD,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,qCAAIY,EAAKkM,6BAA6BC,aAAtC,QAA+C,KAEnD,kBAACjO,GAAA,EAAD,CAAKkB,GAAMY,EAAKkM,6BAA6BC,MAAQ,IAAM,KACvD,qCAAInM,EAAKkM,6BAA6BE,cAAtC,QAAgD,KAEpD,kBAAClO,GAAA,EAAD,CAAKkB,GAAG,KACJ,qCAAIY,EAAKkM,6BAA6B1Q,YAAtC,QAA8C,KAElD,kBAAC0C,GAAA,EAAD,CAAKkB,GAAG,KACJ,2BAAIY,EAAKkM,6BAA6BzN,YAE1C,kBAACP,GAAA,EAAD,CAAKkB,GAAG,KACJ,2BAAIY,EAAKqM,mBAAT,IAAuG,QAAzE,UAAA5R,EAAawB,4BAAb,mBAAmC6B,wBAAnC,mBAAqDC,iBAArD,eAAgEC,OAAiB,SAAW,aAA1H,OAGR,mCAOiC,MAApDvD,EAAa6R,qCAA+C7R,EAAa6R,oCAAoCnZ,OAAS,GACnH,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,yBACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACH1D,EAAa6R,oCAAoClV,KAAI,SAAC4I,EAAMzI,GAAP,OAClD,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,mCADJ,IACgB,2BAAIY,EAAKkE,MAEzB,kBAAChG,GAAA,EAAD,CAAKkB,GAAG,KACJ,2CADJ,IACqB,2BAAIY,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,kBAAClG,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAKsE,SAE5B,kBAACpG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,OAAOwH,KAAK,SAASF,QAAS,kBAAM0M,GAAgBrK,EAAKsK,kBAAiB,uBAAG3T,UAAU,6BAG7G,mCAOsB,MAAzC8D,EAAa8R,0BAAoC9R,EAAa8R,yBAAyBpZ,OAAS,GAC7F,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,oBACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACH1D,EAAa8R,yBAAyBnV,KAAI,SAAC4I,EAAMzI,GAAP,aACvC,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,mCADJ,IACgB,2BAAIY,EAAKkE,MAEzB,kBAAChG,GAAA,EAAD,CAAKkB,GAAG,KACJ,2CADJ,IACqB,2BAAIY,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,kBAAClG,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAKsE,SAE5B,kBAACpG,GAAA,EAAD,CAAKkB,GAAG,KACoB,MAAvBY,EAAKsK,gBACF,kBAAC5M,GAAA,EAAD,CAAQrH,MAAM,OAAOwH,KAAK,SAASF,QAAS,kBAAM0M,GAAgBrK,EAAKsK,kBACnE,uBAAG3T,UAAU,4BAGhB,OAAJqJ,QAAI,IAAJA,GAAA,UAAAA,EAAMwM,yCAAN,eAAyCrZ,QAAS,GAC/C,kBAACuK,GAAA,EAAD,CACIrH,MAAM,UACNwH,KAAK,SAASF,QAAS,WACnBwL,GAAqB,OAACnJ,QAAD,IAACA,OAAD,EAACA,EAAMwM,mCAC5BvD,IAAkB,KAGtB,uBAAGtS,UAAU,oBAPjB,gBAYZ,mCAOiB,MAApC8D,EAAaoQ,qBAA+BpQ,EAAaoQ,oBAAoB1X,OAAS,GACX,MAAxEsH,EAAaoQ,oBAAoB,GAAG4B,kCAA4ChS,EAAaoQ,oBAAoB,GAAG4B,iCAAiCtZ,OAAS,GAC9J,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,yBACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACH1D,EAAaoQ,oBAAoB,GAAG4B,iCAAiCrV,KAAI,SAAC4I,EAAMzI,GAAP,OACtE,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAK0M,cAAcjO,YAE1C,kBAACP,GAAA,EAAD,CAAKkB,GAAG,KACJ,wDADJ,IACqC,2BAAIY,EAAKqM,sBAGlD,mCAOpB,kBAAC5O,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,cACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,UAAWiX,MAAO,YAE/BxY,KAAM6L,EAAa4M,sBACnBC,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,uBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQE,QAAS,aAGjGC,aAAc9T,GACduK,QAASpI,MAIL,MAAX/J,GAAyC,gBAAtBA,EAAQ0R,YAAgCnD,MAAiB,OAACA,QAAD,IAACA,OAAD,EAACA,EAAcoN,uBACxF,kBAACpK,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,mCACA,yBAAKA,UAAU,oBAGnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,QACnB,kCAAI8D,QAAJ,IAAIA,OAAJ,EAAIA,EAAcoN,wBAK7BlW,GAAoD,2BAApCA,EAAawN,qBAA8C1E,EAAakF,sBAAsBxM,OAAS,GACpH,kBAACsK,GAAA,EAAD,CAAK9G,UAAU,YACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,gBACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,aAAciX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQM,kBAChG,CACI5X,MAAO,oBAAkBiX,MAAO,SAChCU,OAAQ,SAACL,GAAD,OAAaA,EAAQO,cAAgBP,EAAQO,aAAa7U,OAAS,EAAIQ,GAAmB8T,EAAQO,aAAaP,EAAQO,aAAa7U,OAAS,GAAG2S,UAAY,KAExK,CACI3V,MAAO,UAAWiX,MAAO,SACzBU,OAAQ,SAACL,GAAD,OAAaA,EAAQO,cAAgBP,EAAQO,aAAa7U,OAAS,EAAIsU,EAAQO,aAAaP,EAAQO,aAAa7U,OAAS,GAAG8U,QAAU,MAGvJrZ,KAAM6L,EAAakF,sBACnB2H,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,aACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAlkB5B,SAACA,GACtB,IAAMS,EAAaT,EAAQO,aAAa7G,QAAO,SAAAgH,GAAC,OAAqB,MAAjBA,EAAEC,eAChDC,EAAU,sCAAkCH,EAAW,GAAGE,aAC1DE,EAAe/G,SAASgH,cAAc,KACtCC,EAAW/N,EAAamK,mBAAqB,OACnD0D,EAAapC,KAAOmC,EACpBC,EAAaG,SAAWD,EACxBF,EAAaI,QA2jBwDC,CAAiBlB,MAGtDG,aAAc9T,GACduK,QAASpI,MAIpB8K,GAAuB5N,OAAS,GAC7B,kBAACsK,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,qCACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,kBAAgBiX,MAAO,cAAeU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQlL,eAC/F,CAAEpM,MAAO,aAAWiX,MAAO,uBAC3B,CAAEjX,MAAO,WAAYiX,MAAO,SAAUU,OAAQ,SAACL,GAAD,OAAaA,EAAQ/K,OAAS,MAAQ,WACpF,CAAEvM,MAAO,mBAAciX,MAAO,eAElCxY,KAAMmS,GACNuG,WAAW,EACXM,aAAc9T,GACduK,QAASpI,MAKpBgK,GAA8B,MAAX/T,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAAsC,MAAhB8C,GAA+C,cAAvBA,EAAa/L,QAC9I,yBAAKiI,UAAU,QACX,kBAAC6D,GAAD,CAAaC,aAAcA,EAAcC,aAAcA,MAIlD,MAAXxO,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aACd,YAAvBnD,EAAa/L,QAC2B,MAAxC+L,EAAac,yBACgC,sBAA7Cd,EAAac,wBAAwBC,MACrC7J,GAAoD,2BAApCA,EAAawN,qBAC7B,yBACIxI,UAAU,eAEV,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,YACNsH,QAAS,YACW,OAAZlD,QAAY,IAAZA,OAAA,EAAAA,EAAckF,sBAAsBwB,QAAO,SAAA4H,GAAC,MAAgB,YAAZA,EAAEra,UAAsByE,QAAS,EACjFjD,EAAY,QAAS,mFAA2E,UAAW,MApkB9H,WACrB,IAAIkM,EAAc,CACdE,gBAAiB7B,EAAa6B,iBAGlCmE,GAAuB,GACvB/Q,EAAS,+CAAgD0M,GACpD/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW9C,OAAOC,SAASiB,aAClGgB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SA+jBrBkR,IAGRlJ,UAAU,aACVkH,KAAK,UAXT,kBAmBhB,kBAAC6E,GAAA,EAAD,CAAO6H,UAAQ,EAAC5H,OAAQ0G,GAAezG,OAAQ,kBAAM0G,IAAkB,IAAQjR,OAAO,WAClF,kBAACyK,GAAA,EAAD,CAAWnM,UAAU,SACjB,yDACA,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,yBAAKoF,GAAG,OACJ,kBAACoJ,GAAA,EAAD,CAAc9V,MAAO,CAAEwB,OAAQ,MAC3B,kBAAC2R,GAAD,CAAWC,OAAQV,GAAWW,KAAM,KACpC,kBAAC0C,GAAA,EAAD,CACIC,IAAI,qDACJC,YAAY,yEACZC,QAAS,KAEb,kBAACC,GAAA,EAAD,CAAQC,SAAUxD,GAAgByD,WAAW,EAAO7c,KAAMsZ,UAM9E,kBAACxG,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAY8W,SAAO,EAACxP,QAAS,kBAAM2L,IAAkB,KAAnE,cCnuBb,SAASvJ,GAAT,GAAqE,IAAxCC,EAAuC,EAAvCA,KAAMtF,EAAiC,EAAjCA,aAAcuF,EAAmB,EAAnBA,gBAC5D,EAA8C7O,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAE7B,EAAyCjF,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAAmCxT,IAAM8E,SAAS,GAAlD,mBAAO2O,EAAP,KAAkBC,EAAlB,KACA,EAA2B1T,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAGA,EAAkD3T,IAAM8E,SAAS,IAAjE,mBAAO8O,EAAP,KAA0BC,EAA1B,KAEA,EAAsD7T,IAAM8E,UAAS,GAArE,mBAAOgP,EAAP,KAA4BC,EAA5B,KAEA,EAA0B/T,IAAM8E,UAAS,GAAzC,mBAAOkP,EAAP,KAAcC,EAAd,KAEMC,EAAc,kBAAMD,GAAUD,IASpC,EAAoDlP,mBAAS,MAA7D,mBAAOqP,EAAP,KAA2BC,EAA3B,KAgDA,EAA6DpU,IAAM8E,SAAS,IAA5E,mBAAOuP,EAAP,KAA+BC,EAA/B,KAQArO,qBAAU,WArDN/C,EAAQ,gCAAkCoQ,EAAKiB,yBAC1C5R,MAAK,SAAAb,GAAM,OAAIsS,EAAsBtS,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2BjB,EAAKiB,2BAAyB,GAAGI,eAAelO,WAC3J7D,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAEJ,GAAtBuO,EAAKsB,eAAsBT,EAAqB,IAChD3Q,EAAY,QAAS,8IAAgI,UAAW,MAChKwK,KAGyC,MAAzC6G,SAASC,cAAc,iBACvBD,SAASC,cAAc,eAAeC,UAAY,GAEtDvB,EAAiBF,GACjB0B,YAAW,WAC6B,MAAhC1B,EAAKzE,yBACL6E,EAAcJ,EAAKzE,wBAAwBoG,MAAQ,KACxD,KAeH/R,EAAQ,0CAA4CoQ,EAAKiB,yBAAyB5R,MAAK,SAAAb,GACnF,GAAmB,MAAfA,EAAOI,KAAc,CACrB,IAAIgT,EAAS,GACbpT,EAAOI,KAAKiT,oBAAoBC,MAAK,SAAUjU,EAAGkU,GAAK,OAAOlU,EAAE8T,MAAQI,EAAEJ,SAASvK,KAAI,SAAA4K,GACnFJ,EAAOK,KAAKD,EAAExG,SAElB6E,EAAUuB,OAGbtS,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAK9B7B,EAAQ,kDAAoDoQ,EAAK1D,iBAC5DjN,MAAK,SAAAb,GAAM,OAAIwS,EAA2BxS,EAAOI,SACjDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA3D9B7B,EAAQ,iDAAD,OAAkDoQ,EAAKkC,eACzD7S,MAAK,SAAAb,GAAM,OAAI+R,EAAqB/R,EAAOI,SAC3CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAgE/B,IAEH,IAAM0Q,EAAezV,IAAM0V,SACrBC,EAAcC,2BAAgB,CAChCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IAkBhB,OACI,oCACI,kBAACC,GAAA,EAAD,CAAOC,OAAQjC,EAAOkC,OAAQhC,EAAaiC,KAAM,MAC7C,kBAAC,KAAD,CAAaD,OAAQhC,GAArB,+DACA,kBAACkC,GAAA,EAAD,KACI,kBAAC,KAAD,KACI,yBAAKnM,UAAU,oBACX,2BAAOA,UAAU,SACb,+BACI,4BACI,wBAAIoM,MAAM,MAAMpM,UAAU,IAA1B,yBACA,wBAAIoM,MAAM,OAAV,oBACA,wBAAIA,MAAM,OAAV,gBAGR,+BACKzC,EAAkBnN,OAAS,GAAKmN,EAAkBlJ,KAAI,SAAA4L,GAAa,aAChE,4BACI,4BAAKrP,GAAmBqP,EAAcC,oBACtC,4BAAKD,EAAcrG,YACnB,sCAAKqG,EAAcE,YAAnB,QAA2B,aAQvD,kBAACC,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASiD,GAAnC,QAGPJ,GACG,yBAAK7J,UAAU,iBACX,yBAAKA,UAAU,OACX,yBAAKyM,IAAKC,EAAQ,UAI5B7C,GAAuC,MAAhB/F,GACrB,6BACI,kBAAC6I,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW4J,EAAW3J,MAAOA,KAE9C,yBAAKG,UAAU,OACX,yBAAKA,UAAU,kBACM,MAAhB+D,GACG,kBAACgD,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASjD,GAAc,uBAAGnB,MAAM,wBAA1D,YAGR,yBAAK5C,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAa,uBAAG9I,MAAM,iBAAtD,eAGR,yBAAK5C,UAAS,kBAAqBmI,IAAKqD,GACpC,yBAAKxL,UAAU,aACX,yBAAKA,UAAU,mBACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,sBAAsB8D,EAAawB,qBAAqB6B,iBAAiBC,UAAUU,aAGzG,yBAAK9H,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAI4M,GAAG,eAAe5M,UAAU,mBAAhC,WACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,4BACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAG1J,cAAgBjJ,EAAakJ,UAAU0J,iBAAiB,GAAG3J,gBAEpL,yBAAK/M,UAAU,yCACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAaoJ,WAEpD,yBAAKlN,UAAU,6BACX,2BAAG,+CAAH,IAAyB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGtJ,YAAcrJ,EAAakJ,UAAU0J,iBAAiB,GAAGvJ,cAExK,yBAAKnN,UAAU,6BACX,2BAAG,mCAAH,IAAgB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGrJ,IAAMtJ,EAAakJ,UAAU0J,iBAAiB,GAAGtJ,MAEvJ,yBAAKpN,UAAU,6BACX,2BAAG,kCAAH,IAAe8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGE,mBAAqB7S,EAAakJ,UAAU0J,iBAAiB,GAAGC,qBAErK,yBAAK3W,UAAU,4BACX,2BAAG,mCAAH,IAAgB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGlJ,IAAMzJ,EAAakJ,UAAU0J,iBAAiB,GAAGnJ,MAEvJ,yBAAKvN,UAAU,4BACX,2BAAG,2CAAH,IAAqB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGjJ,WAAa,KAAO1J,EAAa2S,oBAAoB,GAAGhJ,YAAc,KAAO3J,EAAa2S,oBAAoB,GAAG/I,YAAc5J,EAAakJ,UAAU0J,iBAAiB,GAAGlJ,WAAa,KAAO1J,EAAakJ,UAAU0J,iBAAiB,GAAGjJ,cAEpV,yBAAKzN,UAAU,4BACX,2BAAG,sCAAH,IAAmB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAG9I,OAAS7J,EAAakJ,UAAU0J,iBAAiB,GAAG/I,SAE7J,yBAAK3N,UAAU,4BACX,2BAAG,sCAAH,IAAmB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAG7I,OAAS9J,EAAakJ,UAAU0J,iBAAiB,GAAG9I,SAE7J,yBAAK5N,UAAU,4BACX,2BAAG,4DAAH,IAAgC8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGG,sBAAwB9S,EAAakJ,UAAU0J,iBAAiB,GAAGE,wBAEzL,yBAAK5W,UAAU,4BACX,2BAAG,+CAAH,IAA4B8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGI,YAAc/S,EAAakJ,UAAU0J,iBAAiB,GAAGG,cAE3K,yBAAK7W,UAAU,8BACC,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAgC0C,EAAkBnN,OAAS,GACnF,yBAAKwD,UAAU,oDACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,WAAWgH,QAAS,kBAAMgD,GAAS,KAC9D,uBAAGhK,UAAU,yBADjB,oCAQhB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,kBACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,4BACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAG5I,gBAAkB/J,EAAakJ,UAAU0J,iBAAiB,GAAG7I,kBAEtL,yBAAK7N,UAAU,wCACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAU/I,EAAagK,QAEpD,yBAAK9N,UAAU,4BACX,2BAAG,wCAAH,IAAqB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAG1I,SAAWjK,EAAakJ,UAAU0J,iBAAiB,GAAG3I,WAEjK,yBAAK/N,UAAU,wCACX,2BAAG,uCAAH,IAAoB8D,EAAa2S,oBAAoBja,OAAS,EAAIsH,EAAa2S,oBAAoB,GAAGzI,QAAUlK,EAAakJ,UAAU0J,iBAAiB,GAAG1I,WAG9H,MAApClK,EAAa2S,qBAA+B3S,EAAa2S,oBAAoBja,OAAS,GACV,MAAzEsH,EAAa2S,oBAAoB,GAAGK,mCAA6ChT,EAAa2S,oBAAoB,GAAGK,kCAAkCta,OAAS,GAChK,oCACI,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,8BACX,wBAAIA,UAAU,mBAAd,yBACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,YACX,yBAAKA,UAAU,8BACV8D,EAAa2S,oBAAoB,GAAGK,kCAAkCrW,KAAI,SAAC4I,EAAMzI,GAAP,OACvE,yBAAKA,IAAKA,GAAMyI,EAAK0M,cAAcjO,UAAU,oCAM5B,MAApChE,EAAa2S,qBAA+B3S,EAAa2S,oBAAoBja,OAAS,GACT,MAA1EsH,EAAa2S,oBAAoB,GAAGM,oCAA8CjT,EAAa2S,oBAAoB,GAAGM,mCAAmCva,OAAS,GAClK,oCACI,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,8BACX,wBAAIA,UAAU,mBAAd,6BACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,YACX,yBAAKA,UAAU,8BACV8D,EAAa2S,oBAAoB,GAAGM,mCAAmCtW,KAAI,SAAC4I,EAAMzI,GAAP,OACxE,yBAAKA,IAAKA,GAAMyI,EAAK4D,uBAAuBF,cAAc,oCAM9E,yBAAK/M,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,gBACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,kBACX,oCADJ,IACiB,2BAAI8D,EAAawB,qBAAqBC,OAEvD,yBAAKvF,UAAU,kBACX,0CADJ,IACoB,2BAAI8D,EAAamK,qBAErC,yBAAKjO,UAAU,kBACX,uCADJ,IACoB,2BAAI8D,EAAa/L,UAGjB,cAAvB+L,EAAa/L,QAAoE,MAA1C+L,EAAaoK,2BACjD,yBAAKlO,UAAU,OACX,yBAAKA,UAAU,oBACX,+CADJ,IACyB,2BAAI8D,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIlKlC,EAAaqK,+BAA+B3R,OAAS,GAClD,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,0BACA,yBAAKA,UAAU,oBAEnB,yBAAKA,UAAU,oBACX,2BAAI8D,EAAaqK,+BAA+B,GAAGC,UAIpB,MAA1CtK,EAAakT,2BAAqClT,EAAakT,0BAA0Bxa,OAAS,GAC/F,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,8BACA,yBAAKA,UAAU,oBAEnB,yBAAKA,UAAU,oBACV8D,EAAakT,0BAA0BvW,KAAI,SAAC4I,EAAMzI,GAAP,OACxC,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,oBACX,mDADJ,IAC0B,2BAAIqJ,EAAK4N,gBAEnC,yBAAKjX,UAAU,kBACX,mCADJ,IACgB,2BAAIqJ,EAAKkE,MAEzB,yBAAKvN,UAAU,kBACX,2CADJ,IACqB,2BAAIqJ,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,yBAAKzN,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKsE,SAE5B,yBAAK3N,UAAU,kBACX,0CADJ,IACuB,2BAAIqJ,EAAK6N,cAGpC,mCAMpB,yBAAKlX,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,cACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,UAAWiX,MAAO,YAE/BxY,KAAM6L,EAAa4M,sBACnBC,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,uBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQE,QAAS,aAGjGC,aAAc9T,GACduK,QAASpI,MAIL,MAAX/J,GAAyC,gBAAtBA,EAAQ0R,YAAgCnD,MAAiB,OAACA,QAAD,IAACA,OAAD,EAACA,EAAcoN,uBACxF,yBAAKlR,UAAU,YACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,mCACA,yBAAKA,UAAU,oBAGnB,yBAAKA,UAAU,yBACX,kCAAI8D,QAAJ,IAAIA,OAAJ,EAAIA,EAAcoN,wBAM7BlW,GAAoD,2BAApCA,EAAawN,qBAA8C1E,EAAakF,sBAAsBxM,OAAS,GACpH,yBAAKwD,UAAU,YACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,gBACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,aAAciX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQM,kBAChG,CACI5X,MAAO,oBAAkBiX,MAAO,SAChCU,OAAQ,SAACL,GAAD,OAAaA,EAAQO,cAAgBP,EAAQO,aAAa7U,OAAS,EAAIQ,GAAmB8T,EAAQO,aAAaP,EAAQO,aAAa7U,OAAS,GAAG2S,UAAY,KAExK,CACI3V,MAAO,UAAWiX,MAAO,SACzBU,OAAQ,SAACL,GAAD,OAAaA,EAAQO,cAAgBP,EAAQO,aAAa7U,OAAS,EAAIsU,EAAQO,aAAaP,EAAQO,aAAa7U,OAAS,GAAG8U,QAAU,MAGvJrZ,KAAM6L,EAAakF,sBACnB2H,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,aACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA3W5B,SAACA,GACtB,IAAMS,EAAaT,EAAQO,aAAa7G,QAAO,SAAAgH,GAAC,OAAqB,MAAjBA,EAAEC,eAChDC,EAAU,sCAAkCH,EAAW,GAAGE,aAC1DE,EAAe/G,SAASgH,cAAc,KACtCC,EAAW/N,EAAamK,mBAAqB,OAEnD0D,EAAapC,KAAOmC,EACpBC,EAAaG,SAAWD,EACxBF,EAAaI,QAmWwDC,CAAiBlB,MAGtDG,aAAc9T,GACduK,QAASpI,MAIpB8K,EAAuB5N,OAAS,GAC7B,yBAAKwD,UAAU,YACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,qCACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,qBAAmBiX,MAAO,eACnC,CAAEjX,MAAO,kBAAgBiX,MAAO,cAAeU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQlL,eAC/F,CAAEpM,MAAO,aAAWiX,MAAO,uBAC3B,CAAEjX,MAAO,WAAYiX,MAAO,SAAUU,OAAQ,SAACL,GAAD,OAAaA,EAAQ/K,OAAS,MAAQ,WACpF,CAAEvM,MAAO,mBAAciX,MAAO,cAC9B,CAAEjX,MAAO,iBAAkBiX,MAAO,aAAcU,OAAQ,SAACL,GAAD,OAAaA,EAAQmB,WAAajV,GAAmB8T,EAAQmB,YAAc,MAEvIha,KAAMmS,EACNuG,WAAW,EACXM,aAAc9T,GACduK,QAASpI,MAIpBtE,GAAoD,SAApCA,EAAawN,qBAAkC1E,EAAakF,sBAAsBxM,OAAS,GACxGsH,EAAakF,sBAAsB,GAAGkJ,iCAAiC1V,OAAS,GAChF,yBAAKwD,UAAU,oBACX,yBAAKA,UAAU,yBACX,wBAAIA,UAAU,mBAAd,4BACA,yBAAKA,UAAU,oBAElB8D,EAAakF,sBAAsB,GAAGkJ,iCAAiCzR,KAAI,SAAC4K,EAAGzK,GAC5E,OAAO,yBAAKZ,UAAU,mBAAmBY,IAAKA,GAC1C,uBAAG2O,KAAMvU,EAAawU,eAAiBnE,EAAE2F,QAAStB,OAAO,UAAS,uBAAG1P,UAAU,gBAA/E,2BAA0HvD,GAAY4O,EAAE8G,sBAKvJ7I,GAA8B,MAAX/T,GAAyC,MAAtBA,EAAQyL,YAAsC,MAAhB8C,GAA+C,cAAvBA,EAAa/L,QACtG,yBAAKiI,UAAU,gBACX,kBAAC6D,GAAD,CAAaC,aAAcA,EAAcC,aAAcA,MAIlD,MAAXxO,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aACd,YAAvBnD,EAAa/L,QAC2B,MAAxC+L,EAAac,yBACgC,sBAA7Cd,EAAac,wBAAwBC,MACrC7J,GAAoD,2BAApCA,EAAawN,qBAC7B,yBACIxI,UAAU,eAEV,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,YACNsH,QAAS,YACW,OAAZlD,QAAY,IAAZA,OAAA,EAAAA,EAAckF,sBAAsBwB,QAAO,SAAA4H,GAAC,MAAgB,YAAZA,EAAEra,UAAsByE,QAAS,EACjFjD,EAAY,QAAS,mFAA2E,UAAW,MA7X9H,WACrB,IAAIkM,EAAc,CACdE,gBAAiB7B,EAAa6B,iBAGlCmE,GAAuB,GACvB/Q,EAAS,+CAAgD0M,GACpD/M,MAAK,SAAAb,GACFiS,GAAuB,GACvBvQ,EAAY,QAAS,wCAAmC,UAAW9C,OAAOC,SAASiB,aAEtFgB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAoXUoO,IAGRlJ,UAAU,aACVkH,KAAK,UAXT,oBC/crB,SAASiQ,GAAT,GAA+D,IAAhCC,EAA+B,EAA/BA,cAAerT,EAAgB,EAAhBA,aAC3D,EAAgCtJ,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAAqCD,mBAAS,IAA9C,mBAAOwc,EAAP,KAAmBC,EAAnB,KAEA,EAAgCzc,mBAAS,MAAzC,mBAAO0c,EAAP,KAAiBC,EAAjB,KAGA,EAAmD3c,mBAAS,MAA5D,mBAAO4c,EAAP,KAA0BC,EAA1B,KAGA,EAAmC7c,mBAAS,CAAE8c,WAAW,EAAOC,WAAW,IAA3E,mBAAOD,EAAP,KAAkBE,EAAlB,KAGA,EAAiEhd,mBAAS,IAA1E,mBAAOid,EAAP,KAAiCC,EAAjC,KAGA,EAAoDld,mBAAS,IAA7D,mBAAOmd,EAAP,KAA2BC,EAA3B,KAGA,EAA4Cpd,mBAAS,MAArD,mBAAO8N,EAAP,KAAuBuP,EAAvB,KAEMzb,EAAc,SAACC,GACnB,OAAOC,KAAOD,GAAME,OAAO,eAI7B,EAAsC/B,mBAAS,CAC7C,CACErB,MAAO,cACPiX,MAAO,kBACPmH,WAAW,EACXO,SAAU,QAAShH,OAAQ,SAACL,GAAD,iBACzBA,GACE,6BACE,uBAAG9Q,UAAU,gBAAgBE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,SAACiB,GAAD,OAAOoQ,GAA6BvH,MACpD,iCAAnD,UAAAsG,EAAc,UAAd,mBAAkBxS,+BAAlB,eAA2CC,OAA8G,UAAhE,OAAPiM,QAAO,IAAPA,GAAA,UAAAA,EAASwH,gDAAgD,UAAzD,eAA6DvgB,SAC9I,uBAAGiI,UAAU,sBAAsBE,MAAO,CAAEkY,OAAQ,UAAWG,WAAY,QAAUvR,QAAS,kBAAMwR,GAAyB,OAAC1H,QAAD,IAACA,OAAD,EAACA,EAASnL,uBAKjJ,CAAEnM,MAAO,yBAAuBiX,MAAO,qBAAsB0H,SAAU,QAASP,WAAW,GAC3F,CAAEpe,MAAO,YAAaiX,MAAO,4DAA6D0H,SAAU,QAASP,WAAW,GACxH,CAAEpe,MAAO,QAASiX,MAAO,+BAAgC0H,SAAU,QAASP,WAAW,GACvF,CAAEpe,MAAO,4BAAuBiX,MAAO,0BAA2BU,OAAQ,SAACL,GAAD,OAAarU,EAAYqU,EAAQsE,0BAA0B+C,SAAU,QAASP,WAAW,EAAMa,sBAAuB,SAACjO,EAAQsG,GAAT,OAAqBnU,KAAOmU,EAAQsE,yBAAyBxY,OAAO,cAAc8b,SAASlO,KAC3R,CAAEhR,MAAO,uBAAeiX,MAAO,iBAAkBU,OAAQ,SAAAL,GAAO,OAAIA,EAAQuE,eAAiB5Y,EAAYqU,EAAQuE,gBAAkB,IAAI8C,SAAU,QAASP,WAAW,EAAMa,sBAAuB,SAACjO,EAAQsG,GAAT,QAAqBA,EAAQuE,gBAAiB1Y,KAAOmU,EAAQuE,gBAAgBzY,OAAO,cAAc8b,SAASlO,KAC7S,CAAEhR,MAAO,WAAYiX,MAAO,qBAAsB0H,SAAU,QAASP,WAAW,GAChF,CAAEpe,MAAO,cAAeiX,MAAO,4BAA6B0H,SAAU,QAASP,WAAW,KArB5F,mBAAOe,EAAP,KAAoBC,EAApB,KAyBA,EAAsE/d,mBAAS,IAA/E,mBAAOge,EAAP,KAAoCC,EAApC,KAGA,EAA2Cje,mBAAS,MAApD,mBAAOoK,GAAP,KAAsBC,GAAtB,KAEA,GAAsDrK,oBAAS,GAA/D,qBAAOke,GAAP,MAA4BC,GAA5B,MAEMC,GAAuB,WAC3BD,IAAwBD,IACxBb,EAAkB,OAIpB,GAAoDrd,oBAAS,GAA7D,qBAAOqe,GAAP,MAA2BC,GAA3B,MAEMC,GAAsB,kBAAMD,IAAuBD,KAEnD/Q,GAAMsD,iBAAO,MAEnB,GAA2D5Q,mBAAS,IAApE,qBAAOkK,GAAP,MAA8BC,GAA9B,MAkCMqU,GAA8B,WAElC,GAAqB,MAAjBpU,IACF6S,EAAyBtb,OAAS,GAClCsb,EAAyBtN,QAAO,SAAA4H,GAAC,OAAoC,MAAhCA,EAAEpF,UAAUlH,oBAA0BtJ,OAAS,EACpF4c,SAHF,CAOA,IAAI3T,EAAc,CAChB6T,sBAAuB,EACvB3Q,eAAgB7L,GAAe,IAAIrF,MACnCuJ,WAAYzL,EAAQyL,WACpBuY,+BAAgCzB,GAGlChd,GAAW,GACX/B,EAAS,6CAA8C0M,GACpD/M,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAClGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAmBxBud,GAA+B,SAACvH,GACpChW,GAAW,GACX7B,EAAQ,gBAAkB6X,EAAQnL,iBAC/BjN,MAAK,SAAAb,GAAM,OAAI6f,EAAsB7f,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA4CxB0d,GAA4B,SAAC7S,GACjC7K,GAAW,GACX/B,EAAS,2DAA6D4M,GACnEjN,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAChGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAkBxB0e,GAA8B,SAACnU,GACnC,GAAIwT,EAA4Brc,OAAS,GACvCjD,EAAY,QAAS,0DAAkD,UAAW,WAGpF,GAA0C,GAAtCsf,EAA4Brc,OAKhC,GAAqB,MAAjByI,IACW,GAAbI,GACAwT,EAA4BY,MAAK,SAAArH,GAAC,OAAuD,GAAnDA,EAAE9M,qBAAqBE,4BAC7D4T,SAHF,CAOA,IAAIM,EAAqB,GAEzBb,EAA4Bpd,SAAQ,YAA0B,IAAD,EAAtBkK,EAAsB,EAAtBA,gBACrC+T,EAAmBpO,KAAK,CACtB5F,6BAA8B,EAC9BC,gBAAiBA,EACjBC,YAAa9I,GAAe,IAAIrF,MAChCoO,kBAAmBtQ,EAAQyL,WAC3B8E,iBAAgB,iBAAEb,SAAF,IAAEA,QAAF,EAAEA,GAAea,wBAAjB,QAAqC,KACrDC,OAAQV,OAIZvK,GAAW,GACX/B,EAAS,yDAA0D2gB,GAAoBhhB,MAAK,SAAAb,GAAW,IAAD,IACpG,IAAI,UAAAA,EAAOI,YAAP,eAAauE,QAAS,IAAK,UAAA3E,EAAOI,YAAP,eAAauS,QAAO,SAAA4H,GAAC,OAAsC,GAAlCA,EAAE1M,gCAAmClJ,QAAS,EAAG,CAAC,IAAD,EACnGmd,EAAiB,UAAG9hB,EAAOI,YAAV,aAAG,EAAauS,QAAO,SAAA4H,GAAC,OAAsC,GAAlCA,EAAE1M,gCAAmCjF,KAAI,qBAAGkF,mBACzFiU,EAAqBf,EAA4BrO,QAAO,SAAA4H,GAAC,OAAIuH,EAAkBjB,SAAStG,EAAEzM,oBAAkBlF,KAAI,qBAAGwN,sBAEvH1U,EAAY,QAAD,kDAA8CqgB,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAoBC,KAAK,MAAvE,oDAAgI,WAAW,kBAAM9V,YAG5JxK,EAAY,UAAW,6BAAwB,WAAW,kBAAMwK,UAEjEpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WApC1BvB,EAAY,QAAS,gCAAiC,UAAW,OA2FrE,OApDAyC,qBAAU,WAAO,IAAD,cACVmM,IACFA,GAAI0D,QAAQiO,iBAGd,IAAMC,EAAY,CAChBlV,KAAMuS,EAAc,GAAGxS,wBAAwBC,KAC/CwC,MAAK,UAAE+P,EAAc,UAAhB,iBAAE,EAAkB9R,4BAApB,iBAAE,EAAwC6B,wBAA1C,iBAAE,EAA0DC,iBAA5D,aAAE,EAAqEC,MAC5EC,SAAQ,UAAE8P,EAAc,UAAhB,iBAAE,EAAkB9R,4BAApB,iBAAE,EAAwC6B,wBAA1C,aAAE,EAA0DG,UAGtEkQ,EAAY,gBAAKuC,IACjBzC,EAAeF,GAEO,8BAAlB2C,EAAUlV,MACO,yBAAlBkV,EAAUlV,MAAmD,OAAnBkV,EAAU1S,OAAwC,kBAAtB0S,EAAUzS,SAEjFuQ,EAAc,6BAAKF,GAAN,IAAiBA,WAAW,KACd,sBAAlBoC,EAAUlV,MACnBgT,EAAc,6BAAKF,GAAN,IAAiBA,WAAW,KACzCiB,EAAe,GAAD,oBACTD,GADS,CACI,CACdf,WAAW,EACXpe,MAAO,wBACPiX,MAAO,wBACP0H,SAAU,QACVhH,OAAQ,SAACL,GAAD,OAAaA,EAAQ9H,sBAAsBxM,OAAS,EAAIsU,EAAQ9H,sBAAsBxM,OAAS,GACvGic,sBAAuB,SAACjO,EAAQsG,GAAT,OAAqBA,EAAQ9H,sBAAsBxM,OAAOqY,WAAW6D,SAASlO,SAGhF,gCAAlBuP,EAAUlV,OACjBgT,EAAc,6BACTF,GADQ,IAEXA,WAAW,EACXqC,eAAgB,SAAAlJ,GAAO,cAAK,CAAE5Q,MAAO,CAAE+Z,YAAmB,OAAPnJ,QAAO,IAAPA,GAAA,UAAAA,EAASwH,gDAAgD,UAAzD,eAA6DvgB,QAAS,SAAW,WAAamiB,YAAiB,OAAPpJ,QAAO,IAAPA,GAAA,UAAAA,EAASwH,gDAAgD,UAAzD,eAA6DvgB,aAE1N6gB,EAAe,GAAD,oBACTD,GADS,CAEZ,CACEf,WAAW,EACXpe,MAAO,uBACPiX,MAAO,SACPU,OAAQ,SAACL,GAAD,mCAAaA,EAAQwH,gDAAgD,UAArE,aAAa,EAA4DvgB,cAAzE,QAAmF,MAAMogB,SAAU,QAC3GM,sBAAuB,SAACjO,EAAQsG,GAAa,IAAD,IAE1C,OADY,oBAAGA,EAAQwH,gDAAgD,UAA3D,aAAG,EAA4DvgB,cAA/D,QAAyE,IACvEoiB,cAAczB,SAASlO,EAAO2P,qBAzOpDlhB,EAAQ,iBACLP,MAAK,SAAAb,GAAM,OAAImN,GAA0BnN,EAAOI,SAChDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QA2O3B,IAGD,oCACGoe,IACC,kBAACnN,GAAA,EAAD,CAAOC,OAAQkN,GAAoBjN,OAAQmN,IACzC,kBAACgB,GAAA,EAAD,CAAanO,OAAQmN,IAArB,iBACA,kBAACjN,GAAA,EAAD,KACE,uBAAGjM,MAAO,CAAEma,OAAQ,WAApB,6EACA,kBAACC,GAAA,EAAD,KACE,kBAAC,KAAD,CACE5S,QAAS3C,GACT4C,KAAK,gBACLC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAO/B,kBACjCkC,SAAU,SAACC,IA9KJ,SAACA,GACpB/C,GAAkB+C,GA6KasS,CAAatS,IAChC5N,MAAwB,MAAjB4K,IAAyBF,GAAsBmD,MAAK,SAAAnR,GAAG,OAAIA,EAAI+O,mBAAqBb,GAAca,oBACzGlI,YAAY,gBAIlB,kBAAC4O,GAAA,EAAD,KACE,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QA9Pd,WAClB,GAAsB,0BAAV,OAARuQ,QAAQ,IAARA,OAAA,EAAAA,EAAU1S,OAAmD,QAAX,OAAR0S,QAAQ,IAARA,OAAA,EAAAA,EAAUlQ,QAAwC,mBAAd,OAARkQ,QAAQ,IAARA,OAAA,EAAAA,EAAUjQ,WAIpF,GAAsB,+BAAV,OAARiQ,QAAQ,IAARA,OAAA,EAAAA,EAAU1S,OAAqCiT,EAAyBtb,OAAS,EAAG,CAGtF,IAAIiJ,EAAc,GAClBqS,EAAyBtN,QAAO,SAAA4H,GAAC,OAAoC,MAAhCA,EAAEpF,UAAUlH,oBAA0BrF,KAAI,SAAA4I,GAC7E5D,EAAY6F,KAAK,CACf3F,gBAAiB0D,EAAK1D,gBACtB6U,iBAAkBvV,GAAca,sBAIpChL,GAAW,GACX/B,EAAS,yCAA0C0M,GAAa/M,MAAK,SAAAb,GACnEuhB,KACAC,QAEC1gB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,YApB5B0e,IAA4B,KA4PtB,SAEE,uBAAG5W,MAAM,iBAEX,kBAACmE,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASoS,IAAnC,cAKLL,IACC,kBAAChN,GAAA,EAAD,CAAOC,OAAQ+M,GAAqB9M,OAAQgN,IAC1C,kBAACmB,GAAA,EAAD,CAAanO,OAAQgN,IAArB,4BACA,kBAAC9M,GAAA,EAAD,KACE,kBAACmO,GAAA,EAAD,KACE,kBAAChS,GAAA,EAAD,CACEpB,KAAK,OACLS,KAAK,OACLiF,GAAG,iBACH5E,SAAU,SAACC,GAAD,OAAOiQ,EAAkBjQ,EAAEyH,OAAOrV,YAIlD,kBAACmS,GAAA,EAAD,KACE,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAxMD,WAC/B,GAAsB,MAAlB2B,EAKJ,GAAiC,GAA7BqP,EAAmBxb,OAKvB,GAAIwb,EAAmBxb,OAAS,GAC9BjD,EAAY,QAAS,wCAAyC,UAAW,UAD3E,CAKA,IAAIkM,EAAc,GAElBuS,EAAmBvX,KAAI,SAAAga,GACrBhV,EAAY6F,KAAK,CACfoP,kDAAmD,EACnD/U,gBAAiB8U,EAAI9U,gBACrB5N,OAAQ,aACR4Q,eAAgBhM,KAAOgM,GAAgB/L,OAAO,cAC9CgM,qBAAsBrT,EAAQyL,gBAIlCiY,KAEAne,GAAW,GACX/B,EAAS,yEAA0E0M,GAChF/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcwK,UAChGpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA3B1BvB,EAAY,QAAS,2CAA4C,UAAW,WAL5EA,EAAY,QAAS,mDAA8C,UAAW,QAsMxE,aAAqE,uBAAGqJ,MAAM,mBAKpF,yBAAK5C,UAAU,WACS,MAArByX,GACC,yBAAKzX,UAAU,eAAemI,IAAKA,IACjC,kBAACpB,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASjD,GAAc,uBAAGnB,MAAM,wBAA1D,WACA,kBAACoR,EAAA,EAAD,CAAMhU,UAAU,cACd,kBAACiU,EAAA,EAAD,KACE,kBAACnN,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAM,gBACNgX,QAASmI,EACT1gB,KAAMof,EACN1G,WAAW,EACXjJ,QAASiQ,EACTgD,kBAAmB,SAACC,EAAMC,IA9Kf,SAACD,EAAMC,GACpC,GAAqB,yBAAjBtD,EAAS1S,MAAkD,OAAlB0S,EAASlQ,OAAuC,kBAArBkQ,EAASjQ,SAA8B,CAC7G,IAAQ,OAAJsT,QAAI,IAAJA,OAAA,EAAAA,EAAMpe,QAAS,GAEjB,YADAjD,EAAY,QAAS,wCAAyC,UAAW,MAG3Euf,EAA+B8B,OAEP,sBAAjBrD,EAAS1S,MAA8C,8BAAjB0S,EAAS1S,KACtDkT,EAA6B6C,GACH,gCAAjBrD,EAAS1S,MAClBoT,EAAsB2C,EAAKpQ,QAAO,SAAA4H,GAAC,aAAkE,IAA7D,OAADA,QAAC,IAADA,GAAA,UAAAA,EAAGkG,uDAAH,eAAoD9b,YAmK/Bse,CAAuBF,IACnE3J,aAAc9T,GACd4d,aAAc,CACZC,mBAAoB,SAACC,EAAUC,EAAUpK,EAASqK,GAChD,OAAO,IAAI/jB,SAAQ,SAACC,EAASC,GAC3ByT,WAAW1T,EAAS,cAOhC,kBAACyP,GAAA,EAAD,KACIyQ,GAA6B,yBAAjBA,EAAS1S,MACH,OAAlB0S,EAASlQ,OACY,kBAArBkQ,EAASjQ,UAET,kBAACC,GAAA,EAAD,CAAKC,GAAG,MACN,kBAACT,GAAA,EAAD,CACErH,MAAM,UACNsH,QAAS,kBAAMwS,IAA4B,IAC3CxZ,UAAU,aACVkH,KAAK,UAJP,iCAQA,kBAACH,GAAA,EAAD,CACErH,MAAM,SACNsH,QAAS,kBAAMwS,IAA4B,IAC3CxZ,UAAU,aACVkH,KAAK,UAJP,mCAUHqQ,GAA6B,8BAAjBA,EAAS1S,MACpB,kBAAC0C,GAAA,EAAD,CAAKC,GAAG,MACN,kBAACT,GAAA,EAAD,CACErH,MAAM,OACNsH,QAASqS,IAET,uBAAGzW,MAAM,uBAJX,mCAQH2U,GAA6B,sBAAjBA,EAAS1S,MACpB,kBAAC0C,GAAA,EAAD,CAAKC,GAAG,MACN,kBAACT,GAAA,EAAD,CACErH,MAAM,YACNsH,QAzSG,WACvB,IAAIvB,EAAc,GAClB,IAAK,IAAI2V,KAAKtD,EACZrS,EAAY6F,KAAK,CACf3F,gBAAiBmS,EAAyBsD,GAAGzV,gBAC7CsD,kBAAmB1T,EAAQyL,aAI/BlG,GAAW,GACX/B,EAAS,mDAAoD0M,GAC1D/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS1B,EAAOI,KAAM,WAAW,WAAc8L,UAC1EpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QA0RV,iBAQHyc,GAA6B,gCAAjBA,EAAS1S,OAArB,OAA4DuS,QAA5D,IAA4DA,OAA5D,EAA4DA,EAAe5M,QAAO,SAAA4H,GAAC,aAAkE,IAA7D,OAADA,QAAC,IAADA,GAAA,UAAAA,EAAGkG,uDAAH,eAAoD9b,WAAaA,SACvJ,kBAAC+K,GAAA,EAAD,CAAKC,GAAG,MACN,kBAACT,GAAA,EAAD,CACErH,MAAM,UACNsH,QAAS,WAC0B,GAA7BgR,EAAmBxb,QAAe6a,EAAW7M,QAAO,SAAA4H,GAAC,aAAkE,IAA7D,OAADA,QAAC,IAADA,GAAA,UAAAA,EAAGkG,uDAAH,eAAoD9b,WAAaA,OAAS,EACrIjD,EAAY,QAAS,iFAA4E,UAAW,MAG1G8d,EAAW7a,QAAU6a,EAAW7M,QAAO,SAAA4H,GAAC,aAAK,OAADA,QAAC,IAADA,GAAA,UAAAA,EAAGkG,uDAAH,eAAoD9b,QAAS,KAAGA,OAI5Gwb,EAAmBxb,OAAS,GAC9Bwc,IAAuB,GAJvBzf,EAAY,QAAS,wEAAgE,UAAW,QARtG,iCAwBQ,MAArBke,GACqE,iBAApEA,EAAkBnS,qBAAqB6B,iBAAiBG,UACxD,kBAAC8B,GAAD,CACEC,KAAMoO,EACN1T,aAAcA,EACduF,iBAAiB,IAGC,MAArBmO,GACqE,kBAApEA,EAAkBnS,qBAAqB6B,iBAAiBG,UACxD,kBAAC,GAAD,CACE+B,KAAMoO,EACN1T,aAAcA,EACduF,iBAAiB,IAGC,MAArBmO,GACqE,iBAApEA,EAAkBnS,qBAAqB6B,iBAAiBG,UACxD,kBAAC,GAAD,CACE+B,KAAMoO,EACN1T,aAAcA,EACduF,iBAAiB,M,+BCxfd,SAAS+R,GAAT,GAA0Q,IAAD,IAApPC,sBAAoP,MAAnO,GAAmO,EAA/N5hB,EAA+N,EAA/NA,KAA+N,IAAzNkE,mBAAyN,MAA3M,GAA2M,MAAvM2d,gBAAuM,SAArL7a,EAAqL,EAArLA,MAAOsH,EAA8K,EAA9KA,SAAUwT,EAAoK,EAApKA,OAAQtU,EAA4J,EAA5JA,KAAM0F,EAAsJ,EAAtJA,GAAIjF,EAAkJ,EAAlJA,KAAMD,EAA4I,EAA5IA,QAA4I,IAAnIrN,aAAmI,MAA3H,GAA2H,EAAvHohB,EAAuH,EAAvHA,QAAuH,IAA9GC,kBAA8G,SAA1F1b,EAA0F,EAA1FA,UAAWka,EAA+E,EAA/EA,SAAuBha,GAAwD,EAArEyb,YAAqE,EAAxDzb,OAAO0b,EAAiD,EAAjDA,UAAiD,IAAtCC,YAAsC,MAA/B,SAACxhB,GAAD,OAAWA,GAAoB,EAAbyhB,EAAa,EAAbA,UAGvQ,EAAoCjhB,mBAAS,IAA7C,mBAAOkhB,EAAP,KAAmBC,EAAnB,KAGMC,EAAe,CACjBC,QAAS,SAACC,EAAMC,GAAP,oBAAC,gBACHD,GADE,IAELE,KAAM,SAAAC,GAAQ,oCAAUA,GAAV,IAAoB5a,OAAQ,QAC1C6a,YAAaH,EAAMI,UACf,OAASf,EACL,UAAY,OAEpB,UAAW,CACPc,YAAaH,EAAMI,UACf,OAASf,EACL,UAAY,YAiBhC,OACI,kBAAChU,GAAA,EAAD,CAAWzH,UAAS,+CAA0CtG,EAAO,OAAS,GAA1D,YAAgEsG,GAAwB,KACvGU,GAAS,kBAAC+b,GAAA,EAAD,CAAOzc,UAAU,UAAUU,GACrC,yBAAKV,UAAU,6BAGD,WAATkH,GAAqBqU,GACf,kBAAC,KAAD,CACClhB,MAAOA,EACP2N,SAAUA,EACVwT,OAAQA,EACRkB,aAAW,EACXC,SAAO,EACPhV,KAAMA,EACND,QAASA,EACT9J,YAA4B,IAAfA,EAAoBA,EAAc,YAC/CoC,UAAW,4BAA8Bsb,EACzCsB,gBAAgB,SAChBC,WAAY3C,EACZ4C,OAAQb,IAIN,WAAT/U,GAAqB4U,GAElB,kBAAC,KAAD,CACI9b,UAAU,QACV+c,WAAY,CACRC,kBAAmB,MAEvBjB,WAAYA,EACZW,aAAW,EACXC,SAAO,EACPM,YAAY,EACZjV,SAAUA,EACVkV,cAAe,SAACjC,GAAD,OAAce,EAAcf,IAC3CkC,UA/CE,SAACtM,GACnB,GAAKkL,EACL,OAAQlL,EAAMjQ,KACV,IAAK,QACL,IAAK,MACDoH,EAAS+T,GACTC,EAAc,IACdnL,EAAMuM,mBAyCExf,YAAaA,EACbvD,MAAOA,EACPyiB,OAAQb,IAIN,WAAT/U,GAAqBwU,GACf,kBAAC,KAAD,CACCkB,gBAAiB,sBACjBF,aAAW,EACXriB,MAAOA,EACP2N,SAAUA,EACVwT,OAAQA,EACR6B,cAAY,EACZ1V,KAAMA,EACND,QAASA,EACT9J,YAA4B,IAAfA,EAAoBA,EAAc,YAC/CoC,UAAU,2BACV6c,WAAY3C,EACZ4C,OAAQb,IAIP,UAAR/U,IAAqBqU,IAAaG,IAAeI,GAC9C,kBAAExT,GAAA,EAAF,CAAQtI,UAAWsb,EAAgBE,OAAQA,EAAQI,UAAWA,GAAwB,aAAc1B,SAAUA,EAAUtc,YAAaA,EAAagP,GAAIA,EAAI1F,KAAMA,EAAMuU,QAASA,EAAS9T,KAAMA,EAAMK,SAAUA,EAAU3N,MAAOA,EAAO6F,MAAOA,GAErOwH,GAAWA,EAAQjH,KAAI,SAACoH,EAAQjH,GAC5B,OAAO,4BAAQA,IAAKA,EAAKvG,MAAOwN,EAAOxN,MAAOijB,iBAAgBzV,EAAO0V,MAAQ1V,EAAO0V,MAAQ,IAAK1V,EAAOpO,UAM9G,aAATyN,GACG,kBAACoB,GAAA,EAAD,CAAOtI,UAAWsb,EAAgBE,OAAQA,EAAQI,UAAWA,GAAwB,aAAc1B,SAAUA,EAAUtc,YAAaA,EAAagP,GAAIA,EAAI1F,KAAMA,EAAMuU,QAASA,EAAS9T,KAAMA,EAAMK,SAAUA,EAAUwV,QAASnjB,IAG1N,WAAT6M,GAA8B,aAATA,GAAgC,SAATA,GACzC,kBAACoB,GAAA,EAAD,CAAOtI,UAAWsb,EAAgBE,OAAQA,EAAQI,UAAWA,GAAwB,aAAc1B,SAAUA,EAAUtc,YAAaA,EAAagP,GAAIA,EAAI1F,KAAMA,EAAMuU,QAASA,EAAS9T,KAAMA,EAAMK,SAAU,SAACC,GAC1MA,EAAEyH,OAAOrV,MAAQwhB,EAAK5T,EAAEyH,OAAOrV,OAAO,GACtC2N,EAASC,IACV5N,MAAOwhB,EAAKxhB,KAGT,SAAT6M,GACG,kBAACoB,GAAA,EAAD,CAAOtI,UAAWsb,EAAgBE,OAAQA,EAAQI,UAAWA,GAAwB,aAAc1B,SAAUA,EAAUtc,YAAaA,EAAagP,GAAIA,EAAI1F,KAAMA,EAAMuU,QAASA,EAAS9T,KAAMA,EAAMK,SAAUA,M,OCgBlNyV,OA3Hf,YAA0E,IAApCC,EAAmC,EAAnCA,SAAUC,EAAyB,EAAzBA,sBACtC7iB,EAAeL,IAAfK,WAIR,EAA0CD,mBAAS,IAAnD,mBAAOuc,EAAP,KAAsBwG,EAAtB,KAEA,EAA2D/iB,mBAAS,MAApE,mBAAOgjB,EAAP,KAA+BC,EAA/B,KAcA9hB,qBAAU,WACR,GAAI0hB,GAAYA,EAAStG,cAAe,CACtC,IAAM2G,EAA4B,cAAnBL,EAASM,MAAwB,aAAeN,EAASM,MAEhEC,EAAsBP,EAAStG,cAA/B6G,kBAER,GAAIA,EAAkBzhB,OAAS,EAAG,CAEhC,IAAM0hB,EAAiBD,EAAkBzT,QAAO,SAACiQ,GAC/C,GAAIA,EAAIuD,QAAUD,GAAUtD,EAAInT,WAAaoW,EAASpW,UAAYmT,EAAI3S,YAAc4V,EAAS5V,UAG3F,OAFA2S,EAAI0D,WAAanhB,GAAmByd,EAAI0D,YACxC1D,EAAI2D,gBAAkBphB,GAAmByd,EAAI2D,iBACtC3D,KAGXmD,EAAiBM,IAGrBpjB,GAAW,KACV,IAEH,IAqBMujB,EAAa,SAACvN,IArBO,SAACA,GAC1B,IACMhN,EADwB4Z,EAAStG,cAA/B6G,kBAC+BzT,QAAO,SAACiQ,EAAKre,GAClD,GAAIqe,EAAI9U,iBAAmBmL,EAAQnL,gBACjC,OAAO8U,KAIX3f,GAAW,GACX7B,EAAQ,gBAAkB6K,EAAa,GAAG6B,iBACvCjN,MAAK,SAAAb,GAAW,IAAD,IACmB,GAA7BA,EAAOI,KAAK0S,eAAkE,IAA5C,UAAA9S,EAAOI,YAAP,mBAAaic,2BAAb,eAAkC1X,QAIxEshB,EAAyBjmB,EAAOI,MAH9BsB,EAAY,QAAS,6JAAkJ,OAAQ,SAKlLZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI5BwjB,CAAmBxN,IAGf/M,EAAe,WACnB+Z,EAAyB,OAG3B,OACE,yBAAK9d,UAAU,WACe,OAA3B6d,GACC,oCACE,4BAAQ7d,UAAU,oBAAoBgH,QAAS,kBAAM2W,MACnD,uBAAG3d,UAAU,mBAAmBE,MAAO,CAAEsD,YAAa,UADxD,UAIA,kBAAC,KAAD,CACEhK,MAAK,UAAKkkB,EAAStW,UAAd,aAA4BsW,EAASM,MAArC,KACLxN,QAxEM,CACd,CAAEhX,MAAO,eAAgBiX,MAAO,sBAChC,CAAEjX,MAAO,WAAYiX,MAAO,YAC5B,CAAEjX,MAAO,qBAAmBiX,MAAO,kBACnC,CAAEjX,MAAO,SAAUiX,MAAO,SAC1B,CAAEjX,MAAO,YAAaiX,MAAO,aAC7B,CAAEjX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,mBAAoBiX,MAAO,mBACpC,CAAEjX,MAAO,yBAAoBiX,MAAO,cACpC,CAAEjX,MAAO,aAAQiX,MAAO,SAgEhBxY,KAAMmf,EACN1P,QAAS,CACP6W,cAAc,EACdC,eAAe,EACflf,gBAEFvB,QAAS,CACP,CACErE,KAAM,SACNkX,QAAS,sBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuN,EAAWvN,MAG5CG,aAAc9T,MAMnB0gB,GAAgD,kBAAtBH,EAASpW,UAClC,kBAAC,GAAD,CACE+B,KAAMwU,EACN9Z,aAAcA,EACduF,iBAAiB,IAEpBuU,GAAgD,mBAAtBH,EAASpW,UAClC,kBAAC,GAAD,CACE+B,KAAMwU,EACN9Z,aAAcA,EACduF,iBAAiB,IAEpBuU,GAAgD,kBAAtBH,EAASpW,UAClC,kBAAC8B,GAAD,CACEC,KAAMwU,EACN9Z,aAAcA,EACduF,iBAAiB,MCiUZmV,OA9af,WACI,MAA8BhkB,IAAvBK,EAAP,EAAOA,WAAYP,EAAnB,EAAmBA,QAGnB,EAAkCM,oBAAS,GAA3C,mBAAO6jB,EAAP,KAAkBC,EAAlB,KAGA,EAAoD9jB,mBAAS,MAA7D,mBAAO+jB,EAAP,KAA2BC,EAA3B,KAGA,EAA0DhkB,mBAAS,MAAnE,mBAAOikB,EAAP,KAA8BC,EAA9B,KAGA,EAA8DlkB,oBAAS,GAAvE,mBAAOmkB,EAAP,KAAgCC,EAAhC,KAGA,EAAkDpkB,mBAC9C,CACI+jB,mBAAoB,KACpBE,sBAAuB,OAH/B,mBAAOI,EAAP,KAA0BC,EAA1B,KAQA,EAA8DtkB,mBAAS,CACnEuB,MAAO,GACPgjB,cAAe,KAFnB,mBAAOC,EAAP,KAAgCC,EAAhC,KAMA,EAAgCzkB,mBAAS,MAAzC,mBAAO6iB,EAAP,KAAiB6B,EAAjB,KAGA,EAA4B1kB,mBArCrB,CACH2T,WAAY,UAoChB,mBAAOgR,EAAP,KAAeC,EAAf,KAGA,EAAkD5kB,mBAAS,CACvD,CAAEpB,KAAM,QAASY,MAAO,SACxB,CAAEZ,KAAM,MAAOY,MAAO,OACtB,CAAEZ,KAAM,MAAOY,MAAO,OACtB,CAAEZ,KAAM,MAAOY,MAAO,SAJ1B,mBAAOqlB,EAAP,UAQA1jB,qBAAU,WACNlB,GAAW,GACX7B,EAAQ,wBACHP,MAAK,SAAAb,GACFsnB,EAAqB,6BACdD,GADa,IAEhBN,mBAAoB/mB,EAAOI,QAE/B4mB,EAAsBhnB,EAAOI,SAEhCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAC/B,IAGH,IAAM6kB,EAAgC,SAACvjB,EAAOgjB,GAC1CH,GAA4BD,GAC5BM,EACI,CACIljB,MAAOA,EACPgjB,cAAeA,KAMrBQ,EAAoC,SAAC7oB,EAAK8N,GAC5C,IAAIgb,EAAQ,EAOZ,OALIA,EADS,iBAAThb,EACS9N,EAAI+oB,cAAgB/oB,EAAIgpB,YAAchpB,EAAIipB,eAAiBjpB,EAAIkpB,aAEhElpB,EAAImpB,gBAAgBC,QAAO,SAACC,EAAKvb,GAAN,OAAeub,EAAMvb,EAAKwb,UAAYxb,EAAKyb,YAAczb,EAAK0b,cAAgB1b,EAAK2b,cAAa,GAGhI,CACHC,MAAO1pB,EAAI2pB,mBACXhhB,MAAO3I,EAAI4pB,SACXC,MAAO7pB,EAAI8pB,YACXhB,MAAOA,IAKTiB,EAA0B,SAAC,GAAyB,IAAvBC,EAAsB,EAAtBA,SAAU3kB,EAAY,EAAZA,MACnC4kB,EAAOpB,EAAkCmB,EAAU,YAEzD,OACI,oCACI,kBAACxZ,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACsL,EAAA,EAAD,CAAMhU,UAAU,wBACZ,kBAACiU,EAAA,EAAD,CAAUjU,UAAU,OAChB,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,qDACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,uBAAG1I,UAAS,iBAAKghB,QAAL,IAAKA,OAAL,EAAKA,EAAMJ,MAAX,mBAAoBI,QAApB,IAAoBA,OAApB,EAAoBA,EAAMthB,MAA1B,aAEhB,kBAAC6H,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,0BAAMxI,MAAO,CAAEyB,SAAU,OAAQT,QAAS,SAAWlB,UAAU,QAA/D,OAAuEghB,QAAvE,IAAuEA,OAAvE,EAAuEA,EAAMnB,UAIzF,kBAACoB,GAAA,EAAD,CAAYjhB,UAAU,OAClB,kBAAC+G,GAAA,EAAD,CAAQ/G,UAAU,QAAQN,MAAO,UAAWsH,QAAS,kBAAM2Y,EAA8BvjB,EAAO,cAC5F,yBAAK4D,UAAU,kCACX,6BACI,0BAAMA,UAAU,aAAhB,OAA6BghB,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAMP,QAEvC,6BACKzB,GAA2BK,EAAwBjjB,OAASA,GAAmD,aAA1CijB,EAAwBD,cAA+B,uBAAGpf,UAAU,oBAAyB,uBAAGA,UAAU,yBAK5L,yBAAKA,UAAS,kBAAagf,GAA2BK,EAAwBjjB,OAASA,GAAmD,aAA1CijB,EAAwBD,cAA+B,mBAAqB,cACvK2B,EAASb,iBAAmBa,EAASb,gBAAgBzf,KAAI,SAACygB,EAAI9kB,GAAL,OACtD,kBAAC0K,GAAA,EAAD,CAAKlG,IAAKxE,EAAO4D,UAAU,QACvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAI,GAAIzI,UAAU,QAAvB,UACYkhB,EAAGC,YAEf,kBAAC5Z,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,IAAhB,WAGA,kBAACnB,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,GACXwY,EAAGb,WAER,kBAAC9Y,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,IAAhB,eAGA,kBAACnB,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,GACXwY,EAAGX,eAER,kBAAChZ,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,IAAhB,aAGA,kBAACnB,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,GACXwY,EAAGZ,aAER,kBAAC/Y,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,IAAhB,aAGA,kBAACnB,GAAA,EAAD,CAAKkB,GAAI,EAAGC,GAAI,GACXwY,EAAGV,uBAatCY,EAA8B,SAAC,GAA6B,IAA3Btd,EAA0B,EAA1BA,aAAc1H,EAAY,EAAZA,MAC3CilB,EAAmBzB,EAAkC9b,EAAc,gBACzE,OACI,oCACI,kBAACyD,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACsL,EAAA,EAAD,CAAMhU,UAAU,wBACZ,kBAACiU,EAAA,EAAD,CAAUjU,UAAU,OAChB,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,qDACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,uBAAG1I,UAAS,UAAKqhB,EAAiBT,MAAtB,YAA+BS,EAAiB3hB,MAAhD,aAEhB,kBAAC6H,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,0BAAMxI,MAAO,CAAEyB,SAAU,OAAQT,QAAS,SAAWlB,UAAU,QAAQqhB,EAAiBxB,UAIpG,kBAACoB,GAAA,EAAD,CAAYjhB,UAAU,OAClB,kBAAC+G,GAAA,EAAD,CAAQ/G,UAAU,QAAQN,MAAO,UAAWsH,QAAS,kBAAM2Y,EAA8BvjB,EAAO,kBAC5F,yBAAK4D,UAAU,kCACX,6BACKqhB,EAAiBZ,OAEtB,6BACKzB,GAA2BK,EAAwBjjB,OAASA,GAAmD,iBAA1CijB,EAAwBD,cAAmC,uBAAGpf,UAAU,oBAAyB,uBAAGA,UAAU,yBAIhM,yBAAKA,UAAS,kBAAagf,GAA2BK,EAAwBjjB,OAASA,GAAmD,iBAA1CijB,EAAwBD,cAAmC,aAAe,cACtK,yBAAKpf,UAAU,2EACX,yBAAKA,UAAU,oEAAoEgH,QAAS,kBAAMuY,EAAY,CAC1GnI,cAAetT,EACfsD,UAAWia,EAAiBZ,MAC5BzC,MAAO,eACP1W,SAAUxD,EAAawD,SACvBQ,UAAWhE,EAAagE,UACxBT,MAAOvD,EAAauD,UAEpB,+CACA,0BAAMrH,UAAU,QAAQ8D,EAAakc,iBAEzC,yBAAKhgB,UAAU,oEAAoEgH,QAAS,kBAAMuY,EAC9F,CACInI,cAAetT,EACfsD,UAAWia,EAAiBZ,MAC5BzC,MAAO,aACP1W,SAAUxD,EAAawD,SACvBQ,UAAWhE,EAAagE,UACxBT,MAAOvD,EAAauD,UAGxB,6CACA,0BAAMrH,UAAU,QAAQ8D,EAAagc,gBAEzC,yBAAK9f,UAAU,oEAAoEgH,QAAS,kBAAMuY,EAAY,CAC1GnI,cAAetT,EACfsD,UAAWia,EAAiBZ,MAC5BzC,MAAO,WACP1W,SAAUxD,EAAawD,SACvBQ,UAAWhE,EAAagE,UACxBT,MAAOvD,EAAauD,UAEpB,2CACA,0BAAMrH,UAAU,QAAQ8D,EAAaic,cAEzC,yBAAK/f,UAAU,oEAAoEgH,QAAS,kBAAMuY,EAAY,CAC1GnI,cAAetT,EACfsD,UAAWia,EAAiBZ,MAC5BzC,MAAO,YACP1W,SAAUxD,EAAawD,SACvBQ,UAAWhE,EAAagE,UACxBT,MAAOvD,EAAauD,UAEpB,4CACA,0BAAMrH,UAAU,QAAQ8D,EAAamc,sBAWzE,EAAoClqB,IAAM8E,SAAS,CAC/CymB,WAAY,GACZC,QAAS,KAFb,mBAAOC,EAAP,KAAmBC,GAAnB,KAKMC,GAAoB,SAAC7Q,GACvB4Q,GAAc,6BAEHD,GAFE,mBAGJ3Q,EAAMnB,OAAO/H,KAAOkJ,EAAMnB,OAAOrV,UAgE9C,OAdA2B,qBAAU,WAC8B,IAAD,cAAT,UAAhB,OAANwjB,QAAM,IAANA,OAAA,EAAAA,EAAQhR,aACRqQ,EAAsB,CAClB8C,YAAY,UAAAzC,EAAkBN,0BAAlB,mBAAsC+C,kBAAtC,eAAkDnlB,QAAS,EAA3D,UAA+D0iB,EAAkBN,0BAAjF,aAA+D,EAAsC+C,WAAWnX,QAAO,SAAA4H,GAAC,OAAIA,EAAE/K,QAAF,OAAWmY,QAAX,IAAWA,OAAX,EAAWA,EAAQhR,eAAc,KAE7KuQ,EAAyB,CACrB3H,eAAe,UAAA8H,EAAkBJ,6BAAlB,mBAAyC1H,qBAAzC,eAAwD5a,QAAS,EAAjE,UAAqE0iB,EAAkBJ,6BAAvF,iBAAqE,EAAyC1H,qBAA9G,aAAqE,EAAwD5M,QAAO,SAAA4H,GAAC,OAAIA,EAAE/K,QAAF,OAAWmY,QAAX,IAAWA,OAAX,EAAWA,EAAQhR,eAAc,OAG7LqQ,EAAsBK,EAAkBN,oBACxCG,EAAyBG,EAAkBJ,0BAEhD,CAACU,IAGA,qCACMjlB,GAAwB,OAAbmjB,GACT,yBAAK1d,UAAU,WACX,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,iDACX,kBAACuH,GAAA,EAAD,CAAKC,GAAI,GACL,kBAAC6T,GAAD,CACI1T,KAAM,aACNjH,MAAO,0BAAMV,UAAU,cAAhB,eACPkH,KAAM,SACNQ,QAASgY,EACTrlB,MAAOmlB,EAAOhR,WACdxG,SAlCG,SAACC,GAC5B,MAAwBA,EAAEyH,OAAlB/H,EAAR,EAAQA,KAAMtN,EAAd,EAAcA,MACdolB,EAAU,6BACHD,GADE,mBAEJ7X,EAAOtN,UAkCA,kBAACyM,GAAA,EAAD,KACI,kBAACkN,EAAA,EAAD,CAAMhU,UAAU,eACX4e,GAAsBA,EAAmB+C,WAAWnlB,OAAS,GAC1D,oCACI,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAI,GAAIiB,GAAI,IACb,wBAAIzI,UAAU,OAAd,eAMR,yBAAKA,UAAU,kBACX,kBAAC8G,GAAA,EAAD,KACK8X,EAAmB+C,WAAWlhB,KAAI,SAACsgB,EAAU3kB,GAAX,OAC/B,kBAAC0kB,EAAD,CACIlgB,IAAKxE,EACL2kB,SAAUA,EACV3kB,MAAOA,UAQ/B,kBAAC0K,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAI,GAAIiB,GAAI,IACb,wBAAIzI,UAAU,QAAd,mBAMR,yBAAKA,UAAU,8BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAM2X,GAAcD,KACjD,uBAAG1e,UAAU,uBADjB,WAMH0e,GACG,kBAAC5X,GAAA,EAAD,CAAK9G,UAAU,oCACX,kBAACuH,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACiV,GAAA,EAAD,CAAOmF,IAAI,cAAc5hB,UAAW,eAApC,oBADJ,IAGa,6BACT,kBAACsI,GAAA,EAAD,CACIsE,GAAG,cACHjF,KAAK,aACL/J,YAAY,mBACZsJ,KAAK,OACL7M,MAAOmnB,EAAWF,WAClBtZ,SAAU,SAACC,GAAD,OAAOyZ,GAAkBzZ,OAG3C,kBAACV,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACiV,GAAA,EAAD,CAAOmF,IAAI,UAAU5hB,UAAW,eAAhC,cADJ,IAGa,6BACT,kBAACsI,GAAA,EAAD,CACIsE,GAAG,UACHjF,KAAK,UACL/J,YAAY,mBACZsJ,KAAK,OACL7M,MAAOmnB,EAAWD,QAClBvZ,SAAU,SAACC,GAAD,OAAOyZ,GAAkBzZ,OAG3C,kBAACV,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACT,GAAA,EAAD,CAAQrH,MAAM,UAAUQ,MAAO,CAAE0D,aAAc,OAASoD,QAhJ5D,WAC5B,GAA2B,KAAvBwa,EAAWD,SAAyC,KAAvBC,EAAWD,QAA5C,CAIA,IAAM9b,EAAc,CAChBoc,OAAQ/kB,GAAe0kB,EAAWF,YAClCQ,IAAKhlB,GAAe0kB,EAAWD,UAEnCzmB,GAAW,GACX/B,EAAS,0BAA2B0M,GAAa/M,MAAK,SAAAb,GAMf,IAAD,KALlCsnB,EAAqB,6BACdD,GADa,IAEhBJ,sBAAuBjnB,EAAOI,QAGT,SAArBunB,EAAOhR,YACPuQ,EAAyB,CAAE3H,cAAa,UAAEvf,EAAOI,YAAT,iBAAE,EAAamf,qBAAf,aAAE,EAA4B5M,QAAO,SAAA4H,GAAC,OAAIA,EAAE/K,OAASmY,EAAOhR,gBAGpGuQ,EAAyBlnB,EAAOI,SAEnCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WArB1BvB,EAAY,QAAS,8CAA4C,UAAW,QA+I5C,uBAAGyG,UAAU,uBADjB,YAQX8e,GAAyBA,EAAsB1H,cAAc5a,OAAS,GACnE,oCACI,yBAAKwD,UAAU,kBACX,kBAAC8G,GAAA,EAAD,KACKgY,EAAsB1H,cAAc3W,KAAI,SAACqD,EAAc1H,GAAf,OACrC,kBAACglB,EAAD,CAA6BxgB,IAAKxE,EAAO0H,aAAcA,EAAc1H,MAAOA,aAU/GshB,GACG,kBAAC,GAAD,CAA4BA,SAAUA,EAAUC,sBA7I9B,WAC1B2B,EAA2B,CACvBljB,MAAO,GACPgjB,cAAe,KAEnBtkB,GAAW,GACXykB,EAAY,W,UCxSL,SAASwC,GAAT,GAAyE,IAA1CC,EAAyC,EAAzCA,wBAAyBje,EAAgB,EAAhBA,aACnE,EAAgCtJ,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAETsJ,EAAiBJ,YAAQ,CAAEC,KAAM,WAAjCG,aAGR,EAAmDvJ,mBAAS,IAA5D,mBAAOonB,EAAP,KAA0BC,EAA1B,KAUMC,EAAkC,SAACC,EAAyC/nB,GAC1E4nB,EAAkBzX,QAAO,SAAAC,GAAC,OAAIA,EAAE2X,yCAA2CA,GACxE3X,EAAE0E,UAAY9U,GAAuB,MAAdoQ,EAAE0E,YAAkB3S,OAAS,IACvDnC,EAAQ,KACRd,EAAY,QAAS,2DAAgD,QAAS,OAGlF,IAAI8oB,EAAW,GACfJ,EAAkBxhB,KAAI,SAAA4K,GACdA,EAAE+W,yCAA2CA,IAC7C/W,EAAE8D,SAAW9U,EAGTgR,EAAE+D,SADF/U,EACa,WAEA,YAErBgoB,EAAS/W,KAAKD,MAElB6W,EAAsBG,IAGpBC,EAA4B,SAACF,GAC/BroB,EAAa,wDAAsD,oEAA4D,YAAY,SAAUuX,GACjJ,GAAIA,EAAS,CACT,IAAI+Q,EAAW,GACfJ,EAAkBxhB,KAAI,SAAA4K,GACdA,EAAE+W,yCAA2CA,IAC7C/W,EAAE+D,SAAW,YACb/D,EAAE8D,SAAW,MAEjBkT,EAAS/W,KAAKD,MAElB6W,EAAsBG,QAKlCrmB,qBAAU,WA7CNlB,GAAW,GACX7B,EAAQ,4DAAD,OAA6D+oB,EAAwBrc,kBACvFjN,MAAK,SAAAb,GAAM,OAAIqqB,EAAsBrqB,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QA2C/B,CAACknB,IAgCJ,OACI,oCACI,yBAAKhiB,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACH1E,GAAgB,kBAACgD,GAAA,EAAD,CAAQG,KAAK,SAASxH,MAAM,UAAUsH,QAASjD,GAAc,uBAAG/D,UAAU,wBAA1E,YACjB,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,aACZ,kBAACiU,EAAA,EAAD,CAAU/T,MAAO,CAAEqQ,UAAW,SAC1B,kBAAC+J,GAAA,EAAD,CAAMiI,SAAUne,GAtC3B,SAACnM,GACd,GAAIgqB,EAAkBzX,QAAO,SAAAC,GAAC,OAAkB,MAAdA,EAAE0E,UAAkC,aAAd1E,EAAE2E,YAAyB5S,OAAS,EACxFjD,EAAY,QAAS,kEAA0D,QAAS,UAD5F,CAKA,IAAIkM,EAAc,GAClBwc,EAAkBxhB,KAAI,SAAA4K,GAClB5F,EAAY6F,KAAK,CACb8W,wCAAyC/W,EAAE+W,wCAC3CI,oCAAqCnX,EAAEmX,oCACvCrT,SAAU9D,EAAE8D,SACZC,SAAU/D,EAAE+D,SACZqT,eAA2B,MAAXltB,GAAyC,gBAAtBA,EAAQ0R,WAA3B,qCAAqF1R,EAAQgX,KAA7F,aAAsGhX,EAAQyL,WAA9G,KAA8H,qCAItJlG,GAAW,GACX9B,EAAQ,8DAA+DyM,GAClE/M,MAAK,SAAAb,GACFiD,GAAW,GACXvB,EAAY,QAAS,qCAAsC,WAAW,WAC9DwK,GACAA,UAGXpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAYF,kBAACgM,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,2BAAIsZ,GAA2BA,EAAwBU,uBAE9D,kBAACnb,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,wCAAH,IAAqBsZ,GAA2BA,EAAwB9U,WAE5E,kBAAC3F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,6CAAH,IAA0BsZ,GAA2BA,EAAwBjV,gBAEjF,kBAACxF,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,iDAAH,IAA8BsZ,GAA2BA,EAAwBW,oBAGxFV,EAAkBxhB,KAAI,SAAC4K,EAAGzK,GACvB,OAAO,kBAACgiB,GAAD,CAAoBhiB,IAAKA,EAAKyI,KAAMgC,EAAGvQ,WAAYA,EAAYqnB,gCAAiCA,EAAiCG,0BAA2BA,OAEvK,kBAACxb,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKvH,UAAU,cAAcyI,GAAG,KAAKC,GAAG,MACpC,kBAACjB,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUwH,KAAK,UAAS,uBAAGlH,UAAU,gBAAnD,sBAchD,SAAS4iB,GAAT,GAA+G,IAAjFvZ,EAAgF,EAAhFA,KAAM8Y,EAA0E,EAA1EA,gCAAiCrnB,EAAyC,EAAzCA,WAAYwnB,EAA6B,EAA7BA,0BAEvEO,EAAc,CAChB,CAAExoB,MAAOsC,KAAO,IAAIlF,MAAQmF,OAAO,QAAS8D,MAAO/D,KAAO,IAAIlF,MAAQmF,OAAO,SAC7E,CAAEvC,MAAOsC,KAAO,IAAIlF,MAAQqrB,IAAI,EAAG,SAASlmB,OAAO,QAAS8D,MAAO/D,KAAO,IAAIlF,MAAQqrB,IAAI,EAAG,SAASlmB,OAAO,UAEjH,EAAuB/B,mBAAS8B,KAAO,IAAIlF,MAAQmF,OAAO,SAA1D,mBAAOmmB,EAAP,KAAYC,EAAZ,KAOA,EAAuCnoB,mBAAS,IAAhD,mBAAOooB,EAAP,KAAoBC,EAApB,KACMC,EAAiB,SAACC,GACpB,IAAIC,EAAS,GACTC,EAAO,EACPF,GAAQzmB,KAAO,IAAIlF,MAAQmF,OAAO,UAClC0mB,EAAOC,SAAS5mB,KAAO,IAAIlF,MAAQmF,OAAO,QAE9C,GACIymB,EAAO/X,KAAK,CAAEjR,MAAOipB,EAAM5iB,MAAOzD,GAAiBqmB,KACnDA,UACK,IAAMA,GACfJ,EAAgBG,IAEpB,EAAuBxoB,mBAAS8B,KAAO,IAAIlF,MAAQmF,OAAO,OAA1D,mBAAO4mB,EAAP,KAAYC,EAAZ,KAUA,EAA2E5oB,mBAAS,IAApF,mBAAO6oB,EAAP,KAAsCC,EAAtC,KACMC,EAAmC,SAACN,EAAMO,GAC5C/oB,GAAW,GACX7B,EAAQ,gDAAD,OAAiDoQ,EAAK+Y,wCAAtD,YAAiGW,EAAjG,YAAwGO,IAC1G5qB,MAAK,SAAAb,GACF8rB,EAAkC9rB,EAAOI,MACrC4rB,GAAQhsB,EAAOI,KAAKuS,QAAO,SAAAC,GAAC,OAAIA,EAAEqZ,KAAOD,KAAMrnB,OAAS,GACxDunB,EAAoBlsB,EAAOI,KAAKuS,QAAO,SAAAC,GAAC,OAAIA,EAAEqZ,KAAOD,KAAM,GAAGG,aAErErrB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAGlC,EAA6CD,mBAAS,MAAtD,mBAAOopB,EAAP,KAAuBC,EAAvB,KASA,EAA+CrpB,mBAAS,IAAxD,mBAAOspB,EAAP,KAAwBJ,EAAxB,KACA,EAA+BlpB,mBAAS,MAAxC,mBAAOupB,EAAP,KAAgBC,EAAhB,KAyBA,OATAroB,qBAAU,WACFqN,EAAK8F,UATT6T,EAAQrmB,KAAO0M,EAAK8F,UAAUvS,OAAO,SACrCumB,EAAexmB,KAAO0M,EAAK8F,UAAUvS,OAAO,SAC5C6mB,EAAQF,SAAS5mB,KAAO0M,EAAK8F,UAAUvS,OAAO,QAC9CsnB,EAAmBX,SAAS5mB,KAAO0M,EAAK8F,UAAUvS,OAAO,QACzDgnB,EAAiCL,SAAS5mB,KAAO0M,EAAK8F,UAAUvS,OAAO,OAAQ2mB,SAAS5mB,KAAO0M,EAAK8F,UAAUvS,OAAO,QACrHynB,EAAY1nB,KAAO0M,EAAK8F,UAAUvS,OAAO,WAQrCumB,EAAexmB,KAAO,IAAIlF,MAAQmF,OAAO,WAE9C,CAACyM,IAGA,oCACI,kBAACvC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAG,yCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQ2c,aAAcjb,EAAKiF,MAAOiW,SAAS,eAG3E,kBAAChd,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAG,kDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,WAAWtN,MAAOgP,EAAK+F,SAAUmV,SAAS,eAGxD,YAAjBlb,EAAK+F,UACF,kBAAC7H,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,6BACA,kBAAC3B,GAAA,EAAD,CAAQ/G,UAAU,oBAAoBkH,KAAK,SAASF,QAAS,kBAAMsb,EAA0BjZ,EAAK+Y,2CAAlG,yBAIZ,kBAACtb,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,KAAD,CACI0H,QAASmb,EACTlb,KAAK,MACLC,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnB2N,SAAU,SAACC,GA5GjB,IAAC5N,IA4GkC4N,EAAE5N,MA3GnD2oB,EAAQ3oB,GACR8oB,EAAe9oB,IA2GKA,MAAOwoB,EAAY3a,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAU0oB,KAC7ClG,WAA8B,aAAjBxT,EAAK+F,UAA4C,aAAjB/F,EAAK+F,aAI9D,kBAAC7H,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACI0H,QAASub,EACTtb,KAAK,MACLC,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnB2N,SAAU,SAACC,GAtGjB,IAAC5N,IAsGkC4N,EAAE5N,MArGnDopB,EAAQppB,GACR6pB,EAAmB,MACnBG,EAAY,MACZlC,EAAgC9Y,EAAK+Y,wCAAyC,MAC9EwB,EAAiCvpB,IAkGbA,MAAO4oB,EAAY/a,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUmpB,KAC7C5lB,YAAY,YACZif,WAA8B,aAAjBxT,EAAK+F,UAA4C,aAAjB/F,EAAK+F,aAI9D,kBAAC7H,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,KAAD,CACI0H,QAASgc,EACT/b,KAAK,MACLC,eAAgB,qBAAGkc,KACnB/b,eAAgB,qBAAG+b,KACnB9b,SAAU,SAACC,GA9FN,IAAC5N,IA8FkC4N,EAAE6b,IA7F9DI,EAAmB7pB,GACnB0pB,EAAoBL,EAA8BlZ,QAAO,SAAAC,GAAC,OAAIA,EAAEqZ,KAAOzpB,KAAO,GAAG2pB,UACjFK,EAAY,MACZlC,EAAgC9Y,EAAK+Y,wCAAyC,OA2F1D/nB,MAAOqpB,EAA8Bxb,MAAK,SAAAnR,GAAG,OAAIA,EAAI+sB,MAAQG,KAC7DrmB,YAAY,YACZif,WAA8B,aAAjBxT,EAAK+F,UAA4C,aAAjB/F,EAAK+F,aAI9D,kBAAC7H,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,gBACH,kBAAC,KAAD,CACI0H,QAASyc,EACTvc,eAAgB,SAAC6C,GAAD,OAAOA,GACvB1C,eAAgB,SAAC0C,GAAD,OAAOA,GACvB9C,KAAK,UACLK,SAAU,SAACC,IAnGb,SAAC5N,GACnBgqB,EAAYhqB,GACZ,IAAImqB,EAAWznB,GAAsB,IAAItF,KAAKsrB,EAAKS,EAAM,EAAGS,EAAgBV,SAASlpB,EAAMzD,MAAM,KAAK,IAAK2sB,SAASlpB,EAAMzD,MAAM,KAAK,MACrIurB,EAAgC9Y,EAAK+Y,wCAAyCoC,GAgGvCC,CAAcxc,IACjC5N,MAAO8pB,EAAgB3Z,QAAO,SAAAzT,GAAG,OAAIA,GAAOqtB,KAC5CxmB,YAAY,YACZif,WAA8B,aAAjBxT,EAAK+F,UAA4C,aAAjB/F,EAAK+F,cAKlE,8B,sDCrTG,SAASsV,GAASjiB,GAC7B,IAAQzH,EAAiBP,IAAjBO,aACF2pB,EAAa5uB,IAAM0V,OAAO,MAChC,EAA0B1V,IAAM8E,SAAwB,MAAf4H,EAAM8a,MAAgB7Q,EAAQ,KAA6BA,EAAQ,MAA5G,mBAAO6Q,EAAP,KAAcqH,EAAd,KAiDA,OAPA5oB,qBAAU,WACa,MAAfyG,EAAM8a,MACNqH,EAASlY,EAAQ,MAEjBkY,EAASlY,EAAQ,QACtB,CAACjK,EAAM8a,QAGN,oCACI,2CACQ9a,EADR,CAEIyE,KAAK,OACL2d,OAAO,OACP1c,IAAKwc,EACL3kB,UAAW,SACXgI,SAAU,SAAC6I,IAxDH,SAACA,GAEjB,GADAA,EAAMuM,iBACFvM,EAAMnB,OAAOoV,MAAMtoB,OAAQ,CAC3B,IAAMuoB,EAAOlU,EAAMnB,OAAOoV,MAAM,GAC1BE,EAAQC,KAAKC,MAAOH,EAAK7Y,KAAO,MAEtC,GAAa,GAAT8Y,EAEA,YADAzrB,EAAY,QAAS,gGAAyFyrB,EAAQ,KAAM,QAAS,MAGzI,GAAIA,EAAQ,MAER,YADAzrB,EAAY,QAAS,mEAAwD,QAAS,MAG1F,GAAiB,aAAbwrB,EAAK7d,MAAoC,cAAb6d,EAAK7d,MAAqC,mBAAb6d,EAAK7d,KAE9D,YADA3N,EAAY,QAAS,sBAAwBwrB,EAAK7d,KAAO,iEAA+D,QAAS,MAIrI,IAAIie,EAAS,IAAIC,WACjBD,EAAOE,cAAcN,GACrBI,EAAOG,UAAY,WACf,IAAIC,EAAaJ,EAAOttB,OACxB4K,EAAM+iB,WACF,CACIC,OAAQF,EAAWzQ,QAAQ,yBAA0B,IAAIA,QAAQ,0BAA2B,IAAIA,QAAQ,+BAAgC,IACxInN,KAAM+d,gBAAW,OACjBC,aAAcljB,EAAMmjB,eAExB,WACIhB,EAASlY,EAAQ,WA0BFmZ,CAAYhV,GAAQA,EAAMnB,OAAOrV,MAAQ,SAEpE,yBAAK6F,MAAO,CAAEiB,OAAyB,MAAhBsB,EAAMtB,OAAiB,OAASsB,EAAMtB,OAAS2kB,SAA0B,MAAfrjB,EAAMlB,MAAgB,OAASkB,EAAMlB,MAAQ6W,OAAQ,WAAa3L,IAAK8Q,EAAOvW,QAtB9I,SAAC6J,GACtBA,EAAMuM,iBACNuH,EAAW9Y,QAAQkG,WAqBf,6BACiB,MAAftP,EAAM8a,OAAuC,MAAtB9a,EAAM8a,MAAMkI,QACjC,uBAAG/V,OAAO,SAASH,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB/M,EAAM8a,MAAM5V,MAApE,kBCxDD,SAASoe,GAAT,GAAgG,IAAjE3D,EAAgE,EAAhEA,wCAAyC9T,EAAuB,EAAvBA,MAAOvK,EAAgB,EAAhBA,aAC1F,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAgCkJ,YAAQ,CAAEC,KAAM,WAAxCC,EAAR,EAAQA,SAAUM,EAAlB,EAAkBA,UAElB,EAA0BzO,IAAM8E,UAAS,GAAzC,mBAAOkP,EAAP,KAAcC,EAAd,KACMC,EAAc,WAChBD,GAAUD,GACVhG,GAAa,IAGjB/H,qBAAU,WACNgO,GAAS,KACV,CAACoY,IAGJ,MAAqCrsB,IAAM8E,SAAS,MAApD,mBAAOmrB,EAAP,KAAmBC,EAAnB,KAUMC,EAAuB,SAAC9W,GAC1B,GAAK4W,EAAL,CAKA,IAAI/tB,EAAOuM,IAEPiB,EAAc,CACd0gB,qCAAsC,EACtC/D,wCAAyCA,EACzC9S,oBAAqBxS,GAAe,IAAIrF,MACxC2X,SAAUA,EACVpJ,WAAY/N,EAAK+N,WACjByJ,qBAAsBuW,EAAWre,KACjCye,2BAA4BJ,EAAWP,OACvCzkB,WAAYzL,EAAQyL,YAGxBlG,GAAW,GACX/B,EAAS,4DAA6D0M,GACjE/M,MAAK,SAAAb,GACFiD,GAAW,GACXvB,EAAY,QAAS,wCAAmC,WAAW,WAC3DwK,GACAA,GAAa,SAGxBpL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA3B1BvB,EAAY,QAAS,qEAAgE,QAAS,OA8BtG,OACI,kBAACwS,GAAA,EAAD,CAAOC,OAAQjC,EAAOkC,OAAQhC,GAC1B,kBAACmQ,GAAA,EAAD,CAAanO,OAAQhC,EAAa6J,MAAO,4BAAQ9T,UAAU,QAAQgH,QAASiD,GAAnC,QAAkEjK,UAAU,SACjH,uBAAG4C,MAAM,oBADb,mCAGA,kBAACuJ,GAAA,EAAD,CAAWnM,UAAU,SACjB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKiB,GAAG,KAAKC,GAAG,MACpB,kBAACjB,GAAA,EAAD,KACI,2BAAG,6CAAH,KACA,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOqd,SAAS,WAAW5c,KAAK,QAAQ2c,aAAchW,MAG1E,kBAAC/G,GAAA,EAAD,CAAKC,GAAG,KAAKiB,GAAG,KAAKC,GAAG,MACpB,kBAACjB,GAAA,EAAD,KACI,2BAAG,mDAAH,KACA,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaY,SAAUrE,QAGvD,kBAACqD,GAAA,EAAD,CAAKC,GAAG,KAAKiB,GAAG,KAAKC,GAAG,MACpB,kBAACjB,GAAA,EAAD,KACI,2BAAG,uBAAGvH,MAAO,CAAER,MAAO,SAAnB,sBACH,kBAACglB,GAAD,CAAU/c,KAAK,iBACX4V,MAAOyI,EACP7kB,OAAO,OACPI,MAAM,OACNqkB,aAAc,EAAGJ,WAnErB,SAACa,EAAO/qB,GACf,MAAT+qB,GAIJJ,EAAeI,GACf/qB,KAJI/B,EAAY,QAAS,6CAAwC,QAAS,aAuEtE,kBAACiT,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMkf,EAAqB,cAA5D,qBACA,kBAACnf,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS,kBAAMkf,EAAqB,eAA3D,wBCvFD,SAASI,GAAT,GAA+C,IAAjBviB,EAAgB,EAAhBA,aACjCjJ,EAAeL,IAAfK,WAER,EAAmDD,mBAAS,IAA5D,mBAAO0rB,EAAP,KAA0BC,EAA1B,KAEMC,EAAwB,WAC1B3rB,GAAW,GACX7B,EAAQ,yCACHP,MAAK,SAAAb,GACF,IAAI6uB,EAAW,GACf7uB,EAAOI,KAAKwI,KAAI,SAAA4K,GACZqb,EAASpb,KAAK,CACV8W,wCAAyC/W,EAAE+W,wCAC3C9T,MAAOjD,EAAEiD,MACT1B,GAAIvB,EAAE+W,wCACNuE,MAAO5pB,GAAsBsO,EAAE8D,UAC/B3V,MAAO6R,EAAEiD,MACTnO,gBAAiB,UACjBymB,QAAQ,OAGhBJ,EAAsBE,MAEzB/tB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAGlCkB,qBAAU,WACNyqB,MACD,IAEH,MAA6B5rB,mBAAS,MAAtC,mBAAOgsB,EAAP,KAAeC,EAAf,KAWA,OACI,oCACI,yBAAK9mB,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC1B,GAAA,EAAD,CAAQG,KAAK,SAASxH,MAAM,UAAUsH,QAASjD,GAAc,uBAAG/D,UAAU,wBAA1E,YACA,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,wBACZ,kBAACiU,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CACIse,QAAS,CAACC,KAAeC,KAAmBC,MAC5CC,YAAY,eACZC,OAAO,QACPC,WAAW,OACXC,cAAe,CACXC,KAAM,QACNjU,OAAQ,GACRkU,MAAO,aAEXC,WA9Bf,SAACxf,GACtB6e,EAAWP,EAAkB/b,QAAO,SAAAC,GAAC,OAAIA,EAAE2X,yCAA2Cna,EAAE4I,MAAMjE,MAAI,KA8B9D8a,OAAQnB,WAS7B,MAAVM,GACG,kBAACd,GAAD,CACI3D,wCAAyCyE,EAAOzE,wCAChD9T,MAAOuY,EAAOvY,MACdvK,aAxCwB,SAACpM,GACrCmvB,EAAW,MACPnvB,GACA8uB,Q,yBCzDNkB,G,4JACF,WACE,OAAO,kBAAC,KAAD,iBAAeC,KAAKnlB,MAApB,CAA2BoZ,KAAK,iBAAiB7b,UAAU,sB,GAFjDjK,IAAM8xB,WAMvBC,G,4JACF,WACE,OAAO,kBAAC,KAAD,iBAAeF,KAAKnlB,MAApB,CAA2BoZ,KAAK,qBAAqB7b,UAAU,sB,GAFpDjK,IAAM8xB,WAMxBE,G,4JACF,WACE,OAAO,kBAAC,KAAD,iBAAeH,KAAKnlB,MAApB,CAA2BoZ,KAAK,YAAY7b,UAAU,eAAe3F,MAAOutB,KAAKnlB,MAAMpI,a,GAF7EtE,IAAM8xB,WAMvBG,G,4JACJ,WACE,OAAO,kBAAC,KAAD,iBAAeJ,KAAKnlB,MAApB,CAA2BoZ,KAAK,QAAQ7b,UAAU,eAAe3F,MAAOutB,KAAKnlB,MAAMpI,a,GAF/DtE,IAAM8xB,WAY/BI,IANmBlyB,IAAM8xB,U,4JAO3B,WACE,OAAO,kBAAC,KAAD,iBAAeD,KAAKnlB,MAApB,CAA2BoZ,KAAK,kBAAkB7b,UAAU,sB,GAF7CjK,IAAM8xB,YAM5BK,G,4JACJ,WACE,OAAO,kBAAC,KAAD,iBAAeN,KAAKnlB,MAApB,CAA2BoZ,KAAK,QAAQ7b,UAAU,sB,GAFnCjK,IAAM8xB,WCrCnBM,GAAe,SAAC5a,GAYzB,OAXgB,IAAInW,SAAQ,SAACC,EAASC,GAClC4B,EAAgB,4BAAD,OAA6BqU,EAAIuH,QAAQ,IAAK,IAA9C,WAA2Dpc,MAAK,SAAAb,GACrD,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,KAC5EhxB,EAAQ,MAGRA,EAAQQ,UCLT,SAASywB,GAAT,GAAgF,IAAlDC,EAAiD,EAAjDA,kBAAmBC,EAA8B,EAA9BA,qBAAsBnf,EAAQ,EAARA,KAClF,OACI,kBAAC0C,GAAA,EAAD,CAAOC,OAAQuc,EAAmBtc,OAAQuc,EAAsBtc,KAAM,MAClE,kBAACkO,GAAA,EAAD,CAAanO,OAAQuc,GAArB,kCACA,kBAACrc,GAAA,EAAD,KACI,kBAACmO,GAAA,EAAD,KACI,yBAAKta,UAAU,oBACX,2BAAOA,UAAU,SACb,+BACI,4BACI,wBAAIoM,MAAM,MAAMpM,UAAU,IAA1B,yBACA,wBAAIoM,MAAM,OAAV,oBACA,wBAAIA,MAAM,OAAV,gBAGR,+BACc,OAAT/C,IAAA,OAAiBA,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAMof,wBAAwBhoB,KAAI,SAACpG,EAAO+B,GAAR,aAChD,wBAAIwE,IAAKxE,GACL,4BAAKY,GAAmB3C,EAAMiS,oBAC9B,4BAAKjS,EAAM2L,YACX,sCAAK3L,EAAMquB,QAAQnc,YAAnB,QAA2B,cAQvD,kBAACC,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASwhB,GAAnC,QC9BT,IAAMG,GAAqC,SAAChjB,EAAiB3E,EAAY1F,GAC5EvC,EAAS,+CAAwC4M,EAAxC,KAA6D3E,GACjEtI,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,UCqBlD,SAAS4wB,GAAT,GAAiE,IAAD,EAAlCC,EAAkC,EAAlCA,QAASxf,EAAyB,EAAzBA,KAAMC,EAAmB,EAAnBA,gBACxD,EAAuD7O,IAA/ClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYM,EAA7B,EAA6BA,QAASJ,EAAtC,EAAsCA,aAEtC,EAAmCjF,IAAM8E,SAAS,MAAlD,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAEA,EAAqC/yB,IAAM8E,SAAS,MAApD,mBAAOkuB,EAAP,KAAmBC,EAAnB,KAEA,EAAyCjzB,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAA0B1O,oBAAS,GAAnC,mBAAOkP,EAAP,KAAcC,EAAd,KAEMC,EAAc,kBAAMD,GAAUD,IAwG9Bkf,EAAoC,SAAC3jB,GACnC0H,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,OAAKA,EAAEnF,qBAAqBgF,yBAA2BhF,EAAqBgF,2BAC7F,aAAZG,EAAE1S,QAAqC,cAAZ0S,EAAE1S,WAAyByE,OAAS,EACjEjD,EAAY,QAAS,yJAAiJ,QAAS,MAInLQ,EAAa,gBAAW,+DAA0D,YAAY,SAAUlC,GAChGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,2CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SA8E/D6jB,EAAmC,SAACtxB,GACtCiD,GAAW,GACXvB,EAAY,QAAS,sCAAuC,WAAW,WAAc9C,OAAOC,SAASiB,aAwBzGqE,qBAAU,WACN8sB,EAAczf,GAzNdpQ,EAAQ,uCAAyCoQ,EAAK+f,iBACjD1wB,MAAK,SAAAb,GAAM,OAAImxB,EAAenxB,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAwNX,aAAfuO,EAAKtR,QACLwB,EAAY,QAAS,yEAAuE,UAAW,QAG5G,IAEH,IAAMiS,EAAezV,IAAM0V,SACrBC,EAAcC,2BAAgB,CAChCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IAGE,OAAdkB,GAAsBA,EAAUlJ,aAAatH,OAAS,GAAiB,OAAZjH,IAC5CyX,EAAUlJ,aACpB0G,QAAO,SAAA4H,GAAC,OAAkC,OAA9BA,EAAExN,yBAA4E,iCAAxCwN,EAAExN,wBAAwBkD,WACtEsK,EAAE9M,qBAAqB+jB,UAAY,KACnC7sB,OAAS,GAChBjD,EAAY,QAAD,6YACyL,UAAW,OAiBvN,OACI,oCACkB,MAAbyT,GAAyD,MAApCA,EAAUC,wBAAkCD,EAAUC,uBAAuBzQ,OAAS,GAAqB,MAAhBsH,GAC7G,6BACI,yBAAK9D,UAAU,QACE,MAAXzK,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aACrC,yBAAKjH,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,WAC7B5L,GAAQ,GAAO,WACX3E,OAAOC,SAAS6Y,KAAO,yBAE5B,uBAAG3M,MAAM,wBAJZ,UAOR,yBAAK5C,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAa,uBAAG9I,MAAM,iBAAtD,cACE0G,GACE,kBAACvC,GAAA,EAAD,CAAQrH,MAAM,OAAOsH,QAAS,WA5MtD6hB,EAAQvd,KAAK,CACT4d,SAAU,yBACV9M,MAAO,CAAEpP,UAAWA,OA0M+D,uBAAGpK,MAAM,gBAAxE,wBAIZ,yBAAK5C,UAAS,OAAUmI,IAAKqD,GACzB,yBAAKxL,UAAU,aACU,SAApBgN,EAAUjV,QACP,yBAAKiI,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,eAAd,cAAwCgN,EAAUjV,OAAlD,iBAIZ,yBAAKiI,UAAU,mBACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,sBAAsBgN,EAAUsc,iCAAiCniB,iBAAiBC,UAAUU,aAGlH,yBAAK9H,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,WACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,4BACX,2BAAG,wCAAH,IAAqBgN,EAAUC,uBAAuB,GAAGF,gBAE7D,yBAAK/M,UAAU,wCACX,2BAAG,wCAAH,IAAqBgN,EAAUE,WAEnC,yBAAKlN,UAAU,4BACX,2BAAG,+CAAH,IAAyBgN,EAAUC,uBAAuB,GAAGE,cAEjE,yBAAKnN,UAAU,4BACX,2BAAG,mCAAH,IAAgBgN,EAAUC,uBAAuB,GAAGG,MAExD,yBAAKpN,UAAU,4BACX,2BAAG,kDAAH,IAA4BgN,EAAUoH,iBAEsC,OAA/EpH,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,yBAAKrH,UAAU,4BACX,2BAAG,oCAAH,IAAiBgN,EAAUC,uBAAuB,GAAGI,gBAE7D,yBAAKrN,UAAU,4BACX,2BAAG,mEAAH,IAA0CgN,EAAUC,uBAAuB,GAAGK,wBAElF,yBAAKtN,UAAU,4BACX,2BAAG,mCAAH,IAAgBgN,EAAUC,uBAAuB,GAAGM,MAExD,yBAAKvN,UAAU,4BACX,2BAAG,2CAAH,IAAqBgN,EAAUC,uBAAuB,GAAGO,WAAa,KAAOR,EAAUC,uBAAuB,GAAGQ,YAAc,KAAOT,EAAUC,uBAAuB,GAAGS,cAE9K,yBAAK1N,UAAU,4BACX,2BAAG,sCAAH,IAAmBgN,EAAUC,uBAAuB,GAAGU,SAE3D,yBAAK3N,UAAU,4BACX,2BAAG,sCAAH,IAAmBgN,EAAUC,uBAAuB,GAAGW,SAE3D,yBAAK5N,UAAU,4BACX,2BAAG,kDAAH,IAAyD,MAA7BgN,EAAUuc,gBAA0B9sB,GAAYuQ,EAAUuc,iBAAmB,KAE5Gvc,EAAU/G,yBACP,yBAAKjG,UAAU,4BACX,2BAAG,uDAAH,IAAoCgN,EAAU/G,2BAIkB,MAA3E+G,EAAUC,uBAAuB,GAAGuc,qCAA+Cxc,EAAUC,uBAAuB,GAAGuc,oCAAoChtB,OAAS,GACjK,yBAAKwD,UAAU,OACX,yBAAKA,UAAU,8BACX,2BAAG,sDAA4BgN,EAAUC,uBAAuB,GAAGuc,oCAAoC/oB,KAAI,SAAC4I,EAAMzI,GAAP,OACvG,yBAAKA,IAAKA,GAAMyI,EAAK0M,cAAcjO,iBAKrC,MAAbkF,GAAyC,YAApBA,EAAUjV,QAAwBiD,GAA6D,SAA7CA,EAAayuB,8BACjF,yBAAKzpB,UAAU,OACX,yBAAKA,UAAU,0CACX,0CAAkB,6BAClB,uBAAGE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,6CAA+C/D,EAAUoc,gBAAiB,WAAWppB,UAAU,0BAIvK,yBAAKA,UAAU,OACX,yBAAKA,UAAU,8BACX,wBAAIA,UAAU,mBAAd,kBACA,yBAAKA,UAAU,qBAGvB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,4BACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAUG,EAAUC,uBAAuB,GAAGY,kBAE3E,yBAAK7N,UAAU,wCACX,wBAAIE,MAAO,CAAE2M,WAAY,QAAUG,EAAUc,QAEjD,yBAAK9N,UAAU,4BACX,2BAAG,wCAAH,IAAqBgN,EAAUC,uBAAuB,GAAGc,WAE7D,yBAAK/N,UAAU,wCACX,2BAAG,uCAAH,IAAoBgN,EAAUC,uBAAuB,GAAGe,WAGhE,yBAAKhO,UAAU,OACX,yBAAKA,UAAU,8BACX,wBAAIA,UAAU,mBAAd,eACA,yBAAKA,UAAU,qBAItBgN,EAAUC,uBAAuB,GAAGyc,8BAA8BjpB,KAAI,SAAC4I,EAAMzI,GAAP,OACnE,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,qCADJ,IACkB,2BAAIqJ,EAAKiF,QAE3B,yBAAKtO,UAAU,kBACX,oCADJ,IACiB,2BAAIqJ,EAAKxE,OAEsD,OAA/EmI,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,yBAAKrH,UAAU,kBACX,2CADJ,IACyBqJ,EAAKsgB,0CAA4CtgB,EAAKsgB,yCAAyClpB,KAAI,SAAC4I,EAAMzI,GAAP,OACpH,uBAAGA,IAAKA,GAAMyI,EAAKmF,gBAE/B,yBAAKxO,UAAU,kBACX,4CADJ,IACyB,2BAAIqJ,EAAKoF,QAElC,yBAAKzO,UAAU,kBACX,oDADJ,IAC2B,2BAAIqJ,EAAKqF,gBAEpC,yBAAK1O,UAAU,kBACX,+CADJ,IAC4B,2BAAIqJ,EAAKsF,2BAErC,yBAAK3O,UAAU,kBACX,mCADJ,IACgB,2BAAIqJ,EAAKuF,MAEzB,yBAAK5O,UAAU,kBACX,yCADJ,IACsB,2BAAIqJ,EAAKwF,OAE/B,yBAAK7O,UAAU,kBACX,+CADJ,IAC4B,2BAAIqJ,EAAKyF,kBAErC,yBAAK9O,UAAU,kBACX,8CADJ,IACwB,2BAAI9D,GAA8BmN,EAAK0F,UAE/D,yBAAK/O,UAAU,kBACX,uCADJ,IACoB,2BAAIqJ,EAAK2F,gBAE7B,yBAAKhP,UAAU,kBACX,yDADJ,IACmC,2BAAIqJ,EAAK4F,uBAE5C,yBAAKjP,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,SAE5B,yBAAKiI,UAAU,kBACX,6CADJ,IAC0B,2BAAyB,MAArBqJ,EAAKugB,aAAuBntB,GAAY4M,EAAKugB,cAAgB,KAE3F,yBAAK5pB,UAAU,kBACX,sDADJ,IACmC,2BAAiC,MAA7BqJ,EAAKwgB,qBAA+BptB,GAAY4M,EAAKwgB,sBAAwB,KAEtG,MAAb7c,GAAyC,YAApBA,EAAUjV,QAAwBiD,GAA6D,kBAA7CA,EAAayuB,8BACjF,yBAAKzpB,UAAU,kBACX,0CAAkB,6BAClB,uBAAGE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,uCAAyC/D,EAAUoc,gBAAkB,YAAc/f,EAAKygB,iCAAkC,WAAW9pB,UAAU,yBAG3L,MAAvBqJ,EAAKsG,gBACF,yBAAK3P,UAAU,kBACX,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKsG,eAAgBD,OAAO,UAApE,oBAGwB,MAA/BrG,EAAKuG,wBACF,yBAAK5P,UAAU,kBACX,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKuG,uBAAwBF,OAAO,UAA5E,mCAGwB,MAA/BrG,EAAKwG,wBACF,yBAAK7P,UAAU,kBACX,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKwG,uBAAwBH,OAAO,UAA5E,6BAGiB,MAAxBrG,EAAKyG,iBACF,yBAAK9P,UAAU,kBACX,uBAAGuP,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBnG,EAAKyG,gBAAiBJ,OAAO,UAArE,sBAIZ,iCAIwE,OAA/E1C,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAAkB,yBAAKrH,UAAU,OACpG,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,kCACA,yBAAKA,UAAU,qBAItBgN,EAAUC,uBAAuB,GAAG8c,kCAAkCtpB,KAAI,SAAC4I,EAAMzI,GAAP,OACvE,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,mCADJ,IACgB,2BAAIqJ,EAAKkE,MAEzB,yBAAKvN,UAAU,kBACX,2CADJ,IACqB,2BAAIqJ,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,yBAAKzN,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKsE,SAE5B,yBAAK3N,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,UAGhC,iCAIwE,OAA/EiV,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,yBAAKrH,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,8BACA,yBAAKA,UAAU,qBAI1BgN,EAAUC,uBAAuB,GAAG+c,mCAAmCvpB,KAAI,SAAC4I,EAAMzI,GAAP,OACxE,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,oCADJ,IACiB,2BAAIqJ,EAAK4G,OAE1B,yBAAKjQ,UAAU,kBACX,wCADJ,IACqB,2BAAIqJ,EAAK6G,WAE9B,yBAAKlQ,UAAU,kBACX,+CADJ,IACyB,2BAAIqJ,EAAK8D,cAElC,yBAAKnN,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,SAE5B,yBAAKiI,UAAU,kBACX,mCADJ,IACgB,2BAAIqJ,EAAKkE,MAEzB,yBAAKvN,UAAU,kBACX,2CADJ,IACqB,2BAAIqJ,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,yBAAKzN,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKsE,SAE5B,yBAAK3N,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKuE,UAGhC,iCAIwE,OAA/EZ,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,yBAAKrH,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,gBACA,yBAAKA,UAAU,qBAI1BgN,EAAUC,uBAAuB,GAAGgd,kCAAkCxpB,KAAI,SAAC4I,EAAMzI,GAAP,OACvE,yBAAKA,IAAKA,GACN,yBAAKZ,UAAU,OACX,yBAAKA,UAAU,kBACX,yCADJ,IACmB,2BAAIqJ,EAAK+G,oBAE5B,yBAAKpQ,UAAU,kBACX,oCADJ,IACiB,2BAAIqJ,EAAKxE,OAE1B,yBAAK7E,UAAU,kBACX,2CADJ,IACqB,2BAAIqJ,EAAKgH,WAE9B,yBAAKrQ,UAAU,kBACX,kDADJ,IAC4B,2BAAIqJ,EAAKiH,mBAErC,yBAAKtQ,UAAU,kBACX,sCADJ,IACmB,2BAAIqJ,EAAKtR,UAGhC,iCAIR,yBAAKiI,UAAU,OACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,cACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,UAAWiX,MAAO,YAE/BxY,KAAM+U,EAAUkd,oBAChBvZ,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,uBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQE,QAAS,aAGjGC,aAAc9T,GACduK,QAASpI,MAGjB,yBAAKU,UAAU,YACX,yBAAKA,UAAU,oBACX,wBAAIA,UAAU,mBAAd,iBACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAUiX,MAAO,sBAC1B,CAAEjX,MAAO,OAAQiX,MAAO,6BACxB,CAAEjX,MAAO,QAASiX,MAAO,+BAAgCU,OAAQ,SAACL,GAAD,OAAgD,MAAnCA,EAAQlM,wBAAkCkM,EAAQlM,wBAAwBC,KAAO,KAC/J,CAAErL,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,oBAAqBiX,MAAO,0BAA2BU,OAAQ,SAACL,GAAD,OAAarU,GAAYqU,EAAQsE,2BACzG,CAAE5b,MAAO,gBAAiBiX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQuE,kBACnG,CAAE7b,MAAO,iBAAkBiX,MAAO,+BAAgCU,OAAQ,SAACL,GAAD,OAA6C,MAAhCA,EAAQqZ,qBAA+BntB,GAAmB8T,EAAQqZ,sBAAwB,KACjL,CAAE3wB,MAAO,4BAAuBiX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAuC,MAA1BA,EAAQuE,gBAA6C,eAAnBvE,EAAQ/Y,OAA0BiF,GAAmB8T,EAAQuE,gBAAkB,MAEnMpd,KAAM+U,EAAUlJ,aAAaqH,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAEgK,yBAA2B,IAAI3d,KAAKP,EAAEke,4BAC5GzE,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,sBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA7lBlB,SAACA,GAC5B,GAAuB,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,QAA8C,GAAnBuR,EAmDxExO,GAAW,GACX7B,EAAQ,gBAAkB6X,EAAQnL,iBAC7BjN,MAAK,SAAAb,GAAM,OAAI0R,EAAiB1R,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAtD9B,OAAQgW,EAAQxL,qBAAqBC,MACjC,IAAK,gBACD9O,OAAOC,SAAW,6CAA+CsW,EAAUoc,gBAC3E,MAEJ,IAAK,cACDP,EAAQvd,KAAK,CACT4d,SAAU,iDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,cACD+X,EAAQvd,KAAK,CACT4d,SAAU,iDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACD+X,EAAQvd,KAAK,CACT4d,SAAU,2CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,eACD+X,EAAQvd,KAAK,CACT4d,SAAU,iCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACD+X,EAAQvd,KAAK,CACT4d,SAAU,2CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,yCACD+X,EAAQvd,KAAK,CACT4d,SAAU,wDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kCACD+X,EAAQvd,KAAK,CACT4d,SAAU,uDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,MA+iBhDsZ,CAAuBtZ,KAExD,SAACA,GACG,OAA0B,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,QAA4C,YAAlB+Y,EAAQ/Y,SAAyB,CAC3G2B,KAAM,SACNkX,QAAS,wBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OArbjBuZ,EAqbgEvZ,OApbhG/W,EAAa,gBAAW,qCAAsC,YAAY,SAAUlC,GAChF,GAAIA,EAAQ,CACR,IAAImJ,EAAwB,MAAXzL,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,EAChGlG,GAAW,GACX6tB,GAAmC0B,EAAc1kB,gBAAiB3E,EAAYmoB,OALvD,IAACkB,MAybJpZ,aAAc9T,GACduK,QAASpI,MAGhByK,GACG,kBAACue,GAAD,CACIC,kBAAmBxe,EACnBye,qBAAsBve,EACtBZ,KAAMA,IAEd,yBAAKrJ,UAAU,uBACVsJ,IAAuB,OAAJD,QAAI,IAAJA,OAAA,EAAAA,EAAMof,wBAAwBjsB,QAAS,GACvD,kBAACuK,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMiD,MACnC,uBAAGjK,UAAU,qBADjB,4BAKgB,GAAnBsJ,GAAgD,aAApB0D,EAAUjV,QAAuC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACxG,GAAiB,gBAAb0pB,EAAK/kB,KACL,OAAQ,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,SAASsH,QAAS,kBA1gB9C1B,EA0gBmFglB,OAzgBnHtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,OAAKA,EAAEnF,qBAAqBgF,yBAA2BhF,EAAqBgF,2BAC7F,aAAZG,EAAE1S,QAAqC,cAAZ0S,EAAE1S,WAAyByE,OAAS,EACjEjD,EAAY,QAAS,uIAAqI,QAAS,MAIvKQ,EAAa,gBAAW,4DAA6D,YAAY,SAAUlC,GACnGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,iCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAX9B,IAACA,IA0gB2FglB,EAAKrT,kBAIxF,GAAnB3N,IAAiD,SAApB0D,EAAUjV,QAAyC,YAApBiV,EAAUjV,SAAuC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACxI,MAAiB,mBAAb0pB,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBA/f7C1B,EA+foFglB,OA9f1HvwB,EAAa,gBAAW,iEAAyD,YAAY,SAAUlC,GAC/FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,2CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,QAL5B,IAACA,IA+f4FglB,EAAKrT,eAG1F,0CAAbqT,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBAxf5C1B,EAwfoFglB,OAvfvHtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,OAAKA,EAAEnF,qBAAqBgF,yBAA2BhF,EAAqBgF,2BAC7F,aAAZG,EAAE1S,QAAqC,cAAZ0S,EAAE1S,WAAyByE,OAAS,EACjEjD,EAAY,QAAS,0IAAkI,QAAS,MAIpKQ,EAAa,gBAAW,mFAAwE,YAAY,SAAUlC,GAC9GA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,wDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAX3B,IAACA,IAwf4FglB,EAAKrT,eAG3F,mCAAbqT,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBA3exC1B,EA2eoFglB,OA1e3Htd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,OAAKA,EAAEnF,qBAAqBgF,yBAA2BhF,EAAqBgF,2BAC7F,aAAZG,EAAE1S,QAAqC,cAAZ0S,EAAE1S,WAAyByE,OAAS,EACjEjD,EAAY,QAAS,0IAAkI,QAAS,MAIpKQ,EAAa,gBAAW,mEAA8D,YAAY,SAAUlC,GACpGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,uDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAXvB,IAACA,IA2e4FglB,EAAKrT,eAG/F,eAAbqT,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,OAAOsH,QAAS,kBAzkBzC1B,EAykBiFglB,OAxkBxHvwB,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,iDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,QAL3B,IAACA,IAykByFglB,EAAKrT,eAGxF,eAAbqT,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBAlkB5C1B,EAkkBoFglB,OAjkBvHtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,OAAKA,EAAEnF,qBAAqBgF,yBAA2BhF,EAAqBgF,2BAC7F,aAAZG,EAAE1S,QAAqC,cAAZ0S,EAAE1S,WAAyByE,OAAS,EACjEjD,EAAY,QAAS,sIAAiI,QAAS,MAInKQ,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,iDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAX3B,IAACA,IAkkB4FglB,EAAKrT,eAG3F,mBAAbqT,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBAAMiiB,EAAkCqB,KAAQA,EAAKrT,oBAD5G,KAKgB,GAAnB3N,IAAiD,WAApB0D,EAAUjV,QAA2C,WAApBiV,EAAUjV,SAAsC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACzI,GAAiB,mBAAb0pB,EAAK/kB,KACL,OAAQ,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBAAMiiB,EAAkCqB,KAAQA,EAAKrT,kBAI5F,GAAnB3N,GAAgD,aAApB0D,EAAUjV,QAAuC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACxG,GAAiB,iBAAb0pB,EAAK/kB,KACL,OAAQ,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,WAlenFjN,EAAa,gBAAW,8CAA+C,YAAY,SAAUlC,GACrFA,IACAiD,GAAW,GAEX/B,EAAS,qCAAD,OAAsCiU,EAAUzB,eACnD7S,MAAK,SAAAb,GACF0B,EAAY,QAAS,yEAA0E,WAAW,WACtG9C,OAAOC,SAAS6Y,KAAhB,oDAAoEvC,EAAUoc,uBAGrFzwB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,YAud0FwvB,EAAKrT,kBAIzF,GAAnB3N,IACY,OAAT0D,QAAS,IAATA,GAAA,UAAAA,EAAWlJ,oBAAX,eAAyB0G,QAAO,SAAA4H,GAAC,YACjB,YAAZA,EAAEra,QAC4B,OAA9Bqa,EAAExN,yBAC+C,uBAAjD,UAAAwN,EAAExN,wBAAwBC,YAA1B,eAAgC0lB,kBAAoC/tB,QAAS,GACjFxB,GAAoD,2BAApCA,EAAawN,qBAC7B,kBAACzB,GAAA,EAAD,CACIrH,MAAM,OACNsH,QAAS,wBAjcpB,SAACrB,GACtB,IAAIF,EAAc,CACdE,gBAAiBA,EACjBsD,kBAAmB,MAGvBnO,GAAW,GACX/B,EAAS,+CAAgD0M,GAAa/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW9C,OAAOC,SAASiB,aACnKgB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAwbiBoO,CAAgB,OAAC8D,QAAD,IAACA,GAAD,UAACA,EAAWlJ,oBAAZ,aAAC,EAAyB0G,QAAO,SAAA4H,GAAC,YAAgB,YAAZA,EAAEra,QAAsD,OAA9Bqa,EAAExN,yBAAqF,uBAAjD,UAAAwN,EAAExN,wBAAwBC,YAA1B,eAAgC0lB,kBAAoC,GAAG5kB,mBAFhN,mBAYP,MAAhB7B,GACG,kBAACsF,GAAD,CACIC,KAAMvF,EACNhJ,WAAYA,EACZiJ,aA5eiB,WAC7BwF,EAAiB,OA4eLD,gBAAiBA,KC1sBtB,SAASkhB,GAAT,GAA2D,IAAD,wBAAlC3B,EAAkC,EAAlCA,QAASxf,EAAyB,EAAzBA,KAAMC,EAAmB,EAAnBA,gBAClD,EAAuD7O,IAA/ClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYM,EAA7B,EAA6BA,QAASJ,EAAtC,EAAsCA,aAEtC,EAAmCH,mBAAS,MAA5C,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAEA,EAAqCjuB,mBAAS,MAA9C,mBAAOkuB,EAAP,KAAmBC,EAAnB,KAEA,EAAyCnuB,mBAAS,MAAlD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAA0B1O,oBAAS,GAAnC,mBAAOkP,EAAP,KAAcC,EAAd,KAEMC,EAAc,kBAAMD,GAAUD,IAGpC,EAA2ClP,oBAAS,GAApD,mBAAOwX,EAAP,KAAsBC,EAAtB,KAGA,EAAmDzX,mBAAS,IAA5D,mBAAO0X,GAAP,KAA0BC,GAA1B,KAEMC,GAAsB,kBAAMH,GAAmBD,IAGrD,GAA2CxX,oBAAS,GAApD,qBAAO6X,GAAP,MAAsBC,GAAtB,MACA,GAAkC9X,mBAAS,CAAC,EAAG,IAA/C,qBAAO+X,GAAP,MAAkBC,GAAlB,MACA,GAA4ChY,mBAAS,CAAC,EAAG,IAAzD,qBAAOiY,GAAP,MAAuBC,GAAvB,MACMC,GAAa,IAAIC,KAAEC,KAAK,CAC1BC,QAAS,mGACTC,cAAe,qGAEbC,GAAY,SAAC,GAAsB,IAApBC,EAAmB,EAAnBA,OAAQC,EAAW,EAAXA,KAGzB,OAFoBC,eACRC,QAAQH,EAAQC,GACrB,MAELG,GAAkB,SAACC,GACjBA,GAAkBA,EAAe/c,MAAM,KAAK4F,OAAS,IACrDqW,GAAa,CAACc,EAAe/c,MAAM,KAAK,GAAI+c,EAAe/c,MAAM,KAAK,KACtEmc,GAAkB,CAACY,EAAe/c,MAAM,KAAK,GAAI+c,EAAe/c,MAAM,KAAK,KAC3E+b,IAAkB,KAqFpBsW,GAAoC,SAAC3jB,GACsB,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,MAIhD2F,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,QAX7D/L,EAAY,QAAS,8GAAmG,QAAS,OA+GnI4vB,GAAmC,SAACtxB,GACtCiD,GAAW,GACXvB,EAAY,QAAS,sCAAuC,WAAW,WAAc9C,OAAOC,SAASiB,cAkDzGqE,qBAAU,WACN8sB,EAAczf,GAtPdpQ,EAAQ,uCAAyCoQ,EAAK+f,iBACjD1wB,MAAK,SAAAb,GAAM,OAAImxB,EAAenxB,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAqP/B,IAEe,OAAdkS,GAAsBA,EAAUlJ,aAAatH,OAAS,IAAiB,MAAXjH,GAAoBA,GAAiC,aAAtBA,EAAQ0R,eACpF+F,EAAUlJ,aACpB0G,QAAO,SAAA4H,GAAC,OAAkC,OAA9BA,EAAExN,yBAA4E,iCAAxCwN,EAAExN,wBAAwBkD,WACtEsK,EAAE9M,qBAAqB+jB,UAAY,KACnC7sB,OAAS,GAChBjD,EAAY,QAAD,6YACyL,UAAW,OAIvN,OACI,oCACI,yBAAKyG,UAAU,OACVzK,GAAiC,aAAtBA,EAAQ0R,YAChB,yBAAKjH,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,WAC5B5L,GAAQ,GAAO,WACZ3E,OAAOC,SAAS6Y,KAAO,yBAE5B,uBAAG3M,MAAM,wBAJZ,WAON0G,GACE,yBAAKtJ,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,OAAOsH,QAAS,WAxM9C6hB,EAAQvd,KAAK,CACT4d,SAAU,yBACV9M,MAAO,CAAEpP,UAAWA,OAsMuD,uBAAGpK,MAAM,gBAAxE,wBAIZ,kBAACmJ,GAAA,EAAD,CACI6H,UAAQ,EACR5H,OAAQqG,EACRpG,OAAQwG,GACRvG,KAAM,KACNhM,MAAO,CAAEyD,UAAW,SAEpB,kBAACwI,GAAA,EAAD,CAAWnM,UAAU,SACjB,kBAAC,KAAD,CACIiM,OAAQwG,GACRzS,UAAU,WACVE,MAAO,CAAE2T,aAAc,QACvBC,MAAO,sCAJX,aAQA,kBAAChN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAO,GACPgX,QAAS,CACL,CAAEhX,MAAO,aAAciX,MAAO,oBAC9B,CAAEjX,MAAO,OAAQiX,MAAO,sBACxB,CAAEjX,MAAO,kBAAgBiX,MAAO,8BAEpCxY,KAAMsa,GACNxU,QAAS,CAAC,CACNrE,KAAM,WACNkX,QAAS,iBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQiD,gBAAiB,aAErGpD,WAAW,EACXM,aAAc9T,GACduK,QAASpI,OAIrB,kBAACwH,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,iCACnB,kBAAC+G,GAAA,EAAD,CAAQ/G,UAAU,cAAcN,MAAO,OAAQsH,QAASyL,IAAxD,cAOF,MAAbzF,GAAqC,MAAhBlJ,GAClB,6BACI,kBAACkQ,EAAA,EAAD,KACI,kBAACC,EAAA,EAAD,KACyB,SAApBjH,EAAUjV,QACP,kBAAC+O,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,eAAd,cAAwCgN,EAAUjV,OAAlD,iBAIZ,kBAAC+O,GAAA,EAAD,CAAK9G,UAAU,eACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,sBAAsBgN,EAAUsc,iCAAiCniB,iBAAiBC,UAAUU,aAGlH,kBAAChB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,WACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,wCAAH,IAAqBsE,EAAUmH,iBAAiB,GAAGpH,gBAEvD,kBAACxF,GAAA,EAAD,CAAKvH,UAAU,cAAcwH,GAAG,IAAIkB,GAAG,MACnC,2BAAG,wCAAH,IAAqBsE,EAAUE,WAEnC,kBAAC3F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,+CAAH,IAAyBsE,EAAUmH,iBAAiB,GAAGhH,cAE3D,kBAAC5F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mCAAH,IAAgBsE,EAAUmH,iBAAiB,GAAG/G,MAElD,kBAAC7F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,kDAAH,IAA4BsE,EAAUoH,iBAE1C,kBAAC7M,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,oCAAH,IAAiBsE,EAAUmH,iBAAiB,GAAG9G,gBAEiC,kBAAlFL,EAAUsc,iCAAiCniB,iBAAiBC,UAAUE,UACW,OAA/E0F,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACtE,kBAACE,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mEAAH,IAA0CsE,EAAUmH,iBAAiB,GAAG7G,wBAGhF,kBAAC/F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mCAAH,IAAgBsE,EAAUmH,iBAAiB,GAAG5G,MAElD,kBAAChG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,2CAAH,IAAqBsE,EAAUmH,iBAAiB,GAAG3G,WAAa,KAAOR,EAAUmH,iBAAiB,GAAG1G,YAAc,KAAOT,EAAUmH,iBAAiB,GAAGzG,cAE5J,kBAACnG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,sCAAH,IAAmBsE,EAAUmH,iBAAiB,GAAGxG,SAErD,kBAACpG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,sCAAH,IAAmBsE,EAAUmH,iBAAiB,GAAGvG,SAE4B,QAAhFZ,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,kBAACE,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,kDAAH,IAAyD,MAA7BsE,EAAUuc,gBAA0B9sB,GAAYuQ,EAAUuc,iBAAmB,KAGjC,OAA/Evc,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,kBAACE,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,oDAAH,IAAsF,MAArDsE,EAAUmH,iBAAiB,GAAGE,oBAA8BrH,EAAUmH,iBAAiB,GAAGE,oBAAoBvM,UAAY,KAGnF,OAA/EkF,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACd,MAArD2F,EAAUmH,iBAAiB,GAAGE,qBACiC,YAA/DrH,EAAUmH,iBAAiB,GAAGE,oBAAoBvM,WAClD,kBAACP,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,wDAAH,IAAqCsE,EAAUmH,iBAAiB,GAAGG,yBAGK,OAA/EtH,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACd,MAArD2F,EAAUmH,iBAAiB,GAAGE,qBACiC,YAA/DrH,EAAUmH,iBAAiB,GAAGE,oBAAoBvM,WAClD,kBAACP,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,0DAAH,IAAuCsE,EAAUmH,iBAAiB,GAAGI,2BAGG,OAA/EvH,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,kBAACE,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,mEAAH,IAAwG,MAA9DsE,EAAUmH,iBAAiB,GAAGK,6BAAuCxH,EAAUmH,iBAAiB,GAAGK,6BAA6B1M,UAAY,KAGhL,MAAbkF,GAAyC,YAApBA,EAAUjV,SACoD,OAA/EiV,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAAiG,OAA/E2F,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,QAC/J,oCACI,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KACJ,0CAAkB,6BAClB,uBAAGvI,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,kCAAoC/D,EAAUoc,gBAAiB,WAAWppB,UAAU,mCAEpE,OAA/EgN,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KACJ,6CAAqB,6BACrB,uBAAGvI,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,wCAA0C/D,EAAUoc,gBAAiB,WAAWppB,UAAU,oCAKxJ,MAAbgN,GAAyC,YAApBA,EAAUjV,QACmD,OAA/EiV,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACtE,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,0CAAkB,6BAClB,uBAAGE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,mCAAqC/D,EAAUoc,gBAAiB,WAAWppB,UAAU,oCAK/I,MAAbgN,GACuB,YAApBA,EAAUjV,QACqE,OAA/EiV,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAAoG,kBAAlF2F,EAAUsc,iCAAiCniB,iBAAiBC,UAAUE,UAC9J,kBAACR,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,oBACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,0DAAH,cAAoCsE,EAAUmH,iBAAiB,GAAGM,2BAAlE,QAAyF,KAE7F,kBAAClN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,yDAAH,cAAsCsE,EAAUmH,iBAAiB,GAAGO,yBAApE,QAAyF,KAE7F,kBAACnN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,yDAAH,cAAmCsE,EAAUmH,iBAAiB,GAAGO,yBAAjE,QAAsF,KAE1F,kBAACnN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,uDAAH,cAAoCsE,EAAUmH,iBAAiB,GAAGQ,2BAAlE,QAAyF,KAE7F,kBAACpN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,qDAAH,wBAA4BsE,EAAUmH,iBAAiB,UAAvD,iBAA4B,EAA+BS,iBAA3D,iBAA4B,EAA0CC,kBAAtE,aAA4B,EAAsDC,QAAQ,IAAK,YAA/F,QAAuG,KAE3G,kBAACvN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,6DAAH,wBAAiCsE,EAAUmH,iBAAiB,GAAGY,sBAA/D,iBAAiC,EAA8CF,kBAA/E,aAAiC,EAA0DC,QAAQ,IAAK,YAAxG,QAAgH,MAI5H,kBAAChO,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,kBACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,wBAAIxI,MAAO,CAAE2M,WAAY,QAAUG,EAAUmH,iBAAiB,GAAGtG,kBAErE,kBAACtG,GAAA,EAAD,CAAKvH,UAAU,cAAcwH,GAAG,IAAIkB,GAAG,MACnC,wBAAIxI,MAAO,CAAE2M,WAAY,QAAUG,EAAUc,QAEjD,kBAACvG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,wCAAH,IAAqBsE,EAAUmH,iBAAiB,GAAGpG,WAEvD,kBAACxG,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAAc0I,GAAG,MACnC,2BAAG,uCAAH,IAAoBsE,EAAUmH,iBAAiB,GAAGnG,WAGsB,OAA/EhB,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,oCACI,kBAACP,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,6BACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,wBAAIxI,MAAO,CAAE2M,WAAY,QAAUG,EAAUmH,iBAAiB,GAAGa,yBAErE,kBAACzN,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,8CAAH,IAA2BsE,EAAUmH,iBAAiB,GAAGc,kCAE7D,kBAAC1N,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mDAAH,IAA6BsE,EAAUmH,iBAAiB,GAAGe,oCAE/D,kBAAC3N,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MAC4D,MAAtEsE,EAAUmH,iBAAiB,GAAGgB,sCAC3B,uBAAG5F,MAAkB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBxC,EAAUmH,iBAAiB,GAAGgB,qCAAsCzF,OAAO,UAAnH,wBAMqD,MAAxE1C,EAAUmH,iBAAiB,GAAGsW,wCAAkDzd,EAAUmH,iBAAiB,GAAGsW,uCAAuCjuB,OAAS,GAC3J,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,wCACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACV,GAAA,EAAD,CAAK2B,GAAG,MACHuE,EAAUmH,iBAAiB,GAAGsW,uCAAuCjgB,QAAO,SAAA4H,GAAC,QAAMA,EAAEmD,6BAA6BC,SAAOhZ,OAAS,GAC/H,kBAAC+K,GAAA,EAAD,CAAKkB,GAAG,KACJ,qCAGR,kBAAClB,GAAA,EAAD,CAAKkB,GAAIuE,EAAUmH,iBAAiB,GAAGsW,uCAAuCjgB,QAAO,SAAA4H,GAAC,QAAMA,EAAEmD,6BAA6BC,SAAOhZ,OAAS,EAAI,IAAM,KACjJ,yCAEHwQ,EAAUmH,iBAAiB,GAAGsW,uCAAuCjgB,QAAO,SAAA4H,GAAC,QAAMA,EAAEmD,6BAA6B1Q,QAAMrI,OAAS,GAC9H,kBAAC+K,GAAA,EAAD,CAAKkB,GAAG,KACJ,oCAGR,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,+CAEJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,2CAGPuE,EAAUmH,iBAAiB,GAAGsW,uCAAuChqB,KAAI,SAAC4I,EAAMzI,GAAP,aACtE,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACHY,EAAKkM,6BAA6BC,OAC/B,kBAACjO,GAAA,EAAD,CAAKkB,GAAG,KACJ,2BAAIY,EAAKkM,6BAA6BC,QAG9C,kBAACjO,GAAA,EAAD,CAAKkB,GAAIY,EAAKkM,6BAA6BC,MAAQ,IAAM,KACrD,2BAAInM,EAAKkM,6BAA6BE,SAEzCpM,EAAKkM,6BAA6B1Q,MAC/B,kBAAC0C,GAAA,EAAD,CAAKkB,GAAG,KACJ,2BAAIY,EAAKkM,6BAA6B1Q,OAG9C,kBAAC0C,GAAA,EAAD,CAAKkB,GAAG,KACJ,2BAAIY,EAAKkM,6BAA6BzN,YAE1C,kBAACP,GAAA,EAAD,CAAKkB,GAAG,KACJ,2BAAIY,EAAKqM,mBAAT,IAAuG,QAAzE,UAAA1I,EAAUmH,iBAAiB,GAAGK,oCAA9B,eAA4DpN,WAAqB,SAAW,aAA1H,OAGR,mCAOgD,MAAnE4F,EAAUmH,iBAAiB,GAAGuW,mCAA6C1d,EAAUmH,iBAAiB,GAAGuW,kCAAkCluB,OAAS,GACjJ,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,yBACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACHwF,EAAUmH,iBAAiB,GAAGuW,kCAAkCjqB,KAAI,SAAC4I,EAAMzI,GAAP,OACjE,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,mCADJ,IACgB,2BAAIY,EAAKkE,MAEzB,kBAAChG,GAAA,EAAD,CAAKkB,GAAG,KACJ,2CADJ,IACqB,2BAAIY,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,kBAAClG,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAKsE,SAE5B,kBAACpG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,OAAOwH,KAAK,SAASF,QAAS,kBAAM0M,GAAgBrK,EAAKsK,kBAAiB,uBAAG3T,UAAU,6BAG7G,mCAOpB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,oBACA,yBAAKA,UAAU,qBAGtBgN,EAAUmH,iBAAiB,GAAGwW,uBAAuBlqB,KAAI,SAAC4I,EAAMzI,GAAP,aACtD,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,mCADJ,IACgB,2BAAIY,EAAKkE,MAEzB,kBAAChG,GAAA,EAAD,CAAKkB,GAAG,KACJ,2CADJ,IACqB,2BAAIY,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,kBAAClG,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAKsE,SAE5B,kBAACpG,GAAA,EAAD,CAAKkB,GAAG,KACoB,MAAvBY,EAAKsK,gBACF,kBAAC5M,GAAA,EAAD,CAAQrH,MAAM,OAAOwH,KAAK,SAASF,QAAS,kBAAM0M,GAAgBrK,EAAKsK,kBAAiB,uBAAG3T,UAAU,4BAEpG,OAAJqJ,QAAI,IAAJA,GAAA,UAAAA,EAAMuhB,sCAAN,eAAsCpuB,QAAS,GAC5C,kBAACuK,GAAA,EAAD,CACIrH,MAAM,UACNwH,KAAK,SAASF,QAAS,WACnBwL,GAAsBnJ,EAAKuhB,gCAC3BtY,GAAkB,KAGtB,uBAAGtS,UAAU,oBAPjB,gBAYZ,iCAIPgN,EAAUmH,iBAAiB,GAAG0W,+BAA+BpqB,KAAI,SAAC4I,EAAMzI,GAAP,OAC9D,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,yBACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAK0M,cAAcjO,YAE1C,kBAACP,GAAA,EAAD,CAAKkB,GAAG,KACJ,wDADJ,IACqC,2BAAIY,EAAKqM,sBAGlD,iCAIR,kBAAC5O,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,cACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,UAAWiX,MAAO,YAE/BxY,KAAM+U,EAAUkd,oBAChBvZ,WAAW,EACXjJ,QAAS,CACLkQ,WAAW,EACX2G,cAAc,GAElBxgB,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,uBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQE,QAAS,aAGjGC,aAAc9T,MAGtB,kBAAC2J,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,iBACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAUiX,MAAO,sBAC1B,CAAEjX,MAAO,OAAQiX,MAAO,6BACxB,CACIjX,MAAO,QAASiX,MAAO,+BAAgCU,OAAQ,SAACL,GAAD,OACxB,MAAnCA,EAAQlM,wBACgE,OAAjEkM,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OACZ,gCAAxCyJ,EAAQlM,wBAAwBC,MACd,cAAlBiM,EAAQ/Y,OACT,aACA+Y,EAAQlM,wBAAwBC,KACpC,KAEd,CAAErL,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,oBAAqBiX,MAAO,0BAA2BU,OAAQ,SAACL,GAAD,OAAarU,GAAYqU,EAAQsE,2BACzG,CAAE5b,MAAO,gBAAiBiX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQuE,kBACnG,CAAE7b,MAAO,iBAAkBiX,MAAO,uBAAwBU,OAAQ,SAACL,GAAD,OAA6C,MAAhCA,EAAQqZ,qBAA+BntB,GAAmB8T,EAAQqZ,sBAAwB,KACzK,CAAE3wB,MAAO,4BAAuBiX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAuC,MAA1BA,EAAQuE,gBAA6C,eAAnBvE,EAAQ/Y,OAA0BiF,GAAmB8T,EAAQuE,gBAAkB,MAEnMpd,KAAM+U,EAAUlJ,aAAaqH,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAEgK,yBAA2B,IAAI3d,KAAKP,EAAEke,4BAC5GzE,WAAW,EACXjJ,QAAS,CACLkQ,WAAW,EACX2G,cAAc,GAElBxgB,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,sBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA5sBlB,SAACA,GAC5B,GAAuB,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,QAA8C,GAAnBuR,EA0DxExO,GAAW,GACX7B,EAAQ,gBAAkB6X,EAAQnL,iBAC7BjN,MAAK,SAAAb,GAAM,OAAI0R,EAAiB1R,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA7D9B,OAAQgW,EAAQxL,qBAAqBC,MACjC,IAAK,gBACoE,OAAjEuL,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAAmF,OAAjEyJ,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,MAClI5Q,OAAOC,SAAW,uCAAyCsW,EAAUoc,gBAErE3yB,OAAOC,SAAW,0CAA4CsW,EAAUoc,gBAC5E,MAEJ,IAAK,kBACoE,OAAjEtY,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAAmF,OAAjEyJ,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAClIwhB,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAGzG,MACJ,IAAK,cACoE,OAAjEA,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAAmF,OAAjEyJ,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAClIwhB,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAGzG,MACJ,IAAK,cACoE,OAAjEA,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAAmF,OAAjEyJ,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAClIwhB,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAGzG,MACJ,IAAK,eACoE,OAAjEA,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAAmF,OAAjEyJ,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAClIwhB,EAAQvd,KAAK,CACT4d,SAAU,iCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAGzG,MACJ,IAAK,kBACoE,OAAjEA,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OACxDwhB,EAAQvd,KAAK,CACT4d,SAAU,wCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAGpC,OAAjEA,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAAmF,OAAjEyJ,EAAQxL,qBAAqB6B,iBAAiBC,UAAUC,OAClIwhB,EAAQvd,KAAK,CACT4d,SAAU,6CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,MAwpBpDsZ,CAAuBtZ,KAExD,SAACA,GACG,OAA0B,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,QAA4C,YAAlB+Y,EAAQ/Y,SAAyB,CAC3G2B,KAAM,SACNkX,QAAS,wBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAhiBjBuZ,EAgiBgEvZ,OA/hBhG/W,EAAa,gBAAW,mCAAoC,YAAY,SAAUlC,GAC9E,GAAIA,EAAQ,CACR,IAAImJ,EAAwB,MAAXzL,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,EAChGlG,GAAW,GACX6tB,GAAmC0B,EAAc1kB,gBAAiB3E,EAAYmoB,QALvD,IAACkB,MAoiBJpZ,aAAc9T,MAGrB4M,GACG,kBAACue,GAAD,CACIC,kBAAmBxe,EACnBye,qBAAsBve,EACtBZ,KAAMA,IAEd,yBAAKrJ,UAAU,eACVsJ,IAAuB,OAAJD,QAAI,IAAJA,OAAA,EAAAA,EAAMof,wBAAwBjsB,QAAS,GACvD,kBAACuK,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMiD,MACnC,uBAAGjK,UAAU,qBADjB,4BAKgB,GAAnBsJ,IAAiD,SAApB0D,EAAUjV,QAAyC,YAApBiV,EAAUjV,SAAuC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACxI,MAAiB,eAAb0pB,EAAK/kB,MAAgE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,OAA2D,OAAzCijB,EAAKnjB,iBAAiBC,UAAUC,MAIjG,eAAbijB,EAAK/kB,MAAgE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,OAA2D,OAAzCijB,EAAKnjB,iBAAiBC,UAAUC,MAIjG,mBAAbijB,EAAK/kB,MAAiE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,OAA2D,OAAzCijB,EAAKnjB,iBAAiBC,UAAUC,MAIlG,gBAAbijB,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS,kBAznBpC1B,EAynByEglB,OAxnBzGtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,0DAA2D,YAAY,SAAUlC,GACjGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,iCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAT9B,IAACA,IAynBiFglB,EAAKrT,oBAD9F,EAHY,kBAAClQ,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMiiB,GAAkCqB,KAAQA,EAAKrT,eAJtF,kBAAClQ,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,WA9kB/B,IAAC1B,EACkB,QADlBA,EA8kB0EglB,GA7kB5FnjB,iBAAiBC,UAAUC,MAKhD2F,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,gEAA8D,YAAY,SAAUlC,GACpGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,QAZ7D/L,EAAY,QAAS,8GAAmG,QAAS,QA4kBR+wB,EAAKrT,eAJ1F,kBAAClQ,GAAA,EAAD,CAAQrH,MAAM,OAAOsH,QAAS,WA9lB5B,IAAC1B,EACkB,QADlBA,EA8lBuEglB,GA7lBzFnjB,iBAAiBC,UAAUC,MAKhD2F,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,gEAA8D,YAAY,SAAUlC,GACpGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,QAZ7D/L,EAAY,QAAS,8GAAmG,QAAS,QA4lBX+wB,EAAKrT,kBAgBnF,GAAnB3N,IAAiD,WAApB0D,EAAUjV,QAA2C,WAApBiV,EAAUjV,SAAsC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACzI,GAAiB,mBAAb0pB,EAAK/kB,OAAiE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,OAA2D,OAAzCijB,EAAKnjB,iBAAiBC,UAAUC,OAC/G,OAAQ,kBAACN,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMiiB,GAAkCqB,KAAQA,EAAKrT,kBAIlF,GAAnB3N,GAAgD,SAApB0D,EAAUjV,QAAmC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACpG,MAAiB,mBAAb0pB,EAAK/kB,MAAiE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,MACrD,kBAACN,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBAnqB5C1B,EAmqBoFglB,OAlqBvHtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,wCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAT3B,IAACA,IAmqB4FglB,EAAKrT,eAE3F,mBAAbqT,EAAK/kB,MAAiE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,OAA2D,OAAzCijB,EAAKnjB,iBAAiBC,UAAUC,WAAnH,EACY,kBAACN,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBAvpBrC1B,EAupBoFglB,OAtpB9Htd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,6CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SATpB,IAACA,IAupB4FglB,EAAKrT,kBAInG,GAAnB3N,GAAgD,aAApB0D,EAAUjV,QAAuC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACxG,GAAiB,iBAAb0pB,EAAK/kB,KACL,OAAQ,kBAACwB,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAzkBrC1B,EAykB0EglB,OAxkB9GvwB,EAAa,gBAAW,8CAA+C,YAAY,SAAUlC,GACrFA,IACAiD,GAAW,GAEX/B,EAAS,qCAAD,OAAsCiU,EAAUzB,eACnD7S,MAAK,SAAAb,GACF0B,EAAY,QAAS,yEAA0E,WAAW,WACzC,OAAzD+L,EAAqB6B,iBAAiBC,UAAUC,MAChD5Q,OAAOC,SAAS6Y,KAAhB,iDAAiEvC,EAAUoc,iBAE3E3yB,OAAOC,SAAS6Y,KAAhB,8CAA8DvC,EAAUoc,uBAGnFzwB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAfH,IAACwK,IAykBkFglB,EAAKrT,kBAI/E,GAAnB3N,IACY,OAAT0D,QAAS,IAATA,GAAA,UAAAA,EAAWlJ,oBAAX,eAAyB0G,QAAO,SAAA4H,GAAC,YACjB,YAAZA,EAAEra,QAC4B,OAA9Bqa,EAAExN,yBAC+C,uBAAjD,UAAAwN,EAAExN,wBAAwBC,YAA1B,eAAgC0lB,kBAAoC/tB,QAAS,GACjFxB,GAAoD,2BAApCA,EAAawN,qBAC7B,kBAACzB,GAAA,EAAD,CACIrH,MAAM,OACNsH,QAAS,wBAnjBpB,SAACrB,GACtB,IAAIF,EAAc,CACdE,gBAAiBA,EACjBsD,kBAAmB,MAGvBnO,GAAW,GACX/B,EAAS,+CAAgD0M,GACpD/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW9C,OAAOC,SAASiB,aAClGgB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAyiBiBoO,CAAgB,OAAC8D,QAAD,IAACA,GAAD,UAACA,EAAWlJ,oBAAZ,aAAC,EAAyB0G,QAAO,SAAA4H,GAAC,YAAgB,YAAZA,EAAEra,QAAsD,OAA9Bqa,EAAExN,yBAAqF,uBAAjD,UAAAwN,EAAExN,wBAAwBC,YAA1B,eAAgC0lB,kBAAoC,GAAG5kB,mBAFhN,kBAWhB,kBAACoG,GAAA,EAAD,CAAO6H,UAAQ,EAAC5H,OAAQ0G,GAAezG,OAAQ,kBAAM0G,IAAkB,IAAQjR,OAAO,WAClF,kBAACyK,GAAA,EAAD,CAAWnM,UAAU,SACjB,yDACA,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,yBAAKoF,GAAG,OACJ,kBAACoJ,GAAA,EAAD,CAAc9V,MAAO,CAAEwB,OAAQ,MAC3B,kBAAC2R,GAAD,CAAWC,OAAQV,GAAWW,KAAM,KACpC,kBAAC0C,GAAA,EAAD,CACIC,IAAI,qDACJC,YAAY,yEACZC,QAAS,KAEb,kBAACC,GAAA,EAAD,CAAQC,SAAUxD,GAAgByD,WAAW,EAAO7c,KAAMsZ,UAM9E,kBAACxG,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAY8W,SAAO,EAACxP,QAAS,kBAAM2L,IAAkB,KAAnE,aAMC,MAAhB7O,GACG,kBAAC,GAAD,CAAmBuF,KAAMvF,EAAcC,aA3lBlB,WAC7BwF,EAAiB,OA0lBsED,gBAAiBA,KC52BjG,SAASwhB,GAAT,GAA2D,IAAD,EAAlCjC,EAAkC,EAAlCA,QAASxf,EAAyB,EAAzBA,KAAMC,EAAmB,EAAnBA,gBAClD,EAAuD7O,IAA/ClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYM,EAA7B,EAA6BA,QAASJ,EAAtC,EAAsCA,aAEtC,EAAmCH,mBAAS,MAA5C,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAEA,EAAqCjuB,mBAAS,MAA9C,mBAAOkuB,EAAP,KAAmBC,EAAnB,KAEA,EAAyCnuB,mBAAS,MAAlD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAA0B1O,oBAAS,GAAnC,mBAAOkP,EAAP,KAAcC,EAAd,KAEMC,EAAc,kBAAMD,GAAUD,IAGpC,EAA2ClP,oBAAS,GAApD,mBAAO6X,EAAP,KAAsBC,EAAtB,KACA,EAAkC9X,mBAAS,CAAC,EAAG,IAA/C,mBAAO+X,EAAP,KAAkBC,EAAlB,KACA,EAA4ChY,mBAAS,CAAC,EAAG,IAAzD,mBAAOiY,EAAP,KAAuBC,EAAvB,KACMC,EAAa,IAAIC,KAAEC,KAAK,CAC1BC,QAAS,mGACTC,cAAe,qGAEbC,EAAY,SAAC,GAAsB,IAApBC,EAAmB,EAAnBA,OAAQC,EAAW,EAAXA,KAGzB,OAFoBC,eACRC,QAAQH,EAAQC,GACrB,MA8EL0V,EAAoC,SAAC3jB,GACnC0H,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAM/DylB,EAAoC,SAACzlB,GACnC0H,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAqB/D0lB,EAAiC,SAAC1lB,GAChC0H,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,0DAA2D,YAAY,SAAUlC,GACjGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,iCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAgD/D6jB,GAAmC,SAACtxB,GACtCiD,GAAW,GACXvB,EAAY,QAAS,sCAAuC,WAAW,WACnE9C,OAAOC,SAASiB,cAsCxBqE,qBAAU,WACN8sB,EAAczf,GAnNdpQ,EAAQ,uCAAyCoQ,EAAK+f,iBACjD1wB,MAAK,SAAAb,GAAM,OAAImxB,EAAenxB,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAkN/B,IAEe,OAAdkS,GAAsBA,EAAUlJ,aAAatH,OAAS,IAAiB,MAAXjH,GAAoBA,GAAiC,aAAtBA,EAAQ0R,eACpF+F,EAAUlJ,aACpB0G,QAAO,SAAA4H,GAAC,OAAkC,OAA9BA,EAAExN,yBAA4E,iCAAxCwN,EAAExN,wBAAwBkD,WACtEsK,EAAE9M,qBAAqB+jB,UAAY,KACnC7sB,OAAS,GAChBjD,EAAY,QAAD,4YACwL,UAAW,OAKtN,OACI,oCACI,yBAAKyG,UAAU,OACVzK,GAAiC,aAAtBA,EAAQ0R,YAChB,yBAAKjH,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,WAC5B5L,GAAQ,GAAO,WACZ3E,OAAOC,SAAS6Y,KAAO,yBAE5B,uBAAG3M,MAAM,wBAJZ,WAON0G,GACE,yBAAKtJ,UAAU,6BACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,OAAOsH,QAAS,WAnL9C6hB,EAAQvd,KAAK,CACT4d,SAAU,yBACV9M,MAAO,CAAEpP,UAAWA,OAiLuD,uBAAGpK,MAAM,gBAAxE,wBAIE,MAAboK,GAAqC,MAAhBlJ,GAClB,6BACI,kBAACkQ,EAAA,EAAD,KACI,kBAACC,EAAA,EAAD,KACyB,SAApBjH,EAAUjV,QACP,kBAAC+O,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,eAAd,cAAwCgN,EAAUjV,OAAlD,iBAIZ,kBAAC+O,GAAA,EAAD,CAAK9G,UAAU,eACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,sBAAsBgN,EAAUsc,iCAAiCniB,iBAAiBC,UAAUU,aAGlH,kBAAChB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,WACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,wCAAH,IAAqBsE,EAAU0J,iBAAiB,GAAG3J,gBAEvD,kBAACxF,GAAA,EAAD,CAAKvH,UAAU,cAAcwH,GAAG,IAAIkB,GAAG,MACnC,2BAAG,wCAAH,IAAqBsE,EAAUE,WAEnC,kBAAC3F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,+CAAH,IAAyBsE,EAAU0J,iBAAiB,GAAGvJ,cAE3D,kBAAC5F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,kCAAH,IAAesE,EAAU0J,iBAAiB,GAAGC,qBAEjD,kBAACpP,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mCAAH,IAAgBsE,EAAU0J,iBAAiB,GAAGtJ,MAElD,kBAAC7F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,kDAAH,IAA4BsE,EAAUoH,iBAE1C,kBAAC7M,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,mCAAH,IAAgBsE,EAAU0J,iBAAiB,GAAGnJ,MAElD,kBAAChG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,2CAAH,IAAqBsE,EAAU0J,iBAAiB,GAAGlJ,WAAa,KAAOR,EAAU0J,iBAAiB,GAAGjJ,YAAc,KAAOT,EAAU0J,iBAAiB,GAAGhJ,cAE5J,kBAACnG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,sCAAH,IAAmBsE,EAAU0J,iBAAiB,GAAG/I,SAErD,kBAACpG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,sCAAH,IAAmBsE,EAAU0J,iBAAiB,GAAG9I,SAErD,kBAACrG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,4DAAH,IAAgCsE,EAAU0J,iBAAiB,GAAGE,wBAElE,kBAACrP,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,+CAAH,IAA4BsE,EAAU0J,iBAAiB,GAAGG,cAE9D,kBAACtP,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,kDAAH,IAAyD,MAA7BsE,EAAUuc,gBAA0B9sB,GAAYuQ,EAAUuc,iBAAmB,KAE7G,kBAAChiB,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,oFAAH,IAAiEsE,EAAU0J,iBAAiB,GAAGuU,sCAAwC,MAAQ,WAEnJ,kBAAC1jB,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,uFAAH,IAA2DsE,EAAU0J,iBAAiB,GAAGwU,4BAA8B,MAAQ,WAEnI,kBAAC3jB,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACZ,2BAAG,kDAAH,IAAyBsE,EAAU0J,iBAAiB,GAAGyU,wBAG/D,kBAACrkB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,kBACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,wBAAIxI,MAAO,CAAE2M,WAAY,QAAUG,EAAU0J,iBAAiB,GAAG7I,kBAErE,kBAACtG,GAAA,EAAD,CAAKvH,UAAU,cAAcwH,GAAG,IAAIkB,GAAG,MACnC,wBAAIxI,MAAO,CAAE2M,WAAY,QAAUG,EAAUc,QAEjD,kBAACvG,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,wCAAH,IAAqBsE,EAAU0J,iBAAiB,GAAG3I,WAEvD,kBAACxG,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAAc0I,GAAG,MACnC,2BAAG,uCAAH,IAAoBsE,EAAU0J,iBAAiB,GAAG1I,WAG1D,kBAAClH,GAAA,EAAD,KACkB,MAAbkG,GAAyC,YAApBA,EAAUjV,QAAuG,OAA/EiV,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAC1H,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,0CAAkB,6BAClB,uBAAGE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,yCAA2C/D,EAAUoc,gBAAiB,WAAWppB,UAAU,oCAInK,kBAAC8G,GAAA,EAAD,KACoF,OAA/EkG,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OACnE,kBAACE,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,8BACA,yBAAKA,UAAU,qBAG1BgN,EAAU0J,iBAAiB,GAAG0U,uBAAuB3qB,KAAI,SAAC4I,EAAMzI,GAAP,OACtD,yBAAKA,IAAKA,GACN,kBAACkG,GAAA,EAAD,CAAK2B,GAAG,MACJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,mDADJ,IAC0B,2BAAIY,EAAK4N,gBAEnC,kBAAC1P,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAKtR,SAE5B,kBAACwP,GAAA,EAAD,CAAKkB,GAAG,KACJ,mCADJ,IACgB,2BAAIY,EAAKkE,MAEzB,kBAAChG,GAAA,EAAD,CAAKkB,GAAG,KACJ,2CADJ,IACqB,2BAAIY,EAAKmE,WAAa,KAAOnE,EAAKoE,cAEvD,kBAAClG,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,2BAAIY,EAAKsE,SAE5B,kBAACpG,GAAA,EAAD,CAAKkB,GAAG,KACJ,0CADJ,IACuB,2BAAIY,EAAK6N,WAAa,WAE7C,kBAAC3P,GAAA,EAAD,CAAKkB,GAAG,KACJ,gDADJ,IACuB,2BAAIY,EAAKrD,aAER,MAAvBqD,EAAKsK,gBACF,kBAACpM,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,OAAOwH,KAAK,SAASF,QAAS,WAlYhE,IAAC2M,KAkYqFtK,EAAKsK,iBAjYzFA,EAAe/c,MAAM,KAAK4F,OAAS,IACrDqW,EAAa,CAACc,EAAe/c,MAAM,KAAK,GAAI+c,EAAe/c,MAAM,KAAK,KACtEmc,EAAkB,CAACY,EAAe/c,MAAM,KAAK,GAAI+c,EAAe/c,MAAM,KAAK,KAC3E+b,GAAkB,MA8X0G,uBAAG3S,UAAU,4BAG/F,MAAbgN,GAAyC,YAApBA,EAAUjV,QAC5B,kBAACwP,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,0CAAkB,6BAClB,uBAAGE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,uCAAyC/D,EAAUoc,gBAAkB,UAAY/f,EAAKgiB,yBAA0B,WAAWrrB,UAAU,oCAK7M,iCAGR,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,yBACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACHwF,EAAU0J,iBAAiB,GAAG4U,+BAA+B7qB,KAAI,SAAC4I,EAAMzI,GAAP,OAC9D,yBAAKA,IAAKA,GAAMyI,EAAK0M,cAAcjO,UAAU,mCAIxDkF,EAAU0J,iBAAiB,GAAG6U,gCAAgC/uB,OAAS,GACpE,kBAACsK,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,+BACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACHwF,EAAU0J,iBAAiB,GAAG6U,gCAAgC9qB,KAAI,SAAC4I,EAAMzI,GAAP,OAC/D,yBAAKA,IAAKA,GAAMyI,EAAK4D,uBAAuBF,cAAc,mCAK1E,kBAACjG,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,cACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,UAAWiX,MAAO,YAE/BxY,KAAM+U,EAAUkd,oBAChBvZ,WAAW,EACXjJ,QAAS,CACLkQ,WAAW,EACX2G,cAAc,GAElBxgB,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,uBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBra,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQE,QAAS,aAGjGC,aAAc9T,MAGtB,kBAAC2J,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,iBACA,yBAAKA,UAAU,oBAGnB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQhP,MAAO,QAC9C/H,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,YAAUiX,MAAO,sBAC1B,CAAEjX,MAAO,OAAQiX,MAAO,6BACxB,CACIjX,MAAO,QAASiX,MAAO,+BAAgCU,OAAQ,SAACL,GAAD,OACxB,MAAnCA,EAAQlM,wBACFkM,EAAQlM,wBAAwBC,KAChC,KAEd,CAAErL,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,oBAAqBiX,MAAO,0BAA2BU,OAAQ,SAACL,GAAD,OAAarU,GAAYqU,EAAQsE,2BACzG,CAAE5b,MAAO,gBAAiBiX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAa9T,GAAmB8T,EAAQuE,kBACnG,CAAE7b,MAAO,iBAAkBiX,MAAO,uBAAwBU,OAAQ,SAACL,GAAD,OAA6C,MAAhCA,EAAQqZ,qBAA+BntB,GAAmB8T,EAAQqZ,sBAAwB,KACzK,CAAE3wB,MAAO,4BAAuBiX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAuC,MAA1BA,EAAQuE,gBAA6C,eAAnBvE,EAAQ/Y,OAA0BiF,GAAmB8T,EAAQuE,gBAAkB,MAEnMpd,KAAM+U,EAAUlJ,aAAaqH,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAEgK,yBAA2B,IAAI3d,KAAKP,EAAEke,4BAC5GzE,WAAW,EACXjJ,QAAS,CACLkQ,WAAW,EACX2G,cAAc,GAElBxgB,QAAS,CACL,CACIrE,KAAM,oBACNkX,QAAS,sBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAtdlB,SAACA,GAC5B,GAAuB,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,QAA8C,GAAnBuR,EA6CxExO,GAAW,GACX7B,EAAQ,gBAAkB6X,EAAQnL,iBAC7BjN,MAAK,SAAAb,GAAM,OAAI0R,EAAiB1R,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAhD9B,OAAQgW,EAAQxL,qBAAqBC,MACjC,IAAK,gBACD9O,OAAOC,SAAW,uCAAyCsW,EAAUoc,gBACrE,MAEJ,IAAK,kBACDP,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,cACD+X,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,cACD+X,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,eACD+X,EAAQvd,KAAK,CACT4d,SAAU,iCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACD+X,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,wBACD+X,EAAQvd,KAAK,CACT4d,SAAU,6CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,MA8ahDsZ,CAAuBtZ,KAExD,SAACA,GACG,OAA0B,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,QAA4C,YAAlB+Y,EAAQ/Y,SAAyB,CAC3G2B,KAAM,SACNkX,QAAS,wBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAnUjBuZ,EAmUgEvZ,OAlUhG/W,EAAa,gBAAW,mCAAoC,YAAY,SAAUlC,GAC9E,GAAIA,EAAQ,CACR,IAAImJ,EAAwB,MAAXzL,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,EAChGlG,GAAW,GACX6tB,GAAmC0B,EAAc1kB,gBAAiB3E,EAAYmoB,QALvD,IAACkB,MAuUJpZ,aAAc9T,MAGtB,yBAAK6C,UAAU,eACV+J,GACG,kBAACue,GAAD,CACIC,kBAAmBxe,EACnBye,qBAAsBve,EACtBZ,KAAMA,IAEbC,IAAuB,OAAJD,QAAI,IAAJA,OAAA,EAAAA,EAAMof,wBAAwBjsB,QAAS,GACvD,kBAACuK,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMiD,MACnC,uBAAGjK,UAAU,qBADjB,4BAKgB,GAAnBsJ,IAAiD,SAApB0D,EAAUjV,QAAyC,YAApBiV,EAAUjV,SAAuC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACxI,MAAiB,eAAb0pB,EAAK/kB,MAA+D,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,MACnD,kBAACN,GAAA,EAAD,CAAQrH,MAAM,OAAOsH,QAAS,kBAzXjC1B,EAyXuEglB,OAxXxGtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,0EAAkE,YAAY,SAAUlC,GACxGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAT7B,IAACA,IAyX+EglB,EAAKrT,eAG5E,eAAbqT,EAAK/kB,MAA+D,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,MACnD,kBAACN,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBA9WpC1B,EA8W0EglB,OA7W3Gtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,0EAAkE,YAAY,SAAUlC,GACxGA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SAT7B,IAACA,IA8WG,IAAgFglB,EAAKrT,eAGhF,mBAAbqT,EAAK/kB,MAAiE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,OAA2D,OAAzCijB,EAAKnjB,iBAAiBC,UAAUC,MAIlG,gBAAbijB,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS,kBAAMgkB,EAA+BV,KAAQA,EAAKrT,oBAD9F,EAHY,kBAAClQ,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMiiB,EAAkCqB,KAAQA,EAAKrT,kBAQlF,GAAnB3N,IAAiD,WAApB0D,EAAUjV,QAA2C,WAApBiV,EAAUjV,SAAsC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACzI,MAAiB,mBAAb0pB,EAAK/kB,MAAiE,OAAzC+kB,EAAKnjB,iBAAiBC,UAAUC,OAA2D,OAAzCijB,EAAKnjB,iBAAiBC,UAAUC,MAIlG,gBAAbijB,EAAK/kB,KACG,kBAACwB,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS,kBAAMgkB,EAA+BV,KAAQA,EAAKrT,oBAD9F,EAHY,kBAAClQ,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMiiB,EAAkCqB,KAAQA,EAAKrT,kBAQlF,GAAnB3N,GAAgD,SAApB0D,EAAUjV,QAAmC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACpG,GAAiB,mBAAb0pB,EAAK/kB,KACL,OAAIyH,EAAUsc,iCAAiCniB,iBAAiBC,UAAUokB,cAC9D,kBAACzkB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBAAM+jB,EAAkCT,KAAQA,EAAKrT,kBAMhG,GAAnB3N,GAAgD,SAApB0D,EAAUjV,QAAmC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACpG,GAAiB,yBAAb0pB,EAAK/kB,KACL,OAAQ,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,kBA5b1C1B,EA4boFglB,OA3bzHtd,EAAUlJ,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,UAA0ByE,OAAS,EACxEjD,EAAY,QAAS,sIAAoI,QAAS,MAGtKQ,EAAa,gBAAW,6DAAwD,YAAY,SAAUlC,GAC9FA,GACAgxB,EAAQvd,KAAK,CACT4d,SAAU,6CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBA,SATzB,IAACA,IA4b4FglB,EAAKrT,kBAI9F,GAAnB3N,GAAgD,aAApB0D,EAAUjV,QAAuC,MAAdgxB,GAAsBA,EAAWtoB,KAAI,SAAC6pB,EAAM1pB,GACxG,GAAiB,iBAAb0pB,EAAK/kB,KACL,OAAQ,kBAACwB,GAAA,EAAD,CAAQnG,IAAKA,EAAKlB,MAAM,UAAUsH,QAAS,WAlXnFjN,EAAa,gBAAW,8CAA+C,YAAY,SAAUlC,GACrFA,IACAiD,GAAW,GAEX/B,EAAS,qCAAD,OAAsCiU,EAAUzB,eACnD7S,MAAK,SAAAb,GACF0B,EAAY,QAAS,yEAA0E,WAAW,WACtG9C,OAAOC,SAAS6Y,KAAhB,8CAA8DvC,EAAUoc,uBAG/EzwB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,YAuW0FwvB,EAAKrT,kBAIzF,GAAnB3N,IACY,OAAT0D,QAAS,IAATA,GAAA,UAAAA,EAAWlJ,oBAAX,eAAyB0G,QAAO,SAAA4H,GAAC,YACjB,YAAZA,EAAEra,QAC4B,OAA9Bqa,EAAExN,yBAC+C,uBAAjD,UAAAwN,EAAExN,wBAAwBC,YAA1B,eAAgC0lB,kBAAoC/tB,QAAS,GACjFxB,GAAoD,2BAApCA,EAAawN,qBAC7B,kBAACzB,GAAA,EAAD,CACIrH,MAAM,OACNsH,QAAS,wBA1WpB,SAACrB,GACtB,IAAIF,EAAc,CACdE,gBAAiBA,EACjBsD,kBAAmB,MAGvBnO,GAAW,GACX/B,EAAS,+CAAgD0M,GACpD/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW9C,OAAOC,SAASiB,aAClGgB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAgWiBoO,CAAgB,OAAC8D,QAAD,IAACA,GAAD,UAACA,EAAWlJ,oBAAZ,aAAC,EAAyB0G,QAAO,SAAA4H,GAAC,YAAgB,YAAZA,EAAEra,QAAsD,OAA9Bqa,EAAExN,yBAAqF,uBAAjD,UAAAwN,EAAExN,wBAAwBC,YAA1B,eAAgC0lB,kBAAoC,GAAG5kB,mBAFhN,kBAUhB,kBAACoG,GAAA,EAAD,CAAO6H,UAAQ,EAAC5H,OAAQ0G,EAAezG,OAAQ,kBAAM0G,GAAkB,IAAQjR,OAAO,WAClF,kBAACyK,GAAA,EAAD,CAAWnM,UAAU,SACjB,yDACA,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,yBAAKoF,GAAG,OACJ,kBAACoJ,GAAA,EAAD,CAAc9V,MAAO,CAAEwB,OAAQ,MAC3B,kBAAC2R,EAAD,CAAWC,OAAQV,EAAWW,KAAM,KACpC,kBAAC0C,GAAA,EAAD,CACIC,IAAI,qDACJC,YAAY,yEACZC,QAAS,KAEb,kBAACC,GAAA,EAAD,CAAQC,SAAUxD,EAAgByD,WAAW,EAAO7c,KAAMsZ,SAM9E,kBAACxG,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAY8W,SAAO,EAACxP,QAAS,kBAAM2L,GAAkB,KAAnE,aAKC,MAAhB7O,GACG,kBAAC,GAAD,CACIuF,KAAMvF,EACNC,aAlZiB,WAC7BwF,EAAiB,OAkZLD,gBAAiBA,KCjpBtB,SAASmiB,GAA+BC,EAAoBpwB,GACvE,IAAI/F,EAAUG,IACVH,GAAiC,aAAtBA,EAAQ0R,WACnB3L,GAAS,GAIQ,OAAjB/F,EAAQo2B,MAKZ1yB,EAAQ,0CAA4C1D,EAAQyL,WAAa,IAAM0qB,GAC1EhzB,MAAK,SAAAb,GAAYyD,EAASzD,EAAOI,SACjCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SANzDsD,GAAS,G,cCTXswB,GAAc,SAAC9d,EAAOxS,GACxBrC,EAAQ,qBAAuB6U,GAC1BpV,MAAK,SAAAb,GAAYyD,EAASzD,EAAQiW,MAClCnV,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,UCH1D,SAAS6zB,GAAYxxB,GAIxB,GAAY,KAFZA,EAAQA,EAAMya,QAAQ,UAAU,KAEhB,OAAO,EAEvB,GAAoB,IAAhBza,EAAMmC,OACN,OAAO,EAGX,GAAa,kBAATnC,GACS,kBAATA,GACS,kBAATA,GACS,kBAATA,GACS,kBAATA,GACS,kBAATA,GACS,kBAATA,GACS,kBAATA,GACS,kBAATA,GACS,kBAATA,EACA,OAAO,EAEP,IAAKA,EAAO,OAAO,EAOnB,KAHmB,kBAAVA,GAAsByxB,OAAOC,UAAU1xB,IAAU2xB,MAAMC,QAAQ5xB,IAGvD,OAAO,EAGxB,IAAM6xB,EAAQ7xB,EAAMwa,WAAWqX,MAAM,OAC/BC,EAAUH,MAAMC,QAAQC,GAASA,EAAMzrB,IAAIqrB,QAAU,GAG3D,GAAuB,KAAnBK,EAAQ3vB,OAAe,OAAO,EAIlC,GAAqB,IADV,aAAO,IAAI4vB,IAAID,IAChB3vB,OAAc,OAAO,EAG/B,IAAM6vB,EAAO,SAACja,GAKZ,IAJA,IAAMka,EAAQH,EAAQG,MAAM,EAAGla,GAC3Bma,EAASna,EAAI,EACboa,EAAM,EAEDpR,EAAIhJ,EAAGgJ,GAAK,EAAGA,IAAK,CAE3BoR,GADUF,EAAMla,EAAIgJ,GACTmR,IACPA,EAAS,IAAGA,EAAS,GAG3B,IAAM10B,EAAS,GAAM20B,EAAM,GAE3B,OAAO30B,EAAS,EAAI,EAAIA,GAIpB40B,EAASN,EAAQG,MAAM,IAI7B,OADeD,EAAK,MACLI,EAAO,IAGPJ,EAAK,MACFI,EAAO,GAsC1B,SAASC,GAAYC,GACxBA,EAAalwB,GAAYkwB,GACzB,IAAIC,EAAOjwB,KAAOgwB,EAAW9X,WAAY,cAAc+X,OAEvD,QAAIA,EAAO,KAAQA,EAAO,MAGnBjwB,KAAOgwB,EAAW9X,WAAY,cAAc,GAAMgY,UAGtD,SAASC,GAAkBH,GAC9B,OAAOhwB,KAAOgwB,EAAW9X,WAAY,SAAS,GAAMgY,UAOjD,SAASE,GAAWC,GAEvB,OADAA,EAAaA,EAAWlY,QAAQ,WAAY,IAIzC,SAASmY,GAAyBD,GAErC,OADAA,EAAaA,EAAWlY,QAAQ,6BAAuB,IC9G5C,SAASoY,GAAT,GAAoG,IAA3E7jB,EAA0E,EAA1EA,KAAM8jB,EAAoE,EAApEA,aAAcC,EAAsD,EAAtDA,kBAAmBC,EAAmC,EAAnCA,kBAAmBtpB,EAAgB,EAAhBA,aAC9F,EAAgCtJ,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,EAA2CxO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KACA,EAA0B1yB,oBAAS,GAAnC,mBAAOkP,EAAP,KAAcC,EAAd,KACMC,EAAc,kBAAMD,GAAUD,IAEpC,EAA2ChU,IAAM8E,SAAS,MAA1D,mBAAOoc,EAAP,KAAsBuW,EAAtB,KAGA,EAA6Bz3B,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,YAAaqG,MAAO,aAC7B,CAAErG,MAAO,UAAWqG,MAAO,WAC3B,CAAErG,MAAO,WAAYqG,MAAO,YAC5B,CAAErG,MAAO,UAAWqG,MAAO,aALxBgtB,EAAP,oBAcA,EAA2B33B,IAAM8E,SAAS,IAA1C,mBAAOiT,EAAP,KAAc6f,EAAd,KAUMC,EAA2B,SAAC/1B,GACzBA,EAAOI,OACRsB,EAAY,QAAS,sBAAoB,QAAS,MAClD8K,EAAS,QAAS,IAClBspB,EAAU,MAmClB,EAAiE9yB,mBAAS,CACtE,CAAER,MAAO,yBAAuBqG,MAAO,0BACvC,CAAErG,MAAO,+BAA6BqG,MAAO,gCAC7C,CAAErG,MAAO,kCAA6BqG,MAAO,qCAHjD,mBAAOmtB,EAAP,KAKA,IALA,KAKmDhzB,mBAAS,iCAA5D,qBAAOizB,GAAP,MAA0BC,GAA1B,MAQA,GAAyDlzB,mBAAS,IAAlE,qBAAOmzB,GAAP,MAA6BC,GAA7B,MACA,GAA2CpzB,mBAAS,MAApD,qBAAOqzB,GAAP,MAAsBC,GAAtB,MA2BA,GAA2CtzB,mBAAS,IAApD,qBAAOuzB,GAAP,MAAsBC,GAAtB,MACA,GAAyBxzB,mBAAS,IAAlC,qBAAOyzB,GAAP,MAAaC,GAAb,MASA,GAA6C1zB,mBAAS,IAAtD,qBAAO2zB,GAAP,MAAuBC,GAAvB,MACA,GAA2D5zB,mBAAS,IAApE,qBAAO6zB,GAAP,MAA8BC,GAA9B,MACMC,GAA4B,SAACC,GAC/B51B,EAAQ,0CAAD,OAA2C41B,IAC7Cn2B,MAAK,SAAAb,GAEF,GADA82B,GAA0B92B,EAAOI,MACb,aAAhBk1B,GACA,GAAY,MAAR9jB,GAAgBA,EAAK4D,uBAAuBzQ,OAAS,GAA2E,MAAtE6M,EAAK4D,uBAAuB,GAAGuc,oCAA6C,CACtI,IAAIsF,EAAW,GACfj3B,EAAOI,KAAKwI,KAAI,SAAA4K,GACRhC,EAAK4D,uBAAuB,GAAGuc,oCAAoChf,QAAO,SAAAC,GAAC,OAAIA,EAAEskB,kBAAoB1jB,EAAE0jB,oBAAkBvyB,OAAS,GAClIsyB,EAASxjB,KAAKD,MAEtBojB,GAAmBK,SAGtB,GAAoB,gBAAhB3B,GACO,MAAR9jB,GAAgBA,EAAKyD,0BAA0BtQ,OAAS,GAAiF,MAA5E6M,EAAKyD,0BAA0B,GAAGkiB,uCAAgD,CAC/I,IAAIF,EAAW,GACfj3B,EAAOI,KAAKwI,KAAI,SAAA4K,GACRhC,EAAKyD,0BAA0B,GAAGkiB,uCAAuCxkB,QAAO,SAAAC,GAAC,OAAIA,EAAEskB,kBAAoB1jB,EAAE0jB,oBAAkBvyB,OAAS,GACxIsyB,EAASxjB,KAAKD,MAEtBojB,GAAmBK,OAI9Bn2B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAOlC,GAAmCD,mBAAS,MAA5C,qBAAOuM,GAAP,MAAkB6nB,GAAlB,MAsGMC,GAAoB,SAACze,GACvB,GAAY,MAARpH,EACA,MAAO,GAEX,GAAoB,aAAhB8jB,EACA,OAAQ1c,GACJ,IAAK,WAAY,OAAOpH,EAAK4D,uBAAuBzQ,OAAS,EAAI6M,EAAK4D,uBAAuB,GAAGc,SAAW,GAC3G,IAAK,UAAW,OAAO1E,EAAK4D,uBAAuBzQ,OAAS,EAAI6M,EAAK4D,uBAAuB,GAAGe,QAAU,GACzG,IAAK,MAAO,OAAO3E,EAAK4D,uBAAuBzQ,OAAS,EAAI6M,EAAK4D,uBAAuB,GAAGM,IAAM,QAGpG,GAAoB,gBAAhB4f,GACiC,MAAlC9jB,EAAKyD,0BACL,OAAQ2D,GACJ,IAAK,WAAY,OAAOpH,EAAKyD,0BAA0BtQ,OAAS,EAAI6M,EAAKyD,0BAA0B,GAAGiB,SAAW,GACjH,IAAK,UAAW,OAAO1E,EAAKyD,0BAA0BtQ,OAAS,EAAI6M,EAAKyD,0BAA0B,GAAGkB,QAAU,GAC/G,IAAK,MAAO,OAAO3E,EAAKyD,0BAA0BtQ,OAAS,EAAI6M,EAAKyD,0BAA0B,GAAGS,IAAM,KAMvHvR,qBAAU,WACS,MAAXzG,GAAyC,gBAAtBA,EAAQ0R,YAC3BsmB,GAAkB,GApMtBt0B,EAAQ,iBACHP,MAAK,SAAAb,GACFo2B,GAAyBp2B,EAAOI,MACZ,aAAhBk1B,EACY,MAAR9jB,GAAgBA,EAAK4D,uBAAuBzQ,OAAS,IACrD2xB,GAAkB9kB,EAAK4D,uBAAuB,GAAGihB,eACjD7pB,EAAS,gBAAiBgF,EAAK4D,uBAAuB,GAAGihB,eAAe,IAGvD,gBAAhBf,GACO,MAAR9jB,GAAgBA,EAAKyD,0BAA0BtQ,OAAS,IACxD2xB,GAAkB9kB,EAAKyD,0BAA0B,GAAGohB,eACpD7pB,EAAS,gBAAiBgF,EAAKyD,0BAA0B,GAAGohB,eAAe,OAItFv1B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAqLV,aAAhBqyB,EA9DQ,MAAR9jB,IACAmkB,EAAkBnkB,GAClBhF,EAAS,QAASgF,EAAKyE,OACvB6f,EAAUtkB,EAAKyE,OACfzJ,EAAS,OAAQgF,EAAK6D,UACtB7I,EAAS,MAAOgF,EAAK6D,UACrB7I,EAAS,kBAAmBgF,EAAK8lB,iBACjC9qB,EAAS,cAA8C,MAA/BgF,EAAK4D,wBAAkC5D,EAAK4D,uBAAuBzQ,OAAS,EAAI6M,EAAK4D,uBAAuB,GAAGY,gBAAkBxE,EAAK8lB,iBAC9JF,GAAc5lB,EAAKigB,iCAAiCniB,iBAAiBC,WACrEwnB,GAA0BvlB,EAAKigB,iCAAiCniB,iBAAiB0nB,cACjFd,GAAgE,MAAzC1kB,EAAKigB,kCAA6G,aAAjEjgB,EAAKigB,iCAAiCniB,iBAAiBioB,OAAsB,yBAAwB,gCACzK/lB,EAAK4D,uBAAuBzQ,OAAS,IACrC6H,EAAS,WAAYgF,EAAK4D,uBAAuB,GAAGF,eACpD1I,EAAS,cAAegF,EAAK4D,uBAAuB,GAAGE,aACvD9I,EAAS,MAAOgF,EAAK4D,uBAAuB,GAAGG,KAC/C/I,EAAS,iBAAkBgF,EAAK+K,gBAChC/P,EAAS,WAAYgF,EAAK4D,uBAAuB,GAAGc,UACpD1J,EAAS,UAAWgF,EAAK4D,uBAAuB,GAAGe,SACnD3J,EAAS,wBAAyBgF,EAAK4D,uBAAuB,GAAGK,uBACjE+gB,GAAkBhlB,EAAK4D,uBAAuB,GAAGK,uBACjDjJ,EAAS,OAAQgF,EAAK4D,uBAAuB,GAAGI,eAChDkhB,GAASllB,EAAK4D,uBAAuB,GAAGI,eACxChJ,EAAS,kBAA2C,MAAxBgF,EAAKkgB,gBAA0BzsB,GAAeuM,EAAKkgB,iBAAmB,IAClGllB,EAAS,MAAOgF,EAAK4D,uBAAuB,GAAGM,KAC/ClJ,EAAS,aAAcgF,EAAK4D,uBAAuB,GAAGO,YACtDnJ,EAAS,SAAUgF,EAAK4D,uBAAuB,GAAGU,QAClDtJ,EAAS,cAAegF,EAAK4D,uBAAuB,GAAGQ,aACvDpJ,EAAS,cAAegF,EAAK4D,uBAAuB,GAAGS,aACvDrJ,EAAS,SAAUgF,EAAK4D,uBAAuB,GAAGW,QAClDvJ,EAAS,KAAMgF,EAAK4D,uBAAuB,GAAGoiB,IAC9ChrB,EAAS,SAAUgF,EAAKtR,QAAQ,GAChC01B,EAAWpkB,EAAKtR,UAiCC,gBAAhBo1B,GApGG,MAAR9jB,IACAmkB,EAAkBnkB,GAClBhF,EAAS,QAASgF,EAAKyE,OACvB6f,EAAUtkB,EAAKyE,OACfzJ,EAAS,OAAQgF,EAAK6D,UACtB7I,EAAS,MAAOgF,EAAK6D,UACrB7I,EAAS,kBAAmBgF,EAAK8lB,iBACjC9qB,EAAS,cAAiD,MAAlCgF,EAAKyD,2BAAqCzD,EAAKyD,0BAA0BtQ,OAAS,EAAI6M,EAAKyD,0BAA0B,GAAGe,gBAAkBxE,EAAK8lB,iBACvKF,GAAc5lB,EAAK/D,qBAAqB6B,iBAAiBC,WACzDwnB,GAA0BvlB,EAAK/D,qBAAqB6B,iBAAiB0nB,cACrEd,GAAoD,MAA7B1kB,EAAK/D,sBAAqF,aAArD+D,EAAK/D,qBAAqB6B,iBAAiBioB,OAAsB,yBAAwB,gCAC/G,MAAlC/lB,EAAKyD,2BAAqCzD,EAAKyD,0BAA0BtQ,OAAS,IAClF6H,EAAS,WAAYgF,EAAKyD,0BAA0B,GAAGC,eACvD1I,EAAS,cAAegF,EAAKyD,0BAA0B,GAAGK,aAC1D9I,EAAS,MAAOgF,EAAKyD,0BAA0B,GAAGM,KAClD/I,EAAS,WAAYgF,EAAKyD,0BAA0B,GAAGiB,UACvD1J,EAAS,UAAWgF,EAAKyD,0BAA0B,GAAGkB,SACtD3J,EAAS,wBAAyBgF,EAAKyD,0BAA0B,GAAGQ,uBACpE+gB,GAAkBhlB,EAAKyD,0BAA0B,GAAGQ,uBACpDjJ,EAAS,OAAQgF,EAAKyD,0BAA0B,GAAGO,eACnDkhB,GAASllB,EAAKyD,0BAA0B,GAAGO,eAC3ChJ,EAAS,kBAA2C,MAAxBgF,EAAKkgB,gBAA0BzsB,GAAeuM,EAAKkgB,iBAAmB,IAClGllB,EAAS,MAAOgF,EAAKyD,0BAA0B,GAAGS,KAClDlJ,EAAS,aAAcgF,EAAKyD,0BAA0B,GAAGU,YACzDnJ,EAAS,SAAUgF,EAAKyD,0BAA0B,GAAGa,QACrDtJ,EAAS,cAAegF,EAAKyD,0BAA0B,GAAGW,aAC1DpJ,EAAS,cAAegF,EAAKyD,0BAA0B,GAAGY,aAC1DrJ,EAAS,SAAUgF,EAAKyD,0BAA0B,GAAGc,QACrDvJ,EAAS,KAAMgF,EAAKyD,0BAA0B,GAAGuiB,IACjDhrB,EAAS,SAAUgF,EAAKtR,QAAQ,GAChC01B,EAAWpkB,EAAKtR,YAwEzB,IAEH,IAoCMu3B,GAA0B,SAACr3B,GAC7B,IAAI+2B,EAAyC,GAiC7C,OAhCAR,GAAe/tB,KAAI,SAAA4K,GACf2jB,EAAuC1jB,KAAK,CACxCikB,0CAA2C,EAC3C5pB,gBAAyB,MAAR0D,EAAeA,EAAK1D,gBAAkB,EACvDopB,iBAAkB1jB,EAAE0jB,sBAIV,CACdS,6BAAsC,MAARnmB,GAAkD,MAAlCA,EAAKyD,2BAAqCzD,EAAKyD,0BAA0BtQ,OAAS,EAAI6M,EAAKyD,0BAA0B,GAAG0iB,6BAA+B,EACrM7pB,gBAAyB,MAAR0D,EAAeA,EAAK1D,gBAAkB,EACvD8pB,iBAAkBvB,GAAcuB,iBAChCviB,SAAuB,MAAbjV,EAAKgY,KAAehY,EAAKgY,KAAK6E,QAAQ,SAAU,IAAM7c,EAAKy3B,IAAI5a,QAAQ,SAAU,IAC3F/H,cAAgC,MAAjB9U,EAAKiY,SAAmBjY,EAAK03B,YAAc13B,EAAKiY,SAC/D/C,YAAiC,MAApBlV,EAAKkV,YAAsBlV,EAAK03B,YAAc13B,EAAKkV,YAChEU,gBAAiB5V,EAAK03B,YACtBR,gBAAyC,MAAxBl3B,EAAKk3B,gBAA0Bl3B,EAAK03B,YAAc13B,EAAKk3B,gBACxES,IAAK33B,EAAKmV,IACVyiB,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbkiB,GAAI73B,EAAKo3B,GACTthB,SAAU9V,EAAK8V,SAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IACpG/hB,QAAS/V,EAAK+V,QAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAClG1iB,cAAepV,EAAKq2B,KACpBhhB,sBAAuBrV,EAAKqV,sBAC5B0hB,uCAAwCA,IAM1CgB,GAAuB,SAAC/3B,GAC1B,IAAIuxB,EAAsC,GAoD1C,OAnDAgF,GAAe/tB,KAAI,SAAA4K,GACfme,EAAoCle,KAAK,CACrC2kB,uCAAwC,EACxC1kB,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjDwjB,iBAAkB1jB,EAAE0jB,sBAIV,CACdxjB,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjD6d,gBAAyB,MAAR/f,EAAeA,EAAK+f,gBAAkB,GACvD+F,gBAAyC,MAAxBl3B,EAAKk3B,gBAA0Bl3B,EAAK03B,YAAc13B,EAAKk3B,gBACxErhB,MAAO7V,EAAK6V,MACZZ,SAAuB,MAAbjV,EAAKgY,KAAehY,EAAKgY,KAAK6E,QAAQ,SAAU,IAAM7c,EAAKy3B,IAAI5a,QAAQ,SAAU,IAC3F/c,OAAiB,MAARsR,GAA0B,IAAVtR,EAAgBsR,EAAKtR,OAASA,EACvDwxB,gBAA4B,MAAXh0B,GAAyC,gBAAtBA,EAAQ0R,WAA+BhP,EAAKsxB,gBAAkBlgB,EAAKkgB,gBACvG2G,mBAA+B,MAAX36B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KACnGmvB,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1G2J,cAAe,EACfyJ,eAAgBnc,EAAKmc,eACrBnH,uBAAwB,CAAC,CACrBmjB,0BAAoC,MAAR/mB,GAAgBA,EAAK4D,uBAAuBzQ,OAAS,EAAK6M,EAAK4D,uBAAuB,GAAGmjB,0BAA4B,EACjJ7kB,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjDkkB,iBAAkBvB,GAAcuB,iBAChCviB,SAAuB,MAAbjV,EAAKgY,KAAehY,EAAKgY,KAAK6E,QAAQ,SAAU,IAAM7c,EAAKy3B,IAAI5a,QAAQ,SAAU,IAC3F/H,cAAgC,MAAjB9U,EAAKiY,SAAmBjY,EAAK03B,YAAc13B,EAAKiY,SAC/D/C,YAAiC,MAApBlV,EAAKkV,YAAsBlV,EAAK03B,YAAc13B,EAAKkV,YAChEU,gBAAiB5V,EAAK03B,YACtBC,IAAK33B,EAAKmV,IACVgH,eAAyB,MAAR/K,GAAgBA,EAAK4D,uBAAuBzQ,OAAS,EAAK6M,EAAK+K,eAAiB,IACjGyb,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbkiB,GAAI73B,EAAKo3B,GACTthB,SAAU9V,EAAK8V,SAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IACpG/hB,QAAS/V,EAAK+V,QAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAClG1iB,cAAepV,EAAKq2B,KACpBhhB,sBAAuBrV,EAAKqV,sBAC5Bkc,oCAAqCA,IAEzCf,wBAAyB,CAAC,CACtB4H,2BAAqC,MAARhnB,GAAgD,MAAhCA,EAAKof,yBAAmCpf,EAAKof,wBAAwBjsB,OAAS,EAAK6M,EAAKof,wBAAwB,GAAG4H,2BAA6B,EAC7L9kB,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjD+kB,qBAAiC,MAAX/6B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KACrGgF,WAAY/N,EAAK+N,WACjB0iB,QAASzwB,EAAKywB,YAMpB6H,GAAsB,SAAC14B,GACzBiD,GAAW,GACX0yB,EAAkB31B,EAAOI,MACzBo1B,EAAkBx1B,EAAOI,OAG7B,OACI,oCAEI,kBAAC8T,GAAA,EAAD,CAAOC,OAAQjC,EAAOkC,OAAQhC,GAC1B,kBAACmQ,GAAA,EAAD,CAAanO,OAAQhC,GAArB,mCACA,kBAACkC,GAAA,EAAD,KACI,kBAACmO,GAAA,EAAD,KACI,yBAAKta,UAAU,oBACX,2BAAOA,UAAU,SACb,+BACI,4BACI,wBAAIoM,MAAM,MAAMpM,UAAU,IAA1B,yBACA,wBAAIoM,MAAM,OAAV,oBACA,wBAAIA,MAAM,OAAV,gBAGR,oCACqCxW,GAAhCyT,EAAKof,yBAAwCpf,EAAKof,wBAAwBjsB,OAAS,GAAK6M,EAAKof,wBAAwBhoB,KAAI,SAAA4L,GAAa,OACnI,4BACI,4BAAKrP,GAAmBqP,EAAcC,oBACtC,4BAAKD,EAAcrG,YACnB,iCAA8BpQ,GAAzByW,EAAcqc,SAAiD,MAAzBrc,EAAcqc,QACnDrc,EAAcmkB,qBACdnkB,EAAcqc,QAAQnc,eAQxD,kBAACC,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASiD,GAAnC,QAGR,6BACI,kBAAC+J,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GAhLnB,SAACnM,GAGd,GAFA6C,GAAW,GAEE,MAATgT,GAAiC,GAAhBA,EAAMtR,OAGvB,OAFA1B,GAAW,QACXvB,EAAY,QAAS,0BAAwB,QAAS,MAI1D,GAAyC,GAArCmzB,GAAYz0B,EAAKsxB,iBAGjB,OAFAzuB,GAAW,QACXvB,EAAY,QAAS,gCAA8B,UAAW,MAKlE,GAA6B,IADRwzB,GAAW90B,EAAKwV,aAClBjR,OAGf,OAFA1B,GAAW,QACXvB,EAAY,QAAS,+HAAwG,UAAW,MAI5I,GAAI6zB,GAAqC,aAAhBD,GClVuB,SAACuD,EAAMp1B,GAClC,GAArBo1B,EAAKnlB,aACLxS,EAAS,iEAAkE23B,GACtEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,gEAAiE03B,GACpEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SD2UzD24B,CADWX,GAAqB/3B,GACes4B,SAE9C,GAAoB,gBAAhBpD,EAAgC,EC7QH,SAACuD,EAAMp1B,GACR,GAArCo1B,EAAKlB,6BACLz2B,EAAS,0DAA2D23B,GAC/Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,yDAA0D03B,GAC7Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SDsQzD44B,CADWtB,GAAwBr3B,GACEs4B,SAGrC/C,EAAkBnkB,GAClBgkB,EAAkBhkB,OAiJF,wBAAIrJ,UAAU,sBAAd,wBACA,wBAAIE,MAAO,CAAE2wB,QAAS,EAAGxW,OAAQ,GAAKra,UAAU,eAAeoH,IAAaA,GAAUU,WACtF,kBAAC6E,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,aAC5C,kBAACvT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,wBAAIE,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,gCACA,kBAACuF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,8CAAH,KACA,kBAAC,KAAD,CACIC,QAASmmB,EACTlmB,KAAK,oBACLtN,MAAOwzB,EAAyBrjB,QAAO,SAAAzT,GAAG,OAAIA,EAAIsD,OAASyzB,IAA0C,aAArBA,MAA+BtxB,OAAS,EAC3F,IAAxB6M,EAAK6D,SAAS1Q,OAAeqxB,EAAyBrjB,QAAO,SAAAzT,GAAG,MAAiB,aAAbA,EAAIsD,SAAmB,GAAKwzB,EAAyBrjB,QAAO,SAAAzT,GAAG,MAAiB,aAAbA,EAAIsD,SAAmB,GAC/JwzB,EAAyBrjB,QAAO,SAAAzT,GAAG,OAAIA,EAAIsD,OAASyzB,MAAmB,GAE3E9lB,SAAU,SAAC3N,GAAD,OAzZlC,SAACA,GAC7B0zB,GAAsB1zB,EAAMA,OAC5BgK,EAAS,oBAAqBhK,EAAMA,OAAO,GAC3CkK,EAAY,qBAsZ6DusB,CAAwBz2B,IAC7CuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,qBACR,CAAES,UAAU,KAEhByU,WAA6B,MAAjB5F,MAIxB,kBAAC1P,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,yBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,KAAKmV,aAAa,QAClH5sB,EAAOwrB,aAAe,0BAAM3vB,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,UACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQ6T,OAnehE,SAAC3K,GAEgB,GAA7BA,EAAMnB,OAAOrV,MAAMmC,SAGvBmxB,EAAU9c,EAAMnB,OAAOrV,OAEvBuxB,GAAY/a,EAAMnB,OAAOrV,MAAOuzB,KA4dqErlB,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,MAAMmV,aAAa,QAClI5sB,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,6BAGF,gCAArB8tB,IAAyE,mCAArBA,KAClD,kBAACvmB,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,kBAA4D,uBAAGuP,KAAK,IAAI3C,GAAG,wBAAuB,uBAAG5M,UAAU,4BAC9G,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,uBAAuBuhB,UAAU,OAA7D,0EAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,WAAWiF,GAAG,WAAWskB,QA1dlF,SAACrgB,GACpB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,WAAYxM,IAwdyG0Q,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,MAAMmV,aAAa,QAC9I5sB,EAAO+L,UAAY,0BAAMlQ,UAAU,kCAAhB,6BAIT,gCAArB8tB,IAAyE,mCAArBA,KAClD,kBAACvmB,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,sBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciF,GAAG,cAAc4O,OA7drF,SAAC3K,GACvB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,cAAexM,IA2d8G0Q,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,MAAMmV,aAAa,QACtJ5sB,EAAOgJ,aAAe,0BAAMnN,UAAU,kCAAhB,4BAInC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0BAAMzH,UAAU,eAAhB,MAAuC,+BAA6B,0BAArB8tB,GAA6C,uBAAsB,mBAA3E,IAA+F,uBAAGve,KAAK,IAAI3C,GAAG,2BAA0B,uBAAG5M,UAAU,4BAC3L,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,0BAA0BuhB,UAAU,OAAhE,4CAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,kBAAkBiF,GAAG,kBAAkBskB,QAjezF,SAACrgB,GACvB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,kBAAmBxM,IA+d+G0Q,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,KAAKmV,aAAa,QAC9J5sB,EAAOgrB,iBAAmB,0BAAMnvB,UAAU,kCAAhB,6BAGZ,gCAArB8tB,IAAyE,mCAArBA,IAA0E,0BAArBA,IAAsD,MAARzkB,GAAyC,KAArB,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAM6D,SAAS1Q,UACpL,kBAAC+K,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UACH,kBAAC,GAAD,CAAW2H,KAAK,OAAO2c,aAAsB,MAARjb,GAAgBA,EAAK6D,SAAUikB,SAAUjtB,EAAS,CAAEkE,SAAUklB,IAAkB8D,SAA2B,MAAjBna,EAAsC8Z,aAAa,QACjL5sB,EAAO8L,MAAQ,0BAAMjQ,UAAU,kCAAhB,4BAIL,0BAArB8tB,IAAsD,MAARzkB,GAAyC,KAArB,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAM6D,SAAS1Q,SAC3E,kBAAC+K,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,GAAD,CAAU2H,KAAK,MAAM2c,aAAsB,MAARjb,GAAgBA,EAAK6D,SAAUikB,SAAUjtB,EAAS,CAAEkE,SAAUklB,IAAkB8D,SAA2B,MAAjBna,EAAsC8Z,aAAa,QAC/K5sB,EAAOurB,KAAO,0BAAM1vB,UAAU,kCAAhB,4BAI3B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,sCAAW,uBAAG8H,KAAK,IAAI3C,GAAG,eAAc,uBAAG5M,UAAU,4BACpD,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,cAAcuhB,UAAU,OAApD,gIAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,MAAMY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,KAAKmV,aAAa,UAG/F,MAAXx7B,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,sDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,OAC1FzX,EAAOiQ,gBAAkB,0BAAMpU,UAAU,kCAAhB,4BAItC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0BAAMzH,UAAU,eAAhB,MAAuC,4CAC1C,kBAAC,GAAD,CAAekH,KAAK,OAAOS,KAAK,WAAW2c,aAAc4K,GAAkB,YAAaiC,SAAUjtB,EAAS,CAAEkE,SAAUklB,MACtHnpB,EAAO4J,UAAY,0BAAM/N,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,2CACH,kBAAC,GAAD,CAAeP,KAAK,OAAOS,KAAK,UAAU2c,aAAc4K,GAAkB,WAAYiC,SAAUjtB,EAAS,CAAEkE,UAAU,SAGtG,gCAArB0lB,IAAyE,mCAArBA,KAClD,kBAACvmB,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,iEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,wBAAwBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,MAAMwV,SAA2B,MAAjBhD,IAAiD,GAAxBA,GAAc5xB,QAAc,aACvK2H,EAAOmJ,uBAAyB,0BAAMtN,UAAU,kCAAhB,6BAItB,gCAArB8tB,IAAyE,mCAArBA,KAAqD1mB,IAAgC,OAAnBA,GAAUC,OAC9H,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,wCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,OAAOY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,MAAMwV,SAAkB,MAAR9C,IAA+B,GAAfA,GAAK9xB,QAAc,aACpI2H,EAAOmqB,MAAQ,0BAAMtuB,UAAU,kCAAhB,4BAIhB,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,4CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,IAASoT,OAriB/G,SAAC3K,GACxB,IAAI8b,EAAa9b,EAAMnB,OAAOrV,OAEZ,IAAdsyB,GAAoBA,EAAWnwB,OAAS,IACT,GAA3BkwB,GAAYC,IACZpzB,EAAY,QAAS,gCAA8B,UAAW,SAiiBjB4K,EAAOolB,iBAAmB,0BAAMvpB,UAAU,kCAAhB,4BAIvC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,IAAIxH,UAAW0uB,GAAsBlyB,OAAS,EAAI,GAAK,UAClE,kBAACiL,GAAA,EAAD,KACI,2BAAG,wDAAH,KACA,kBAAC,KAAD,CACIC,QAASgnB,GACT9mB,eAAgB,qBAAGE,WACnBC,eAAgB,qBAAGgnB,kBACnBpnB,KAAK,gBACLgV,SAAS,EACTtiB,MAAOq0B,GAAsBlkB,QAAO,gBAAGukB,EAAH,EAAGA,iBAAH,OAA0BP,GAAehkB,QAAO,SAAAC,GAAC,OAAIA,EAAEskB,kBAAoBA,KAAkBvyB,OAAS,KAC1IwL,SAAU,SAAC3N,GAvd/Do0B,GAud8Fp0B,GAAS,KACnDuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAU,KAEhByU,YAAayQ,MAIb,MAAX/3B,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAAC,KAAD,CACIC,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GAlnBlD,IAAC5N,IAknBsE4N,EAAE5N,MAjnB1FozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAgnB4CqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,SAAUklB,KAEhBzQ,YAAayQ,IAEhBnpB,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,gCAQ9C,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,wBAAIE,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,eACA,kBAAC+Y,GAAA,EAAD,KACI,kBAACxT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,GAAD,CAAU2H,KAAK,MAAM2c,aAAc4K,GAAkB,OAAQ1T,OA7fnG,SAAC3K,GAGf,GAFAtM,EAAY,OAERsM,EAAMnB,OAAOrV,MAAMya,QAAQ,UAAW,IAAIuc,OAAO70B,OAAS,EAG1D,OAFA6H,EAAS,MAAO,SAChB9K,EAAY,QAAS,iEAAsD,QAAS,MAIxF4uB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GACZ,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,MAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,MAGfA,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,SAweiG8B,SAAUjtB,EAAS,CAAEkE,SAAUklB,MAC9GnpB,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaiU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MACnFjE,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAASY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,OAC3FzX,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkBtlB,SA9jBpH,SAACC,GAC1B,IAAIpQ,EAASk1B,GAAW9kB,EAAEyH,OAAOrV,OACjCgK,EAAS,cAAexM,MA6jB6BsM,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,SAGjG,kBAACrU,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOkqB,SAAS,WAAWzpB,KAAK,SAASY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,OAC/GzX,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,QACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOkqB,SAAS,WAAWzpB,KAAK,KAAKY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,MAC3GzX,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,6BAAH,KACA,kBAAC,KAAD,CACI0H,QAASsmB,GACTpmB,eAAgB,SAAAC,GAAM,OAAIA,EAAO0E,MACjCxE,eAAgB,SAAAF,GAAM,OAAIA,EAAO4nB,kBACjC9nB,KAAK,gBACLK,SAAU,SAACC,GAxmB3C,IAAC5N,EACzB8zB,GADyB9zB,EAwmBsE4N,GAtmB/F5D,EAAS,gBAAiBhK,GAAO,GACjCkK,EAAY,kBAsmB4ClK,MAAO6zB,GACPtwB,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,SAA2B,MAAjB8lB,IAA0C,GAAjBA,MAEzCrR,YAAayQ,IAEhBnpB,EAAO+pB,eAAiB,0BAAMluB,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,aAAaY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,eAOpH,kBAACrU,GAAA,EAAD,CAAKkB,GAAG,KACQ,MAAXlT,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAAC+F,GAAA,EAAD,CAAQrH,MAAM,YACVsH,QAASjD,EACT/D,UAAU,aACVkH,KAAK,UAEL,uBAAGlH,UAAU,wBALjB,YASR,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACQ,MAAXlT,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAAsBqI,EAAKof,wBAAwBjsB,OAAS,GAC5H,kBAACuK,GAAA,EAAD,CACIrH,MAAM,OACNsH,QAASiD,EACTjK,UAAU,aACVkH,KAAK,UAEL,uBAAGlH,UAAU,gBANjB,qBAUR,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,qBAA4E,uBAAGlH,UAAU,kC,wBEnwBlH,SAASuxB,GAAT,GAAoH,IAAhGloB,EAA+F,EAA/FA,KAAM8jB,EAAyF,EAAzFA,aAAcC,EAA2E,EAA3EA,kBAAmBoE,EAAwD,EAAxDA,cAAenE,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBACxG,EAA8Ch3B,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAE7B,EAAkEgJ,YAAQ,CAAEC,KAAM,WAA1EC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAQE,EAAxC,EAAwCA,SAAUE,EAAlD,EAAkDA,YAElD,EAA2CxO,IAAM8E,UAAS,GAA1D,mBAAsB0yB,GAAtB,WAEA,EAAiCx3B,IAAM8E,SAAS,MAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAAiC5O,IAAM8E,SAAS,IAAhD,mBAAO62B,EAAP,KAAiBC,EAAjB,KAEA,EAAsC57B,IAAM8E,UAAS,GAArD,mBAAO+2B,EAAP,KAAoBC,EAApB,KAGA71B,qBAAU,WACN81B,KAEe,MAAXv8B,GAAyC,gBAAtBA,EAAQ0R,YAC3BsmB,GAAkB,GAEF,aAAhBJ,EACA4E,IACqB,gBAAhB5E,GACL6E,MACL,IAEH,IAAMD,EAAoB,WACtBptB,EAAa0E,GACD,MAARA,GAAgF,MAAhEA,EAAK4D,uBAAuB,GAAGyc,+BAC/CiI,EAAatoB,EAAK4D,uBAAuB,GAAGyc,+BAGhD,IAAIuI,EAAiBl0B,EACrBk0B,EAAe3mB,KAAK,CAChB5R,KAAM,cACNkX,QAAS,qBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBohB,GAAuBphB,MAGxDqhB,EAAYF,IAGVD,EAAuB,WAMzB,GALArtB,EAAa0E,GACD,MAARA,GAAyD,MAAzCA,EAAKgF,kCACrBsjB,EAAatoB,EAAKgF,kCAGF,gBAAhB8e,GAAqE,oBAAnC9jB,EAAK/D,qBAAqBC,KAAsB,CAClF,IAAI6sB,EAAUr0B,EACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,qBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,EAAYC,GAGhB,GAAuC,oBAAnC/oB,EAAK/D,qBAAqBC,KAAsB,CAChD,IAAI0sB,EAAiBl0B,EACrBk0B,EAAe3mB,KAAK,CAChB5R,KAAM,cACNkX,QAAS,qBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBohB,GAAuBphB,MAGxDqhB,EAAYF,KAMpB,EAA+Bp3B,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,GAAWxhB,OAJhD,mBAAO/S,EAAP,KAAgBo0B,EAAhB,KAeMI,EAAqB,SAAC1hB,GACxB,IAAI8b,EAAa9b,EAAMnB,OAAOrV,QAEZ,IAAdsyB,GAAoBA,EAAWnwB,OAAS,IACnCkwB,GAAYC,IACbpzB,EAAY,QAAS,mCAA8B,UAAW,OAO1E,EAAqDxD,IAAM8E,SAAS,IAApE,mBAAO23B,GAAP,KAA2BC,GAA3B,KAEMX,GAAmB,WACA,gBAAhB3E,GAAgG,OAA9D9jB,EAAK/D,qBAAqB6B,iBAAiBC,UAAUC,OACvE,aAAhB8lB,GAAyG,OAA1E9jB,EAAKigB,iCAAiCniB,iBAAiBC,UAAUC,MACjGpO,EAAQ,kBACHP,MAAK,SAAAb,GACF,IAAI66B,EAAQ76B,EAAOI,KAAKwI,KAAI,SAAC4K,EAAGzK,GAAJ,MAAa,CACrCF,MAAO2K,EAAEvD,UACTzN,MAAOgR,EAAEvD,cAEb2qB,GAAuBC,MAE1B/5B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAE9B23B,GAAuB,CACnB,CAAE/xB,MAAO,aAAcrG,MAAO,cAC9B,CAAEqG,MAAO,mBAAiBrG,MAAO,oBACjC,CAAEqG,MAAO,UAAWrG,MAAO,WAC3B,CAAEqG,MAAO,qBAAmBrG,MAAO,sBACnC,CAAEqG,MAAO,gBAAiBrG,MAAO,iBACjC,CAAEqG,MAAO,UAAWrG,MAAO,WAC3B,CAAEqG,MAAO,mBAAoBrG,MAAO,oBACpC,CAAEqG,MAAO,6BAA2BrG,MAAO,8BAC3C,CAAEqG,MAAO,yBAAuBrG,MAAO,0BACvC,CAAEqG,MAAO,cAAerG,MAAO,kBAK3C,GAAuCtE,IAAM8E,SAAS,MAAtD,qBAAO83B,GAAP,MAAoBC,GAApB,MAcA,GAAuC/3B,mBAAS,IAAhD,qBAAOg4B,GAAP,MAAoBC,GAApB,MACA,GAAqDj4B,mBAAS,IAA9D,qBAAOk4B,GAAP,MAA2BC,GAA3B,MAEMC,GAAkB,SAACnrB,GACrB7O,EAAQ,6BAA+B6O,GAClCpP,MAAK,SAAAb,GACF,IAAI66B,EAAQ76B,EAAOI,KAAKwI,KAAI,SAAC4K,EAAGzK,GAAJ,MAAa,CACrCF,MAAO2K,EAAEvD,UACTzN,MAAOgR,EAAEvD,cAEbkrB,GAAuBN,MAE1B/5B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG5Bo4B,GAAoB,SAAAriB,GACtBiiB,GAAgBjiB,IAKpB,GAA0ChW,mBAAS,MAAnD,qBAAOs4B,GAAP,MAAsBC,GAAtB,MAQA,GAAyCr9B,IAAM8E,SAAS,MAAxD,qBAAOw4B,GAAP,MAAqBC,GAArB,MAWA,GAAyCv9B,IAAM8E,SAAS,MAAxD,qBAAO04B,GAAP,MAAqBC,GAArB,MAWA,GAAyDz9B,IAAM8E,SAAS,MAAxE,qBAAO44B,GAAP,MAA6BC,GAA7B,MAWA,GAA2C39B,IAAM8E,SAAS,MAA1D,qBAAO84B,GAAP,MAAsBC,GAAtB,MACMC,GAAqB,SAACxN,EAAO/qB,GAClB,MAAT+qB,GAIJuN,GAAkBvN,GAClB/qB,KAJI/B,EAAY,QAAS,qIAA0H,QAAS,OA0BhK,GAAyDxD,IAAM8E,SAAS,MAAxE,qBAAOoU,GAAP,MAA6B6kB,GAA7B,MACA,GAAuC/9B,IAAM8E,SAAS,CAClD,CAAER,MAAO,kBAAgBqG,MAAO,mBAChC,CAAErG,MAAO,SAAUqG,MAAO,YAFvBqzB,GAAP,qBASM7B,GAAyB,SAACphB,GACE,MAA1BA,EAAQnB,gBAA0BmB,EAAQnB,eAAenT,OAAS,EAClE/F,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiBsB,EAAQnB,eAAgB,UAGnEpW,EAAY,QAAS,2DAAsD,UAAW,OAK9F,GAA+BxD,IAAM8E,SAAS,MAA9C,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACM3B,GAAa,SAACxhB,GAiBhB,GAhBAmjB,GAAYnjB,GACZzM,EAAS,QAASyM,EAAQxC,OAC1BjK,EAAS,QAASyM,EAAQrC,OAC1BpK,EAAS,SAAUyM,EAAQ/Y,QAC3B66B,GAAgB9hB,EAAQjM,MACxBR,EAAS,cAAeyM,EAAQjM,MAAM,GACtCR,EAAS,gBAAiByM,EAAQpC,eAClCrK,EAAS,kBAAmByM,EAAQhC,iBACpCzK,EAAS,OAAQyM,EAAQjC,MACzBxK,EAAS,UAAWyM,EAAQ9B,eAC5B3K,EAAS,MAAOyM,EAAQlC,KACxBvK,EAAS,2BAA4ByM,EAAQnC,0BAC7CmlB,GAAyBhjB,EAAQ7B,sBACjC5K,EAAS,uBAAwByM,EAAQ7B,sBAAsB,GAC/D5K,EAAS,SAAUyM,EAAQ/B,QAC3BqkB,GAAiBtiB,EAAQ/Y,QACL,gBAAhBo1B,GACA,GAAIrc,EAAQvC,2CAA4C,CACpD,IAAI2lB,EAAepjB,EAAQvC,2CAA2C9N,KAAI,SAAC4K,EAAGzK,GAAJ,MAAa,CACnFF,MAAO2K,EAAEmD,WACTnU,MAAOgR,EAAEmD,eAEbskB,GAAgBoB,SAEjB,GAAoB,aAAhB/G,EAA6B,CACpC,IAAI+G,EAAepjB,EAAQ6Y,yCAAyClpB,KAAI,SAAC4K,EAAGzK,GAAJ,MAAa,CACjFF,MAAO2K,EAAEmD,WACTnU,MAAOgR,EAAEmD,eAEbskB,GAAgBoB,GAIpBjB,GAAgBniB,EAAQjM,MAEI,MAAxBiM,EAAQ8Y,aACRvlB,EAAS,eAAgBvH,GAAegU,EAAQ8Y,eAEhDvlB,EAAS,eAAgB,IAEO,MAAhCyM,EAAQ+Y,qBACRxlB,EAAS,uBAAwBvH,GAAegU,EAAQ+Y,uBAExDxlB,EAAS,uBAAwB,IAEP,MAA1ByM,EAAQnB,gBACR2jB,GAAiB,CACb3rB,KAAMmJ,EAAQnB,eACd8V,OAAQ,KACRE,aAAc,IAIgB,MAAlC7U,EAAQlB,wBACR4jB,GAAiB,CACb7rB,KAAMmJ,EAAQlB,uBACd6V,OAAQ,KACRE,aAAc,IAIgB,MAAlC7U,EAAQjB,wBACR6jB,GAAyB,CACrB/rB,KAAMmJ,EAAQjB,uBACd4V,OAAQ,KACRE,aAAc,IAIS,MAA3B7U,EAAQhB,iBACR8jB,GAAkB,CACdjsB,KAAMmJ,EAAQhB,gBACd2V,OAAQ,KACRE,aAAc,KAKpB0M,GAAe,SAACvhB,GACbsc,GAAqC,aAAhBD,EAK1BpzB,EAAa,gBAAW,kCAAgC,YAAY,SAAUlC,GACtEA,IACAiD,GAAW,GACX/B,EAAS,4DAA8D+X,EAAQ0R,qCAC1E9pB,MAAK,SAAAb,GAAY0B,EAAY,QAAS,mCAAiC,WAAW,WAAc46B,GAAmBrjB,EAAQnL,uBAC3HhN,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAVlCvB,EAAY,QAAS,mDAA2C,QAAS,OAc3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GAEX7B,EAAQ,qDAAuDm7B,GAC1D17B,MAAK,SAAAb,GAAM,OAAI85B,EAAa95B,EAAOI,SACnCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAyD5Bk1B,GAAuB,SAAC/3B,GAC1B,IAAIo8B,EAA0C,GAqC9C,OApCAxB,GAAYpyB,KAAI,SAAA4K,GACZgpB,EAAwC/oB,KAAK,CACzCgpB,2CAA4C,EAC5CxK,iCAA6C,MAAXkK,GAAkB,EAAIA,GAAQlK,iCAChEtb,WAAYnD,EAAEhR,WAIJ,CACdyvB,iCAA6C,MAAXkK,GAAkB,EAAIA,GAAQlK,iCAChEsG,0BAA2B/mB,EAAK4D,uBAAuB,GAAGmjB,0BAC1D9hB,MAAOrW,EAAKqW,MACZG,MAAOxW,EAAKwW,MACZ5J,KAAM8tB,GACN7jB,gBAAiB7W,EAAK6W,gBACtBD,KAAM5W,EAAK4W,KACXH,cAAezW,EAAKyW,cACpBM,cAAe/W,EAAKs8B,QACpB3K,aAAc3xB,EAAK2xB,aACnBC,qBAAsB5xB,EAAK4xB,qBAC3Bla,eAAgC,MAAhB0jB,GAAuBA,GAAa1rB,KAAO,KAC3D6sB,qBAAsC,MAAhBnB,GAAuBA,GAAa5N,OAAS,KACnE7V,uBAAwC,MAAhB2jB,GAAuBA,GAAa5rB,KAAO,KACnE8sB,6BAA8C,MAAhBlB,GAAuBA,GAAa9N,OAAS,KAC3E5V,uBAAgD,MAAxB4jB,GAA+BA,GAAqB9rB,KAAO,KACnF+sB,6BAAsD,MAAxBjB,GAA+BA,GAAqBhO,OAAS,KAC3F3V,gBAAkC,MAAjB6jB,GAAwBA,GAAchsB,KAAO,KAC9DgtB,sBAAwC,MAAjBhB,GAAwBA,GAAclO,OAAS,KACtE1tB,OAAQo7B,GACRhD,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1G4N,IAAK3W,EAAK2W,IACVD,yBAA0B1W,EAAK0W,yBAC/BM,qBAAsBA,GACtBF,OAAQ9W,EAAK8W,OACb4a,yCAA0C0K,IAI5C/E,GAA0B,SAACr3B,GAC7B,IAAIsW,EAA6C,GAqCjD,OApCAskB,GAAYpyB,KAAI,SAAA4K,GACZkD,EAA2CjD,KAAK,CAC5CspB,8CAA+C,EAC/CpS,oCAAgD,MAAXwR,GAAkB,EAAIA,GAAQxR,oCACnEhU,WAAYnD,EAAEhR,WAIJ,CACdmoB,oCAAgD,MAAXwR,GAAkB,EAAIA,GAAQxR,oCACnE7c,gBAAiB0D,EAAK1D,gBACtB2I,MAAOrW,EAAKqW,MACZumB,YAAwB,MAAXb,GAAkBA,GAAQ1lB,MAAQ,GAC/CG,MAAOxW,EAAKwW,MACZ5J,KAAM8tB,GACN7jB,gBAAiB7W,EAAK6W,gBACtBD,KAAM5W,EAAK4W,KACXH,cAAezW,EAAKyW,cACpBM,cAAe/W,EAAKs8B,QACpB5kB,eAAgB0jB,GAAeA,GAAa1rB,KAAO,KACnD6sB,qBAAsBnB,GAAeA,GAAa5N,OAAS,KAC3D7V,uBAAwB2jB,GAAeA,GAAa5rB,KAAO,KAC3D8sB,6BAA8BlB,GAAeA,GAAa9N,OAAS,KACnE5V,uBAAwB4jB,GAAuBA,GAAqB9rB,KAAO,KAC3E+sB,6BAA8BjB,GAAuBA,GAAqBhO,OAAS,KACnF3V,gBAAiB6jB,GAAgBA,GAAchsB,KAAO,KACtDgtB,sBAAuBhB,GAAgBA,GAAclO,OAAS,KAC9D1tB,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1G4N,IAAK3W,EAAK2W,IACVD,yBAA0B1W,EAAK0W,yBAC/BM,qBAAsBA,GACtBF,OAAQ9W,EAAK8W,OACbR,2CAA4CA,IAK9CumB,GAAqB,SAACj9B,GACxBiD,GAAW,GACX,IAAIi6B,EAAYrwB,EACZswB,EAAUn9B,EAAOI,KACrB,GAAoB,aAAhBk1B,EAA6B,CAC7B,IAAI8H,EAAW,GACfvD,EAASjxB,KAAI,SAAA4K,GACLA,EAAEye,kCAAoCkL,EAAQlL,kCAC9CmL,EAAS3pB,KAAKD,MAEtB4pB,EAAS3pB,KAAK0pB,GACdrD,EAAasD,GAEbF,EAAUrL,8BAAgCuL,OAEzC,GAAoB,gBAAhB9H,EAAgC,CACrC,IAAI+H,EAAS,aACNxD,GAGgC,oBAAnCroB,EAAK/D,qBAAqBC,OAC1ByvB,EAAQG,WAAY,GAIT,MAAXnB,IACAkB,EAAU5pB,KAAK0pB,GACfrD,EAAauD,KAEbA,EAAUlB,GAAQoB,UAAUxoB,IAAMooB,EAClCrD,EAAauD,IAGjBH,EAAU1mB,iCAAmC6mB,EAEjDvwB,EAAaowB,GAEb1wB,EAAS,QAAS,IAClBA,EAAS,QAAS,IAClBA,EAAS,gBAAiB,IAC1BA,EAAS,kBAAmB,IAC5BA,EAAS,OAAQ,IACjBA,EAAS,UAAW,IACpBA,EAAS,eAAgB,IACzBA,EAAS,uBAAwB,IACjCA,EAAS,MAAO,IAChBA,EAAS,2BAA4B,IACrCyvB,GAAyB,MACzBzvB,EAAS,uBAAwB,MAAM,GACvCA,EAAS,SAAU,IACnBuuB,GAAgB,MAChBE,GAAgB,IAEhBmB,GAAY,MACZX,GAAiB,MACjBE,GAAiB,MACjBE,GAAyB,MACzBE,GAAkB,MAElBr6B,EAAY,QAAS,uCAAkC,UAAW,OAsBtE,GAAwDsB,mBAAS,CAC7D,CAAE6F,MAAO,QAASrG,MAAO,SACzB,CAAEqG,MAAO,UAAWrG,MAAO,aAF/B,qBAAOg7B,GAAP,YAKA,OACI,oCACI,6BACI,kBAACrhB,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,eACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GAvO3B,SAACnM,GACd,GAAIoR,EAAKigB,kCACL,GAAe,MAAX0K,IAAqF,aAAjE3qB,EAAKigB,iCAAiCniB,iBAAiBioB,QAAwBoC,EAAgBE,EAASlnB,QAAO,SAAA4H,GAAC,MAAgB,SAAZA,EAAEra,UAAmByE,QAAU,EAEvK,YADAjD,EAAY,QAAS,kFAAuE,QAAS,WAIzG,GAAe,MAAXy6B,IAAyE,aAArD3qB,EAAK/D,qBAAqB6B,iBAAiBioB,QAAwBoC,EAAgBE,EAASlnB,QAAO,SAAA4H,GAAC,MAAgB,SAAZA,EAAEra,UAAmByE,QAAU,EAE3J,YADAjD,EAAY,QAAS,kFAAuE,QAAS,MAK7G,GAAuB,GAAnBm4B,EAASl1B,QACE,MAAXw3B,IACgB,gBAAhB7G,GAC8D,OAA9D9jB,EAAK/D,qBAAqB6B,iBAAiBC,UAAUC,OAClB,eAAlCgC,EAAK/D,qBAAqBC,KAM/B,GAAe,MAAXyuB,IAAmBtC,EAASlnB,QAAO,SAAAC,GAAC,OAAIA,EAAE6D,OAASrW,EAAKqW,OAAS7D,EAAEuE,eAAiB/W,EAAKs8B,WAAS/3B,OAAS,EAC3GjD,EAAY,QAAS,qDAAgD,QAAS,WAIlF,GAA0C,GAAtCtB,EAAKqW,MAAMwG,QAAQ,IAAK,IAAItY,OAKhC,KAAgB,MAAXjH,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAAgD,MAAhBosB,IAAwC,MAAhBE,IAKpG,GAAqB,gBAAhBpG,GAAgG,OAA9D9jB,EAAK/D,qBAAqB6B,iBAAiBC,UAAUC,OAAwC,GAAtBwrB,GAAYr2B,QAClG,aAAhB2wB,GAAyG,OAA1E9jB,EAAKigB,iCAAiCniB,iBAAiBC,UAAUC,OAAwC,GAAtBwrB,GAAYr2B,OAClIjD,EAAY,QAAS,uDAAqD,QAAS,WAKvF,GADAuB,GAAW,GACPsyB,GAAqC,aAAhBD,GDhaiB,SAACuD,EAAMp1B,GACR,GAAzCo1B,EAAK5G,iCACL/wB,EAAS,2DAA4D23B,GAChEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,0DAA2D03B,GAC9Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SCyZzDs9B,CADWtF,GAAqB/3B,GACS68B,SAExC,GAAoB,gBAAhB3H,EAAgC,ED3VI,SAACuD,EAAMp1B,GACR,GAA5Co1B,EAAKlO,qCAAwF,MAA5CkO,EAAKlO,oCACtDzpB,EAAS,iEAAkE23B,GACtEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,gEAAiE03B,GACpEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SCoVzDu9B,CADWjG,GAAwBr3B,GACS68B,UAjB5Cv7B,EAAY,QAAS,4FAAiF,QAAS,WAL/GA,EAAY,QAAS,qBAAmB,QAAS,WAVjDA,EAAY,QAAD,sEAAgE8P,EAAK/D,qBAAqBC,MAAQ,UAAW,UAqNhG,kBAACuB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAe,MAAXlT,GAAyC,gBAAtBA,EAAQ0R,YAA2C,MAAX+sB,GAAkB,IAAM,KACxF,kBAACvsB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQY,SAAUrE,EAAS,CAAEkE,UAAU,IAASJ,SApgB1F,SAACC,GACvB,IAAIpQ,EAASoQ,EAAEyH,OAAOrV,MAAMya,QAAQ,uBAAkB,IACtDzQ,EAAS,QAASxM,IAkgB2H+jB,UAAU,MAC9GzX,EAAOmK,OAAS,0BAAMtO,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAe,MAAXlT,GAAyC,gBAAtBA,EAAQ0R,YAA2C,MAAX+sB,GAAkB,IAAM,KACxF,kBAACvsB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,kBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQiU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC9EjE,EAAOsK,OAAS,0BAAMzO,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,iCACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,gBAAgB6tB,IAAK,KAAMC,IAAK,KAAM7Z,UAAU,IAAIrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC5GjE,EAAOuK,eAAiB,0BAAM1O,UAAU,kCAAhB,4BAGrB,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAgC+sB,IACxD,kBAACzsB,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACI0H,QAAS2tB,GACTztB,eAAgB,SAAAC,GAAM,OAAIA,EAAOnH,OACjCqH,eAAgB,SAAAF,GAAM,OAAIA,EAAOxN,OACjCsN,KAAK,SACLK,SAAU,SAACC,GAzcnC,IAAC5N,IAyc8D4N,EAAE5N,MAxczF+4B,GAAiB/4B,GACjBgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAucoClK,MAAOg7B,GAAqB7qB,QAAO,SAAAC,GAAC,OAAIA,EAAEpQ,OAAS84B,MAAe,GAClEv1B,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,cAGfxD,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAI9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WACH,kBAAC,KAAD,CACI0H,QAAS8qB,GACT5qB,eAAgB,SAAAC,GAAM,OAAIA,EAAOnH,OACjCqH,eAAgB,SAAAF,GAAM,OAAIA,EAAOxN,OACjCsN,KAAK,cACLK,SAAU,SAACC,GAhgBjC,IAAC5N,IAggB0D4N,EAAE5N,MA/fnFu4B,GAAgBv4B,GAChBgK,EAAS,cAAehK,GAAO,GAC/BkK,EAAY,gBAES,gBAAhB4oB,GAAgG,OAA9D9jB,EAAK/D,qBAAqB6B,iBAAiBC,UAAUC,OACvE,aAAhB8lB,GAAyG,OAA1E9jB,EAAKigB,iCAAiCniB,iBAAiBC,UAAUC,SACjGyrB,GAAgB,IAChBG,GAAgB54B,KAyfwBA,MAAOm4B,GAAmBhoB,QAAO,SAAAC,GAAC,OAAIA,EAAEpQ,OAASs4B,MACjD/0B,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,eACR,CAAES,UAAU,OAGnBjE,EAAOwuB,aAAe,0BAAM3yB,UAAU,kCAAhB,4BAGd,gBAAhBmtB,GAAgG,OAA9D9jB,EAAK/D,qBAAqB6B,iBAAiBC,UAAUC,OACpF,kBAACE,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,eAAH,KACA,kBAAC,KAAD,CACI0H,QAASqrB,GACTnrB,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBsN,KAAK,cACLgV,SAAS,EACTtiB,MAAO04B,GAAmBvoB,QAAO,gBAAGnQ,EAAH,EAAGA,MAAH,OAAew4B,GAAYroB,QAAO,SAAAC,GAAC,OAAIA,EAAEpQ,OAASA,KAAOmC,OAAS,KACnGwL,SAAU,SAAC3N,GAAD,OAAW64B,GAAkB74B,GAAS,KAChDuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,eACR,CAAES,UAAU,SAKf,aAAhB+kB,GAAyG,OAA1E9jB,EAAKigB,iCAAiCniB,iBAAiBC,UAAUC,OAC7F,kBAACE,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,eAAH,KACA,kBAAC,KAAD,CACI0H,QAASqrB,GACTnrB,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBsN,KAAK,cACLgV,SAAS,EACTtiB,MAAO04B,GAAmBvoB,QAAO,gBAAGnQ,EAAH,EAAGA,MAAH,OAAew4B,GAAYroB,QAAO,SAAAC,GAAC,OAAIA,EAAEpQ,OAASA,KAAOmC,OAAS,KACnGwL,SAAU,SAAC3N,GAAD,OAAW64B,GAAkB74B,GAAS,KAChDuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,eACR,CAAES,UAAU,SAKhC,kBAACb,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,mEAAkC,uBAAG8H,KAAK,IAAI3C,GAAG,oCAAmC,uBAAG5M,UAAU,4BAChG,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,mCAAmCuhB,UAAU,OAAzE,yEAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,2BAA2B6tB,IAAK,KAAMC,IAAK,KAAM7Z,UAAU,IAAIrT,SAAUrE,EAAS,CAAEkE,UAAU,QAGhI,kBAACb,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,sBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,kBAAkB6tB,IAAK,EAAG5Z,UAAU,IAAIrT,SAAUrE,EAAS,CAAEkE,UAAU,MAChGjE,EAAO2K,iBAAmB,0BAAM9O,UAAU,kCAAhB,4BAGnC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,OAAOY,SAAUrE,EAAS,CAAEkE,UAAU,MAC/DjE,EAAOuK,eAAiB,0BAAM1O,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YAAsD,uBAAGuP,KAAK,IAAI3C,GAAG,mBAAkB,uBAAG5M,UAAU,4BACnG,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,kBAAkBuhB,UAAU,OAAxD,kEAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,UAAUiU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC/EjE,EAAOowB,SAAW,0BAAMv0B,UAAU,kCAAhB,4BAG3B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,uCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,MAAMiU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,QAGpF,kBAACb,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0DAA4B,uBAAG8H,KAAK,IAAI3C,GAAG,+BAA8B,uBAAG5M,UAAU,4BACrF,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,8BAA8BuhB,UAAU,OAApE,gEAEJ,kBAAC,KAAD,CACIvpB,QAASqsB,GACTpsB,KAAK,uBACLC,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnB2N,SAAU,SAACC,GApfxB,IAAC5N,IAof0D4N,EAAE5N,MAnf5Fy5B,GAAyBz5B,GACzBgK,EAAS,uBAAwBhK,GAAO,IAmfIA,MAA+B,MAAxB4U,IAAgC8kB,GAA6B7rB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAU4U,MAC9FrR,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,wBACR,CAAES,UAAU,SAK5B,kBAACb,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,oBACH,kBAACsI,GAAA,EAAD,CACIpB,KAAK,SACL0F,GAAG,SACH8oB,KAAK,MACL/tB,KAAK,SACL6tB,IAAK,EACL5Z,UAAU,IACVrT,SAAUrE,EAAS,CAAEkE,UAAU,MACnC,kBAACutB,GAAA,EAAD,CACI3pB,OAAQ4lB,EACRgE,MAAO,CAAEC,KAAM,IAAKC,KAAM,KAC1BpmB,OAAO,SACPuhB,UAAU,MACVhlB,OAAQ,kBAAM4lB,GAAgBD,KALlC,mEAQCztB,EAAO4K,QAAU,0BAAM/O,UAAU,kCAAhB,6BAIZ,aAAhBmtB,GAA0C,MAAX53B,GAAyC,gBAAtBA,EAAQ0R,YACxD,kBAACH,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,4CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,eAAeY,SAAUrE,EAAS,CAAEkE,UAAU,IAASoT,OAAQ+W,IACtFpuB,EAAOylB,cAAgB,0BAAM5pB,UAAU,kCAAhB,4BAGhC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,qDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,uBAAuBY,SAAUrE,EAAS,CAAEkE,UAAU,IAASoT,OAAQ+W,IAC9FpuB,EAAO0lB,sBAAwB,0BAAM7pB,UAAU,kCAAhB,6BAKhD,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uBAAGvH,MAAO,CAAER,MAAO,SAAU,0BAAMM,UAAU,eAAhB,KAA7B,oBAAoF,uBAAGuP,KAAK,IAAI3C,GAAG,0BAAyB,uBAAG5M,UAAU,4BACxI,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,yBAAyBuhB,UAAU,OAA/D,gCAEJ,kBAACvM,GAAD,CAAU/c,KAAK,iBACX4V,MAAO8V,GACPlyB,OAAO,OACPI,MAAM,OACNqkB,aAAc,EAAGJ,WAnnBvC,SAACa,EAAO/qB,GACjB,MAAT+qB,GAIJiN,GAAiBjN,GACjB/qB,KAJI/B,EAAY,QAAS,mIAAwH,QAAS,WAqnB1H,kBAACgO,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uBAAGvH,MAAO,CAAER,MAAO,SAAU,0BAAMM,UAAU,eAAhB,KAA7B,4BACH,kBAAC0kB,GAAD,CAAU/c,KAAK,iBACX4V,MAAOgW,GACPpyB,OAAO,OACPI,MAAM,OACNqkB,aAAc,EAAGJ,WAnnBvC,SAACa,EAAO/qB,GACjB,MAAT+qB,GAIJmN,GAAiBnN,GACjB/qB,KAJI/B,EAAY,QAAS,mIAAwH,QAAS,WAqnB1H,kBAACgO,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uBAAGvH,MAAO,CAAER,MAAO,SAAnB,wBACH,kBAACglB,GAAD,CAAU/c,KAAK,yBACX4V,MAAOkW,GACPtyB,OAAO,OACPI,MAAM,OACNqkB,aAAc,EAAGJ,WAnnB/B,SAACa,EAAO/qB,GACzB,MAAT+qB,GAIJqN,GAAyBrN,GACzB/qB,KAJI/B,EAAY,QAAS,2JAAgJ,QAAS,WAiB5J,WACtB,GAAqB,gBAAhB4zB,GAAuF,aAArD9jB,EAAK/D,qBAAqB6B,iBAAiBioB,QAC1D,aAAhBjC,GAAgG,aAAjE9jB,EAAKigB,iCAAiCniB,iBAAiBioB,OAC1F,OAAO,kBAAC7nB,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KAClB,kBAACC,GAAA,EAAD,KACI,2BAAG,uBAAGvH,MAAO,CAAER,MAAO,SAAnB,aAAuC,uBAAG6P,KAAK,IAAI3C,GAAG,oBAAmB,uBAAG5M,UAAU,4BACrF,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,mBAAmBuhB,UAAU,OAAzD,gFAEJ,kBAACvM,GAAD,CAAU/c,KAAK,kBACX4V,MAAOoW,GACPxyB,OAAO,OACPI,MAAM,OACNqkB,aAAc,EAAGJ,WAAYqO,OAwlBZkC,GACD,kBAACxuB,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,eACnB,kBAACyH,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAA1E,2BAKhB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,MAAOiX,MAAO,gBAAiBvJ,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,UACjF,CAAEz8B,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,OAAQiX,MAAO,OAAQvJ,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,UACzE,CAAEz8B,MAAO,UAAWiX,MAAO,iBAC3B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMy5B,EACN/gB,WAAW,EACX5S,QAASA,EACTkT,aAAc9T,GACduK,QAASpI,MAIE,iBAAjB6tB,GAA4C,OAAT9jB,GAAoD,oBAAnCA,EAAK/D,qBAAqBC,MAC5E,kBAACgC,GAAA,EAAD,CAAKC,GAAG,KAAKtH,MAAO,CAAE2M,WAAY,SAC9B,kBAACmH,EAAA,EAAD,CAAMhU,UAAU,OAAON,MAAM,UAAUw2B,SAAO,GAC1C,kBAACzF,GAAA,EAAD,KACI,wBAAIvwB,MAAO,CAAEma,OAAQ,MAArB,kBAEJ,kBAACpG,EAAA,EAAD,CAAU/T,MAAO,CAAE2wB,QAAS,uBACxB,kBAACsF,GAAA,EAAD,CAAUj2B,MAAO,CAAEyB,SAAU,GAAI0Y,OAAQ,eAAzC,mJAShB,kBAAC9S,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aACK,MAAtByxB,GACG,kBAAC1qB,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAGR,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cACI,MAArBqtB,GACG,kBAACtmB,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAnU1C,YACF,MAAXzR,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAAkD,GAAnByqB,EAASl1B,OAChFjD,EAAY,QAAS,6DAAkD,QAAS,MAIhE,gBAAhB4zB,GACAryB,GAAW,GACX/B,EAAS,0DAA4DsQ,EAAK1D,iBACrEjN,MAAK,SAAAb,GAAM,OAAIw1B,EAAkB3oB,MACjC/L,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAE9BuyB,EAAkB3oB,IAsT8D1E,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,kCCt3B9I,SAASo2B,GAAT,GAAyG,IAAjF/sB,EAAgF,EAAhFA,KAAM8jB,EAA0E,EAA1EA,aAAcC,EAA4D,EAA5DA,kBAAmBC,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBAC7F,EAA8Bh3B,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAmFkJ,YAAQ,CAAEC,KAAM,WAA3FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,GAFA,EAAyEE,MAExC1O,IAAM8E,SAAS,OAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KACA,EAA2C5O,IAAM8E,SAAS,IAA1D,mBAAOw7B,EAAP,KAAsBC,EAAtB,KAEAt6B,qBAAU,WACc,aAAhBmxB,EACA4E,IACqB,gBAAhB5E,GACL6E,MACL,IACH,IAAMD,EAAoB,WACtBptB,EAAa0E,GACD,MAARA,GAAoF,MAApEA,EAAK4D,uBAAuB,GAAG8c,mCAC/CuM,EAAkBjtB,EAAK4D,uBAAuB,GAAG8c,oCAGnDiI,EAAuB,WAMzB,GALArtB,EAAa0E,GACD,MAARA,GAA6D,MAA7CA,EAAK0G,sCACrBumB,EAAkBjtB,EAAK0G,sCAGP,gBAAhBod,EAAgC,CAChC,IAAIiF,EAAUr0B,EACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,gBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,EAAYC,KAKpB,EAA+Bv3B,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,GAAWxhB,OAJhD,mBAAO/S,EAAP,KAAgBo0B,EAAhB,KASA,EAAuBp8B,IAAM8E,SAAS,IAAtC,mBAAO0S,EAAP,KAAYgpB,EAAZ,KACA,EAA6C17B,oBAAS,GAAtD,mBAAO27B,EAAP,KAAuBC,EAAvB,KAiCA,EAA6B1gC,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,GAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,GAAP,qBAUA,GAA+B33B,IAAM8E,SAAS,MAA9C,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACM3B,GAAa,SAACxhB,GAChBmjB,GAAYnjB,GACZylB,EAAQzlB,EAAQvD,KAChBlJ,EAAS,MAAOyM,EAAQvD,KACxBlJ,EAAS,aAAcyM,EAAQtD,YAC/BnJ,EAAS,cAAeyM,EAAQrD,aAChCpJ,EAAS,cAAeyM,EAAQpD,aAChCrJ,EAAS,SAAUyM,EAAQnD,QAC3BtJ,EAAS,SAAUyM,EAAQlD,QAC3BvJ,EAAS,KAAMyM,EAAQue,IACvB5B,EAAW3c,EAAQ/Y,QACnBsM,EAAS,SAAUyM,EAAQ/Y,QAAQ,IAGjCs6B,GAAe,SAACvhB,GACbsc,GAAqC,aAAhBD,EAK1BpzB,EAAa,gBAAW,6BAA8B,YAAY,SAAUlC,GACpEA,IACAiD,GAAW,GACX/B,EAAS,gEAAkE+X,EAAQ4lB,yCAC9Eh+B,MAAK,SAAAb,GACF0B,EAAY,QAAS,8BAA+B,WAAW,WAC3D46B,GAAmBrjB,EAAQnL,uBAGlChN,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAdlCvB,EAAY,QAAS,mDAA2C,QAAS,OAkB3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GAEX7B,EAAQ,yDAA2Dm7B,GAC9D17B,MAAK,SAAAb,GAAM,OAAIy+B,EAAkBz+B,EAAOI,SACxCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAmB5Bk1B,GAAuB,SAAC/3B,GAc1B,MAbkB,CACd0+B,qCAAiD,MAAX3C,GAAkB,EAAIA,GAAQ2C,qCACpEvG,0BAA2B/mB,EAAK4D,uBAAuB,GAAGmjB,0BAC1DP,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACTt3B,OAAkB,IAAVA,EAAeA,EAAS,QAChCo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5GsuB,GAA0B,SAACr3B,GAc7B,MAbkB,CACdy+B,wCAAoD,MAAX1C,GAAkB,EAAIA,GAAQ0C,wCACvE/wB,gBAAiB0D,EAAK1D,gBACtBkqB,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACTt3B,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5G41B,GAA0B,SAAC/+B,GAC7BiD,GAAW,GAEX,IAAI+7B,EAAQh/B,EAAOI,KAEfg9B,EAAW,GAEXF,EAAYrwB,EACI,aAAhByoB,GACAkJ,EAAc51B,KAAI,SAAA4K,GACVA,EAAEsrB,sCAAwCE,EAAMF,sCAChD1B,EAAS3pB,KAAKD,MAGtB0pB,EAAU9nB,uBAAuB,GAAG8c,kCAAoCkL,GAEnD,gBAAhB9H,IACLkJ,EAAc51B,KAAI,SAAA4K,GACVA,EAAEqrB,yCAA2CG,EAAMH,yCACnDzB,EAAS3pB,KAAKD,MAGtB0pB,EAAUjoB,0BAA0B,GAAGiD,qCAAuCklB,GAGlFA,EAAS3pB,KAAKurB,GACdP,EAAkBrB,GAClBtwB,EAAaowB,GAEbwB,EAAQ,IACRlyB,EAAS,MAAO,IAChBA,EAAS,aAAc,IACvBA,EAAS,cAAe,IACxBA,EAAS,cAAe,IACxBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfopB,EAAW,IACXppB,EAAS,SAAU,IAAI,GAEvB4vB,GAAY,MAEZ16B,EAAY,QAAS,uCAAkC,UAAW,OActE,OACI,oCACI,6BACI,kBAACya,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,kCACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GAnH3B,SAACnM,GACd,GAAe,MAAX+7B,IAAmBqC,EAAc7rB,QAAO,SAAAC,GAAC,OAAIA,EAAEolB,KAAO53B,EAAKsV,KAAO9C,EAAEgD,aAAexV,EAAKwV,eAAajR,OAAS,EAC9GjD,EAAY,QAAS,qDAAgD,QAAS,WAKlF,GADAuB,GAAW,GACPsyB,GAAqC,aAAhBD,GFxIqB,SAACuD,EAAMp1B,GACR,GAA7Co1B,EAAKiG,qCACL59B,EAAS,+DAAgE23B,GACpEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAI7DgB,EAAQ,8DAA+D03B,GAClEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SEgIzD8+B,CADW9G,GAAqB/3B,GACa2+B,SAE5C,GAAoB,gBAAhBzJ,EAAgC,EFnEQ,SAACuD,EAAMp1B,GACR,GAAhDo1B,EAAKgG,wCACL39B,EAAS,sEAAuE23B,GAC3Eh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,oEAAqE03B,GACxEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SE4DzD++B,CADWzH,GAAwBr3B,GACa2+B,SAuGxB,kBAAC9vB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,GAAD,CAAU2H,KAAK,MAAMK,SA/M/C,SAAC6I,GACf0lB,EAAQ1lB,EAAMnB,OAAOrV,OAEgC,GAAjDwW,EAAMnB,OAAOrV,MAAM01B,WAAW,IAAK,IAAIvzB,SAG3C+H,EAAY,OAEZ4jB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GACZ,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,MAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfoyB,GAAmB,KAGnBpyB,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,IAEG,MAA1Bx3B,EAAOI,KAAKuV,YAAuD,GAAjC3V,EAAOI,KAAKuV,WAAWhR,OACzDi6B,GAAmB,GAEnBA,GAAmB,SAqLmDp8B,MAAOkT,EAAK4jB,SAAUjtB,EAAS,CAAEkE,UAAU,MACpFjE,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,gBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaypB,SAAUoF,EAAgB5a,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC7GjE,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAASypB,SAAUoF,EAAgB5a,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MACxGjE,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MACrFjE,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,QAG5F,kBAACb,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAAS4c,SAAS,WAAW3I,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAClGjE,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,QACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,KAAK4c,SAAS,WAAWhc,SAAUrE,EAAS,CAAEkE,UAAU,MAC/EjE,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACI0H,QAASgmB,GACT/lB,KAAK,SACLK,SAAU,SAACC,GA7NtC,IAAC5N,IA6N0D4N,EAAE5N,MA5N9EozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA2NgCqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,GAAgB21B,GAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,eACnB,kBAACyH,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,KAA+D,uBAAGlH,UAAU,gBAA5E,sBAMpB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,MAAOiX,MAAO,OACvB,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,cAAeiX,MAAO,eAC/B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,KAAMiX,MAAO,MACtB,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMo+B,EACN1lB,WAAW,EACX5S,QAASA,EACTkT,aAAc9T,GACduK,QAASpI,MAGjB,kBAACiI,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QA5HlC,YACG,gBAAhBmmB,GAAuF,aAArD9jB,EAAK/D,qBAAqB6B,iBAAiBioB,QAC1D,aAAhBjC,GAAgG,aAAjE9jB,EAAKigB,iCAAiCniB,iBAAiBioB,UAC1E,MAAX75B,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAAuD,GAAxBovB,EAAc75B,OACrFjD,EAAY,QAAS,kEAA0D,QAAS,MAIhG8zB,EAAkB3oB,IAoH0D1E,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,iCCjWtI,SAASg3B,GAAT,GAA6G,IAAjF3tB,EAAgF,EAAhFA,KAAM8jB,EAA0E,EAA1EA,aAAcC,EAA4D,EAA5DA,kBAAmBC,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBACjG,EAA8Bh3B,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAmFkJ,YAAQ,CAAEC,KAAM,WAA3FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,GAFA,EAAyEE,MAExC1O,IAAM8E,SAAS,OAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KACA,EAAmD5O,IAAM8E,SAAS,IAAlE,mBAAOo8B,EAAP,KAA0BC,EAA1B,KACA,EAAyBnhC,IAAM8E,SAAS,IAAxC,mBAAOoV,EAAP,KAAaknB,EAAb,KACA,EAAiCphC,IAAM8E,SAAS,IAAhD,mBAAOkT,EAAP,KAAiBqpB,EAAjB,KACA,EAA+BrhC,IAAM8E,SAAS,IAA9C,mBAAOmT,EAAP,KAAgBqpB,EAAhB,KAEAr7B,qBAAU,WACc,aAAhBmxB,EACA4E,IACqB,gBAAhB5E,GACL6E,MACL,IACH,IAAMD,EAAoB,WACtBptB,EAAa0E,GACD,MAARA,GAAqF,MAArEA,EAAK4D,uBAAuB,GAAG+c,oCAC/CkN,EAAsB7tB,EAAK4D,uBAAuB,GAAG+c,qCAGvDgI,EAAuB,WAMzB,GALArtB,EAAa0E,GACD,MAARA,GAA8D,MAA9CA,EAAK2G,uCACrBknB,EAAsB7tB,EAAK2G,uCAGX,gBAAhBmd,EAAgC,CAChC,IAAIiF,EAAUr0B,EACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,gBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,EAAYC,KAKpB,EAA+Bv3B,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,GAAWxhB,OAJhD,mBAAO/S,EAAP,KAAgBo0B,EAAhB,KASA,GAAuBp8B,IAAM8E,SAAS,IAAtC,qBAAO0S,GAAP,MAAYgpB,GAAZ,MACA,GAA6C17B,oBAAS,GAAtD,qBAAO27B,GAAP,MAAuBC,GAAvB,MAiCA,GAA6B1gC,IAAM8E,SAAS,IAA5C,qBAAO9C,GAAP,MAAe01B,GAAf,MACA,GAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,GAAP,qBAUA,GAA+B33B,IAAM8E,SAAS,MAA9C,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACM3B,GAAa,SAACxhB,GAChBmjB,GAAYnjB,GACZqmB,EAASrmB,EAAQb,MACjB5L,EAAS,OAAQyM,EAAQb,MACzB5L,EAAS,WAAYyM,EAAQZ,UAC7B7L,EAAS,cAAeyM,EAAQ3D,aAChC9I,EAAS,WAAYyM,EAAQ/C,UAC7BqpB,EAAatmB,EAAQ/C,UACrB1J,EAAS,UAAWyM,EAAQ9C,SAC5BqpB,EAAYvmB,EAAQ9C,SAEpBuoB,GAAQzlB,EAAQvD,KAChBlJ,EAAS,MAAOyM,EAAQvD,KACxBlJ,EAAS,aAAcyM,EAAQtD,YAC/BnJ,EAAS,cAAeyM,EAAQrD,aAChCpJ,EAAS,cAAeyM,EAAQpD,aAChCrJ,EAAS,SAAUyM,EAAQnD,QAC3BtJ,EAAS,SAAUyM,EAAQlD,QAC3BvJ,EAAS,KAAMyM,EAAQue,IACvB5B,GAAW3c,EAAQ/Y,QACnBsM,EAAS,SAAUyM,EAAQ/Y,QAAQ,IAGjCs6B,GAAe,SAACvhB,GACbsc,GAAqC,aAAhBD,EAK1BpzB,EAAa,gBAAW,6BAA8B,YAAY,SAAUlC,GACxE,GAAIA,EAAQ,CACRiD,GAAW,GACX,IAAIw8B,EAAwB,MAAX/hC,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,EAE5E,aAAhBmsB,EACAp0B,EAAS,0DAA4Du+B,EAAa,IAAMxmB,EAAQymB,uCAC3F7+B,MAAK,SAAAb,GACF0B,EAAY,QAAS,8BAA+B,WAAW,WAC3D46B,GAAmBrjB,EAAQsf,iCAGlCz3B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B/B,EAAS,iEAAmE+X,EAAQ0mB,0CAC/E9+B,MAAK,SAAAb,GACF0B,EAAY,QAAS,8BAA+B,WAAW,WAC3D46B,GAAmBrjB,EAAQnL,uBAGlChN,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UA3BtCvB,EAAY,QAAS,mDAA2C,QAAS,OAgC3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GAES,aAAhBqyB,EACAl0B,EAAQ,oDAAsDm7B,GACzD17B,MAAK,SAAAb,GAAM,OAAIq/B,EAAsBr/B,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B7B,EAAQ,0DAA4Dm7B,GAC/D17B,MAAK,SAAAb,GAAM,OAAIq/B,EAAsBr/B,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAyBhCk1B,GAAuB,SAAC/3B,GAmB1B,MAlBkB,CACds/B,sCAAkD,MAAXvD,GAAkB,EAAIA,GAAQuD,sCACrEnH,0BAA2B/mB,EAAK4D,uBAAuB,GAAGmjB,0BAC1DngB,KAAMA,EAAK6E,QAAQ,SAAU,IAC7B5E,SAAUjY,EAAKiY,SACf/C,YAAalV,EAAKkV,YAClBY,SAAUA,EAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC/F/hB,QAASA,EAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC7FF,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACTt3B,OAAkB,IAAVA,GAAeA,GAAS,QAChCo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5GsuB,GAA0B,SAACr3B,GAmB7B,MAlBkB,CACdu/B,yCAAqD,MAAXxD,GAAkB,EAAIA,GAAQwD,yCACxE7xB,gBAAiB0D,EAAK1D,gBACtBsK,KAAMA,EAAK6E,QAAQ,SAAU,IAC7B5E,SAAUjY,EAAKiY,SACf/C,YAAalV,EAAKkV,YAClBY,SAAUA,EAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC/F/hB,QAASA,EAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC7FF,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACTt3B,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5Gy2B,GAA2B,SAAC5/B,GAC9BiD,GAAW,GACX,IAAI+7B,EAAQh/B,EAAOI,KAEfg9B,EAAW,GAEXF,EAAYrwB,EACI,aAAhByoB,GACA8J,EAAkBx2B,KAAI,SAAA4K,GACdA,EAAEksB,uCAAyCV,EAAMU,uCACjDtC,EAAS3pB,KAAKD,MAEtB0pB,EAAU9nB,uBAAuB,GAAG+c,mCAAqCiL,GAEpD,gBAAhB9H,IACL8J,EAAkBx2B,KAAI,SAAA4K,GACdA,EAAEmsB,0CAA4CX,EAAMW,0CACpDvC,EAAS3pB,KAAKD,MAEtB0pB,EAAUjoB,0BAA0B,GAAGkD,sCAAwCilB,GAGnFA,EAAS3pB,KAAKurB,GACdK,EAAsBjC,GACtBtwB,EAAaowB,GAEboC,EAAS,IACT9yB,EAAS,OAAQ,IACjBA,EAAS,WAAY,IACrBA,EAAS,cAAe,IACxBA,EAAS,WAAY,IACrB+yB,EAAa,IACb/yB,EAAS,UAAW,IACpBgzB,EAAY,IACZd,GAAQ,IACRlyB,EAAS,MAAO,IAChBA,EAAS,aAAc,IACvBA,EAAS,cAAe,IACxBA,EAAS,cAAe,IACxBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfopB,GAAW,IACXppB,EAAS,SAAU,IAAI,GAEvB4vB,GAAY,MAEZ16B,EAAY,QAAS,uCAAkC,UAAW,OAWtE,OACI,oCACI,6BACI,kBAACya,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,8BACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GApI3B,SAACnM,GACd,GAAe,MAAX+7B,IAAmBiD,EAAkBzsB,QAAO,SAAAC,GAAC,OAAIA,EAAEwF,MAAQA,KAAMzT,OAAS,EAC1EjD,EAAY,QAAS,2DAAmD,QAAS,WAIrF,GAAe,MAAXy6B,IAAmBiD,EAAkBzsB,QAAO,SAAAC,GAAC,OAAIA,EAAEolB,KAAO53B,EAAKsV,KAAO9C,EAAEgD,aAAexV,EAAKwV,eAAajR,OAAS,EAClHjD,EAAY,QAAS,+DAAoD,QAAS,WAKtF,GADAuB,GAAW,GACPsyB,GAAqC,aAAhBD,GHlKsB,SAACuD,EAAMp1B,GACR,GAA9Co1B,EAAK6G,sCACLx+B,EAAS,gEAAiE23B,GACrEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,+DAAgE03B,GACnEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SG2JzD0/B,CADW1H,GAAqB/3B,GACcw/B,SAE7C,GAAoB,gBAAhBtK,EAAgC,EH9FS,SAACuD,EAAMp1B,GACR,GAAjDo1B,EAAK8G,yCACLz+B,EAAS,sEAAuE23B,GAC3Eh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,qEAAsE03B,GACzEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SGuFzD2/B,CADWrI,GAAwBr3B,GACcw/B,SAmHzB,kBAAC3wB,GAAA,EAAD,KACI,wBAAI5G,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,WACA,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,mBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,WAAWiU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MACjFjE,EAAO+L,UAAY,0BAAMlQ,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,qBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MACpFjE,EAAOgJ,aAAe,0BAAMnN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UACH,kBAAC,GAAD,CAAW2H,KAAK,WAAWK,SAAU,SAAC6I,GAAD,OAAWsmB,EAAStmB,EAAMnB,OAAOrV,QAAQA,MAAO4V,EAAMkhB,SAAUjtB,EAAS,CAAEkE,UAAU,MACzHjE,EAAOyzB,UAAY,0BAAM53B,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,4CACH,kBAAC,GAAD,CAAeP,KAAK,OAAOS,KAAK,WAAWK,SAAU,SAAC6I,GAAD,OAAWumB,EAAavmB,EAAMnB,OAAOrV,QAAQA,MAAO0T,EAAUojB,SAAUjtB,EAAS,CAAEkE,UAAU,QAG1J,kBAACb,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,2CACH,kBAAC,GAAD,CAAeP,KAAK,OAAOS,KAAK,UAAUK,SAAU,SAAC6I,GAAD,OAAWwmB,EAAYxmB,EAAMnB,OAAOrV,QAAQA,MAAO2T,EAASmjB,SAAUjtB,EAAS,CAAEkE,UAAU,QAGvJ,kBAACb,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACI0H,QAASgmB,GACT/lB,KAAK,SACLK,SAAU,SAACC,GA/PtC,IAAC5N,IA+P0D4N,EAAE5N,MA9P9EozB,GAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA6PgCqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,IAAgB21B,GAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,MAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,6BAI9B,kBAAC8G,GAAA,EAAD,KACI,wBAAI5G,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,eACA,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,GAAD,CAAU2H,KAAK,MAAMK,SAvT/C,SAAC6I,GACf0lB,GAAQ1lB,EAAMnB,OAAOrV,OAEgC,GAAjDwW,EAAMnB,OAAOrV,MAAM01B,WAAW,IAAK,IAAIvzB,SAG3C+H,EAAY,OAEZ4jB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GACZ,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,MAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfoyB,IAAmB,KAGnBpyB,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,IAEG,MAA1Bx3B,EAAOI,KAAKuV,YAAuD,GAAjC3V,EAAOI,KAAKuV,WAAWhR,OACzDi6B,IAAmB,GAEnBA,IAAmB,SA6RmDp8B,MAAOkT,GAAK4jB,SAAUjtB,EAAS,CAAEkE,UAAU,MACpFjE,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,gBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaypB,SAAUoF,GAAgB5a,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC7GjE,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAASypB,SAAUoF,GAAgB5a,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MACxGjE,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MACrFjE,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,QAG5F,kBAACb,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAAS4c,SAAS,WAAW3I,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAClGjE,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,QACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,KAAK4c,SAAS,WAAWhc,SAAUrE,EAAS,CAAEkE,UAAU,MAC/EjE,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,eAC3B,kBAACyH,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,KAA+D,uBAAGlH,UAAU,gBAA5E,sBAMpB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,WAAYiX,MAAO,YAC5B,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,cAAeiX,MAAO,UAC/B,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMg/B,EACNtmB,WAAW,EACX5S,QAASA,EACTkT,aAAc9T,GACduK,QAASpI,MAGjB,kBAACiI,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QA7JlC,YACF,MAAXzR,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA2D,GAA5BgwB,EAAkBz6B,OACzFjD,EAAY,QAAS,mEAA2D,QAAS,MAG7F8zB,EAAkB3oB,IAwJ0D1E,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,iC,cC3btI,SAAS63B,GAAT,GAAyG,IAAjFxuB,EAAgF,EAAhFA,KAAM8jB,EAA0E,EAA1EA,aAAcC,EAA4D,EAA5DA,kBAAmBC,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBAC7F,EAA4Ch3B,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAE5B,EAAmFgJ,YAAQ,CAAEC,KAAM,WAA3FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,GAFA,EAAyEE,MAE9B1O,IAAM8E,UAAS,IAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAiCx3B,IAAM8E,SAAS,MAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAAyC5O,IAAM8E,SAAS,IAAxD,mBAAOi9B,EAAP,KAAqBC,EAArB,KAEA/7B,qBAAU,WACS,MAAXzG,GAAyC,gBAAtBA,EAAQ0R,YAC3BsmB,GAAkB,GAEF,aAAhBJ,EACA4E,IACqB,gBAAhB5E,GACL6E,MACL,IACH,IAAMD,EAAoB,WACtBptB,EAAa0E,GACD,MAARA,GAAoF,MAApEA,EAAK4D,uBAAuB,GAAGgd,mCAC/C8N,EAAiB1uB,EAAK4D,uBAAuB,GAAGgd,oCAKlD+H,EAAuB,WAMzB,GALArtB,EAAa0E,GACD,MAARA,GAA6D,MAA7CA,EAAK8G,sCACrB4nB,EAAiB1uB,EAAK8G,sCAGL,gBAAhBgd,GAAoD,aAAhBA,IAAgCC,EAAoB,CACzF,IAAIgF,EAAUr0B,EACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,sBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,EAAYC,KAKpB,EAA+Bv3B,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,GAAWxhB,OAJhD,mBAAO/S,EAAP,KAAgBo0B,EAAhB,KASA,EAAyBp8B,IAAM8E,SAAS,IAAxC,mBAAOgK,EAAP,KAAamzB,EAAb,KACA,EAAuBjiC,IAAM8E,SAAS,CAClC,CAAER,MAAO,aAAWqG,MAAO,gBADxBu3B,EAAP,oBAUA,GAA6BliC,IAAM8E,SAAS,IAA5C,qBAAO9C,GAAP,MAAe01B,GAAf,MACA,GAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,GAAP,qBAWA,GAA0B33B,IAAM8E,UAAS,GAAzC,qBAAOkP,GAAP,MAAcC,GAAd,MACMkuB,GAA0B,WAC5BluB,IAAUD,KAKd,GAAyBhU,IAAM8E,SAAS,MAAxC,qBAAOkqB,GAAP,MAAaoT,GAAb,MACA,GAAiDpiC,IAAM8E,SAAS,IAAhE,qBAAOu9B,GAAP,MAAyBC,GAAzB,MAgCA,GAA+BtiC,IAAM8E,SAAS,MAA9C,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACM3B,GAAa,SAACxhB,GAChBmjB,GAAYnjB,GACZzM,EAAS,oBAAqByM,EAAQV,mBACtC/L,EAAS,OAAQyM,EAAQjM,MAAM,GAC/BmzB,EAASlnB,EAAQjM,MACjBR,EAAS,WAAYyM,EAAQT,UAC7BhM,EAAS,mBAAoByM,EAAQR,kBACrCmd,GAAW3c,EAAQ/Y,QACnBsM,EAAS,SAAUyM,EAAQ/Y,QAAQ,IAGjCs6B,GAAe,SAACvhB,GACbsc,GAAqC,aAAhBD,EAK1BpzB,EAAa,gBAAW,mCAAoC,YAAY,SAAUlC,GAC9E,GAAIA,EAAQ,CACRiD,GAAW,GACX,IAAIw8B,EAAwB,MAAX/hC,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,EAE5E,aAAhBmsB,EACAp0B,EAAS,yDAA2Du+B,EAAa,IAAMxmB,EAAQwnB,sCAC1F5/B,MAAK,SAAAb,GACF0B,EAAY,QAAS,oCAAqC,WAAW,WACjE46B,GAAmBrjB,EAAQsf,iCAGlCz3B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B/B,EAAS,gEAAkE+X,EAAQynB,yCAC9E7/B,MAAK,SAAAb,GACF0B,EAAY,QAAS,oCAAqC,WAAW,WACjE46B,GAAmBrjB,EAAQnL,uBAGlChN,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UA3BtCvB,EAAY,QAAS,mDAA2C,QAAS,OAgC3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GAES,aAAhBqyB,EACAl0B,EAAQ,mDAAqDm7B,GACxD17B,MAAK,SAAAb,GAAM,OAAIkgC,EAAiBlgC,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B7B,EAAQ,yDAA2Dm7B,GAC9D17B,MAAK,SAAAb,GAAM,OAAIkgC,EAAiBlgC,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAoBhCk1B,GAAuB,SAAC/3B,GAW1B,MAVkB,CACdqgC,qCAAiD,MAAXtE,GAAkB,EAAIA,GAAQsE,qCACpElI,0BAA2B/mB,EAAK4D,uBAAuB,GAAGmjB,0BAC1DhgB,kBAAmBnY,EAAKmY,kBACxBvL,KAAMA,EACNwL,SAAUpY,EAAKoY,SACfC,iBAAkBrY,EAAKqY,iBACvBvY,OAAkB,IAAVA,GAAe,QAAU,GACjCo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5GsuB,GAA0B,SAACr3B,GAW7B,MAVkB,CACdsgC,wCAAoD,MAAXvE,GAAkB,EAAIA,GAAQuE,wCACvE5yB,gBAAiB0D,EAAK1D,gBACtByK,kBAAmBnY,EAAKmY,kBACxBvL,KAAMA,EACNwL,SAAUpY,EAAKoY,SACfC,iBAAkBrY,EAAKqY,iBACvBvY,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5Gw3B,GAAyB,SAAC3gC,GAC5BiD,GAAW,GACX,IAAI29B,EAAc5gC,EAAOI,KAErBg9B,EAAW,GACXF,EAAYrwB,EACI,aAAhByoB,GACA2K,EAAar3B,KAAI,SAAA4K,GACTA,EAAEitB,sCAAwCG,EAAYH,sCACtDrD,EAAS3pB,KAAKD,MAEtB0pB,EAAU9nB,uBAAuB,GAAGgd,kCAAoCgL,GAEnD,gBAAhB9H,IACL2K,EAAar3B,KAAI,SAAA4K,GACTA,EAAEktB,yCAA2CE,EAAYF,yCACzDtD,EAAS3pB,KAAKD,MAEtB0pB,EAAU5kB,qCAAuC8kB,GAGrDA,EAAS3pB,KAAKmtB,GACdV,EAAiB9C,GACjBtwB,EAAaowB,GAEb1wB,EAAS,oBAAqB,IAC9BA,EAAS,OAAQ,IAAI,GACrB2zB,EAAS,IACT3zB,EAAS,WAAY,IACrBA,EAAS,mBAAoB,IAC7BopB,GAAW,IACXppB,EAAS,SAAU,IAAI,GAEvB4vB,GAAY,MAEZ16B,EAAY,QAAS,uCAAkC,UAAW,OAWtE,OACI,oCACI,6BACI,kBAACya,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,gBACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GAnG3B,SAACnM,GACd,GAAe,MAAX+7B,IAAmB8D,EAAattB,QAAO,SAAAC,GAAC,OAAIA,EAAE2F,mBAAqBnY,EAAKmY,qBAAmB5T,OAAS,EACpGjD,EAAY,QAAS,wDAAgD,QAAS,WAKlF,GADAuB,GAAW,GACPsyB,GAAqC,aAAhBD,GJzJqB,SAACuD,EAAMp1B,GACR,GAA7Co1B,EAAK4H,qCACLv/B,EAAS,+DAAgE23B,GACpEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,8DAA+D03B,GAClEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SIkJzD0gC,CADW1I,GAAqB/3B,GACaugC,SAE5C,GAAoB,gBAAhBrL,EAAgC,EJrFQ,SAACuD,EAAMp1B,GACR,GAAhDo1B,EAAK6H,wCACLx/B,EAAS,qEAAsE23B,GAC1Eh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,oEAAqE03B,GACxEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SI8EzD2gC,CADWrJ,GAAwBr3B,GACaugC,SAuFxB,kBAAC1xB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,8BACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,oBAAoBY,SAAUrE,EAAS,CAAEkE,UAAU,MAC1EjE,EAAOiM,mBAAqB,0BAAMpQ,UAAU,kCAAhB,4BAGrC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UACH,kBAAC,KAAD,CACI0H,QAASuwB,EACTtwB,KAAK,OACLK,SAAU,SAACC,GA5OxC,IAAC5N,IA4O0D4N,EAAE5N,MA3O5E29B,EAAS39B,GACTgK,EAAS,OAAQhK,GAAO,GACxBkK,EAAY,SA0OgCqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAe,IAARwK,GAAcozB,EAAa/vB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUwK,KAC5DjH,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,QACR,CAAES,UAAU,OAGnBjE,EAAOU,MAAQ,0BAAM7E,UAAU,kCAAhB,4BAGxB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,yBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,MACjEjE,EAAOkM,UAAY,0BAAMrQ,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,oBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASwuB,KAAK,MAAM/tB,KAAK,mBAAmBY,SAAUrE,EAAS,CAAEkE,UAAU,MACtFjE,EAAOmM,kBAAoB,0BAAMtQ,UAAU,kCAAhB,4BAGpC,kBAACuH,GAAA,EAAD,CAAKkB,GAAI,IACL,kBAACgU,GAAA,EAAD,KACI,uBAAGzc,UAAU,eAAb,sBADJ,8IAIQ,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YACxB,kBAACM,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACI0H,QAASgmB,GACT/lB,KAAK,SACLK,SAAU,SAACC,GAvQ1C,IAAC5N,IAuQ8D4N,EAAE5N,MAtQlFozB,GAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAqQoCqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,IAAgB21B,GAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,MAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAIb,gBAAhBmtB,GACG,kBAAC5lB,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKtH,MAAO,IACxB,kBAAC6G,GAAA,EAAD,CAAQmT,SAAqB,MAAX3kB,GAAyC,gBAAtBA,EAAQ0R,aAAiCqmB,EAAe5tB,MAAM,OAAOM,UAAU,WAAWkH,KAAK,SAASF,QAASkxB,IAAtJ,KAAiL,uBAAGl4B,UAAU,uBAA9L,yDAGPstB,GACG,kBAAC/lB,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,eAC3B,kBAACyH,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,KAA+D,uBAAGlH,UAAU,gBAA5E,4BAOxB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,wBAAsBiX,MAAO,qBACtC,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,sBAAiBiX,MAAO,YACjC,CAAEjX,MAAO,iBAAeiX,MAAO,oBAC/B,CAAEjX,MAAO,SAAUiX,MAAO,WAG9BxY,KAAM6/B,EACNnnB,WAAW,EACXjJ,QAAO,6BACApI,IADA,IAEHsY,WAAW,EACX2G,cAAc,IAElBxgB,QAASA,EACTkT,aAAc9T,MAGtB,kBAACoK,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAjIlC,YACF,MAAXzR,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAAsD,GAAvB6wB,EAAat7B,QAA+B,gBAAhB2wB,GAAkCzoB,EAAS2J,iCAAiC7D,QAAO,SAAAouB,GAAC,MAAc,iBAAVA,EAAE/zB,MAAqC,oBAAV+zB,EAAE/zB,QAA4BrI,OAAS,EAC/PjD,EAAY,QAAS,8DAAsD,QAAS,MAGxF8zB,EAAkB3oB,IA4H0D1E,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,+BAOrI,kBAAC+L,GAAA,EAAD,CAAO6H,UAAQ,EAAC5H,OAAQjC,GAAOkC,OAAQisB,GAAyBx2B,OAAO,WACnE,kBAAC0Y,GAAA,EAAD,CAAanO,OAAQisB,GAAyBpkB,MAAO,4BAAQ9T,UAAU,QAAQgH,QAASkxB,IAAnC,QAA8El4B,UAAU,SAAQ,uBAAG4C,MAAM,sBAA9J,2BACA,kBAACuJ,GAAA,EAAD,CAAWnM,UAAU,SACjB,0FACA,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,8FACA,kHACA,6HACA,+HAGR,kBAACV,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,WAAWkH,KAAK,SAASF,QAzUrD,WAC3BvQ,OAAOsa,MAAiB,OAAZ/V,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,oBAAqB,YAwUxC,IAA0F,uBAAGxP,UAAU,yBAAvG,iCAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,4DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,UAAUkd,OAAO,QAAQ7c,SAzUrD,SAAC6I,GACrBA,EAAMnB,OAAOoV,MAAMtoB,QACnB27B,GAAStnB,EAAMnB,OAAOoV,MAAM,SA0US,MAApBsT,IAA4BA,GAAiB57B,OAAS,GAAK47B,GAAiB33B,KAAI,SAAC4K,EAAGzK,GAAJ,OAC7E,kBAAC2G,GAAA,EAAD,CAAKC,GAAG,KAAK5G,IAAKA,GACd,kBAACi4B,GAAA,EAAD,CAAOn5B,MAAM,UAAU2L,EAAEytB,MAAQ,EAAK,SAAWztB,EAAEytB,MAAQ,MAAS,GAApE,IAAyEztB,EAAEgd,YAM3F,kBAAC7b,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAhVT,WAE/B,GADAqxB,GAAqB,IACD,gBAAhBlL,EAIJ,GAAY,MAARpI,GAAJ,CAIA,IlChBejuB,EAAUC,EkCgBrBgiC,EAAW,IAAIC,SACnBD,EAASE,OAAO,OAAQlU,IAExBjqB,GAAW,IlCnBIhE,EkCoBD,0EAAD,OAA2EuS,EAAK1D,iBlCpBpE5O,EkCoBuFgiC,ElCnB/G,IAAI3hC,SAAQ,SAACC,EAASC,GAC3BT,EAAQC,EAAUC,EAAK,OAAQ,uBAC5B2B,MAAK,SAAAb,GAAM,OAAIR,EAAQQ,MACvBc,OAAM,SAAAR,GAAK,OAAIb,EAAOa,UkCgBqGO,MAAK,SAAAb,GAC3H,IAAIo9B,EAAWp9B,EAAOI,KAClB88B,EAAYrwB,EAChBqwB,EAAUjoB,0BAA0B,GAAGqD,qCAAuC8kB,EAC9E8C,EAAiB9C,GACjBtwB,EAAaowB,GACb/qB,IAAS,GACTzQ,EAAY,QAAS,6CAAqC,UAAW,SACtEZ,OAAM,SAAAiD,GAASy8B,GAAqBz8B,EAAI5D,YACtC6D,SAAQ,kBAAMf,GAAW,WAhB1Bu9B,GAAqB,CAAC,CAAES,MAAO,EAAGzQ,KAAM,qDAJxCgQ,GAAqB,CAAC,CAAES,MAAO,EAAGzQ,KAAM,iGA6UiC,uBAAGroB,UAAU,uBAA1E,eACA,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASkxB,IAAnC,gBC5aT,SAASgB,GAAT,GAA6E,IAAvD7vB,EAAsD,EAAtDA,KAAM8vB,EAAgD,EAAhDA,MAAO9L,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBAEjE,EAAgCh3B,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAAiCD,mBAAS,MAA1C,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAAqC9J,mBAAS,IAA9C,mBAAOu+B,EAAP,KAAmBC,EAAnB,KAEA,EAA0Dx+B,mBAAS,IAAnE,mBAAOy+B,EAAP,KAA8BC,EAA9B,KAEA,EAAqD1+B,mBAAS,IAA9D,mBAAO2+B,EAAP,KAA2BC,EAA3B,KAwBM1H,EAAoB,WACtBptB,EAAa0E,GACD,MAARA,GAA4C,MAA5BA,EAAK6gB,qBACrBmP,EAAehwB,EAAK6gB,sBAItB8H,EAAuB,WACzBrtB,EAAa0E,GACD,MAARA,GAA8C,MAA9BA,EAAKqH,uBACrB2oB,EAAehwB,EAAKqH,wBAI5B1U,qBAAU,YArCoB,WAAO,IAAD,GAChB,MAAXzG,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+BoC,GACvEkwB,EAAwB,UAAClwB,EAAK6H,4BAAN,QAA8B,IAE1D,IAAI3L,EAAO,GAEPA,EADsB,aAAtB4zB,EAAMhM,aACC9jB,EAAKigB,iCAELjgB,EAAK/D,qBAEhBrM,EAAQ,0CAAD,OAA2CsM,EAAK+E,0BAClD5R,MAAK,SAAAb,GACF4hC,EAAuB5hC,EAAOI,MAEJ,aAAtBkhC,EAAMhM,aACN4E,IAC2B,gBAAtBoH,EAAMhM,cACX6E,OAEPr5B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkB9B4+B,KACD,IAEH,IAAMC,EAAkB,SAACC,GACrB,IAAIC,EAAgB,GACpBT,EAAW34B,KAAI,SAAA4K,GACPA,EAAEsa,cAAgBiU,EAAgBjU,cAClCkU,EAAcvuB,KAAKD,MAE3BwuB,EAAcvuB,KAAKsuB,GACnBP,EAAeQ,IAGbC,EAAa,SAAC/U,EAAMzpB,GACtB,GAAY,MAARypB,EAMJ,GAFAjqB,GAAW,GAEe,aAAtBq+B,EAAMhM,aAA6B,CACnC,IAAIuD,EAAOV,EAAqBjL,GACV,kBAAlBoU,EAAM7xB,SCjCwB,SAACopB,EAAMp1B,GACjDvC,EAAS,0CAA2C23B,GAC/Ch4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SD+BjD+hC,CAA+BrJ,GAAM,SAAU74B,GAC3CiD,GAAW,GACXQ,IACAq+B,EAAgB9hC,EAAOI,SAEJ,iBAAlBkhC,EAAM7xB,SL9ByB,SAACopB,EAAMp1B,GACvDvC,EAAS,gDAAiD23B,GACrDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SK4BjDgiC,CAAqCtJ,GAAM,SAAU74B,GACjDiD,GAAW,GACXQ,IACAq+B,EAAgB9hC,EAAOI,SAEJ,iBAAlBkhC,EAAM7xB,UEzEmB,SAACopB,EAAMp1B,GACjDvC,EAAS,0CAA2C23B,GAC/Ch4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SFuEjDiiC,CAA+BvJ,GAAM,SAAU74B,GAC3CiD,GAAW,GACXQ,IACAq+B,EAAgB9hC,EAAOI,cAG9B,GAA0B,gBAAtBkhC,EAAMhM,aAAgC,CAC3C,IAAIuD,EAAOpB,EAAwBvK,IACb,kBAAlBoU,EAAM7xB,UAMiB,iBAAlB6xB,EAAM7xB,UAMY,iBAAlB6xB,EAAM7xB,WCDsB,SAACopB,EAAMp1B,GACpDvC,EAAS,yCAA0C23B,GAC9Ch4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SDbjDkiC,CAAkCxJ,GAAM,SAAU74B,GAC9CiD,GAAW,GACXQ,IACAq+B,EAAgB9hC,EAAOI,WAiBjC+3B,EAAuB,SAACjL,GAS1B,MARkB,CACdoV,sBAAuB,EACvB5uB,aAAclC,EAAKkC,aACnByF,QAAS+T,EAAKpd,KACdyyB,cAAerV,EAAKU,OACpBE,aAAcZ,EAAKY,aACnBwK,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAK5GsuB,EAA0B,SAACvK,GAS7B,MARkB,CACdsV,yBAA0B,EAC1B10B,gBAAiB0D,EAAK1D,gBACtBqL,QAAS+T,EAAKpd,KACdyyB,cAAerV,EAAKU,OACpBE,aAAcZ,EAAKY,aACnBwK,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OA+BlH,OACI,oCACI,6BACI,kBAACgT,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,8BACA,wBAAIE,MAAO,CAAE+1B,UAAW,WAAxB,sDACA,wBAAI/1B,MAAO,CAAE+1B,UAAW,WAAxB,qBAAuDuD,EAAmBhvB,QAAO,SAAA4H,GAAC,OAAuE,GAAnEgnB,EAAW5uB,QAAO,SAAA8vB,GAAC,OAAIA,EAAE3U,cAAgBvT,EAAEuT,gBAAcnpB,UAAaA,OAA5J,OAAwKg9B,EAAmBh9B,OAA3L,gBACA,yBAAKwD,UAAU,iBACVw5B,EAAmBh9B,OAAS,GAAKg9B,EAAmB/4B,KAAI,SAAC4K,EAAGzK,GAAJ,OACrD,kBAACkG,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,IAAIxH,UAAU,cAAcY,IAAKA,GAC5C,2BAAG,2BAAIyK,EAAEmvB,UAAU1yB,YACnB,kBAAC4c,GAAD,CAAUvjB,OAAO,OAAOI,MAAM,OAAOoG,KAAM0D,EAAEmvB,UAAU1yB,UACnDyV,MAAO6b,EAAW5uB,QAAO,SAAAC,GAAC,OAAIA,EAAEkb,cAAgBta,EAAEmvB,UAAU7U,gBAAcnpB,OAAS,EAAI,CAAEmL,KAAMyxB,EAAW5uB,QAAO,SAAAC,GAAC,OAAIA,EAAEkb,cAAgBta,EAAEmvB,UAAU7U,gBAAc,GAAG3U,SAAY,KACjL4U,aAAcva,EAAEsa,aAAcH,WAAYsU,KAGlD,kBAACvyB,GAAA,EAAD,CAAKkB,GAAG,KACJ,8BAAO4C,EAAEmvB,UAAUC,kBAK7BllC,GACE,kBAACuR,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,sEACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,WACLS,KAAK,uBACLK,SAAU,SAACC,GAAD,OAAOsxB,EAAyBtxB,EAAEyH,OAAOrV,QACnDA,MAAOi/B,EACP1d,UAAU,aAQlC,kBAAC9U,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEkB,MAArBqtB,GACG,kBAAC9lB,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QA7DrC,YACH,MAAXzR,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+BuyB,EAAmBhvB,QAAO,SAAA4H,GAAC,OAAuE,GAAnEgnB,EAAW5uB,QAAO,SAAA8vB,GAAC,OAAIA,EAAE3U,cAAgBvT,EAAEuT,gBAAcnpB,UAAaA,OAAS,EACrLjD,EAAY,QAAS,6CAA2C,QAAS,MAI9D,MAAXhE,GAAoBA,GAAiC,aAAtBA,EAAQ0R,YAnB3CnM,GAAW,GACX9B,EAAQ,qCAAsC,CAC1C2M,gBAAe,OAAE0D,QAAF,IAAEA,OAAF,EAAEA,EAAM1D,gBACvBuL,qBAAsBooB,IACvB5gC,MAAK,SAAAb,GACJ,IAAIk9B,EAAS,gBAAQrwB,GACrBqwB,EAAU7jB,qBAAuBrZ,EAAOI,KAAKiZ,qBAC7Cmc,EAAkB0H,MAEjBp8B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAY1BuyB,EAAkB3oB,IAoD2D1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,iBAAnG,oBGrNzB,SAAS06B,GAAT,GAA8D,IAAvBrxB,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aACnDjJ,EAAcL,IAAdK,WAGP,EAAmC/E,IAAM8E,SAASwO,GAAlD,mBAAO2D,EAAP,KAAkB8b,EAAlB,KACA,EAA2B/yB,IAAM8E,SAAS,MAA1C,mBAAOs+B,EAAP,KAAcwB,EAAd,KAEA,EAAyB5kC,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAACwN,GACZ,GAARnF,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAA4B,GAARquB,GAAsC,OAAzByD,EAAM/xB,UAAUC,MACjF9N,EAAY,QAAS,wCAAmC,WAAW,WACjEwK,QAIF+kB,EAAc+R,GACdD,EAASlF,EAAO,KAGdjE,EAAqB,SAACoJ,GAC1B/R,EAAc+R,GACdD,EAASlF,EAAO,IAGlB,EAAmD3/B,IAAM8E,UAAS,GAAlE,mBAAOuyB,EAAP,KAA0B0N,EAA1B,KAeA9+B,qBAAU,WACR2+B,EAAU,CACRxN,aAAc,YACd7lB,SAAU,gBACVF,UAAWiC,EAAKigB,iCAAiCniB,iBAAiBC,YAEpE0hB,EAAczf,GAnBdvO,GAAW,GAEX7B,EAAQ,sCAAwC+T,EAAUzB,cACvD7S,MAAK,SAAAb,GACJijC,EAAsBjjC,EAAOI,KAAK8iC,SAC7BljC,EAAOI,KAAK8iC,SACfxhC,EAAY,QAAS,oDAA6C1B,EAAOI,KAAK+iC,SAAU,UAAW,SAGtGriC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAW3B,IAEH,IAAM+E,EAAQ,GAQd,OAPa,MAATs5B,IAC2B,OAAzBA,EAAM/xB,UAAUC,MAClBxH,EAAMyL,KAAK,sBAAiB,WAAY,qBAAsB,mBAAc,eAAgB,sBAE5FzL,EAAMyL,KAAK,sBAAiB,WAAY,uBAI1C,oCACgB,MAAb0B,GAA8B,MAATmsB,GAAiB,yBAAKn5B,UAAU,WACpD,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACnB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAE9B,GAAR61B,GAAa,kBAACxI,GAAD,CAAe7jB,KAAM2D,EAAWmgB,aAAa,YAAYC,kBAAmBA,EAAmBC,kBAAmBA,EAAmBtpB,aAAcA,IACxJ,GAAR2xB,GAAa,kBAACnE,GAAD,CAAUloB,KAAM2D,EAAWmgB,aAAa,YAAYC,kBAAmBA,EAAmBC,kBAAmBA,EAAmBoE,mBAAoBA,IACxI,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAAa,kBAACU,GAAD,CAAc/sB,KAAM2D,EAAWmgB,aAAa,YAAYC,kBAAmBA,EAAmBC,kBAAmBA,EAAmBoE,mBAAoBA,IAAsC,GACnN,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAAa,kBAACsB,GAAD,CAAkB3tB,KAAM2D,EAAWmgB,aAAa,YAAYC,kBAAmBA,EAAmBC,kBAAmBA,EAAmBoE,mBAAoBA,IAA0C,GAC3N,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAAa,kBAACmC,GAAD,CAAcxuB,KAAM2D,EAAWmgB,aAAa,YAAYC,kBAAmBA,EAAmBC,kBAAmBA,EAAmBoE,mBAAoBA,IAAsC,GACnN,OAAzB0H,EAAM/xB,UAAUC,MACP,GAARquB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAM2D,EAAWmsB,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAE1G,GAARiE,GAAa,kBAACwD,GAAD,CAAY7vB,KAAM2D,EAAWmsB,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,M,4BChE7G,SAASvE,GAAT,GAAuI,IAAD,IAA7G7jB,EAA6G,EAA7GA,KAAM8vB,EAAuG,EAAvGA,MAAO/L,EAAgG,EAAhGA,kBAAmBC,EAA6E,EAA7EA,kBAAmBtpB,EAA0D,EAA1DA,aAAcoD,EAA4C,EAA5CA,iBAA4C,IAA1B8zB,sBAA0B,SACjJ,EAAgCxgC,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAAkEkJ,YAAQ,CAAEC,KAAM,WAA1EC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAQE,EAAxC,EAAwCA,SAAUE,EAAlD,EAAkDA,YAE5CskB,EAAUqS,cAEhB,EAA0BrgC,oBAAS,GAAnC,mBAAOkP,EAAP,KAAcC,EAAd,KACMC,EAAc,kBAAMD,GAAUD,IAEpC,EAA2ClP,oBAAS,GAApD,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAA2C1yB,mBAAS,MAApD,mBAAOoc,EAAP,KAAsBuW,EAAtB,KACA,EAAyD3yB,mBAAS,MAAlE,mBAAOyK,EAAP,KAA6B61B,EAA7B,KACA,EAAoDtgC,mBAAS,CACzD,CAAER,MAAO,YAAUqG,MAAO,oBAC1B,CAAErG,MAAO,cAAYqG,MAAO,gCAC5B,CAAErG,MAAO,aAAWqG,MAAO,qCAH/B,mBAAO06B,GAAP,KAA2BC,GAA3B,KAOA,GAAsFxgC,mBAAS,MAA/F,qBAAOygC,GAAP,MAA4CC,GAA5C,MAGA,GAA4D1gC,oBAAS,GAArE,qBAAO2gC,GAAP,MAA+BC,GAA/B,MACMC,GAA+B,WACjCH,GAAuC,MACvCE,IAA2BD,KAI/B,GAA8F3gC,mBAAS,IAAvG,qBAAO8gC,GAAP,MAAgDC,GAAhD,MASA,GAA8D/gC,mBAAS,MAAvE,qBAAgCghC,IAAhC,aAwJA,GAA6BhhC,mBAAS,IAAtC,qBAAO9C,GAAP,MAAe01B,GAAf,MACMC,GAAiB,CACnB,CAAErzB,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,YAAaqG,MAAO,aAC7B,CAAErG,MAAO,UAAWqG,MAAO,WAC3B,CAAErG,MAAO,WAAYqG,MAAO,YAC5B,CAAErG,MAAO,UAAWqG,MAAO,YAiBzBktB,GAA2B,SAAC/1B,GACzBA,EAAOI,OACRsB,EAAY,QAAS,sBAAoB,QAAS,MAClD8K,EAAS,QAAS,MAI1B,GAAsCxJ,oBAAS,GAA/C,qBAAO+2B,GAAP,MAAoBC,GAApB,MAoDA,GAAuCh3B,mBAAS,cAAhD,qBAAOihC,GAAP,MAAoBC,GAApB,MAsBA,GAAyDlhC,mBAAS,IAAlE,qBAAOmzB,GAAP,MAA6BC,GAA7B,MACA,GAA2CpzB,mBAAS,MAApD,qBAAOqzB,GAAP,MAAsBC,GAAtB,MAgCA,GAAuFtzB,mBAAS,IAAhG,qBAAOmhC,GAAP,MAA4CC,GAA5C,MAEA,GAAyEphC,mBAAS,MAAlF,qBAAO2Z,GAAP,MAAqC0nB,GAArC,MA4BA,GAAqErhC,mBAAS,IAA9E,qBAAOshC,GAAP,MAAmCC,GAAnC,MACA,GAAuDvhC,mBAAS,MAAhE,qBAAOwZ,GAAP,MAA4BgoB,GAA5B,MA4BA,GAA+ExhC,mBAAS,IAAxF,qBAAOoa,GAAP,MAAwCqnB,GAAxC,MACA,GAAkDzhC,mBAAS,CACvD,CAAER,MAAO,OAAQqG,MAAO,QACxB,CAAErG,MAAO,UAAWqG,MAAO,WAC3B,CAAErG,MAAO,OAAQqG,MAAO,QACxB,CAAErG,MAAO,MAAOqG,MAAO,OACvB,CAAErG,MAAO,MAAOqG,MAAO,OACvB,CAAErG,MAAO,OAAQqG,MAAO,QACxB,CAAErG,MAAO,MAAOqG,MAAO,OACvB,CAAErG,MAAO,MAAOqG,MAAO,OACvB,CAAErG,MAAO,MAAOqG,MAAO,OACvB,CAAErG,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,KAAMqG,MAAO,QAXnB67B,GAAP,qBAoBA,GAAsD1hC,mBAAS,IAA/D,qBAAO4Z,GAAP,MAA4B+nB,GAA5B,MACA,GAAqC3hC,mBAAS,CAC1C,CAAER,MAAO,OAAQqG,MAAO,QACxB,CAAErG,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,SAAUqG,MAAO,UAC1B,CAAErG,MAAO,UAAWqG,MAAO,WAC3B,CAAErG,MAAO,UAAWqG,MAAO,WAC3B,CAAErG,MAAO,WAAYqG,MAAO,YAC5B,CAAErG,MAAO,gBAAiBqG,MAAO,mBAR9B+7B,GAAP,qBAkBA,GAAwD5hC,mBAAS,IAAjE,qBAAO6hC,GAAP,MAA6BC,GAA7B,MACA,GAAsC9hC,mBAAS,CAC3C,CAAER,MAAO,gBAAiBqG,MAAO,iBACjC,CAAErG,MAAO,oBAAqBqG,MAAO,qBACrC,CAAErG,MAAO,oBAAqBqG,MAAO,qBACrC,CAAErG,MAAO,qBAAsBqG,MAAO,sBACtC,CAAErG,MAAO,sBAAuBqG,MAAO,uBACvC,CAAErG,MAAO,sBAAuBqG,MAAO,yBANpCk8B,GAAP,qBAgBA,GAAkD/hC,mBAAS,IAA3D,qBAAO6Z,GAAP,MAA0BmoB,GAA1B,MACA,GAAmChiC,mBAAS,CACxC,CAAER,MAAO,gBAAcqG,MAAO,iBAC9B,CAAErG,MAAO,kBAAgBqG,MAAO,mBAChC,CAAErG,MAAO,kBAAgBqG,MAAO,mBAChC,CAAErG,MAAO,kBAAgBqG,MAAO,mBAChC,CAAErG,MAAO,kBAAgBqG,MAAO,mBAChC,CAAErG,MAAO,qBAAmBqG,MAAO,wBANhCo8B,GAAP,qBAiBA,GAAsDjiC,mBAAS,IAA/D,qBAAO8Z,GAAP,MAA4BooB,GAA5B,MACA,GAAqCliC,mBAAS,CAC1C,CAAER,MAAO,OAAQqG,MAAO,QACxB,CAAErG,MAAO,YAAUqG,MAAO,aAC1B,CAAErG,MAAO,WAAYqG,MAAO,YAC5B,CAAErG,MAAO,YAAUqG,MAAO,aAC1B,CAAErG,MAAO,SAAUqG,MAAO,YALvBs8B,GAAP,qBAeA,GAA2DniC,mBAAS,MAApE,qBAAOoiC,GAAP,MAA8BC,GAA9B,MAUA,GAA2CriC,mBAAS,IAApD,qBAAOuzB,GAAP,MASA,IATA,MAS6CvzB,oBAAS,IAAtD,qBAAuB47B,IAAvB,aAkCA,GAAyB57B,mBAAS,IAAlC,qBAAOyzB,GAAP,MAAaC,GAAb,MACA,GAA0D1zB,mBAAS,IAAnE,qBAAOsiC,GAAP,MAA8BC,GAA9B,MAsBA,GAAmCviC,mBAAS,MAA5C,qBAAOuM,GAAP,MAAkB6nB,GAAlB,MAEMC,GAAoB,SAACze,GACvB,GAAY,MAARpH,EACA,MAAO,GAEX,GAA0B,aAAtB8vB,EAAMhM,aACN,OAAQ1c,GACJ,IAAK,WAAY,OAAOpH,EAAK8K,iBAAiB3X,OAAS,EAAI6M,EAAK8K,iBAAiB,GAAGpG,SAAW,GAC/F,IAAK,UAAW,OAAO1E,EAAK8K,iBAAiB3X,OAAS,EAAI6M,EAAK8K,iBAAiB,GAAGnG,QAAU,GAC7F,IAAK,MAAO,OAAO3E,EAAK8K,iBAAiB3X,OAAS,EAAI6M,EAAK8K,iBAAiB,GAAG5G,IAAM,QAGxF,GAA0B,gBAAtB4rB,EAAMhM,cACqB,MAA5B9jB,EAAK6K,oBACL,OAAQzD,GACJ,IAAK,WAAY,OAAOpH,EAAK6K,oBAAoB1X,OAAS,EAAI6M,EAAK6K,oBAAoB,GAAGnG,SAAW,GACrG,IAAK,UAAW,OAAO1E,EAAK6K,oBAAoB1X,OAAS,EAAI6M,EAAK6K,oBAAoB,GAAGlG,QAAU,GACnG,IAAK,MAAO,OAAO3E,EAAK6K,oBAAoB1X,OAAS,EAAI6M,EAAK6K,oBAAoB,GAAG3G,IAAM,KAsDrG+hB,GAA0B,SAACr3B,GAAU,IAAD,IA2CtC,MA1CkB,CACdolC,uBAAgC,MAARh0B,GAA4C,MAA5BA,EAAK6K,qBAA+B7K,EAAK6K,oBAAoB1X,OAAS,EAAI6M,EAAK6K,oBAAoB,GAAGmpB,uBAAyB,EACvK13B,gBAAyB,MAAR0D,EAAeA,EAAK1D,gBAAkB,EACvD8pB,iBAAkBvB,GAAgBA,GAAcuB,iBAAmB,KACnEviB,SAA0B,eAAf4uB,IAA4C,cAAfA,GAA4B7jC,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAM93B,EAAKy3B,IAAIK,WAAW,IAAK,IAAIA,WAAW,IAAK,IACzLhjB,cAAgC,MAAjB9U,EAAKiY,SAAmBjY,EAAK03B,YAAc13B,EAAKiY,SAC/D/C,YAAiC,MAApBlV,EAAKkV,YACZ,GACiB,eAAf2uB,IAA4C,cAAfA,IAA6B7jC,EAAKkV,aAAelV,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAE9I93B,EAAKkV,YADL9D,EAAK8lB,gBAEfthB,gBAAiB5V,EAAK03B,YACtBR,gBAAyC,MAAxBl3B,EAAKk3B,gBAA0Bl3B,EAAK03B,YAAc13B,EAAKk3B,gBACxEmO,uBAAwBjpB,GAAsBA,GAAoBipB,uBAAyB,KAC3FhpB,uBAAwBrc,EAAKslC,iBAC7BhpB,yBAA0Btc,EAAKulC,mBAC/BC,gCAAiCjpB,GAA+BA,GAA6BipB,gCAAkC,KAC/HzoB,uBAAwB/c,EAAK+c,uBAC7BC,gCAAoE,MAAnCA,GAA0CA,GAAkC,KAC7GC,kCAAmCjd,EAAKid,kCACxCC,qCAA+D,MAAzB8nB,GAAgCA,GAAsBt1B,KAAO,KACnG+1B,2CAAqE,MAAzBT,GAAgCA,GAAsBxX,OAAS,KAC3GmK,IAAK33B,EAAKmV,IACVyiB,IAAK53B,EAAKsV,IAAMtV,EAAKsV,IAAIuH,QAAQ,UAAW,IAAM,KAClDtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbkiB,GAAI73B,EAAKo3B,GACTthB,SAAU9V,EAAK8V,SAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IACpG/hB,QAAS/V,EAAK+V,QAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAClG1iB,cAA6B,KAAdpV,EAAKq2B,KAAcr2B,EAAKq2B,KAAO,GAC9ChhB,sBAAqD,MAA9BrV,EAAKqV,sBAAgCrV,EAAKqV,sBAAwB,KACzFqwB,qBAAmD,MAA7B1lC,EAAK0lC,qBAA+B1lC,EAAK0lC,qBAAuB,KACtFlpB,oBAA4C,IAAvBA,GAA4B,KAAOA,GACxDC,kBAAwC,IAArBA,GAA0B,KAAOA,GACpDgoB,qBAA8C,IAAxBA,GAA6B,KAAOA,GAC1D/nB,oBAA4C,IAAvBA,GAA4B,KAAOA,GACxDC,UAAS,OAAE3c,QAAF,IAAEA,GAAF,UAAEA,EAAM2c,iBAAR,aAAE,EAAiBE,QAAQ,IAAK,KACzCC,eAAc,OAAE9c,QAAF,IAAEA,GAAF,UAAEA,EAAM8c,sBAAR,aAAE,EAAsBD,QAAQ,IAAK,OAKrDkb,GAAuB,SAAC/3B,GAAU,IAAD,MA+DnC,MA9DkB,CACdsT,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjDqyB,oCAA6D,MAAxBt4B,EAA+BA,EAAqBgF,wBAA0BjB,EAAKu0B,oCACxHxU,gBAAyB,MAAR/f,EAAeA,EAAK+f,gBAAkB,GACvD+F,gBAAyC,MAAxBl3B,EAAKk3B,gBAA0Bl3B,EAAK03B,YAAc13B,EAAKk3B,gBACxErhB,MAAO7V,EAAK6V,MACZZ,SAA0B,eAAf4uB,IAA4C,cAAfA,GAA4B7jC,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAM93B,EAAKy3B,IAAIK,WAAW,IAAK,IAAIA,WAAW,IAAK,IACzLh4B,OAAiB,MAARsR,GAA0B,IAAVtR,GAAgBsR,EAAKtR,OAASA,GACvDwxB,gBAA4B,MAAXh0B,GAAyC,gBAAtBA,EAAQ0R,YAAwD,MAAxBhP,EAAKsxB,gBAA0BtxB,EAAKsxB,gBAAkBlgB,EAAKkgB,gBACvI2G,mBAA+B,MAAX36B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KACnGmvB,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1G2J,cAAe,EACfyJ,eAAyB,MAARnc,GAAuC,IAAvBA,EAAKmc,eAAwBnc,EAAKmc,eAA2B,MAAR/K,GAAgBA,EAAK8K,iBAAiB3X,OAAS,EAAK6M,EAAK+K,eAAiB,IAChK+M,YAAY,UAAAia,GAAmBlzB,MAAK,SAAA21B,GAAE,OAAIA,EAAGxjC,OAASpC,EAAK6jC,sBAA/C,eAA6Dp7B,QAAS,KAClFyT,iBAAkB,CAAC,CACf2pB,oBAA8B,MAARz0B,GAAgBA,EAAK8K,iBAAiB3X,OAAS,EAAK6M,EAAK8K,iBAAiB,GAAG2pB,oBAAsB,EACzHvyB,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjDkkB,iBAAkBvB,GAAgBA,GAAcuB,iBAAmB,KACnEviB,SAA0B,eAAf4uB,IAA4C,cAAfA,GAA4B7jC,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAM93B,EAAKy3B,IAAIK,WAAW,IAAK,IAAIA,WAAW,IAAK,IACzLhjB,cAAgC,MAAjB9U,EAAKiY,SAAmBjY,EAAK03B,YAAc13B,EAAKiY,SAC/D/C,YAAiC,MAApBlV,EAAKkV,YACZ,GACiB,eAAf2uB,IAA4C,cAAfA,IAA6B7jC,EAAKkV,aAAelV,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAE9I93B,EAAKkV,YADL9D,EAAK8lB,gBAEfthB,gBAAiB5V,EAAK03B,YACtB2N,uBAA+C,MAAvBjpB,GAA8BA,GAAoBipB,uBAAyB,KACnGhpB,uBAAwBrc,EAAKslC,iBAC7BhpB,yBAA0Btc,EAAKulC,mBAC/BC,gCAAiE,MAAhCjpB,GAAuCA,GAA6BipB,gCAAkC,KACvIzoB,uBAAwB/c,EAAK+c,uBAC7BC,gCAAoE,MAAnCA,GAA0CA,GAAkC,KAC7GC,kCAAmCjd,EAAKid,kCACxCC,qCAA+D,MAAzB8nB,GAAgCA,GAAsBt1B,KAAO,KACnG+1B,2CAAqE,MAAzBT,GAAgCA,GAAsBxX,OAAS,KAC3GmK,IAAK33B,EAAKmV,IACVyiB,IAAK53B,EAAKsV,IAAMtV,EAAKsV,IAAIuH,QAAQ,UAAW,IAAM,KAClDtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbkiB,GAAI73B,EAAKo3B,GACTthB,SAAU9V,EAAK8V,SAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IACpG/hB,QAAS/V,EAAK+V,QAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAClG1iB,cAA6B,KAAdpV,EAAKq2B,KAAcr2B,EAAKq2B,KAAO,GAC9ChhB,sBAAqD,MAA9BrV,EAAKqV,sBAAgCrV,EAAKqV,sBAAwB,KACzFmH,oBAA4C,IAAvBA,GAA4B,KAAOA,GACxDC,kBAAwC,IAArBA,GAA0B,KAAOA,GACpDgoB,qBAA8C,IAAxBA,GAA6B,KAAOA,GAC1D/nB,oBAA4C,IAAvBA,GAA4B,KAAOA,GACxDC,UAAS,OAAE3c,QAAF,IAAEA,GAAF,UAAEA,EAAM2c,iBAAR,aAAE,EAAiBE,QAAQ,IAAK,KACzCC,eAAc,OAAE9c,QAAF,IAAEA,GAAF,UAAEA,EAAM8c,sBAAR,aAAE,EAAsBD,QAAQ,IAAK,OAEvD2T,wBAAyB,CAAC,CACtB4H,2BAAqC,MAARhnB,GAAgD,MAAhCA,EAAKof,yBAAmCpf,EAAKof,wBAAwBjsB,OAAS,EAAK6M,EAAKof,wBAAwB,GAAG4H,2BAA6B,EAC7L9kB,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjD+kB,qBAAiC,MAAX/6B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KACrGgF,WAAY/N,EAAK+N,WACjB0iB,QAASzwB,EAAKywB,YAMpB6H,GAAsB,SAAC14B,GACzBiD,GAAW,GACX0yB,EAAkB31B,EAAOI,MACzBo1B,EAAkBx1B,EAAOI,OAgD7B,OAxBA+D,qBAAU,WA9tBqB,IAAC4hC,EA+tBb,MAAXroC,GAAyC,gBAAtBA,EAAQ0R,YAAwC,MAARoC,IA/tBnCu0B,EAguBF,OAACv0B,QAAD,IAACA,OAAD,EAACA,EAAMu0B,oCA/tBjC9iC,GAAW,GACX7B,EAAQ,mCAAD,OAAoC2kC,IACtCllC,MAAK,SAAAb,GAAM,OAAI+jC,GAA2C/jC,EAAOI,SACjEU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA6tBf,MAAXvF,GAAyC,gBAAtBA,EAAQ0R,YAAwC,MAARoC,GAAyC,OAAzB8vB,EAAM/xB,UAAUC,OAC3FkmB,GAAkB,GAEO,OAAzB4L,EAAM/xB,UAAUC,OA7OpBpO,EAAQ,iBACHP,MAAK,SAAAb,GACF,IAAI66B,EAAQ76B,EAAOI,KAAKwI,KAAI,SAAC4K,EAAGzK,GAAJ,MAAa,CACrCF,MAAO2K,EAAEvD,UACTzN,MAAOgR,EAAEvD,cAEbs1B,GAAyB1K,MAE5B/5B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAtP9B7B,EAAQ,iBAAiBP,MAAK,SAAAb,GAC1Bo2B,GAAyBp2B,EAAOI,MAC5BkhC,GAAkC,OAAzBA,EAAM/xB,UAAUC,QACzB8mB,GAAkBt2B,EAAOI,KAAKuS,QAAO,SAAA4H,GAAC,MAAc,aAAVA,EAAE7F,QAAqB,IACjElI,EAAS,gBAAiBxM,EAAOI,KAAKuS,QAAO,SAAA4H,GAAC,MAAc,aAAVA,EAAE7F,QAAqB,IAAI,IAGvD,aAAtB4sB,EAAMhM,cAAwD,OAAzBgM,EAAM/xB,UAAUC,MACzC,MAARgC,GAAgBA,EAAK8K,iBAAiB3X,OAAS,IAC/C2xB,GAAkB9kB,EAAK8K,iBAAiB,GAAG+Z,eAC3C7pB,EAAS,gBAAiBgF,EAAK8K,iBAAiB,GAAG+Z,eAAe,IAG3C,gBAAtBiL,EAAMhM,cAA2D,OAAzBgM,EAAM/xB,UAAUC,OACjD,MAARgC,GAAgBA,EAAK6K,oBAAoB1X,OAAS,IAClD2xB,GAAkB9kB,EAAK6K,oBAAoB,GAAGga,eAC9C7pB,EAAS,gBAAiBgF,EAAK6K,oBAAoB,GAAGga,eAAe,OAI5Ev1B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAa9B7B,EAAQ,gCACHP,MAAK,SAAAb,GACFokC,GAAwCpkC,EAAOI,MACrB,aAAtBkhC,EAAMhM,aACM,MAAR9jB,GAAgBA,EAAK8K,iBAAiB3X,OAAS,IAC/C0/B,GAAiC7yB,EAAK8K,iBAAiB,GAAGK,8BAC1DnQ,EAAS,+BAAgCgF,EAAK8K,iBAAiB,GAAGK,8BAA8B,IAGzE,gBAAtB2kB,EAAMhM,cACC,MAAR9jB,GAAgBA,EAAK6K,oBAAoB1X,OAAS,IAClD2xB,GAAkB9kB,EAAK6K,oBAAoB,GAAGM,8BAC9CnQ,EAAS,+BAAgCgF,EAAK6K,oBAAoB,GAAGM,8BAA8B,OAI9G7b,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAY9B7B,EAAQ,uBACHP,MAAK,SAAAb,GACFukC,GAA+BvkC,EAAOI,MACZ,aAAtBkhC,EAAMhM,aACM,MAAR9jB,GAAgBA,EAAK8K,iBAAiB3X,OAAS,IAC/C6/B,GAAwBhzB,EAAK8K,iBAAiB,GAAGE,qBACjDhQ,EAAS,sBAAuBgF,EAAK8K,iBAAiB,GAAGE,qBAAqB,IAGvD,gBAAtB8kB,EAAMhM,cACC,MAAR9jB,GAAgBA,EAAK6K,oBAAoB1X,OAAS,IAClD6/B,GAAwBhzB,EAAK6K,oBAAoB,GAAGG,qBACpDhQ,EAAS,sBAAuBgF,EAAK6K,oBAAoB,GAAGG,qBAAqB,OAI5F1b,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAiZ1BmgC,GACAI,GAAsBl0B,GAGA,aAAtBgyB,EAAMhM,aA/pBY,WAUqB,IAAD,4BAT9B,MAAR9jB,GACA8xB,EAAyB9xB,EAAKigB,kCAC9BkE,EAAkBnkB,GAClBhF,EAAS,QAASgF,EAAKyE,OACvBzJ,EAAS,OAAQgF,EAAK6D,UACtB7I,EAAS,MAAOgF,EAAK6D,UACrB7I,EAAS,kBAAmBgF,EAAK8lB,iBACjC9qB,EAAS,cAAwC,MAAzBgF,EAAK8K,kBAA4B9K,EAAK8K,iBAAiB3X,OAAS,EAAhE,OAAoE6M,QAApE,IAAoEA,OAApE,EAAoEA,EAAM8K,iBAAiB,GAAGtG,gBAAkBxE,EAAK8lB,iBAC7IF,GAAc5lB,EAAKigB,iCAAiCniB,iBAAiBC,WACjEiC,EAAK8K,iBAAiB3X,OAAS,IAC/Bu/B,GAAgB1yB,EAAKigB,iCAAiCniB,iBAAiBioB,QACvE/qB,EAAS,WAAYgF,EAAK8K,iBAAiB,GAAGpH,eAC9C1I,EAAS,cAAegF,EAAK8K,iBAAiB,GAAGhH,aACjD9I,EAAS,yBAA0BgF,EAAK8K,iBAAiB,GAAGa,wBAC5D3Q,EAAS,kCAAmCgF,EAAK8K,iBAAiB,GAAGc,iCACrEqnB,GAAoCjzB,EAAK8K,iBAAiB,GAAGc,iCAAiC,GAC9F5Q,EAAS,oCAAqCgF,EAAK8K,iBAAiB,GAAGe,mCACF,MAAjE7L,EAAK8K,iBAAiB,GAAGgB,sCACzB+nB,GAA0B,CACtBv1B,KAAM0B,EAAK8K,iBAAiB,GAAGgB,qCAC/BsQ,OAAQ,KACRE,aAAc,IAGtBthB,EAAS,MAAOgF,EAAK8K,iBAAiB,GAAG/G,KACzC/I,EAAS,iBAAkBgF,EAAK+K,gBAChC/P,EAAS,WAAYgF,EAAK8K,iBAAiB,GAAGpG,UAC9C1J,EAAS,UAAWgF,EAAK8K,iBAAiB,GAAGnG,SAC7C3J,EAAS,wBAAyBgF,EAAK8K,iBAAiB,GAAG7G,uBAC3DjJ,EAAS,OAAQgF,EAAK8K,iBAAiB,GAAG9G,eAC1CkhB,GAASllB,EAAK8K,iBAAiB,GAAG9G,eAClChJ,EAAS,kBAAmBvH,GAAeuM,EAAKkgB,kBAChDllB,EAAS,MAAOgF,EAAK8K,iBAAiB,GAAG5G,KACzClJ,EAAS,aAAcgF,EAAK8K,iBAAiB,GAAG3G,YAChDnJ,EAAS,SAAUgF,EAAK8K,iBAAiB,GAAGxG,QAC5CtJ,EAAS,cAAegF,EAAK8K,iBAAiB,GAAG1G,aACjDpJ,EAAS,cAAegF,EAAK8K,iBAAiB,GAAGzG,aACjDrJ,EAAS,SAAUgF,EAAK8K,iBAAiB,GAAGvG,QAC5CvJ,EAAS,KAAMgF,EAAK8K,iBAAiB,GAAGkb,IACxChrB,EAAS,SAAUgF,EAAKtR,QAAQ,GAChC01B,GAAWpkB,EAAKtR,QAChBsM,EAAS,sBAAuBgF,EAAK8K,iBAAiB,GAAGE,qBAAqB,GAC9EgoB,GAAwBhzB,EAAK8K,iBAAiB,GAAGE,qBACjDhQ,EAAS,mBAAoBgF,EAAK8K,iBAAiB,GAAGG,wBACtDjQ,EAAS,qBAAsBgF,EAAK8K,iBAAiB,GAAGI,0BACxDlQ,EAAS,+BAAgCgF,EAAK8K,iBAAiB,GAAGK,8BAA8B,GAChG0nB,GAAiC7yB,EAAK8K,iBAAiB,GAAGK,8BAC1DnQ,EAAS,gBAAiBgF,EAAK8K,iBAAiB,GAAG+Z,eAAe,GAClEC,GAAkB9kB,EAAK8K,iBAAiB,GAAG+Z,eAG3C7pB,EAAS,oBAAD,UAAsBgF,EAAK8K,iBAAiB,UAA5C,aAAsB,EAA0BO,mBAAmB,GAC3EmoB,GAAoB,UAACxzB,EAAK8K,iBAAiB,UAAvB,aAAC,EAA0BO,mBAE/CrQ,EAAS,uBAAD,UAAyBgF,EAAK8K,iBAAiB,UAA/C,aAAyB,EAA0BuoB,sBAAsB,GACjFC,GAAuB,UAACtzB,EAAK8K,iBAAiB,UAAvB,aAAC,EAA0BuoB,sBAElDr4B,EAAS,sBAAD,UAAwBgF,EAAK8K,iBAAiB,UAA9C,aAAwB,EAA0BQ,qBAAqB,GAC/EooB,GAAsB,UAAC1zB,EAAK8K,iBAAiB,UAAvB,aAAC,EAA0BQ,qBAEjDtQ,EAAS,sBAAD,UAAwBgF,EAAK8K,iBAAiB,UAA9C,aAAwB,EAA0BM,qBAAqB,GAC/E+nB,GAAsB,UAACnzB,EAAK8K,iBAAiB,UAAvB,aAAC,EAA0BM,qBAEjDpQ,EAAS,YAAD,UAAcgF,EAAK8K,iBAAiB,UAApC,iBAAc,EAA0BS,iBAAxC,iBAAc,EAAqCC,kBAAnD,aAAc,EAAiDC,QAAQ,IAAK,MAAM,GAC1FzQ,EAAS,iBAAD,UAAmBgF,EAAK8K,iBAAiB,UAAzC,iBAAmB,EAA0BY,sBAA7C,iBAAmB,EAA0CF,kBAA7D,aAAmB,EAAsDC,QAAQ,IAAK,MAAM,KAInGzL,GACDpQ,EAAQ,8DAAD,OAA+DkgC,EAAM/xB,UAAUynB,aAA/E,0BAA6GiN,KAC/GpjC,MAAK,SAAAb,GAAM,OAAIsjC,EAAyBtjC,EAAOI,SAC/CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAulBlCi3B,GAC2B,gBAAtBoH,EAAMhM,cAzuBU,WAWyD,IAAD,4BAVrE,MAAR9jB,IACA8xB,EAAyB9xB,EAAK/D,sBAC9BkoB,EAAkBnkB,GAClBhF,EAAS,QAASgF,EAAKyE,OACvBzJ,EAAS,OAAQgF,EAAK6D,UACtB7I,EAAS,kBAAmBgF,EAAK8lB,iBACjC9qB,EAAS,cAA2C,MAA5BgF,EAAK6K,qBAA+B7K,EAAK6K,oBAAoB1X,OAAS,EAAtE,OAA0E6M,QAA1E,IAA0EA,OAA1E,EAA0EA,EAAM6K,oBAAoB,GAAGrG,gBAAkBxE,EAAK8lB,iBACtJ9qB,EAAS,MAAOgF,EAAK6D,UACrB+hB,GAAc5lB,EAAK/D,qBAAqB6B,iBAAiBC,WACzD20B,GAAgB1yB,EAAK/D,qBAAqB6B,iBAAiBioB,QAC3B,MAA5B/lB,EAAK6K,qBAA+B7K,EAAK6K,oBAAoB1X,OAAS,IACtE6H,EAAS,WAAYgF,EAAK6K,oBAAoB,GAAGnH,eACjD1I,EAAS,cAAegF,EAAK6K,oBAAoB,GAAG/G,aACpD9I,EAAS,yBAA0BgF,EAAK6K,oBAAoB,GAAGc,wBAC/D3Q,EAAS,kCAAmCgF,EAAK6K,oBAAoB,GAAGe,iCACxEqnB,GAAoCjzB,EAAK6K,oBAAoB,GAAGe,iCAAiC,GACjG5Q,EAAS,oCAAqCgF,EAAK6K,oBAAoB,GAAGgB,mCACF,MAApE7L,EAAK6K,oBAAoB,GAAGiB,sCAC5B+nB,GAA0B,CACtBv1B,KAAM0B,EAAK6K,oBAAoB,GAAGiB,qCAClCsQ,OAAQ,KACRE,aAAc,IAGtBthB,EAAS,MAAOgF,EAAK6K,oBAAoB,GAAG9G,KAC5C/I,EAAS,WAAYgF,EAAK6K,oBAAoB,GAAGnG,UACjD1J,EAAS,UAAWgF,EAAK6K,oBAAoB,GAAGlG,SAChD3J,EAAS,wBAAyBgF,EAAK6K,oBAAoB,GAAG5G,uBAC9DjJ,EAAS,OAAQgF,EAAK6K,oBAAoB,GAAG7G,eAC7ChJ,EAAS,MAAOgF,EAAK6K,oBAAoB,GAAG3G,KAC5ClJ,EAAS,aAAcgF,EAAK6K,oBAAoB,GAAG1G,YACnDnJ,EAAS,SAAUgF,EAAK6K,oBAAoB,GAAGvG,QAC/CtJ,EAAS,cAAegF,EAAK6K,oBAAoB,GAAGzG,aACpDpJ,EAAS,cAAegF,EAAK6K,oBAAoB,GAAGxG,aACpDrJ,EAAS,SAAUgF,EAAK6K,oBAAoB,GAAGtG,QACS,MAApDvE,EAAK6K,oBAAoB,GAAGypB,uBAC5Bt5B,EAAS,uBAAwBvH,GAAeuM,EAAK6K,oBAAoB,GAAGypB,uBAC5E9B,GAA2B/+B,GAAeuM,EAAK6K,oBAAoB,GAAGypB,wBAE1Et5B,EAAS,KAAMgF,EAAK6K,oBAAoB,GAAGmb,IAC3ChrB,EAAS,SAAUgF,EAAKtR,QAAQ,GAChC01B,GAAWpkB,EAAKtR,QAChBsM,EAAS,sBAAuBgF,EAAK6K,oBAAoB,GAAGG,qBAAqB,GACjFgoB,GAAwBhzB,EAAK6K,oBAAoB,GAAGG,qBACpDhQ,EAAS,mBAAoBgF,EAAK6K,oBAAoB,GAAGI,wBACzDjQ,EAAS,qBAAsBgF,EAAK6K,oBAAoB,GAAGK,0BAC3DlQ,EAAS,+BAAgCgF,EAAK6K,oBAAoB,GAAGM,8BAA8B,GACnG0nB,GAAiC7yB,EAAK6K,oBAAoB,GAAGM,8BAC7DnQ,EAAS,gBAAiBgF,EAAK6K,oBAAoB,GAAGga,eAAe,GACrEC,GAAkB9kB,EAAK6K,oBAAoB,GAAGga,eAC9CK,GAASllB,EAAK6K,oBAAoB,GAAG7G,eAGrChJ,EAAS,oBAAD,UAAsBgF,EAAK6K,oBAAoB,UAA/C,aAAsB,EAA6BQ,mBAAmB,GAC9EmoB,GAAoB,UAACxzB,EAAK6K,oBAAoB,UAA1B,aAAC,EAA6BQ,mBAElDrQ,EAAS,uBAAD,UAAyBgF,EAAK6K,oBAAoB,UAAlD,aAAyB,EAA6BwoB,sBAAsB,GACpFC,GAAuB,UAACtzB,EAAK6K,oBAAoB,UAA1B,aAAC,EAA6BwoB,sBAErDr4B,EAAS,sBAAD,UAAwBgF,EAAK6K,oBAAoB,UAAjD,aAAwB,EAA6BS,qBAAqB,GAClFooB,GAAsB,UAAC1zB,EAAK6K,oBAAoB,UAA1B,aAAC,EAA6BS,qBAEpDtQ,EAAS,sBAAD,UAAwBgF,EAAK6K,oBAAoB,UAAjD,aAAwB,EAA6BO,qBAAqB,GAClF+nB,GAAsB,UAACnzB,EAAK6K,oBAAoB,UAA1B,aAAC,EAA6BO,qBAEpDpQ,EAAS,YAAD,UAAcgF,EAAK6K,oBAAoB,UAAvC,iBAAc,EAA6BU,iBAA3C,iBAAc,EAAwCC,kBAAtD,aAAc,EAAoDC,QAAQ,IAAK,MAAM,GAC7FzQ,EAAS,iBAAD,UAAmBgF,EAAK6K,oBAAoB,UAA5C,iBAAmB,EAA6Ba,sBAAhD,iBAAmB,EAA6CF,kBAAhE,aAAmB,EAAyDC,QAAQ,IAAK,MAAM,KAuqB3Gkd,KACL,IAGC,oCACI,kBAACjmB,GAAA,EAAD,CAAOC,OAAQjC,EAAOkC,OAAQhC,GAC1B,kBAACmQ,GAAA,EAAD,CAAanO,OAAQhC,GAArB,mCACA,kBAACkC,GAAA,EAAD,KACI,kBAACmO,GAAA,EAAD,KACI,yBAAKta,UAAU,oBACX,2BAAOA,UAAU,SACb,+BACI,4BACI,wBAAIoM,MAAM,MAAMpM,UAAU,IAA1B,yBACA,wBAAIoM,MAAM,OAAV,oBACA,wBAAIA,MAAM,OAAV,gBAGR,oCACqCxW,GAAhCyT,EAAKof,yBAAwCpf,EAAKof,wBAAwBjsB,OAAS,GAAK6M,EAAKof,wBAAwBhoB,KAAI,SAAA4L,GAAa,OACnI,4BACI,4BAAKrP,GAAmBqP,EAAcC,oBACtC,4BAAKD,EAAcrG,YACnB,iCAA8BpQ,GAAzByW,EAAcqc,SAAiD,MAAzBrc,EAAcqc,QACnDrc,EAAcmkB,qBACdnkB,EAAcqc,QAAQnc,eAQxD,kBAACC,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASiD,GAAnC,QAIR,kBAAC8B,GAAA,EAAD,CAAOC,OAAQwvB,GAAwBvvB,OAAQyvB,IAC3C,kBAACthB,GAAA,EAAD,CAAanO,OAAQyvB,IAArB,4BACA,kBAACvvB,GAAA,EAAD,KACI,kBAACmO,GAAA,EAAD,KACI,kBAAC,KAAD,CACI5S,QAASi0B,GACTh0B,KAAK,OACLK,SAAU,SAACC,GAAQszB,GAAuCtzB,EAAEqzB,sCAC5D1zB,eAAgB,qBAAGm2B,+BACnBh2B,eAAgB,qBAAGuzB,qCACnBjhC,MAAOshC,GAAwCnxB,QAAO,SAAAC,GAAC,OAAIA,EAAE6wB,qCAAuCA,MACpG19B,YAAY,gBAIxB,kBAAC4O,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAhGV,WACe,MAAvCs0B,GAIJvhC,EAAa,QAAS,2MAAgM,YAAY,SAAUuX,GACpOA,IACAxW,GAAW,GACX9B,EAAQ,gCAAiC,CACrCuS,aAAclC,EAAKkC,aACnB+vB,oCAAqCA,GACrCt6B,WAAYzL,EAAQyL,aACrBtI,MAAK,SAAAb,GACJ0B,EAAY,UAAW,6BAAwB,WAAW,WAAQsvB,EAAQvd,KAAK,2BAE9E3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAdlCvB,EAAY,QAAS,2CAA4C,UAAW,QA8FpE,sBAIR,6BACI,kBAACya,EAAA,EAAD,CAAMhU,UAAS,cACX,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GA7QnB,SAACnM,GAGd,GAFA6C,GAAW,GAEkD,OAAzDwK,EAAqB6B,iBAAiBC,UAAUC,OACP,GAArCqlB,GAAYz0B,EAAKsxB,iBAGjB,OAFAzuB,GAAW,QACXvB,EAAY,QAAS,gCAA8B,UAAW,MAKtE,GAA6D,OAAzD+L,EAAqB6B,iBAAiBC,UAAUC,QAC3B,MAAjBpP,EAAK8V,UAAqC,IAAjB9V,EAAK8V,UAG9B,OAFAjT,GAAW,QACXvB,EAAY,QAAS,sCAAoC,UAAW,MAK5E,GAA6D,OAAzD+L,EAAqB6B,iBAAiBC,UAAUC,QAEnB,IADR0lB,GAAW90B,EAAKwV,aAClBjR,QAA4B,OAAZjH,GAG/B,OAFAuF,GAAW,QACXvB,EAAY,QAAS,+HAAwG,UAAW,MAKhJ,IAAgB,MAAXhE,GAAgC,MAAXA,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAAiE,MAAhCuN,IAAiG,OAAzDlP,EAAqB6B,iBAAiBC,UAAUC,MAGtL,OAFAvM,GAAW,QACXvB,EAAY,QAAS,yEAAoE,UAAW,MAIxG,GAAI6zB,GAA2C,aAAtB+L,EAAMhM,cH9nBW,SAACuD,EAAMp1B,GAC5B,GAArBo1B,EAAKnlB,aACLxS,EAAS,qDAAsD23B,GAC1Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,oDAAqD03B,GACxDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SGunBzDgmC,CADWhO,GAAqB/3B,GACSs4B,SAExC,GAA0B,gBAAtB4I,EAAMhM,aAAgC,EHlkBf,SAACuD,EAAMp1B,GACR,GAA/Bo1B,EAAK2M,uBACLtkC,EAAS,8CAA+C23B,GACnDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,6CAA8C03B,GACjDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SG2jBzDimC,CADW3O,GAAwBr3B,GACJs4B,SAG/B/C,EAAkBnkB,GAClBgkB,EAAkBhkB,OAkOF,wBAAIrJ,UAAU,sBAAd,wBACA,kBAAC2M,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,aAC5C,kBAACvT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,wBAAIE,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,gCACA,wBAAI28B,MAAO,CAAErN,QAAS,EAAGxW,OAAQ,GAAKra,UAAU,eAAeoH,IAAaA,GAAUU,WAC1E,MAAXvS,GAAyC,gBAAtBA,EAAQ0R,YAAgCmmB,GAAqBuO,GAAwCn/B,OAAS,GAC9H,yBAAKwD,UAAU,iDACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS00B,IAC7B,uBAAG17B,UAAU,oBAIzB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,8CAAH,KACA,kBAAC,KAAD,CACIC,QAAS0zB,GACTzzB,KAAK,cACLtN,MAAO+gC,GAAmBlzB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,OAASyhC,MACnD9zB,SAAU,SAAC3N,GAAD,OAplBxC,SAACA,GACvB0hC,GAAgB1hC,EAAMA,OACtBgK,EAAS,cAAehK,EAAMA,OAAO,GACrCkK,EAAY,eAER02B,GAAkB9zB,EAAiB3K,OAAS,GAC5CvD,EAAQ,yCAAD,OAA0CoB,EAAM8jC,sBAClDzlC,MAAK,SAAAb,GAAM,OAAIsjC,EAAyBtjC,EAAOI,SAC/CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG7BuO,GACDpQ,EAAQ,8DAAD,OAA+DkgC,EAAM/xB,UAAUynB,aAA/E,0BAA6Gx0B,EAAMA,QACrH3B,MAAK,SAAAb,GAAM,OAAIsjC,EAAyBtjC,EAAOI,SAC/CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAokBuCsjC,CAAkB/jC,IACvCuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,eACR,CAAES,UAAU,KAEhByU,WAA6B,MAAjB5F,GAAmD,IAA1BA,EAAc/J,UAAgD,GAA9B+J,EAAc1L,iBAI/F,kBAAChE,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAiC,OAAzB0xB,EAAM/xB,UAAUC,OAA2C,OAAzB8xB,EAAM/xB,UAAUC,OAAkB,0BAAMrH,UAAU,eAAhB,MAA5E,wBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAqB,MAAX7S,GAAyC,gBAAtBA,EAAQ0R,YAA0D,QAA1BkyB,EAAM/xB,UAAUC,SAAmD,OAAzB8xB,EAAM/xB,UAAUC,OAA2C,OAAzB8xB,EAAM/xB,UAAUC,SAAkCuU,UAAU,MAAM2I,UAAU+I,GAAwB,WAAYyD,aAAa,QACxU5sB,EAAOwrB,aAAe,0BAAM3vB,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,UACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQ6T,OA5qBhE,SAAC3K,GAEgB,GAA7BA,EAAMnB,OAAOrV,MAAMmC,QAGvBovB,GAAY/a,EAAMnB,OAAOrV,MAAOuzB,KAuqBqErlB,SAAUrE,EAAS,CAAEkE,SAAqB,MAAX7S,GAAyC,gBAAtBA,EAAQ0R,aAAgD2U,UAAU,MAAMmV,aAAa,QAC3L5sB,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,6BAGR,eAAf87B,IAA4C,cAAfA,KAC3B,kBAACv0B,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,mBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,WAAWiF,GAAG,WAAW4O,OAjqBlF,SAAC3K,GACpB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,WAAYxM,IA+pBwG0Q,SAAUrE,EAAS,CAAEkE,SAAqB,MAAX7S,GAAyC,gBAAtBA,EAAQ0R,aAAgD2U,UAAU,MAAMmV,aAAa,QAC/M5sB,EAAO+L,UAAY,0BAAMlQ,UAAU,kCAAhB,2BAExB,kBAAC21B,GAAA,EAAD,CAAS1E,UAAU,MAAMjlB,OAAQ4lB,GAAaliB,OAAO,WAAWzD,OAvqBrG,kBAAM4lB,IAAgBD,MAuqBe,0EAGS,eAAfkK,IAA4C,cAAfA,KAC3B,kBAACv0B,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,qBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciF,GAAG,cAAc4O,OArqBrF,SAAC3K,GACvB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,cAAexM,IAmqB8G0Q,SAAUrE,EAAS,CAAEkE,aAAsB,MAAX7S,GAAgC,MAAXA,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA4D,QAA1BkyB,EAAM/xB,UAAUC,OAA6C,QAA1B8xB,EAAM/xB,UAAUC,OAA6C,QAA1B8xB,EAAM/xB,UAAUC,QAAqC,MAAX9R,GAAyC,gBAAtBA,EAAQ0R,aAA2D,QAA1BkyB,EAAM/xB,UAAUC,OAA6C,QAA1B8xB,EAAM/xB,UAAUC,OAA6C,QAA1B8xB,EAAM/xB,UAAUC,SAAoCuU,UAAU,MAAMmV,aAAa,QAClhB5sB,EAAOgJ,aAAe,0BAAMnN,UAAU,kCAAhB,4BAInC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,oBAA+D,uBAAGuP,KAAK,IAAI3C,GAAG,2BAA0B,uBAAG5M,UAAU,4BACpH,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,0BAA0BuhB,UAAU,OAAhE,4CAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,kBAAkBiF,GAAG,kBAAkBskB,QAzqBzF,SAACrgB,GACvB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,kBAAmBxM,IAuqB+G0Q,SAAUrE,EAAS,CAAEkE,UAAW7S,IAA4BqmB,UAAU,KAAKmV,aAAa,QAClL5sB,EAAOgrB,iBAAmB,0BAAMnvB,UAAU,kCAAhB,6BAGlB,eAAf87B,IAA4C,cAAfA,KAC3B,kBAACv0B,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,wCACH,kBAAC,GAAD,CAAWE,KAAK,OAAO2c,aAAsB,MAARjb,GAAgBA,EAAK6D,SAAUikB,SAAUjtB,EAAS,CAAEkE,SAAqB,MAAX7S,GAAyC,gBAAtBA,EAAQ0R,aAAgDmqB,SAA2B,MAAjBna,GAAiD,GAAxB5N,EAAK6D,SAAS1Q,OAA4Bu0B,aAAa,QACvQ5sB,EAAO8L,MAAQ,0BAAMjQ,UAAU,kCAAhB,4BAIZ,aAAf87B,IACG,kBAACv0B,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,uCACH,kBAAC,GAAD,CAAUE,KAAK,MAAM2c,aAAsB,MAARjb,GAAgBA,EAAK6D,SAAUikB,SAAUjtB,EAAS,CAAEkE,SAAqB,MAAX7S,GAAyC,gBAAtBA,EAAQ0R,aAAgDmqB,SAA2B,MAAjBna,EAAsC8Z,aAAa,QACxO5sB,EAAOurB,KAAO,0BAAM1vB,UAAU,kCAAhB,4BAI3B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,QACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,MAAMY,SAAUrE,EAAS,CAAEkE,UAAW7S,IAA4BqmB,UAAU,OACnGzX,EAAOiJ,KAAO,0BAAMpN,UAAU,kCAAhB,4BAGX,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,sDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAW7S,IAA4BqmB,UAAU,OAC9GzX,EAAOiQ,gBAAkB,0BAAMpU,UAAU,kCAAhB,4BAItC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,aACH,kBAAC,GAAD,CAAekH,KAAK,OAAOS,KAAK,WAAW2c,aAAc4K,GAAkB,YAAaiC,SAAUjtB,EAAS,CAAEkE,UAAW7S,MACvH4O,EAAO4J,UAAY,0BAAM/N,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,2CACH,kBAAC,GAAD,CAAeP,KAAK,OAAOS,KAAK,UAAU2c,aAAc4K,GAAkB,WAAYiC,SAAUjtB,EAAS,CAAEkE,UAAU,SAG5G,eAAf0zB,IAA4C,cAAfA,KAC3B,kBAACv0B,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAWsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,MAAiB,GAAK,UACjH,kBAACI,GAAA,EAAD,KACI,2BAAG,iEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,wBAAwBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,MAAM2I,SAA2B,MAAjB6J,IAAiD,GAAxBA,GAAc5xB,QAAc,aACvK2H,EAAOmJ,uBAAyB,0BAAMtN,UAAU,kCAAhB,6BAI5B,eAAf87B,IAA4C,cAAfA,KAC3B,kBAACv0B,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAWsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,MAAiB,GAAK,UACjH,kBAACI,GAAA,EAAD,KACI,2BAAG,wCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,OAAOY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,MAAM2I,SAAkB,MAAR+J,IAA+B,GAAfA,GAAK9xB,QAAc,aACpI2H,EAAOmqB,MAAQ,0BAAMtuB,UAAU,kCAAhB,4BAI3BsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,OACrE,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UACH,kBAAC,KAAD,CACI0H,QAASy1B,GACTx1B,KAAK,OACLK,SAAU,SAACC,GA/b3C,IAAC5N,IA+bsE4N,EAAE5N,MA9bjGk0B,GAASl0B,GACTgK,EAAS,OAAQhK,GAAO,GACxBkK,EAAY,SA6b4CqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAO8iC,GAAsB3yB,QAAO,SAAAC,GAAC,OAAIA,EAAEpQ,OAASi0B,MAEpD1wB,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,QACR,CAAES,UAAU,OAGnBjE,EAAOmqB,MAAQ,0BAAMtuB,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAWsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,MAAiB,GAAK,UACjH,kBAACI,GAAA,EAAD,KACI,2BAAG,2DACH,kBAAC,KAAD,CACIC,QAASy0B,GACTv0B,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAOy1B,wBACjC31B,KAAK,sBACLK,SAAU,SAACC,GA5nBjC,IAAC5N,EAC/BgiC,GAD+BhiC,EA4nBkE4N,GA1nBjG5D,EAAS,sBAAuBhK,GAAO,GACvCkK,EAAY,wBA0nBwClK,MAAOga,GACPzW,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,uBACR,CAAES,SAAsB,OAAZ7S,GAAoB+P,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,SAE5GwV,YAAayQ,IAEhBnpB,EAAOkQ,qBAAuB,0BAAMrU,UAAU,kCAAhB,4BAGvC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAWsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,OAAkBgN,IAAwD,YAAjCA,GAAoBvM,UAA0B,GAAK,UACvL,kBAACL,GAAA,EAAD,KACI,2BAAG,uDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,SACLS,KAAK,mBACLY,SAAUrE,EAAS,CAAEkE,UAAsB,MAAX7S,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+B3B,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,OAAkBgN,IAAwD,YAAjCA,GAAoBvM,YAC3O8T,UAAU,KACV2I,UAAU+I,GAAwB,aAErCnpB,EAAOo5B,kBAAoB,0BAAMv9B,UAAU,kCAAhB,4BAGpC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAWsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,OAAkBgN,IAAwD,YAAjCA,GAAoBvM,UAA0B,GAAK,UACvL,kBAACL,GAAA,EAAD,KACI,2BAAG,yDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,SACLS,KAAK,qBACLY,SAAUrE,EAAS,CAAEkE,UAAsB,MAAX7S,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+B3B,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,OAAkBgN,IAAwD,YAAjCA,GAAoBvM,YAC3O8T,UAAU,KACV2I,UAAU+I,GAAwB,aAErCnpB,EAAOq5B,oBAAsB,0BAAMx9B,UAAU,kCAAhB,4BAGtC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAWsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,MAAiB,GAAK,UACjH,kBAACI,GAAA,EAAD,KACI,2BAAG,0EACH,kBAAC,KAAD,CACIC,QAASs0B,GACTp0B,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAO41B,iCACjC91B,KAAK,+BACLK,SAAU,SAACC,GAvsBxB,IAAC5N,EACxC6hC,GADwC7hC,EAusBkE4N,GArsB1G5D,EAAS,+BAAgChK,GAAO,GAChDkK,EAAY,iCAqsBwClK,MAAOma,GACP5W,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,gCACR,CAAES,UAAsB,MAAX7S,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+B3B,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,SAE/JwV,YAAayQ,IAEhBnpB,EAAOqQ,8BAAgC,0BAAMxU,UAAU,kCAAhB,4BAGpC,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAAsBsE,IAAmF,QAAtC,OAApBA,QAAoB,IAApBA,OAAA,EAAAA,EAAsB6B,iBAAiBC,UAAUC,QAA4E,QAAtC,OAApB/B,QAAoB,IAApBA,OAAA,EAAAA,EAAsB6B,iBAAiBC,UAAUC,SACnO,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,4CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OACRS,KAAK,kBACL2c,cAAkB,OAAJjb,QAAI,IAAJA,OAAA,EAAAA,EAAMkgB,iBAAkBlgB,EAAKkgB,gBAAgB3yB,MAAM,KAAK,GAAK,GAC3E2R,SAAUrE,EAAS,CAAEkE,UAAW7S,IAChCimB,OAv0BjC,SAAC3K,GACxB,IAAI8b,EAAa9b,EAAMnB,OAAOrV,OAEZ,IAAdsyB,GAAoBA,EAAWnwB,OAAS,IACT,GAA3BkwB,GAAYC,IACZpzB,EAAY,QAAS,gCAA8B,UAAW,SAm0BjB4K,EAAOolB,iBAAmB,0BAAMvpB,UAAU,kCAAhB,4BAI3B,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAAC,KAAD,CACIC,QAASgmB,GACT/lB,KAAK,SACLK,SAAU,SAACC,GA/3BlD,IAAC5N,IA+3BsE4N,EAAE5N,MA93B1FozB,GAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA63B4CqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,IAAgB21B,GAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,MAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,WAAuB,MAAX7S,GAAoBA,GAAiC,aAAtBA,EAAQ0R,eAEzD4V,YAAayQ,IAEhBnpB,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAIC,mBAAzB,OAALm5B,QAAK,IAALA,GAAA,UAAAA,EAAO/xB,iBAAP,eAAkBE,WAA2D,QAAtB,OAAL6xB,QAAK,IAALA,GAAA,UAAAA,EAAO/xB,iBAAP,eAAkBC,QACjE,oCACI,kBAACE,GAAA,EAAD,CAAKkB,GAAG,MACJ,wBAAIvI,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,qBAEJ,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,8DACH,kBAAC,KAAD,CACIC,QAAS+0B,GACT90B,KAAK,sBACLK,SAAU,SAACC,GA5rBzC,IAAC5N,IA4rB0E4N,EAAE5N,MA3rB3GmiC,GAAuBniC,GACvBgK,EAAS,sBAAuBhK,GAAO,GACvCkK,EAAY,wBA0rBgDqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAA8B,IAAvBoa,IAA6BgoB,GAA2Bv0B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUoa,MACzF7W,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,uBACR,CAAES,UAAU,KAEhByU,YAAayQ,IAEhBnpB,EAAOsQ,qBAAuB,0BAAMzU,UAAU,kCAAhB,4BAGvC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,6DACH,kBAAC,KAAD,CACIC,QAASk1B,GACTj1B,KAAK,oBACLK,SAAU,SAACC,GA/rBxC,IAAC5N,IA+rB0E4N,EAAE5N,MA9rB5GsiC,GAAwBtiC,GACxBgK,EAAS,uBAAwBhK,GAAO,GACxCkK,EAAY,yBA6rBgDqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAA+B,IAAxBqiC,IAA8BE,GAA4B10B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUqiC,MAC3F9+B,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,wBACR,CAAES,UAAU,KAEhByU,YAAayQ,IAEhBnpB,EAAOu4B,sBAAwB,0BAAM18B,UAAU,kCAAhB,4BAGxC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,6DACH,kBAAC,KAAD,CACIC,QAASo1B,GACTn1B,KAAK,oBACLK,SAAU,SAACC,GAlsB3C,IAAC5N,IAksB0E4N,EAAE5N,MAjsBzGwiC,GAAqBxiC,GACrBgK,EAAS,oBAAqBhK,GAAO,GACrCkK,EAAY,sBAgsBgDqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAA4B,IAArBqa,IAA2BooB,GAAyB50B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUqa,MACrF9W,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,qBACR,CAAES,UAAU,KAEhByU,YAAayQ,IAEhBnpB,EAAOuQ,mBAAqB,0BAAM1U,UAAU,kCAAhB,4BAGrC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,2DACH,kBAAC,KAAD,CACIC,QAASs1B,GACTr1B,KAAK,sBACLK,SAAU,SAACC,GArsBzC,IAAC5N,IAqsB0E4N,EAAE5N,MApsB3G0iC,GAAuB1iC,GACvBgK,EAAS,sBAAuBhK,GAAO,GACvCkK,EAAY,wBAmsBgDqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAA8B,IAAvBsa,IAA6BqoB,GAA2B90B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUsa,MACzF/W,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,uBACR,CAAES,UAAU,KAEhByU,YAAayQ,IAEhBnpB,EAAOwQ,qBAAuB,0BAAM3U,UAAU,kCAAhB,4BAGvC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,yDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OACRS,KAAK,YACLiF,GAAG,YACHrE,SAAUrE,EAAS,CACfkE,UAAU,EACVi2B,QAAS,kBAEbr2B,SAAU,SAACC,GACP,IAAM5N,EAAU4N,EAAEyH,OAAZrV,MACNA,EAAQA,EAAMya,QAAQ,UAAW,IACjCzQ,EAAS,YAAahK,IAE1BuD,YAAY,aAEfuG,EAAOyQ,WAAa,0BAAM5U,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,iEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OACRS,KAAK,iBACLiF,GAAG,iBACHrE,SAAUrE,EAAS,CACfkE,UAAU,EACVi2B,QAAS,kBAEbr2B,SAAU,SAACC,GACP,IAAM5N,EAAU4N,EAAEyH,OAAZrV,MACNA,EAAQA,EAAMya,QAAQ,UAAW,IACjCzQ,EAAS,iBAAkBhK,IAE/BuD,YAAY,aAEfuG,EAAO4Q,gBAAkB,0BAAM/U,UAAU,kCAAhB,iCAS1D,kBAAC8G,GAAA,EAAD,CAAK9G,UAAWsF,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,MAAiB,GAAK,UAC1G,kBAACE,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,wBAAIE,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,6BACA,kBAAC+Y,GAAA,EAAD,KACI,kBAACxT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,kEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,yBAAyBY,SAAUrE,EAAS,CAAEkE,UAAsB,MAAX7S,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+B3B,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,QAAmBuU,UAAU,MAAM2I,UAAU+I,GAAwB,aACnSnpB,EAAO6Q,wBAA0B,0BAAMhV,UAAU,kCAAhB,4BAI1C,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,kDACH,kBAAC,KAAD,CACIC,QAAS60B,GACT50B,KAAK,kCACLK,SAAU,SAACC,GA31BzB,IAAC5N,IA21BsE4N,EAAE5N,MA11BnHiiC,GAAoCjiC,GACpCgK,EAAS,kCAAmChK,GAAO,GACnDkK,EAAY,oCAy1B4CqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAA0C,IAAnC4a,IAAyCsnB,GAAwCr0B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAU4a,MAClHrX,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,mCACR,CAAES,UAAsB,MAAX7S,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+B3B,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,SAE/JwV,YAAayQ,IAEhBnpB,EAAO8Q,iCAAmC,0BAAMjV,UAAU,kCAAhB,4BAGnD,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,oCAAoCY,SAAUrE,EAAS,CAAEkE,UAAsB,MAAX7S,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA+B3B,GAAiF,OAAzDA,EAAqB6B,iBAAiBC,UAAUC,QAAmBuU,UAAU,KAAK2I,UAAU+I,GAAwB,aAC7SnpB,EAAO+Q,mCAAqC,0BAAMlV,UAAU,kCAAhB,4BAGrD,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uBAAGvH,MAAO,CAAER,MAAO,SAAnB,kCACH,kBAACglB,GAAD,CAAU/c,KAAK,0BACX4V,MAAO0f,GACP97B,OAAO,OACPI,MAAM,OACNqkB,aAAc,EACdJ,WA1yBzB,SAACa,EAAO/qB,GAC1B,MAAT+qB,GAIJ6W,GAA0B7W,GAC1B/qB,KAJI/B,EAAY,QAAS,sDAAiD,QAAS,YA6yB3C,kBAACuN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MAAhB,iJAQpB,kBAACV,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,wBAAIE,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,eACA,kBAAC+Y,GAAA,EAAD,KACI,kBAACxT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,QACH,kBAAC,GAAD,CACI2H,KAAK,MACL2c,aAAc4K,GAAkB,OAChC1T,OAjzB1C,SAAC3K,GAGf,GAFAtM,EAAY,OAERsM,EAAMnB,OAAOrV,MAAMya,QAAQ,UAAW,IAAIuc,OAAO70B,OAAS,EAG1D,OAFA6H,EAAS,MAAO,SAChB9K,EAAY,QAAS,iEAAsD,QAAS,MAIxF4uB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GACZ,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,MAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfoyB,IAAmB,KAGnBpyB,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,IAEG,MAA1Bx3B,EAAOI,KAAKuV,YAAuD,GAAjC3V,EAAOI,KAAKuV,WAAWhR,OACzDi6B,IAAmB,GAEnBA,IAAmB,QAuxByBtF,SAAUjtB,EAAS,CAAEkE,UAAW7S,MAEnC4O,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaiU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAW7S,MACpF4O,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAASiU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAW7S,MAC/E4O,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,cACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAW7S,IAA4ByS,SA/0B/H,SAACC,GAC1B,IAAIpQ,EAASk1B,GAAW9kB,EAAEyH,OAAOrV,OACjCgK,EAAS,cAAexM,MA80B6BsM,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,SAGjG,kBAACrU,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOqd,SAAS,WAAW5c,KAAK,SAASY,SAAUrE,EAAS,CAAEkE,UAAW7S,IAA4BqmB,UAAU,OAC1HzX,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,sCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOqd,SAAS,WAAW5c,KAAK,KAAKY,SAAUrE,EAAS,CAAEkE,UAAW7S,IAA4BqmB,UAAU,MACtHzX,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,IAAIxH,UAAoC,OAAzBm5B,EAAM/xB,UAAUC,MAAiB,SAAW,IACtE,kBAACI,GAAA,EAAD,KACI,2BAAG,2DAAH,KACA,kBAAC,KAAD,CACIC,QAASsmB,GACTpmB,eAAgB,SAAAC,GAAM,OAAIA,EAAO0E,MACjCxE,eAAgB,SAAAF,GAAM,OAAIA,EAAO4nB,kBACjC9nB,KAAK,gBACLK,SAAU,SAACC,GAzhC3C,IAAC5N,EACzB8zB,GADyB9zB,EAyhCsE4N,GAvhC/F5D,EAAS,gBAAiBhK,GAAO,GACjCkK,EAAY,kBAuhC4ClK,MAAO6zB,GACPtwB,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAW7S,KAEjBsnB,YAAayQ,IAEhBnpB,EAAO+pB,eAAiB,0BAAMluB,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,aAAaY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,eAOpH,kBAACrU,GAAA,EAAD,CAAKkB,GAAG,KACQ,MAAXlT,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAAC+F,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMjD,EAAakT,IAAgBjX,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAxH,YAGR,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACQ,MAAXlT,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAAsBqI,EAAKof,wBAAwBjsB,OAAS,GAC5H,kBAACuK,GAAA,EAAD,CAAQrH,MAAM,OAAOsH,QAASiD,EAAajK,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAA7F,qBAGR,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,qBAA4E,uBAAGlH,UAAU,kC,+BCn3ClH,SAASs+B,GAAT,GAAyG,IAAD,MAAhFj1B,EAAgF,EAAhFA,KAAM8jB,EAA0E,EAA1EA,aAAcC,EAA4D,EAA5DA,kBAAmBC,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBAC7F,EAA8Bh3B,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAuFkJ,YAAQ,CAAEC,KAAM,WAA/FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAAaC,EAAzE,EAAyEA,UAEzE,EAAiC3J,mBAAS,MAA1C,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAA2C9J,mBAAS,IAApD,mBAAO0jC,EAAP,KAAsBC,EAAtB,KACA,EAAiD3jC,mBAAS,MAA1D,mBAAOsM,EAAP,KAAyBs3B,EAAzB,KAEA,EAAmC5jC,oBAAS,GAA5C,mBAAO6jC,EAAP,KAAkBC,EAAlB,KACA,EAA2D9jC,oBAAS,GAApE,mBAAO+jC,EAAP,KAA8BC,EAA9B,KAGA,EAA2ChkC,oBAAS,GAApD,oBAAOwX,GAAP,MAAsBC,GAAtB,MAGA,GAA2CzX,mBAzBpC,CACHikC,iBAAkB,GAClBC,mBAAoB,GACpBC,0BAA2B,0BAC3BjrB,gBAAiB,OAqBrB,qBAAOkrB,GAAP,MAAsBC,GAAtB,MAGA,GAAmDrkC,mBAAS,IAA5D,qBAAO0X,GAAP,MAA0BC,GAA1B,MAGA,GAAuE3X,oBAAS,GAAhF,qBAAoCskC,IAApC,aAGA,GAAqDtkC,mBAAS,IAA9D,qBAAOukC,GAAP,MAA2BC,GAA3B,MAGA,GAAmCxkC,mBAAS,MAA5C,qBAAOykC,GAAP,MAAkBC,GAAlB,MAGA,GAAwB1kC,mBAAS,IAAjC,qBAAO2kC,GAAP,MAAaC,GAAb,MAEMhtB,GAAsB,WACxBysB,GA3CG,CACHJ,iBAAkB,GAClBC,mBAAoB,GACpBC,0BAA2B,0BAC3BjrB,gBAAiB,OAwCjBorB,IAAgC,GAChC7sB,IAAmBD,KAqDvBrW,qBAAU,WACc,aAAhBmxB,EAlDkB,WAAO,IAAD,MAC5BxoB,EAAa0E,GACTA,IACAo1B,EAAqBp1B,EAAKigB,iCAAiCniB,kBACJ,MAAnDkC,EAAK8K,iBAAiB,GAAGwW,wBACzB6T,EAAkBn1B,EAAK8K,iBAAiB,GAAGwW,yBAI/B,aAAhBwC,GAA+B9jB,GAAsF,QAA1E,OAAJA,QAAI,IAAJA,GAAA,UAAAA,EAAMigB,wCAAN,mBAAwCniB,wBAAxC,mBAA0DC,iBAA1D,eAAqEC,QAC5G8qB,GAAY,GAAD,oBAAKp0B,IAAL,CAAc,CACrBrE,KAAM,SACNkX,QAAS,gBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,QAsC9CihB,GACqB,gBAAhB5E,GAjCgB,WAUzB,GATAxoB,EAAa0E,GACTA,IAEAo1B,EAAqBp1B,EAAK/D,qBAAqB6B,kBAEV,MAAjCkC,EAAKuM,0BACL4oB,EAAkBn1B,EAAKuM,2BAGX,gBAAhBuX,EAAgC,CAChC,IAAIiF,EAAUr0B,GACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,gBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,GAAYC,IAgBZJ,GAXJl3B,GAAW,GACX7B,EAAQ,2BACHP,MAAK,SAAAb,GAAM,OAAI0nC,GAAc1nC,EAAOI,SACpCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAU9B4kC,OACD,IAGH,OAA+B7kC,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,GAAWxhB,OAJhD,qBAAO/S,GAAP,MAAgBo0B,GAAhB,MASA,GAAuBt3B,mBAAS,IAAhC,qBAAO0S,GAAP,MAAYgpB,GAAZ,MACA,GAA6C17B,oBAAS,GAAtD,qBAAO27B,GAAP,MAAuBC,GAAvB,MACA,GAAmD57B,oBAAS,GAA5D,qBAAO8kC,GAAP,MAA0BC,GAA1B,MAmDMC,GAAyB,SAACC,GAC5BhlC,GAAW,GACX,IAAIob,EAAG,8FAA0F4pB,EAA1F,gDACP5mC,EAAgBgd,GAAKxd,MAAK,SAAAb,GAEtB,GADAiD,GAAW,GACW,MAAlBjD,EAAOE,OACPwB,EAAY,kEAA0D,uCAAkC,QAAS,WAGjH,IACIsZ,GAAa,CAAChb,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASupC,IAAKpoC,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASwpC,MACrGntB,GAAkB,CAAClb,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASupC,IAAKpoC,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASwpC,MAE9G,SACI3mC,EAAY,kEAA0D,uCAAkC,QAAS,WAOjI,GAAkCsB,mBAAS,CAAC,EAAG,IAA/C,qBAAO+X,GAAP,MAAkBC,GAAlB,MACA,GAA4ChY,mBAAS,CAAC,EAAG,IAAzD,qBAAOiY,GAAP,MAAuBC,GAAvB,MACMC,GAAa,IAAIC,KAAEC,KAAK,CAC1BC,QAAS,mGACTC,cAAe,qGAEb+sB,GAAY10B,iBAAO,MACnB20B,GAAuBC,mBACzB,iBAAO,CACHC,QADG,WAEC,IAAMC,EAASJ,GAAUt0B,QACzB,GAAc,MAAV00B,EAAgB,CAChB,IAAIjqB,EAAWiqB,EAAOC,YACtBztB,GAAkB,CAACuD,EAAS2pB,IAAK3pB,EAAS4pB,WAItD,IAGE7sB,GAAY,SAAC,GAAsB,IAApBC,EAAmB,EAAnBA,OAAQC,EAAW,EAAXA,KAGzB,OAFoBC,eACRC,QAAQH,EAAQC,GACrB,MAGLktB,GAAmB,WACrB9B,GAAc,GACdE,GAA0B,IAG9B,GAA+BhkC,mBAAS,MAAxC,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACM3B,GAAa,SAACxhB,GAAa,IAAD,IAC5B0B,GAAsB,KACX,OAAP1B,QAAO,IAAPA,GAAA,UAAAA,EAAS8Z,sCAAT,eAAyCpuB,QAAS,GAClDgW,GAAsB1B,EAAQ8Z,iCAEvB,OAAP9Z,QAAO,IAAPA,GAAA,UAAAA,EAAS+E,yCAAT,eAA4CrZ,QAAS,GACrDgW,GAAqB,OAAC1B,QAAD,IAACA,OAAD,EAACA,EAAS+E,mCAEnC+pB,IAAsB,GACtBf,GAA0B,GAC1B5K,GAAYnjB,GACZylB,GAAQzlB,EAAQvD,KAChBlJ,EAAS,MAAOyM,EAAQvD,KACxBlJ,EAAS,aAAcyM,EAAQtD,YAC/BnJ,EAAS,cAAeyM,EAAQrD,aAChCpJ,EAAS,cAAeyM,EAAQpD,aAChCrJ,EAAS,SAAUyM,EAAQnD,QAC3BtJ,EAAS,SAAUyM,EAAQlD,QAC3BvJ,EAAS,KAAMyM,EAAQue,IACvBoQ,GAAQ3uB,EAAQ0uB,MAEZ1uB,EAAQ6C,gBAAkB7C,EAAQ6C,eAAe/c,MAAM,KAAK4F,OAAS,IACrEqW,GAAa,CAAC/B,EAAQ6C,eAAe/c,MAAM,KAAK,GAAIka,EAAQ6C,eAAe/c,MAAM,KAAK,KACtFmc,GAAkB,CAACjC,EAAQ6C,eAAe/c,MAAM,KAAK,GAAIka,EAAQ6C,eAAe/c,MAAM,KAAK,OAI7Fy7B,GAAe,SAACvhB,GAAa,IAAD,MAC9B,GAAKsc,GAAqC,aAAhBD,GAAmE,OAApChmB,EAAiBC,UAAUC,MAApF,CAKA,IAAIrP,EAAU,6BACVqR,GAA0E,QAA9D,OAAJA,QAAI,IAAJA,GAAA,UAAAA,EAAM/D,4BAAN,mBAA4B6B,wBAA5B,mBAA8CC,iBAA9C,eAAyDC,SACjErP,EAAU,wJAEd+B,EAAa,gBAAW/B,EAAS,YAAY,SAAUH,GAC/CA,IACAiD,GAAW,GACS,gBAAhBqyB,EACAp0B,EAAS,2DAA6D+X,EAAQ4vB,6BACzEhoC,MAAK,SAAAb,GACF0B,EAAY,QAAS,8BAA+B,WAAW,WAC3D46B,GAAmBrjB,EAAQnL,uBAEhChN,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAC1D6D,SAAQ,kBAAMf,GAAW,MACP,aAAhBqyB,GACPp0B,EAAS,qDAAuD+X,EAAQ6vB,0BACnEjoC,MAAK,SAAAb,GACF0B,EAAY,QAAS,8BAA+B,UAAW,MAC/DilC,EAAkBn1B,EAAK8K,iBAAiB,GAAGwW,uBAAuBngB,QAAO,SAAA4H,GAAC,OAAIA,EAAEuuB,0BAA4B7vB,EAAQ6vB,gCAEvHhoC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,eA1BtCvB,EAAY,QAAS,mDAA2C,QAAS,OA+B3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GACX7B,EAAQ,oDAAsDm7B,GACzD17B,MAAK,SAAAb,GAAM,OAAI2mC,EAAkB3mC,EAAOI,SACxCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA8B5Bk1B,GAAuB,SAAC/3B,GAC1B,IAAI2oC,EAAqB,GA4BzB,OA3BIruB,GAAkB/V,OAAS,GAC3B+V,GAAkB9R,KAAI,SAAApG,GAAU,IAAD,IAC3BumC,EAAmBt1B,KAAnB,6BACOjR,GADP,IAEIykC,iBAAkBzkC,EAAMykC,iBACxBC,mBAAoB1kC,EAAM0kC,mBAC1BC,0BAA2B3kC,EAAM2kC,0BACjCjrB,gBAAe,oBAAE1Z,EAAM0Z,uBAAR,aAAE,EAAuB0R,cAAzB,QAAmCprB,EAAM0Z,sBAKlD,CACd4sB,yBAAqC,MAAX3M,GAAkB,EAAIA,GAAQ2M,yBACxD7C,oBAAqBz0B,EAAK8K,iBAAiB,GAAG2pB,oBAC9CjO,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACT1b,eAAoD,OAApCxM,EAAiBC,UAAUC,OAAsD,OAApCF,EAAiBC,UAAUC,MAAiByL,GAAe,GAAK,IAAMA,GAAe,GAAK,KACvJ/a,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1G4pB,+BAAgCgW,IAKlCtR,GAA0B,SAACr3B,GAC7B,IAAI2oC,EAAqB,GA6BzB,OA5BIruB,GAAkB/V,OAAS,GAC3B+V,GAAkB9R,KAAI,SAAApG,GAAU,IAAD,IAC3BumC,EAAmBt1B,KAAnB,6BACOjR,GADP,IAEIykC,iBAAkBzkC,EAAMykC,iBACxBC,mBAAoB1kC,EAAM0kC,mBAC1BC,0BAA2B3kC,EAAM2kC,0BACjCjrB,gBAAe,oBAAE1Z,EAAM0Z,uBAAR,aAAE,EAAuB0R,cAAzB,QAAmCprB,EAAM0Z,sBAKlD,CACd2sB,4BAAwC,MAAX1M,GAAkB,EAAIA,GAAQ0M,4BAC3D/6B,gBAAiB0D,EAAK1D,gBACtBkqB,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACT1b,eAAoD,OAApCxM,EAAiBC,UAAUC,OAAsD,OAApCF,EAAiBC,UAAUC,MAAiByL,GAAe,GAAK,IAAMA,GAAe,GAAK,KACvJ/a,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1G6U,kCAAmC+qB,IAMrCC,GAA0B,SAAChpC,GAC7BiD,GAAW,GACX,IAAI+7B,EAAQh/B,EAAOI,KAEfg9B,EAAW,GAEXF,EAAYrwB,EACI,aAAhByoB,GACAoR,EAAc99B,KAAI,SAAA4K,GACVA,EAAEs1B,0BAA4B9J,EAAM8J,0BACpC1L,EAAS3pB,KAAKD,MAGtB0pB,EAAU5gB,iBAAiB,GAAGwW,uBAAyBsK,GAElC,gBAAhB9H,IACLoR,EAAc99B,KAAI,SAAA4K,GACVA,EAAEq1B,6BAA+B7J,EAAM6J,6BACvCzL,EAAS3pB,KAAKD,MAGtB0pB,EAAUnf,yBAA2Bqf,GAGzCA,EAAS3pB,KAAKurB,GACd2H,EAAkBvJ,GAClBtwB,EAAaowB,GAEbwB,GAAQ,IACRlyB,EAAS,MAAO,IAChBA,EAAS,aAAc,IACvBA,EAAS,cAAe,IACxBA,EAAS,cAAe,IACxBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IAEf4vB,GAAY,MACZzhB,GAAsB,IACtBjZ,EAAY,QAAS,uCAAkC,UAAW,OAUtE,GAA8DsB,mBAAS,IAAvE,qBAAOimC,GAAP,MAAgCC,GAAhC,MACMrB,GAAyB,WAE3BzmC,EAAQ,oDACHP,MAAK,SAAAb,GACFA,EAAOI,KAAKwI,KAAI,SAAApG,GAGZ,OAFAA,EAAMA,MAAQA,EAAM8S,YACpB9S,EAAMqG,MAAQrG,EAAM8S,YACb9S,KAEX0mC,GAA2B,CAAC,CAAE1mC,MAAO,0BAA2BqG,MAAO,4BAA7C,oBAA6E7I,EAAOI,WAGjHU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA4E5BkmC,GACF,kBAACj6B,GAAA,EAAD,CACIrH,MAAM,SACNM,UAAU,0BACVgH,QAASyL,GACTvL,KAAK,SACLhH,MAAO,CAAEsB,aAAc,QAL3B,KAWJ,OACI,oCACI,6BACI,kBAACwS,EAAA,EAAD,CAAMhU,UAAS,cACX,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,oBACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GA3P3B,SAACnM,GACd,GAAe,MAAX+7B,IAAmBuK,EAAc/zB,QAAO,SAAAC,GAAC,OAAIA,EAAEolB,KAAO53B,EAAKsV,KAAO9C,EAAEgD,aAAexV,EAAKwV,eAAajR,OAAS,EAC9GjD,EAAY,QAAS,qDAAgD,QAAS,WAIlF,GAAwC,OAApC4N,EAAiBC,UAAUC,OAA8C,GAA5BkL,GAAkB/V,OAKnE,GAAyC,OAApC2K,EAAiBC,UAAUC,OAAsD,OAApCF,EAAiBC,UAAUC,OAAoBu3B,GAMjG,GADA9jC,GAAW,GACPsyB,GAAqC,aAAhBD,GJ5TS,SAACuD,EAAMp1B,GACR,GAAjCo1B,EAAKiQ,yBACL5nC,EAAS,6CAA8C23B,GAClDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,4CAA6C03B,GAChDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SIqTzDipC,CADWjR,GAAqB/3B,GACC4oC,SAEhC,GAAoB,gBAAhB1T,EAAgC,EJhQJ,SAACuD,EAAMp1B,GACR,GAApCo1B,EAAKgQ,4BACL3nC,EAAS,oDAAqD23B,GACzDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,kDAAmD03B,GACtDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SIyPzDkpC,CADW5R,GAAwBr3B,GACC4oC,UAXpClC,GAAc,QALdplC,EAAY,QAAS,0FAAwF,QAAS,UAqP7F8P,IACwC,oBAAhC,OAAJA,QAAI,IAAJA,GAAA,UAAAA,EAAM/D,4BAAN,eAA4BC,OAA2D,oBAAhC,OAAJ8D,QAAI,IAAJA,GAAA,UAAAA,EAAM/D,4BAAN,eAA4BC,QAC/E4B,GAAwD,OAApCA,EAAiBC,UAAUC,OAChD,kBAACP,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAI,IACL,0BAAMxH,UAAU,eAAhB,iHAIZ,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uCACH,kBAAC,GAAD,CACIE,KAAK,MACLK,SAtb9B,SAAC6I,GACf0lB,GAAQ1lB,EAAMnB,OAAOrV,OAEgC,GAAjDwW,EAAMnB,OAAOrV,MAAM01B,WAAW,IAAK,IAAIvzB,SAG3C+H,EAAY,OAEZ4jB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GAClC,GAAsB,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,KAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,QAEd,CACD,GAAiB,MAAbi7B,IAAqBA,IAAaznC,EAAOI,KAAKq5B,WAG9C,OAFAiF,GAAQ,SACRh9B,EAAY,QAAD,gCAAgC+lC,IAAa,UAAW,MASvE,GALAj7B,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,IAEG,MAA1Bx3B,EAAOI,KAAKuV,YAAuD,GAAjC3V,EAAOI,KAAKuV,WAAWhR,OACzDi6B,IAAmB,QAInB,GAFAA,IAAmB,GAEqB,OAApCtvB,EAAiBC,UAAUC,OAAsD,OAApCF,EAAiBC,UAAUC,MAAgB,CACxF,IAAIy4B,EAAQjoC,EAAOI,KAAKuV,WAAWuiB,WAAW,IAAK,KAAO,IAAMl4B,EAAOI,KAAK0V,OAAOoiB,WAAW,IAAK,KAAOl4B,EAAOI,KAAKq5B,WAAWvB,WAAW,IAAK,KACjJ8P,GAAuBC,UAoZK1O,SAAUuO,GACVtlC,MAAOkT,GACP4jB,SAAUjtB,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eAExE9C,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,8CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,aACLypB,SAAUoF,GACV5a,UAAU,MACVrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eAExE9C,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,SACLypB,SAAUoF,GACV5a,UAAU,KACVrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eAExE9C,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,6CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,SACLS,KAAK,cACLiU,UAAU,KACVrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,aACrEuU,OAAQ,SAACvT,GAAD,OAtb7B,SAAC5N,GACxB,GAAwC,OAApC8M,EAAiBC,UAAUC,OAAsD,OAApCF,EAAiBC,UAAUC,MAAgB,CACxF,IAAIpP,EAAOuM,IACPs7B,EAAQ7nC,EAAKuV,WAAWuiB,WAAW,IAAK,KAAO,IAAM11B,EAAQ,IAAMpC,EAAK0V,OAAOoiB,WAAW,IAAK,KAAO93B,EAAK2V,OAAOmiB,WAAW,IAAK,KACtI8P,GAAuBC,IAkbgCqB,CAAmBl5B,EAAEyH,OAAOrV,UAE9C8J,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,cACLiU,UAAU,KACVrT,SAAUrE,EAAS,CAAEkE,WAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,YAAiCE,GAAwD,OAApCA,EAAiBC,UAAUC,aAIjK,kBAACE,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,SACL4c,SAAS,WACT3I,UAAU,KACVrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eAExE9C,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,sCACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,KACL4c,SAAS,WACThc,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eAExE9C,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,4BAGrBmH,IAAyD,OAApCA,EAAiBC,UAAUC,OAAsD,OAApCF,EAAiBC,UAAUC,QAC1F,kBAACE,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACT,GAAA,EAAD,CACIrH,MAAM,OACNM,UAAU,aACVkH,KAAK,SACLF,QAAS,kBAAM23B,GAAc,KAAO,uBAAG3+B,UAAU,+BAK9Dw/B,IAA+B,OAAhB,OAAPjqC,QAAO,IAAPA,OAAA,EAAAA,EAASyL,aAChB,kBAAC8F,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,oCACI,2BAAG,0CADP,IACiC,+BAAQg4B,OAKrD,yBAAKx/B,UAAU,0DAC4B,QAAtB,OAAhBmH,QAAgB,IAAhBA,GAAA,UAAAA,EAAkBC,iBAAlB,eAA6BC,QAC1B,kBAACN,GAAA,EAAD,CACIrH,MAAM,UACNM,UAAU,aACVgH,QAAS,WAhPjD/N,EAAQ,mCACHP,MAAK,SAAAb,GAAM,OAAIwnC,GAAuBxnC,EAAOI,SAC7CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA+OcwX,IAAkB,KAGtB,uBAAGtS,UAAU,oBARjB,cAWJ,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,UACNM,UAAU,aACVkH,KAAK,UACL,uBAAGlH,UAAU,eAAb,KAJJ,oBASZ,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,MAAOiX,MAAO,OACvB,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,cAAeiX,MAAO,eAC/B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,KAAMiX,MAAO,OAE1BxY,KAAMsmC,EACN5tB,WAAW,EACX5S,QAASA,GACTkT,aAAc9T,GACduK,QAASpI,MAGjB,kBAACiI,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YACVsH,QAAS,kBAAMyqB,EAAmB/sB,IAClC1E,UAAU,aACVkH,KAAK,UACL,uBAAGlH,UAAU,wBAJjB,WAQJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,UACNsH,QA9Md,WACsB,OAApCG,EAAiBC,UAAUC,OAA6B,MAAX2sB,KAIjC,MAAXz+B,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAAuD,GAAxBs3B,EAAc/hC,QAAoD,OAApC2K,EAAiBC,UAAUC,OAAsD,OAApCF,EAAiBC,UAAUC,MAKjLgmB,EAAkB3oB,GAJdnL,EAAY,QAAS,kEAA0D,QAAS,MAJxFA,EAAY,QAAS,6DAAwD,UAAW,OA6M5DyG,UAAU,aACVkH,KAAK,UAJT,qBAIiC,uBAAGlH,UAAU,gCAUtE,kBAAC+L,GAAA,EAAD,CACI6H,UAAQ,EACR5H,OAAQqG,GACRpG,OAAQwG,GACRvG,KAAM,KACN4H,MAAOktB,GACP9gC,MAAO,CAAEyD,UAAW,SAEpB,kBAACwI,GAAA,EAAD,CAAWnM,UAAU,QACjB,kBAACoa,GAAA,EAAD,CACInO,OAAQwG,GACRqB,MAAOktB,GACPhhC,UAAU,oCACVE,MAAO,CAAE2T,aAAc,SAJ3B,aAQA,kBAAC/M,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,8CACH,kBAAC,KAAD,CACIC,QAAS03B,GAAmB3+B,KAAI,SAAApG,GAAW,MAAO,CAAEA,MAAOA,EAAMyN,UAAWpH,MAAOrG,EAAMyN,cACzFH,KAAK,oBACLtN,MAAO+kC,GAAmB3+B,KAAI,SAAApG,GAAW,MAAO,CAAEA,MAAOA,EAAMyN,UAAWpH,MAAOrG,EAAMyN,cAAeI,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,SAAJ,OAAc4kC,SAAd,IAAcA,QAAd,EAAcA,GAAeH,qBAC/I92B,SAAU,SAAC3N,GACP6kC,GAAkB,6BACXD,IADU,mBAEZ,mBAAqB5kC,EAAMA,UAGpCuD,YAAY,gBAIxB,kBAAC2J,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACC,GAAA,EAAD,KACI,2BAAG,mDACH,kBAAC,KAAD,CACIC,QAASo5B,GACTn5B,KAAK,qBACLK,SAAU,SAACC,IArRf,SAACgI,GACzB,MAAwB6wB,GAAwBt2B,QAAO,SAAA42B,GAAC,OAAIA,EAAEnxB,MAAQA,KAA/DoxB,EAAP,oBAEKA,EAKCA,IACFlC,IAAgC,GAChCD,GAAkB,6BACXD,IADU,IAEbF,mBAAoBsC,EAAcpxB,KAClC+uB,0BAA2BqC,EAAcl0B,gBAT7C5T,EAAY,QAAS,wCAAyC,UAAW,MAiR9B+nC,CAAoBr5B,EAAEgI,OACzC5V,MAAOymC,GAAwB54B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,SAAJ,OAAc4kC,SAAd,IAAcA,QAAd,EAAcA,GAAeD,8BACxEphC,YAAY,gBAIxB,kBAAC2J,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,gEAClB,2BAAG,oDACH,kBAACyH,GAAA,EAAD,KACI,kBAACid,GAAD,CACIvjB,OAAO,OACPI,MAAM,OACNgc,MAAK,OAAE0hB,SAAF,IAAEA,QAAF,EAAEA,GAAelrB,gBACtBpM,KAAM,kBACN6d,WAAY,SAACT,GAAD,OAAUma,GAAkB,6BAAKD,IAAN,mBAAsB,kBAAoB,CAAExZ,OAAQV,EAAKU,gBAI5G,kBAACle,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,gEACnB,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,UACNM,UAAW,cACXgH,QAjVE,WAAO,IAAD,IACe,IAA9B,OAAbi4B,SAAa,IAAbA,IAAA,UAAAA,GAAeH,wBAAf,eAAiCtiC,QAKW,4BAA/B,OAAbyiC,SAAa,IAAbA,QAAA,EAAAA,GAAeD,2BAKmB,OAArB,OAAbC,SAAa,IAAbA,QAAA,EAAAA,GAAelrB,kBAAqE,IAA7B,OAAbkrB,SAAa,IAAbA,IAAA,UAAAA,GAAelrB,uBAAf,eAAgCvX,QAK1E+V,GAAkB/V,OAAS,GAAK+V,GAAkB/H,QAAO,SAAA4H,GAAC,OAAIA,EAAE0sB,mBAAF,OAAsBG,SAAtB,IAAsBA,QAAtB,EAAsBA,GAAeH,qBAAkBtiC,OAAS,EAC9HjD,EAAY,QAAS,mEAAiE,QAAS,OAI/F0lC,GAAc7J,UACd5iB,GAAsBD,GAAkB9R,KAAI,SAACpG,EAAO+B,GAChD,GAAIA,GAAS6iC,GAAc7J,UAAUxoB,GAAI,CACIqyB,GAAjC7J,UACR,OADA,aAAyC6J,GAAzC,IAGA,OAAO5kC,MAIfmY,GAAsB,GAAD,oBAAKD,IAAL,CAAwB0sB,MAGjDC,GAxeG,CACHJ,iBAAkB,GAClBC,mBAAoB,GACpBC,0BAA2B,0BAC3BjrB,gBAAiB,OAqejBorB,IAAgC,IAvB5B5lC,EAAY,QAAS,4CAA6C,QAAS,MAL3EA,EAAY,QAAS,uCAAwC,QAAS,MALtEA,EAAY,QAAS,oCAAqC,QAAS,QA4UnD,cAQJ,kBAACgO,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,OAAQ7O,OAAQ,GAC/ClI,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,aAAciX,MAAO,oBAC9B,CAAEjX,MAAO,OAAQiX,MAAO,sBACxB,CAAEjX,MAAO,kBAAgBiX,MAAO,8BAEpCxY,KAAMsa,GACN5B,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,SACNkX,QAAS,mBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAxWX,SAACA,GAC/B0B,GAAsBD,GAAkB/H,QAAO,SAAC4H,EAAGhW,GAAJ,OAAcgW,EAAE0sB,kBAAoBhuB,EAAQguB,kBAAoB1iC,GAAS0U,EAAQskB,UAAUxoB,OAuW7E20B,CAA0BzwB,MAE/DG,aAAc9T,GACduK,QAASpI,SAQ7B,kBAACyM,GAAA,EAAD,CACI6H,UAAQ,EACR5H,OAAQ0yB,EACRzyB,OAAQw0B,GACR/+B,OAAO,WAEP,kBAACyK,GAAA,EAAD,CAAWnM,UAAU,SACjB,wDACA,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,yBAAKoF,GAAG,OACJ,kBAACoJ,GAAA,EAAD,CAAc9V,MAAO,CAAEwB,OAAQ,MAC3B,kBAAC2R,GAAD,CAAWC,OAAQV,GAAWW,KAAM,KACpC,kBAAC0C,GAAA,EAAD,CACIC,IAAI,qDACJC,YAAY,yEACZC,QAAS,KAEb,kBAACC,GAAA,EAAD,CACIC,SAAUxD,GACVyD,WAAW,EACX7c,KAAMsZ,GACN7K,IAAKg4B,GACLqB,cAAepB,UAOvC,kBAAC5zB,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,YACN8W,SAAO,EACPxP,QAASy5B,IAHb,gBCn2BL,SAASgB,GAAT,GAA0H,IAAD,EAAvFp4B,EAAuF,EAAvFA,KAAM8jB,EAAiF,EAAjFA,aAAcgM,EAAmE,EAAnEA,MAA0B9L,GAAyC,EAA5DD,kBAA4D,EAAzCC,mBAAmBoE,EAAsB,EAAtBA,mBAC9G,EAA8Bh3B,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAmCkJ,YAAQ,CAAEC,KAAM,WAA3CC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAElB,EAA2CvJ,oBAAS,GAApD,mBAAOyyB,EAAP,KAEA,GAFA,KAEiCzyB,mBAAS,OAA1C,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAA2B9J,mBAAS,IAApC,mBAAO6mC,EAAP,KAAcC,EAAd,KAEA,EAAiE9mC,mBAAS,IAA1E,mBAAiC+mC,GAAjC,WA+CA5lC,qBAAU,WAAO,IAAD,EACmB,QAAtB,OAALm9B,QAAK,IAALA,GAAA,UAAAA,EAAO/xB,iBAAP,eAAkBC,QAPtBpO,EAAQ,wBACHP,MAAK,SAAAb,GAAM,OAAI+pC,EAA6B/pC,EAAOI,SACnDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAzC9B6J,EAAa0E,GACbpQ,EAAQ,gCACHP,MAAK,SAAAb,GACF,IAAIgqC,EAAS,GAETA,EADA1I,GAAkC,OAAzBA,EAAM/xB,UAAUC,MAChBxP,EAAOI,KAAKuS,QAAO,SAAA4H,GAAC,MAAe,OAAXA,EAAE/K,SAE1BxP,EAAOI,KAAKuS,QAAO,SAAA4H,GAAC,MAAe,OAAXA,EAAE/K,SAEnB,aAAhB8lB,EACY,MAAR9jB,GAAgBA,EAAK8K,iBAAiB3X,OAAS,GAAK6M,EAAK8K,iBAAiB,GAAGsW,wCAC7EoX,EAAOphC,KAAI,SAAA4K,GACP,GAAIhC,EAAK8K,iBAAiB,GAAGsW,uCAAuCjgB,QAAO,SAAAC,GAAC,OAAIA,EAAEq3B,iCAAmCz2B,EAAEy2B,mCAAiCtlC,OAAS,EAAG,CAChK,IAAIulC,EAA0C14B,EAAK8K,iBAAiB,GAAGsW,uCAAuCjgB,QAAO,SAAAC,GAAC,OAAIA,EAAEq3B,iCAAmCz2B,EAAEy2B,mCAAiC,GAClMz2B,EAAE22B,yCAA2CD,EAA0CA,EAAwCC,yCAA2C,EAC1K32B,EAAE42B,WAAaF,EAA0CA,EAAwCrsB,mBAAqB,OAK7G,gBAAhByX,GACO,MAAR9jB,GAAgBA,EAAKiM,0CACrBusB,EAAOphC,KAAI,SAAA4K,GACP,GAAIhC,EAAKiM,yCAAyC9K,QAAO,SAAAC,GAAC,OAAIA,EAAEq3B,iCAAmCz2B,EAAEy2B,mCAAiCtlC,OAAS,EAAG,CAC9I,IAAI0lC,EAA4C74B,EAAKiM,yCAAyC9K,QAAO,SAAAC,GAAC,OAAIA,EAAEq3B,iCAAmCz2B,EAAEy2B,mCAAiC,GAClLz2B,EAAE82B,4CAA8CD,EAA4CA,EAA0CC,4CAA8C,EACpL92B,EAAE42B,WAAaC,EAA4CA,EAA0CxsB,mBAAqB,OAK1IisB,EAAUE,MAEblpC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAe/B,IAEH,IA4BMk1B,EAAuB,WACzB,IAAIvqB,EAAc,GAWlB,OAVAi8B,EAAMjhC,KAAI,SAAA4K,GACN5F,EAAY6F,KAAK,CACb02B,yCAA0C32B,EAAE22B,yCAA2C32B,EAAE22B,yCAA2C,EACpIlE,oBAAqBz0B,EAAK8K,iBAAiB,GAAG2pB,oBAC9CgE,gCAAiCz2B,EAAEy2B,gCACnCpsB,mBAAoBrK,EAAE42B,WAAa52B,EAAE42B,WAAa,EAClD9R,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,UAI3GyE,GAEL6pB,EAA0B,WAC5B,IAAI7pB,EAAc,GAWlB,OAVAi8B,EAAMjhC,KAAI,SAAA4K,GACN5F,EAAY6F,KAAK,CACb62B,4CAA6C92B,EAAE82B,4CAA8C92B,EAAE82B,4CAA8C,EAC7Ix8B,gBAAiB0D,EAAK1D,gBACtBm8B,gCAAiCz2B,EAAEy2B,gCACnCpsB,mBAAoBrK,EAAE42B,WAAa52B,EAAE42B,WAAa,EAClD9R,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,UAI3GyE,GAGL28B,EAAiC,SAACvqC,GACpCiD,GAAW,GACX,IAAIi6B,EAAYrwB,EACI,aAAhByoB,EACA4H,EAAU5gB,iBAAiB,GAAGsW,uCAAyC5yB,EAAOI,KAE9E88B,EAAUzf,yCAA2Czd,EAAOI,KAEhEo1B,EAAkB0H,IAGtB,EAA0Cl6B,mBAAS,CAC/CwnC,OAAQ,GACRhhC,QAAQ,IAFZ,mBAAOihC,EAAP,KAAsBC,EAAtB,KAWA,OACI,oCACI,6BACI,kBAACvuB,EAAA,EAAD,CAAMhU,UAAS,cACX,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,kBAACC,GAAA,EAAD,CAAMiI,SAAUne,GA1EvB,SAACnM,GAEd,GADA6C,GAAW,GACS,aAAhBqyB,EACIG,EL7E0C,SAACoD,EAAMp1B,GAC7DvC,EAAS,8DAA+D23B,GACnEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SK4EjDwqC,CADWxS,IACsCoS,GAGjD/U,EAAkB3oB,QAGrB,GAAoB,gBAAhByoB,EAAgC,ELrBY,SAACuD,EAAMp1B,GAChEvC,EAAS,oEAAqE23B,GACzEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SKoBrDyqC,CADWnT,IACyC8S,QA8DhC,wBAAIpiC,UAAU,sBAAd,wCACA,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,0CAEJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAI,KACL,8CAEJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,yCAGJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,oDAEJ,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,8CAAuC,QAAnB,UAAAi5B,EAAM,UAAN,eAAUr6B,OAAiB,WAAa,iBAEhE,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KACJ,mCAIPi5B,EAAMjhC,KAAI,SAAC4K,EAAGzK,GAAJ,OACP,kBAACkG,GAAA,EAAD,CAAKlG,IAAKA,EAAKV,MAAO,CAAE2T,aAAc,iBAAkBhH,WAAY,OAAQ0tB,cAAe,QAAUv6B,UAAU,sBAE3G,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCAAQ4C,QAAR,IAAQA,OAAR,EAAQA,EAAGmK,QAGf,kBAACjO,GAAA,EAAD,CAAKkB,GAAI,KACL,+BAAQ4C,EAAEoK,SAGd,kBAAClO,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCAAQ4C,QAAR,IAAQA,OAAR,EAAQA,EAAGxG,OAGf,kBAAC0C,GAAA,EAAD,CAAKkB,GAAG,KACJ,+BAAQ4C,EAAEvD,YAEd,kBAACP,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAACH,GAAA,EAAD,CACIpB,KAAK,SACLod,aAAcjZ,EAAE42B,WAChB15B,SAAUrE,EAAS,CAAEkE,UAAU,IAC/BwT,UAAU,MACV2I,UAAU+I,GAAwB,WAClC9R,OAAQ,SAACvT,GAAD,OAtIvB,SAACy6B,EAAkCroC,GAC5D,IAAIwnC,EAAS,GACbH,EAAMjhC,KAAI,SAAA4K,GACFA,EAAEy2B,iCAAmCY,IACrCr3B,EAAE42B,WAAa5nC,GAEnBwnC,EAAOv2B,KAAKD,MAEhBs2B,EAAUE,GA8H6Cc,CAAqBt3B,EAAEy2B,gCAAiC75B,EAAEyH,OAAOrV,WAGvFgR,EAAEu3B,+BACC,kBAACr7B,GAAA,EAAD,CAAKkB,GAAG,KACJ,yBAAKzI,UAAU,+CACX,0BAAM4M,GAAI,WAAahM,EAAKZ,UAAU,6DAA6DE,MAAO,CAAEsB,aAAc,OAAQD,MAAO,OAAQJ,OAAQ,OAAQa,OAAQ,iBAAkBL,SAAU,OAAQlC,WAAY,OAAQC,MAAO,SAAxO,OAIX2L,EAAEu3B,+BACC,kBAACjN,GAAA,EAAD,CACI3pB,OAAQs2B,EAAcD,QAAUzhC,GAAO0hC,EAAcjhC,OACrD4vB,UAAU,MACVvhB,OAAQ,WAAa9O,EACrBqL,OAAQ,kBA7EzB,SAAC,GAAa,IAAXrL,EAAU,EAAVA,IAC1B2hC,EAAiB,CACbF,OAAQzhC,EACRS,QAASihC,EAAcjhC,SA0E2BwhC,CAAmB,CAAEjiC,IAAKA,MAEvCyK,EAAEu3B,mCAMnB,kBAAC97B,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,qBAA4E,uBAAGlH,UAAU,kCC9NlH,SAAS8iC,GAAT,GAAqG,IAAjFz5B,EAAgF,EAAhFA,KAAM8jB,EAA0E,EAA1EA,aAAcC,EAA4D,EAA5DA,kBAAmBC,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBACzF,EAAgCh3B,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAAmFkJ,YAAQ,CAAEC,KAAM,WAA3FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,GAFA,EAAyEE,MAExC1O,IAAM8E,SAAS,OAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAAiC5O,IAAM8E,SAAS,IAAhD,mBAAOkoC,EAAP,KAAiBC,EAAjB,KA4BAhnC,qBAAU,WACc,aAAhBmxB,GA1BJxoB,EAAa0E,GACbulB,EAA0BvlB,EAAKigB,iCAAiCniB,iBAAiB0nB,cACrE,MAARxlB,GAA2E,MAA3DA,EAAK8K,iBAAiB,GAAG0W,gCACzCmY,EAAa35B,EAAK8K,iBAAiB,GAAG0W,iCAyBjB,gBAAhBsC,GAtBgB,WAOzB,GANAxoB,EAAa0E,GACbulB,EAA0BvlB,EAAK/D,qBAAqB6B,iBAAiB0nB,cACzD,MAARxlB,GAAgF,MAAhEA,EAAK6K,oBAAoB,GAAG4B,kCAC5CktB,EAAa35B,EAAK6K,oBAAoB,GAAG4B,kCAGzB,gBAAhBqX,EAAgC,CAChC,IAAIiF,EAAUr0B,EACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,iBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,EAAYC,IAQZJ,KACL,IAGH,MAA+Bn3B,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,EAAWxhB,OAJhD,mBAAO/S,EAAP,KAAgBo0B,EAAhB,KAQA,EAA2Cp8B,IAAM8E,SAAS,MAA1D,mBAAOkb,EAAP,KAAsBktB,EAAtB,KACA,EAA2DpoC,mBAAS,IAApE,mBAAO6zB,EAAP,KAA8BC,EAA9B,KACMC,EAA4B,SAACC,GAC/B51B,EAAQ,0CAAD,OAA2C41B,IAC7Cn2B,MAAK,SAAAb,GAAM,OAAI82B,EAA0B92B,EAAOI,SAChDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OASlC,EAA+B/E,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACM3B,EAAa,SAACxhB,GAChBmjB,EAAYnjB,GACZmyB,EAAkBnyB,GAClBzM,EAAS,gBAAiByM,EAAQie,kBAAkB,GACpD1qB,EAAS,qBAAsByM,EAAQ4E,qBAGrC2c,GAAe,SAACvhB,GACbsc,GAAqC,aAAhBD,EAK1BpzB,EAAa,gBAAW,8BAA+B,YAAY,SAAUlC,GACrEA,IACAiD,GAAW,GACX/B,EAAS,mEAAqE+X,EAAQoyB,qCACjFxqC,MAAK,SAAAb,GAAY0B,EAAY,QAAS,+BAAgC,WAAW,WAAc46B,GAAmBrjB,EAAQusB,8BAC1H1kC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAVlCvB,EAAY,QAAS,mDAA2C,QAAS,OAc3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GAEX7B,EAAQ,4DAA8Dm7B,GACjE17B,MAAK,SAAAb,GAAM,OAAImrC,EAAanrC,EAAOI,SACnCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAmB5Bk1B,GAAuB,SAAC/3B,GAQ1B,MAPkB,CACdkrC,iCAA6C,MAAXnP,EAAkB,EAAIA,EAAQmP,iCAChErF,oBAAqBz0B,EAAK8K,iBAAiB,GAAG2pB,oBAC9C/O,iBAAkBhZ,EAAcgZ,iBAChCrZ,mBAAoBzd,EAAKyd,mBACzBya,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5GsuB,GAA0B,SAACr3B,GAO7B,MANkB,CACdirC,oCAAgD,MAAXlP,EAAkB,EAAIA,EAAQkP,oCACnE7F,uBAAwBh0B,EAAK6K,oBAAoB,GAAGmpB,uBACpDtO,iBAAkBhZ,EAAcgZ,iBAChCrZ,mBAAoBzd,EAAKyd,qBAI3B0tB,GAAsB,SAACvrC,GACzBiD,GAAW,GACX,IAAIuoC,EAAUxrC,EAAOI,KACrBorC,EAAQttB,cAAgB2Y,EAAsBlkB,QAAO,SAAA4H,GAAC,OAAIA,EAAE2c,kBAAoBl3B,EAAOI,KAAK82B,oBAAkB,GAE9G,IAAIkG,EAAW,GAEXF,EAAYrwB,EACI,aAAhByoB,GACA4V,EAAStiC,KAAI,SAAA4K,GACLA,EAAE83B,kCAAoCE,EAAQF,kCAC9ClO,EAAS3pB,KAAKD,MAGtB0pB,EAAU5gB,iBAAiB,GAAG0W,+BAAiCoK,GAE1C,gBAAhB9H,IACL4V,EAAStiC,KAAI,SAAA4K,GACLA,EAAE63B,qCAAuCG,EAAQH,qCACjDjO,EAAS3pB,KAAKD,MAGtB0pB,EAAU7gB,oBAAoB,GAAG4B,iCAAmCmf,GAGxEA,EAAS3pB,KAAK+3B,GACdL,EAAa/N,GACbtwB,EAAaowB,GAEbkO,EAAkB,MAClB5+B,EAAS,gBAAiB,IAAI,GAC9BA,EAAS,qBAAsB,IAC/B4vB,EAAY,MAEZ16B,EAAY,QAAS,uCAAkC,UAAW,OAWtE,OACI,oCACI,6BACI,kBAACya,EAAA,EAAD,CAAMhU,UAAS,cACX,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,gCACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GAxF3B,SAACnM,GACd,GAAe,MAAX+7B,GAAmB+O,EAASv4B,QAAO,SAAAC,GAAC,OAAIA,EAAEskB,kBAAoBhZ,EAAcgZ,oBAAkBvyB,OAAS,EACvGjD,EAAY,QAAS,mDAA8C,QAAS,WAKhF,GADAuB,GAAW,GACPsyB,GAAqC,aAAhBD,GN7EiB,SAACuD,EAAMp1B,GACR,GAAzCo1B,EAAKyS,iCACLpqC,EAAS,qDAAsD23B,GAAMh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Fc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,oDAAqD03B,GACxDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SMuEzDsrC,CADWtT,GAAqB/3B,GACSmrC,SAExC,GAAoB,gBAAhBjW,EAAgC,ENjBI,SAACuD,EAAMp1B,GACR,GAA5Co1B,EAAKwS,oCACLnqC,EAAS,4DAA6D23B,GACjEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,0DAA2D03B,GAC9Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SMUzDurC,CADWjU,GAAwBr3B,GACSmrC,SA4EpB,kBAACt8B,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,wDAAH,KACA,kBAAC,KAAD,CACIC,QAASgnB,EACT9mB,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAOknB,kBACjCpnB,KAAK,gBACLK,SAAU,SAACC,GAzI9B,IAAC5N,EAC1B4oC,EAD0B5oC,EAyI0D4N,GAvIpF5D,EAAS,gBAAiBhK,GAAO,GACjCkK,EAAY,kBAuIgClK,MAAO0b,GAAiB2Y,EAAsBxmB,MAAK,SAAAuC,GAAC,OAAIA,EAAEskB,mBAAqBhZ,EAAcgZ,oBAC7FnxB,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAU,OAGnBjE,EAAO4R,eAAiB,0BAAM/V,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,2DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,qBAAqBiU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC5FjE,EAAOuR,oBAAsB,0BAAM1V,UAAU,kCAAhB,4BAGtC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,eAC3B,kBAACyH,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,KAA+D,uBAAGlH,UAAU,gBAA5E,gBAMpB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,SAAUiX,MAAO,2BAC1B,CAAEjX,MAAO,oBAAqBiX,MAAO,uBAEzCxY,KAAM8qC,EACNpyB,WAAW,EACX5S,QAASA,EACTkT,aAAc9T,GACduK,QAASpI,MAGjB,kBAACiI,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAvElC,YACF,MAAXzR,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAAkD,GAAnB87B,EAASvmC,OAChFjD,EAAY,QAAS,wEAA6D,QAAS,MAG/F8zB,EAAkB3oB,IAkE0D1E,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,iCC/OtI,SAASwjC,GAAT,GAAwD,IAAvBn6B,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aAC7CjJ,EAAcL,IAAdK,WAEP,EAAmCD,mBAASwO,GAA5C,mBAAO2D,EAAP,KAAkB8b,EAAlB,KAGA,EAA0BjuB,mBAAS,IAAnC,mBAAOgF,EAAP,KAAc4jC,EAAd,KAEA,EAA2B5oC,mBAAS,MAApC,mBAAOs+B,EAAP,KAAcwB,EAAd,KAEA,EAAyB9/B,mBAAS,GAAlC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAACwN,GACb,GAARnF,EACFn8B,EAAY,QAAS,wCAAmC,WAAW,WACjEwK,QAGF+kB,EAAc+R,GACdD,EAASlF,EAAO,KAGdjE,EAAqB,SAACoJ,GAC1B/R,EAAc+R,GACdD,EAASlF,EAAO,IAGlB,EAAmD76B,oBAAS,GAA5D,mBAAOuyB,EAAP,KAA0B0N,EAA1B,KAkCA,OAlBA9+B,qBAAU,WACJqN,GAAkF,OAA1EA,EAAKigB,iCAAiCniB,iBAAiBC,UAAUC,MAC3Eo8B,EAAS,CAAC,sBAAiB,mBAAoB,cAAY,uBAE3DA,EAAS,CAAC,sBAAiB,mBAAoB,oCAA+B,uBAEhF9I,EAAU,CACRxN,aAAc,YACd7lB,SAAU,iBACVF,UAAWiC,EAAKigB,iCAAiCniB,iBAAiBC,YAGpE0hB,EAAczf,GAEVA,IA5BJvO,GAAW,GAEX7B,EAAQ,sCAAwC+T,EAAUzB,cACvD7S,MAAK,SAAAb,GACJijC,EAAsBjjC,EAAOI,KAAK8iC,SAC7BljC,EAAOI,KAAK8iC,SACfxhC,EAAY,QAAS,oDAA6C1B,EAAOI,KAAK+iC,SAAU,UAAW,SAGtGriC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,SAoB3B,IAGD,oCACY,MAATq+B,GACC,yBAAKn5B,UAAU,WACb,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACnB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAG9B,GAAR61B,GACC,kBAAC,GAAD,CACErsB,KAAM2D,EACNmsB,MAAOA,EACP/L,kBAAmBA,EACnBC,kBAAmBA,EACnBtpB,aAAcA,IAIT,GAAR2xB,GACC,kBAAC4I,GAAD,CACEj1B,KAAM2D,EACNmgB,aAAa,YACbC,kBAAmBA,EACnBC,kBAAmBA,EACnBoE,mBAAoBA,IAIwD,OAA/EzkB,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAA0B,GAARquB,GACvF,kBAACoN,GAAD,CACEz5B,KAAM2D,EACNmgB,aAAa,YACbC,kBAAmBA,EACnBC,kBAAmBA,EACnBoE,mBAAoBA,IAIwD,OAA/EzkB,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAA0B,GAARquB,GACvF,kBAAC+L,GAAD,CACEp4B,KAAM2D,EACNmsB,MAAOA,EACPhM,aAAa,YACbC,kBAAmBA,EACnBC,kBAAmBA,EACnBoE,mBAAoBA,IAIf,GAARiE,GACC,kBAACwD,GAAD,CACE7vB,KAAM2D,EACNmsB,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,MC9GnB,SAASiS,GAAT,GAA8G,IAAjFr6B,EAAgF,EAAhFA,KAAM8jB,EAA0E,EAA1EA,aAAcC,EAA4D,EAA5DA,kBAAmBC,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBAClG,EAAgCh3B,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAA8FkJ,YAAQ,CAAEC,KAAM,WAAtGC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAAoBC,GAAhF,EAAyEC,MAAzE,EAAgFD,WAEhF,EAA2CzO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAEA,GAFA,KAEiCv3B,IAAM8E,SAAS,OAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAAqD5O,IAAM8E,SAAS,IAApE,mBAAO8oC,EAAP,KAA2BC,EAA3B,KAEA,EAAmC7tC,IAAM8E,UAAS,GAAlD,mBAAO6jC,EAAP,KAAkBC,EAAlB,KACA,EAA2D9jC,oBAAS,GAApE,mBAAO+jC,EAAP,KAA8BC,EAA9B,KAEA7iC,qBAAU,WACc,aAAhBmxB,EACA4E,IACqB,gBAAhB5E,GACL6E,MACL,IACH,IAAMD,EAAoB,WACtBptB,EAAa0E,GACD,MAARA,GAA8E,MAA9DA,EAAK8K,iBAAiB,GAAGuW,mCACzCkZ,EAAuBv6B,EAAK8K,iBAAiB,GAAGuW,oCAGlDsH,EAAuB,WAMzB,GALArtB,EAAa0E,GACD,MAARA,GAA4D,MAA5CA,EAAKsM,qCACrBiuB,EAAuBv6B,EAAKsM,qCAGZ,gBAAhBwX,EAAgC,CAChC,IAAIiF,EAAUr0B,EACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,gBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,GAAYC,KAKpB,EAA+Bv3B,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,GAAWxhB,OAJhD,mBAAO/S,EAAP,KAAgBo0B,GAAhB,KAQM0R,GAAoB,CACtB,CAAEnjC,MAAO,oCAAqCrG,MAAO,qCACrD,CAAEqG,MAAO,iBAAkBrG,MAAO,mBAEtC,GAAqCQ,mBAAS,IAA9C,qBAAOipC,GAAP,MAAmBC,GAAnB,MAQA,GAAuBhuC,IAAM8E,SAAS,IAAtC,qBAAO0S,GAAP,MAAYgpB,GAAZ,MACA,GAA6C17B,oBAAS,GAAtD,qBAAO27B,GAAP,MAAuBC,GAAvB,MAwCMoJ,GAAyB,SAACC,GAC5BhlC,GAAW,GACX,IAAIob,EAAG,8FAA0F4pB,EAA1F,gDACP5mC,EAAgBgd,GAAKxd,MAAK,SAAAb,GAEtB,GADAiD,GAAW,GACW,MAAlBjD,EAAOE,OACPwB,EAAY,kEAA0D,uCAAkC,QAAS,WAGjH,IACIsZ,GAAa,CAAChb,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASupC,IAAKpoC,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASwpC,MACrGntB,GAAkB,CAAClb,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASupC,IAAKpoC,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASwpC,MAE9G,SACI3mC,EAAY,kEAA0D,uCAAkC,QAAS,UAIxHZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAIlC,GAAkCD,mBAAS,CAAC,EAAG,IAA/C,qBAAO+X,GAAP,MAAkBC,GAAlB,MACA,GAA4ChY,mBAAS,CAAC,EAAG,IAAzD,qBAAOiY,GAAP,MAAuBC,GAAvB,MACMC,GAAa,IAAIC,KAAEC,KAAK,CAC1BC,QAAS,mGACTC,cAAe,qGAEb+sB,GAAY10B,iBAAO,MACnB20B,GAAuBC,mBACzB,iBAAO,CACHC,QADG,WAEC,IAAMC,EAASJ,GAAUt0B,QACzB,GAAc,MAAV00B,EAAgB,CAChB,IAAIjqB,EAAWiqB,EAAOC,YACtBztB,GAAkB,CAACuD,EAAS2pB,IAAK3pB,EAAS4pB,WAItD,IAEE7sB,GAAY,SAAC,GAAsB,IAApBC,EAAmB,EAAnBA,OAAQC,EAAW,EAAXA,KAGzB,OAFoBC,eACRC,QAAQH,EAAQC,GACrB,MAELktB,GAAmB,WACrB9B,GAAc,GACdE,GAA0B,IAG9B,GAA+B9oC,IAAM8E,SAAS,MAA9C,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACM3B,GAAa,SAACxhB,GAChB+tB,GAA0B,GAC1B5K,GAAYnjB,GACZylB,GAAQzlB,EAAQvD,KAChBlJ,EAAS,MAAOyM,EAAQvD,KACxBlJ,EAAS,aAAcyM,EAAQtD,YAC/BnJ,EAAS,cAAeyM,EAAQrD,aAChCpJ,EAAS,cAAeyM,EAAQpD,aAChCrJ,EAAS,SAAUyM,EAAQnD,QAC3BtJ,EAAS,SAAUyM,EAAQlD,QAC3BvJ,EAAS,KAAMyM,EAAQue,IACvB0U,GAAejzB,EAAQgzB,YACvBz/B,EAAS,aAAcyM,EAAQgzB,YAAY,GAEvChzB,EAAQ6C,gBAAkB7C,EAAQ6C,eAAe/c,MAAM,KAAK4F,OAAS,IACrEqW,GAAa,CAAC/B,EAAQ6C,eAAe/c,MAAM,KAAK,GAAIka,EAAQ6C,eAAe/c,MAAM,KAAK,KACtFmc,GAAkB,CAACjC,EAAQ6C,eAAe/c,MAAM,KAAK,GAAIka,EAAQ6C,eAAe/c,MAAM,KAAK,OAI7Fy7B,GAAe,SAACvhB,GACbsc,GAAqC,aAAhBD,EAK1BpzB,EAAa,gBAAW,6BAA8B,YAAY,SAAUlC,GACpEA,IACAiD,GAAW,GACX/B,EAAS,sEAAwE+X,EAAQkzB,wCACpFtrC,MAAK,SAAAb,GAAY0B,EAAY,QAAS,8BAA+B,WAAW,WAAc46B,GAAmBrjB,EAAQnL,uBACzHhN,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAVlCvB,EAAY,QAAS,mDAA2C,QAAS,OAc3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GAEX7B,EAAQ,+DAAiEm7B,GACpE17B,MAAK,SAAAb,GAAM,OAAI+rC,EAAuB/rC,EAAOI,SAC7CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAwB5Bk1B,GAAuB,SAAC/3B,GAgB1B,MAfkB,CACdgsC,oCAAgD,MAAXjQ,GAAkB,EAAIA,GAAQiQ,oCACnEnG,oBAAqBz0B,EAAK8K,iBAAiB,GAAG2pB,oBAC9CjO,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACTyU,WAAYA,GACZnwB,eAAgBb,GAAe,GAAK,IAAMA,GAAe,GACzD/a,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5GsuB,GAA0B,SAACr3B,GAgB7B,MAfkB,CACd+rC,uCAAmD,MAAXhQ,GAAkB,EAAIA,GAAQgQ,uCACtEr+B,gBAAiB0D,EAAK1D,gBACtBkqB,IAAK53B,EAAKsV,IACVC,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACTyU,WAAYA,GACZnwB,eAAgBb,GAAe,GAAK,IAAMA,GAAe,GACzD/a,OAAQ,QACRo4B,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,OAI5GkjC,GAA+B,SAACrsC,GAClCiD,GAAW,GACX+jC,GAA0B,GAC1BkF,GAAe,MAEf,IAAIlN,EAAQh/B,EAAOI,KAEfg9B,EAAW,GAEXF,EAAYrwB,EACI,aAAhByoB,GACAwW,EAAmBljC,KAAI,SAAA4K,GACfA,EAAE44B,qCAAuCpN,EAAMoN,qCAC/ChP,EAAS3pB,KAAKD,MAGtB0pB,EAAU5gB,iBAAiB,GAAGuW,kCAAoCuK,GAE7C,gBAAhB9H,IACLwW,EAAmBljC,KAAI,SAAA4K,GACfA,EAAE24B,wCAA0CnN,EAAMmN,wCAClD/O,EAAS3pB,KAAKD,MAGtB0pB,EAAUpf,oCAAsCsf,GAGpDA,EAAS3pB,KAAKurB,GACd+M,EAAuB3O,GACvBtwB,EAAaowB,GAEbwB,GAAQ,IACRlyB,EAAS,MAAO,IAChBA,EAAS,aAAc,IACvBA,EAAS,cAAe,IACxBA,EAAS,cAAe,IACxBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IAEf4vB,GAAY,MAEZ16B,EAAY,QAAS,uCAAkC,UAAW,OAWtE,OACI,oCACI,6BAEI,kBAACya,EAAA,EAAD,CAAMhU,UAAS,cACX,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,yBACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GAvH3B,SAACnM,GACd,GAAK2mC,GAKL,GAAe,MAAX5K,IAAmB2P,EAAmBn5B,QAAO,SAAAC,GAAC,OAAIA,EAAEolB,KAAO53B,EAAKsV,KAAO9C,EAAEgD,aAAexV,EAAKwV,eAAajR,OAAS,EACnHjD,EAAY,QAAS,0DAAqD,QAAS,WAKvF,GADAuB,GAAW,GACPsyB,GAAqC,aAAhBD,GR/MoB,SAACuD,EAAMp1B,GACR,GAA5Co1B,EAAKuT,oCACLlrC,EAAS,wDAAyD23B,GAC7Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,uDAAwD03B,GAC3Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SQwMzDmsC,CADWnU,GAAqB/3B,GACYisC,SAE3C,GAAoB,gBAAhB/W,EAAgC,ERnJO,SAACuD,EAAMp1B,GACR,GAA/Co1B,EAAKsT,uCACLjrC,EAAS,+DAAgE23B,GACpEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,6DAA8D03B,GACjEh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SQ4IzDosC,CADW9U,GAAwBr3B,GACYisC,UAhB/C3qC,EAAY,QAAS,sFAA2E,QAAS,UAsHjF,kBAACuN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uCACH,kBAAC,GAAD,CAAUE,KAAK,MAAMK,SArQ/C,SAAC6I,GACf0lB,GAAQ1lB,EAAMnB,OAAOrV,OAEgC,GAAjDwW,EAAMnB,OAAOrV,MAAM01B,WAAW,IAAK,IAAIvzB,SAG3C+H,EAAY,OAEZ4jB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GAClC,GAAsB,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,KAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,SAQf,GALAA,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,IAEG,MAA1Bx3B,EAAOI,KAAKuV,YAAuD,GAAjC3V,EAAOI,KAAKuV,WAAWhR,OACzDi6B,IAAmB,OAClB,CACDA,IAAmB,GAEnB,IAAIqJ,EAAQjoC,EAAOI,KAAKuV,WAAWuiB,WAAW,IAAK,KAAO,IAAMl4B,EAAOI,KAAK0V,OAAOoiB,WAAW,IAAK,KAAOl4B,EAAOI,KAAKq5B,WAAWvB,WAAW,IAAK,KACjJ8P,GAAuBC,SAyO+CzlC,MAAOkT,GAAK4jB,SAAUjtB,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eAC1H9C,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,8CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaypB,SAAUoF,GAAgB5a,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eACnJ9C,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAASypB,SAAUoF,GAAgB5a,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eAC9I9C,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,aAAgDuU,OAAQ,SAACvT,GAAD,OAzPrM,SAAC5N,GACxB,IAAIpC,EAAOuM,IACPs7B,EAAQ7nC,EAAKuV,WAAWuiB,WAAW,IAAK,KAAO,IAAM11B,EAAQ,IAAMpC,EAAK0V,OAAOoiB,WAAW,IAAK,KAAO93B,EAAK2V,OAAOmiB,WAAW,IAAK,KACtI8P,GAAuBC,GAsP4MqB,CAAmBl5B,EAAEyH,OAAOrV,UACtN8J,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,QAG5F,kBAACb,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAAS4c,SAAS,WAAW3I,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eACxI9C,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,sCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,KAAK4c,SAAS,WAAWhc,SAAUrE,EAAS,CAAEkE,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,eACrH9C,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACT,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,aAAakH,KAAK,SAASF,QAAS,kBAAM23B,GAAc,KAAO,uBAAG3+B,UAAU,4BAE/G,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,kDACH,kBAAC,KAAD,CACIC,QAASm8B,GACTj8B,eAAgB,SAAAC,GAAM,OAAIA,EAAOnH,OACjCqH,eAAgB,SAAAF,GAAM,OAAIA,EAAOxN,OACjCsN,KAAK,aACLK,SAAU,SAACC,GAtU5B,IAAC5N,IAsU0D4N,EAAE5N,MArUxF0pC,GAAe1pC,GACfgK,EAAS,aAAchK,GAAO,GAC9BkK,EAAY,eAoUgClK,MAAOypC,IAAcD,GAAkB37B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUypC,MACjElmC,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,cACR,CAAES,UAAU7S,GAAsB,MAAXA,GAAyC,gBAAtBA,EAAQ0R,cAEtD4V,YAAayQ,IAEhBnpB,EAAO2/B,YAAc,0BAAM9jC,UAAU,kCAAhB,4BAG7BstB,GACG,kBAAC/lB,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,eACnB,kBAACyH,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,KAA+D,uBAAGlH,UAAU,gBAA5E,sBAOxB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,MAAOiX,MAAO,OACvB,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,cAAeiX,MAAO,eAC/B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,KAAMiX,MAAO,OAE1BxY,KAAM0rC,EACNhzB,WAAW,EACX5S,QAASA,EACTkT,aAAc9T,GACduK,QAASpI,MAGjB,kBAACiI,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QA5HlC,YACF,MAAXzR,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA4D,GAA7B08B,EAAmBnnC,OAC1FjD,EAAY,QAAS,uEAA+D,QAAS,MAGjG8zB,EAAkB3oB,IAuH0D1E,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,gCAOzI,kBAAC+L,GAAA,EAAD,CAAO6H,UAAQ,EAAC5H,OAAQ0yB,EAAWzyB,OAAQw0B,GAAkB/+B,OAAO,WAChE,kBAACyK,GAAA,EAAD,CAAWnM,UAAU,SACjB,wDACA,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,yBAAKoF,GAAG,OACJ,kBAACoJ,GAAA,EAAD,CAAc9V,MAAO,CAAEwB,OAAQ,MAC3B,kBAAC2R,GAAD,CAAWC,OAAQV,GAAWW,KAAM,KACpC,kBAAC0C,GAAA,EAAD,CACIC,IAAI,qDACJC,YAAY,yEACZC,QAAS,KAEb,kBAACC,GAAA,EAAD,CAAQC,SAAUxD,GAAgByD,WAAW,EAAM7c,KAAMsZ,GAAY7K,IAAKg4B,GAAWqB,cAAepB,UAMxH,kBAAC5zB,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAY8W,SAAO,EAACxP,QAASy5B,IAA3C,gBCtdL,SAAS4D,GAAT,GAAqG,IAAjEh7B,EAAgE,EAAhEA,KAAMtF,EAA0D,EAA1DA,aAAcoD,EAA4C,EAA5CA,iBAA4C,IAA1B8zB,sBAA0B,SAEjH,EAAmCllC,IAAM8E,SAASwO,GAAlD,mBAAO2D,EAAP,KAAkB8b,EAAlB,KAGA,EAAyB/yB,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KAEA,EAA2B7kC,IAAM8E,SAAS,CACxCsyB,aAAc,YACd7lB,SAAU,iBACVF,UAAW,CAAEC,MAAO,SAHtB,mBAAO8xB,EAAP,KAAcwB,EAAd,KAMA3+B,qBAAU,WACR2+B,EAAU,CACRxN,aAAc,YACd7lB,SAAU,iBACVF,UAAWiC,EAAKigB,iCAAiCniB,iBAAiBC,YAEpE0hB,EAAczf,KACb,IAEH,IAAMgkB,EAAoB,SAACwN,GACb,GAARnF,EACF3xB,KAEA+kB,EAAc+R,GACdD,EAASlF,EAAO,KAGdjE,EAAqB,SAACoJ,GAC1B/R,EAAc+R,GACdD,EAASlF,EAAO,IAKlB,OACE,oCACE,yBAAK11B,UAAU,WACb,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACnB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MArCxB,CAAC,sBAAiB,uCAA+B,8BAA4B,mBAAoB,yBAuChG,GAAR61B,GACC,kBAAC,GAAD,CACErsB,KAAM2D,EACNmsB,MAAOA,EACP/L,mBAAmB,EACnBC,kBAAmBA,EACnBtpB,aAAcA,EACdk3B,eAAgBA,EAChB9zB,iBAAkBA,IAGb,GAARuuB,GACC,kBAAC+L,GAAD,CACEp4B,KAAM2D,EACNmgB,aAAa,YACbC,mBAAmB,EACnBC,kBAAmBA,EACnBoE,mBAAoBA,IAGf,GAARiE,GACC,kBAACgO,GAAD,CACEr6B,KAAM2D,EACNmgB,aAAa,YACbC,mBAAmB,EACnBC,kBAAmBA,EAAmBoE,mBAAoBA,IAGrD,GAARiE,GACC,kBAAC4I,GAAD,CACEj1B,KAAM2D,EACNmgB,aAAa,YACbC,mBAAmB,EACnBC,kBAAmBA,EAAmBoE,mBAAoBA,IAGrD,GAARiE,GACC,kBAACwD,GAAD,CACE7vB,KAAM2D,EACNmsB,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,MC3EhC,IAAM6S,GAAsB,CAC1BlwB,eAAgB,GAChBnO,wBAAyB,KACzBiH,SAAU,GACVq3B,aAAc5nC,OAASC,SACvB4nC,qBAAsB7nC,OAASC,SAE/B6nC,oBAAqB9nC,OAASC,SAC9BkR,MAAO,GACP7I,cAAe,KACfa,iBAAkB,EAClBqpB,gBAAiB,GACjBuV,qBAAqB,EACrBtb,gBAAiB,GACjB1S,iBAAkB,KAClBwT,oBAAqB,GACrB/V,iBAAkB,CAChB,CACEgB,qCAAsC,KACtCuoB,2CAA4C,KAC5C/vB,OAAQ,GACRP,IAAK,GACLY,QAAS,GACTT,IAAK,IACLK,OAAQ,GACR6vB,gCAAiC,EACjC/vB,YAAa,GACbR,SAAU,GACVy3B,yBAA0B,KAC1Bn3B,WAAY,GACZK,gBAAiB,GACjBmH,uBAAwB,GACxBjI,cAAe,GACfU,YAAa,GACbyH,kCAAmC,GACnCuV,uCAAwC,GACxCI,+BAAgC,GAChCF,uBAAwB,GACxBD,kCAAmC,GACnCoT,oBAAqB,EACrBvyB,aAAc,EACd+I,uBAAwB,KACxBC,yBAA0B,KAC1BlH,cAAe,GACfF,YAAa,GACbsiB,iBAAkB,EAClB1hB,SAAU,GACVkH,gCAAiC,GACjCqoB,uBAAwB,EACxBhwB,sBAAuB,GACvB+hB,GAAI,KAGR5G,wBAAyB,GACzBxb,uBAAwB,KACxB1B,aAAc,EACdzH,aAAc,GACd8gC,kBAAmB,KACnBC,MAAO,GACPvb,iCAAkC,CAChC/jB,KAAM,gBACNmF,eAAgB,KAChBo6B,eAAgB,GAChBt/B,0BAA0B,EAC1Bu/B,8BAA+B,EAC/BC,sBAAsB,EACtB79B,iBAAkB,CAChB89B,qBAAsB,GACtB79B,UAAW,CACTynB,aAAc,EACd/mB,UAAW,MACXT,MAAO,MACPwZ,YAAa,kBACbF,SAAU,eAEZkO,aAAc,EACd0V,aAAc5nC,OAASC,SACvBsoC,aAAc,KACdT,oBAAqB9nC,OAASC,SAC9BuoC,SAAU,KACVr9B,UAAW,6FACXs9B,oBAAqB,mPACrBC,sBAAuB,GACvBC,4BAA6B,EAC7BC,4BAA6B,EAC7BC,4BAA6B,EAC7BC,0BAA0B,EAC1BrW,OAAQ,cACR9nB,SAAU,iBACV62B,oBAAqB,EACrB5zB,iBAAkB,GAClBxS,OAAQ,QACRo4B,0BAA2B,EAC3BuV,gBAAiB,GAEnBp7B,wBAAyB,GACzB6zB,oBAAqB,EACrBpmC,OAAQ,QACRo4B,0BAA2B,EAC3B9G,UAAW,OAEbuU,oCAAqC,GACrC7lC,OAAQ,QACRo4B,0BAA2B,MCtGd,SAASjD,GAAT,GAAoG,IAA3E7jB,EAA0E,EAA1EA,KAAM8jB,EAAoE,EAApEA,aAAcC,EAAsD,EAAtDA,kBAAmBC,EAAmC,EAAnCA,kBAAmBtpB,EAAgB,EAAhBA,aAC9F,EAAgCtJ,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,EAA2CxO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAGA,EAA6Bx3B,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,YAAaqG,MAAO,aAC7B,CAAErG,MAAO,UAAWqG,MAAO,WAC3B,CAAErG,MAAO,WAAYqG,MAAO,YAC5B,CAAErG,MAAO,UAAWqG,MAAO,aALxBgtB,EAAP,oBAcA,EAA2B33B,IAAM8E,SAAS,IAA1C,mBAAOiT,EAAP,KAAc6f,EAAd,KAUMC,EAA2B,SAAC/1B,GACR,MAAlBA,EAAOE,QACPwB,EAAY,QAAS1B,EAAOG,QAAS,QAAS,MAC9C21B,EAAU,KAGL91B,EAAOI,OACRsB,EAAY,QAAS,sBAAoB,QAAS,MAClD8K,EAAS,QAAS,IAClBspB,EAAU,MAoChBgY,EAAoB,CACtB,CAAEtrC,MAAO,YAAUqG,MAAO,oBAC1B,CAAErG,MAAO,cAAYqG,MAAO,uBAEhC,EAAqC7F,mBAAS,eAA9C,mBAAOsmB,EAAP,KAAmBykB,EAAnB,KAoBA,EAA6C/qC,oBAAS,GAAtD,mBAAuB47B,GAAvB,WAkCA,EAAmC57B,mBAAS,MAA5C,mBAAOuM,EAAP,KAAkB6nB,EAAlB,KAGA,GAA6Cp0B,mBAAS,IAAtD,qBAAO2zB,GAAP,MAAuBC,GAAvB,MACA,GAA2D5zB,mBAAS,IAApE,qBAAO6zB,GAAP,MAA8BC,GAA9B,MACMC,GAA4B,SAACC,GAC/B51B,EAAQ,0CAAD,OAA2C41B,IAC7Cn2B,MAAK,SAAAb,GAEF,GADA82B,GAA0B92B,EAAOI,MACb,aAAhBk1B,GACA,GAAY,MAAR9jB,GAAgBA,EAAKqN,iBAAiBla,OAAS,GAAgE,MAA3D6M,EAAKqN,iBAAiB,GAAG4U,+BAAwC,CACrH,IAAIwD,EAAW,GACfj3B,EAAOI,KAAKwI,KAAI,SAAA4K,GACRhC,EAAKqN,iBAAiB,GAAG4U,+BAA+B9gB,QAAO,SAAAC,GAAC,OAAIA,EAAEskB,kBAAoB1jB,EAAE0jB,oBAAkBvyB,OAAS,GACvHsyB,EAASxjB,KAAKD,MAEtBojB,GAAmBK,SAGtB,GAAoB,gBAAhB3B,GACO,MAAR9jB,GAAgBA,EAAKoN,oBAAoBja,OAAS,GAAsE,MAAjE6M,EAAKoN,oBAAoB,GAAGK,kCAA2C,CAC9H,IAAIgY,EAAW,GACfj3B,EAAOI,KAAKwI,KAAI,SAAA4K,GACRhC,EAAKoN,oBAAoB,GAAGK,kCAAkCtM,QAAO,SAAAC,GAAC,OAAIA,EAAEskB,kBAAoB1jB,EAAE0jB,oBAAkBvyB,OAAS,GAC7HsyB,EAASxjB,KAAKD,MAEtBojB,GAAmBK,OAI9Bn2B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAOlC,GAA+CD,mBAAS,IAAxD,qBAAOgrC,GAAP,MAAwBC,GAAxB,MACA,GAA6DjrC,mBAAS,IAAtE,qBAAOkrC,GAAP,MAA+BC,GAA/B,MACMC,GAA6B,WAC/BhtC,EAAQ,wDACHP,MAAK,SAAAb,GAEF,GADAmuC,GAA2BnuC,EAAOI,MACd,aAAhBk1B,GACA,GAAY,MAAR9jB,GAAgBA,EAAKqN,iBAAiBla,OAAS,GAAiE,MAA5D6M,EAAKqN,iBAAiB,GAAG6U,gCAAyC,CACtH,IAAI2a,EAAmB,GACvBruC,EAAOI,KAAKwI,KAAI,SAAA4K,GACRhC,EAAKqN,iBAAiB,GAAG6U,gCAAgC/gB,QAAO,SAAAC,GAAC,OAAIA,EAAE2lB,2BAA6B/kB,EAAE+kB,6BAA2B5zB,OAAS,GAC1I0pC,EAAiB56B,KAAKD,MAE9By6B,GAAoBI,SAGvB,GAAoB,gBAAhB/Y,GACO,MAAR9jB,GAAgBA,EAAKoN,oBAAoBja,OAAS,GAAuE,MAAlE6M,EAAKoN,oBAAoB,GAAGM,mCAA4C,CAC/H,IAAImvB,EAAmB,GACvBruC,EAAOI,KAAKwI,KAAI,SAAA4K,GACRhC,EAAKoN,oBAAoB,GAAGM,mCAAmCvM,QAAO,SAAAC,GAAC,OAAIA,EAAE2lB,2BAA6B/kB,EAAE+kB,6BAA2B5zB,OAAS,GAChJ0pC,EAAiB56B,KAAKD,MAE9By6B,GAAoBI,OAI/BvtC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAOlC,GAAuC/E,IAAM8E,SAAS,IAAtD,qBAAOgc,GAAP,MAAoBsvB,GAApB,MACA,GAAsDpwC,IAAM8E,SAAS,IAArE,qBAAOurC,GAAP,MAA4BC,GAA5B,MAgCA,GAA2DtwC,IAAM8E,SAAS,UAA1E,qBAAOyrC,GAAP,MAA8BC,GAA9B,MACA,GAAwCxwC,IAAM8E,SAAS,CACnD,CAAER,MAAO,SAAOqG,MAAO,UACvB,CAAErG,MAAO,MAAOqG,MAAO,SAFpB8lC,GAAP,qBAwFMtX,GAAoB,SAACze,GACvB,GAAY,MAARpH,EACA,MAAO,GAEX,GAAoB,aAAhB8jB,EACA,OAAQ1c,GACJ,IAAK,WAAY,OAAOpH,EAAKqN,iBAAiBla,OAAS,EAAI6M,EAAKqN,iBAAiB,GAAG3I,SAAW,GAC/F,IAAK,UAAW,OAAO1E,EAAKqN,iBAAiBla,OAAS,EAAI6M,EAAKqN,iBAAiB,GAAG1I,QAAU,GAC7F,IAAK,MAAO,OAAO3E,EAAKqN,iBAAiBla,OAAS,EAAI6M,EAAKqN,iBAAiB,GAAGnJ,IAAM,QAGxF,GAAoB,gBAAhB4f,GAC2B,MAA5B9jB,EAAKoN,oBACL,OAAQhG,GACJ,IAAK,WAAY,OAAOpH,EAAKoN,oBAAoBja,OAAS,EAAI6M,EAAKoN,oBAAoB,GAAG1I,SAAW,GACrG,IAAK,UAAW,OAAO1E,EAAKoN,oBAAoBja,OAAS,EAAI6M,EAAKoN,oBAAoB,GAAGzI,QAAU,GACnG,IAAK,MAAO,OAAO3E,EAAKoN,oBAAoBja,OAAS,EAAI6M,EAAKoN,oBAAoB,GAAGlJ,IAAM,KAM3GvR,qBAAU,WA5I4B,MAA7BqN,EAAK/D,sBAA8F,OAA9D+D,EAAK/D,qBAAqB6B,iBAAiBC,UAAUC,OAC9C,MAAzCgC,EAAKigB,kCAAsH,OAA1EjgB,EAAKigB,iCAAiCniB,iBAAiBC,UAAUC,MACtHpO,EAAQ,eACHP,MAAK,SAAAb,GACF,IAAI66B,EAAQ76B,EAAOI,KAAKwI,KAAI,SAAC4K,EAAGzK,GAAJ,MAAa,CACrCF,MAAO2K,EAAEo7B,wBACTpsC,MAAOgR,EAAEo7B,4BAEbJ,GAAuB3T,MAE1B/5B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAE9BurC,GAAuB,CACnB,CAAEhsC,MAAO,oBAAkBqG,MAAO,qBAClC,CAAErG,MAAO,kCAAgCqG,MAAO,mCAChD,CAAErG,MAAO,wBAAsBqG,MAAO,yBACtC,CAAErG,MAAO,qBAAmBqG,MAAO,wBA6H5B,MAAXnL,GAAyC,gBAAtBA,EAAQ0R,YAAsD,gBAAtB1R,EAAQ0R,YACnEsmB,GAAkB,GACF,aAAhBJ,EAlEQ,MAAR9jB,IACAhF,EAAS,QAASgF,EAAKyE,OACvB6f,EAAUtkB,EAAKyE,OACfzJ,EAAS,OAAQgF,EAAK6D,UACtB7I,EAAS,MAAOgF,EAAK6D,UACrB7I,EAAS,kBAAmBgF,EAAK8lB,iBACjC9qB,EAAS,cAAwC,MAAzBgF,EAAKqN,kBAA4BrN,EAAKqN,iBAAiBla,OAAS,EAAI6M,EAAKqN,iBAAiB,GAAG7I,gBAAkBxE,EAAK8lB,iBAC5IF,EAAc5lB,EAAKigB,iCAAiCniB,iBAAiBC,WACrEwnB,GAA0BvlB,EAAKigB,iCAAiCniB,iBAAiB0nB,cACjFoX,KAC4B,IAAxB58B,EAAK6D,SAAS1Q,QACdopC,EAAe,aACfv8B,EAAKqN,iBAAiBla,OAAS,IAC/B6H,EAAS,WAAYgF,EAAKqN,iBAAiB,GAAG3J,eAC9C1I,EAAS,cAAegF,EAAKqN,iBAAiB,GAAGvJ,aACjD9I,EAAS,qBAAsBgF,EAAKqN,iBAAiB,GAAGC,oBACxDtS,EAAS,MAAOgF,EAAKqN,iBAAiB,GAAGtJ,KACzC/I,EAAS,iBAAkBgF,EAAK+K,gBAChC/P,EAAS,WAAYgF,EAAKqN,iBAAiB,GAAG3I,UAC9C1J,EAAS,UAAWgF,EAAKqN,iBAAiB,GAAG1I,SAC7C3J,EAAS,kBAA2C,MAAxBgF,EAAKkgB,gBAA0BzsB,GAAeuM,EAAKkgB,iBAAmB,IAClGllB,EAAS,MAAOgF,EAAKqN,iBAAiB,GAAGnJ,KACzClJ,EAAS,aAAcgF,EAAKqN,iBAAiB,GAAGlJ,YAChDnJ,EAAS,SAAUgF,EAAKqN,iBAAiB,GAAG/I,QAC5CtJ,EAAS,cAAegF,EAAKqN,iBAAiB,GAAGjJ,aACjDpJ,EAAS,cAAegF,EAAKqN,iBAAiB,GAAGhJ,aACjDrJ,EAAS,SAAUgF,EAAKqN,iBAAiB,GAAG9I,QAC5CvJ,EAAS,KAAMgF,EAAKqN,iBAAiB,GAAG2Y,IACxChrB,EAAS,SAAUgF,EAAKtR,QAAQ,GAChC01B,EAAWpkB,EAAKtR,QAChBsM,EAAS,wBAAyBgF,EAAKqN,iBAAiB,GAAGE,uBAC3DvS,EAAS,aAAcgF,EAAKqN,iBAAiB,GAAGyU,sBAChDgb,GAAgB98B,EAAKqN,iBAAiB,GAAGG,aACzCxS,EAAS,cAAegF,EAAKqN,iBAAiB,GAAGG,aAAa,GAC9D0vB,GAAkF,GAAxDl9B,EAAKqN,iBAAiB,GAAGwU,4BAAsC,MAAQ,UACjG7mB,EAAS,wBAAiF,GAAxDgF,EAAKqN,iBAAiB,GAAGwU,4BAAsC,MAAQ,UAAO,KAiC/F,gBAAhBiC,GAzGG,MAAR9jB,IACAhF,EAAS,QAASgF,EAAKyE,OACvB6f,EAAUtkB,EAAKyE,OACfzJ,EAAS,OAAQgF,EAAK6D,UACtB7I,EAAS,MAAOgF,EAAK6D,UACrB7I,EAAS,kBAAmBgF,EAAK8lB,iBACjC9qB,EAAS,cAA2C,MAA5BgF,EAAKoN,qBAA+BpN,EAAKoN,oBAAoBja,OAAS,EAAI6M,EAAKoN,oBAAoB,GAAG5I,gBAAkBxE,EAAK8lB,iBACrJF,EAAc5lB,EAAK/D,qBAAqB6B,iBAAiBC,WACzDwnB,GAA0BvlB,EAAK/D,qBAAqB6B,iBAAiB0nB,cACrEoX,KAC4B,IAAxB58B,EAAK6D,SAAS1Q,QACdopC,EAAe,aACa,MAA5Bv8B,EAAKoN,qBAA+BpN,EAAKoN,oBAAoBja,OAAS,IACtE6H,EAAS,WAAYgF,EAAKoN,oBAAoB,GAAG1J,eACjD1I,EAAS,cAAegF,EAAKoN,oBAAoB,GAAGtJ,aACpD9I,EAAS,qBAAsBgF,EAAKoN,oBAAoB,GAAGE,oBAC3DtS,EAAS,MAAOgF,EAAKoN,oBAAoB,GAAGrJ,KAC5C/I,EAAS,WAAYgF,EAAKoN,oBAAoB,GAAG1I,UACjD1J,EAAS,UAAWgF,EAAKoN,oBAAoB,GAAGzI,SAChD3J,EAAS,kBAA2C,MAAxBgF,EAAKkgB,gBAA0BzsB,GAAeuM,EAAKkgB,iBAAmB,IAClGllB,EAAS,MAAOgF,EAAKoN,oBAAoB,GAAGlJ,KAC5ClJ,EAAS,aAAcgF,EAAKoN,oBAAoB,GAAGjJ,YACnDnJ,EAAS,SAAUgF,EAAKoN,oBAAoB,GAAG9I,QAC/CtJ,EAAS,cAAegF,EAAKoN,oBAAoB,GAAGhJ,aACpDpJ,EAAS,cAAegF,EAAKoN,oBAAoB,GAAG/I,aACpDrJ,EAAS,SAAUgF,EAAKoN,oBAAoB,GAAG7I,QAC/CvJ,EAAS,KAAMgF,EAAKoN,oBAAoB,GAAG4Y,IAC3ChrB,EAAS,SAAUgF,EAAKtR,QAAQ,GAChC01B,EAAWpkB,EAAKtR,QAChBsM,EAAS,wBAAyBgF,EAAKoN,oBAAoB,GAAGG,uBAC9DuvB,GAAgB98B,EAAKoN,oBAAoB,GAAGI,aAC5CxS,EAAS,cAAegF,EAAKoN,oBAAoB,GAAGI,aAAa,OA4E1E,IAEH,IAkCMyY,GAA0B,SAACr3B,GAC7B,IAAIyuC,EAAmC,GACvClY,GAAe/tB,KAAI,SAAA4K,GACfq7B,EAAiCp7B,KAAK,CAClCq7B,oCAAqC,EACrCC,uBAAgC,MAARv9B,EAAeA,EAAKu9B,uBAAyB,EACrE7X,iBAAkB1jB,EAAE0jB,sBAI5B,IAAIhY,EAAqC,GAkCzC,OAjCA8uB,GAAgBplC,KAAI,SAAA4K,GAChB0L,EAAmCzL,KAAK,CACpCu7B,oCAAqC,EACrCD,uBAAgC,MAARv9B,EAAeA,EAAKu9B,uBAAyB,EACrExW,0BAA2B/kB,EAAE+kB,+BAInB,CACdwW,uBAAgC,MAARv9B,GAA4C,MAA5BA,EAAKoN,qBAA+BpN,EAAKoN,oBAAoBja,OAAS,EAAI6M,EAAKoN,oBAAoB,GAAGmwB,uBAAyB,EACvKjhC,gBAAyB,MAAR0D,EAAeA,EAAK1D,gBAAkB,EACvDuH,SAAwB,eAAdiU,EAA2BlpB,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAM93B,EAAKy3B,IAAIK,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC1JhjB,cAAgC,MAAjB9U,EAAKiY,SAAmBjY,EAAK03B,YAAc13B,EAAKiY,SAC/D/C,YAAiC,MAApBlV,EAAKkV,YAAsBlV,EAAK03B,YAAc13B,EAAKkV,YAChEgiB,gBAAyC,MAAxBl3B,EAAKk3B,gBAA0Bl3B,EAAK03B,YAAc13B,EAAKk3B,gBACxExY,mBAAoB1e,EAAK0e,mBACzB9I,gBAAiB5V,EAAK03B,YACtBC,IAAK33B,EAAKmV,IACVyiB,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbkiB,GAAI73B,EAAKo3B,GACTthB,SAAU9V,EAAK8V,SAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IACpG/hB,QAAS/V,EAAK+V,QAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAClGnZ,sBAAuB3e,EAAK2e,sBAC5BC,YAAaA,GACbC,kCAAmC4vB,EACnC3vB,mCAAoCA,IAKtCiZ,GAAuB,SAAC/3B,GAC1B,IAAI6uC,EAAgC,GACpCtY,GAAe/tB,KAAI,SAAA4K,GACfy7B,EAA8Bx7B,KAAK,CAC/By7B,iCAAkC,EAClCC,oBAA6B,MAAR39B,EAAeA,EAAK29B,oBAAsB,EAC/DjY,iBAAkB1jB,EAAE0jB,sBAI5B,IAAIxD,EAAkC,GAgDtC,OA/CAsa,GAAgBplC,KAAI,SAAA4K,GAChBkgB,EAAgCjgB,KAAK,CACjC27B,iCAAkC,EAClCD,oBAA6B,MAAR39B,EAAeA,EAAK29B,oBAAsB,EAC/D5W,0BAA2B/kB,EAAE+kB,+BAInB,CACd7kB,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjD6d,gBAAyB,MAAR/f,EAAeA,EAAK+f,gBAAkB,GACvD+F,gBAAyC,MAAxBl3B,EAAKk3B,gBAA0Bl3B,EAAK03B,YAAc13B,EAAKk3B,gBACxErhB,MAAO7V,EAAK6V,MACZZ,SAAwB,eAAdiU,EAA2BlpB,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAM93B,EAAKy3B,IAAIK,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC1Jh4B,OAAiB,MAARsR,GAA0B,IAAVtR,EAAgBsR,EAAKtR,OAASA,EACvDwxB,gBAA4B,MAAXh0B,GAAyC,gBAAtBA,EAAQ0R,WAA+BhP,EAAKsxB,gBAAkBlgB,EAAKkgB,gBACvG2G,mBAA+B,MAAX36B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KACnGmvB,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1GoT,eAAyB,MAARnc,GAAuC,IAAvBA,EAAKmc,eAAwBnc,EAAKmc,eAA2B,MAAR/K,GAAgBA,EAAKqN,iBAAiBla,OAAS,EAAK6M,EAAK+K,eAAiB,IAChKzJ,cAAe,EACf+L,iBAAkB,CAAC,CACfswB,oBAA8B,MAAR39B,GAAgBA,EAAKqN,iBAAiBla,OAAS,EAAK6M,EAAKqN,iBAAiB,GAAGswB,oBAAsB,EACzHz7B,aAAsB,MAARlC,EAAeA,EAAKkC,aAAe,EACjD2B,SAAwB,eAAdiU,EAA2BlpB,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAM93B,EAAKy3B,IAAIK,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC1JhjB,cAAgC,MAAjB9U,EAAKiY,SAAmBjY,EAAK03B,YAAc13B,EAAKiY,SAC/D/C,YAAiC,MAApBlV,EAAKkV,YAAsBlV,EAAK03B,YAAc13B,EAAKkV,YAChEwJ,mBAAoB1e,EAAK0e,mBACzB9I,gBAAiB5V,EAAK03B,YACtBC,IAAK33B,EAAKmV,IACVyiB,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbkiB,GAAI73B,EAAKo3B,GACTthB,SAAU9V,EAAK8V,SAASgiB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IACpG/hB,QAAS/V,EAAK+V,QAAQ+hB,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAClGnZ,sBAAuB3e,EAAK2e,sBAC5BC,YAAa5e,EAAK4e,YAClBqU,4BAAsD,OAAzBob,GAC7Brb,sCAAuC5hB,EAAKqN,iBAAiBla,OAAS,EAAI6M,EAAKqN,iBAAiB,GAAGuU,sCAAwC,EAC3IE,qBAAiC,MAAX51B,GAAyC,gBAAtBA,EAAQ0R,WAA+BhP,EAAK+N,WAAa,GAClGslB,+BAAgCwb,EAChCvb,gCAAiCA,MAMvCgF,GAAsB,SAAC14B,GACzBiD,GAAW,GACXuyB,EAAkBx1B,EAAOI,OAG7B,OACI,oCACI,6BACI,kBAAC+b,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GA1JnB,SAACnM,GAGd,GAFA6C,GAAW,GAEE,MAATgT,GAAiC,GAAhBA,EAAMtR,OAGvB,OAFA1B,GAAW,QACXvB,EAAY,QAAS,0BAAwB,QAAS,MAI1D,GAAyC,GAArCmzB,GAAYz0B,EAAKsxB,iBAGjB,OAFAzuB,GAAW,QACXvB,EAAY,QAAS,gCAA8B,UAAW,MAKlE,GAA6B,IADRwzB,GAAW90B,EAAKwV,aAClBjR,OAGf,OAFA1B,GAAW,QACXvB,EAAY,QAAS,+HAAwG,UAAW,MAI5I,GAAI6zB,GAAqC,aAAhBD,GVrZiB,SAACuD,EAAMp1B,GAC5B,GAArBo1B,EAAKnlB,aACLxS,EAAS,qDAAsD23B,GAC1Dh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAI7DgB,EAAQ,oDAAqD03B,GACxDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SU6YzDkvC,CADWlX,GAAqB/3B,GACSs4B,SAExC,GAAoB,gBAAhBpD,EAAgC,EVrXT,SAACuD,EAAMp1B,GACR,GAA/Bo1B,EAAKkW,uBACL7tC,EAAS,8CAA+C23B,GACnDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAI7DgB,EAAQ,6CAA8C03B,GACjDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SU6WzDmvC,CADW7X,GAAwBr3B,GACJs4B,SAG/BlD,EAAkBhkB,OA4HF,wBAAIrJ,UAAU,sBAAd,wBACA,wBAAIk+B,MAAO,CAAErN,QAAS,EAAGxW,OAAQ,GAAKra,UAAU,eAAeoH,GAAaA,EAAUU,WACtF,kBAAC6E,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,aAC5C,kBAACvT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,wBAAIE,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,gCACA,kBAACuF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,8CAAH,KACA,kBAAC,KAAD,CACIC,QAASi+B,EACTh+B,KAAK,aACLtN,MAAOsrC,EAAkBz9B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAU8mB,KACnDnZ,SAAU,SAAC3N,GAAD,OAlczC,SAACA,GACtBurC,EAAevrC,EAAMA,OACrBgK,EAAS,aAAchK,EAAMA,OAAO,GACpCkK,EAAY,cA+b6D6iC,CAAiB/sC,IACtCuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,cACR,CAAES,UAAU,KAEhByU,YAAY,MAIxB,kBAACtV,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,yBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,KAAKmV,aAAa,QAClH5sB,EAAOwrB,aAAe,0BAAM3vB,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,UACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQ6T,OAjhBhE,SAAC3K,GAEgB,GAA7BA,EAAMnB,OAAOrV,MAAMmC,SAGvBmxB,EAAU9c,EAAMnB,OAAOrV,OAEvBuxB,GAAY/a,EAAMnB,OAAOrV,MAAOuzB,KA0gBqErlB,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,MAAMmV,aAAa,QAClI5sB,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,4BAGV,eAAdmhB,GACG,kBAAC5Z,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,kBAA6D,uBAAGuP,KAAK,IAAI3C,GAAG,wBAAuB,uBAAG5M,UAAU,4BAC/G,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,uBAAuBuhB,UAAU,OAA7D,0EAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,WAAWiF,GAAG,WAAWskB,QAngBlF,SAACrgB,GACpB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,WAAYxM,IAigByG0Q,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,MAAMmV,aAAa,QAC9I5sB,EAAO+L,UAAY,0BAAMlQ,UAAU,kCAAhB,4BAIjB,eAAdmhB,GACG,kBAAC5Z,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,sBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciF,GAAG,cAAc4O,OAtgBrF,SAAC3K,GACvB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,cAAexM,IAogB8G0Q,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,MAAMmV,aAAa,QACtJ5sB,EAAOgJ,aAAe,0BAAMnN,UAAU,kCAAhB,4BAInC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,MAAP,oBAA+D,uBAAGuP,KAAK,IAAI3C,GAAG,2BAA0B,uBAAG5M,UAAU,4BACpH,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,0BAA0BuhB,UAAU,OAAhE,4CAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,kBAAkBiF,GAAG,kBAAkBskB,QA1gBzF,SAACrgB,GACvB,IAAIhZ,EAASo1B,GAAyBpc,EAAMnB,OAAOrV,OACnDgK,EAAS,kBAAmBxM,IAwgB+G0Q,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,KAAKmV,aAAa,QAC9J5sB,EAAOgrB,iBAAmB,0BAAMnvB,UAAU,kCAAhB,4BAGpB,eAAdmhB,GACG,kBAAC5Z,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UACH,kBAAC,GAAD,CAAW2H,KAAK,OAAO2c,aAAsB,MAARjb,GAAgBA,EAAK6D,SAAUikB,SAAUjtB,EAAS,CAAEkE,SAAUklB,IAAkB8D,UAAU,EAAML,aAAa,QACjJ5sB,EAAO8L,MAAQ,0BAAMjQ,UAAU,kCAAhB,4BAIb,aAAdmhB,GACG,kBAAC5Z,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,GAAD,CAAU2H,KAAK,MAAM2c,aAAsB,MAARjb,GAAgBA,EAAK6D,SAAUikB,SAAUjtB,EAAS,CAAEkE,SAAUklB,IAAkB8D,UAAU,EAAML,aAAa,QAC/I5sB,EAAOurB,KAAO,0BAAM1vB,UAAU,kCAAhB,4BAI3B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,gCACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,qBAAqBiF,GAAG,qBAAqBrE,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,MAAMmV,aAAa,QACzI5sB,EAAOwS,oBAAsB,0BAAM3W,UAAU,kCAAhB,4BAGtC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,sCAAW,uBAAG8H,KAAK,IAAI3C,GAAG,eAAc,uBAAG5M,UAAU,4BACpD,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,cAAcuhB,UAAU,OAApD,gIAEJ,kBAAC3oB,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,MAAMY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,KAAKmV,aAAa,UAG/F,MAAXx7B,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,sDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAASwT,UAAU,OAC1FzX,EAAOiQ,gBAAkB,0BAAMpU,UAAU,kCAAhB,4BAItC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0BAAMzH,UAAU,eAAhB,MAAuC,4CAC1C,kBAAC,GAAD,CAAekH,KAAK,OAAOS,KAAK,WAAW2c,aAAc4K,GAAkB,YAAaiC,SAAUjtB,EAAS,CAAEkE,SAAUklB,MACtHnpB,EAAO4J,UAAY,0BAAM/N,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,2CACH,kBAAC,GAAD,CAAeP,KAAK,OAAOS,KAAK,UAAU2c,aAAc4K,GAAkB,WAAYiC,SAAUjtB,EAAS,CAAEkE,UAAU,QAG7H,kBAACb,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,gEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,wBAAwBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,KAAKmV,aAAa,MAAM/oB,SA1iBjJ,SAACC,GAC3B,IAAIpQ,EAASk1B,GAAW9kB,EAAEyH,OAAOrV,OACjCgK,EAAS,wBAAyBxM,QA2iBM,kBAAC0P,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,qBACH,kBAAC,KAAD,CACI0H,QAAS0+B,GACTz+B,KAAK,cACLK,SAAU,SAACC,GAlazC,IAAC5N,IAkakE4N,EAAE5N,MAja3F8rC,GAAgB9rC,GAChBgK,EAAS,cAAehK,GAAO,GAC/BkK,EAAY,gBAgawCqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAsB,IAAfwc,IAAqBuvB,GAAoBl+B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUwc,MAC1EjZ,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,eACR,CAAES,SAAUklB,OAGnBnpB,EAAO0S,aAAe,0BAAM7W,UAAU,kCAAhB,4BAGnB,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAClC,MAA7BqI,EAAK/D,sBAA8F,OAA9D+D,EAAK/D,qBAAqB6B,iBAAiBC,UAAUC,OAC9C,MAAzCgC,EAAKigB,kCAAsH,OAA1EjgB,EAAKigB,iCAAiCniB,iBAAiBC,UAAUC,OACtH,kBAAEE,GAAA,EAAF,CAAMkB,GAAG,KACL,kBAAChB,GAAA,EAAD,KACI,2BAAG,yEAAkC,uBAAG8H,KAAK,IAAI3C,GAAG,iCAAgC,uBAAG5M,UAAU,4BAC7F,kBAACgxB,GAAA,EAAD,CAAqBthB,OAAO,gCAAgCuhB,UAAU,OAAtE,uFAEJ,kBAAC,KAAD,CACIvpB,QAAS8+B,GACT7+B,KAAK,wBACLK,SAAU,SAACC,GA9anC,IAAC5N,IA8asE4N,EAAE5N,MA7azGksC,GAA0BlsC,GAC1BgK,EAAS,wBAAyBhK,GAAO,GACzCkK,EAAY,0BA4a4CqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAgC,IAAzBisC,IAA+BE,GAA8Bt+B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUisC,MAC9F1oC,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,yBACR,CAAES,SAAUklB,OAGnBnpB,EAAOmiC,uBAAyB,0BAAMtmC,UAAU,kCAAhB,4BAI7C,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,0BAAH,KACA,kBAAC,KAAD,CACI0H,QAASgnB,GACT9mB,eAAgB,qBAAGE,WACnBC,eAAgB,qBAAGgnB,kBACnBpnB,KAAK,gBACLgV,SAAS,EACTtiB,MAAOq0B,GAAsBlkB,QAAO,gBAAGukB,EAAH,EAAGA,iBAAH,OAA0BP,GAAehkB,QAAO,SAAAC,GAAC,OAAIA,EAAEskB,kBAAoBA,KAAkBvyB,OAAS,KAC1IwL,SAAU,SAAC3N,GAnhB/Do0B,GAmhB8Fp0B,GAAS,KACnDuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAU,OAGnBjE,EAAO4R,eAAiB,0BAAM/V,UAAU,kCAAhB,4BAGnB,MAAboH,GAAgD,gBAA3BA,EAAUokB,eAC5B,kBAACjkB,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,8BAAH,KACA,kBAAC,KAAD,CACI0H,QAASq+B,GACTn+B,eAAgB,qBAAGmF,eACnBhF,eAAgB,qBAAGqoB,2BACnBzoB,KAAK,kBACLgV,SAAS,EACTtiB,MAAO0rC,GAAuBv7B,QAAO,gBAAG4lB,EAAH,EAAGA,0BAAH,OAAmCyV,GAAgBr7B,QAAO,SAAAC,GAAC,OAAIA,EAAE2lB,2BAA6BA,KAA2B5zB,OAAS,KACvKwL,SAAU,SAAC3N,GArgBnEyrC,GAqgBmGzrC,GAAS,KACpDuD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,mBACR,CAAES,UAAU,OAInBjE,EAAO0hC,iBAAmB,0BAAM7lC,UAAU,kCAAhB,4BAI3B,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,4CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,IAASoT,OAhqB/G,SAAC3K,GACxB,IAAI8b,EAAa9b,EAAMnB,OAAOrV,OAEZ,IAAdsyB,GAAoBA,EAAWnwB,OAAS,IACT,GAA3BkwB,GAAYC,IACZpzB,EAAY,QAAS,gCAA8B,UAAW,SA4pBjB4K,EAAOolB,iBAAmB,0BAAMvpB,UAAU,kCAAhB,4BAI3B,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAAC,KAAD,CACIC,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GA9tBlD,IAAC5N,IA8tBsE4N,EAAE5N,MA7tB1FozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA4tB4CqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,SAAUklB,OAGnBnpB,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAIlB,MAAXzK,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAACuG,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,qDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,aAAaY,SAAUrE,EAAS,CAAEkE,UAAU,YAQpG,kBAACtB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,wBAAIE,MAAO,CAAE2T,aAAc,iBAAkBtS,MAAO,SAApD,eACA,kBAAC+Y,GAAA,EAAD,KACI,kBAACxT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SACH,kBAAC,GAAD,CAAU2H,KAAK,MAAM2c,aAAc4K,GAAkB,OAAQ1T,OA1qBnG,SAAC3K,GAGf,GAFAtM,EAAY,OAERsM,EAAMnB,OAAOrV,MAAMya,QAAQ,UAAW,IAAIuc,OAAO70B,OAAS,EAG1D,OAFA6H,EAAS,MAAO,SAChB9K,EAAY,QAAS,iEAAsD,QAAS,MAIxF4uB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GACZ,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,MAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfoyB,GAAmB,KAGnBpyB,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,IAEG,MAA1Bx3B,EAAOI,KAAKuV,YAAuD,GAAjC3V,EAAOI,KAAKuV,WAAWhR,OACzDi6B,GAAmB,GAEnBA,GAAmB,QA+oBqGtF,SAAUjtB,EAAS,CAAEkE,SAAUklB,MAC9GnpB,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,gBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaiU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,SAAUklB,MACnFnpB,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAASiU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,SAAUklB,MAC9EnpB,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkBtlB,SAtsBpH,SAACC,GAC1B,IAAIpQ,EAASk1B,GAAW9kB,EAAEyH,OAAOrV,OACjCgK,EAAS,cAAexM,MAqsB6BsM,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUwT,UAAU,SAGjG,kBAACrU,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOqd,SAAS,WAAW5c,KAAK,SAASY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,OAC/GzX,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,QACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOqd,SAAS,WAAW5c,KAAK,KAAKY,SAAUrE,EAAS,CAAEkE,SAAUklB,IAAkB1R,UAAU,MAC3GzX,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,gCAOtC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACQ,MAAXlT,GAAyC,gBAAtBA,EAAQ0R,YAAsD,MAAtB1R,EAAQyL,YAChE,kBAAC+F,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASjD,EAAc/D,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAnG,YAGR,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,qBAA4E,uBAAGlH,UAAU,kCCr0BlH,SAASqnC,GAAT,GAAmG,IAAjFh+B,EAAgF,EAAhFA,KAAM8jB,EAA0E,EAA1EA,aAAcC,EAA4D,EAA5DA,kBAAmBC,EAAyC,EAAzCA,kBAAmBoE,EAAsB,EAAtBA,mBACvF,EAAgCh3B,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAA8FkJ,YAAQ,CAAEC,KAAM,WAAtGC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAAoBC,GAAhF,EAAyEC,MAAzE,EAAgFD,WAEhF,EAA2CzO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAEA,GAFA,KAEiCv3B,IAAM8E,SAAS,OAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAAmD5O,IAAM8E,SAAS,IAAlE,mBAAOysC,EAAP,KAA0BC,EAA1B,KAEA,EAAmCxxC,IAAM8E,UAAS,GAAlD,mBAAO6jC,EAAP,KAAkBC,EAAlB,KACA,EAA2D9jC,oBAAS,GAApE,mBAAO+jC,EAAP,KAA8BC,EAA9B,KAEA7iC,qBAAU,WACc,aAAhBmxB,EACA4E,IACqB,gBAAhB5E,GACL6E,MACL,IAEH,IAAMD,EAAoB,WACtBptB,EAAa0E,GACD,MAARA,GAAmE,MAAnDA,EAAKqN,iBAAiB,GAAG0U,wBACzCmc,EAAsBl+B,EAAKqN,iBAAiB,GAAG0U,yBAGjD4G,EAAuB,WAMzB,GALArtB,EAAa0E,GACD,MAARA,GAAkD,MAAlCA,EAAK2N,2BACrBuwB,EAAsBl+B,EAAK2N,2BAGX,gBAAhBmW,EAAgC,CAChC,IAAIiF,EAAUr0B,EACdq0B,EAAQ9mB,KAAK,CACT5R,KAAM,SACNkX,QAAS,gBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBuhB,GAAavhB,MAG9CqhB,GAAYC,KAKpB,EAA+Bv3B,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAAoBwhB,GAAWxhB,OAJhD,mBAAO/S,EAAP,KAAgBo0B,GAAhB,KAUA,GAA6Bp8B,IAAM8E,SAAS,IAA5C,qBAAO9C,GAAP,MAAe01B,GAAf,MACA,GAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,GAAP,qBAWA,GAAuB33B,IAAM8E,SAAS,IAAtC,qBAAO0S,GAAP,MAAYgpB,GAAZ,MACA,GAA6C17B,oBAAS,GAAtD,qBAAO27B,GAAP,MAAuBC,GAAvB,MAyCMoJ,GAAyB,SAACC,GAC5BhlC,GAAW,GACX,IAAIob,EAAG,8FAA0F4pB,EAA1F,gDACP5mC,EAAgBgd,GACXxd,MAAK,SAAAb,GAEF,GADAiD,GAAW,GACW,MAAlBjD,EAAOE,OACPwB,EAAY,kEAA0D,uCAAkC,QAAS,WAGjH,IACIsZ,GAAa,CAAChb,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASupC,IAAKpoC,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASwpC,MACrGntB,GAAkB,CAAClb,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASupC,IAAKpoC,EAAOI,KAAK8nC,QAAQ,GAAGC,SAAStpC,SAASwpC,MAE9G,SACI3mC,EAAY,kEAA0D,uCAAkC,QAAS,UAI5HZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAIlC,GAAkCD,mBAAS,CAAC,EAAG,IAA/C,qBAAO+X,GAAP,MAAkBC,GAAlB,MACA,GAA4ChY,mBAAS,CAAC,EAAG,IAAzD,qBAAOiY,GAAP,MAAuBC,GAAvB,MACMC,GAAa,IAAIC,KAAEC,KAAK,CAC1BC,QAAS,mGACTC,cAAe,qGAEb+sB,GAAY10B,iBAAO,MACnB20B,GAAuBC,mBACzB,iBAAO,CACHC,QADG,WAEC,IAAMC,EAASJ,GAAUt0B,QACzB,GAAc,MAAV00B,EAAgB,CAChB,IAAIjqB,EAAWiqB,EAAOC,YACtBztB,GAAkB,CAACuD,EAAS2pB,IAAK3pB,EAAS4pB,WAItD,IAEE7sB,GAAY,SAAC,GAAsB,IAApBC,EAAmB,EAAnBA,OAAQC,EAAW,EAAXA,KAGzB,OAFoBC,eACRC,QAAQH,EAAQC,GACrB,MAELktB,GAAmB,WACrB9B,GAAc,GACdE,GAA0B,IAG9B,GAA+B9oC,IAAM8E,SAAS,MAA9C,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACM3B,GAAa,SAACxhB,GAChB+tB,GAA0B,GAC1B5K,GAAYnjB,GACZylB,GAAQzlB,EAAQvD,KAChBlJ,EAAS,gBAAiByM,EAAQmG,eAClC5S,EAAS,MAAOyM,EAAQvD,KACxBlJ,EAAS,aAAcyM,EAAQtD,YAC/BnJ,EAAS,cAAeyM,EAAQrD,aAChCpJ,EAAS,cAAeyM,EAAQpD,aAChCrJ,EAAS,SAAUyM,EAAQnD,QAC3BtJ,EAAS,SAAUyM,EAAQlD,QAC3BvJ,EAAS,KAAMyM,EAAQue,IACvBhrB,EAAS,aAAcyM,EAAQoG,YAC/B7S,EAAS,SAAUyM,EAAQ/Y,QAAQ,GACnC01B,GAAW3c,EAAQ/Y,QACnBsM,EAAS,aAAcyM,EAAQ9K,YAE3B8K,EAAQ6C,gBAAkB7C,EAAQ6C,eAAe/c,MAAM,KAAK4F,OAAS,IACrEqW,GAAa,CAAC/B,EAAQ6C,eAAe/c,MAAM,KAAK,GAAIka,EAAQ6C,eAAe/c,MAAM,KAAK,KACtFmc,GAAkB,CAACjC,EAAQ6C,eAAe/c,MAAM,KAAK,GAAIka,EAAQ6C,eAAe/c,MAAM,KAAK,OAI7Fy7B,GAAe,SAACvhB,GACbsc,GAAqC,aAAhBD,EAK1BpzB,EAAa,gBAAW,6BAA8B,YAAY,SAAUlC,GACpEA,IACAiD,GAAW,GACX/B,EAAS,2DAA6D+X,EAAQ02B,6BACzE9uC,MAAK,SAAAb,GAAY0B,EAAY,QAAS,8BAA+B,WAAW,WAAc46B,GAAmBrjB,EAAQnL,uBACzHhN,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAVlCvB,EAAY,QAAS,mDAA2C,QAAS,OAc3E46B,GAAqB,SAACC,GACxBt5B,GAAW,GACX7B,EAAQ,oDAAsDm7B,GACzD17B,MAAK,SAAAb,GAAM,OAAI0vC,EAAsB1vC,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA6B5Bk1B,GAAuB,SAAC/3B,GAkB1B,MAjBkB,CACdozB,yBAAqC,MAAX2I,GAAkB,EAAIA,GAAQ3I,yBACxD2b,oBAAqB39B,EAAKqN,iBAAiB,GAAGswB,oBAC9C/vB,cAAehf,EAAKgf,cACpB4Y,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACT1b,eAAgBb,GAAe,GAAK,IAAMA,GAAe,GACzDqd,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1GkW,WAAYjf,EAAKif,WACjBnf,OAAQA,GACRiO,WAAY/N,EAAK+N,aAInBspB,GAA0B,SAACr3B,GAgB7B,MAfkB,CACduvC,4BAAwC,MAAXxT,GAAkB,EAAIA,GAAQwT,4BAC3D7hC,gBAAiB0D,EAAK1D,gBACtBsR,cAAehf,EAAKgf,cACpB4Y,IAAK53B,EAAKsV,IAAIuH,QAAQ,UAAW,IACjCtH,WAAYvV,EAAKuV,WACjBC,YAAaxV,EAAKwV,YAClBC,YAAazV,EAAKyV,YAClBC,OAAQ1V,EAAK0V,OACbC,OAAQ3V,EAAK2V,OACbyhB,GAAIp3B,EAAKo3B,GACT1b,eAAgBb,GAAe,GAAK,IAAMA,GAAe,GACzDqd,0BAAsC,MAAX56B,GAAyC,gBAAtBA,EAAQ0R,WAA+B1R,EAAQyL,WAAa,KAC1GkW,WAAYjf,EAAKif,aAInBuwB,GAAoB,SAAC5vC,GACvBiD,GAAW,GACX+jC,GAA0B,GAE1B,IAAIhI,EAAQh/B,EAAOI,KAEfg9B,EAAW,GAEXF,EAAYrwB,EACI,aAAhByoB,GACAma,EAAkB7mC,KAAI,SAAA4K,GACdA,EAAEggB,0BAA4BwL,EAAMxL,0BACpC4J,EAAS3pB,KAAKD,MAGtB0pB,EAAUre,iBAAiB,GAAG0U,uBAAyB6J,GAElC,gBAAhB9H,IACLma,EAAkB7mC,KAAI,SAAA4K,GACdA,EAAEm8B,6BAA+B3Q,EAAM2Q,6BACvCvS,EAAS3pB,KAAKD,MAGtB0pB,EAAU/d,0BAA4Bie,GAG1CA,EAAS3pB,KAAKurB,GACd0Q,EAAsBtS,GACtBtwB,EAAaowB,GAEbwB,GAAQ,IACRlyB,EAAS,MAAO,IAChBA,EAAS,aAAc,IACvBA,EAAS,cAAe,IACxBA,EAAS,cAAe,IACxBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfA,EAAS,aAAc,IACvBA,EAAS,gBAAiB,IAE1B4vB,GAAY,MAEZ16B,EAAY,QAAS,uCAAkC,UAAW,OAWtE,OACI,oCACI,6BACI,kBAACya,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,8BACA,yBAAKA,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GA9H3B,SAACnM,GAAU,IAAD,MACvB,GAA8E,iBAAtE,OAAJoR,QAAI,IAAJA,GAAA,UAAAA,EAAM/D,4BAAN,mBAA4B6B,wBAA5B,mBAA8CC,iBAA9C,eAAyDokB,gBAAmCvzB,EAAKif,WAAa,IAC9G3d,EAAY,QAAS,kGAAoF,QAAS,WAItH,GAAe,MAAXy6B,IAAmBsT,EAAkB98B,QAAO,SAAAC,GAAC,OAAIA,EAAEolB,KAAO53B,EAAKsV,KAAO9C,EAAEgD,aAAexV,EAAKwV,eAAajR,OAAS,EAClHjD,EAAY,QAAS,+DAAoD,QAAS,WAItF,GAAKqlC,GAML,GADA9jC,GAAW,GACPsyB,GAAqC,aAAhBD,GX5OS,SAACuD,EAAMp1B,GACR,GAAjCo1B,EAAKrF,yBACLtyB,EAAS,6CAA8C23B,GAClDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAG7DgB,EAAQ,4CAA6C03B,GAChDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SWqOzD0vC,CADW1X,GAAqB/3B,GACCwvC,SAEhC,GAAoB,gBAAhBta,EAAgC,EX5MJ,SAACuD,EAAMp1B,GACR,GAApCo1B,EAAK8W,4BACLzuC,EAAS,oDAAqD23B,GACzDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAI7DgB,EAAQ,kDAAmD03B,GACtDh4B,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SWoMzD2vC,CADWrY,GAAwBr3B,GACCwvC,UAXpC9I,GAAc,OAmHU,kBAAC73B,GAAA,EAAD,CAAK9G,UAAU,mBACM,aAAhBmtB,GACG,kBAAC5lB,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAAC,KAAD,CACIC,QAASgmB,GACT/lB,KAAK,SACLK,SAAU,SAACC,GA7R1C,IAAC5N,IA6R8D4N,EAAE5N,MA5RlFozB,GAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA2RoCqD,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,IAAgB21B,GAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,MAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,SAAUklB,OAGnBnpB,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAI9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,gBAAgBiU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MACtFjE,EAAO8S,eAAiB,0BAAMjX,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,uCACH,kBAAC,GAAD,CAAUE,KAAK,MAAMK,SA5S/C,SAAC6I,GACf0lB,GAAQ1lB,EAAMnB,OAAOrV,OAEgC,GAAjDwW,EAAMnB,OAAOrV,MAAM01B,WAAW,IAAK,IAAIvzB,SAG3C+H,EAAY,OAEZ4jB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GAClC,GAAsB,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,KAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,IACnBA,EAAS,SAAU,IACnBA,EAAS,KAAM,IACfoyB,IAAmB,QAQnB,GALApyB,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,QAC/BtJ,EAAS,SAAUxM,EAAOI,KAAKq5B,YAC/BjtB,EAAS,KAAMxM,EAAOI,KAAKo3B,IAEG,MAA1Bx3B,EAAOI,KAAKuV,YAAuD,GAAjC3V,EAAOI,KAAKuV,WAAWhR,OACzDi6B,IAAmB,OAClB,CACDA,IAAmB,GAEnB,IAAIqJ,EAAQjoC,EAAOI,KAAKuV,WAAWuiB,WAAW,IAAK,KAAO,IAAMl4B,EAAOI,KAAK0V,OAAOoiB,WAAW,IAAK,KAAOl4B,EAAOI,KAAKq5B,WAAWvB,WAAW,IAAK,KACjJ8P,GAAuBC,SA+Q+CzlC,MAAOkT,GAAK4jB,SAAUjtB,EAAS,CAAEkE,UAAU,MACpFjE,EAAOoJ,KAAO,0BAAMvN,UAAU,kCAAhB,4BAGvB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,8CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaypB,SAAUoF,GAAgB5a,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC7GjE,EAAOqJ,YAAc,0BAAMxN,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAASypB,SAAUoF,GAAgB5a,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MACxGjE,EAAOwJ,QAAU,0BAAM3N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,IAASoT,OAAQ,SAACvT,GAAD,OA/RxH,SAAC5N,GACxB,IAAIpC,EAAOuM,IACPs7B,EAAQ7nC,EAAKuV,WAAWuiB,WAAW,IAAK,KAAO,IAAM11B,EAAQ,IAAMpC,EAAK0V,OAAOoiB,WAAW,IAAK,KAAO93B,EAAK2V,OAAOmiB,WAAW,IAAK,KACtI8P,GAAuBC,GA4R+HqB,CAAmBl5B,EAAEyH,OAAOrV,UACzI8J,EAAOsJ,aAAe,0BAAMzN,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,cAAciU,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,QAG5F,kBAACb,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,SAAS4c,SAAS,WAAW3I,UAAU,KAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAClGjE,EAAOyJ,QAAU,0BAAM5N,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,sCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,KAAK4c,SAAS,WAAWhc,SAAUrE,EAAS,CAAEkE,UAAU,MAC/EjE,EAAOkrB,IAAM,0BAAMrvB,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,0CACH,kBAACsI,GAAA,EAAD,CACIpB,KAAK,SACLS,KAAK,aACLY,SAAUrE,EAAS,CACfkE,SAAUklB,MAGjBnpB,EAAO+S,YAAc,0BAAMlX,UAAU,kCAAhB,4BAGb,aAAhBmtB,GACG,kBAAC5lB,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaiU,UAAU,MAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,MACnFjE,EAAO6B,YAAc,0BAAMhG,UAAU,kCAAhB,4BAIlC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACT,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,aAAakH,KAAK,SAASF,QAAS,kBAAM23B,GAAc,KAAO,uBAAG3+B,UAAU,4BAE9GstB,GACG,kBAAC/lB,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,eACnB,kBAACyH,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,KAA+D,uBAAGlH,UAAU,gBAA5E,sBAOxB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,sBAAiBiX,MAAO,iBACjC,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,MAAOiX,MAAO,OACvB,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,cAAeiX,MAAO,eAC/B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,KAAMiX,MAAO,MACtB,CAAEjX,MAAO,SAAU2X,OAAQ,SAACL,GAAD,OAA+B,MAAlBA,EAAQ/Y,OAAiB+Y,EAAQ/Y,OAAS,WAEtFE,KAAMqvC,EACN32B,WAAW,EACX5S,QAASA,EACTkT,aAAc9T,GACduK,QAASpI,MAGjB,kBAACiI,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,aAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB/sB,IAAW1E,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAAzH,YAEJ,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QA5JlC,YACF,MAAXzR,GAAoBA,GAAiC,aAAtBA,EAAQ0R,aAA2D,GAA5BqgC,EAAkB9qC,OACzFjD,EAAY,QAAS,4EAA8D,QAAS,MAGhG8zB,EAAkB3oB,IAuJ0D1E,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,gCAOzI,kBAAC+L,GAAA,EAAD,CAAO6H,UAAQ,EAAC5H,OAAQ0yB,EAAWzyB,OAAQw0B,GAAkB/+B,OAAO,WAChE,kBAACyK,GAAA,EAAD,CAAWnM,UAAU,SACjB,wDACA,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,yBAAKoF,GAAG,OACJ,kBAACoJ,GAAA,EAAD,CAAc9V,MAAO,CAAEwB,OAAQ,MAC3B,kBAAC2R,GAAD,CAAWC,OAAQV,GAAWW,KAAM,KACpC,kBAAC0C,GAAA,EAAD,CACIC,IAAI,qDACJC,YAAY,yEACZC,QAAS,KAEb,kBAACC,GAAA,EAAD,CAAQC,SAAUxD,GAAgByD,WAAW,EAAM7c,KAAMsZ,GAAY7K,IAAKg4B,GAAWqB,cAAepB,UAMxH,kBAAC5zB,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAY8W,SAAO,EAACxP,QAASy5B,IAA3C,gBChgBL,SAASmH,GAAT,GAAwD,IAAvBv+B,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aAE3CjJ,EAAcL,IAAdK,WAGP,EAAmC/E,IAAM8E,SAASwO,GAAlD,mBAAO2D,EAAP,KAAkB8b,EAAlB,KACA,EAA2B/yB,IAAM8E,SAAS,CACtCsyB,aAAc,YACd7lB,SAAU,gBACVF,UAAW,CAAEC,MAAO,SAHxB,mBAAO8xB,EAAP,KAAcwB,EAAd,KAMA,EAAyB5kC,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAACwN,GACV,GAARnF,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAA4B,GAARquB,GAAsC,OAAzByD,EAAM/xB,UAAUC,MAC/E9N,EAAY,QAAS,wCAAmC,WAAW,WAC/DwK,QAGJ+kB,EAAc+R,GACdD,EAASlF,EAAO,KAGlBjE,EAAqB,SAACoJ,GACxB/R,EAAc+R,GACdD,EAASlF,EAAO,IAGpB,EAAmD3/B,IAAM8E,UAAS,GAAlE,mBAAOuyB,EAAP,KAA0B0N,EAA1B,KAcA9+B,qBAAU,WACN2+B,EAAU,CACNxN,aAAc,YACd7lB,SAAU,gBACVF,UAAWiC,EAAKigB,iCAAiCniB,iBAAiBC,YAEtE0hB,EAAczf,GACVA,IAnBJvO,GAAW,GAEX7B,EAAQ,sCAAwC+T,EAAUzB,cAAc7S,MAAK,SAAAb,GACzEijC,EAAsBjjC,EAAOI,KAAK8iC,SAC7BljC,EAAOI,KAAK8iC,SACbxhC,EAAY,QAAS,oDAA6C1B,EAAOI,KAAK+iC,SAAU,UAAW,SAGtGriC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,SAY/B,IAEH,IAAM+E,EAAQ,GASd,OAPiB,MAAbmN,IACmF,OAA/EA,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,MACtExH,EAAMyL,KAAK,sBAAiB,6BAAwB,sBAEpDzL,EAAMyL,KAAK,sBAAiB,uBAIhC,oCACc,MAAT6tB,GACG,yBAAKn5B,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEhC,GAAR61B,GAAa,kBAAC,GAAD,CAAersB,KAAM2D,EAAWmgB,aAAa,YAAYC,kBAAmBA,EAAmBC,kBAAmBA,EAAmBtpB,aAAcA,IACjF,OAA/EiJ,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,MAAyB,GAARquB,GAAa,kBAAC2R,GAAD,CAAQh+B,KAAM2D,EAAWmgB,aAAa,YAAYC,kBAAmBA,EAAmBC,kBAAmBA,EAAmBoE,mBAAoBA,IAAgC,GACvM,OAA/EzkB,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,MAC3D,GAARquB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAM2D,EAAWmsB,MAAOA,EAAO/L,kBAAmBA,EAAmBC,kBAAmBA,EAAmBoE,mBAAoBA,IAEhJ,GAARiE,GAAa,kBAACwD,GAAD,CAAY7vB,KAAM2D,EAAWmsB,MAAOA,EAAO/L,kBAAmBA,EAAmBC,kBAAmBA,EAAmBoE,mBAAoBA,M,2ECpEjK,SAASoW,GAAT,GAA0D,IAAvBx+B,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aACpD,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAuFkJ,YAAQ,CAAEC,KAAM,WAA/FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAAaC,EAAzE,EAAyEA,UACzE,EAA2CzO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAuDx3B,IAAM8E,SAAS,GAAtE,mBAAOsjC,EAAP,KAA4B2J,EAA5B,KAGA,EAA6B/xC,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,EAAP,oBAWA,EAAiC33B,IAAM8E,SAAS,IAAhD,mBAAOyM,EAAP,KAAiBygC,EAAjB,KACA,EAA2BhyC,IAAM8E,SAAS,CACtC,CAAER,MAAO,gBAAiBqG,MAAO,iBACjC,CAAErG,MAAO,iBAAkBqG,MAAO,kBAClC,CAAErG,MAAO,gBAAiBqG,MAAO,mBAH9BsnC,EAAP,oBAaA,EAAmCjyC,IAAM8E,SAAS,MAAlD,mBAAOuM,EAAP,KAAkB6nB,EAAlB,KACA,EAAmDl5B,IAAM8E,SAAS,IAAlE,mBAAOotC,EAAP,KAA0BC,EAA1B,KACMC,GAAuB,SAACC,GAC1BnvC,EAAQ,+BAAD,OAAgCmvC,IAClC1vC,MAAK,SAAAb,GAAM,OAAIqwC,EAAsBrwC,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OASlC,GAAqC/E,IAAM8E,SAAS,IAApD,qBAAOsmB,GAAP,MAAmBykB,GAAnB,MACA,GAA6B7vC,IAAM8E,SAAS,CACxC,CAAER,MAAO,YAAUqG,MAAO,oBAC1B,CAAErG,MAAO,cAAYqG,MAAO,gCAC5B,CAAErG,MAAO,aAAWqG,MAAO,mCAC3B,CAAErG,MAAO,QAASqG,MAAO,WAJtB2nC,GAAP,qBAYA,GAAiEtyC,IAAM8E,UAAS,GAAhF,qBAAO4qC,GAAP,MAAiC6C,GAAjC,MAMA,GAAyBvyC,IAAM8E,SAAS,IAAxC,qBAAO0K,GAAP,MAAagjC,GAAb,MACA,GAAuBxyC,IAAM8E,SAAS,CAClC,CAAER,MAAO,kBAAaqG,MAAO,+BAC7B,CAAErG,MAAO,yCAA8BqG,MAAO,0CAC9C,CAAErG,MAAO,kCAA6BqG,MAAO,mCAC7C,CAAErG,MAAO,wBAAyBqG,MAAO,yBACzC,CAAErG,MAAO,eAAgBqG,MAAO,gBAChC,CAAErG,MAAO,cAAYqG,MAAO,eAC5B,CAAErG,MAAO,cAAYqG,MAAO,eAC5B,CAAErG,MAAO,gBAAiBqG,MAAO,iBACjC,CAAErG,MAAO,kBAAaqG,MAAO,qBAT1B8nC,GAAP,qBAmBA,GAAqCzyC,IAAM8E,SAAS,IAApD,qBAAO4tC,GAAP,MAAmBC,GAAnB,MACA,GAA6B3yC,IAAM8E,SAAS,CACxC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBioC,GAAP,qBAWA,GAAiD5yC,IAAM8E,SAAS,IAAhE,qBAAO+tC,GAAP,MAAyBC,GAAzB,MACA,GAAmC9yC,IAAM8E,SAAS,CAC9C,CAAER,MAAO,OAAQqG,MAAO,OACxB,CAAErG,MAAO,QAASqG,MAAO,YAFtBooC,GAAP,qBAWA,GAA2D/yC,IAAM8E,SAAS,IAA1E,qBAAOgM,GAAP,MAA8BkiC,GAA9B,MACA,GAAwChzC,IAAM8E,SAAS,CACnD,CAAER,MAAO,OAAQqG,MAAO,OACxB,CAAErG,MAAO,QAASqG,MAAO,YAFtBsoC,GAAP,qBAWA,GAA2CjzC,IAAM8E,SAAS,IAA1D,qBAAOouC,GAAP,MAAsBC,GAAtB,MACA,GAAgCnzC,IAAM8E,SAAS,CAC3C,CAAER,MAAO,OAAQqG,MAAO,OACxB,CAAErG,MAAO,QAASqG,MAAO,YAFtByoC,GAAP,qBAWA,GAAmDpzC,IAAM8E,SAAS,IAAlE,qBAAOuuC,GAAP,MAA0BC,GAA1B,MACA,GAAmEtzC,IAAM8E,SAAS,IAAlF,qBAAOyuC,GAAP,MAAkCC,GAAlC,MAOMC,GAAwB,WAC1Bx/B,IAAUD,KAgBd,GAA+BhU,IAAM8E,SAAS,MAA9C,qBAAOm5B,GAAP,MAAgBC,GAAhB,MACA,GAAiDl+B,IAAM8E,SAAS,IAAhE,qBAAO4uC,GAAP,MAAyBC,GAAzB,MA2BMC,GAA4B,SAACtgC,GAC/B,IAAI4rB,EAAW,GACfwU,GAAiBhpC,KAAI,SAAA4K,GACbA,EAAEf,yBAA2BjB,EAAKiB,wBAClC2qB,EAAS3pB,KAAKjC,GAEd4rB,EAAS3pB,KAAKD,MAEgF,GAAlGo+B,GAAiBj/B,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2BjB,EAAKiB,2BAAyB9N,QACxFy4B,EAAS3pB,KAAKjC,GAElBqgC,GAAqBzU,GAErBhB,GAAY,MACZsU,GAAS,IACTlkC,EAAS,OAAQ,IAAI,GACrBqkC,GAAe,IACfrkC,EAAS,aAAc,IAAI,GAC3BwkC,GAAqB,IACrBxkC,EAAS,mBAAoB,IAAI,GACjC0kC,GAA0B,IAC1B1kC,EAAS,wBAAyB,IAAI,GACtC6kC,GAAkB,IAClB7kC,EAAS,gBAAiB,IAAI,GAC9BA,EAAS,QAAS,IAClBA,EAAS,gBAAiB,IAC1BklC,GAA8B,KAwElC,GAAsCxzC,IAAM8E,UAAS,GAArD,qBAOA,IAPA,YAO6B9E,IAAM8E,SAAS,QAA5C,qBAAO+uC,GAAP,MAAeC,GAAf,MACA,GAA0B9zC,IAAM8E,UAAS,GAAzC,qBAAOkP,GAAP,MAAcC,GAAd,MAoDAhO,qBAAU,WACNyvB,GAA+B,8BAA8B,SAAU5zB,GAAU01B,EAAkB11B,MAjNnGoB,EAAQ,oBACHP,MAAK,SAAAb,GAAM,OAAIwxC,GAAsBxxC,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA4J9BuJ,EAAS,OAAQ,IAAI,GACrBA,EAAS,aAAc,IAAI,GAC3BA,EAAS,mBAAoB,IAAI,GACjCA,EAAS,gBAAiB,IAAI,GAClB,MAARgF,GACAy+B,EAAwBz+B,EAAK80B,qBAC7B95B,EAAS,YAAagF,EAAKvB,WAC3B2lB,EAAWpkB,EAAKtR,QAChBsM,EAAS,SAAUgF,EAAKtR,QAAQ,GAChCgwC,EAAa1+B,EAAK/B,UAClBjD,EAAS,WAAYgF,EAAK/B,UAAU,GACpC6gC,GAAqB9+B,EAAK/B,UAC1B2nB,EAAc5lB,EAAKwlB,cACnBxqB,EAAS,YAAagF,EAAKwlB,cAAc,GACzC+W,GAAev8B,EAAK+lB,QACpB/qB,EAAS,aAAcgF,EAAK+lB,QAAQ,GACpC/qB,EAAS,WAAYgF,EAAKq8B,iBAC1BrhC,EAAS,sBAAuBgF,EAAKi8B,6BACrCjhC,EAAS,qBAAsBgF,EAAKk8B,6BACpClhC,EAAS,sBAAuBgF,EAAKm8B,6BACrCnhC,EAAS,aAAcgF,EAAK+7B,qBAC5BkD,GAA6Bj/B,EAAKo8B,0BAClCiE,GAAqBrgC,EAAKkB,kBAC1BlG,EAAS,uBAAwBgF,EAAK47B,sBACtC5gC,EAAS,wBAAyBgF,EAAKg8B,yBAGvCyC,EAAwB,GACxBzjC,EAAS,YAAa,IACtBopB,EAAW,IACXppB,EAAS,SAAU,IAAI,GACvB0jC,EAAa,IACb1jC,EAAS,WAAY,IAAI,GACzB4qB,EAAc,IACdiZ,EAAsB,IACtB7jC,EAAS,YAAa,MAAM,GAC5BuhC,GAAe,IACfvhC,EAAS,aAAc,IAAI,GAC3BA,EAAS,WAAY,IACrBA,EAAS,sBAAuB,IAChCA,EAAS,qBAAsB,IAC/BA,EAAS,sBAAuB,IAChCA,EAAS,aAAc,IACvBikC,IAA6B,GAC7BjkC,EAAS,uBAAwB,IACjCA,EAAS,wBAAyB,OAQvC,CAACgF,IAqCJ,OACI,oCACI,yBAAKrJ,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC1B,GAAA,EAAD,CAAQG,KAAK,SAASxH,MAAM,UAAUsH,QAvG3C,SAAC6J,EAAOC,GACnB/M,MAsGuE,uBAAG/D,UAAU,wBAApE,YACA,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,aACZ,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAAC61B,EAAA,EAAD,CAAKC,OAAK,EAAC/pC,UAAU,oBAAoBE,MAAO,CAAEkY,OAAQ,YACtD,kBAAC4xB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAASjqC,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAQ,uBAAGjnC,MAAM,eAAlH,iBAEJ,kBAAConC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAS,uBAAGjnC,MAAM,6BAAlJ,oBAGR,kBAACsnC,GAAA,EAAD,CAAYC,UAAWP,GAAQ5pC,UAAU,2BACrC,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GA3D/C,SAACnM,GACd,IAAIwN,EAAc,CACd04B,oBAAqBA,EACrBr2B,UAAW7P,EAAK6P,UAChBR,SAAUA,EACVunB,aAAcznB,EACdgoB,OAAQjO,GACRukB,gBAAiBztC,EAAKqyC,SACtBhF,4BAA6BrtC,EAAKsyC,oBAClChF,4BAA6BttC,EAAKuyC,mBAClChF,4BAA6BvtC,EAAKwyC,oBAClCrF,oBAAqBntC,EAAKyyC,WAC1B3yC,OAAQA,EACRm4B,mBAAoB36B,EAAQyL,WAC5B2pC,0BAA2Bp1C,EAAQyL,WACnCykC,yBAA0BA,GAC1BR,qBAAsBhtC,EAAKgtC,qBAC3BI,sBAAuBptC,EAAKotC,uBAGhCvqC,GAAW,GAC4B,GAAnC2K,EAAY04B,oBACZplC,EAAS,mBAAoB0M,GACxB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcuuC,EAAwBjwC,EAAOI,KAAKkmC,2BACpIxlC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B9B,EAAQ,mBAAoByM,GACvB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UA6Bc,kBAACgM,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,qBACH,kBAACsI,GAAA,EAAD,CACIpB,KAAK,OACL0U,UAAU,MACVjU,KAAK,YACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO2D,WAAa,0BAAM9H,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACI0H,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GAna1D,IAAC5N,IAma8E4N,EAAE5N,MAlalGozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAiaoDlK,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,cACH,kBAAC,KAAD,CACI0H,QAASsgC,EACTrgC,KAAK,WACLK,SAAU,SAACC,GAvaxD,IAAC5N,IAua8E4N,EAAE5N,MAtapG0tC,EAAa1tC,GACbgK,EAAS,WAAYhK,GAAO,GAC5BkK,EAAY,YACZ4jC,GAAqB9tC,IAoa2CA,MAAmB,IAAZiN,GAAkB0gC,EAAiB9/B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUiN,KACpE1J,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,YACR,CAAES,UAAU,OAGnBjE,EAAOmD,UAAY,0BAAMtH,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACI0H,QAAS2gC,GACT1gC,KAAK,aACLK,SAAU,SAACC,GA1ZtD,IAAC5N,IA0Z8E4N,EAAE5N,MAzZtGurC,GAAevrC,GACfgK,EAAS,aAAchK,GAAO,GAC9BkK,EAAY,eAwZoDlK,MAAqB,IAAd8mB,IAAoBknB,GAAmBngC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAU8mB,MACxEvjB,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,cACR,CAAES,UAAU,OAGnBjE,EAAOgd,YAAc,0BAAMnhB,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAAC,KAAD,CACI0H,QAASugC,EACTtgC,KAAK,YACLC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAOgnB,cACjC7mB,SAAU,SAACC,GA3bvD,IAAC5N,IA2b8E4N,EAAE4mB,aA1brGI,EAAc50B,GACdgK,EAAS,YAAahK,GAAO,GAC7BkK,EAAY,cAyboDlK,MAAoB,MAAb+M,GAAqB6gC,EAAkB//B,MAAK,SAAAnR,GAAG,OAAIA,EAAI83B,eAAiBznB,KAC/ExJ,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,aACR,CAAES,UAAU,OAGnBjE,EAAOiD,WAAa,0BAAMpH,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,iBACH,kBAAC4qC,GAAA,EAAD,KACI,kBAACtiC,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,MACpE,kBAACyiC,GAAA,EAAD,CAAiBC,UAAU,UACvB,kBAACC,GAAA,EAAD,kBAKhB,kBAACxjC,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,6BACH,kBAAC4qC,GAAA,EAAD,KACI,kBAACtiC,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,sBAAsBY,SAAUrE,MAC1D,kBAAC2mC,GAAA,EAAD,CAAiBC,UAAU,UACvB,kBAACC,GAAA,EAAD,iBAKhB,kBAACxjC,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,6BACH,kBAAC4qC,GAAA,EAAD,KACI,kBAACtiC,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,qBAAqBY,SAAUrE,MACzD,kBAAC2mC,GAAA,EAAD,CAAiBC,UAAU,UACvB,kBAACC,GAAA,EAAD,iBAKhB,kBAACxjC,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,6BACH,kBAAC4qC,GAAA,EAAD,KACI,kBAACtiC,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,sBAAsBY,SAAUrE,MAC1D,kBAAC2mC,GAAA,EAAD,CAAiBC,UAAU,UACvB,kBAACC,GAAA,EAAD,iBAKhB,kBAACxjC,GAAA,EAAD,CAAKC,GAAG,KAAKiB,GAAG,IAAIzI,UAAU,QAC1B,6EACA,kBAAC,KAAD,CAAQgI,SAAU,SAAC6I,GA9d3Ey3B,GA8d0Hz3B,IAAQ2M,QAASioB,GAA0BtkC,OAAQ,GAAII,MAAO,MAEpI,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,yEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,aAAaY,SAAUrE,QAG3D,kBAACqD,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,8DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,uBAAuBY,SAAUrE,QAGrE,kBAACqD,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,kEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,wBAAwBY,SAAUrE,SAI1E,kBAAC4C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAApG,mBAQ5B,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,6BACI,kBAAC3B,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,gBAAH,KACA,kBAAC,KAAD,CACI0H,QAAS8gC,GACT7gC,KAAK,OACLK,SAAU,SAACC,GAvfxD,IAAC5N,IAuf0E4N,EAAE5N,MAtf5FkuC,GAASluC,GACTgK,EAAS,OAAQhK,GAAO,GACxBkK,EAAY,SAqfgDlK,MAAe,IAARkL,IAAcijC,GAAatgC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUkL,MAC5D3H,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EAAS,CAAEyD,KAAM,UAC3BkV,WAAwB,MAAXmX,IAAsD,MAAnCA,GAAQ1pB,0BAE3CnG,EAAOoB,MAAQ,0BAAMvF,UAAU,kCAAhB,4BAGxB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,yBACH,kBAACsI,GAAA,EAAD,CACIpB,KAAK,OACL0U,UAAU,KACVjU,KAAK,gBACLY,SAAUrE,MAEbC,EAAO8S,eAAiB,0BAAMjX,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACI0H,QAASihC,GACThhC,KAAK,aACLK,SAAU,SAACC,GAtgBlD,IAAC5N,IAsgB0E4N,EAAE5N,MArgBlGquC,GAAeruC,GACfgK,EAAS,aAAchK,GAAO,GAC9BkK,EAAY,eAogBgDlK,MAAqB,IAAdouC,IAAoBE,GAAmBzgC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUouC,MACxE7qC,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,cACR,CAAES,UAAU,OAGnBjE,EAAOskC,YAAc,0BAAMzoC,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,kCAAH,KACA,kBAAC,KAAD,CACI0H,QAASohC,GACTnhC,KAAK,mBACLK,SAAU,SAACC,GA3gB5C,IAAC5N,IA2gB0E4N,EAAE5N,MA1gBxGwuC,GAAqBxuC,GACrBgK,EAAS,mBAAoBhK,GAAO,GACpCkK,EAAY,qBAygBgDlK,MAA2B,IAApBuuC,IAA0BE,GAAyB5gC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,OAASuuC,MACnFhrC,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,oBACR,CAAES,UAAU,OAGnBjE,EAAOykC,kBAAoB,0BAAM5oC,UAAU,kCAAhB,4BAGpC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,4BAAH,KACA,kBAAC,KAAD,CACI0H,QAASshC,GACTrhC,KAAK,wBACLK,SAAU,SAACC,GAhhBvC,IAAC5N,IAghB0E4N,EAAE5N,MA/gB7G0uC,GAA0B1uC,GAC1BgK,EAAS,wBAAyBhK,GAAO,GACzCkK,EAAY,0BA8gBgDlK,MAAgC,IAAzBwM,IAA+BmiC,GAA8B9gC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,OAASwM,MAC7FjJ,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,yBACR,CAAES,UAAU,OAGnBjE,EAAOykC,kBAAoB,0BAAM5oC,UAAU,kCAAhB,4BAGpC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,wCAAH,KACA,kBAAC,KAAD,CACI0H,QAASyhC,GACTxhC,KAAK,gBACLK,SAAU,SAACC,GArhB/C,IAAC5N,IAqhB0E4N,EAAE5N,MAphBrG6uC,GAAkB7uC,GAClBgK,EAAS,gBAAiBhK,GAAO,GACjCkK,EAAY,kBAmhBgDlK,MAAwB,IAAjB4uC,IAAuBE,GAAsBjhC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,OAAS4uC,MAC7ErrC,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAU,OAGnBjE,EAAO8kC,eAAiB,0BAAMjpC,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,0BAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,iBAAiB3H,UAAU,aAAauI,SAAUrE,MACzEC,EAAO2gC,gBAAkB,0BAAM9kC,UAAU,kCAAhB,4BAGlC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UAAH,KACA,kBAAC4qC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAiBC,UAAU,WAA3B,MACA,kBAACxiC,GAAA,EAAD,CAAOktB,IAAK,EAAGC,IAAK,IAAKvuB,KAAK,SAASS,KAAK,QAAQ3H,UAAU,aAAauI,SAAUrE,OAExFC,EAAOhI,OAAS,0BAAM6D,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,uCAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,gBAAgBY,SAAUrE,MACnDC,EAAO6mC,eAAiB,0BAAMhrC,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAagH,QAASwiC,GAAuBtpC,MAAO,CAAEqB,MAAO,SAAU,uBAAGqB,MAAM,oBAAlH,iBAEJ,kBAAC2E,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QAnezF,WACxB,IAAI/O,EAAOuM,IACPrM,GAAQ,EAKZ,GAHY,IAARoN,IAA4B,IAAdkjC,IAAwC,IAApBG,IAA2C,IAAjBK,IAAqC,IAAdhxC,EAAKkE,OAAqC,IAAtBlE,EAAK+yC,gBAC5G7yC,GAAQ,GAERA,EACAoB,EAAY,QAAS,2BAA4B,QAAS,UAD9D,CAKA,IAAI6/B,EAAa,GACjBkQ,GAA0B7oC,KAAI,SAAA4K,GACgC,GAAtD+tB,EAAW5uB,QAAO,SAAAC,GAAC,OAAIA,EAAEkb,cAAgBta,KAAG7O,QAC5C48B,EAAW9tB,KAAK,CACZhB,wBAAoC,MAAX0pB,GAAkBA,GAAQ1pB,wBAA0B,EAC7Eqb,aAActa,OAK1B,IAAI5F,EAAc,CACd6E,wBAAoC,MAAX0pB,GAAkBA,GAAQ1pB,wBAA0B,EAC7E6zB,oBAAqBA,EACrB54B,KAAMA,GACNC,yBAA0BojC,GAC1B/hC,sBAAuBA,GACvBm+B,qBAAsBiE,GACtB5f,UAAWpxB,EAAKkE,MAChB2oC,eAAgB7sC,EAAK6sC,eACrBC,8BAA+B9sC,EAAK+yC,cACpCjzC,OAAQ0wC,GACR/9B,eAAgB0uB,EAChBjJ,0BAA2B56B,EAAQyL,WACnCiW,cAAehf,EAAKgf,eAGxBnc,GAAW,GACgC,GAAvC2K,EAAY6E,wBACZvR,EAAS,4BAA6B0M,GACjC/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcowC,GAA0B9xC,EAAOI,YACjIU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B9B,EAAQ,2BAA4ByM,GAC/B/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcowC,GAA0B9xC,EAAOI,YACjIU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAkb6Gof,UAAWoT,GAAe,uBAAGttB,UAAU,gBAAlI,aAGR,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MAEJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,aAAQiX,MAAO,QACxB,CAAEjX,MAAO,sBAAiBiX,MAAO,iBACjC,CAAEjX,MAAO,+BAA6BiX,MAAO,2BAA4BU,OAAQ,SAACL,GAAD,OAAaA,EAAQtL,yBAA2B,MAAQ,WACzI,CAAEhM,MAAO,uCAAkCiX,MAAO,uBAAwBU,OAAQ,SAACL,GAAD,OAAaA,EAAQk0B,qBAAuB,MAAQ,WACtI,CAAExrC,MAAO,2BAAsBiX,MAAO,kBACtC,CAAEjX,MAAO,QAASiX,MAAO,YAAaU,OAAQ,SAACL,GAAD,OAAa5U,GAA8B4U,EAAQuY,YAAYniB,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,UACtJ,CAAEz8B,MAAO,+BAA6BiX,MAAO,gCAAiCvJ,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,UACvH,CAAEz8B,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMwxC,GACN94B,WAAW,EACXjJ,QAAS,CACLnI,YAAa,CACTC,WAAY,gDACZC,WAAY,MACZC,MAAO,QAEXkY,WAAW,EACX2G,cAAc,GAElBxgB,QAAS,CACL,CACIrE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA1jBpD,SAACA,GACtBmjB,GAAYnjB,GACZy3B,GAASz3B,EAAQvL,MACjBlB,EAAS,OAAQyM,EAAQvL,MAAM,GAC/BmjC,GAAe53B,EAAQ/Y,QACvBsM,EAAS,aAAcyM,EAAQ/Y,QAAQ,GACvC8wC,GAAqB/3B,EAAQtL,yBAAyBqP,YACtDxQ,EAAS,mBAAoByM,EAAQtL,yBAAyBqP,YAAY,GAC1Ek0B,GAA0Bj4B,EAAQjK,sBAAsBgO,YACxDxQ,EAAS,wBAAyByM,EAAQjK,sBAAsBgO,YAAY,GAC5Eq0B,GAAkBp4B,EAAQk0B,qBAAqBnwB,YAC/CxQ,EAAS,gBAAiByM,EAAQk0B,qBAAqBnwB,YAAY,GACnExQ,EAAS,iBAAkByM,EAAQg0B,gBACnCzgC,EAAS,gBAAiByM,EAAQmG,eAClC5S,EAAS,QAASyM,EAAQuY,WAC1BhlB,EAAS,gBAAiByM,EAAQi0B,+BAElC,IAAIkG,EAAc,GAClBn6B,EAAQpG,eAAejK,KAAI,SAAA4K,GACvB4/B,EAAY3/B,KAAKD,EAAEsa,iBAEvB4jB,GAA8B0B,GAqiB+DC,CAAiBp6B,KAElD,CACIpX,KAAM,SACNkX,QAAS,mBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAndpD,SAACA,GACtB/W,EAAa,QAAS,2CAA4C,YAAY,SAAUuX,GAChFA,IACAxW,GAAW,GACX/B,EAAS,8BAA+B+X,GAASpY,MAAK,SAAAb,GAClD0B,EAAY,QAAS,wCAAmC,UAAW,MACnE,IAAI07B,EAAWwU,GAAiBj/B,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2BwG,EAAQxG,2BACjFo/B,GAAqBzU,MAEpBt8B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAycuDqwC,CAAiBr6B,MAGtDG,aAAc,CACVnT,OAAQ,CACJC,QAAS,IAEbX,KAAM,CACFC,uBAAwB,8BACxB+tC,QAAS,CACL3tC,cAAe,WACfC,YAAa,UAEjB2tC,cAAe,UACfC,YAAa,UAEjB1sC,QAAS,CACLQ,cAAe,YACfC,kBAAmB,aAEvBrB,WAAY,CACRE,gBAAiB,SACjBD,mBAAoB,yBACpBI,aAAc,qBACdE,gBAAiB,qBACjBE,YAAa,uBACbE,YAAa,qCAerE,kBAACoN,GAAA,EAAD,CAAOC,OAAQjC,GAAOkC,OAAQu9B,IAC1B,kBAACpvB,GAAA,EAAD,CAAanO,OAAQu9B,GAAuB11B,MAAO,4BAAQ9T,UAAU,QAAQgH,QAASwiC,IAAnC,QAA4ExpC,UAAU,SAAQ,uBAAG4C,MAAM,oBAA1J,gBACA,kBAACuJ,GAAA,EAAD,CAAWnM,UAAU,SACjB,6BACKopC,GAAkB3oC,KAAI,SAAA4I,GAAI,OACvB,kBAACvC,GAAA,EAAD,CAAKlG,IAAKyI,EAAKsc,cACX,kBAACpe,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC8iC,GAAA,EAAD,CACIrkC,KAAK,SACL0F,GAAIvD,EAAKsc,aACT6lB,eAAgBlC,GAA0B9+B,QAAO,SAAAC,GAAC,OAAIA,GAAKpB,EAAKsc,gBAAcnpB,OAAS,EACvFmL,KAAK,eACLjH,MAAO2I,EAAKvB,UACZE,SAAU,SAAC6I,GAAD,OAnoBpB,SAACxW,EAAOsrB,GAClC,IAAIslB,EAAc3B,GAEdjvC,EACA4wC,EAAY3/B,KAAKqa,GAEjBslB,EAAcA,EAAYzgC,QAAO,SAAAC,GAAC,OAAIA,GAAKkb,KAE/C4jB,GAA8B0B,GA2nB2BQ,CAAsB56B,EAAMnB,OAAO8N,QAASnU,EAAKsc,kBAG9E,kBAACpe,GAAA,EAAD,CAAKkB,GAAG,KACgB,MAAnBY,EAAKoxB,YAAyC,IAAnBpxB,EAAKoxB,YAAoB,uBAAG73B,MAAM,qBAAqBoE,QAAS,kBAAMzN,EAAY8P,EAAKoxB,WAAY,GAAI,KAAM,gBAM7J,kBAACjuB,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAjpBX,WAC7BgD,IAAS,IAgpBkEkQ,UAAWoT,GAAe,uBAAGttB,UAAU,iBAAlG,eACA,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASwiC,IAAnC,gB,yBC1yBT,SAASkC,GAAT,GAAoD,IAAvBriC,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aAChD,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAuFkJ,YAAQ,CAAEC,KAAM,WAA/FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAAaC,EAAzE,EAAyEA,UACzE,EAA2CzO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAiDx3B,IAAM8E,SAAS,GAAhE,mBAAO8wC,EAAP,KAAyBC,EAAzB,KAGA,EAA+D/wC,mBAAS,IAAxE,mBAAOgxC,EAAP,KAAgCC,EAAhC,KACA,EAAiDjxC,mBAAS,MAA1D,mBAAOsM,EAAP,KAAyBs3B,EAAzB,KAiBA,EAAyD5jC,mBAAS,MAAlE,mBAAOyK,EAAP,KAA6B61B,EAA7B,KAQA,EAA6BplC,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACtC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFtBgtB,EAAP,oBAUA,EAA+B33B,IAAM8E,SAAS,MAA9C,mBAAOm5B,GAAP,KAAgBC,GAAhB,KACA,GAAmDl+B,IAAM8E,SAAS,IAAlE,qBAAOkxC,GAAP,MAA0BC,GAA1B,MAGA,GAAuCj2C,IAAM8E,SAAS,IAAtD,qBAAOoxC,GAAP,MAAoBC,GAApB,MAOA,GAAyBn2C,IAAM8E,SAAS,IAAxC,qBAAOgK,GAAP,MAAamzB,GAAb,MACA,GAAuBjiC,IAAM8E,SAAS,CACpC,CAAER,MAAO,wBAAsBqG,MAAO,yBACtC,CAAErG,MAAO,6BAAwBqG,MAAO,8BACxC,CAAErG,MAAO,+BAA0BqG,MAAO,gCAC1C,CAAErG,MAAO,qCAAgCqG,MAAO,sCAChD,CAAErG,MAAO,gCAA2BqG,MAAO,iCAC3C,CAAErG,MAAO,+BAA6BqG,MAAO,gCAC7C,CAAErG,MAAO,qBAAmBqG,MAAO,sBACnC,CAAErG,MAAO,6BAA2BqG,MAAO,8BAC3C,CAAErG,MAAO,WAAYqG,MAAO,YAE5B,CAAErG,MAAO,2BAA4BqG,MAAO,8BAXvCu3B,GAAP,qBA4BMkU,GAA0B,SAAC9iC,GAC/B,IAAI4rB,EAAW,GACf8W,GAAkBtrC,KAAI,SAAA4K,GAChBA,EAAE+gC,uBAAyB/iC,EAAK+iC,sBAClCnX,EAAS3pB,KAAKjC,GAEd4rB,EAAS3pB,KAAKD,MAEiF,GAA/F0gC,GAAkBvhC,QAAO,SAAAC,GAAC,OAAIA,EAAE2hC,uBAAyB/iC,EAAK+iC,yBAAuB5vC,QACvFy4B,EAAS3pB,KAAKjC,GAEhB2iC,GAAsB/W,GAEtBhB,GAAY,MAEZ+D,GAAS,IAETkU,GAAgB,IAChB7nC,EAAS,cAAe,IAAI,GAC5BA,EAAS,aAAc,IACvBA,EAAS,iBAAkB,IAC3BA,EAAS,sBAAuB,KA0ElC,GAA6BxJ,mBAAS,OAAtC,qBAAO+uC,GAAP,MAAeC,GAAf,MA0BA7tC,qBAAU,WACRyvB,GAA+B,wBAAwB,SAAU5zB,GAAU01B,EAAkB11B,MArM3D,WAClC,IAAIf,EAAW,mBACH,MAARuS,IACFvS,GAAY,2BACdmC,EAAQnC,GACL4B,MAAK,SAAAb,GAAM,OAAIi0C,EAA4Bj0C,EAAOI,SAClDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA+L5BuxC,GAzBApY,GAAY,MACA,MAAR5qB,GACFuiC,EAAqBviC,EAAKsiC,kBAC1BlN,EAAqBp1B,EAAK/D,qBAAqB6B,kBAC/C9C,EAAS,mBAAoBgF,EAAK/D,qBAAqB6B,kBAAkB,GACzEg0B,EAAyB9xB,EAAK/D,sBAC9BjB,EAAS,uBAAwBgF,EAAK/D,sBAAsB,GAC5DmoB,EAAWpkB,EAAKtR,QAChBsM,EAAS,SAAUgF,EAAKtR,QAAQ,GAChCi0C,GAAsB3iC,EAAK6B,uBAG3B0gC,EAAqB,GACrBnN,EAAqB,MACrBp6B,EAAS,mBAAoB,IAAI,GACjC82B,EAAyB,MACzB92B,EAAS,uBAAwB,IAAI,GACrCopB,EAAW,IACXppB,EAAS,SAAU,IAAI,GACvB2nC,GAAsB,OAQvB,IA0BH,OACE,oCACE,yBAAKhsC,UAAU,WAEb,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC1B,GAAA,EAAD,CAAQG,KAAK,SAASxH,MAAM,UAAUsH,QAlEjC,SAAC6J,EAAOC,GACrB/M,MAiE+D,uBAAG/D,UAAU,wBAApE,YACA,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,aACd,kBAAC,KAAD,KACE,kBAAC8G,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE3C,kBAACiU,EAAA,EAAD,KACE,kBAAC61B,EAAA,EAAD,CAAKC,OAAK,EAAC/pC,UAAU,oBAAoBE,MAAO,CAAEkY,OAAQ,YACxD,kBAAC4xB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAASjqC,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAQ,uBAAGjnC,MAAM,mBAAlH,yBAEF,kBAAConC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAS,uBAAGjnC,MAAM,6BAAlJ,eAGJ,kBAACsnC,GAAA,EAAD,CAAYC,UAAWP,GAAQ5pC,UAAU,2BACvC,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACb,kBAACvjC,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC6R,GAAA,EAAD,CAAMiI,SAAUne,GAhDrB,SAACnM,GAChB,IAAIwN,EAAc,CAChBkmC,iBAAkBA,EAClBrhC,wBAAyBhF,EAAqBgF,wBAC9CvS,OAAQA,EACRm4B,mBAAoB36B,EAAQyL,WAC5B2pC,0BAA2Bp1C,EAAQyL,YAGrClG,GAAW,GACyB,GAAhC2K,EAAYkmC,iBACd5yC,EAAS,gBAAiB0M,GACvB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcqyC,EAAqB/zC,EAAOI,KAAK0zC,wBACjIhzC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG5B9B,EAAQ,gBAAiByM,GACtB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,SA4B8BkF,UAAU,iBAChD,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,4BAAH,KACA,kBAAC,KAAD,CACE0H,QAASmkC,EACTjkC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAOs2B,qBACjCx2B,KAAK,mBACLK,SAAU,SAACC,GA3PZ,IAAC5N,EAC9BokC,EAD8BpkC,EA2P0C4N,GAzPxE5D,EAAS,mBAAoBhK,GAAO,GACpCkK,EAAY,qBAyPkBlK,MAAO8M,EACPvJ,YAAY,YACZif,WAAqB,MAARxT,GAAyC,MAAzBA,EAAKsiC,iBAClCxjC,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,oBACR,CAAES,UAAU,OAGfjE,EAAOgD,kBAAoB,0BAAMnH,UAAU,kCAAhB,4BAGhC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eAAH,KACA,kBAAC,KAAD,CACE0H,QAA6B,MAApBP,GAA4BA,EAAiBoD,iBACtD3C,eAAgB,SAAAC,GAAM,OAAIA,EAAOoP,eACjClP,eAAgB,SAAAF,GAAM,OAAIA,EAAOyC,yBACjC3C,KAAK,uBACLK,SAAU,SAACC,GAvQR,IAAC5N,EAClC8gC,EADkC9gC,EAuQ0C4N,GArQ5E5D,EAAS,uBAAwBhK,GAAO,GACxCkK,EAAY,yBAqQkBlK,MAAOiL,EACP1H,YAAY,YACZif,WAAqB,MAARxT,GAAyC,MAAzBA,EAAKsiC,iBAClCxjC,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,wBACR,CAAES,UAAU,OAGfjE,EAAOmB,sBAAwB,0BAAMtF,UAAU,kCAAhB,4BAGpC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACE0H,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GA7QtB,IAAC5N,IA6Q0C4N,EAAE5N,MA5QhEozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA2QkBlK,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGfjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,6BAIxB,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACrB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAApG,kBAOZ,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACb,kBAACvjC,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC3B,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,aAAa6tB,IAAK,EAAGjtB,SAAUrE,MAExDC,EAAOmoC,gBAAkB,0BAAMtsC,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SAAH,KACA,kBAAC,KAAD,CACE0H,QAASuwB,GACTtwB,KAAK,OACLK,SAAU,SAACC,GArRtB,IAAC5N,IAqRwC4N,EAAE5N,MApR5D29B,GAAS39B,GACTkK,EAAY,SAoRgBlK,MAAe,IAARwK,IAAcozB,GAAa/vB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUwK,MAC5DjH,YAAY,YACZsC,MAAO,CAAEwB,OAAQ,QACjBmb,WAAuB,MAAXmX,KAEb7vB,EAAOU,MAAQ,0BAAM7E,UAAU,kCAAhB,4BAGpB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,oBAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,iBAAiBiU,UAAW,GAAIrT,SAAUrE,MACjEC,EAAOooC,gBAAkB,0BAAMvsC,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,mCAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,sBAAsB6tB,IAAK,EAAGjtB,SAAUrE,KAC/DC,EAAOqoC,qBAAuB,0BAAMxsC,UAAU,kCAAhB,6BAIrC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACE0H,QAASgmB,EACT/lB,KAAK,cACLK,SAAU,SAACC,GAvUf,IAAC5N,IAuUwC4N,EAAE5N,MAtUnE6xC,GAAgB7xC,GAChBkK,EAAY,gBAsUgBlK,MAAsB,IAAf4xC,IAAqBve,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAU4xC,MACrEruC,YAAY,cAEbuG,EAAO8nC,aAAe,0BAAMjsC,UAAU,kCAAhB,4BAG3B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,SAASF,QApRpF,WAC3B,IAAI/O,EAAOuM,IAEX,GAAwB,GAApBmnC,EAKJ,GAAuB,IAAnB1zC,EAAKw0C,YAA4B,IAAR5nC,IAAqC,IAAvB5M,EAAKs0C,gBAAoD,IAA5Bt0C,EAAKu0C,qBAA4C,IAAfP,GAK1G,GAAyB,MAArBF,IAA6BA,GAAkBvhC,QAAO,SAAAC,GAAC,OAAIA,EAAE5F,MAAQA,KACxD,MAAXmvB,IAA+B,MAAXA,IAAmBvpB,EAAE2hC,uBAAyBpY,GAAQoY,0BAAyB5vC,OAAS,EAChHjD,EAAY,QAAS,2DAAyD,QAAS,WAIzF,GAAyB,MAArBwyC,IAA6BA,GAAkBvhC,QAAO,SAAAC,GAAC,OAAIA,EAAEO,OAAS/S,EAAKw0C,aAC9D,MAAXzY,IAA+B,MAAXA,IAAmBvpB,EAAE2hC,uBAAyBpY,GAAQoY,0BAAyB5vC,OAAS,EAChHjD,EAAY,QAAS,qDAAmD,QAAS,UAFnF,CAMA,IAAIkM,EAAc,CAChB2mC,sBAAkC,MAAXpY,GAAkBA,GAAQoY,sBAAwB,EACzET,iBAAkBA,EAClB9mC,KAAMA,GACNiD,UAAW7P,EAAKs0C,eAChBvhC,MAAO/S,EAAKw0C,WACZC,oBAAqBz0C,EAAKu0C,oBAC1Bz0C,OAAQk0C,GACR9b,0BAA2B56B,EAAQyL,YAGrClG,GAAW,GAC8B,GAArC2K,EAAY2mC,sBACdrzC,EAAS,0BAA2B0M,GACjC/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAc4yC,GAAwBt0C,EAAOI,YAC/HU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG5B9B,EAAQ,yBAA0ByM,GAC/B/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAc4yC,GAAwBt0C,EAAOI,YAC/HU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAtC5BvB,EAAY,QAAS,4BAA6B,QAAS,WAL3DA,EAAY,QAAS,kEAAmE,QAAS,QAgR2C,uBAAGyG,UAAU,gBAAnI,aAGJ,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,aACrB,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,OAAQ7O,OAAQ,GACjDlI,MAAM,GACNgX,QAAS,CACP,CAAEhX,MAAO,QAASiX,MAAO,QAASvJ,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,UAC3E,CAAEz8B,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,kBAAaiX,MAAO,aAC7B,CAAEjX,MAAO,uBAAwBiX,MAAO,sBAAuBvJ,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,UACxG,CAAEz8B,MAAO,SAAUiX,MAAO,WAE5BxY,KAAM8zC,GACNp7B,WAAW,EACXjJ,QAAO,cACLnI,YAAa,CACXC,WAAY,gDACZC,WAAY,MACZC,MAAO,QAETkY,WAAW,EACX2G,cAAc,GAPT,cAQQ,CACX7c,QAAS,IAGb3D,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAtVf,SAACA,GACzBmjB,GAAYnjB,GACZknB,GAASlnB,EAAQjM,MACjBqnC,GAAgBp7B,EAAQ/Y,QACxBsM,EAAS,aAAcyM,EAAQ9F,OAC/B3G,EAAS,iBAAkByM,EAAQhJ,WACnCzD,EAAS,sBAAuByM,EAAQ47B,qBAgVmBC,CAAkB77B,KAEjD,CACEpX,KAAM,SACNkX,QAAS,mBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OArQf,SAACA,GACzB/W,EAAa,QAAS,2CAA4C,YAAY,SAAUuX,GAClFA,IACFxW,GAAW,GACX/B,EAAS,4BAA6B+X,GAASpY,MAAK,SAAAb,GAAM,OAAI,WAC5D0B,EAAY,QAAS,wCAAmC,UAAW,MACnE,IAAI07B,EAAW8W,GAAkBvhC,QAAO,SAAAC,GAAC,OAAIA,EAAE2hC,uBAAyBt7B,EAAQs7B,yBAChFJ,GAAsB/W,OAErBt8B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UA2P2B8xC,CAAkB97B,MAGnDG,aAAc,CACZnT,OAAQ,CACNC,QAAS,eAEXX,KAAM,CACJC,uBAAwB,8BACxB+tC,QAAS,CACP3tC,cAAe,WACfC,YAAa,UAEf2tC,cAAe,UACfC,YAAa,UAEf1sC,QAAS,CACPQ,cAAe,YACfC,kBAAmB,aAErBrB,WAAY,CACVE,gBAAiB,SACjBD,mBAAoB,yBACpBI,aAAc,qBACdE,gBAAiB,qBACjBE,YAAa,uBACbE,YAAa,sCCpchC,SAASkuC,GAAT,GAA8D,IAAvBxjC,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aAC1D,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAA6EkJ,YAAQ,CAAEC,KAAM,WAArFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAQE,EAAxC,EAAwCA,SAAUE,EAAlD,EAAkDA,YAAaC,EAA/D,EAA+DA,UAE/D,EAA2CzO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAiDx3B,IAAM8E,SAAS,GAAhE,mBAAOk0B,EAAP,KAAyB+d,EAAzB,KAGA,EAA6B/2C,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACtC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFtBgtB,EAAP,oBAWA,EAAmC33B,IAAM8E,SAAS,MAAlD,mBAAOuM,EAAP,KAAkB6nB,EAAlB,KACA,EAAmDl5B,IAAM8E,SAAS,IAAlE,mBAAOotC,EAAP,KAA0BC,EAA1B,KAaA,EAA2CnyC,IAAM8E,SAAS,IAA1D,mBAAOkyC,EAAP,KAAsBC,EAAtB,KACA,EAAgCj3C,IAAM8E,SAAS,CAC7C,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFtBusC,EAAP,oBAUA,EAA+Bl3C,IAAM8E,SAAS,MAA9C,oBAAOm5B,GAAP,MAAgBC,GAAhB,MACA,GAAuDl+B,IAAM8E,SAAS,IAAtE,qBAAOqyC,GAAP,MAA4BC,GAA5B,MAQMC,GAA+B,SAAC/jC,GACpC,IAAI4rB,EAAW,GACfiY,GAAoBzsC,KAAI,SAAA4K,GAClBA,EAAEgiC,YAAchkC,EAAKgkC,WACvBpY,EAAS3pB,KAAKjC,GAEd4rB,EAAS3pB,KAAKD,MAE6D,GAA3E6hC,GAAoB1iC,QAAO,SAAAC,GAAC,OAAIA,EAAE4iC,YAAchkC,EAAKgkC,cAAY7wC,QACnEy4B,EAAS3pB,KAAKjC,GAEhB8jC,GAAwBlY,GAExBhB,GAAY,MACZ+Y,EAAkB,IAClB3oC,EAAS,gBAAiB,IAAI,GAC9BA,EAAS,mBAAoB,KAgD/B,GAA6BxJ,mBAAS,OAAtC,qBAAO+uC,GAAP,MAAeC,GAAf,MAuBA7tC,qBAAU,WACRyvB,GAA+B,kCAAkC,SAAU5zB,GAAU01B,EAAkB11B,MAvHvGoB,EAAQ,aACLP,MAAK,SAAAb,GAAM,OAAIqwC,EAAsBrwC,EAAOI,SAC5CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAgG3Di8B,GAAY,MACZ5vB,EAAS,mBAAoB,IAC7BA,EAAS,gBAAiB,IAAI,GAC9B2oC,EAAkB,IACN,MAAR3jC,GACFyjC,EAAqBzjC,EAAK0lB,kBAC1B1qB,EAAS,YAAagF,EAAKvB,WAC3B2lB,EAAWpkB,EAAKtR,QAChBsM,EAAS,SAAUgF,EAAKtR,QAAQ,GAChCo1C,GAAwB9jC,EAAK05B,UAC7B9T,EAAc5lB,EAAKwlB,gBAGnBie,EAAqB,GACrBrf,EAAW,IACXppB,EAAS,SAAU,IAAI,GACvB8oC,GAAwB,OAQzB,IA2BH,OACE,oCACE,yBAAKntC,UAAU,WAEb,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAhEnB,SAAC6J,EAAOC,GACrB/M,MA+DiD,uBAAG/D,UAAU,wBAAtD,YACA,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,aACd,kBAACywB,GAAA,EAAD,KACE,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE3C,kBAACiU,EAAA,EAAD,KACE,kBAAC61B,EAAA,EAAD,CAAKC,OAAK,EAAC/pC,UAAU,oBAAoBE,MAAO,CAAEkY,OAAQ,YACxD,kBAAC4xB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAASjqC,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAQ,uBAAGjnC,MAAM,mBAAlH,eAEF,kBAAConC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAS,uBAAGjnC,MAAM,qBAAlJ,oBAGJ,kBAACsnC,GAAA,EAAD,CAAYC,UAAWP,GAAQ5pC,UAAU,2BACvC,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACb,kBAACvjC,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,yBAAKzI,UAAU,iBACb,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GAlDvB,SAACnM,GAChB,IAAIwN,EAAc,CAChBspB,iBAAkBA,EAClBjnB,UAAW7P,EAAK6P,UAChB/P,OAAQA,EACRm4B,mBAAoB36B,EAAQyL,WAC5BmvB,0BAA2B56B,EAAQyL,WACnC6tB,aAAcznB,GAGhBtM,GAAW,GACyB,GAAhC2K,EAAYspB,iBACdh2B,EAAS,gBAAiB0M,GACzB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcuzC,EAAqBj1C,EAAOI,KAAK82B,wBACjIp2B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG1B9B,EAAQ,gBAAiByM,GACxB/M,MAAK,SAAAb,GAAM,OAAK0B,EAAY,QAAS,wCAAmC,UAAW,SACnFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UA8BJ,kBAACgM,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACd,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,+BACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,YAAYiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAClFjE,EAAO2D,WAAa,0BAAM9H,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAAC,KAAD,CACE0H,QAASugC,EACTtgC,KAAK,YACLC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAOgnB,cACjC7mB,SAAU,SAACC,GA3LrB,IAAC5N,IA2L4C4N,EAAE4mB,aA1LrEI,EAAc50B,GACdgK,EAAS,YAAahK,GAAO,GAC7BkK,EAAY,cAyLoBlK,MAAoB,MAAb+M,GAAqB6gC,EAAkB//B,MAAK,SAAAnR,GAAG,OAAIA,EAAI83B,eAAiBznB,KAC/ExJ,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,aACR,CAAES,UAAU,OAGfjE,EAAOiD,WAAa,0BAAMpH,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACE0H,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GA1NxB,IAAC5N,IA0N4C4N,EAAE5N,MAzNlEozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAwNoBlK,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGfjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACrB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAApG,mBAQd,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACb,kBAACvjC,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,yBAAKzI,UAAU,iBACb,kBAACsa,GAAA,EAAD,KACE,kBAACxT,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,iEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,mBAAmBiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MACzFjE,EAAOmpC,kBAAoB,0BAAMttC,UAAU,kCAAhB,4BAGhC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACb,kBAACC,GAAA,EAAD,KACE,2BAAG,yCAAH,KACA,kBAAC,KAAD,CACEC,QAASulC,EACTtlC,KAAK,gBACLK,SAAU,SAACC,GAvOjB,IAAC5N,IAuO4C4N,EAAE5N,MAtOzE2yC,EAAkB3yC,GAClBgK,EAAS,gBAAiBhK,GAAO,GACjCkK,EAAY,kBAqOoBlK,MAAwB,IAAjB0yC,GAAuBE,EAAsB/kC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAU0yC,KAC9EnvC,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,iBACR,CAAES,UAAU,OAGfjE,EAAO4oC,eAAiB,0BAAM/sC,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACrB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QAAS,kBAjNrE,WAC7B,GAAwB,GAApB+nB,EAAJ,CAKA,IAAI92B,EAAOuM,IACPrM,GAAQ,EAKZ,GAH6B,IAAzBF,EAAKq1C,kBAA2C,IAAjBP,IACjC50C,GAAQ,GAENA,EACFoB,EAAY,QAAS,2BAA4B,QAAS,UAD5D,CAKA,IAAIkM,EAAc,CAChB4nC,WAAuB,MAAXrZ,GAAkBA,GAAQqZ,WAAa,EACnDte,iBAAkBA,EAClBjnB,UAAW7P,EAAKq1C,iBAChBv1C,OAAQg1C,EACR7c,mBAAoB36B,EAAQyL,WAC5BmvB,0BAA2B56B,EAAQyL,YAGrClG,GAAW,GACmB,GAA1B2K,EAAY4nC,WACdt0C,EAAS,4BAA6B0M,GACnC/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAc6zC,GAA6Bv1C,EAAOI,YACpIU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG5B9B,EAAQ,2BAA4ByM,GACjC/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAc6zC,GAA6Bv1C,EAAOI,YACpIU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,YAnC5BvB,EAAY,QAAS,8EAA4E,QAAS,MA+MJg0C,KAA0B,uBAAGvtC,UAAU,gBAAnH,mBAKR,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,QACjC/W,MAAM,GAENgX,QAAS,CACP,CAAEhX,MAAO,aAAWiX,MAAO,aAC3B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMi1C,GACNv8B,WAAW,EACXjJ,QAAS,CACPkQ,WAAW,EACX2G,cAAc,GAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAjQT,SAACA,GAC3BmjB,GAAYnjB,GACZk8B,EAAkBl8B,EAAQ/Y,QAC1BsM,EAAS,gBAAiByM,EAAQ/Y,QAAQ,GAC1CsM,EAAS,mBAAoByM,EAAQhJ,WA6PkB0lC,CAAoB18B,MAGrDG,aAAc,CACZnT,OAAQ,CACNC,QAAS,eAEXX,KAAM,CACJC,uBAAwB,8BACxB+tC,QAAS,CACP3tC,cAAe,WACfC,YAAa,UAEf2tC,cAAe,UACfC,YAAa,UAEf1sC,QAAS,CACPQ,cAAe,YACfC,kBAAmB,aAErBrB,WAAY,CACVE,gBAAiB,SACjBD,mBAAoB,yBACpBI,aAAc,qBACdE,gBAAiB,qBACjBE,YAAa,uBACbE,YAAa,wBAGjB8uC,QAAS,CACPluC,YAAa,CACXC,WAAY,gDACZC,WAAY,MACZC,MAAO,qBCjVtB,SAASguC,GAAT,GAA6C,IAAvBrkC,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aACvC,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAuFkJ,YAAQ,CAAEC,KAAM,WAA/FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,GAFA,EAAyEC,UAE9BzO,IAAM8E,UAAS,IAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAmCx3B,IAAM8E,SAAS,GAAlD,mBAAO8yC,EAAP,KAAkBC,EAAlB,KAGA,EAA6B73C,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,EAAP,oBAWA,EAAyB33B,IAAM8E,SAAS,IAAxC,mBAAOgK,EAAP,KAAamzB,EAAb,KACA,EAAuBjiC,IAAM8E,SAAS,CAClC,CAAER,MAAO,SAAUqG,MAAO,UAC1B,CAAErG,MAAO,iBAAeqG,MAAO,oBAF5Bu3B,EAAP,oBAWA,EAAyDliC,IAAM8E,SAAS,IAAxE,mBAAOgzC,EAAP,KAA6BC,EAA7B,KAsFA,EAA2D/3C,IAAM8E,SAAS,IAA1E,mBAAOkzC,EAAP,KAA8BC,EAA9B,KAkFA,EAA6BnzC,mBAAS,OAAtC,mBAAO+uC,GAAP,KAAeC,GAAf,KAsBA7tC,qBAAU,WACNyvB,GAA+B,iBAAiB,SAAU5zB,GAAU01B,EAAkB11B,MA7LtFoB,EAAQ,8BACHP,MAAK,SAAAb,GACF,IAAIo2C,EAAkBp2C,EAAOI,KAC7B,GAAY,MAARoR,EACA,IAAK,IAAI+R,KAAK6yB,EACV,IAAK,IAAIC,KAAKD,EAAgB7yB,GAAG+yB,oBACzB9kC,EAAK+kC,yBAAyB5jC,QAAO,SAAAC,GAAC,OAAoB,GAAhBA,EAAEpE,YACzCoE,EAAE4jC,uBAAyBJ,EAAgB7yB,GAAG+yB,oBAAoBD,GAAGG,yBAAuB7xC,OAAS,IACxGyxC,EAAgB7yB,GAAG+yB,oBAAoBD,GAAG7nC,YAAa,GAMvEynC,EAAyBG,MAG5Bt1C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAoE9B7B,EAAQ,oBACHP,MAAK,SAAAb,GACF,IAAIy2C,EAAQz2C,EAAOI,KACnB,GAAY,MAARoR,EACA,IAAK,IAAI+R,KAAKkzB,EACV,IAAK,IAAIJ,KAAKI,EAAMlzB,GAAG7Q,iBACflB,EAAKklC,2BAA2B/jC,QAAO,SAAAC,GAAC,OAAkB,GAAdA,EAAE+jC,UAC3C/jC,EAAEH,yBAA2BgkC,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAG5jC,2BAAyB9N,OAAS,IAC/F8xC,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAGM,UAAW,GAKxDR,EAA0BM,MAE7B31C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAmE9BgzC,EAAyB,IACb,MAARzkC,GACAukC,EAAcvkC,EAAKskC,WACnBlgB,EAAWpkB,EAAKtR,QAChBsM,EAAS,SAAUgF,EAAKtR,QAAQ,GAChCigC,EAAS3uB,EAAKxE,MACdR,EAAS,OAAQgF,EAAKxE,MAAM,GAC5BR,EAAS,YAAagF,EAAKvB,aAG3B8lC,EAAc,GACdngB,EAAW,IACXppB,EAAS,SAAU,IAAI,GACvB2zB,EAAS,IACT3zB,EAAS,OAAQ,IAAI,GACrBA,EAAS,YAAa,OAS3B,IA0BH,OACI,oCACI,yBAAKrE,UAAU,WAEX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC1B,GAAA,EAAD,CAAQG,KAAK,SAASxH,MAAM,UAAUsH,QA/D3C,SAAC6J,EAAOC,GACnB/M,MA8DuE,uBAAG/D,UAAU,wBAApE,YACA,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,aACZ,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAAC61B,EAAA,EAAD,CAAKC,OAAK,EAAC/pC,UAAU,oBAAoBE,MAAO,CAAEkY,OAAQ,YACtD,kBAAC4xB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAASjqC,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAQ,uBAAGjnC,MAAM,iBAAlH,cAEJ,kBAAConC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAS,uBAAGjnC,MAAM,6BAAlJ,8BAEJ,kBAAConC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAS,uBAAGjnC,MAAM,6BAAlJ,wCAGR,kBAACsnC,GAAA,EAAD,CAAYC,UAAWP,GAAQ5pC,UAAU,2BACrC,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC6R,GAAA,EAAD,CAAMiI,SAAUne,GAnD3C,SAACnM,GACd,IAAIwN,EAAc,CACdkoC,UAAWA,EACX7lC,UAAW7P,EAAK6P,UAChBjD,KAAMA,EACN9M,OAAQA,EACR4yC,0BAA2Bp1C,EAAQyL,YAGvClG,GAAW,GACkB,GAAzB2K,EAAYkoC,UACZ50C,EAAS,SAAU0M,GACd/M,MAAK,SAAAb,GAAY0B,EAAY,QAAS,wCAAmC,WAAW,WAAcq0C,EAAc/1C,EAAOI,KAAK01C,iBAC5Hh1C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B9B,EAAQ,SAAUyM,GACb/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,SA+B8CkF,UAAU,iBAC9C,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,oBAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,YAAYiU,UAAW,GAAIrT,SAAUrE,EAAS,CAAEkE,UAAU,MACjFjE,EAAO2D,WAAa,0BAAM9H,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SAAH,KACA,kBAAC,KAAD,CACI0H,QAASuwB,EACTtwB,KAAK,OACLK,SAAU,SAACC,GA9QxD,IAAC5N,IA8Q0E4N,EAAE5N,MA7Q5F29B,EAAS39B,GACTgK,EAAS,OAAQhK,GAAO,GACxBkK,EAAY,SA4QgDlK,MAAe,IAARwK,GAAcozB,EAAa/vB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUwK,KAC5DjH,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,QACR,CAAES,UAAU,OAGnBjE,EAAOU,MAAQ,0BAAM7E,UAAU,kCAAhB,4BAGxB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACI0H,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GA3StD,IAAC5N,IA2S0E4N,EAAE5N,MA1S9FozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAySgDlK,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,6BAI9B,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQmT,UAAWoT,EAAe5tB,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAApG,kBAOxB,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KAC6B,MAAxB+mC,GAAgCA,EAAqBptC,KAAI,SAACgK,EAAG7J,GAC1D,OAAO,kBAAC2G,GAAA,EAAD,CAAKvH,UAAU,OAAOyI,GAAG,KAAK7H,IAAK,CAAEA,QACxC,+BAAQ6J,EAAE3C,WACV,kBAAChB,GAAA,EAAD,KAC8B,MAAzB2D,EAAE0jC,qBAA+B1jC,EAAE0jC,oBAAoB1tC,KAAI,SAACvJ,EAAGu3C,GAC5D,OAAO,kBAAClnC,GAAA,EAAD,CAAKkB,GAAG,IAAI7H,IAAK6tC,GACpB,8BAAOv3C,EAAE4Q,UAAY,IAArB,KACA,kBAAC,KAAD,CAAQE,SAAU,SAAC6I,GAAD,OAhSvC,SAAC6a,EAAoBlO,GACxDkO,EAAmBrlB,WAAamX,EAChC,IAAIkxB,EAAiBb,EAAqBrjC,QAAO,SAAAC,GAAC,OAAIA,EAAEkkC,mBAAqBjjB,EAAmBijB,qBAAmB,GAE/GC,EAAyB,GAC7BF,EAAeP,oBAAoB1tC,KAAI,SAAA4K,GAC/BA,EAAEwjC,sBAAwBnjB,EAAmB2iB,sBAC7CO,EAAuBtjC,KAAKogB,GAE5BkjB,EAAuBtjC,KAAKD,MAGpCqjC,EAAeP,oBAAsBS,EAErC,IAAI3Z,EAAW,GACf4Y,EAAqBptC,KAAI,SAAA4K,GACjBA,EAAEsjC,mBAAqBD,EAAeC,kBACtC1Z,EAAS3pB,KAAKojC,GAEdzZ,EAAS3pB,KAAKD,MAEtByiC,EAAyB7Y,GA2Q4D6Z,CAA+B53C,EAAG2Z,IAAQ2M,QAAStmB,EAAEmP,WAAYlF,OAAQ,GAAII,MAAO,eAOzI,kBAACuF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,SAASF,QAlRpG,WAC3B,GAAiB,GAAb2mC,EAAJ,CAKA,IAAIoB,EAAoB,GAgBxB,GAdAlB,EAAqBptC,KAAI,SAAAgK,GACQ,MAAzBA,EAAE0jC,qBACF1jC,EAAE0jC,oBAAoB1tC,KAAI,SAAAvJ,GAClBA,EAAEmP,YACF0oC,EAAkBzjC,KAAK,CACnBqiC,UAAWA,EACXU,sBAAuBn3C,EAAEm3C,sBACzBhoC,WAAYnP,EAAEmP,mBAOF,GAA5B0oC,EAAkBvyC,OAAtB,CAKA,IAAIiJ,EAAc,CACdkoC,UAAWA,EACXxd,0BAA2B56B,EAAQyL,WACnCotC,yBAA0BW,GAG9Bj0C,GAAW,GACX/B,EAAS,wBAAyB0M,GAC7B/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAd1BvB,EAAY,QAAS,iDAA+C,QAAS,WArB7EA,EAAY,QAAS,8DAA4D,QAAS,QAgRkE,uBAAGyG,UAAU,gBAArI,6BAIZ,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KAC8B,MAAzBinC,GAAiCA,EAAsBttC,KAAI,SAACgK,EAAG7J,GAC5D,OAAO,kBAAC2G,GAAA,EAAD,CAAKvH,UAAU,OAAOyI,GAAG,KAAK7H,IAAK,CAAEA,QACxC,+BAAQ6J,EAAE3C,WACV,kBAAChB,GAAA,EAAD,KAC2B,MAAtB2D,EAAEF,kBAA4BE,EAAEF,iBAAiB9J,KAAI,SAACvJ,EAAGu3C,GACtD,OAAO,kBAAClnC,GAAA,EAAD,CAAKkB,GAAG,IAAI7H,IAAK6tC,GACpB,8BAAOv3C,EAAEqO,KAAO,IAAhB,KACA,kBAAC,KAAD,CAAQyC,SAAU,SAAC6I,GAAD,OAlOzC,SAACvL,EAAsBkY,GACxDlY,EAAqBkpC,SAAWhxB,EAChC,IAAI8wB,EAAQP,EAAsBvjC,QAAO,SAAAC,GAAC,OAAIA,EAAE0zB,qBAAuB74B,EAAqB64B,uBAAqB,GAE7G6Q,EAA2B,GAC/BV,EAAM/jC,iBAAiB9J,KAAI,SAAA4K,GACnBA,EAAEf,yBAA2BhF,EAAqBgF,wBAClD0kC,EAAyB1jC,KAAKhG,GAE9B0pC,EAAyB1jC,KAAKD,MAGtCijC,EAAM/jC,iBAAmBykC,EAEzB,IAAI/Z,EAAW,GACf8Y,EAAsBttC,KAAI,SAAA4K,GAClBA,EAAE8yB,qBAAuB74B,EAAqB64B,oBAC9ClJ,EAAS3pB,KAAKgjC,GAEdrZ,EAAS3pB,KAAKD,MAEtB2iC,EAA0B/Y,GA6M2Dga,CAA6B/3C,EAAG2Z,IAAQ2M,QAAStmB,EAAEs3C,SAAUrtC,OAAQ,GAAII,MAAO,eAOrI,kBAACuF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,SAASF,QApN9F,WACjC,GAAiB,GAAb2mC,EAAJ,CAKA,IAAIuB,EAA8B,GAElCnB,EAAsBttC,KAAI,SAAAgK,GACI,MAAtBA,EAAEF,kBACFE,EAAEF,iBAAiB9J,KAAI,SAAAvJ,GACfA,EAAEs3C,UACFU,EAA4B5jC,KAAK,CAC7BqiC,UAAWA,EACXrjC,wBAAyBpT,EAAEoT,wBAC3BkkC,SAAUt3C,EAAEs3C,iBAOhC,IAAI/oC,EAAc,CACdkoC,UAAWA,EACXxd,0BAA2B56B,EAAQyL,WACnCutC,2BAA4BW,GAGhCp0C,GAAW,GACX/B,EAAS,mCAAoC0M,GACxC/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA9B1BvB,EAAY,QAAS,8DAA4D,QAAS,QAkNwE,uBAAGyG,UAAU,gBAA3I,sDC1XjC,SAASmvC,GAAT,GAA8C,IAAvB9lC,EAAsB,EAAtBA,KAAMtF,EAAgB,EAAhBA,aACxC,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAuFkJ,YAAQ,CAAEC,KAAM,WAA/FC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAC5D,GADA,EAAyEC,UAC9BzO,IAAM8E,UAAS,IAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAqCx3B,IAAM8E,SAAS,GAApD,mBAAOmG,EAAP,KAAmBouC,EAAnB,KAGA,EAA6Br5C,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,EAAP,oBAWA,EAA6B33B,IAAM8E,SAAS,MAA5C,mBAAOw0C,EAAP,KAAeC,EAAf,KACA,EAA6Cv5C,IAAM8E,SAAS,IAA5D,mBAAO00C,EAAP,KAAuBC,EAAvB,KAmBAxzC,qBAAU,WACNyzC,IACAC,OACD,CAACL,IAGJ,MAAyDt5C,IAAM8E,SAAS,IAAxE,mBAAOgzC,EAAP,KAA6BC,EAA7B,KACM2B,EAA0B,WAC5Bx2C,EAAQ,8BACHP,MAAK,SAAAb,GACF,IAAIo2C,EAAkBp2C,EAAOI,KAE7B,GAAc,MAAVo3C,EACA,IAAK,IAAIj0B,KAAK6yB,EACV,IAAK,IAAIC,KAAKD,EAAgB7yB,GAAG+yB,oBACzBkB,EAAOjB,yBAAyB5jC,QAAO,SAAAC,GAAC,OAAIA,EAAE4jC,uBAAyBJ,EAAgB7yB,GAAG+yB,oBAAoBD,GAAGG,uBAC9F,GAAhB5jC,EAAEpE,cAAoB7J,OAAS,GAClCyxC,EAAgB7yB,GAAG+yB,oBAAoBD,GAAG7nC,YAAa,EACvD4nC,EAAgB7yB,GAAG+yB,oBAAoBD,GAAGh0B,UAAW,IAGrD+zB,EAAgB7yB,GAAG+yB,oBAAoBD,GAAG7nC,YAAa,EACvD4nC,EAAgB7yB,GAAG+yB,oBAAoBD,GAAGh0B,UAAW,GAMrE,GAAY,MAAR7Q,EACA,IAAK,IAAI+R,KAAK6yB,EACV,IAAK,IAAIC,KAAKD,EAAgB7yB,GAAG+yB,oBACzB9kC,EAAKsmC,2BAA2BnlC,QAAO,SAAAC,GAAC,OAAoB,GAAhBA,EAAEpE,YAC3CoE,EAAE4jC,uBAAyBJ,EAAgB7yB,GAAG+yB,oBAAoBD,GAAGG,yBAAuB7xC,OAAS,IACxGyxC,EAAgB7yB,GAAG+yB,oBAAoBD,GAAG7nC,YAAa,GAMvEynC,EAAyBG,MAG5Bt1C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAkElC,EAA2D/E,IAAM8E,SAAS,IAA1E,mBAAOkzC,EAAP,KAA8BC,GAA9B,KACM0B,GAA+B,WACjCz2C,EAAQ,oBACHP,MAAK,SAAAb,GACF,IAAIy2C,EAAQz2C,EAAOI,KACnB,GAAc,MAAVo3C,EACA,IAAK,IAAIj0B,KAAKkzB,EACV,IAAK,IAAIJ,KAAKI,EAAMlzB,GAAG7Q,iBACf8kC,EAAOd,2BAA2B/jC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2BgkC,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAG5jC,yBACvF,GAAdG,EAAE+jC,YAAkBhyC,OAAS,GAChC8xC,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAGM,UAAW,EACxCF,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAGh0B,UAAW,IAGxCo0B,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAGM,UAAW,EACxCF,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAGh0B,UAAW,GAMxD,GAAY,MAAR7Q,GAAqD,MAArCA,EAAKumC,6BACrB,IAAK,IAAIx0B,KAAKkzB,EACV,IAAK,IAAIJ,KAAKI,EAAMlzB,GAAG7Q,iBACflB,EAAKumC,6BAA6BplC,QAAO,SAAAC,GAAC,OAAkB,GAAdA,EAAE+jC,UAC7C/jC,EAAEH,yBAA2BgkC,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAG5jC,2BAAyB9N,OAAS,IAC/F8xC,EAAMlzB,GAAG7Q,iBAAiB2jC,GAAGM,UAAW,GAKxDR,GAA0BM,MAE7B31C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAqElC,GAA6BD,mBAAS,OAAtC,qBAAO+uC,GAAP,MAAeC,GAAf,MAwBA7tC,qBAAU,WACNyvB,GAA+B,mBAAmB,SAAU5zB,GAAU01B,EAAkB11B,MA9PxFoB,EAAQ,UACHP,MAAK,SAAAb,GAEF,GADA23C,EAAmB33C,EAAOI,MACd,MAARoR,EAAc,CACd,IAAIwmC,EAAUh4C,EAAOI,KAAKuS,QAAO,SAAAC,GAAC,OAAIA,EAAEkjC,WAAatkC,EAAKgmC,OAAO1B,aAAW,GAC5E2B,EAAWO,GACXxrC,EAAS,SAAUwrC,GAAS,OAGnCl3C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA8N9BgzC,EAAyB,IACb,MAARzkC,GACA+lC,EAAe/lC,EAAKrI,YACpBysB,EAAWpkB,EAAKtR,QAChBsM,EAAS,SAAUgF,EAAKtR,QAAQ,GAChCsM,EAAS,QAASgF,EAAKsiB,OACvBtnB,EAAS,OAAQgF,EAAKkD,MACtBlI,EAAS,QAASgF,EAAKyE,SAGvBshC,EAAe,GACf3hB,EAAW,IACXppB,EAAS,SAAU,IAAI,GACvBirC,EAAW,MACXjrC,EAAS,SAAU,IAAI,GACvBA,EAAS,QAAS,IAClBA,EAAS,OAAQ,IACjBA,EAAS,QAAS,OAQvB,IAgCH,OACI,oCACI,yBAAKrE,UAAU,WAEX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC1B,GAAA,EAAD,CAAQG,KAAK,SAASxH,MAAM,UAAUsH,QAtE3C,SAAC6J,EAAOC,GACnB/M,MAqEuE,uBAAG/D,UAAU,wBAApE,YACA,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,aACZ,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,KACI,kBAAC61B,EAAA,EAAD,CAAKC,OAAK,EAAC/pC,UAAU,oBAAoBE,MAAO,CAAEkY,OAAQ,YACtD,kBAAC4xB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAASjqC,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAQ,uBAAGjnC,MAAM,gBAAlH,iBAEJ,kBAAConC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAS,uBAAGjnC,MAAM,6BAAlJ,8BAEJ,kBAAConC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,QAAX4pC,GAAmB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,GAAW,SAAS,uBAAGjnC,MAAM,6BAAlJ,wCAGR,kBAACsnC,GAAA,EAAD,CAAYC,UAAWP,GAAQ5pC,UAAU,2BACrC,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC6R,GAAA,EAAD,CAAMiI,SAAUne,GAzD3C,SAACnM,GACd,IAAIwN,EAAc,CACdzE,WAAYA,EACZ2qB,MAAO1zB,EAAK0zB,MACZpf,KAAMtU,EAAKsU,KACXuB,MAAO7V,EAAK6V,MACZ6/B,UAAW0B,EAAO1B,UAClB51C,OAAQA,EACR8sC,MAAO5f,KAAK6qB,SAASj7B,SAAS,IAAIyX,OAAO,GACzC6D,0BAA2B56B,EAAQyL,YAGvClG,GAAW,GACmB,GAA1B2K,EAAYzE,WACZjI,EAAS,UAAW0M,GACf/M,MAAK,SAAAb,GACF0B,EAAY,QAAS,wCAAmC,UAAW,MACnE61C,EAAev3C,EAAOI,KAAK+I,eAE9BrI,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B9B,EAAQ,UAAWyM,GACd/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,SA+B8CkF,UAAU,iBAC9C,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC9EjE,EAAOwnB,OAAS,0BAAM3rB,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,SAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,OAAOiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC7EjE,EAAOoI,MAAQ,0BAAMvM,UAAU,kCAAhB,4BAGxB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,UAAH,KACA,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC9EjE,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACI0H,QAAS6nC,EACT3nC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAO8lC,WACjChmC,KAAK,SACLK,SAAU,SAACC,GA/UtD,IAAC5N,EAClBi1C,EADkBj1C,EA+U0E4N,GA7U5F5D,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA6UgDlK,MAAiB,MAAVg1C,GAAkBE,EAAernC,MAAK,SAAAnR,GAAG,OAAIA,EAAI42C,YAAc0B,EAAO1B,aAC7E/vC,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOkrC,QAAU,0BAAMrvC,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WAAH,KACA,kBAAC,KAAD,CACI0H,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GAtXtD,IAAC5N,IAsX0E4N,EAAE5N,MArX9FozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAoXgDlK,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,6BAI9B,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAApG,kBAOxB,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KAC6B,MAAxB+mC,GAAgCA,EAAqBptC,KAAI,SAACgK,EAAG7J,GAC1D,OAAO,kBAAC2G,GAAA,EAAD,CAAKvH,UAAU,OAAOyI,GAAG,KAAK7H,IAAK,CAAEA,QACxC,+BAAQ6J,EAAE3C,WACV,kBAAChB,GAAA,EAAD,KAC8B,MAAzB2D,EAAE0jC,qBAA+B1jC,EAAE0jC,oBAAoB1tC,KAAI,SAACvJ,EAAGu3C,GAC5D,OAAO,kBAAClnC,GAAA,EAAD,CAAKkB,GAAG,IAAI7H,IAAK6tC,GACpB,8BAAOv3C,EAAE4Q,UAAY,IAArB,KACA,kBAAC,KAAD,CAAQoS,SAAUhjB,EAAEgjB,SAAUlS,SAAU,SAAC6I,GAAD,OA5U7D,SAAC6a,EAAoBlO,GACxDkO,EAAmBrlB,WAAamX,EAChC,IAAIkxB,EAAiBb,EAAqBrjC,QAAO,SAAAC,GAAC,OAAIA,EAAEkkC,mBAAqBjjB,EAAmBijB,qBAAmB,GAE/GC,EAAyB,GAC7BF,EAAeP,oBAAoB1tC,KAAI,SAAA4K,GAC/BA,EAAEwjC,sBAAwBnjB,EAAmB2iB,sBAC7CO,EAAuBtjC,KAAKogB,GAE5BkjB,EAAuBtjC,KAAKD,MAGpCqjC,EAAeP,oBAAsBS,EAErC,IAAI3Z,EAAW,GACf4Y,EAAqBptC,KAAI,SAAA4K,GACjBA,EAAEsjC,mBAAqBD,EAAeC,kBACtC1Z,EAAS3pB,KAAKojC,GAEdzZ,EAAS3pB,KAAKD,MAEtByiC,EAAyB7Y,GAuTkF6Z,CAA+B53C,EAAG2Z,IAAQ2M,QAAStmB,EAAEmP,WAAYlF,OAAQ,GAAII,MAAO,eAO/J,kBAACuF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,SAASF,QA9TpG,WAC3B,GAAkB,GAAdhG,EAAJ,CAKA,IAAI+uC,EAAqB,GAEzBlC,EAAqBptC,KAAI,SAAAgK,GACQ,MAAzBA,EAAE0jC,qBACF1jC,EAAE0jC,oBAAoB1tC,KAAI,SAAAvJ,GAClBA,EAAEmP,YAA4B,GAAdnP,EAAEgjB,UAClB61B,EAAmBzkC,KAAK,CACpBtK,WAAYA,EACZqtC,sBAAuBn3C,EAAEm3C,sBACzBhoC,WAAYnP,EAAEmP,mBAOlC,IAAIZ,EAAc,CACdzE,WAAYA,EACZ8M,MAAO,GACP6d,MAAO,GACPpf,KAAM,GACNs4B,MAAO,GACP9sC,OAAQ,GACRo4B,0BAA2B56B,EAAQyL,WACnC2uC,2BAA4BI,GAGhCj1C,GAAW,GACX/B,EAAS,yBAA0B0M,GAC9B/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAnC1BvB,EAAY,QAAS,kEAA6D,QAAS,QA4TiE,uBAAGyG,UAAU,gBAArI,6BAIZ,kBAACoqC,GAAA,EAAD,CAASC,MAAM,OACX,kBAACvjC,GAAA,EAAD,KAC8B,MAAzBinC,GAAiCA,EAAsBttC,KAAI,SAACgK,EAAG7J,GAC5D,OAAO,kBAAC2G,GAAA,EAAD,CAAKvH,UAAU,OAAOyI,GAAG,KAAK7H,IAAK,CAAEA,QACxC,+BAAQ6J,EAAE3C,WACV,kBAAChB,GAAA,EAAD,KAC2B,MAAtB2D,EAAEF,kBAA4BE,EAAEF,iBAAiB9J,KAAI,SAACvJ,EAAGu3C,GACtD,OAAO,kBAAClnC,GAAA,EAAD,CAAKkB,GAAG,IAAI7H,IAAK6tC,GACpB,8BAAOv3C,EAAEqO,KAAO,IAAhB,KACA,kBAAC,KAAD,CAAQ2U,SAAUhjB,EAAEgjB,SAAUlS,SAAU,SAAC6I,GAAD,OA9P/D,SAACvL,EAAsBkY,GACxDlY,EAAqBkpC,SAAWhxB,EAChC,IAAI8wB,EAAQP,EAAsBvjC,QAAO,SAAAC,GAAC,OAAIA,EAAE0zB,qBAAuB74B,EAAqB64B,uBAAqB,GAE7G6Q,EAA2B,GAC/BV,EAAM/jC,iBAAiB9J,KAAI,SAAA4K,GACnBA,EAAEf,yBAA2BhF,EAAqBgF,wBAClD0kC,EAAyB1jC,KAAKhG,GAE9B0pC,EAAyB1jC,KAAKD,MAGtCijC,EAAM/jC,iBAAmBykC,EAEzB,IAAI/Z,EAAW,GACf8Y,EAAsBttC,KAAI,SAAA4K,GAClBA,EAAE8yB,qBAAuB74B,EAAqB64B,oBAC9ClJ,EAAS3pB,KAAKgjC,GAEdrZ,EAAS3pB,KAAKD,MAEtB2iC,GAA0B/Y,GAyOiFga,CAA6B/3C,EAAG2Z,IAAQ2M,QAAStmB,EAAEs3C,SAAUrtC,OAAQ,GAAII,MAAO,eAO3J,kBAACuF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAettB,UAAU,aAAakH,KAAK,SAASF,QAhP9F,WACjC,GAAkB,GAAdhG,EAAJ,CAKA,IAAIgvC,EAA+B,GAEnCjC,EAAsBttC,KAAI,SAAAgK,GACI,MAAtBA,EAAEF,kBACFE,EAAEF,iBAAiB9J,KAAI,SAAAvJ,GACfA,EAAEs3C,UAA0B,GAAdt3C,EAAEgjB,UAChB81B,EAA6B1kC,KAAK,CAC9BtK,WAAYA,EACZsJ,wBAAyBpT,EAAEoT,wBAC3BkkC,SAAUt3C,EAAEs3C,iBAOhC,IAAI/oC,EAAc,CACdzE,WAAYA,EACZ8M,MAAO,GACP6d,MAAO,GACPpf,KAAM,GACNs4B,MAAO,GACP9sC,OAAQ,GACRo4B,0BAA2B56B,EAAQyL,WACnC4uC,6BAA8BI,GAGlCl1C,GAAW,GACX/B,EAAS,oCAAqC0M,GACzC/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,UAAW,SAClFZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAnC1BvB,EAAY,QAAS,kEAA6D,QAAS,QA8OuE,uBAAGyG,UAAU,gBAA3I,sD,mCC1bjC,SAASiwC,GAAT,GAAiE,IAAjBlsC,EAAgB,EAAhBA,aAC3D,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAkEkJ,YAAQ,CAAEC,KAAM,WAA1EC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAQE,EAAxC,EAAwCA,SAAUE,EAAlD,EAAkDA,YAElD,EAAmC1J,mBAAS,MAA5C,mBAAOq1C,EAAP,KAAkBC,EAAlB,KAEA,EAA2Bt1C,mBAASU,QAApC,mBAAOmmC,EAAP,KAAcC,EAAd,KAGA,EAAiD5rC,IAAM8E,SAAS,IAAhE,mBAAO8nB,EAAP,KAAyBytB,EAAzB,KACA,EAA2Cr6C,IAAM8E,SAAS,IAA1D,mBAAOw1C,EAAP,KAAsBC,EAAtB,KAEA,EAAmCv6C,IAAM8E,SAAS,CAC9C,CAAER,MAAO,gBAAiBqG,MAAO,iBACjC,CAAErG,MAAO,kBAAaqG,MAAO,mBAC7B,CAAErG,MAAO,eAAgBqG,MAAO,kBAH7B6vC,EAAP,oBAWA,EAA0Dx6C,IAAM8E,SAAS,IAAzE,mBAAO21C,EAAP,KAA8BviB,EAA9B,KACA,EAAqCl4B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KAOA10C,qBAAU,WACN/C,EAAQ,iBACHP,MAAK,SAAAb,GAAM,OAAIo2B,EAAyBp2B,EAAOI,SAC/CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAC/B,IAEH,IAIA,EAA6BD,mBAAS,MAAtC,mBAAO2kB,EAAP,KAAemxB,EAAf,KA0BA30C,qBAAU,WACW,MAAbk0C,GACAn3C,EAAS,0BAA2Bm3C,GAC/Bx3C,MAAK,SAAAk4C,GAAW,OAAIjP,EAAUiP,EAAY34C,SAC1CU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAEnC,CAACo1C,IAEJ,IAAM1kC,EAAezV,IAAM0V,SACrBC,EAAcC,2BAAgB,CAChCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IAQhB,OACI,oCACI,yBAAK9L,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,WAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAASjD,GAAc,uBAAG/D,UAAU,wBAA5D,aAEU,MAAbkwC,IAAsBO,GACnB,kBAAClpC,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,sBAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAa,uBAAG1L,UAAU,oBAIxD,MAAbkwC,GACG,kBAACppC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAACuL,EAAA,EAAD,KACI,kBAACyc,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,wBAAIzI,UAAU,aAAd,oCACA,2BAAOA,UAAU,gBAAjB,mEAIZ,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GAtE/B,SAACnM,GAEd,IAAM44C,EAA2BR,GAAiBA,EAAc7zC,OAAS,EACrE6zC,EAAc5vC,KAAI,SAAA2R,GAAC,OAAIA,EAAE7F,QACzB,KAEA9G,EAAc,CACdqrC,OAAQh0C,GAAe7E,EAAK84C,aAC5BC,IAAKl0C,GAAe7E,EAAKg5C,WACzB1rC,KAAMod,EACN0tB,cAAeQ,GAGnB/1C,GAAW,GACX/B,EAAS,4CAA6C0M,GACjD/M,MAAK,SAAAb,GACF4N,EAAY8G,KAAOhX,EAAQgX,KAC3BokC,EAAWlrC,GACX0qC,EAAct4C,EAAOI,SAExBU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAkDE,kBAACgM,GAAA,EAAD,CAAK9G,UAAU,WACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAOzH,UAAU,sBAAjB,gBAAmD,2BAAOA,UAAU,eAAjB,sDAAnD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACbkxC,aAAa,MACbhqC,KAAK,OACLS,KAAK,cACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO4sC,aAAe,0BAAM/wC,UAAU,kCAAhB,4BAG/B,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAOzH,UAAU,sBAAjB,cAAiD,2BAAOA,UAAU,eAAjB,sDAAjD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACbkxC,aAAa,MACbhqC,KAAK,OACLS,KAAK,YACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO8sC,WAAa,0BAAMjxC,UAAU,kCAAhB,4BAI7B,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACjB,GAAA,EAAD,KACI,2BAAOzH,UAAU,2BAAjB,sBACA,kBAAC,KAAD,CACI0H,QAAS6oC,EACT5oC,KAAK,mBACLK,SAAU,SAACC,GAlIhC,IAAC5N,IAkI8D4N,EAAE5N,MAjI5F+1C,EAAqB/1C,GACrBgK,EAAS,mBAAoBhK,GAAO,GACpCkK,EAAY,qBAgIoClK,MAA2B,IAApBsoB,GAA0B4tB,EAAyBroC,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUsoB,KACpF/kB,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,oBACR,CAAES,UAAU,OAGnBjE,EAAOwe,kBAAoB,0BAAM3iB,UAAU,kCAAhB,4BAGpC,kBAACuH,GAAA,EAAD,CAAKvH,UAAU,UACX,kBAACyH,GAAA,EAAD,KACI,2BAAOzH,UAAU,sBAAjB,6BACA,kBAAC,KAAD,CACI0H,QAAS8oC,EACT5oC,eAAgB,SAAAC,GAAM,OAAIA,EAAO0E,MACjCxE,eAAgB,SAAAF,GAAM,OAAIA,EAAO4nB,kBACjC9nB,KAAK,gBACLK,SAAU,SAACC,GA5InC,IAAC5N,EACzBi2C,EADyBj2C,EA4I8D4N,GA1IvF5D,EAAS,gBAAiBhK,GAAO,IA2IeA,MAAOg2C,EACPzyC,YAAY,YACZ+e,SAAO,EACPxU,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,iBACR,CAAES,UAAU,SAM5B,kBAACb,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACT,GAAA,EAAD,CAAQrH,MAAM,SAASwH,KAAK,SAASlH,UAAU,eAAegH,QA/FzE,WAC7BspC,EAAkBE,KA8FsB,qBAEJ,kBAACjpC,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,MAClB,kBAAC3B,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,aAAakH,KAAK,UAAjD,wBAEJ,kBAACK,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,MAClB,kBAAC3B,GAAA,EAAD,CAAQrH,MAAM,SAASM,UAAU,aAAakH,KAAK,SAASF,QAAS,WAlJ7G0pC,GAAe,KAkJyB,wBAS9BD,GAAcP,GACZ,kBAACppC,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAACuL,EAAA,EAAD,KACI,kBAACC,EAAA,EAAD,KACI,kBAACk9B,GAAD,CAAkBjB,UAAWA,EAAW1wB,OAAQA,EAAQrX,IAAKqD,QAMhFilC,GAAcP,GAAaxO,EAAMllC,OAAS,GACvC,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC2oC,GAAD,CAAkBlB,UAAWxO,EAAOliB,OAAQA,EAAQrX,IAAKqD,QAS9E,IAAM2lC,GAAmBp7C,IAAMs7C,YAAW,SAAC5uC,EAAO0F,GACrD,IAAM+nC,EAAYztC,EAAMytC,UAClB1wB,EAAS/c,EAAM+c,OACrB,OACI,yBAAKrX,IAAKA,GACN,yBAAKnI,UAAU,OACX,yBAAKA,UAAU,SACX,wBAAIA,UAAU,aAAd,oCACA,gGAEJ,yBAAKA,UAAU,oBACX,4CAAkBhD,GAAmB,IAAIvF,SAGtC,MAAV+nB,GACG,yBAAKxf,UAAU,kBACX,yBAAKA,UAAU,SACX,8BAAM,0CAAqB,6BAAM,8BAAOvD,GAAY+iB,EAAOsxB,QAAU,MAAQr0C,GAAY+iB,EAAOwxB,OAEpG,yBAAKhxC,UAAU,SACX,8BAAM,0CAAwB,6BAAM,8BAAOwf,EAAOjT,OAEtD,yBAAKvM,UAAU,SACX,8BAAM,iDAA+B,6BAAM,8BAAOwf,EAAOja,QAIvD,MAAb2qC,GAAqBA,EAAUzvC,KAAI,SAAC4K,EAAGzK,GAAJ,OAChC,yBAAKA,IAAKA,GACN,4BAAI,gCAASyK,EAAEimC,UAAU90C,OAAS,EAAI6O,EAAEglC,cAAgB,KACvDhlC,EAAEimC,UAAU7wC,KAAI,SAAC8wC,EAAGC,GAAJ,OACb,yBAAKxxC,UAAU,YAAYY,IAAK4wC,GAC5B,yBAAKxxC,UAAU,gBACX,yBAAKA,UAAU,UACX,8BAAM,sCAAoB,8BAAO,IAAMuxC,EAAE1sC,OAE7C,yBAAK7E,UAAU,SACX,8BAAM,2CAAsB,8BAAO,IAAMuxC,EAAE97B,SAE/C,yBAAKzV,UAAU,SACX,8BAAM,iDAA4B,8BAAO,IAAMuxC,EAAEpkC,cAErD,yBAAKnN,UAAU,SACX,8BAAM,sCAAoB,8BAAO,IAAMuxC,EAAEthC,OAE7C,yBAAKjQ,UAAU,SACX,8BAAM,qCAAmB,8BAAO,IAAMuxC,EAAEhkC,MAE5C,yBAAKvN,UAAU,SACX,8BAAM,4CAA0B,8BAAO,IAAMuxC,EAAE/jC,aAEnD,yBAAKxN,UAAU,SACX,8BAAM,uCAAkB,8BAAO,IAAMuxC,EAAEE,SAE3C,yBAAKzxC,UAAU,SACX,8BAAM,6CAA2B,8BAAO,IAAMuxC,EAAE7jC,cAEpD,yBAAK1N,UAAU,SACX,8BAAM,wCAAsB,8BAAO,IAAMuxC,EAAE5jC,SAE/C,yBAAK3N,UAAU,SACX,8BAAM,sCAAoB,8BAAO,IAAMuxC,EAAEG,OAE7C,yBAAK1xC,UAAU,SACX,8BAAM,yCAAuB,8BAAO,IAAMuxC,EAAEvjC,UAEhD,yBAAKhO,UAAU,SACX,8BAAM,2DAAmC,8BAAO,IAAMuxC,EAAEI,qBAE5D,yBAAK3xC,UAAU,UACX,8BAAM,0DAAkC,8BAAO,IAAMvD,GAAY80C,EAAEK,iBAEvE,yBAAK5xC,UAAU,SACX,8BAAM,qDAA6B,8BAAO,IAAMuxC,EAAE/lB,gBAErD+lB,EAAEM,aAAapxC,KAAI,SAAC+Q,EAAGsgC,GAAJ,OAChB,yBAAK9xC,UAAU,SAASY,IAAKkxC,GACzB,8BAAM,iDAA+B,8BAAO,IAAMtgC,EAAEhE,WAAa,KAAOgE,EAAEigC,OAAS,KAAOjgC,EAAE9D,YAAc,MAAQ8D,EAAE7D,YAG3H4jC,EAAEQ,uBAAuBv1C,OAAS,GAC/B,oCACI,yBAAKwD,UAAU,UACX,8BAAM,yEAETuxC,EAAEQ,uBAAuBtxC,KAAI,SAACuxC,EAAGF,GAAJ,OAC1B,yBAAK9xC,UAAU,SAASY,IAAKkxC,GACzB,8BAAO,IAAME,EAAEx8B,MAAQ,MAAQw8B,EAAEv8B,OAAS,MAAQu8B,EAAEntC,wBAcvFusC,GAAmBr7C,IAAMs7C,YAAW,SAAC5uC,EAAO0F,GACrD,IAAM+nC,EAAYztC,EAAMytC,UAGlB99B,GAFS3P,EAAM+c,OAEX0wB,EAAUzvC,KAAI,SAAUwxC,GAC9B,IAAIC,EAAQ32C,OAAO42C,OAAOF,GACZ12C,OAAOC,KAAKy2C,GAK1B,OAJAC,EAAME,OAAO,GAAI,GACjBF,EAAME,OAAO,GAAI,GACjBF,EAAME,OAAO,GAAI,GACjBF,EAAM,IAAMr1C,GAAoBq1C,EAAM,KAC/BA,MAGX,SAASG,EAAap6C,EAAM6F,GACxB,IAAIw0C,EAAS/2C,OAAOC,KAAKvD,EAAK,IAC1Bs6C,EAAYt6C,EAAKwI,KAAI,SAAU+xC,GAC/B,OAAOF,EAAO7xC,KAAI,SAAUgyC,GACxB,OAAOD,EAAIC,GAAaD,EAAIC,GAAa,SAIjD,OADAF,EAAUG,QAAQ50C,GACXy0C,EAtBkD,4CA0B7D,4BAAAr7C,EAAA,sDACQ4G,EAAS,CAAC,gBAAiB,OAAQ,YAAU,kBAAgB,OAAQ,MAAO,aAC5E,QAAM,cAAe,SAAU,OAAQ,UAAW,4BAAuB,sBACzE,0BAAqB,0CAEzB60C,KAAaC,iBAAiBl6C,KAA9B,uCAAmC,WAAOm6C,GAAP,uBAAA37C,EAAA,6DACzB4sB,EAAM,IAAIrsB,KACVq7C,EAASD,EAASE,MAAM,GAAGprC,KAAK,OAChC4qC,EAAYF,EAAajgC,EAAGtU,GAC5Bk1C,EAAeT,EAAU,GAAG/1C,OAElCs2C,EAAOG,KAAK,MAAM54C,MAAMk4C,GACVO,EAAOI,YACfC,EAAY9vC,OAAO+vC,aAAa,GAAKJ,GAC3CF,EAAON,IAAI,GAAGtyC,MAAM,QAAQ,GAC5B4yC,EAAOO,MAAM,MAAQF,EAAY,KAVF,kBAWxBN,EAASS,cAAc56C,MAAK,SAAC66C,GAChCC,kBAAOD,EAAK,gBAAkBzvB,EAAI2vB,WAAa3vB,EAAI4vB,WAAa,GAAK5vB,EAAIhqB,cAAgB,aAZ9D,4CAAnC,uDALJ,4CA1B6D,sBAgD7D,OACI,oCACI,kBAACyN,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,sBACnB,kBAAC+G,GAAA,EAAD,CAAQ/G,UAAU,eAAegH,QAnDgB,4CAmDjD,sBAIJ,kBAACgN,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,yBAAKrR,MAAM,oBACP,2BAAOgK,GAAG,YAAYhK,MAAM,SACxB,+BACI,4BACI,6CACA,oCACA,yCACA,+CACA,oCACA,mCACA,0CACA,qCACA,2CACA,sCACA,oCACA,uCACA,yDACA,uDACA,mDACA,wEAGR,+BACKstC,EAAUzvC,KAAI,SAAA4I,GAAI,OACf,4BACI,4BAAKA,EAAKgnC,eACV,4BAAKhnC,EAAKxE,MACV,4BAAKwE,EAAKoM,QACV,4BAAKpM,EAAK8D,aACV,4BAAK9D,EAAK4G,MACV,4BAAK5G,EAAKkE,KACV,4BAAKlE,EAAKmE,YACV,4BAAKnE,EAAKooC,QACV,4BAAKpoC,EAAKqE,aACV,4BAAKrE,EAAKsE,QACV,4BAAKtE,EAAKqoC,MACV,4BAAKroC,EAAK2E,SACV,4BAAK3E,EAAKsoC,oBACV,4BAAK90C,GAAoBwM,EAAKuoC,gBAC9B,4BAAKvoC,EAAKmiB,eACV,4BAAKniB,EAAK0oC,qCCvbrC4B,GAAe,CACxBC,eAAgB,qBAChBC,gBAAiB,0BACjBC,OAAQ,SACRC,gBAAiB,mBACjBC,MAAO,QACPC,wBAAyB,+BACzBC,iBAAkB,oBAClBC,SAAU,WACVC,mBAAoB,4BACpBC,cAAe,gBACfC,YAAa,kBACbC,gBAAiB,sBACjBC,uBAAwB,iCACxBC,gCAAiC,2CACjCC,kCAAmC,gDACnCC,IAAK,MACLC,IAAK,MACLC,WAAY,aACZC,YAAa,YACbC,YAAa,cACbC,OAAQ,SACRC,OAAQ,SACRC,SAAU,WACVC,QAAS,UACTC,cAAe,oBACfC,GAAI,KACJC,sBAAuB,gCACvBC,iBAAkB,oBAClBC,eAAgB,uBAChBC,QAAS,aACTC,cAAe,uBACfC,KAAM,OACNC,aAAc,gBACdC,cAAe,gBACfC,KAAM,OACNC,gBAAiB,sBACjBC,KAAM,OACNC,cAAe,0BACfC,cAAe,oBACfC,eAAgB,kBAChBC,qBAAsB,kBACtBC,uBAAwB,iCACxBC,6BAA8B,iCAC9BC,uBAAwB,2BACxBC,6BAA8B,2BAC9BC,gBAAiB,mBACjBC,sBAAuB,mBACvBC,aAAc,mBACdC,qBAAsB,yBACtBC,yBAA0B,sCAC1BC,qBAAsB,4BACtBC,IAAK,MACLC,OAAQ,SACRC,YAAa,eACbC,yBAA0B,6BAC1BC,UAAW,kBACXC,iBAAkB,iCC2Kf,IAAMjG,GAAmBp7C,IAAMs7C,YAAW,SAAC5uC,EAAO0F,GACvD,IAAM+nC,EAAYztC,EAAMytC,UAClB1wB,EAAS/c,EAAM+c,OAGrB,SAAS63B,EAAOh9C,GAEd,MADkB,uDACDi9C,KAAKj9C,GAGxB,OACE,yBAAK8N,IAAKA,GACR,yBAAKnI,UAAU,OACb,yBAAKA,UAAU,SACb,wBAAIA,UAAU,aAAd,wCAAmDwf,QAAnD,IAAmDA,OAAnD,EAAmDA,EAAQpY,WAC3D,iGAAuDoY,QAAvD,IAAuDA,OAAvD,EAAuDA,EAAQpY,UAA/D,MAEF,yBAAKpH,UAAU,oBACb,4CAAkBhD,GAAmB,IAAIvF,SAIlC,MAAV+nB,GACC,yBAAKxf,UAAU,kBACb,yBAAKA,UAAU,SACb,8BAAM,0CAAqB,6BAAM,wCAAUvD,GAAY+iB,EAAOsxB,QAA7B,cAA0Cr0C,GAAY+iB,EAAOwxB,QAEhG,yBAAKhxC,UAAU,SACb,8BAAM,0CAAwB,6BAAM,8BAAOwf,EAAOjT,QAIxD,4BAAI,0DAEW,MAAb2jC,GAAqBA,EAAUzvC,KAAI,SAACpG,EAAOuG,GAAR,OACjC,yBAAKA,IAAKA,GACPvG,EAAMk9C,gBAAkBl9C,EAAMk9C,eAAe/6C,OAAS,GACrD,oCACE,yBAAKwD,UAAU,aACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,UACb,8BAAM,gDAA2B,8BAA8B,OAAvB3F,EAAMm9C,mBAAgD5hD,IAAvByE,EAAMm9C,aAA6B,uBAAsB,IAAMn9C,EAAMm9C,eAE9I,yBAAKx3C,UAAU,UACb,8BAAM,qCAAmB,8BAAsB,OAAf3F,EAAM4V,WAAgCra,IAAfyE,EAAM4V,KAAqB,YAAc,IAAM5V,EAAM4V,OAE9G,yBAAKjQ,UAAU,SACb,8BAAM,gEAAqC,8BAAO,IAAM3F,EAAMquB,UAEhE,yBAAK1oB,UAAU,SACb,8BAAM,wDAAgC,8BAAO,IAAM3F,EAAMpC,OAE3D,6BACA,6BAEEoC,EAAMk9C,gBAAkBl9C,EAAMk9C,eAAe92C,KAAI,SAACg3C,EAAYjG,GAAb,OAC/C,oCACE,yBAAKxxC,UAAU,QAAQY,IAAK4wC,GAC1B,8BAEE,gCAAuC57C,IAAnC+9C,GAAa8D,EAAWC,OAAuB/D,GAAa8D,EAAWC,OAASD,EAAWC,OAFjG,KAIA,kCAAQL,EAAOI,EAAWh3B,MAAMk3B,QAAUh7C,KAAO86C,EAAWh3B,MAAMk3B,QAAQ/6C,OAAO,oBAAsB66C,EAAWh3B,MAAMk3B,SAE1H,yBAAK33C,UAAU,QAAQY,IAAK4wC,GAC1B,0BAAMxxC,UAAU,eAEd,gCAAuCpK,IAAnC+9C,GAAa8D,EAAWC,OAAuB/D,GAAa8D,EAAWC,OAASD,EAAWC,OAFjG,KAIA,kCAAQL,EAAOI,EAAWh3B,MAAMm3B,MAAQj7C,KAAO86C,EAAWh3B,MAAMm3B,MAAMh7C,OAAO,oBAAsB66C,EAAWh3B,MAAMm3B,sBAgBjIC,GArSf,YAAyD,IAAjB9zC,EAAgB,EAAhBA,aACtC,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAmCkJ,YAAQ,CAAEC,KAAM,WAA3CC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAElB,EAAqCvJ,oBAAS,GAA9C,mBAAO41C,EAAP,KAAmBC,EAAnB,KAEA,EAAwB71C,mBAAS,IAAjC,mBAAOi9C,EAAP,KAAaC,EAAb,KAEA,EAAkCl9C,mBAAS,MAA3C,mBAAOuM,EAAP,KAAkB4wC,EAAlB,KAEA,EAA6Bn9C,mBAAS,CACpCi2C,OAAQ,GACRE,IAAK,GACLzkC,KAAM,GACNnF,UAAW,OAJb,mBAAOoY,EAAP,KAAemxB,EAAf,KAOMsH,EAAiB,SAACC,EAAQC,GAC9B,IAAI9V,GAAU,EAOd,OANA8V,EAAM13C,KAAI,SAACm4B,EAAGx8B,GACRw8B,EAAEhsB,KAAOsrC,EAAOE,aAClB/V,EAASjmC,OAIO,IAAZimC,GAAiB,EAAIA,GAGzBgW,EAAe,SAACC,GACpB,OAAOA,EAAQA,EAAMzjC,WAAWkb,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIsB,OAAS,IA2E7E7lB,EAAezV,IAAM0V,SACrBC,EAAcC,2BAAgB,CAClCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IAGd,OACE,yBAAK9L,UAAU,WACb,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,WACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAASjD,GAAc,uBAAG/D,UAAU,wBAA5D,aAED83C,EAAKt7C,OAAS,GAAKi0C,GAClB,kBAAClpC,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,sBACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAa,uBAAG1L,UAAU,oBAI/C,IAAhB83C,EAAKt7C,QAEF,kBAACsK,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,KACE,kBAACyc,GAAA,EAAD,KACE,kBAAC3pB,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACN,wBAAIzI,UAAU,aAAd,iCACA,2BAAOA,UAAU,gBAAjB,+DAIN,kBAACiU,EAAA,EAAD,KACE,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GAhEf,SAACnM,GAChB,GAAiB,MAAbmP,EAAJ,CAKA,IAAI3B,EAAc,CAChBqrC,OAAQh0C,GAAe7E,EAAK84C,aAC5BC,IAAKl0C,GAAe7E,EAAKg5C,WACzB7pC,UAAS,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAW/M,OAGxBS,GAAW,GAEX/B,EAAS,yCAA0C0M,GAChD/M,MAAK,SAAAb,GAAW,IAAD,EACd,GAA4B,IAAlB,OAANA,QAAM,IAANA,GAAA,UAAAA,EAAQI,YAAR,eAAcuE,QAIhB,OAHAk0C,GAAe,GACf51C,GAAW,QACXvB,EAAY,QAAS,uDAAqD,UAAW,OA3DvE,SAACtB,GACrB,IAAMkgD,EAAQ,GAEdlgD,EAAKwI,KAAI,SAAC83C,EAAMn8C,GACd+7C,EAAM7sC,KAAK,CACTsB,GAAI2rC,EAAKH,WACT1vB,QAAS6vB,EAAK7vB,QACdzwB,KAAM+E,GAAmBu7C,EAAKC,eAC9BvoC,KAAMsoC,EAAKtoC,KACXunC,aAAce,EAAKf,aACnBD,eAAgB,KAGlB,IAAMkB,EAAc5iD,KAAKC,MAAMyiD,EAAKG,YAC9BC,EAAY9iD,KAAKC,MAAMyiD,EAAKK,UAElCr9C,OAAOC,KAAKi9C,GAAah4C,KAAI,SAAA2R,GACvBimC,EAAaI,EAAYrmC,MAAQimC,EAAaM,EAAUvmC,KAAQ4Z,MAAMC,QAAQwsB,EAAYrmC,KAAQ4Z,MAAMC,QAAQ0sB,EAAUvmC,IAMnH4Z,MAAMC,QAAQwsB,EAAYrmC,KAAO4Z,MAAMC,QAAQ0sB,EAAUvmC,KAClEqmC,EAAYrmC,GAAG3R,KAAI,SAAAk3C,GACjBgB,EAAUvmC,GAAG3R,KAAI,SAAAm3C,GACfr8C,OAAOC,KAAKo8C,GAAMn3C,KAAI,SAAAo4C,GAChBR,EAAaV,EAAOkB,MAAWR,EAAaT,EAAKiB,KACnDV,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAOmB,EAAMp4B,MAAO,CAAEk3B,OAAQA,EAAOkB,GAAOjB,KAAMA,EAAKiB,eAV9G,YAANzmC,EACF+lC,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAM,GAAD,OAAKtlC,EAAL,aAAWumC,EAAS,YAApB,KAAwCl4B,MAAM,GAAD,OAAKk4B,EAAS,eAEzHR,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAOtlC,EAAGqO,MAAO,CAAEk3B,OAAQc,EAAYrmC,GAAIwlC,KAAMe,EAAUvmC,YAgB5H2lC,EAAQI,GAyBJW,CAAcjhD,EAAOI,MACrBwN,EAAY8G,KAAOhX,EAAQgX,KAC3BokC,EAAWlrC,GACXirC,GAAe,GACf51C,GAAW,MAEZnC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA3B1BvB,EAAY,QAAS,oCAAqC,UAAW,UA+DvD,kBAACuN,GAAA,EAAD,CAAK9G,UAAU,WACb,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAOzH,UAAU,sBAAjB,gBAAmD,2BAAOA,UAAU,eAAjB,8BAAnD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACf+wB,aAAa,MACb7pB,KAAK,OACLS,KAAK,cACLY,SAAUrE,EAAS,CAAEkE,UAAU,QAIrC,kBAACb,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAOzH,UAAU,sBAAjB,cAAiD,2BAAOA,UAAU,eAAjB,8BAAjD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACf+wB,aAAa,MACb7pB,KAAK,OACLS,KAAK,YACLY,SAAUrE,EAAS,CAAEkE,UAAU,QAIrC,kBAACb,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,cAAH,KACA,kBAAC,KAAD,CACE0H,QAAS,CAAC,CAAErN,MAAO,MAAOqG,MAAO,OAAS,CAAErG,MAAO,MAAOqG,MAAO,OAAS,CAAErG,MAAO,MAAOqG,MAAO,QACjGkH,eAAgB,SAAAC,GAAM,OAAIA,EAAOnH,OACjCqH,eAAgB,SAAAF,GAAM,OAAIA,EAAOxN,OACjCsN,KAAK,YACLK,SAAU,SAACC,GAAD,OAAO+vC,EAAa/vC,IAC9B5N,MAAO+M,EACPxJ,YAAY,gBAIlB,kBAAC2J,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,MACpB,kBAAC3B,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,aAAakH,KAAK,UAAjD,8BAWhB4wC,EAAKt7C,OAAS,GAAKi0C,GACnB,oCACE,kBAAC3pC,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAAC,GAAD,CACEuL,OAAQA,EACR0wB,UAAW4H,EACX3vC,IAAKqD,WCYlB,IAAM2lC,GAAmBp7C,IAAMs7C,YAAW,SAAC5uC,EAAO0F,GACvD,IAAM+nC,EAAYztC,EAAMytC,UAClB1wB,EAAS/c,EAAM+c,OAErB,SAAS63B,EAAOh9C,GAEd,MADkB,uDACDi9C,KAAKj9C,GAIxB,OACE,yBAAK8N,IAAKA,GACR,yBAAKnI,UAAU,OACb,yBAAKA,UAAU,SACb,wBAAIA,UAAU,aAAd,4CAAuDwf,QAAvD,IAAuDA,OAAvD,EAAuDA,EAAQpY,WAC/D,qGAA2DoY,QAA3D,IAA2DA,OAA3D,EAA2DA,EAAQpY,UAAnE,MAEF,yBAAKpH,UAAU,oBACb,4CAAkBhD,GAAmB,IAAIvF,SAIlC,MAAV+nB,GACC,yBAAKxf,UAAU,kBACb,yBAAKA,UAAU,SACb,8BAAM,0CAAqB,6BAAM,wCAAUvD,GAAY+iB,EAAOsxB,QAA7B,cAA0Cr0C,GAAY+iB,EAAOwxB,QAEhG,yBAAKhxC,UAAU,SACb,8BAAM,0CAAwB,6BAAM,8BAAOwf,EAAOjT,QAIxD,4BAAI,0DAEW,MAAb2jC,GAAqBA,EAAUzvC,KAAI,SAACpG,EAAOuG,GAAR,OACjC,yBAAKA,IAAKA,GACPvG,EAAMk9C,gBAAkBl9C,EAAMk9C,eAAe/6C,OAAS,GACrD,oCACE,yBAAKwD,UAAU,aACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,UACb,8BAAM,gDAA2B,8BAA8B,OAAvB3F,EAAMm9C,mBAAgD5hD,IAAvByE,EAAMm9C,aAA6B,uBAAsB,IAAMn9C,EAAMm9C,eAE9I,yBAAKx3C,UAAU,UACb,8BAAM,qCAAmB,8BAAsB,OAAf3F,EAAM4V,WAAgCra,IAAfyE,EAAM4V,KAAqB,YAAc,IAAM5V,EAAM4V,OAE9G,yBAAKjQ,UAAU,SACb,8BAAM,gEAAqC,8BAAO,IAAM3F,EAAMquB,UAEhE,yBAAK1oB,UAAU,SACb,8BAAM,wDAAgC,8BAAO,IAAM3F,EAAMpC,OAE3D,6BACA,6BAEEoC,EAAMk9C,gBAAkBl9C,EAAMk9C,eAAe92C,KAAI,SAACg3C,EAAYjG,GAAb,OAC/C,oCACE,yBAAKxxC,UAAU,QAAQY,IAAK4wC,GAC1B,8BAEE,gCAAuC57C,IAAnC+9C,GAAa8D,EAAWC,OAAuB/D,GAAa8D,EAAWC,OAASD,EAAWC,OAFjG,KAIA,kCAAQL,EAAOI,EAAWh3B,MAAMk3B,QAAUh7C,KAAO86C,EAAWh3B,MAAMk3B,QAAQ/6C,OAAO,oBAAsB66C,EAAWh3B,MAAMk3B,SAE1H,yBAAK33C,UAAU,QAAQY,IAAK4wC,GAC1B,0BAAMxxC,UAAU,eAEd,gCAAuCpK,IAAnC+9C,GAAa8D,EAAWC,OAAuB/D,GAAa8D,EAAWC,OAASD,EAAWC,OAFjG,KAIA,kCAAQL,EAAOI,EAAWh3B,MAAMm3B,MAAQj7C,KAAO86C,EAAWh3B,MAAMm3B,MAAMh7C,OAAO,oBAAsB66C,EAAWh3B,MAAMm3B,sBAgBjImB,GArSf,YAA8D,IAAjBh1C,EAAgB,EAAhBA,aAC3C,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAAmCkJ,YAAQ,CAAEC,KAAM,WAA3CC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAElB,EAAqCvJ,oBAAS,GAA9C,mBAAO41C,EAAP,KAAmBC,EAAnB,KAEA,EAAwB71C,mBAAS,IAAjC,mBAAOi9C,EAAP,KAAaC,EAAb,KAEA,EAAkCl9C,mBAAS,MAA3C,mBAAOuM,EAAP,KAAkB4wC,EAAlB,KAEA,EAA6Bn9C,mBAAS,CACpCi2C,OAAQ,GACRE,IAAK,GACLzkC,KAAM,GACNnF,UAAW,OAJb,mBAAOoY,EAAP,KAAemxB,EAAf,KAOMsH,EAAiB,SAACC,EAAQC,GAC9B,IAAI9V,GAAU,EAOd,OANA8V,EAAM13C,KAAI,SAACm4B,EAAGx8B,GACRw8B,EAAEhsB,KAAOsrC,EAAOE,aAClB/V,EAASjmC,OAIO,IAAZimC,GAAiB,EAAIA,GAGzBgW,EAAe,SAACC,GACpB,OAAOA,EAAQA,EAAMzjC,WAAWkb,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIsB,OAAS,IA2E7E7lB,EAAezV,IAAM0V,SACrBC,EAAcC,2BAAgB,CAClCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IAGd,OACE,yBAAK9L,UAAU,WACb,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,WACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAASjD,GAAc,uBAAG/D,UAAU,wBAA5D,aAED83C,EAAKt7C,OAAS,GAAKi0C,GAClB,kBAAClpC,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,sBACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAa,uBAAG1L,UAAU,oBAI/C,IAAhB83C,EAAKt7C,QAEF,kBAACsK,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,KACE,kBAACyc,GAAA,EAAD,KACE,kBAAC3pB,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACN,wBAAIzI,UAAU,aAAd,qCACA,2BAAOA,UAAU,gBAAjB,mEAIN,kBAACiU,EAAA,EAAD,KACE,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GAhEf,SAACnM,GAChB,GAAiB,MAAbmP,EAAJ,CAKA,IAAI3B,EAAc,CAChBqrC,OAAQh0C,GAAe7E,EAAK84C,aAC5BC,IAAKl0C,GAAe7E,EAAKg5C,WACzB7pC,UAAS,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAW/M,OAGxBS,GAAW,GAEX/B,EAAS,+CAAgD0M,GACtD/M,MAAK,SAAAb,GAAW,IAAD,EACd,GAA4B,IAAlB,OAANA,QAAM,IAANA,GAAA,UAAAA,EAAQI,YAAR,eAAcuE,QAIhB,OAHAk0C,GAAe,GACf51C,GAAW,QACXvB,EAAY,QAAS,uDAAqD,UAAW,OA3DvE,SAACtB,GACrB,IAAMkgD,EAAQ,GAEdlgD,EAAKwI,KAAI,SAAC83C,EAAMn8C,GACd+7C,EAAM7sC,KAAK,CACTsB,GAAI2rC,EAAKH,WACT1vB,QAAS6vB,EAAK7vB,QACdzwB,KAAM+E,GAAmBu7C,EAAKC,eAC9BvoC,KAAMsoC,EAAKtoC,KACXunC,aAAce,EAAKf,aACnBD,eAAgB,KAGlB,IAAMkB,EAAc5iD,KAAKC,MAAMyiD,EAAKG,YAC9BC,EAAY9iD,KAAKC,MAAMyiD,EAAKK,UAElCr9C,OAAOC,KAAKi9C,GAAah4C,KAAI,SAAA2R,GACvBimC,EAAaI,EAAYrmC,MAAQimC,EAAaM,EAAUvmC,KAAQ4Z,MAAMC,QAAQwsB,EAAYrmC,KAAQ4Z,MAAMC,QAAQ0sB,EAAUvmC,IAMnH4Z,MAAMC,QAAQwsB,EAAYrmC,KAAO4Z,MAAMC,QAAQ0sB,EAAUvmC,KAClEqmC,EAAYrmC,GAAG3R,KAAI,SAAAk3C,GACjBgB,EAAUvmC,GAAG3R,KAAI,SAAAm3C,GACfr8C,OAAOC,KAAKo8C,GAAMn3C,KAAI,SAAAo4C,GAChBR,EAAaV,EAAOkB,MAAWR,EAAaT,EAAKiB,KACnDV,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAOmB,EAAMp4B,MAAO,CAAEk3B,OAAQA,EAAOkB,GAAOjB,KAAMA,EAAKiB,eAV9G,YAANzmC,EACF+lC,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAM,GAAD,OAAKtlC,EAAL,aAAWumC,EAAS,YAApB,KAAwCl4B,MAAM,GAAD,OAAKk4B,EAAS,eAEzHR,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAOtlC,EAAGqO,MAAO,CAAEk3B,OAAQc,EAAYrmC,GAAIwlC,KAAMe,EAAUvmC,YAgB5H2lC,EAAQI,GAyBJW,CAAcjhD,EAAOI,MACrBwN,EAAY8G,KAAOhX,EAAQgX,KAC3BokC,EAAWlrC,GACXirC,GAAe,GACf51C,GAAW,MAEZnC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA3B1BvB,EAAY,QAAS,oCAAqC,UAAW,UA+DvD,kBAACuN,GAAA,EAAD,CAAK9G,UAAU,WACb,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAOzH,UAAU,sBAAjB,gBAAmD,2BAAOA,UAAU,eAAjB,8BAAnD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACf+wB,aAAa,MACb7pB,KAAK,OACLS,KAAK,cACLY,SAAUrE,EAAS,CAAEkE,UAAU,QAIrC,kBAACb,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAOzH,UAAU,sBAAjB,cAAiD,2BAAOA,UAAU,eAAjB,8BAAjD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACf+wB,aAAa,MACb7pB,KAAK,OACLS,KAAK,YACLY,SAAUrE,EAAS,CAAEkE,UAAU,QAIrC,kBAACb,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,cAAH,KACA,kBAAC,KAAD,CACE0H,QAAS,CAAC,CAAErN,MAAO,MAAOqG,MAAO,OAAS,CAAErG,MAAO,MAAOqG,MAAO,QACjEkH,eAAgB,SAAAC,GAAM,OAAIA,EAAOnH,OACjCqH,eAAgB,SAAAF,GAAM,OAAIA,EAAOxN,OACjCsN,KAAK,YACLK,SAAU,SAACC,GAAD,OAAO+vC,EAAa/vC,IAC9B5N,MAAO+M,EACPxJ,YAAY,gBAIlB,kBAAC2J,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,MACpB,kBAAC3B,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,aAAakH,KAAK,UAAjD,8BAWhB4wC,EAAKt7C,OAAS,GAAKi0C,GACnB,oCACE,kBAAC3pC,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAAC,GAAD,CACEuL,OAAQA,EACR0wB,UAAW4H,EACX3vC,IAAKqD,WCYlB,IAAM2lC,GAAmBp7C,IAAMs7C,YAAW,SAAC5uC,EAAO0F,GACvD,IAAM+nC,EAAYztC,EAAMytC,UAClB1wB,EAAS/c,EAAM+c,OAErB,SAAS63B,EAAOh9C,GAEd,MADkB,uDACDi9C,KAAKj9C,GAGxB,OACE,yBAAK8N,IAAKA,GACR,yBAAKnI,UAAU,OACb,yBAAKA,UAAU,SACb,wBAAIA,UAAU,aAAd,sCAAiDwf,QAAjD,IAAiDA,OAAjD,EAAiDA,EAAQpY,WACzD,+FAAqDoY,QAArD,IAAqDA,OAArD,EAAqDA,EAAQpY,UAA7D,MAEF,yBAAKpH,UAAU,oBACb,4CAAkBhD,GAAmB,IAAIvF,SAIlC,MAAV+nB,GACC,yBAAKxf,UAAU,kBACb,yBAAKA,UAAU,SACb,8BAAM,0CAAqB,6BAAM,wCAAUvD,GAAY+iB,EAAOsxB,QAA7B,cAA0Cr0C,GAAY+iB,EAAOwxB,QAEhG,yBAAKhxC,UAAU,SACb,8BAAM,0CAAwB,6BAAM,8BAAOwf,EAAOjT,QAIxD,4BAAI,0DAEW,MAAb2jC,GAAqBA,EAAUzvC,KAAI,SAACpG,EAAOuG,GAAR,OACjC,yBAAKA,IAAKA,GACPvG,EAAMk9C,gBAAkBl9C,EAAMk9C,eAAe/6C,OAAS,GACrD,oCACE,yBAAKwD,UAAU,aACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,UACb,8BAAM,gDAA2B,8BAA8B,OAAvB3F,EAAMm9C,mBAAgD5hD,IAAvByE,EAAMm9C,aAA6B,uBAAsB,IAAMn9C,EAAMm9C,eAE9I,yBAAKx3C,UAAU,UACb,8BAAM,qCAAmB,8BAAsB,OAAf3F,EAAM4V,WAAgCra,IAAfyE,EAAM4V,KAAqB,YAAc,IAAM5V,EAAM4V,OAE9G,yBAAKjQ,UAAU,SACb,8BAAM,gEAAqC,8BAAO,IAAM3F,EAAMquB,UAEhE,yBAAK1oB,UAAU,SACb,8BAAM,wDAAgC,8BAAO,IAAM3F,EAAMpC,OAE3D,6BACA,6BAEEoC,EAAMk9C,gBAAkBl9C,EAAMk9C,eAAe92C,KAAI,SAACg3C,EAAYjG,GAAb,OAC/C,oCACE,yBAAKxxC,UAAU,QAAQY,IAAK4wC,GAC1B,8BAEE,gCAAuC57C,IAAnC+9C,GAAa8D,EAAWC,OAAuB/D,GAAa8D,EAAWC,OAASD,EAAWC,OAFjG,KAIA,kCAAQL,EAAOI,EAAWh3B,MAAMk3B,QAAUh7C,KAAO86C,EAAWh3B,MAAMk3B,QAAQ/6C,OAAO,oBAAsB66C,EAAWh3B,MAAMk3B,SAE1H,yBAAK33C,UAAU,QAAQY,IAAK4wC,GAC1B,0BAAMxxC,UAAU,eAEd,gCAAuCpK,IAAnC+9C,GAAa8D,EAAWC,OAAuB/D,GAAa8D,EAAWC,OAASD,EAAWC,OAFjG,KAIA,kCAAQL,EAAOI,EAAWh3B,MAAMm3B,MAAQj7C,KAAO86C,EAAWh3B,MAAMm3B,MAAMh7C,OAAO,oBAAsB66C,EAAWh3B,MAAMm3B,sBAgBjIoB,GArSf,YAAuD,IAAjBj1C,EAAgB,EAAhBA,aACpC,EAA8BtJ,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAGhB,EAAmCkJ,YAAQ,CAAEC,KAAM,WAA3CC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAElB,EAAqCvJ,oBAAS,GAA9C,mBAAO41C,EAAP,KAAmBC,EAAnB,KAEA,EAAwB71C,mBAAS,IAAjC,mBAAOi9C,EAAP,KAAaC,EAAb,KAEA,EAAkCl9C,mBAAS,MAA3C,mBAAOuM,EAAP,KAAkB4wC,EAAlB,KAEA,EAA6Bn9C,mBAAS,CACpCi2C,OAAQ,GACRE,IAAK,GACLzkC,KAAM,GACNnF,UAAW,OAJb,mBAAOoY,EAAP,KAAemxB,EAAf,KAOMsH,EAAiB,SAACC,EAAQC,GAC9B,IAAI9V,GAAU,EAOd,OANA8V,EAAM13C,KAAI,SAACm4B,EAAGx8B,GACRw8B,EAAEhsB,KAAOsrC,EAAOE,aAClB/V,EAASjmC,OAIO,IAAZimC,GAAiB,EAAIA,GAGzBgW,EAAe,SAACC,GACpB,OAAOA,EAAQA,EAAMzjC,WAAWkb,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIsB,OAAS,IA2E7E7lB,EAAezV,IAAM0V,SACrBC,EAAcC,2BAAgB,CAClCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IAGd,OACE,yBAAK9L,UAAU,WACb,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,WACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAASjD,GAAc,uBAAG/D,UAAU,wBAA5D,aAED83C,EAAKt7C,OAAS,GAAKi0C,GAClB,kBAAClpC,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,sBACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAa,uBAAG1L,UAAU,oBAI/C,IAAhB83C,EAAKt7C,QAEF,kBAACsK,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,KACE,kBAACyc,GAAA,EAAD,KACE,kBAAC3pB,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACN,wBAAIzI,UAAU,aAAd,+BACA,2BAAOA,UAAU,gBAAjB,6DAIN,kBAACiU,EAAA,EAAD,KACE,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GAhEf,SAACnM,GAChB,GAAiB,MAAbmP,EAAJ,CAKA,IAAI3B,EAAc,CAChBqrC,OAAQh0C,GAAe7E,EAAK84C,aAC5BC,IAAKl0C,GAAe7E,EAAKg5C,WACzB7pC,UAAS,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAW/M,OAGxBS,GAAW,GAEX/B,EAAS,wCAAyC0M,GAC/C/M,MAAK,SAAAb,GAAW,IAAD,EACd,GAA4B,IAAlB,OAANA,QAAM,IAANA,GAAA,UAAAA,EAAQI,YAAR,eAAcuE,QAIhB,OAHAk0C,GAAe,GACf51C,GAAW,QACXvB,EAAY,QAAS,uDAAqD,UAAW,OA3DvE,SAACtB,GACrB,IAAMkgD,EAAQ,GAEdlgD,EAAKwI,KAAI,SAAC83C,EAAMn8C,GACd+7C,EAAM7sC,KAAK,CACTsB,GAAI2rC,EAAKH,WACT1vB,QAAS6vB,EAAK7vB,QACdzwB,KAAM+E,GAAmBu7C,EAAKC,eAC9BvoC,KAAMsoC,EAAKtoC,KACXunC,aAAce,EAAKf,aACnBD,eAAgB,KAGlB,IAAMkB,EAAc5iD,KAAKC,MAAMyiD,EAAKG,YAC9BC,EAAY9iD,KAAKC,MAAMyiD,EAAKK,UAElCr9C,OAAOC,KAAKi9C,GAAah4C,KAAI,SAAA2R,GACvBimC,EAAaI,EAAYrmC,MAAQimC,EAAaM,EAAUvmC,KAAQ4Z,MAAMC,QAAQwsB,EAAYrmC,KAAQ4Z,MAAMC,QAAQ0sB,EAAUvmC,IAMnH4Z,MAAMC,QAAQwsB,EAAYrmC,KAAO4Z,MAAMC,QAAQ0sB,EAAUvmC,KAClEqmC,EAAYrmC,GAAG3R,KAAI,SAAAk3C,GACjBgB,EAAUvmC,GAAG3R,KAAI,SAAAm3C,GACfr8C,OAAOC,KAAKo8C,GAAMn3C,KAAI,SAAAo4C,GAChBR,EAAaV,EAAOkB,MAAWR,EAAaT,EAAKiB,KACnDV,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAOmB,EAAMp4B,MAAO,CAAEk3B,OAAQA,EAAOkB,GAAOjB,KAAMA,EAAKiB,eAV9G,YAANzmC,EACF+lC,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAM,GAAD,OAAKtlC,EAAL,aAAWumC,EAAS,YAApB,KAAwCl4B,MAAM,GAAD,OAAKk4B,EAAS,eAEzHR,EAAMF,EAAeM,EAAMJ,IAAQZ,eAAejsC,KAAK,CAAEosC,MAAOtlC,EAAGqO,MAAO,CAAEk3B,OAAQc,EAAYrmC,GAAIwlC,KAAMe,EAAUvmC,YAgB5H2lC,EAAQI,GAyBJW,CAAcjhD,EAAOI,MACrBwN,EAAY8G,KAAOhX,EAAQgX,KAC3BokC,EAAWlrC,GACXirC,GAAe,GACf51C,GAAW,MAEZnC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA3B1BvB,EAAY,QAAS,oCAAqC,UAAW,UA+DvD,kBAACuN,GAAA,EAAD,CAAK9G,UAAU,WACb,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAOzH,UAAU,sBAAjB,gBAAmD,2BAAOA,UAAU,eAAjB,8BAAnD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACf+wB,aAAa,MACb7pB,KAAK,OACLS,KAAK,cACLY,SAAUrE,EAAS,CAAEkE,UAAU,QAIrC,kBAACb,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAOzH,UAAU,sBAAjB,cAAiD,2BAAOA,UAAU,eAAjB,8BAAjD,KACA,kBAACsI,GAAA,EAAD,CAAOtI,UAAU,eACf+wB,aAAa,MACb7pB,KAAK,OACLS,KAAK,YACLY,SAAUrE,EAAS,CAAEkE,UAAU,QAIrC,kBAACb,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KACpB,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,cAAH,KACA,kBAAC,KAAD,CACE0H,QAAS,CAAC,CAAErN,MAAO,MAAOqG,MAAO,OAAS,CAAErG,MAAO,MAAOqG,MAAO,QACjEkH,eAAgB,SAAAC,GAAM,OAAIA,EAAOnH,OACjCqH,eAAgB,SAAAF,GAAM,OAAIA,EAAOxN,OACjCsN,KAAK,YACLK,SAAU,SAACC,GAAD,OAAO+vC,EAAa/vC,IAC9B5N,MAAO+M,EACPxJ,YAAY,gBAIlB,kBAAC2J,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,MACpB,kBAAC3B,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,aAAakH,KAAK,UAAjD,8BAWhB4wC,EAAKt7C,OAAS,GAAKi0C,GACnB,oCACE,kBAAC3pC,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAAC,GAAD,CACEuL,OAAQA,EACR0wB,UAAW4H,EACX3vC,IAAKqD,WCxNrB,IAAMytC,GAAU,SAACC,GAA4B,IAApBC,EAAmB,wDACxC9+C,EAAQ6+C,GAAkB,GACxBE,EAAM/+C,EAAMya,QAAQ,SAAU,IACpC,OAAKqkC,EAUEC,EARC/+C,EADAA,EAAMmC,QAAU,EACR48C,EAAItkC,QAAQ,oBAAqB,SAClCza,EAAMmC,QAAU,EACf48C,EAAItkC,QAAQ,2BAA4B,YAExCskC,EAAItkC,QAAQ,kCAAmC,gBAM7DukC,GAAW,SAACH,GAA4B,IAApBC,EAAmB,wDACrC9+C,EAAQ6+C,GAAkB,GACxBE,EAAM/+C,EAAMya,QAAQ,SAAU,IACpC,OAAKqkC,EAYEC,EAVC/+C,EADAA,EAAMmC,QAAU,EACR48C,EAAItkC,QAAQ,oBAAqB,SAClCza,EAAMmC,QAAU,EACf48C,EAAItkC,QAAQ,2BAA4B,YACzCza,EAAMmC,QAAU,GACf48C,EAAItkC,QAAQ,kCAAmC,eAE/CskC,EAAItkC,QAAQ,2CAA4C,mBA6H7D,IAAEmkC,WAASI,YAAUC,YAvHhB,WAAkC,IAAjCJ,EAAgC,uDAAvB,GAAIC,EAAmB,wDAC7C9+C,EAAkB,MAAV6+C,EAAiBA,EAAS,GAChCE,EAAM/+C,EAAMya,QAAQ,SAAU,IACpC,IAAKqkC,EAAQ,CACT,IAAMI,EAAUH,EAAI58C,OACpB,OAAI+8C,GAAW,GACXl/C,EAAQ4+C,GAAQG,GAETG,GAAW,GAClBl/C,EAAQg/C,GAASD,GAGV/+C,EAAMm/C,OAAO,EAAG,IAG/B,OAAOJ,GAwGsCK,YAtG7B,SAACP,GAA4B,IAApBC,EAAmB,wDACxC9+C,EAAQ6+C,GAAkB,GACxBE,EAAM/+C,EAAMya,QAAQ,SAAU,IACpC,OAAKqkC,EAQEC,EANC/+C,EADAA,EAAMmC,QAAU,EACR48C,EAAItkC,QAAQ,sBAAuB,UAEnCskC,EAAItkC,QAAQ,2BAA4B,cA+FE4kC,aAzFzC,SAACR,GAA4B,IAApBC,EAAmB,wDACzC9+C,EAAQ6+C,GAAkB,GACxBE,EAAM/+C,EAAMya,QAAQ,SAAU,IACpC,OAAKqkC,EAQEC,EANC/+C,EADAA,EAAMmC,QAAU,EACR48C,EAAItkC,QAAQ,sBAAuB,UAEnCskC,EAAItkC,QAAQ,2BAA4B,cAkFgB6kC,QA5E5D,SAACT,GAA4B,IAApBC,EAAmB,wDACpC9+C,EAAQ6+C,GAAkB,GACxBE,EAAM/+C,EAAMya,QAAQ,SAAU,IACpC,OAAKqkC,EAQEC,EANC/+C,EADAA,EAAMmC,QAAU,EACR48C,EAAItkC,QAAQ,aAAc,MAE1BskC,EAAItkC,QAAQ,oBAAqB,UAqEgC8kC,SA/DpE,SAACV,GAA4B,IAApBC,EAAmB,wDACrC9+C,EAAQ6+C,GAAkB,QACxBE,EAAM/+C,EAAMya,QAAQ,SAAU,IACpC,OAAKqkC,EAQEC,EANC/+C,EADAA,EAAMmC,QAAU,EACR48C,EAAItkC,QAAQ,aAAc,MAE1BskC,EAAItkC,QAAQ,oBAAqB,UAwD0C+kC,UAlD7E,SAACX,GACf,IAAI7+C,EAAQ6+C,GAAkB,OAoB9B,OAlBoB,IADpB7+C,EAAQA,EAAMwa,YACJrY,SACNnC,GAAgB,MAIN,MADdA,EAAQA,EAAMya,QAAQ,MAAO,OAEzBza,EAAQ,QAUZA,EAFAA,GAFAA,GAFAA,GAFAA,GAASy/C,WAAWz/C,GAAS,KAAK0/C,QAAQ,GAAK,IAEjCjlC,QAAQ,IAAK,MAEbA,QAAQ,oBAAqB,cAE7BA,QAAQ,cAAe,WAiCiEklC,WA3BvF,WAAkB,IAAjBd,EAAgB,uDAAP,GAErB7+C,EAAQ6+C,EAASA,EAAOrkC,WAAa,GACzC,GAAIxa,EAAO,CACP,IAAMu+B,EAAIv+B,EAAMya,QAAQ,MAAO,IAC/Bza,EAAQu+B,EAGZ,OAAOv+B,GAmB2G4/C,OAjBvG,SAACf,GACZ,IAAI7+C,EAAQ6+C,GAAkB,GACxBtgB,EAAIv+B,EAAMya,QAAQ,aAAc,IAEtC,OADAza,EAAQu+B,GAckHshB,UAX5G,SAAChB,GACf,IAAI7+C,EAAQ6+C,GAAkB,GACxBE,EAAM/+C,EAAMya,QAAQ,gBAAiB,IAM3C,OAJIza,EADAA,EAAMmC,QAAU,EACR48C,EAAItkC,QAAQ,aAAc,MAE1BskC,EAAItkC,QAAQ,oBAAqB,WC7HlC,SAASqlC,GAAT,GAAoC,IAAD,MAAThhB,EAAS,EAATA,MAC7Br+B,EAAeL,IAAfK,WAER,EAA6EkJ,YAAQ,CAAEC,KAAM,WAArFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAGhC,GAHA,EAAwCG,SAAxC,EAAkDC,YAAlD,EAA+DC,UAG/B3J,mBAAS,CACrCsB,MAAO,MADX,mBAAOy7B,EAAP,KAAiBwiB,EAAjB,KAIA,EAAyCv/C,oBAAS,GAAlD,mBAAOw/C,EAAP,KAAqBC,EAArB,KAEA,EAA6Bz/C,mBAAS,MAAtC,mBAAO+uC,EAAP,KAAeC,EAAf,KACA,EAA6D9zC,IAAM8E,SAAS,MAA5E,mBAAO0/C,EAAP,KAA+BC,EAA/B,KACA,EAA6DzkD,IAAM8E,SAAS,MAA5E,mBAAO4/C,EAAP,KAA+BC,EAA/B,KACA,EAA6D3kD,IAAM8E,SAAS,MAA5E,mBAAO8/C,EAAP,KAA+BC,EAA/B,KACA,EAAmC7kD,IAAM8E,SAAS,MAAlD,mBAAOmS,EAAP,KAAkB8b,EAAlB,KACA9sB,qBAAU,WACN,IAAM6+C,EAAa,CAAC,CAChBhzC,OAAQ,KACRizC,IAAK,SAAC7iD,GAAD,OAAUuiD,EAA2BviD,KAC3C,CACC4P,OAAQ,KACRizC,IAAK,SAAC7iD,GAAD,OAAU2iD,EAA2B3iD,KAC3C,CACC4P,OAAQ,KACRizC,IAAK,SAAC7iD,GAAD,OAAUyiD,EAA2BziD,MAG9Cb,WAAQ2jD,IAAI,CACR9hD,EAAQ,+CAAD,OAAgDkgC,EAAM7xB,SAAtD,YAAkE6xB,EAAMtK,aAAxE,+BAA+Gl2B,OAAM,SAAAiD,GAAG,OAAI,QACnI3C,EAAQ,+CAAD,OAAgDkgC,EAAM7xB,SAAtD,YAAkE6xB,EAAMtK,aAAxE,8BAA8Gl2B,OAAM,SAAAiD,GAAG,OAAI,QAClI3C,EAAQ,+CAAD,OAAgDkgC,EAAM7xB,SAAtD,YAAkE6xB,EAAMtK,aAAxE,6BAA6Gl2B,OAAM,SAAAiD,GAAG,OAAI,UAClIlD,MAAK,SAACy5C,GAEL,IADA,IAAI6I,GAAY,EACP5+C,EAAQ,EAAGA,EAAQ+1C,EAAO31C,OAAQJ,IACnC+1C,EAAO/1C,IAAmC,MAAzB+1C,EAAO/1C,GAAOrE,QAAwC,MAAtBo6C,EAAO/1C,GAAOnE,OAC/D4iD,EAAWz+C,GAAO0+C,IAAI3I,EAAO/1C,GAAOnE,OAClB,IAAd+iD,IACAA,EAAW5+C,KAKL,IAAd4+C,GACAnR,EAAWgR,EAAWG,GAAUnzC,aAGzC,IAmEH,OACI,oCACI,yBAAK7H,UAAU,WACX,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,aAAaE,MAAO,CAAEma,OAAQ,cAC1C,kBAACpG,EAAA,EAAD,KACkB,MAAbjH,GACG,kBAACL,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,QAASzL,OAAQ,cAC3C,kBAACC,GAAA,EAAD,CAAMiI,SAAUne,GAxE3B,SAACnM,GACd,GAAIA,EAAK6V,OAAS7V,EAAKgjD,eAKvB,GAAc,MAAVrR,GAAmB/d,GAAY5zB,EAAKgY,MAMxC,GAAc,MAAV25B,GAAkD,GAAhChS,EAASz7B,MAAMk1B,OAAO70B,OAA5C,CAKA,GAAc,MAAVotC,GAAkBhS,EAASz7B,MAAMK,OAAS,KAAOqvB,GAAY+L,EAASz7B,OAGtE,OAFA5C,EAAY,QAAS,oBAAkB,QAAS,WAChD+gD,GAAiB,GAIrB,GAAc,MAAV1Q,GAAkBhS,EAASz7B,MAAMK,QAAU,KjCpBhD,SAAoBkzB,GACvB,GAAmB,kBAARA,EAAkB,OAAO,EAEpC,KADAA,EAAMA,EAAI5a,QAAQ,aAAc,MAGd,IAAd4a,EAAIlzB,QACG,eAAPkzB,GACO,eAAPA,GACO,eAAPA,GACO,eAAPA,GACO,eAAPA,GACO,eAAPA,GACO,eAAPA,GACO,eAAPA,GACO,eAAPA,GACO,eAAPA,EAEA,OAAO,EAIX,IAFA,IACIwrB,EADAC,EAAO,EAEF//B,EAAI,EAAGA,GAAK,EAAGA,IACpB+/B,GAAc53B,SAASmM,EAAInzB,UAAU6e,EAAE,EAAGA,KAAO,GAAKA,GAG1D,GADc,KADd8/B,EAAgB,GAAPC,EAAa,KACS,IAATD,IAAeA,EAAQ,GACzCA,GAAS33B,SAASmM,EAAInzB,UAAU,EAAG,KAAO,OAAO,EAErD,IADA4+C,EAAO,EACE//B,EAAI,EAAGA,GAAK,GAAIA,IACrB+/B,GAAc53B,SAASmM,EAAInzB,UAAU6e,EAAE,EAAGA,KAAO,GAAKA,GAG1D,OADc,KADd8/B,EAAgB,GAAPC,EAAa,KACS,IAATD,IAAeA,EAAQ,GACzCA,GAAS33B,SAASmM,EAAInzB,UAAU,GAAI,KiCXkB6+C,CAAWxjB,EAASz7B,OAGtE,OAFA5C,EAAY,QAAS,oBAAkB,QAAS,WAChD+gD,GAAiB,GAIrB,IAAI70C,EAAc,CACdE,gBAAiB,EACjBwpB,gBAA2B,MAAVya,EAAiB3xC,EAAKsU,KAAOtU,EAAKiY,SACnDpC,MAAO7V,EAAK6V,MACZZ,SAAoB,MAAV08B,EAAiBhS,EAASz7B,MAAQlE,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC9GxkB,aAAc,EACdjB,wBAAmC,MAAVs/B,EAAiB2Q,EAAuBjwC,wBAAqC,MAAVs/B,EAAiB+Q,EAAuBrwC,wBAA0BmwC,EAAuBnwC,wBACrL6W,WAAsB,MAAVyoB,EAAiB,+BAAwC,MAAVA,EAAiB,kCAA8B,yBAC1G58B,UAAW,CACPoc,gBAAiB,GACjB+F,gBAA2B,MAAVya,EAAiB3xC,EAAKsU,KAAOtU,EAAKiY,SACnDpC,MAAO7V,EAAK6V,MACZZ,SAAoB,MAAV08B,EAAiBhS,EAASz7B,MAAQlE,EAAKgY,KAAK8f,WAAW,IAAK,IAAIA,WAAW,IAAK,IAAIA,WAAW,IAAK,IAC9G5O,WAAsB,MAAVyoB,EAAiB,+BAAwC,MAAVA,EAAiB,kCAA8B,yBAC1G7xC,OAAQ,WACR8sC,MAAO5f,KAAK6qB,SAASj7B,SAAS,IAAIyX,OAAO,KAIjDxxB,GAAW,GACX/B,EAAS,yCAA0C0M,GAC9C/M,MAAK,SAAAb,GACFiD,GAAW,GACXguB,EAAcjxB,EAAOI,MACrBsB,EAAY,QAAS,0HAAqH,UAAW,SAExJZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA3C1Bw/C,GAAiB,QANjB/gD,EAAY,QAAS,oBAAkB,QAAS,WALhDA,EAAY,QAAS,0DAAkD,QAAS,UAuExD,wBAAIyG,UAAU,sBAAd,sBACA,wBAAIA,UAAU,eAAem5B,EAAMrxB,WACnC,kBAACgiC,EAAA,EAAD,CAAKC,OAAK,EAAC/pC,UAAU,oBAAoBE,MAAO,CAAEkY,OAAQ,YAC3B,MAA1BmiC,GACG,kBAACvQ,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAASjqC,UAAsB,OAAX4pC,EAAkB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,EAAW,QAAO,uBAAGjnC,MAAM,oBAAhH,mCAGmB,MAA1B+3C,GACG,kBAAC3Q,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,OAAX4pC,EAAkB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,EAAW,QAAO,uBAAGjnC,MAAM,sBAA/I,uCAGmB,MAA1B63C,GACG,kBAACzQ,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS/pC,MAAO,CAAEma,OAAQ,YAAcra,UAAsB,OAAX4pC,EAAkB,kBAAoB,WAAY5iC,QAAS,kBAAM6iC,EAAW,QAAO,uBAAGjnC,MAAM,wBAA/I,8BAIZ,kBAACsnC,GAAA,EAAD,CAAYC,UAAWP,EAAQ5pC,UAAU,2BACrC,kBAACoqC,GAAA,EAAD,CAASC,MAAM,MACC,MAAVT,GAA4C,MAA1B2Q,GAChB,kBAACzzC,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,wCACH,kBAAC,GAAD,CACIE,KAAK,OACLwpB,SAAUjtB,EAAS,CAAEkE,UAAU,MAElCjE,EAAO8L,MAAQ,0BAAMjQ,UAAU,kCAAhB,2BAEpB,kBAACyH,GAAA,EAAD,KACI,2BAAG,uDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACL0U,UAAU,KACVjU,KAAK,WACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO+L,UAAY,0BAAMlQ,UAAU,kCAAhB,2BAExB,kBAACyH,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,QACL0U,UAAU,MACVjU,KAAK,QACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,2BAErB,kBAACyH,GAAA,EAAD,KACI,2BAAG,oDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,QACL0U,UAAU,MACVjU,KAAK,iBACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO82C,gBAAkB,0BAAMj7C,UAAU,kCAAhB,4BAGlB,OAAfm5B,EAAM9xB,OACH,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,WAC3B,0BAAMA,UAAU,uBAAhB,mBACA,0BAAMA,UAAU,qBAAhB,uBAAyDm5B,IAAK,UAAIA,EAAM7xB,gBAAV,aAAI,EAAgB6S,eAAlF,uFAMpB,kBAACiwB,GAAA,EAAD,CAASC,MAAM,MACC,MAAVT,GAA4C,MAA1B+Q,GAChB,kBAAC7zC,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,wCACH,kBAAC,GAAD,CACIE,KAAK,OACLwpB,SAAUjtB,EAAS,CAAEkE,UAAU,MAElCjE,EAAO8L,MAAQ,0BAAMjQ,UAAU,kCAAhB,2BAEpB,kBAACyH,GAAA,EAAD,KACI,2BAAG,uDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACL0U,UAAU,KACVjU,KAAK,WACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO+L,UAAY,0BAAMlQ,UAAU,kCAAhB,2BAExB,kBAACyH,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,QACL0U,UAAU,MACVjU,KAAK,QACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,2BAErB,kBAACyH,GAAA,EAAD,KACI,2BAAG,oDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,QACL0U,UAAU,MACVjU,KAAK,iBACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO82C,gBAAkB,0BAAMj7C,UAAU,kCAAhB,4BAGlB,OAAfm5B,EAAM9xB,OACH,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,WAC3B,0BAAMA,UAAU,uBAAhB,mBACA,0BAAMA,UAAU,qBAAhB,uBAAyDm5B,IAAK,UAAIA,EAAM7xB,gBAAV,aAAI,EAAgB6S,eAAlF,uFAMpB,kBAACiwB,GAAA,EAAD,CAASC,MAAM,MACX,yBAAKrqC,UAAU,iBACC,MAAV4pC,GAA4C,MAA1B6Q,GAChB,kBAAC3zC,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,gCAAgB,OAARmwB,QAAQ,IAARA,GAAA,UAAAA,EAAUz7B,aAAV,eAAiBK,SAAU,GAAK,MAAQ,SACnD,kBAAC6e,GAAD,CACInU,KAAK,OACLS,KAAK,QACLkU,KAAMw/B,GAAS/B,YACfj/C,MAAOu9B,EAASz7B,MAChB6L,SAtJ/C,SAACC,GACd,MAAwBA,EAAEyH,OAAlB/H,EAAR,EAAQA,KAAMtN,EAAd,EAAcA,MACd+/C,EAAY,gBAAGzyC,EAAOtN,IACtBigD,GAAiB,IAoJ2C1+B,UAAW,KAEdy+B,GAAgB,0BAAMr6C,UAAU,kCAAhB,2BAErB,kBAACyH,GAAA,EAAD,KACI,2BAAG,uDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACL0U,UAAU,KACVjU,KAAK,OACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAOoI,MAAQ,0BAAMvM,UAAU,kCAAhB,2BAEpB,kBAACyH,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,QACL0U,UAAU,MACVjU,KAAK,QACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,2BAErB,kBAACyH,GAAA,EAAD,KACI,2BAAG,oDACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,QACL0U,UAAU,MACVjU,KAAK,iBACLY,SAAUrE,EAAS,CAAEkE,UAAU,MAElCjE,EAAO82C,gBAAkB,0BAAMj7C,UAAU,kCAAhB,4BAGlB,OAAfm5B,EAAM9xB,OACH,kBAACE,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,WAC3B,0BAAMA,UAAU,uBAAhB,mBACA,0BAAMA,UAAU,qBAAhB,oHAQ5B,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKvH,UAAU,cACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,mBACiB,uBAAGlH,UAAU,8BAOpC,MAAbgN,GACG,kBAACL,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,kBAACvT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,eAC3B,qEAGA,6BACA,2DAAgC,6BAAhC,iDCtVzB,SAASs7C,GAAT,GAAiE,IAApCniB,EAAmC,EAAnCA,MAAOoiB,EAA4B,EAA5BA,iBAAkBlZ,EAAU,EAAVA,OACjE,EAAsCxnC,oBAAS,GAA/C,mBAAO+2B,EAAP,KAAoBC,EAApB,KACA,OACI,oCACI,kBAACtqB,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAClB,kBAACsL,EAAA,EAAD,CAAMhU,UAAU,uBACZ,yBAAKA,UAAU,+CACX,0BACI4M,GAAI,WAAay1B,EACjBriC,UAAU,6DACVE,MAAO,CAAEsB,aAAc,OAAQD,MAAO,OAAQJ,OAAQ,OAAQa,OAAQ,iBAAkBL,SAAU,OAAQlC,WAAY,OAAQC,MAAO,SAHzI,MAOJ,kBAAC+wB,GAAA,EAAD,CAAYzwB,UAAU,gCACE,OAAnBm5B,EAAMrxB,UAAqBqxB,EAAM7xB,SAASwN,QAAQ,SAAU,IAAMqkB,EAAM7xB,SACzE,6BACA,+BAAQ6xB,EAAMrxB,YAElB,kBAACmM,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAK+yC,GAAG,MACZ,yBAAKx7C,UAAW,uBAAyBm5B,EAAMxY,UAC3C,uBAAG/d,MAAOu2B,EAAMtY,kBAKhC,kBAACI,GAAA,EAAD,CAAYjhB,UAAU,oBAClB,6BACA,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMu0C,MAAvC,iBAGR,kBAAC5lB,GAAA,EAAD,CACI3pB,OAAQ4lB,EACRX,UAAU,MACVvhB,OAAQ,WAAa2yB,EACrBp2B,OAAQ,WAAQ4lB,GAAgBD,KAE/BuH,EAAMsiB,YCtCZ,SAASC,GAAT,GAA+D,IAArCC,EAAoC,EAApCA,WAAYC,EAAwB,EAAxBA,qBACjD,OACE,oCACE,kBAACr0C,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,IAAI1I,UAAU,UAClC,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,iCACd,kBAACywB,GAAA,EAAD,CAAYzwB,UAAU,mBAAmBE,MAAO,CAACyB,SAAU,QAASyU,QAAS,QAC5D,OAAdulC,EAAsB,uBAAG/4C,MAAM,qBAAwC,OAAd+4C,EAAsB,uBAAG/4C,MAAM,4BAAiC,uBAAGA,MAAM,0BACpH,OAAd+4C,EAAsB,kBAAkC,OAAdA,EAAsB,kBAAoB,mBAEvF,wBAAI37C,UAAU,SACd,kBAACiU,EAAA,EAAD,CAAUjU,UAAU,eAClB,0BAAMA,UAAU,aAA2B,OAAd27C,EAAsB,0FAAoG,OAAdA,EAAsB,2FAA0F,0DAE3P,kBAAC16B,GAAA,EAAD,CAAYjhB,UAAU,oBACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAM40C,MAAvC,iB,wBCLC,SAASC,GAAT,GAA4E,IAAtDxyC,EAAqD,EAArDA,KAAMyyC,EAA+C,EAA/CA,wBAAyBrqB,EAAsB,EAAtBA,mBAChE,EAAqCh3B,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aAEpB,EAA4EgJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAElB,GAFA,EAAgCD,OAAhC,EAAwCG,SAAxC,EAAkDD,SAAlD,EAA4DE,YAEnBxO,IAAM8E,SAAS,OAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAAqCxT,IAAM8E,SAAS,IAApD,mBAAO6vC,EAAP,KAAmBqR,EAAnB,KAEA//C,qBAAU,WACNuN,EAAiBF,GACjBpQ,EAAQ,gCAAkCoQ,EAAKiB,yBAC1C5R,MAAK,SAAAb,GAAM,OAAIkkD,EAAelkD,EAAOI,KAAKmtC,wBAC1CzsC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAC/B,IAmBH,OACI,oCACI,6BACI,kBAACkZ,EAAA,EAAD,CAAMhU,UAAS,mBACX,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GAtBnB,SAACnM,GACd,GAA4B,GAAxBA,EAAK+jD,gBAAT,CAKA,IAAIv2C,EAAc3B,EAClB2B,EAAYuH,UAAY,KACxBvH,EAAYw2C,gBAAkBvR,EAE9B5vC,GAAW,GACX/B,EAAS,wCAAyC0M,GAC7C/M,MAAK,SAAAb,GAAY0B,EAAY,QAAS,iEAAqDyB,QAArD,IAAqDA,OAArD,EAAqDA,EAAcic,eAAgB,8DAAmD,WAAW,WAAc6kC,EAAwBh4C,SAC7NnL,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAZ1BvB,EAAY,QAAS,2EAAgE,QAAS,UAqB9E,wBAAIyG,UAAU,sBAAd,qBACA,kBAAC2M,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,aAC5C,kBAACvT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAACH,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,MAAYsiC,EACzF,0BAAM1qC,UAAU,mBACZ,0BAAMA,UAAU,YAGxB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS,kBAAMyqB,EAAmB3tB,IAAe9D,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,wBAA7H,YAEJ,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,8BAAkF,uBAAGlH,UAAU,0BClDxH,SAASk8C,GAAT,GAAwE,IAAvC7yC,EAAsC,EAAtCA,KAAM2D,EAAgC,EAAhCA,UAAWqgB,EAAqB,EAArBA,kBACtDvyB,EAAcL,IAAdK,WAGP,EAAiC/E,IAAM8E,SAAS,MAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAAiC5O,IAAM8E,SAAS,IAAhD,mBAAO62B,EAAP,KAAiBC,EAAjB,KACA,EAA8C57B,IAAM8E,SAAS,IAA7D,mBAAOshD,EAAP,KAAwBC,EAAxB,KAYApgD,qBAAU,WATN2I,EAAa0E,GACI,MAAb2D,GAA0F,MAArEA,EAAUC,uBAAuB,GAAGyc,+BACzDiI,EAAa3kB,EAAUC,uBAAuB,GAAGyc,+BAEzC,MAARrgB,GAAyD,MAAzCA,EAAKgF,kCACrB+tC,EAAmB/yC,EAAKgF,oCAM7B,CAACrB,IAyBJ,OACI,oCACI,6BAEI,kBAACgH,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,eACA,yBAAKA,UAAU,iBACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,MAAOiX,MAAO,iBACvB,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,UAAWiX,MAAO,iBAC3B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMy5B,EACN/gB,WAAW,EACXjJ,QAAS,CACLiQ,WAAW,GAEfgD,kBAAmB,SAACC,GAAD,OAAUwhC,EAAmBxhC,IAChD3J,aAAc9T,MAGtB,kBAACoK,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAEtB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cACI,MAArBqtB,GACG,kBAACtmB,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QA3D1C,WAAO,IAAD,QACxB,GAAIm1C,EAAgB3/C,OAAS,GAAuE,QAA9D,OAAJ6M,QAAI,IAAJA,GAAA,UAAAA,EAAM/D,4BAAN,mBAA4B6B,wBAA5B,mBAA8CC,iBAA9C,eAAyDC,QAAsD,gBAAhC,OAAJgC,QAAI,IAAJA,GAAA,UAAAA,EAAM/D,4BAAN,eAA4BC,MACrIhM,EAAY,QAAS,+CAA6C,UAAW,WAIjF,GAA8B,GAA1B4iD,EAAgB3/C,OAApB,CAKA,IAAIiJ,EAAc,GAClB02C,EAAgB17C,KAAI,SAAA4K,GAChB5F,EAAY6F,KAAKD,EAAEye,qCAGvBhvB,GAAW,GACX/B,EAAS,0EAAD,OAA2E2L,EAASiB,iBAAmBF,GAC1G/M,MAAK,SAAAb,GAAM,OAAIw1B,EAAkB3oB,MACjC/L,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAb1BvB,EAAY,QAAS,+CAA6C,QAAS,OAoDKyG,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,kC,cClF9I,SAASk8C,GAAT,GAAwE,IAAvC7yC,EAAsC,EAAtCA,KAAM2D,EAAgC,EAAhCA,UAAWqgB,EAAqB,EAArBA,kBACrDvyB,EAAeL,IAAfK,WAER,EAAiC/E,IAAM8E,SAAS,MAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAA6B5O,IAAM8E,SAAS,IAA5C,mBAAOwhD,EAAP,KAAeC,EAAf,KACA,EAA0CvmD,IAAM8E,SAAS,IAAzD,mBAAO0hD,EAAP,KAAsBC,EAAtB,KAYAxgD,qBAAU,WATN2I,EAAa0E,GACI,MAAb2D,GAA6E,MAAxDA,EAAUmH,iBAAiB,GAAGwW,wBACnD2xB,EAAWtvC,EAAUmH,iBAAiB,GAAGwW,wBAEjC,MAARthB,GAAiD,MAAjCA,EAAKuM,0BACrB4mC,EAAiBnzC,EAAKuM,4BAM3B,CAAC5I,IAoBJ,OACI,oCACI,6BAEI,kBAACgH,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,oBACA,yBAAKA,UAAU,iBACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,MAAOiX,MAAO,OACvB,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,cAAeiX,MAAO,eAC/B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,KAAMiX,MAAO,OAE1BxY,KAAMokD,EACN1rC,WAAW,EACXjJ,QAAS,CACLiQ,WAAW,GAEfgD,kBAAmB,SAACC,GAAD,OAAU4hC,EAAiB5hC,IAC9C3J,aAAc9T,MAGtB,kBAACoK,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAEtB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cACI,MAArBqtB,GACG,kBAACtmB,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QArD1C,WAClB,GAA4B,GAAxBu1C,EAAc//C,OAAlB,CAKA,IAAIiJ,EAAc,GAClB82C,EAAc97C,KAAI,SAAA4K,GACd5F,EAAY6F,KAAKD,EAAEs1B,6BAGvB7lC,GAAW,GACX/B,EAAS,4DAAD,OAA6D2L,EAASiB,iBAAmBF,GAC5F/M,MAAK,SAAAb,GAAM,OAAIw1B,EAAkB3oB,MACjC/L,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAb1BvB,EAAY,QAAS,0CAA2C,QAAS,OAmDOyG,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,kCC3E9I,SAASy8C,GAAT,GAAsE,IAAvCpzC,EAAsC,EAAtCA,KAAM2D,EAAgC,EAAhCA,UAAWqgB,EAAqB,EAArBA,kBACpDvyB,EAAcL,IAAdK,WAEP,EAAiC/E,IAAM8E,SAAS,MAAhD,mBAAO6J,EAAP,KAAiBC,EAAjB,KAEA,EAA6B5O,IAAM8E,SAAS,IAA5C,mBAAOwhD,EAAP,KAAeC,EAAf,KACA,EAA0CvmD,IAAM8E,SAAS,IAAzD,mBAAO0hD,EAAP,KAAsBC,EAAtB,KAYAxgD,qBAAU,WATN2I,EAAa0E,GACI,MAAb2D,GAA6E,MAAxDA,EAAU0J,iBAAiB,GAAG0U,wBACnDkxB,EAAWtvC,EAAU0J,iBAAiB,GAAG0U,wBAEjC,MAAR/hB,GAAkD,MAAlCA,EAAK2N,2BACrBwlC,EAAiBnzC,EAAK2N,6BAM3B,CAAChK,IAoBJ,OACI,oCACI,6BAEI,kBAACgH,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,UACA,yBAAKA,UAAU,iBACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,MAAOiX,MAAO,OACvB,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,cAAeiX,MAAO,eAC/B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,KAAMiX,MAAO,OAE1BxY,KAAMokD,EACN1rC,WAAW,EACXjJ,QAAS,CACLiQ,WAAW,GAEfgD,kBAAmB,SAACC,GAAD,OAAU4hC,EAAiB5hC,IAC9C3J,aAAc9T,MAGtB,kBAACoK,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAEtB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cACI,MAArBqtB,GACG,kBAACtmB,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QArD1C,WAClB,GAA4B,GAAxBu1C,EAAc//C,OAAlB,CAKA,IAAIiJ,EAAc,GAClB82C,EAAc97C,KAAI,SAAA4K,GACd5F,EAAY6F,KAAKD,EAAEggB,6BAGvBvwB,GAAW,GACX/B,EAAS,4DAAD,OAA6D2L,EAASiB,iBAAmBF,GAC5F/M,MAAK,SAAAb,GAAM,OAAIw1B,EAAkB3oB,MACjC/L,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAb1BvB,EAAY,QAAS,0CAA2C,QAAS,OAmDOyG,UAAU,aAAakH,KAAK,UAA5E,qBAAoG,uBAAGlH,UAAU,kCC0B9I08C,OAnHf,WACI,MAAsC7hD,mBAAS,CAC3C,CACI4lB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,gFAAgFG,OAAO,UAA/F,uBADJ,glBAOA,kOAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,kFAAkFG,OAAO,UAAjG,yBADJ,ijBAUZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,gFAAgFG,OAAO,UAA/F,yBADJ,qOAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,gFAAgFG,OAAO,UAA/F,yBADJ,kfAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,uFAAuFG,OAAO,UAAtG,6BADJ,kRAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,mFAAmFG,OAAO,UAAlG,6BADJ,8IAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,uFAAuFG,OAAO,UAAtG,6BADJ,6ZAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,sFAAsFG,OAAO,UAArG,6BADJ,sWAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,oFAAoFG,OAAO,UAAnG,6BADJ,kSAMZ,CACI+Q,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2BACI,uBAAGuP,KAAK,mFAAmFG,OAAO,UAAlG,6BADJ,uZAhGhB,mBAAOitC,EAAP,KAwGA,OAxGA,KAwGO,6BACFA,EAAYl8C,KAAI,SAACpG,EAAO+B,GACrB,IAAMyrB,EAAYxtB,EAAMomB,MACxB,OAAO,yBAAK7f,IAAKxE,EAAO4D,UAAU,oBAAoBE,MAAO,CAAE8B,OAAQ,sBACnE,kBAAC6lB,EAAD,YC5GD,SAAS+0B,GAAT,GAAgF,IAAzDC,EAAwD,EAAxDA,kBAAmBt7C,EAAqC,EAArCA,MAAqC,IAA9BrB,aAA8B,MAAtB,GAAsB,MAAlBF,iBAAkB,MAAN,GAAM,EAClFhF,EAAiBP,IAAjBO,aAER,OACI,oCAC0B,YAArB6hD,GACG,yBACI78C,UAAWA,EACXyM,KAAiB,OAAZzR,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,WACpCjO,MAAOA,EACPrB,MAAK,gBAAOA,KAGE,kBAArB28C,GACG,yBACI78C,UAAWA,EACXyM,KAAiB,OAAZzR,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,qBACpCtP,MAAK,gBAAOA,KAGE,kBAArB28C,GACG,yBACI78C,UAAWA,EACXyM,KAAiB,OAAZzR,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,iBACpCjO,MAAOA,EACPrB,MAAK,gBAAOA,KAGE,wBAArB28C,GACG,yBACI78C,UAAWA,EAAWyM,KAAiB,OAAZzR,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,2BAC1DjO,MAAOA,EACPrB,MAAK,gBAAOA,M,4DC4ChC,ICxEI48C,GCOAA,GFujBWC,GAtfF,CACX,CACEC,KAAM,SACNr1C,KAAM,QACNjO,KAAM,oBACNujD,UGtEW,YAA6B,IAAZp0B,EAAW,EAAXA,QAE5B,EAAmC7kB,YAAQ,CAAEC,KAAM,WAA3CC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAElB,EAAsD3J,IAA9CS,EAAR,EAAQA,OAAQE,EAAhB,EAAgBA,QAASN,EAAzB,EAAyBA,WAAYE,EAArC,EAAqCA,aAgCrC,OA9BAgB,qBAAU,WACNZ,GAAQ,EAAO,QAChB,IA6BC,oCACI,yBAAK4E,UAAU,UAAUE,MAAO,CAAEyD,UAAW,SACzC,yBAAK3D,UAAU,gBACX,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAW3M,UAAU,eACjB,wBAAIA,UAAU,sBAAd,cAEJ,kBAAC2M,EAAA,EAAD,CAAWzM,MAAO,CAAEyD,UAAW,SAC3B,0BAAM4e,SAAUne,GApC3B,SAACnM,GACd,GAAkB,IAAdA,EAAK0zB,OAA6B,IAAd1zB,EAAK4sC,MAA7B,CAKA,IAAIqY,EAAa,CACbvxB,MAAO1zB,EAAK0zB,MACZwxB,SAAUllD,EAAK4sC,OAGnB/pC,GAAW,GACX/B,EAAS,yCAA0CmkD,GAC9CxkD,MAAK,SAAAb,GACiB,MAAfA,EAAOI,KACPsB,EAAY,QAAS,qCAAgC,UAAW,OAGhE/D,IAAQ4nD,OAAO,oBACfliD,EAAOrD,EAAOI,MACd4wB,EAAQvd,KAAK,qBAGpB3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAtB1BvB,EAAY,QAAS,2BAA4B,UAAW,UAmCpC,kBAACuN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,MACX,yBAAKzI,UAAU,eACX,wBAAIA,UAAU,QAAQE,MAAO,CAAEma,OAAQ,QAAvC,2BAAsErf,GAAgBA,EAAaic,eACnG,yBAAKxK,IAAKC,EAAQ,SAG1B,kBAACnF,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,MACX,kBAAC3B,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,kBAACsa,GAAA,EAAD,KACI,kBAACxT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,yCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,QAAQS,KAAK,QAAQiU,UAAU,MAAMrT,SAAUrE,OAE/D,kBAACuD,GAAA,EAAD,KACI,2BAAG,yCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,QAAQiU,UAAU,MAAMrT,SAAUrE,OAElE,uBAAGhE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,WAAQ6hB,EAAQvd,KAAK,yBAA/D,yBAOxB,yBAAKtL,UAAU,cACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,WAAqE,uBAAGlH,UAAU,6BHN9Hq9C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,iBACNr1C,KAAM,gBACNjO,KAAM,GACNujD,UIhFW,YAA6B,IAAZp0B,EAAW,EAAXA,QAC5B,EAA8CpuB,IAAtCK,EAAR,EAAQA,WAAYM,EAApB,EAAoBA,QAASJ,EAA7B,EAA6BA,aAE7B,EAAmCgJ,YAAQ,CAAEC,KAAM,WAA3CC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAmBlB,OAjBApI,qBAAU,WACNZ,GAAQ,EAAO,QAChB,IAgBC,oCACI,yBAAK4E,UAAU,UAAUE,MAAO,CAAEyD,UAAW,SACzC,yBAAK3D,UAAU,gBACX,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAW3M,UAAU,eACjB,wBAAIA,UAAU,sBAAd,cAEJ,kBAAC2M,EAAA,EAAD,CAAWzM,MAAO,CAAEyD,UAAW,SAC3B,0BAAM4e,SAAUne,GAvB3B,SAACnM,GACd,IAAIslD,EAAet4B,KAAK6qB,SAASj7B,SAAS,IAAIyX,OAAO,GACjDkxB,EAAY,CACZ1vC,MAAO7V,EAAK6V,MACZqvC,SAAUI,GAGdziD,GAAW,GACX9B,EAAQ,wBAAyBwkD,GAC5B9kD,MAAK,SAAAb,GAAM,OAAI0B,EAAY,gBAAW,qDAAmD,WAAW,WAAcsvB,EAAQvd,KAAK,qBAC/H3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,gBAAWqC,EAAI5D,QAAS,QAAS,SAC1D6D,SAAQ,kBAAMf,GAAW,UAaF,kBAACgM,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,MACX,yBAAKzI,UAAU,eACX,wBAAIA,UAAU,QAAQE,MAAO,CAAEma,OAAQ,QAAvC,2BAAsErf,GAAgBA,EAAaic,eACnG,yBAAKxK,IAAKC,EAAQ,SAG1B,kBAACnF,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,MACX,kBAAC3B,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,yBAAKzI,UAAU,iBACX,kBAACsa,GAAA,EAAD,KACI,kBAACxT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,MACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,yFACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,QAAQS,KAAK,QAAQiU,UAAU,MAAMrT,SAAUrE,OAE/D,uBAAGhE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,WAAQ6hB,EAAQvd,KAAK,iBAA/D,gBAOxB,yBAAKtL,UAAU,cACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAApD,iBAA2E,uBAAGlH,UAAU,6BJsBpIq9C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,eACNr1C,KAAM,cACNjO,KAAM,GACNujD,UKvFW,YAAkC,EAAXp0B,QAAY,IAC9C,EAA8BpuB,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UA+BlD,OA/BA,EAA4DE,YAgCxD,oCACI,yBAAKvE,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAACuL,EAAA,EAAD,CAAMhU,UAAU,aACZ,kBAACiU,EAAA,EAAD,CAAU/T,MAAO,CAAEqQ,UAAW,SAC1B,kBAAC+J,GAAA,EAAD,CAAMpa,MAAO,CAAE4lB,SAAU,MAAOzL,OAAQ,UAAYkI,SAAUne,GApCzE,SAACnM,GACd,GAAIA,EAAKwlD,UAAUjhD,OAAS,EACxBjD,EAAY,gBAAW,iDAA+C,UAAW,WAIrF,GAAItB,EAAKwlD,WAAaxlD,EAAKylD,eAA3B,CAKA,IAAIR,EAAa,CACbl8C,WAAYzL,EAAQyL,WACpBm8C,SAAUllD,EAAKwlD,UACfE,gBAAiB1lD,EAAK4sC,OAG1B/pC,GAAW,GACX9B,EAAQ,wBAAyBkkD,GAC5BxkD,MAAK,SAAAb,GACF0B,EAAY,QAAS,8BAA+B,UAAW,MAC/D8K,EAAS,QAAS,IAClBA,EAAS,YAAa,IACtBA,EAAS,iBAAkB,OAE9B1L,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAnB1BvB,EAAY,gBAAW,gEAAwD,UAAW,UA8BlE,kBAACuN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,+CACA,6BACA,kBAACmjC,GAAA,EAAD,CAAY5qC,UAAU,2BAClB,kBAAC6qC,GAAA,EAAD,CAAiBC,UAAU,WACvB,kBAACC,GAAA,EAAD,KACI,uBAAG/qC,UAAU,iBAGrB,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,QAAQY,SAAUrE,EAAS,CAAEkE,UAAU,OAEtEjE,EAAO0gC,OAAS,0BAAM7kC,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,6CACA,6BACA,kBAACmjC,GAAA,EAAD,CAAY5qC,UAAU,2BAClB,kBAAC6qC,GAAA,EAAD,CAAiBC,UAAU,WACvB,kBAACC,GAAA,EAAD,KACI,uBAAG/qC,UAAU,iBAGrB,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,YAAYY,SAAUrE,EAAS,CAAEkE,UAAU,OAE1EjE,EAAOs5C,WAAa,0BAAMz9C,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,kDACA,6BACA,kBAACmjC,GAAA,EAAD,CAAY5qC,UAAU,2BAClB,kBAAC6qC,GAAA,EAAD,CAAiBC,UAAU,WACvB,kBAACC,GAAA,EAAD,KACI,uBAAG/qC,UAAU,iBAGrB,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,OAE/EjE,EAAOu5C,gBAAkB,0BAAM19C,UAAU,kCAAhB,6BAItC,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,eACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,gBAA1E,qBLHxCq9C,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,UACNr1C,KAAM,SACNjO,KAAM,oBACNujD,UMhFW,YAA6B,EAAXp0B,QAAY,IAC3C,EAA8BpuB,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAGhB,EAAqCD,mBAAS,IAA9C,mBAAO+iD,EAAP,KAAmBC,EAAnB,KAEA,EAA2ChjD,mBAAS,IAApD,mBAAOuc,EAAP,KAAsB0mC,EAAtB,KACA,EAAyBjjD,mBAAS,IAAlC,mBAAO0K,EAAP,KAAagjC,EAAb,KAEA,EAAmC1tC,mBAAS,IAA5C,mBAAOuM,EAAP,KAAkB6nB,EAAlB,KAEA,EAAuDp0B,mBAAS,MAAhE,mBAAOsjC,EAAP,KAA4B2J,EAA5B,KAGA,EAAkDjtC,mBAAS,CACzD,CAAEpB,KAAM,QAASY,MAAO,SACxB,CAAEZ,KAAM,MAAOY,MAAO,OACtB,CAAEZ,KAAM,MAAOY,MAAO,OACtB,CAAEZ,KAAM,MAAOY,MAAO,SAJxB,mBAAOqlB,EAAP,KAQA,GARA,KAQkC7kB,mBAAS,KAA3C,mBAAOkjD,EAAP,KAAkBC,EAAlB,KAGA,EAA4BnjD,mBA7BrB,CACL2T,WAAY,UA4Bd,mBAAOgR,EAAP,KAAeC,EAAf,KAEMw+B,EAAkB,WACtBnjD,GAAW,GACX,IAAMojD,EAAkB1oD,IAAQqD,IAAI,oBAEpCI,EAAQ,sDAAD,OAAuD1D,EAAQyL,WAA/D,mBAA6Ek9C,QAA7E,IAA6EA,IAAmB,UACpGxlD,MAAK,SAAAb,GACAqmD,GACFz+B,EAAU,CAAEjR,WAAY0vC,IAE1BL,EAAehmD,EAAOI,MAEtB,IAKMkmD,EALWtmD,EAAOI,KAAKwI,KAAI,qBAAG29C,qBACjCC,OACA59C,KAAI,qBAAG09B,uBACPhzB,MAAK,SAACjU,EAAGkU,GAAJ,OAAUlU,EAAIkU,KAEO+U,QAAO,SAACC,EAAKwY,GAKxC,OAJAxY,EAAI9U,KAAK,CACP6yB,oBAAqBvF,EACrB0lB,SAAS,IAEJl+B,IACN,IAEH49B,EAAaG,MAEdxlD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG9BkB,qBAAU,WACRiiD,MACC,IAEH,MAAqCpjD,mBAAS,IAA9C,mBAAO0jD,EAAP,KAAmBC,EAAnB,KAgBA,EAAqD3jD,mBAAS,MAA9D,mBAAO4jD,EAAP,KAA2BC,EAA3B,KA+BA,SAASC,GAAUv3C,EAAWmD,EAAkB4zB,GAAsB,IAAD,EACnE,cAAO5zB,QAAP,IAAOA,GAAP,UAAOA,EAAkBC,QAAO,SAAAjF,GAAI,MAAmB,SAAfA,EAAKxN,iBAA7C,aAAO,EAA0D0I,KAAI,SAACpG,EAAO+B,GAAR,OACnE,kBAACmL,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,IAAI9H,IAAKxE,GAC7B,kBAAC4X,EAAA,EAAD,CAAMhU,UAAU,wBACd,kBAACiU,EAAA,EAAD,KACE,kBAACnN,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAI+yC,GAAG,KACpB,wBAAIx7C,UAAU,aAAY,2BAAI3F,EAAM4c,gBACpC,uBAAGjX,UAAU,gBAAgBE,MAAO,CAAEma,OAAQ,IAAK1Y,SAAU,YAAa,uBAAG3B,UAAU,iBAAvF,6BAEIoX,EAAc5M,QAAO,SAAAC,GAAC,OAAIA,EAAEnF,qBAAqB6B,iBAAiBG,UAAYF,EAAUE,UACnFmD,EAAEnF,qBAAqB6B,iBAAiB0nB,cAAgBznB,EAAUynB,cAClEpkB,EAAEnF,qBAAqBgF,yBAA2BjQ,EAAMiQ,yBAA+C,MAApBG,EAAE4K,kBACvFlK,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAEiK,gBAAkB,IAAI5d,KAAKP,EAAEme,mBAAoB7Y,OAAS,GACtGQ,GAAmBoa,EAAc5M,QAAO,SAAAC,GAAC,OAAIA,EAAEnF,qBAAqB6B,iBAAiBG,UAAYF,EAAUE,UACtGmD,EAAEnF,qBAAqB6B,iBAAiB0nB,cAAgBznB,EAAUynB,cAClEpkB,EAAEnF,qBAAqBgF,yBAA2BjQ,EAAMiQ,yBAA+C,MAApBG,EAAE4K,kBACvFlK,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAEiK,gBAAkB,IAAI5d,KAAKP,EAAEme,mBAAoBupC,UAAU,GAAGvpC,kBAIhH,kBAAC9N,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAI+yC,GAAG,KACpB,6BACE,4BAAQx7C,UAAU,aAAY,2BAAIoX,EAAc5M,QAAO,SAAAC,GAAC,OAAIA,EAAEnF,qBAAqB6B,iBAAiBG,UAAYF,EAAUE,UACrHmD,EAAEnF,qBAAqB6B,iBAAiB0nB,cAAgBznB,EAAUynB,cAClEpkB,EAAEnF,qBAAqBgF,yBAA2BjQ,EAAMiQ,2BAAyB9N,aAK9F,kBAACykB,GAAA,EAAD,KACE,6BACA,yBAAKjhB,UAAU,eACb,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBA/Dd,SAAC63C,EAAYC,EAAO3gB,GACjDoK,EAASuW,EAAMv5C,MACf0pB,EAAc4vB,GACd/W,EAAwB3J,GACxB,IAAI4gB,EAAY,GAQhB,IAAK,IAAI3jC,KAPThE,EAAc5M,QAAO,SAAAC,GAAC,OAAIA,EAAEnF,qBAAqB6B,iBAAiBG,UAAYu3C,EAAWv3C,UACpFmD,EAAEnF,qBAAqB6B,iBAAiB0nB,cAAgBgwB,EAAWhwB,cACnEpkB,EAAEnF,qBAAqBgF,yBAA2Bw0C,EAAMx0C,yBAAwD,MAA7BG,EAAE7F,2BAAiCnE,KAAI,SAAA4K,GAC7C,GAA1E0zC,EAAUv0C,QAAO,SAAA4Q,GAAC,OAAIA,EAAEvW,MAAQwG,EAAEzG,wBAAwBC,QAAMrI,QAClEuiD,EAAUzzC,KAAK,CAAEzG,KAAMwG,EAAEzG,wBAAwBC,KAAMmG,MAAOK,EAAEzG,wBAAwBoG,MAAOV,wBAAyBe,EAAEf,6BAGlHy0C,EACZA,EAAU3jC,GAAG4jC,WAAa5nC,EAAc5M,QAAO,SAAAC,GAAC,OAAIA,EAAEnF,qBAAqB6B,iBAAiBG,UAAYu3C,EAAWv3C,UAC9GmD,EAAEnF,qBAAqB6B,iBAAiB0nB,cAAgBgwB,EAAWhwB,cACnEpkB,EAAEnF,qBAAqBgF,yBAA2Bw0C,EAAMx0C,yBAAwD,MAA7BG,EAAE7F,yBAAmC6F,EAAE7F,wBAAwBC,MAAQk6C,EAAU3jC,GAAGvW,MAC7C,GAA1HlI,KAAO8N,EAAE4K,gBAAgByN,IAAI,OAAQrY,EAAE7F,wBAAwB8nC,qBAAqBuS,QAAQtiD,KAAO,IAAIlF,MAAS,UAAgB+E,OACrIuiD,EAAU3jC,GAAG8jC,eAAiB9nC,EAAc5M,QAAO,SAAAC,GAAC,OAAIA,EAAEnF,qBAAqB6B,iBAAiBG,UAAYu3C,EAAWv3C,UAClHmD,EAAEnF,qBAAqB6B,iBAAiB0nB,cAAgBgwB,EAAWhwB,cACnEpkB,EAAEnF,qBAAqBgF,yBAA2Bw0C,EAAMx0C,yBAAwD,MAA7BG,EAAE7F,yBAAmC6F,EAAE7F,wBAAwBC,MAAQk6C,EAAU3jC,GAAGvW,MAC7C,GAA1HlI,KAAO8N,EAAE4K,gBAAgByN,IAAI,OAAQrY,EAAE7F,wBAAwB8nC,qBAAqBuS,QAAQtiD,KAAO,IAAIlF,MAAS,UAAiB+E,OAGxIkiD,EAAuBK,GACC,GAApBA,EAAUviD,QACZjD,EAAY,QAAS,oCAAqC,UAAW,MAsCtB4lD,CAAuB/3C,EAAW/M,EAAO8jC,KAAhF,oBAQZ,SAASihB,GAAcP,EAAYQ,GACjC,OAAO,kBAACC,EAAA,EAAD,CAAUtzC,OAAS5E,GAAay3C,GAAc1gB,GAAuBkhB,GAAgC,IAAR95C,GAClG,kBAACgC,GAAA,EAAD,CAAKC,GAAG,KAAKtH,MAAO,CAAEma,OAAQ,aAC5B,yBAAKra,UAAU,eAAeE,MAAO,CAAEq/C,cAAe,YAAa1uB,QAAS,QAAUtrB,EAAtF,KACA,yBAAK3C,MAAM,oBAEb,kBAACkE,GAAA,EAAD,CAAK00C,GAAG,IAAI9yC,GAAG,IAAID,GAAG,IAAIvI,MAAO,CAAEma,OAAQ,WAClB,MAAtBokC,GAA8BA,EAAmBtzC,MAAK,SAAUjU,EAAGkU,GAAK,OAAOlU,EAAE8T,MAAQI,EAAEJ,SAAUvK,KAAI,SAAC4K,EAAGzK,GAAJ,OACxG,kBAAC2G,GAAA,EAAD,CAAK3G,IAAKA,GACR,kBAACoT,EAAA,EAAD,CAAMhU,UAAU,aAAagH,QAAS,kBAhGjBnC,EAgG6CwG,EAAExG,KAhGzCyF,EAgG+Ce,EAAEf,6BA/FpFk0C,EAAepnC,EAAc5M,QAAO,SAAAC,GAAC,OAAIA,EAAEnF,qBAAqB6B,iBAAiBG,UAAYF,EAAUE,UAClGmD,EAAEnF,qBAAqB6B,iBAAiB0nB,cAAgBznB,EAAUynB,cACrC,MAA7BpkB,EAAE7F,yBAAmC6F,EAAE7F,wBAAwBC,MAAQA,GACvE4F,EAAEnF,qBAAqBgF,yBAA2BA,MAJ3B,IAACzF,EAAMyF,IAiGzB,kBAAC2J,EAAA,EAAD,KACE,wBAAIjU,UAAU,eAAc,2BAAIqL,EAAExG,OAClC,6BACA,2BAAO7E,UAAW,gBAAlB,oBAAoDqL,EAAE2zC,YAAmB,6BACzE,2BAAOh/C,UAAW,eAAlB,kBAAiDqL,EAAE6zC,wBAoDjE,OACE,oCACwB,GAArBX,EAAW/hD,QACV,yBAAKwD,UAAU,WACb,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,iDACb,kBAACuH,GAAA,EAAD,CAAKC,GAAI,GACP,kBAAC6T,GAAD,CACE1T,KAAM,aACNjH,MAAO,0BAAMV,UAAU,cAAhB,eACPkH,KAAM,SACNQ,QAASgY,EACTrlB,MAAOmlB,EAAOhR,WACdxG,SAtDiB,SAACC,GAC9B,MAAwBA,EAAEyH,OAAlB/H,EAAR,EAAQA,KAAMtN,EAAd,EAAcA,MAEdolB,EAAU,6BACLD,GADI,mBAEN7X,EAAOtN,KAGVS,GAAW,GACX7B,EAAQ,sDAAD,OAAuD1D,EAAQyL,WAA/D,YAA6E3G,IACjF3B,MAAK,SAAAb,GAAM,OAAIgmD,EAAehmD,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG5BtF,IAAQslD,IAAI,mBAAoBzgD,EAAO,CAAE5E,QAAS,IAAKunD,KAAM,WA2CtDY,EAAWn9C,KAAI,SAAC4K,EAAGm0C,GAAJ,aACd,2CACGn0C,QADH,IACGA,GADH,UACGA,EAAG+yC,yBADN,aACG,EAAsB39C,KAAI,SAACg/C,EAAGrjD,GAC7B,IAAM4P,EAAS+xC,EAAUtkC,MAAK,SAAApQ,GAAI,OAAIA,EAAK80B,sBAAwBshB,EAAEthB,qBAAuB90B,EAAKi1C,WACjG,OACE,kBAACx3C,GAAA,EAAD,CAAKlG,IAAKxE,GACR,kBAAC4X,EAAA,EAAD,CAAMhU,UAAU,eACd,yBACEA,UAAU,oDACVE,MAAO,CAAEkY,OAAQ,WACjBpR,QAAS,kBAjD/B,SAA6CG,GAC3C,IAAIu4C,EAAM,aAAO3B,GACb4B,EAAQ5B,EAAU71C,MAAK,SAAAkK,GAAC,OAAIA,EAAE+rB,sBAAwBh3B,EAAiBg3B,uBAC3EwhB,EAAMrB,SAAWqB,EAAMrB,QACvBN,EAAa,aAAI0B,IAEbC,EAAMrB,SACRxjD,GAAW,GACX7B,EAAQ,oDAAD,OAAqD1D,EAAQyL,WAA7D,YAA2EmG,EAAiBg3B,sBAChGzlC,MAAK,SAAAb,IAGwB,IADDuf,EAAcwoC,WAAU,SAAAnlC,GAAG,OAAIA,EAAInV,qBAAqB64B,sBAAwBh3B,EAAiBg3B,wBAE1H2f,EAAkB,GAAD,oBAAK1mC,GAAL,aAAuBvf,EAAOI,WAGlDU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAE5BgjD,EAAkB1mC,EAAc5M,QAAO,SAAAiQ,GAAG,OAAIA,EAAInV,qBAAqB64B,sBAAwBh3B,EAAiBg3B,wBA8B/E0hB,CAAoCJ,KAEnD,yBAAKj4C,GAAG,KAAKkB,GAAG,MACd,wBAAI1I,UAAU,aACZ,uBAAGA,UAAWqL,EAAEwV,cADlB,IACoD,OAAfxV,EAAEvD,UACnCuD,EAAE/D,SAASwN,QAAQ,SAAU,IAAMzJ,EAAE/D,SAFzC,MAEsD+D,EAAEvD,UAFxD,YAE4E23C,EAAErwB,OAF9E,MAKF,yBAAKpvB,UAAU,QACb,uBAAGA,UAAS,uBAAkBgM,EAAS,KAAO,QAAU9L,MAAO,CAAEyB,SAAU,YAG9EqK,GACC,yBAAKhM,UAAU,kBACb,kBAAC8G,GAAA,EAAD,KACG63C,GAAUtzC,EAAGo0C,EAAEl1C,iBAAkBk1C,EAAEthB,sBAEtC,kBAACr3B,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKkB,GAAG,MACb02C,GAAc/zC,EAAGo0C,EAAEthB,kCAc3CogB,EAAW/hD,OAAS,GACnB,kBAAC2a,GAAD,CACEC,cAAemnC,EACfx6C,aAhNa,WACnB+5C,EAAkB,IAClBr+B,EA3EK,CACLjR,WAAY,UA2EZgwC,EAAe,IACfE,EAAuB,MACvBT,SNOAZ,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,aACNr1C,KAAM,YACNm4C,sBAAuB,YACvBpmD,KAAM,uBACNujD,UAAWx+B,GACX4+B,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,cACN8C,sBAAuB,aACvBn4C,KAAM,mBACNjO,KAAM,aACNujD,UOhHW,YAAsC,IAAZp0B,EAAW,EAAXA,QAE7BtzB,EAAYkF,IAAZlF,QAER,EAA6BQ,IAAM8E,SAAS,IAA5C,mBAAOklD,EAAP,KAAeC,EAAf,KAuCA,OA/BAhkD,qBAAU,WALN/C,EAAQ,sDAAD,OAAuD1D,EAAQyL,aACjEtI,MAAK,SAAAb,GAAM,OAAImoD,EAAWnoD,EAAOI,SACjCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,WAK9D,IA8BC,oCACI,yBAAKgI,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACKi5C,EAAOt/C,KAAI,SAAC4K,EAAGzK,GAAJ,OACR,kBAAC2G,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,IAAI9H,IAAKA,GAC3B,kBAACoT,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACywB,GAAA,EAAD,CAAYzwB,UAAU,2BACF,OAAfqL,EAAEvD,UAAqBuD,EAAE/D,SAASwN,QAAQ,SAAU,IAAMzJ,EAAE/D,UAEjE,kBAAC2M,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAK+yC,GAAG,KAAKx7C,UAAU,oBAC3B,gCAASqL,EAAEvD,WACX,yBAAK9H,UAAU,yCAAyCgH,QAAS,kBAzChF,SAACmyB,GACtB,IAAI8mB,EACAC,EAAc,CACd,YAAU,mBACV,cAAY,+BACZ,aAAW,mCAMf,OAJAD,EAAoB9mB,EAAMilB,kBAAkB39C,KAAI,YAAsC,IAAnC09B,EAAkC,EAAlCA,oBAAqB/O,EAAa,EAAbA,OAEpE,MAAO,CAAE+O,sBAAqB9jC,MAAO+0B,EAAQ1uB,MAAOw/C,EAAY9wB,OAE5D+J,EAAM7xB,UACV,IAAK,gBACDuhB,EAAQvd,KAAK,CAAE4d,SAAU,0BAA2B9M,MAAO,CAAEhV,UAAW+xB,KACxE,MACJ,IAAK,iBACkB,OAAfA,EAAM9xB,MACNwhB,EAAQvd,KAAK,CAAE4d,SAAU,uBAAwB9M,MAAO,CAAEhV,UAAW+xB,EAAOhyB,iBAAkB84C,KAE9Fp3B,EAAQvd,KAAK,CAAE4d,SAAU,oBAAqB9M,MAAO,CAAEhV,UAAW+xB,KACtE,MACJ,IAAK,gBACDtQ,EAAQvd,KAAK,CAAE4d,SAAU,oBAAqB9M,MAAO,CAAEhV,UAAW+xB,MAmBiCoiB,CAAiBlwC,KACpF,uBAAGzI,MAAOyI,EAAEwV,YAAc,IAAMxV,EAAEsV,wBPuD9E08B,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,oBACN8C,sBAAuB,mBACvBn4C,KAAM,oBACNjO,KAAM,gBACNujD,UQ9GW,YAAwC,IAAZp0B,EAAW,EAAXA,QACvC,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAE5B,EAA+DgJ,YAAQ,CAAEC,KAAM,WAAvEC,EAAR,EAAQA,SAAUC,EAAlB,EAAkBA,OAAQE,EAA1B,EAA0BA,SAAUE,EAApC,EAAoCA,YAAaC,EAAjD,EAAiDA,UAEjD,EAA6CzO,IAAM8E,SAAS,MAA5D,mBAAOslD,EAAP,KAAuBC,EAAvB,KACA,EAAmCrqD,IAAM8E,SAAS,MAAlD,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAEA,EAAsC/yB,IAAM8E,UAAS,GAArD,mBAAOwlD,EAAP,KAAoBC,EAApB,KAGA,EAAiCvqD,IAAM8E,SAAS,IAAhD,mBAAOyM,EAAP,KAAiBygC,EAAjB,KACA,EAA2BhyC,IAAM8E,SAAS,CACtC,CAAER,MAAO,gBAAiBqG,MAAO,iBACjC,CAAErG,MAAO,iBAAkBqG,MAAO,kBAClC,CAAErG,MAAO,gBAAiBqG,MAAO,mBAH9BsnC,EAAP,oBAcA,EAAuBjyC,IAAM8E,SAAS,IAAtC,mBAAO0S,EAAP,KAAYgpB,EAAZ,KAuBA,EAAmCxgC,IAAM8E,SAAS,MAAlD,mBAAOuM,EAAP,KAAkB6nB,EAAlB,KACA,EAAmDl5B,IAAM8E,SAAS,IAAlE,mBAAOotC,EAAP,KAA0BC,EAA1B,KACMC,EAAuB,SAACC,GAC1BnvC,EAAQ,sDAAD,OAAuD1D,EAAQyL,aACjEtI,MAAK,SAAAb,GAAM,OAAIqwC,EAAsBrwC,EAAOI,KAAKuS,QAAO,SAAAC,GAAC,OAAIA,EAAEnD,UAAY8gC,SAC3EzvC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAuGlC,OACI,oCACI,yBAAKkF,UAAU,WACX,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,CAAK9G,UAAU,mBACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,cACH,kBAAC,KAAD,CACI0H,QAASsgC,EACTrgC,KAAK,WACLK,SAAU,SAACC,GAzJxB,IAAC5N,IAyJ8C4N,EAAE5N,MAxJpE0tC,EAAa1tC,GACbgK,EAAS,WAAYhK,GAAO,GAC5BkK,EAAY,YACZ4jC,EAAqB9tC,GACrB40B,EAAc,OAqJkB50B,MAAmB,IAAZiN,GAAkB0gC,EAAiB9/B,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUiN,KACpE1J,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,YACR,CAAES,UAAU,OAGnBjE,EAAOmD,UAAY,0BAAMtH,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,eACH,kBAAC,KAAD,CACI0H,QAASugC,EACTtgC,KAAK,YACLC,eAAgB,SAAAC,GAAM,OAAIA,EAAOC,WACjCC,eAAgB,SAAAF,GAAM,OAAIA,EAAOgnB,cACjC7mB,SAAU,SAACC,GApIvB,IAAC5N,IAoI8C4N,EAAE4mB,aAnIrEI,EAAc50B,GACdgK,EAAS,YAAahK,GAAO,GAC7BkK,EAAY,cAkIoBlK,MAAoB,MAAb+M,GAAqB6gC,EAAkB//B,MAAK,SAAAnR,GAAG,OAAIA,EAAI83B,eAAiBznB,KAC/ExJ,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,aACR,CAAES,UAAU,OAGnBjE,EAAOiD,WAAa,0BAAMpH,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGhH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGzG,iBAAZhd,GACG,kBAACC,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,QAAQY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAIjH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,wDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGvH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,kDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,eAAeY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGpH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,QAIvH,kBAACxd,GAAA,EAAD,CAAK9G,UAAU,mBACVqgD,GACG,oCACI,kBAAC94C,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,uCACH,kBAAC,GAAD,CAAUP,KAAK,OAAOS,KAAK,MAAMK,SA1NvD,SAAC6I,GACf0lB,EAAQ1lB,EAAMnB,OAAOrV,OAEgC,GAAjDwW,EAAMnB,OAAOrV,MAAM01B,WAAW,IAAK,IAAIvzB,SAG3C+H,EAAY,OAEZ4jB,GAAatX,EAAMnB,OAAOrV,OAAO3B,MAAK,SAAAb,GACZ,MAAlBA,EAAOE,QAAmBF,EAAOI,KAAKmwB,eAAe,SAA+B,GAApBvwB,EAAOI,KAAKowB,MAC5E9uB,EAAY,QAAS,wBAAsB,UAAW,MACtD8K,EAAS,aAAc,IACvBA,EAAS,SAAU,MAGnBA,EAAS,aAAcxM,EAAOI,KAAKuV,YACnCnJ,EAAS,SAAUxM,EAAOI,KAAK0V,cA0MmDtT,MAAOkT,EAAK4jB,SAAUjtB,EAAS,CAAEkE,UAAU,IAASkc,aAAa,OAG/H,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,8CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,aACLY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAIlE,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACLS,KAAK,SACLY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAIlE,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,SAAS0U,UAAU,KAAKjU,KAAK,SAASY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,SAM5H,kBAACxd,GAAA,EAAD,CAAK9G,UAAU,mBACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QAAS,SAAAw4C,GAAC,OAAIc,GAAgBD,KAAc,uBAAGrgD,UAAU,kBAAtH,0BAEJ,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QA3NjE,WACpB,GAAgB,IAAZM,EAKJ,GAAiB,IAAbF,EAKJ,GAAiB,OAAbA,GAAkC,kBAAZE,EAA1B,CAKA,IAAIrP,EAAOuM,IAEX,GAA4B,GAAxBvM,EAAK2/B,SAASp7B,QAA6C,GAA9BvE,EAAKmc,eAAe5X,QAA8C,GAA/BvE,EAAK4V,gBAAgBrR,QAA2C,GAA5BvE,EAAKu/C,aAAah7C,QAC3F,GAA3BvE,EAAKkV,YAAY3Q,aAA2B5G,GAAZqC,EAAKsV,UAAuC3X,GAAnBqC,EAAKuV,iBAA0C5X,GAAfqC,EAAK0V,aAAqC/X,GAAdqC,EAAKqW,MAD9H,CAMAwa,EAAc,MACdhuB,GAAW,GAGX,IAAM2K,EAAc,CAChB86C,QAAkC,GAAxBtoD,EAAK2/B,SAASp7B,OAAc,IAAMvE,EAAK2/B,SACjDtwB,SAAUA,EACVunB,aAAcznB,EACdgN,eAA+C,GAA9Bnc,EAAKmc,eAAe5X,OAAc,IAAMvE,EAAKmc,eAC9DvG,gBAAiD,GAA/B5V,EAAK4V,gBAAgBrR,QAAmD,IAApCvE,EAAK4V,gBAAgB2yC,YAAoB,IAAMvoD,EAAK4V,gBAC1G2pC,aAA2C,GAA5Bv/C,EAAKu/C,aAAah7C,QAAgD,IAAjCvE,EAAKu/C,aAAagJ,YAAoB,IAAMvoD,EAAKu/C,aACjGrqC,YAAyC,GAA3BlV,EAAKkV,YAAY3Q,QAA+C,IAAhCvE,EAAKkV,YAAYqzC,YAAoB,IAAMvoD,EAAKkV,YAC9FI,SAAkB3X,GAAZqC,EAAKsV,KAAuC,GAAnBtV,EAAKsV,IAAI/Q,QAAuC,IAAxBvE,EAAKsV,IAAIizC,YAAoB,IAAMvoD,EAAKsV,IAC/FC,gBAAgC5X,GAAnBqC,EAAKuV,YAAqD,GAA1BvV,EAAKuV,WAAWhR,QAA8C,IAA/BvE,EAAKuV,WAAWgzC,YAAoB,IAAMvoD,EAAKuV,WAC3HG,YAAwB/X,GAAfqC,EAAK0V,QAA6C,GAAtB1V,EAAK0V,OAAOnR,QAA0C,IAA3BvE,EAAK0V,OAAO6yC,YAAoB,IAAMvoD,EAAK0V,OAC3G8jC,YAAwB77C,GAAfqC,EAAKw5C,QAA6C,GAAtBx5C,EAAKw5C,OAAOj1C,QAA0C,IAA3BvE,EAAKw5C,OAAO+O,YAAoB,IAAMvoD,EAAKw5C,OAC3GnjC,WAAsB1Y,GAAdqC,EAAKqW,OAA2C,GAArBrW,EAAKqW,MAAM9R,QAAyC,IAA1BvE,EAAKqW,MAAMkyC,YAAoB,IAAMvoD,EAAKqW,OAG3GvV,EAAS,wBAAyB0M,GAC7B/M,MAAK,SAAAb,GAAM,OAAIuoD,EAAmBvoD,EAAOI,SACzCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA1B1BvB,EAAY,QAAS,kCAAmC,QAAS,WARjEA,EAAY,QAAS,4CAAuC,QAAS,WALrEA,EAAY,QAAS,uBAAwB,QAAS,WALtDA,EAAY,QAAS,sBAAuB,QAAS,QAyNsD,uBAAGyG,UAAU,kBAApG,iBAINgN,GAAamzC,GAAkBA,EAAe3jD,OAAS,GACrD,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,oBACN,iBAAZsH,GAA+B64C,EAAe31C,QAAO,SAAAC,GAAC,MAAgB,SAAZA,EAAE1S,UAAmByE,OAAS,GAAKxB,GAA6D,aAA7CA,EAAayuB,8BACvH,yBAAKzpB,UAAU,OACX,yBAAKA,UAAU,0CACX,kFACA,uBAAGE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,sDAAwDovC,EAAe,GAAG/2B,gBAAiB,WAAWppB,UAAU,2BAK5L,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GAENgX,QAAS,CACL,CAAEhX,MAAO,aAAciX,MAAO,YAC9B,CAAEjX,MAAO,wBAAsBiX,MAAO,kBACtC,CAAEjX,MAAO,YAAaiX,MAAO,yEAC7B,CAAEjX,MAAO,WAAY2X,OAAQ,SAACL,GAAD,OAlMrC,SAACA,GAC7B,OAAIA,EAAQ7D,wBAA0B6D,EAAQ7D,uBAAuBzQ,OAAS,EACnEsU,EAAQ7D,uBAAuB,GAAGF,cAEpC+D,EAAQqD,kBAAoBrD,EAAQqD,iBAAiB3X,OAAS,EAC5DsU,EAAQqD,iBAAiB,GAAGpH,cAE9B+D,EAAQ4F,kBAAoB5F,EAAQ4F,iBAAiBla,OAAS,EAC5DsU,EAAQ4F,iBAAiB,GAAG3J,mBADlC,EA2LyE0zC,CAAwB3vC,KAClE,CAAEtX,MAAO,iBAAe2X,OAAQ,SAACL,GAAD,OAvLxC,SAACA,GAC7B,OAAIA,EAAQ7D,wBAA0B6D,EAAQ7D,uBAAuBzQ,OAAS,EACnEsU,EAAQ7D,uBAAuB,GAAGY,gBAEpCiD,EAAQqD,kBAAoBrD,EAAQqD,iBAAiB3X,OAAS,EAC5DsU,EAAQqD,iBAAiB,GAAGtG,gBAE9BiD,EAAQ4F,kBAAoB5F,EAAQ4F,iBAAiBla,OAAS,EAC5DsU,EAAQ4F,iBAAiB,GAAG7I,qBADlC,EAgL4E6yC,CAAwB5vC,KACrE,CAAEtX,MAAO,cAAY2X,OAAQ,SAACL,GAAD,OA5KxC,SAACA,GAC1B,OAAIA,EAAQ7D,wBAA0B6D,EAAQ7D,uBAAuBzQ,OAAS,EACnEsU,EAAQ7D,uBAAuB,GAAGO,WAAa,KAClDsD,EAAQ7D,uBAAuB,GAAGQ,YAAc,KAChDqD,EAAQ7D,uBAAuB,GAAGU,OAEjCmD,EAAQqD,kBAAoBrD,EAAQqD,iBAAiB3X,OAAS,EAC5DsU,EAAQqD,iBAAiB,GAAG3G,WAAa,KAC5CsD,EAAQqD,iBAAiB,GAAG1G,YAAc,KAC1CqD,EAAQqD,iBAAiB,GAAGxG,OAE3BmD,EAAQ4F,kBAAoB5F,EAAQ4F,iBAAiBla,OAAS,EAC5DsU,EAAQ4F,iBAAiB,GAAGlJ,WAAa,KAC5CsD,EAAQ4F,iBAAiB,GAAGjJ,YAAc,KAC1CqD,EAAQ4F,iBAAiB,GAAG/I,YAH/B,EAiKyEgzC,CAAqB7vC,MAEnE7Y,KAAMkoD,EACNxvC,WAAW,EACXjJ,QAAS,CACLkQ,WAAW,EACX2G,cAAc,EACdjf,gBAEJvB,QAAS,CACL,CACIrE,KAAM,SACNkX,QAAS,sBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAvKlC,SAACA,GAChBgY,EAAchY,GAsKuDuN,CAAWvN,MAGhDG,aAAc9T,SAOxB,MAAb6P,GAAiC,iBAAZ1F,GAClB,kBAACshB,GAAD,CACIvf,KAAM2D,EACN6b,QAASA,EACTvf,iBAAiB,IAGX,MAAb0D,GAAiC,kBAAZ1F,GAClB,kBAACkjB,GAAD,CACInhB,KAAM2D,EACN6b,QAASA,EACTvf,iBAAiB,IAGX,MAAb0D,GAAiC,iBAAZ1F,GAClB,kBAACwjB,GAAD,CACIzhB,KAAM2D,EACN6b,QAASA,EACTvf,iBAAiB,OR9OrC+zC,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,oBACN8C,sBAAuB,kBACvBn4C,KAAM,uBACNjO,KAAM,aACNujD,US7HW,WACX,IAAQniD,EAAeL,IAAfK,WAER,EAAmCkJ,YAAQ,CAAEC,KAAM,WAA3CC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAElB,EAAwCvJ,mBAAS,IAAjD,mBAAO+lD,EAAP,KAAqBC,EAArB,KA+BA,OAAO,oCACH,yBAAK7gD,UAAU,WACX,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GAjCf,SAACnM,GACd,IAAQ2/B,EAAoB3/B,EAApB2/B,SAAUtpB,EAAUrW,EAAVqW,MAElB,GAAwB,IAApBspB,EAASp7B,QAAiC,IAAjB8R,EAAM9R,OAAnC,CAKA,IAAM+jD,EAA8B,IAApB3oB,EAASp7B,OAAe,KAAOo7B,EACzCkpB,EAAgC,IAAjBxyC,EAAM9R,OAAe,KAAO8R,EAEjDxT,GAAW,GACX7B,EAAQ,uDAAD,OAAwDsnD,EAAxD,YAAmEO,IAAgBpoD,MAAK,SAAAb,GACvFA,EAAOI,MAA+B,IAAvBJ,EAAOI,KAAKuE,OAC3BjD,EAAY,QAAS,yCAAuC,QAAS,OAKzE1B,EAAOI,KAAKwI,KAAI,SAAA4K,GACZA,EAAE01C,0BAA4BtkD,GAAY4O,EAAE01C,8BAGhDF,EAAgBhpD,EAAOI,UAEtBU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAAS,4DAA0D,QAAS,SACrGsC,SAAQ,kBAAMf,GAAW,WAtB1BvB,EAAY,QAAS,mCAAoC,QAAS,UA8BtD,kBAACuN,GAAA,EAAD,CAAK9G,UAAU,oDACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAI,EAAGjB,GAAI,GACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,4CACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACL0U,UAAU,KACVjU,KAAK,WACLY,SAAUrE,EAAS,CAAEkE,UAAU,IAC/Bkc,aAAa,OAIzB,kBAAC/c,GAAA,EAAD,CAAKkB,GAAI,EAAGjB,GAAI,GACZ,kBAACC,GAAA,EAAD,KACI,2BAAG,yCACH,kBAACa,GAAA,EAAD,CACIpB,KAAK,OACL0U,UAAU,KACVjU,KAAK,QACLY,SAAUrE,EAAS,CAAEkE,UAAU,IAC/Bkc,aAAa,OAIzB,kBAAC/c,GAAA,EAAD,CAAKkB,GAAI,EAAGjB,GAAI,GACZ,kBAACC,GAAA,EAAD,KACI,6BACA,kBAACV,GAAA,EAAD,CACIrH,MAAM,WAEN,uBAAGM,UAAU,uBAHjB,iBAUf4gD,EAAapkD,OAAS,GACnB,kBAACsK,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAI,IACL,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAK,oBACLgX,QAAS,CACL,CAAEhX,MAAO,aAAciX,MAAO,QAC9B,CAAEjX,MAAO,kBAAgBiX,MAAO,eAChC,CAAEjX,MAAO,qBAAmBiX,MAAO,kBACnC,CAAEjX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,iBAAkBiX,MAAO,eAClC,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,WAAYiX,MAAO,8BAEhCxY,KAAM2oD,EACNjwC,WAAW,EACXjJ,QAAS,CACLkQ,WAAW,EACX2G,cAAc,EACdjf,gBAEJ2R,aAAc9T,YTyB9CkgD,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,uBACN8C,sBAAuB,iBACvBn4C,KAAM,qBACNjO,KAAM,sBACNujD,UUvIW,WACX,IAAOniD,EAAcL,IAAdK,WAEP,EAAqC/E,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAEA,EAA6CvhB,IAAM8E,UAAS,GAA5D,mBAAOmmD,EAAP,KAAuBC,EAAvB,KACA,EAA+BlrD,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KAqBA,OAJAj4B,qBAAU,WAXNlB,GAAW,GACX7B,EAAQ,uBACHP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,QAS/B,IAGC,oCACI,yBAAKkF,UAAYg0B,GAAWgtB,EAAkB,SAAW,WACrD,kBAACl6C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,4BAAQvB,KAAK,SAASlH,UAAU,oBAAoBgH,QAAS,kBAAMi6C,GAAmB,KAAO,uBAAGjhD,UAAU,uBAA1G,uBACA,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,aAAciX,MAAO,YAC9B,CAAEjX,MAAO,kBAAmBiX,MAAO,iBACnC,CAAEjX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,oBAAqBiX,MAAO,qBAEzCxY,KAAMof,EACN1G,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAxCtB,SAACA,GAChBmjB,EAAYnjB,GAuC6CwhB,CAAWxhB,MAGhDG,aAAc9T,GACduK,QAASpI,QAKxB00B,GACG,kBAACjS,GAAD,CAAqBC,wBAAyBgS,EAASjwB,aAtC9C,WACjBkwB,EAAY,SAuCP+sB,GACG,kBAAC16B,GAAD,CAAoBviB,aAAc,kBAAMk9C,GAAmB,QV4EvE5D,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,mBACN8C,sBAAuB,kBACvBn4C,KAAM,4BACNjO,KAAM,qBACNujD,UW9IW,WACX,IAAQniD,EAAeL,IAAfK,WAER,EAAwCkJ,YAAQ,CAAEC,KAAM,WAAhDC,EAAR,EAAQA,SAAUM,EAAlB,EAAkBA,UAAWL,EAA7B,EAA6BA,OAE7B,EAAqCpO,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAqCA,OACI,oCACI,yBAAKtX,UAAU,WACX,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,aAAaY,SAAUrE,EAAS,CAAEkE,UAAU,MACnEjE,EAAO+8C,YAAc,0BAAMlhD,UAAU,kCAAhB,4BAG9B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,uCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,UAAUY,SAAUrE,EAAS,CAAEkE,UAAU,MAChEjE,EAAOg9C,SAAW,0BAAMnhD,UAAU,kCAAhB,4BAG3B,kBAACuH,GAAA,EAAD,KACI,kBAACR,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QAxCxE,WACb,IAAI/O,EAAOuM,IAEX,GAAuB,IAAnBvM,EAAKipD,YAAoC,IAAhBjpD,EAAKkpD,QAAlC,CAKArmD,GAAW,GACX,IAAIsmD,EAAc,CACdtQ,OAAQh0C,GAAe7E,EAAKipD,YAC5BlQ,IAAKl0C,GAAe7E,EAAKkpD,UAE7BpoD,EAAS,kBAAmBqoD,GACvB1oD,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAZ1BvB,EAAY,QAAS,8BAA+B,QAAS,QAoCuC,uBAAGyG,UAAU,kBAA7F,gBAGR,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,aAAciX,MAAO,iBAAkBU,OAAQ,SAACL,GAAD,OAAarU,GAAYqU,EAAQnI,kBACzF,CAAEnP,MAAO,gBAAiBiX,MAAO,2BACjC,CAAEjX,MAAO,kBAAmBiX,MAAO,iCAAkCU,OAAQ,SAACL,GAAD,OAAaA,EAAQyI,+BAA+B/c,QAAQ0K,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,WAEtLh+B,KAAMof,EACN1G,WAAW,EACX5S,QAAS,CACL,CACIrE,KAAM,WACNkX,QAAS,oBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA1E5B,SAACA,GAClBhW,GAAW,GACX7B,EAAQ,SAAW6X,EAAQwI,uBACtB5gB,MAAK,SAAAb,GACF,IAAMwpD,EAAUz2C,SAASgH,cAAc,KACjCmT,EAAO,IAAIu8B,KAAK,CAACzpD,EAAOI,MAC1B,CAAEiP,KAAM,6BACZm6C,EAAQ9xC,KAAOgyC,IAAIC,gBAAgBz8B,GACnCs8B,EAAQvvC,SAAW,YACnBlH,SAASxN,KAAKqkD,YAAYJ,GAC1BA,EAAQtvC,WAEXpZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA6DmC4mD,CAAa5wC,MAGlDG,aAAc9T,GACduK,QAASpI,YX0DzC+9C,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,2BACN8C,sBAAuB,aACvBn4C,KAAM,iCACNjO,KAAM,eACNujD,UYvJW,YAAmD,EAAXp0B,QAAY,IACzD/tB,EAAeL,IAAfK,WAEFpE,EAAWirD,cACjB,EAAuF39C,YAAQ,CAAEC,KAAM,WAA/FC,EAAR,EAAQA,SAAiEM,GAAzE,EAAkBJ,aAAlB,EAAgCD,OAAhC,EAAwCG,SAAxC,EAAkDD,SAAlD,EAA4DE,YAA5D,EAAyEC,WAEzE,EAA2CzO,IAAM8E,UAAS,GAA1D,mBAAsB0yB,GAAtB,WAEA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAsCA,OAJAtb,qBAAU,WACRyvB,GAA+B,kCAAkC,SAAU5zB,GAAU01B,EAAkB11B,QACtG,IAGD,qCACI44C,GACA,yBAAKzwC,UAAU,WAEb,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACd,kBAACiU,EAAA,EAAD,KACE,kBAACnN,GAAA,EAAD,CAAK9G,UAAU,mBACb,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG5G,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,0DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGlH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,wDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGnH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,kDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,eAAeY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGhH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG/G,kBAAC/c,GAAA,EAAD,KACE,kBAACR,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QA5D5D,WACf,IAAI/O,EAAOuM,IAEiB,GAAxBvM,EAAK2/B,SAASp7B,QAA6C,GAA9BvE,EAAKmc,eAAe5X,QAA8C,GAA/BvE,EAAK4V,gBAAgBrR,QAA2C,GAA5BvE,EAAKu/C,aAAah7C,QAA0C,GAA3BvE,EAAKkV,YAAY3Q,QAK1J1B,GAAW,GACX7B,EAAQ,6CAAD,OAA8CvC,EAAS0lB,MAAMhV,UAAUynB,aAAvE,YAAgH,GAAxB52B,EAAK2/B,SAASp7B,OAAc,IAAMvE,EAAK2/B,SAA/H,oBAC4B,GAA9B3/B,EAAKmc,eAAe5X,OAAc,IAAMvE,EAAKmc,eAD3C,YAC8F,GAA/Bnc,EAAK4V,gBAAgBrR,OAAc,IAAMvE,EAAK4V,gBAD7G,oBAE0B,GAA5B5V,EAAKu/C,aAAah7C,OAAc,IAAMvE,EAAKu/C,aAFzC,YAEsF,GAA3Bv/C,EAAKkV,YAAY3Q,OAAc,IAAMvE,EAAKkV,cACzGzU,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAV1BvB,EAAY,QAAS,kCAAmC,QAAS,QAwD2B,uBAAGyG,UAAU,kBAA7F,kBAOR,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAO9C,EAAS0lB,MAAMhV,UAAUU,UAChC0I,QAAS,CACP,CAAEhX,MAAO,aAAciX,MAAO,YAC9B,CAAEjX,MAAO,WAAYiX,MAAO,2CAC5B,CAAEjX,MAAO,iBAAeiX,MAAO,6CAC/B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAS,CACPkQ,WAAW,EACX2G,cAAc,GAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAtGR,SAACA,GAClB7X,EAAQ,0BAA4B6X,EAAQvF,cACzC7S,MAAK,SAAAb,GACJo8B,EAAYp8B,EAAOI,MACnBy4C,GAAe,MAEhB/3C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA+FiBw3B,CAAWxhB,MAG5CG,aAAc9T,QAMvBszC,GACC,kBAAC/V,GAAD,CAA6BrxB,KAAM2qB,EAASjwB,aAtG7B,WACnBkwB,EAAY,MACZyc,GAAe,QZgIf2M,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,qBACN8C,sBAAuB,aACvBn4C,KAAM,2BACNjO,KAAM,mBACNujD,UahKW,YAA6C,EAAXp0B,QAAY,IACnD/tB,EAAcL,IAAdK,WAER,EAAgCkJ,YAAQ,CAAEC,KAAM,WAAxCC,EAAR,EAAQA,SAAUM,EAAlB,EAAkBA,UACZ9N,EAAWirD,cAEjB,EAA2C5rD,IAAM8E,UAAS,GAA1D,mBAAsB0yB,GAAtB,WAEA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAsCA,OAJAtb,qBAAU,WACRyvB,GAA+B,4BAA4B,SAAU5zB,GAAU01B,EAAkB11B,QAChG,IAGD,qCACI44C,GACA,yBAAKzwC,UAAU,WAEb,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACd,kBAACiU,EAAA,EAAD,KACE,kBAACnN,GAAA,EAAD,CAAK9G,UAAU,mBACb,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG5G,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,0DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGlH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,wDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGnH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,kDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,eAAeY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGhH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG/G,kBAAC/c,GAAA,EAAD,KACE,kBAACR,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QA5D5D,WACf,IAAI/O,EAAOuM,IAEiB,GAAxBvM,EAAK2/B,SAASp7B,QAA6C,GAA9BvE,EAAKmc,eAAe5X,QAA8C,GAA/BvE,EAAK4V,gBAAgBrR,QAA2C,GAA5BvE,EAAKu/C,aAAah7C,QAA0C,GAA3BvE,EAAKkV,YAAY3Q,QAK1J1B,GAAW,GACX7B,EAAQ,uCAAD,OAAwCvC,EAAS0lB,MAAMhV,UAAUynB,aAAjE,YAA0G,GAAxB52B,EAAK2/B,SAASp7B,OAAc,IAAMvE,EAAK2/B,SAAzH,oBAC4B,GAA9B3/B,EAAKmc,eAAe5X,OAAc,IAAMvE,EAAKmc,eAD3C,YAC8F,GAA/Bnc,EAAK4V,gBAAgBrR,OAAc,IAAMvE,EAAK4V,gBAD7G,oBAE0B,GAA5B5V,EAAKu/C,aAAah7C,OAAc,IAAMvE,EAAKu/C,aAFzC,YAEsF,GAA3Bv/C,EAAKkV,YAAY3Q,OAAc,IAAMvE,EAAKkV,cACzGzU,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAV1BvB,EAAY,QAAS,kCAAmC,QAAS,QAwD2B,uBAAGyG,UAAU,kBAA7F,kBAgBR,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAO9C,EAAS0lB,MAAMhV,UAAUU,UAChC0I,QAAS,CACP,CAAEhX,MAAO,aAAciX,MAAO,YAC9B,CAAEjX,MAAO,WAAYiX,MAAO,qCAC5B,CAAEjX,MAAO,iBAAeiX,MAAO,uCAC/B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAS,CACPkQ,WAAW,EACX2G,cAAc,GAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA/GR,SAACA,GAClB7X,EAAQ,oBAAsB6X,EAAQvF,cACnC7S,MAAK,SAAAb,GACJo8B,EAAYp8B,EAAOI,MACnBy4C,GAAe,MAEhB/3C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAwGiBw3B,CAAWxhB,MAG5CG,aAAc9T,GACdswC,QAASnuC,QAMlBmxC,GACC,kBAACjN,GAAD,CAAuBn6B,KAAM2qB,EAASjwB,aAhHvB,WACnBkwB,EAAY,MACZyc,GAAe,QbyIf2M,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,wBACN8C,sBAAuB,aACvBn4C,KAAM,+BACNjO,KAAM,mBACNujD,UxB7DW,YAAgD,EAAXp0B,QAAY,IAAD,IAC7D,EAA8BpuB,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAA+DkJ,YAAQ,CAAEC,KAAM,WAAvEC,EAAR,EAAQA,SAAyCM,GAAjD,EAAkBL,OAAlB,EAA0BE,SAA1B,EAAoCE,YAApC,EAAiDC,WAC3C9N,EAAWirD,cAEjB,EAA2C9mD,oBAAS,GAApD,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAqC1yB,oBAAS,GAA9C,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B71C,mBAAS,MAAxC,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCp5B,mBAAS,IAA9C,mBAAOwc,EAAP,KAAmBC,EAAnB,KACA,EAAgDzc,mBAAQ,oBAACnE,EAAS0lB,aAAV,aAAC,EAAgBjV,wBAAjB,QAAqC,IAA7F,mBAAOA,EAAP,KACA,GADA,KAC4CtM,oBAAS,IAArD,mBAAOogC,EAAP,KAAuB2mB,EAAvB,KAkDA,OAJA5lD,qBAAU,WACRyvB,GAA+B,4BAA4B,SAAU5zB,GAAU01B,EAAkB11B,QAChG,IAGD,qCACI44C,GACA,yBAAKzwC,UAAU,WAEb,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACd,kBAACiU,EAAA,EAAD,KACE,kBAACnN,GAAA,EAAD,CAAK9G,UAAU,mBACb,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG5G,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,0DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGlH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,wDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGnH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,kDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,eAAeY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGhH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG/G,kBAAC/c,GAAA,EAAD,KACE,kBAACR,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QA5D5D,WACf,IAAI/O,EAAOuM,IAEiB,GAAxBvM,EAAK2/B,SAASp7B,QAA6C,GAA9BvE,EAAKmc,eAAe5X,QAA8C,GAA/BvE,EAAK4V,gBAAgBrR,QAA2C,GAA5BvE,EAAKu/C,aAAah7C,QAA0C,GAA3BvE,EAAKkV,YAAY3Q,QAK1J1B,GAAW,GACX7B,EAAQ,uCAAD,OAAwCvC,EAAS0lB,MAAMhV,UAAUynB,aAAjE,YAA0G,GAAxB52B,EAAK2/B,SAASp7B,OAAc,IAAMvE,EAAK2/B,SAAzH,wBACgC,GAA9B3/B,EAAKmc,eAAe5X,OAAc,IAAMvE,EAAKmc,eAD/C,YACkG,GAA/Bnc,EAAK4V,gBAAgBrR,OAAc,IAAMvE,EAAK4V,gBADjH,wBAE8B,GAA5B5V,EAAKu/C,aAAah7C,OAAc,IAAMvE,EAAKu/C,aAF7C,YAE0F,GAA3Bv/C,EAAKkV,YAAY3Q,OAAc,IAAMvE,EAAKkV,cAC7GzU,MAAK,SAAAb,GAAYyf,EAAezf,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAV1BvB,EAAY,QAAS,kCAAmC,QAAS,QAwD2B,uBAAGyG,UAAU,kBAA7F,kBAMR,4BACEkH,KAAK,SACLgT,UAAWoT,EACXtmB,QAhGQ,WACD,MAAXzR,GAAyC,gBAAtBA,EAAQ0R,aAC7Bq9B,GAAoBhb,iCAAiC6G,0BAA4B56B,EAAQyL,WACzFsjC,GAAoBnU,0BAA4B56B,EAAQyL,WAExDizB,EAAYqQ,IACZoM,GAAe,GACfnjB,GAAkB,GAClBq0B,GAAkB,KAyFZ5hD,UAAU,qBACV,uBAAGA,UAAU,eALf,kBAQA,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAO9C,EAAS0lB,MAAMhV,UAAUU,UAChC0I,QAAS,CACP,CAAEhX,MAAO,aAAciX,MAAO,YAC9B,CAAEjX,MAAO,WAAYiX,MAAO,qCAC5B,CAAEjX,MAAO,iBAAeiX,MAAO,uCAC/B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAS,CACPkQ,WAAW,EACX2G,cAAc,GAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA7GR,SAACA,GAClB7X,EAAQ,oBAAsB6X,EAAQvF,cACnC7S,MAAK,SAAAb,GACJo8B,EAAYp8B,EAAOI,MACnBy4C,GAAe,MAEhB/3C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAsGiBw3B,CAAWxhB,MAG5CG,aAAc9T,GACdswC,QAASnuC,QAMlBmxC,GACC,kBAACpM,GAAD,CACEh7B,KAAM2qB,EACNjwB,aAhHa,WACnBkwB,EAAY,MACZyc,GAAe,IA+GTvpC,iBAAkBA,EAClB8zB,eAAgBA,MwBxFtBoiB,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,qBACN8C,sBAAuB,aACvBn4C,KAAM,iCACNjO,KAAM,mBACNujD,UclLW,YAA6C,EAAXp0B,QAAY,IACpD/tB,EAAcL,IAAdK,WAEP,EAA+DkJ,YAAQ,CAAEC,KAAM,WAAvEC,EAAR,EAAQA,SAAyCM,GAAjD,EAAkBL,OAAlB,EAA0BE,SAA1B,EAAoCE,YAApC,EAAiDC,WAC3C9N,EAAWirD,cAEjB,EAA2C5rD,IAAM8E,UAAS,GAA1D,mBAAsB0yB,GAAtB,WAEA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAsCA,OAJAtb,qBAAU,WACRyvB,GAA+B,4BAA4B,SAAU5zB,GAAU01B,EAAkB11B,QAChG,IAGD,qCACI44C,GACA,yBAAKzwC,UAAU,WAEb,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,cACd,kBAACiU,EAAA,EAAD,KACE,kBAACnN,GAAA,EAAD,CAAK9G,UAAU,mBACb,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,6CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG5G,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,0DACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGlH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,wDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,kBAAkBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGnH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,kDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,eAAeY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAGhH,kBAAC/c,GAAA,EAAD,CAAKkB,GAAG,KACN,kBAAChB,GAAA,EAAD,KACE,2BAAG,oDACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,cAAcY,SAAUrE,EAAS,CAAEkE,UAAU,IAAUkc,aAAa,OAG/G,kBAAC/c,GAAA,EAAD,KACE,kBAACR,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QA7D5D,WACf,IAAI/O,EAAOuM,IAEiB,GAAxBvM,EAAK2/B,SAASp7B,QAA6C,GAA9BvE,EAAKmc,eAAe5X,QAA8C,GAA/BvE,EAAK4V,gBAAgBrR,QAA2C,GAA5BvE,EAAKu/C,aAAah7C,QAA0C,GAA3BvE,EAAKkV,YAAY3Q,QAK1J1B,GAAW,GACX7B,EAAQ,uCAAD,OAAwCvC,EAAS0lB,MAAMhV,UAAUynB,aAAjE,YAA0G,GAAxB52B,EAAK2/B,SAASp7B,OAAc,IAAMvE,EAAK2/B,SAAzH,oBAC4B,GAA9B3/B,EAAKmc,eAAe5X,OAAc,IAAMvE,EAAKmc,eAD3C,YAC8F,GAA/Bnc,EAAK4V,gBAAgBrR,OAAc,IAAMvE,EAAK4V,gBAD7G,oBAE0B,GAA5B5V,EAAKu/C,aAAah7C,OAAc,IAAMvE,EAAKu/C,aAFzC,YAEsF,GAA3Bv/C,EAAKkV,YAAY3Q,OAAc,IAAMvE,EAAKkV,cAAgBzU,MAAK,SAAAb,GAC/Hyf,EAAezf,EAAOI,SAErBU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAX1BvB,EAAY,QAAS,kCAAmC,QAAS,QAyD2B,uBAAGyG,UAAU,kBAA7F,kBAKR,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAO9C,EAAS0lB,MAAMhV,UAAUU,UAChC0I,QAAS,CACP,CAAEhX,MAAO,aAAciX,MAAO,YAC9B,CAAEjX,MAAO,WAAYiX,MAAO,qCAC5B,CAAEjX,MAAO,iBAAeiX,MAAO,uCAC/B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAS,CACPkQ,WAAW,EACX2G,cAAc,GAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OApGR,SAACA,GAClB7X,EAAQ,oBAAsB6X,EAAQvF,cAAc7S,MAAK,SAAAb,GACvDo8B,EAAYp8B,EAAOI,MACnBy4C,GAAe,MAEd/3C,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA8FiBw3B,CAAWxhB,MAG5CG,aAAc9T,QAMvBszC,GACC,kBAAC7I,GAAD,CAAuBv+B,KAAM2qB,EAASjwB,aArGvB,WACnBkwB,EAAY,MACZyc,GAAe,Qd4Jf2M,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,yBACN8C,sBAAuB,wBACvBn4C,KAAM,iBACNjO,KAAM,sBACNujD,UelLW,YAA4C,EAAXp0B,QAAY,IAC1D,EAA8BpuB,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAE5D,EAA2CxO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAA6Bx3B,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACtC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFtBgtB,EAAP,oBAIMm0B,EAAe,SAACxnD,GACpBozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAGd,EAA+BxO,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAyCl+B,IAAM8E,UAAS,GAAxD,mBAAOinD,EAAP,KAAqBC,EAArB,KACA,EAAqChsD,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAEM0qC,EAAW,WACfD,GAAiB,GACjB9tB,EAAY,MACZn5B,GAAW,GACX7B,EAAQ,iBACLP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAwD9B,OANAkB,qBAAU,WACRyvB,GAA+B,gCAAgC,SAAU5zB,GAAU01B,EAAkB11B,MACrGmqD,MACC,IAID,oCACE,yBAAKhiD,UAAU,WACb,4BAAQkH,KAAK,SAASgT,UAAWoT,EAAetmB,QAxDpC,WAChBitB,EAAY,MACZ5vB,EAAS,YAAa,IACtBA,EAAS,aAAc,IACvBA,EAAS,QAAS,IAClBA,EAAS,SAAU,IAAI,GACvBopB,EAAW,IACXs0B,GAAiB,IAiDuD/hD,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,wBACA,kBAACs/C,EAAA,EAAD,CAAUtzC,OAAQ81C,EAAcG,aAAa,GAC3C,kBAACn7C,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,CAAMhU,UAAU,aACd,kBAACywB,GAAA,EAAD,KACE,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE3C,kBAACiU,EAAA,EAAD,CAAU/T,MAAO,CAAEqQ,UAAW,SAC5B,kBAAC+J,GAAA,EAAD,CAAMpa,MAAO,CAAE4lB,SAAU,MAAOzL,OAAQ,UAAYkI,SAAUne,GA7C7D,SAACnM,GAEhB,IAAIwN,EAAc,CAChBK,iBAA6B,MAAXkuB,EAAkBA,EAAQluB,iBAAmB,EAC/DgC,UAAW7P,EAAK6P,UAChBT,MAAOpP,EAAKoP,MACZtP,OAAQA,EACRm4B,mBAAoB36B,EAAQyL,WAC5B2pC,0BAA2Bp1C,EAAQyL,WACnCkhD,WAAYjqD,EAAKiqD,YAGnBpnD,GAAW,GACyB,GAAhC2K,EAAYK,iBACd/M,EAAS,gBAAiB0M,GACvB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG5B9B,EAAQ,gBAAiByM,GACtB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAuBd,kBAACgM,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,MACb,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,qBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,YAAYiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAClFjE,EAAO2D,WAAa,0BAAM9H,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACb,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,WACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,QAAQiU,UAAW,GAAIrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC7EjE,EAAOkD,OAAS,0BAAMrH,UAAU,kCAAhB,4BAGrB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACb,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACE0H,QAASgmB,EACT/lB,KAAK,SACLC,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnB2N,SAAU,SAACC,GAAQ45C,EAAa55C,EAAE5N,QAClCA,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGfjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKC,GAAG,MACd,kBAACjB,GAAA,EAAD,KACE,2BAAG,kEACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,aAAaiU,UAAW,IAAMrT,SAAUrE,EAAS,CAAEkE,UAAU,QAG7F,kBAACb,GAAA,EAAD,CAAKvH,UAAU,cAAcyI,GAAG,KAAKC,GAAG,MACtC,kBAACjB,GAAA,EAAD,KACE,kBAACV,GAAA,EAAD,CAAQmT,UAAWoT,EAAe5tB,MAAM,UAAUwH,KAAK,UAAS,uBAAGlH,UAAU,gBAA7E,qBAUlB,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAM,GACNgX,QAAS,CACP,CAAEhX,MAAO,kBAAaiX,MAAO,aAC7B,CAAEjX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACFpI,IADE,IAELsY,WAAW,EACX2G,cAAc,IAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAhIN,SAACA,GAClBmjB,EAAYnjB,GACZzM,EAAS,YAAayM,EAAQhJ,WAC9BzD,EAAS,QAASyM,EAAQzJ,OAC1Bw6C,EAAa/wC,EAAQ/Y,QACrBsM,EAAS,SAAUyM,EAAQ/Y,QAAQ,GACnCsM,EAAS,aAAcyM,EAAQoxC,YAC/BH,GAAiB,GAyH0BzvB,CAAWxhB,MAG5CG,aAAc9T,UfMxBkgD,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,sBACN8C,sBAAuB,qBACvBn4C,KAAM,aACNjO,KAAM,kBACNujD,UgB1LW,YAAyC,EAAXp0B,QAAY,IACvD,EAA8BpuB,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAC5D,EAA2CxO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAA6Bx3B,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACtC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFtBgtB,EAAP,oBAIMm0B,EAAe,SAACxnD,GACpBozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAGd,EAA+BxO,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAyCl+B,IAAM8E,UAAS,GAAxD,mBAAOinD,EAAP,KAAqBC,EAArB,KACA,EAAqChsD,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAEM0qC,EAAW,WACfD,GAAiB,GACjB9tB,EAAY,MACZn5B,GAAW,GACX7B,EAAQ,aACLP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAmD9B,OALAkB,qBAAU,WACRyvB,GAA+B,6BAA6B,SAAU5zB,GAAU01B,EAAkB11B,MAClGmqD,MACC,IAGD,oCACE,yBAAKhiD,UAAU,WACb,4BAAQkH,KAAK,SAASgT,UAAWoT,EAAetmB,QAnDpC,WAChBitB,EAAY,MACZ5vB,EAAS,YAAa,IACtBA,EAAS,aAAc,IACvBA,EAAS,SAAU,IAAI,GACvBopB,EAAW,IACXs0B,GAAiB,IA6CuD/hD,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,oBACA,kBAACs/C,EAAA,EAAD,CAAUtzC,OAAQ81C,EAAcG,aAAa,GAC3C,kBAACn7C,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,CAAMhU,UAAU,aACd,kBAACywB,GAAA,EAAD,KACE,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE3C,kBAACiU,EAAA,EAAD,CAAU/T,MAAO,CAAEqQ,UAAW,SAC5B,kBAAC+J,GAAA,EAAD,CAAMpa,MAAO,CAAE4lB,SAAU,MAAOzL,OAAQ,UAAYkI,SAAUne,GA1C7D,SAACnM,GAEhB,IAAIwN,EAAc,CAChBkgB,aAAyB,MAAXqO,EAAkBA,EAAQrO,aAAe,EACvD7d,UAAW7P,EAAK6P,UAChB2yB,WAAYxiC,EAAKwiC,WACjB1iC,OAAQA,EACRm4B,mBAAoB36B,EAAQyL,WAC5B2pC,0BAA2Bp1C,EAAQyL,YAGrClG,GAAW,GACqB,GAA5B2K,EAAYkgB,aACd5sB,EAAS,YAAa0M,GAAa/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChIrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG5B9B,EAAQ,YAAayM,GAClB/M,MAAK,SAAAb,GAAM,OAAI,kBAAM0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,WACtGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAsBd,kBAACgM,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKC,GAAG,MACd,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,qBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,YAAYiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAClFjE,EAAO2D,WAAa,0BAAM9H,UAAU,kCAAhB,4BAGzB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACb,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACE0H,QAASgmB,EACT/lB,KAAK,SACLK,SAAU,SAACC,GAAQ45C,EAAa55C,EAAE5N,QAClCuN,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnBA,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGfjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKC,GAAG,MACd,2BAAG,oDACH,kBAACjB,GAAA,EAAD,KACE,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,aAAaiU,UAAW,IAAKrT,SAAUrE,QAGvE,kBAACqD,GAAA,EAAD,CAAKvH,UAAU,cAAcyI,GAAG,KAAKC,GAAG,KACtC,kBAACjB,GAAA,EAAD,KACE,kBAACV,GAAA,EAAD,CAAQmT,UAAWoT,EAAe5tB,MAAM,UAAUwH,KAAK,UAAS,uBAAGlH,UAAU,gBAA7E,qBAUlB,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAM,GAENgX,QAAS,CACP,CAAEhX,MAAO,kBAAaiX,MAAO,aAC7B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACFpI,IADE,IAELsY,WAAW,EACX2G,cAAc,IAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OArHN,SAACA,GAClBmjB,EAAYnjB,GACZzM,EAAS,YAAayM,EAAQhJ,WAC9BzD,EAAS,aAAcyM,EAAQ2pB,YAC/Bp2B,EAAS,SAAUyM,EAAQ/Y,QAAQ,GACnC8pD,EAAa/wC,EAAQ/Y,QACrBgqD,GAAiB,GA+G0BzvB,CAAWxhB,MAG5CG,aAAc9T,UhB2BxBkgD,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,uBACN8C,sBAAuB,sBACvBn4C,KAAM,uCACNjO,KAAM,aACNujD,UiBzMW,WACb,IAAQniD,EAAeL,IAAfK,WAER,EAA2C/E,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KACA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAkBM0qC,EAAW,WACflnD,GAAW,GACX7B,EAAQ,oBACLP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQ9B,OALAkB,qBAAU,WACRyvB,GAA+B,6BAA6B,SAAU5zB,GAAU01B,EAAkB11B,MAClGmqD,MACC,IAGD,qCACIvR,GACA,yBAAKzwC,UAAU,WACb,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,4BAAQvB,KAAK,SAASgT,UAAWoT,EAAetmB,QAnC1C,WAChBitB,EAAY,MACZyc,GAAe,IAiC+D1wC,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,4BACA,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,QACjC/W,MAAM,GAENgX,QAAS,CACP,CAAEhX,MAAO,kBAAaiX,MAAO,aAC7B,CAAEjX,MAAO,WAAYiX,MAAO,WAAYU,OAAQ,SAACL,GAAD,OnFkB9CxJ,EmFlBsEwJ,EAAQxJ,SnFoB/D,OmFpByEwJ,EAAQ1J,UAAUU,UnFoBnFR,EAASwN,QAAQ,SAAU,IAAKxN,EAF3E,IAAoBA,ImFjBF,CAAE9N,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACFpI,IADE,IAELsY,WAAW,EACX2G,cAAc,IAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAnDR,SAACA,GAClBmjB,EAAYnjB,GACZ4/B,GAAe,GAiD8Bpe,CAAWxhB,MAG5CG,aAAc9T,QAMvBszC,GACC,kBAAC5I,GAAD,CACEx+B,KAAM2qB,EACNjwB,aA1Da,WACnBkwB,EAAY,MACZyc,GAAe,GACfsR,SjBqLA3E,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,iBACN8C,sBAAuB,gBACvBn4C,KAAM,oBACNjO,KAAM,iBACNujD,UkBnNW,WACX,IAAQniD,EAAeL,IAAfK,WAER,EAA2C/E,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KACA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAkBM0qC,EAAW,WACblnD,GAAW,GACX7B,EAAQ,iBACHP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WACNyvB,GAA+B,wBAAwB,SAAU5zB,GAAU01B,EAAkB11B,MAC7FmqD,MACD,IAGC,qCACMvR,GACE,yBAAKzwC,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,4BAAQvB,KAAK,SAASgT,UAAWoT,EAAetmB,QAnCtD,WACditB,EAAY,MACZyc,GAAe,IAiCyE1wC,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,gBACA,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GAENgX,QAAS,CACL,CAAEhX,MAAO,0CAA+BiX,MAAO,mDAC/C,CACIjX,MAAO,WAAYiX,MAAO,iDAC1BU,OAAQ,SAACL,GAAD,OAAaA,EAAQxL,qBAAqB6B,iBAAiBW,UAAU4Q,SAAS,OAChF5H,EAAQxL,qBAAqB6B,iBAAiBG,SAASwN,QAAQ,SAAU,IACzEhE,EAAQxL,qBAAqB6B,iBAAiBG,WAExD,CAAE9N,MAAO,aAAQiX,MAAO,6BACxB,CAAEjX,MAAO,kBAAaiX,MAAO,sCAC7B,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACApI,IADA,IAEHsY,WAAW,EACX2G,cAAc,IAElBxgB,QAAS,CACL,CACIrE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAzD1B,SAACA,GAChBmjB,EAAYnjB,GACZ4/B,GAAe,GAuD8Cpe,CAAWxhB,MAGhDG,aAAc9T,QAMjCszC,GACG,kBAAC/E,GAAD,CAAmBriC,KAAM2qB,EAASjwB,aA9DzB,WACjBkwB,EAAY,MACZyc,GAAe,GACfsR,SlB+LJ3E,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,yBACN8C,sBAAuB,wBACvBn4C,KAAM,gBACNjO,KAAM,oBACNujD,UmBrNW,YAA4C,EAAXp0B,QAAY,IAC1D,EAA8BpuB,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAChB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAC5D,EAA2CxO,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAA6Bx3B,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACtC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFtBgtB,EAAP,oBAIMm0B,EAAe,SAACxnD,GACpBozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WAGd,EAA+BxO,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAyCl+B,IAAM8E,UAAS,GAAxD,mBAAOinD,EAAP,KAAqBC,EAArB,KACA,EAAqChsD,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAEM0qC,EAAW,WACfD,GAAiB,GACjB9tB,EAAY,MACZn5B,GAAW,GACX7B,EAAQ,iBACLP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAgD9B,OANAkB,qBAAU,WACRyvB,GAA+B,gCAAgC,SAAU5zB,GAAU01B,EAAkB11B,MACrGmqD,MACC,IAID,oCACE,yBAAKhiD,UAAU,WACb,4BAAQkH,KAAK,SAASgT,UAAWoT,EAAetmB,QAhDpC,WAChBitB,EAAY,MACZ5vB,EAAS,OAAQ,IACjBopB,EAAW,IACXppB,EAAS,SAAU,IAAI,GACvB09C,GAAiB,IA2CuD/hD,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,wBACA,kBAACs/C,EAAA,EAAD,CAAUtzC,OAAQ81C,EAAcG,aAAa,GAC3C,kBAACn7C,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAACuL,EAAA,EAAD,CAAMhU,UAAU,aACd,kBAACywB,GAAA,EAAD,KACE,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE3C,kBAACiU,EAAA,EAAD,CAAU/T,MAAO,CAAEqQ,UAAW,SAC5B,kBAAC+J,GAAA,EAAD,CAAMpa,MAAO,CAAE4lB,SAAU,MAAOzL,OAAQ,UAAYkI,SAAUne,GAzC7D,SAACnM,GAChB,IAAIwN,EAAc,CAChBgqB,iBAA6B,MAAXuE,EAAkBA,EAAQvE,iBAAmB,EAC/DljB,KAAMtU,EAAKsU,KACXxU,OAAQA,EACRm4B,mBAAoB36B,EAAQyL,WAC5B2pC,0BAA2Bp1C,EAAQyL,YAErClG,GAAW,GACyB,GAAhC2K,EAAYgqB,iBACd12B,EAAS,gBAAiB0M,GACvB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG5B9B,EAAQ,gBAAiByM,GACtB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAuBd,kBAACgM,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACb,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,qBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,OAAOiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAC7EjE,EAAOoI,MAAQ,0BAAMvM,UAAU,kCAAhB,4BAGpB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACb,kBAACjB,GAAA,EAAD,KACE,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACE0H,QAASgmB,EACT/lB,KAAK,SACLC,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnB2N,SAAU,SAACC,GAAQ45C,EAAa55C,EAAE5N,QAClCA,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACR,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGfjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAGtB,kBAACuH,GAAA,EAAD,CAAKvH,UAAU,cAAcyI,GAAG,KAAKC,GAAG,MACtC,kBAACjB,GAAA,EAAD,KACE,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAepmB,KAAK,UAAS,uBAAGlH,UAAU,gBAA7E,qBAUlB,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QACjC/W,MAAM,GACNgX,QAAS,CACP,CAAEhX,MAAO,kBAAaiX,MAAO,QAC7B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACFpI,IADE,IAELsY,WAAW,EACX2G,cAAc,IAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OA5GN,SAACA,GAClBmjB,EAAYnjB,GACZzM,EAAS,OAAQyM,EAAQvE,MACzBs1C,EAAa/wC,EAAQ/Y,QACrBsM,EAAS,SAAUyM,EAAQ/Y,QAAQ,GACnCgqD,GAAiB,GAuG0BzvB,CAAWxhB,MAG5CG,aAAc9T,UnBiExBkgD,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,2BACN8C,sBAAuB,0BACvBn4C,KAAM,wBACNjO,KAAM,iBACNujD,UoBrOW,WACb,IAAQniD,EAAeL,IAAfK,WAER,EAA2C/E,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KACA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAkBM0qC,EAAW,WACflnD,GAAW,GACX7B,EAAQ,iBACLP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQ9B,OALAkB,qBAAU,WACRyvB,GAA+B,kCAAkC,SAAU5zB,GAAU01B,EAAkB11B,MACvGmqD,MACC,IAGD,qCACIvR,GACA,yBAAKzwC,UAAU,WACb,kBAAC8G,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACN,4BAAQvB,KAAK,SAASgT,UAAWoT,EAAetmB,QAnC1C,WAChBitB,EAAY,MACZyc,GAAe,IAiC+D1wC,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,4BACA,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,QACjC/W,MAAM,GAENgX,QAAS,CACP,CAAEhX,MAAO,YAAaiX,MAAO,uBAC7B,CAAEjX,MAAO,kBAAaiX,MAAO,aAC7B,CAAEjX,MAAO,SAAUiX,MAAO,WAE5BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACFpI,IADE,IAELsY,WAAW,EACX2G,cAAc,IAEhBxgB,QAAS,CACP,CACErE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAlDR,SAACA,GAClBmjB,EAAYnjB,GACZ4/B,GAAe,GAgD8Bpe,CAAWxhB,MAG5CG,aAAc9T,QAMvBszC,GACC,kBAAC5D,GAAD,CAA6BxjC,KAAM2qB,EAASjwB,aAvD7B,WACnBkwB,EAAY,MACZyc,GAAe,GACfsR,SpBiNA3E,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,+BACN8C,sBAAuB,cACvBn4C,KAAM,eACNjO,KAAM,kBACNujD,UqBrOW,YAAkD,EAAXp0B,QAAY,IAC9D,EAA8BpuB,IAAvBlF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAEhB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAC5D,EAA2C1J,oBAAS,GAApD,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAA2C1yB,mBAAS,MAApD,mBAAOsnD,EAAP,KAAsBC,EAAtB,KAMA,EAA6CvnD,mBAAS,MAAtD,mBAAOwnD,EAAP,KAAuBC,EAAvB,KAMA,EAAmCznD,mBAAS,MAA5C,mBAAO0nD,EAAP,KAAkBC,EAAlB,KACA,EAA4B3nD,mBAAS,CACjC,CAAER,MAAO,UAAWqG,MAAO,WAC3B,CAAErG,MAAO,WAASqG,MAAO,YACzB,CAAErG,MAAO,SAAUqG,MAAO,UAC1B,CAAErG,MAAO,SAAUqG,MAAO,UAC1B,CAAErG,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,YAAUqG,MAAO,aAC1B,CAAErG,MAAO,UAAWqG,MAAO,aAPxB+hD,EAAP,oBAeA,EAA+B5nD,mBAAS,MAAxC,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAyCp5B,oBAAS,GAAlD,mBAAOinD,EAAP,KAAqBC,EAArB,KACA,EAAqClnD,mBAAS,IAA9C,mBAAOwc,EAAP,KAAmBC,EAAnB,KAEM0qC,EAAW,WACbD,GAAiB,GACjB9tB,EAAY,MACZn5B,GAAW,GACX7B,EAAQ,uBACHP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAoElC,OANAkB,qBAAU,WACNyvB,GAA+B,sBAAsB,SAAU5zB,GAAU01B,EAAkB11B,MAC3FmqD,MACD,IAIC,oCACI,yBAAKhiD,UAAU,WACX,4BAAQkH,KAAK,SAASgT,UAAWoT,EAAetmB,QApE1C,WACditB,EAAY,MACZuuB,EAAc,MACdn+C,EAAS,YAAa,MAAM,GAC5B+9C,EAAkB,IAClBE,EAAmB,IACnBj+C,EAAS,mBAAoB,IAC7BA,EAAS,yBAA0B,IACnC09C,GAAiB,IA4D2D/hD,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,iBACA,kBAACs/C,EAAA,EAAD,CAAUtzC,OAAQ81C,EAAcG,aAAa,GACzC,kBAACn7C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAACuL,EAAA,EAAD,CAAMhU,UAAU,aACZ,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,CAAU/T,MAAO,CAAEqQ,UAAW,SAC1B,kBAAC+J,GAAA,EAAD,CAAMpa,MAAO,CAAE4lB,SAAU,MAAOzL,OAAQ,UAAYkI,SAAUne,GAtD7E,SAACnM,GACd,IAAIyqD,EAAyB1uB,EAAUA,EAAQ0uB,uBAAyB,EACxE,GAAIrrC,EAAW7M,QAAO,SAAAC,GAAC,OAAIA,EAAE83C,WAAaA,GAAa93C,EAAEi4C,wBAA0BA,KAAwBlmD,OAAS,EAChHjD,EAAY,QAAS,4EAAiE,QAAS,WAInG,GAAKuzB,GAAkB70B,EAAKkqD,gBAAmBr1B,GAAkB70B,EAAKoqD,gBAAtE,CAKA,IAAI58C,EAAc,CACdi9C,uBAAwBA,EACxBH,UAAWA,EACXJ,cAAelqD,EAAKkqD,cACpBE,eAAgBpqD,EAAKoqD,eACrBM,iBAAkB1qD,EAAK0qD,iBACvBC,uBAAwB3qD,EAAK2qD,uBAC7BzyB,0BAA2B56B,EAAQyL,YAEvClG,GAAW,GAC+B,GAAtC2K,EAAYi9C,uBACZ3pD,EAAS,sBAAuB0M,GAC3B/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B9B,EAAQ,sBAAuByM,GAC1B/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAxB9BvB,EAAY,QAAS,0BAAqB,QAAS,UA+CvB,kBAACuN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,mBACH,kBAAC,KAAD,CACI0H,QAAS+6C,EACT96C,KAAK,SACLC,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnB2N,SAAU,SAACC,GA3GvC,IAAC5N,IA2G8D4N,EAAE5N,MA1GrFmoD,EAAcnoD,GACdgK,EAAS,YAAahK,GAAO,GAC7BkK,EAAY,cAyGoClK,MAAOkoD,GAAaE,EAAkBv6C,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUkoD,KAChE3kD,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,aACR,CAAES,UAAU,OAGnBjE,EAAOo+C,WAAa,0BAAMviD,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,6BACH,kBAAC,GAAD,CAAkB3F,MAAO8nD,EAAen6C,SA9ItD,SAAC6I,GAC/BuxC,EAAkBvxC,EAAMnB,OAAOrV,OAC/BkK,EAAY,kBA4I6GoD,KAAK,gBAAgBwpB,SAAUjtB,EAAS,CAAEkE,UAAU,MAChIjE,EAAOg+C,eAAiB,0BAAMniD,UAAU,kCAAhB,4BAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,8BACH,kBAAC,GAAD,CAAkB3F,MAAOgoD,EAAgBr6C,SA/ItD,SAAC6I,GAChCyxC,EAAmBzxC,EAAMnB,OAAOrV,OAChCkK,EAAY,mBA6I+GoD,KAAK,iBAAiBwpB,SAAUjtB,EAAS,CAAEkE,UAAU,MACnIjE,EAAOk+C,gBAAkB,0BAAMriD,UAAU,kCAAhB,4BAGlC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,0BACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,mBAAmBY,SAAUrE,EAAS,CAAEkE,UAAU,MAC3EjE,EAAOw+C,kBAAoB,0BAAM3iD,UAAU,kCAAhB,4BAGpC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,sCACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,yBAAyBY,SAAUrE,EAAS,CAAEkE,UAAU,MACjFjE,EAAOy+C,wBAA0B,0BAAM5iD,UAAU,kCAAhB,4BAG1C,kBAACuH,GAAA,EAAD,CAAKvH,UAAU,cAAcyI,GAAG,KAAKC,GAAG,MACpC,kBAACjB,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAepmB,KAAK,UAAS,uBAAGlH,UAAU,gBAA7E,qBAUpC,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,gBAAiBiX,MAAO,aACjC,CAAEjX,MAAO,uBAAkBiX,MAAO,iBAClC,CAAEjX,MAAO,wBAAmBiX,MAAO,kBACnC,CAAEjX,MAAO,uBAAqBiX,MAAO,mBAAoBvJ,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,UAClG,CAAEz8B,MAAO,sBAAiBiX,MAAO,yBAA0BvJ,KAAM,UAAW8uB,UAAW,CAAEC,UAAW,WAExGh+B,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACApI,IADA,IAEHsY,WAAW,EACX2G,cAAc,IAElBxgB,QAAS,CACL,CACIrE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OArJtB,SAACA,GAChBvM,IACA0vB,EAAYnjB,GACZ0xC,EAAc1xC,EAAQyxC,WACtBl+C,EAAS,YAAayM,EAAQyxC,WAAW,GACzCH,EAAkBtxC,EAAQqxC,eAC1BG,EAAmBxxC,EAAQuxC,gBAC3Bh+C,EAAS,mBAAoByM,EAAQ6xC,kBACrCt+C,EAAS,yBAA0ByM,EAAQ8xC,wBAC3Cb,GAAiB,GA4IwCzvB,CAAWxhB,MAGhDG,aAAc9T,UrBmBtCkgD,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,wBACN8C,sBAAuB,uBACvBn4C,KAAM,uBACNjO,KAAM,wBACNujD,UsB/OW,YAA2C,EAAXp0B,QAAY,IACvD,EAAgCpuB,IAAxBlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAEjB,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAAUE,EAA5D,EAA4DA,YAC5D,EAA2C1J,oBAAS,GAApD,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAA6Bx3B,IAAM8E,SAAS,IAA5C,mBAAO9C,EAAP,KAAe01B,EAAf,KACA,EAAyB13B,IAAM8E,SAAS,CACpC,CAAER,MAAO,QAASqG,MAAO,SACzB,CAAErG,MAAO,UAAWqG,MAAO,aAFxBgtB,EAAP,oBAUA,EAA6B7yB,mBAAS,MAAtC,mBAAOgoD,EAAP,KAAeC,EAAf,KAMA,EAA+BjoD,mBAAS,MAAxC,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAyCp5B,oBAAS,GAAlD,mBAAOinD,EAAP,KAAqBC,EAArB,KACA,EAAqClnD,mBAAS,IAA9C,mBAAOwc,EAAP,KAAmBC,EAAnB,KAEM0qC,EAAW,WACbD,GAAiB,GACjB9tB,EAAY,MACZn5B,GAAW,GACX7B,EAAQ,cACHP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAiElC,OANAkB,qBAAU,WACNyvB,GAA+B,+BAA+B,SAAU5zB,GAAU01B,EAAkB11B,MACpGmqD,MACD,IAIC,oCACI,yBAAKhiD,UAAU,WACX,4BAAQkH,KAAK,SAASgT,UAAWoT,EAAetmB,QAjE1C,WACditB,EAAY,MACZ6uB,EAAW,IACXz+C,EAAS,SAAU,IAAI,GACvBA,EAAS,YAAa,IACtBA,EAAS,SAAU,IAAI,GACvBopB,EAAW,IACXs0B,GAAiB,IA0D2D/hD,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,cACA,kBAACs/C,EAAA,EAAD,CAAUtzC,OAAQ81C,EAAcG,aAAa,GACzC,kBAACn7C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAACuL,EAAA,EAAD,CAAMhU,UAAU,aACZ,kBAACywB,GAAA,EAAD,KACI,kBAAC3pB,GAAA,EAAD,KAAK,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cAAa,2BAAOA,UAAU,eAAjB,+BAE7C,kBAACiU,EAAA,EAAD,CAAU/T,MAAO,CAAEqQ,UAAW,SAC1B,kBAAC+J,GAAA,EAAD,CAAMpa,MAAO,CAAE4lB,SAAU,MAAOzL,OAAQ,UAAYkI,SAAUne,GArD7E,SAACnM,GACd,IAAI8qD,EAAgB/uB,EAAUA,EAAQ+uB,cAAgB,EACtD,GAAI1rC,EAAW7M,QAAO,SAAAC,GAAC,OAAIA,EAAEo4C,QAAUA,GAAUp4C,EAAEs4C,eAAiBA,KAAevmD,OAAS,EACxFjD,EAAY,QAAS,yEAA2D,QAAS,WAI7F,GhE2BwBozB,EgE3BH10B,EAAK4qD,OhE4BvBlmD,KAAOgwB,EAAW9X,WAAY,SAAS,GAAMgY,UgE5BhD,ChE2BD,IAAyBF,EgEtBpBlnB,EAAc,CACds9C,cAAeA,EACfF,OAAQA,EACR/6C,UAAW7P,EAAK6P,UAChB/P,OAAQA,EACRm4B,mBAAoB36B,EAAQyL,WAC5BmvB,0BAA2B56B,EAAQyL,YAEvClG,GAAW,GACsB,GAA7B2K,EAAYs9C,cACZhqD,EAAS,aAAc0M,GAClB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B9B,EAAQ,aAAcyM,GACjB/M,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,wCAAmC,WAAW,WAAcyoD,UAChGrpD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAvB9BvB,EAAY,QAAS,0BAAqB,QAAS,UA8CvB,kBAACuN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,KACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,qBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,YAAYiU,UAAW,IAAKrT,SAAUrE,EAAS,CAAEkE,UAAU,MAClFjE,EAAO2D,WAAa,0BAAM9H,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,MACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,gBACH,kBAAC,GAAD,CAAa3F,MAAOwoD,EAAQ76C,SAzGjD,SAAC6I,GACxBiyC,EAAWjyC,EAAMnB,OAAOrV,OACxBkK,EAAY,WAuG0FoD,KAAK,SAASwpB,SAAUjtB,EAAS,CAAEkE,UAAU,MACtGjE,EAAO0+C,QAAU,0BAAM7iD,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIC,GAAG,MACX,kBAACjB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,eAAhB,KAAP,YACH,kBAAC,KAAD,CACI0H,QAASgmB,EACT/lB,KAAK,SACLC,eAAgB,qBAAGlH,OACnBqH,eAAgB,qBAAG1N,OACnB2N,SAAU,SAACC,GA5H1C,IAAC5N,IA4H8D4N,EAAE5N,MA3HlFozB,EAAWpzB,GACXgK,EAAS,SAAUhK,GAAO,GAC1BkK,EAAY,WA0HoClK,MAAiB,IAAVtC,GAAgB21B,EAAexlB,MAAK,SAAAnR,GAAG,OAAIA,EAAIsD,QAAUtC,KAChE6F,YAAY,YACZuK,IAAK,SAAAF,GAAC,OAAI/D,EACN,CAAEyD,KAAM,UACR,CAAES,UAAU,OAGnBjE,EAAOpM,QAAU,0BAAMiI,UAAU,kCAAhB,4BAG1B,kBAACuH,GAAA,EAAD,CAAKvH,UAAU,cAAcyI,GAAG,KAAKC,GAAG,MACpC,kBAACjB,GAAA,EAAD,KACI,kBAACV,GAAA,EAAD,CAAQrH,MAAM,UAAUwa,UAAWoT,EAAepmB,KAAK,UAAS,uBAAGlH,UAAU,gBAA7E,qBAUpC,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,aAAWiX,MAAO,UAC3B,CAAEjX,MAAO,kBAAaiX,MAAO,aAC7B,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACApI,IADA,IAEHsY,WAAW,EACX2G,cAAc,IAElBxgB,QAAS,CACL,CACIrE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAnItB,SAACA,GAChBvM,IACA0vB,EAAYnjB,GACZgyC,EAAWhyC,EAAQ+xC,QACnBx+C,EAAS,SAAUyM,EAAQ+xC,QAAQ,GACnCx+C,EAAS,YAAayM,EAAQhJ,WAC9BzD,EAAS,SAAUyM,EAAQ/Y,QAAQ,GACnC01B,EAAW3c,EAAQ/Y,QACnBgqD,GAAiB,GA2HwCzvB,CAAWxhB,MAGhDG,aAAc9T,UtB2DtCkgD,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,UACN8C,sBAAuB,SACvBn4C,KAAM,qBACNjO,KAAM,eACNujD,UuBhQW,WACX,IAAOniD,EAAcL,IAAdK,WAEP,EAA2C/E,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KAEA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAkBM0qC,EAAW,WACblnD,GAAW,GACX7B,EAAQ,UACHP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WACNyvB,GAA+B,iBAAiB,SAAU5zB,GAAU01B,EAAkB11B,MACtFmqD,MACD,IAGC,qCACMvR,GACE,yBAAKzwC,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,4BAAQvB,KAAK,SAASgT,UAAWoT,EAAetmB,QAnCtD,WACditB,EAAY,MACZyc,GAAe,IAiCyE1wC,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,iBACA,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GAENgX,QAAS,CACL,CAAEhX,MAAO,kBAAaiX,MAAO,aAC7B,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACApI,IADA,IAEHsY,WAAW,EACX2G,cAAc,IAElBxgB,QAAS,CACL,CACIrE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OAlD1B,SAACA,GAChBmjB,EAAYnjB,GACZ4/B,GAAe,GAgD8Cpe,CAAWxhB,MAGhDG,aAAc9T,QAMjCszC,GACG,kBAAC/C,GAAD,CAAYrkC,KAAM2qB,EAASjwB,aAvDlB,WACjBkwB,EAAY,MACZyc,GAAe,GACfsR,SvB2OJ3E,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,YACN8C,sBAAuB,WACvBn4C,KAAM,0BACNjO,KAAM,cACNujD,UwBxQW,WACX,IAAQniD,EAAeL,IAAfK,WAER,EAA2C/E,IAAM8E,UAAS,GAA1D,mBAAOyyB,EAAP,KAAsBC,EAAtB,KACA,EAAqCx3B,IAAM8E,UAAS,GAApD,mBAAO41C,EAAP,KAAmBC,EAAnB,KACA,EAA+B36C,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KACA,EAAqCl+B,IAAM8E,SAAS,IAApD,mBAAOwc,EAAP,KAAmBC,EAAnB,KAkBM0qC,EAAW,WACblnD,GAAW,GACX7B,EAAQ,WACHP,MAAK,SAAAb,GAAM,OAAIyf,EAAezf,EAAOI,SACrCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WACNyvB,GAA+B,mBAAmB,SAAU5zB,GAAU01B,EAAkB11B,MACxFmqD,MACD,IAGC,qCACMvR,GACE,yBAAKzwC,UAAU,WACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,4BAAQvB,KAAK,SAASgT,UAAWoT,EAAetmB,QAnCtD,WACditB,EAAY,MACZyc,GAAe,IAiCyE1wC,UAAU,qBAAoB,uBAAGA,UAAU,eAA/G,qBACA,kBAAC,KAAD,CAAeE,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GAENgX,QAAS,CACL,CAAEhX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,SAAUiX,MAAO,oBAC1B,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAMof,EACN1G,WAAW,EACXjJ,QAAO,6BACApI,IADA,IAEHsY,WAAW,EACX2G,cAAc,IAElBxgB,QAAS,CACL,CACIrE,KAAM,OACNkX,QAAS,kBACT5J,QAAS,SAAC6J,EAAOC,GAAR,OApD1B,SAACA,GAChBmjB,EAAYnjB,GACZ4/B,GAAe,GAkD8Cpe,CAAWxhB,MAGhDG,aAAc9T,QAMjCszC,GACG,kBAACtB,GAAD,CAAa9lC,KAAM2qB,EAASjwB,aAzDnB,WACjBkwB,EAAY,MACZyc,GAAe,GACfsR,SxBoPJ3E,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,cACN8C,sBAAuB,aACvBn4C,KAAM,gBACNjO,KAAM,kBACNujD,UyB1RW,YAAsC,EAAXp0B,QAAY,IAE9CxR,EAAa,CACjB,CACE5B,OAAQ,oCACRjc,MAAO,mCACPwpD,YAAa,+DACb/F,UAAY,kBAAChN,GAAD,CAAsClsC,aAAc,kBAAMk/C,GAAc,OAEtF,CACExtC,OAAQ,oCACRjc,MAAO,gCACPwpD,YAAa,2DACb/F,UAAY,kBAAC,GAAD,CAA8Bl5C,aAAc,kBAAMk/C,GAAc,OAE9E,CACExtC,OAAQ,uCACRjc,MAAO,sCACPwpD,YAAa,iEACb/F,UAAY,kBAAC,GAAD,CAAmCl5C,aAAc,kBAAMk/C,GAAc,OAEnF,CACExtC,OAAQ,gCACRjc,MAAO,+BACPwpD,YAAa,0DACb/F,UAAY,kBAAC,GAAD,CAA4Bl5C,aAAc,kBAAMk/C,GAAc,QAI9E,EAAmCltD,IAAM8E,UAAS,GAAlD,mBAAOqoD,EAAP,KAAkBD,EAAlB,KACA,EAA2BltD,IAAM8E,SAAS,MAA1C,mBAAOsoD,EAAP,KAAcC,EAAd,KAcA,OACE,qCACIF,GACA,yBAAKljD,UAAU,WACb,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,8BACZqX,EAAW5W,KAAI,SAAC4K,EAAGzK,GAAJ,OACd,kBAAC2G,GAAA,EAAD,CAAK3G,IAAKA,EAAK4G,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAAK1I,UAAU,QAC7C,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,SACd,kBAACiU,EAAA,EAAD,CAAUjU,UAAU,iBAClB,4BAAKqL,EAAE7R,OACN6R,EAAE23C,aAEL,kBAAC/hC,GAAA,EAAD,CAAYjhB,UAAU,cACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAagH,QAAS,WAzBtD,IAACqC,EACnBoiB,IADmBpiB,EAyBuEgC,GAxBtDoK,QAAQ,SAAU5d,GAChDA,GACForD,GAAc,GACdG,EAAU/5C,EAAK4zC,YAGf1jD,EAAY,QAAS,sDAA8C,QAAS,WAkBhE,mCAQb2pD,GACCC,IzByNJ9F,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,UACNr1C,KAAM,eACNs1C,U0B/RW,YAAoC,IAAZp0B,EAAW,EAAXA,QACrC,EAAkCpuB,IAA1BW,EAAR,EAAQA,QAASJ,EAAjB,EAAiBA,aAGjB,EAA2DH,mBAAS,MAApE,mBAAOwoD,EAAP,KAA8BC,EAA9B,KACA,EAAuCzoD,mBAAS,IAAhD,mBAAO0oD,EAAP,KAAoBC,EAApB,KAEA,EAAkC3oD,oBAAS,GAA3C,mBAAO4oD,EAAP,KAAkBC,EAAlB,KACMC,EAAkB,kBAAMD,GAAcD,IAS5C,EAAiD5oD,mBAAS,MAA1D,mBAAO+oD,EAAP,KAAyBC,EAAzB,KACA,EAA6BhpD,mBAAS,IAAtC,mBAAOklD,EAAP,KAAeC,EAAf,KASAhkD,qBAAU,WACRZ,GAAQ,EAAO,MAPfnC,EAAQ,6CACLP,MAAK,SAAAb,GAAM,OAAImoD,EAAWnoD,EAAOI,SACjCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAZ3DiB,EAAQ,iCACLP,MAAK,SAAAb,GAAM,OAAI2rD,EAAgB3rD,EAAOI,SACtCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,WAkB1D,IAGH,MAAgC6C,mBAAS,IAAzC,mBAAOipD,EAAP,KAAiBC,EAAjB,KAEA,OACE,qCACIV,GACA,yBAAKrjD,UAAU,UAAUE,MAAO,CAAEyD,UAAW,SAC3C,kBAACmD,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACN,uBAAGxH,UAAU,OAAOE,MAAO,CAAET,WAAY,OAAQkC,SAAU,SAA3D,yDAKJ,kBAACmF,GAAA,EAAD,CAAK5G,MAAO,CAAEkC,eAAgB,UAAYpC,UAAU,UACjDujD,EAAY9iD,KAAI,SAAC4K,EAAGzK,GAAJ,OACf,kBAAC86C,GAAD,CACE96C,IAAKA,EACLyhC,OAAQzhC,EACR+6C,WAAYtwC,EACZuwC,qBAAsB,WACpBmI,EAAY14C,GACZi4C,EAA0Bj4C,GACjB,OAALA,GACFq4C,GAAa,UAMvB,kBAAC58C,GAAA,EAAD,CAAK9G,UAAU,QACb,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACN,uBAAGxH,UAAU,OAAOE,MAAO,CAAET,WAAY,OAAQkC,SAAU,SAA3D,kDAKJ,kBAACmF,GAAA,EAAD,CAAK9G,UAAU,UACb,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,IAAI1I,UAAU,UAClC,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,iCACd,kBAACywB,GAAA,EAAD,CAAYzwB,UAAU,mBAAmBE,MAAO,CAAEyB,SAAU,QAASyU,QAAS,QAC5E,uBAAGpW,UAAU,qBADf,6CAGA,wBAAIA,UAAU,SACd,kBAACiU,EAAA,EAAD,CAAUjU,UAAU,eAApB,iEAGA,kBAACihB,GAAA,EAAD,CAAYjhB,UAAU,oBACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMvQ,OAAOsa,KAAK,uCAAwC,YAA3F,cAKN,kBAACxJ,GAAA,EAAD,CAAKC,GAAG,IAAIiB,GAAG,IAAIC,GAAG,IAAI1I,UAAU,UAClC,kBAACgU,EAAA,EAAD,CAAMhU,UAAU,iCACd,kBAACywB,GAAA,EAAD,CAAYzwB,UAAU,mBAAmBE,MAAO,CAAEyB,SAAU,QAASyU,QAAS,QAC5E,uBAAGxT,MAAM,0BADX,qCAGA,wBAAI5C,UAAU,SACd,kBAACiU,EAAA,EAAD,CAAUjU,UAAU,eAApB,2FAGA,kBAACihB,GAAA,EAAD,CAAYjhB,UAAU,oBACpB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAMvQ,OAAOsa,KAAK,uCAAwC,YAA3F,gBAQXsyC,IAA0BO,GACzB,oCACE,kBAAC73C,GAAA,EAAD,CACEC,OAAQy3C,EACRx3C,OAAQ03C,EACRz3C,KAAM,KACN0H,UAAQ,GAER,kBAACzH,GAAA,EAAD,KACE,wBAAInM,UAAU,4BAAd,iBACA,0BAAMA,UAAU,eAAhB,+IAAwJ,4BAAQA,UAAU,cAAcE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAM6hB,EAAQvd,KAAK,eAA1F,qBAG1J,kBAACkB,GAAA,EAAD,KACE,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAAS28C,GAAnC,QAGJ,yBAAK3jD,UAAU,UAAUE,MAAO,CAAEyD,UAAW,SAC3C,kBAACmD,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKiB,GAAG,MACd,kBAACuL,EAAA,EAAD,CAAMhU,UAAU,cACd,kBAACiU,EAAA,EAAD,KACE,wBAAIjU,UAAU,2BAAd,eACA,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,oBACA,IAAZ8jD,GACC,kBAACv8C,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,yBACrB,wBAAIA,UAAU,OAAd,eAAiC8jD,IAGrC,kBAACv8C,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,aAAvB,gEACmDhF,QADnD,IACmDA,OADnD,EACmDA,EAAcic,oBAO3E,kBAACnQ,GAAA,EAAD,CAAK5G,MAAO,CAAEkC,eAAgB,WAC3B29C,EAAOv1C,QAAO,SAAAC,GAAC,OAAIA,EAAEpD,OAASg8C,KAAuB5iD,KAAI,SAAC4K,EAAGzK,GAAJ,OACxD,kBAAC06C,GAAD,CACE16C,IAAKA,EACLyhC,OAAQzhC,EACRu4B,MAAO9tB,EACPkwC,iBAAkB,WAChBwI,EAAY14C,GACZw4C,EAAqBx4C,YAWlCu4C,GACC,kBAACzJ,GAAD,CACEhhB,MAAOyqB,M1B8HbvG,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,WACNr1C,KAAM,UACNs1C,U2B/SW,WACX,IAAQjiD,EAAiBP,IAAjBO,aAER,EAA8BH,mBAAS,CACnC,CACIrB,MAAO,6CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,2CAEzC,CACIhW,MAAO,mDACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,2CAEzC,CACIhW,MAAO,4CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,0CAEzC,CACIhW,MAAO,8CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,6CAEzC,CACIhW,MAAO,+CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,8CAEzC,CACIhW,MAAO,qDACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,gDAvB7C,mBAAOy0C,EAAP,KA2BA,GA3BA,KA2BsCppD,mBAAS,CAC3C,CACIrB,MAAO,gCACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,6MAGA,0GAGA,6MAGA,+MAKRkkD,UAAU,GAEd,CACI1qD,MAAO,mDACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,uQAMRkkD,UAAU,GAEd,CACI1qD,MAAO,6BACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,iIAGA,6OAGA,+HAGA,+KAKRkkD,UAAU,GAEd,CACI1qD,MAAO,uCACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,kTAGA,scAKRkkD,UAAU,GAEd,CACI1qD,MAAO,sIACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,qXAKRkkD,UAAU,GAEd,CACI1qD,MAAO,gDACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,4dAKRkkD,UAAU,GAEd,CACI1qD,MAAO,0DACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,uPAKRkkD,UAAU,GAEd,CACI1qD,MAAO,wKACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,8GACiF,uBAAGuP,KAAK,gEAAgEG,OAAO,UAA/E,0BADjF,OAKRw0C,UAAU,GAEd,CACI1qD,MAAO,2GACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,ihBAKRkkD,UAAU,MAxHlB,mBAAOC,EAAP,KAAoBC,EAApB,KA4HA,EAAsEvpD,mBAAS,CAC3E,CACIrB,MAAO,+BACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2SAORkkD,UAAU,EACVF,KAAM,MAEV,CACIxqD,MAAO,+DACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,iJAGA,6JAKRkkD,UAAU,EACVF,KAAM,MAEV,CACIxqD,MAAO,oDACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,yMAKRkkD,UAAU,EACVF,KAAM,MAEV,CACIxqD,MAAO,8FACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,mMAGA,iHACoF,uBAAGuP,KAAI,WAAiB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,8CAAgDE,OAAO,SAAS1P,UAAU,eAArH,mBAEpF,2BACI,4BAAQA,UAAU,eAAlB,eADJ,0RAMRkkD,UAAU,EACVF,KAAM,MAEV,CACIxqD,MAAO,iDACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,sCAGA,+NAKRkkD,UAAU,EACVF,KAAM,MAEV,CACIxqD,MAAO,oEACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,+IAKRkkD,UAAU,EACVF,KAAM,MAEV,CACIxqD,MAAO,6DACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,qPAKRkkD,UAAU,EACVF,KAAM,MAEV,CACIxqD,MAAO,qDACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,oFAGA,0LAGA,2HAGA,+GACkF,uBAAGuP,KAAI,WAAiB,OAAZvU,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,8CAAgDE,OAAO,SAAS1P,UAAU,eAArH,qBAI1FkkD,UAAU,EACVF,KAAM,QAvHd,mBAAOK,EAAP,KAAoCC,EAApC,KA4HA,EAAkDzpD,oBAAS,GAA3D,mBAAO0pD,EAAP,KAA0BC,EAA1B,KACA,EAA0C3pD,oBAAS,GAAnD,mBAAO4pD,EAAP,KAAsBC,EAAtB,KAkBA,OAAO,yBAAK1kD,UAAU,UAAUE,MAAO,CAAEyD,UAAW,SAEhD,yBAAK3D,UAAW,8DAA+DE,MAAO,CAAER,MAAO,SAC3F,yBAAK8H,GAAI,IACL,wBAAIxH,UAAU,OAAOE,MAAO,CAAET,WAAY,OAAQkE,UAAW,SAA7D,+DAEJ,yBAAK6D,GAAI,GACL,yBACIxH,UAAU,kEACVE,MAAO,CACHqB,MAAO,OACPJ,OAAQ,OACRa,OAAQ,iBACRG,WAAY,gBAGhB,yBAAKjC,MAAO,CACRyB,SAAU,OACVlC,WAAY,OACZC,MAAO,SAHX,QAUZ,yBAAKM,UAAU,QACX,wBAAIE,MAAO,CAAE8B,OAAQ,qBAIzB,yBAAKhC,UAAU,MAAME,MAAO,CAAER,MAAO,SAErC,yBAAKM,UAAU,kBACP,yBAAKA,UAAU,qDACX,wBAAIA,UAAU,WAAd,WACA,yBAAKE,MAAO,CAAE8B,OAAQ,iBAAkBT,MAAO,OAAQoC,UAAW,UAGtE,yBACI3D,UAAU,qEACVE,MAAO,CAAEiC,WAAY,WACrB+E,KAAM,SACNF,QAAS,kBAAM09C,GAAkBD,KAEjC,wBAAIzkD,UAAU,mBAAd,4BACA,uBAAG4C,MAAM,0CAEZ6hD,GACGR,EAAQxjD,KAAI,SAACpG,EAAO+B,GAChB,OAAO,yBAAK4D,UAAU,QAClB,yBAAKY,IAAKxE,EAAO4D,UAAU,oBAAoBE,MAAO,CAAE8B,OAAQ,oBAAqBG,WAAY,uBAC7F,yBAAKnC,UAAU,0DACXkH,KAAK,SACLF,QAAS,kBAAMvQ,OAAOsa,KAAK1W,EAAM2pD,KAAM,YAEvC,wBAAIhkD,UAAU,OAAOE,MAAO,CAAET,WAAY,WAAapF,EAAMb,OAC7D,uBAAGoJ,MAAM,2BAQjC,yBAAK5C,UAAU,kBACX,yBAAKA,UAAU,qDACX,wBAAIA,UAAU,WAAd,+CACA,yBAAKE,MAAO,CAAE8B,OAAQ,iBAAkBT,MAAO,OAAQoC,UAAW,UAGrEwgD,EAAY1jD,KAAI,SAACpG,EAAO+B,GACrB,GAAiB,MAAd/B,EAAM2pD,KACT,CACI,IAAMn8B,EAAYxtB,EAAMomB,MACxB,OAAO,yBAAK7f,IAAKxE,EAAO4D,UAAU,oBAAoBE,MAAO,CAAE8B,OAAQ,sBACnE,yBAAKhC,UAAU,0DACXkH,KAAK,SACLF,QAAS,kBA9FV,SAAC5K,GACxBgoD,GAAe,SAAAO,GACX,IAAMC,EAAU,aAAOD,GAEvB,OADAC,EAAWxoD,GAAX,6BAAyBwoD,EAAWxoD,IAApC,IAA4C8nD,UAAWU,EAAWxoD,GAAO8nD,WAClEU,KA0F4BC,CAAmBzoD,KAElC,wBAAI4D,UAAU,OAAOE,MAAO,CAAET,WAAY0kD,EAAY/nD,GAAO8nD,SAAW,OAAS,WAAa7pD,EAAMb,OACnG2qD,EAAY/nD,GAAO8nD,SAAW,uBAAGthD,MAAM,oBAAyB,uBAAGA,MAAM,uBAE9E,kBAAC08C,EAAA,EAAD,CAAUtzC,OAAQ3R,EAAM6pD,SAAUlkD,UAAU,QACxC,kBAAC6nB,EAAD,QAIR,OAAO,yBAAKjnB,IAAKxE,EAAO4D,UAAU,oBAAoBE,MAAO,CAAE8B,OAAQ,oBAAqBG,WAAY,uBAChG,yBAAKnC,UAAU,0DACXkH,KAAK,SACLF,QAAS,kBAAMvQ,OAAOsa,KAAK1W,EAAM2pD,KAAM,YAEvC,wBAAIhkD,UAAU,OAAOE,MAAO,CAAET,WAAY,WAAapF,EAAMb,OAC7D,uBAAGoJ,MAAM,yBAK7B,yBACI5C,UAAU,qEACVE,MAAO,CAAEiC,WAAY,WACrB+E,KAAM,UAEN,wBAAIlH,UAAU,mBAAd,yCAECqkD,EAA4B5jD,KAAI,SAACpG,EAAO+B,GACrC,GAAkB,MAAd/B,EAAM2pD,KAAc,CACpB,IAAMn8B,EAAYxtB,EAAMomB,MACxB,OAAO,yBAAK7f,IAAKxE,EAAO4D,UAAU,oBAAoBE,MAAO,CAAE8B,OAAQ,sBACnE,yBAAKhC,UAAU,0DACXkH,KAAK,SACLF,QAAS,kBAxHC,SAAC5K,GACvCkoD,GAA+B,SAAAK,GAC3B,IAAMC,EAAU,aAAOD,GAEvB,OADAC,EAAWxoD,GAAX,6BAAyBwoD,EAAWxoD,IAApC,IAA4C8nD,UAAWU,EAAWxoD,GAAO8nD,WAClEU,KAoHgCE,CAAkC1oD,KAEjD,wBAAI4D,UAAU,OAAOE,MAAO,CAAET,WAAY4kD,EAA4BjoD,GAAO8nD,SAAW,OAAS,WAAa7pD,EAAMb,OACnH6qD,EAA4BjoD,GAAO8nD,SAAW,uBAAGthD,MAAM,oBAAyB,uBAAGA,MAAM,uBAE9F,kBAAC08C,EAAA,EAAD,CAAUtzC,OAAQ3R,EAAM6pD,SAAUlkD,UAAU,QACxC,kBAAC6nB,EAAD,QAIR,OAAO,yBAAKjnB,IAAKxE,EAAO4D,UAAU,oBAAoBE,MAAO,CAAE8B,OAAQ,oBAAqBG,WAAY,uBACpG,yBAAKnC,UAAU,0DACXkH,KAAK,SACLF,QAAS,kBAAMvQ,OAAOsa,KAAK1W,EAAM2pD,KAAM,YAEvC,wBAAIhkD,UAAU,OAAOE,MAAO,CAAET,WAAY,WAAapF,EAAMb,OAC7D,uBAAGoJ,MAAM,0BAOjC,yBAAK5C,UAAU,kBACX,yBAAKA,UAAU,qDACX,wBAAIA,UAAU,WAAd,qBACA,yBAAKE,MAAO,CAAE8B,OAAQ,iBAAkBT,MAAO,OAAQoC,UAAW,UAGtE,yBACI3D,UAAU,qEACVE,MAAO,CAAEiC,WAAY,WACrB+E,KAAM,SACNF,QAAS,kBAAMw9C,GAAsBD,KAErC,wBAAIvkD,UAAU,mBAAd,sCACA,uBAAG4C,MAAM,0CAEZ2hD,GACG,kBAAC,GAAD,U3BhJhBlH,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,eACNr1C,KAAM,mBACNs1C,UAAWP,GACXW,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,6BACNr1C,KAAM,gBACNs1C,U4B9SW,YAA6D,IAAZp0B,EAAW,EAAXA,QAC5D,EAAkCpuB,IAA1BlF,EAAR,EAAQA,QAASyF,EAAjB,EAAiBA,aAEjB,EAAyCjF,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAA2BxT,IAAM8E,SAAS,MAA1C,mBAAOs+B,EAAP,KAAcwB,EAAd,KAEA,EAAyB5kC,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACV,GAARqL,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAA4B,GAARquB,GAAsC,OAAzByD,EAAM/xB,UAAUC,MAC/EwhB,EAAQvd,KAAK,WAGb/B,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAGlBjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAIpB15B,qBAAU,WACN,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GACjB,MAAVE,GAAsC,MAApBA,EAAOj4C,WACzB/T,EAAQ,kCAAoCgsD,EAAOj4C,WAC9CtU,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MAEE,cAAtBJ,EAAOI,KAAKF,OACZ6iC,EAAS,GACyB,MAA7B/iC,EAAOI,KAAK0S,eACjBiwB,EAAS/iC,EAAOI,KAAK0S,kBAE5BhS,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,WAElE,IAEH,IAAM6H,EAAQ,GAUd,OARa,MAATs5B,IAC6B,OAAzBA,EAAM/xB,UAAUC,MAChBxH,EAAMyL,KAAK,sBAAiB,WAAY,qBAAsB,mBAAc,eAAgB,sBAE5FzL,EAAMyL,KAAK,sBAAiB,uBAKhC,oCACqB,MAAhBxH,GAAiC,MAATq1B,IAAmBzD,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,OAAoBquB,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,QACpH,yBAAKrH,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GACG,kBAACxI,GAAD,CACI7jB,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,IAED,OAAzB8L,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACnE,GAAD,CACIloB,KAAMvF,EACNqpB,aAAa,eACbqE,cAAe,EACfnE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GACiB,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACU,GAAD,CACI/sB,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GACiB,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACsB,GAAD,CACI3tB,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GACiB,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACmC,GAAD,CAAcxuB,KAAMvF,EAChBqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GAEiB,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACwD,GAAD,CACT7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,IAGhB,GAARiE,GAAa,kBAACwD,GAAD,CACT7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,IAGF,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACmmB,GAAD,CACTxyC,KAAMvF,EACNg4C,wBAAyBzuB,EACzBoE,mBAAoBA,IAGhB,GAARiE,GAAa,kBAACmmB,GAAD,CACTxyC,KAAMvF,EACNg4C,wBAAyBzuB,EACzBoE,mBAAoBA,KAKnB,MAAhB3tB,GAAiC,MAATq1B,IAA0B,GAARzD,GAAuC,OAAzByD,EAAM/xB,UAAUC,OAA0B,GAARquB,IACvF,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ5BoK5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,sCACNr1C,KAAM,gBACNs1C,U6BtTW,YAAiE,IAAZp0B,EAAW,EAAXA,QAChE,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAEvBtE,EAAWirD,cACjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAA2BxT,IAAM8E,SAAS,MAA1C,mBAAOs+B,EAAP,KAAcwB,EAAd,KAEA,EAAyB5kC,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACV,GAARqL,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAA4B,GAARquB,GAAsC,OAAzByD,EAAM/xB,UAAUC,MAC/EwhB,EAAQvd,KAAK,WAGb/B,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAGlBjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IA4CpB15B,qBAAU,YAzCe,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAKlCqqD,KACD,IAEH,IAAMtlD,EAAQ,GAUd,OARa,MAATs5B,IAC6B,OAAzBA,EAAM/xB,UAAUC,MAChBxH,EAAMyL,KAAK,sBAAiB,WAAY,qBAAsB,mBAAc,eAAgB,sBAE5FzL,EAAMyL,KAAK,sBAAiB,uBAKhC,oCACqB,MAAhBxH,GAAiC,MAATq1B,IAAyC,gBAAvBr1B,EAAa/L,QAAmD,cAAvB+L,EAAa/L,UACxF29B,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,OAAoBquB,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,QACjF,yBAAKrH,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GACG,kBAACxI,GAAD,CACI7jB,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,IAED,OAAzB8L,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACnE,GAAD,CACIloB,KAAMvF,EACNqpB,aAAa,eACbqE,cAAe,EACfnE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GACiB,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACU,GAAD,CAAc/sB,KAAMvF,EAChBqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GAEiB,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACsB,GAAD,CACI3tB,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GAEiB,OAAzB0H,EAAM/xB,UAAUC,MAAyB,GAARquB,GAC9B,kBAACmC,GAAD,CACIxuB,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IACnB,GAEiB,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GACA,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,IAGhB,GAARiE,GAAa,kBAACwD,GAAD,CACT7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,IAGF,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GACA,kBAACmmB,GAAD,CACIxyC,KAAMvF,EACNg4C,wBAAyBzuB,EACzBoE,mBAAoBA,IAGhB,GAARiE,GAAa,kBAACmmB,GAAD,CACTxyC,KAAMvF,EACNg4C,wBAAyBzuB,EACzBoE,mBAAoBA,KAInB,MAAhB3tB,GAAiC,MAATq1B,IAA0B,GAARzD,GAAuC,OAAzByD,EAAM/xB,UAAUC,OAA0B,GAARquB,IACvF,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ7BiJ5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,4CACNr1C,KAAM,gBACNs1C,U8BjUW,YAAgE,IAAZp0B,EAAW,EAAXA,QAC/D,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAEtBtE,EAAWirD,cACjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAQA,EAA2BxT,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAaA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KA8CMwqB,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAC9J3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WAjEN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBACzE5R,MAAK,SAAAb,GACEA,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,cAAY,eAEvBA,EAAU,CAAC,mBAElB/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkBT,WACrB,GAAmC,MAA/BpE,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAclCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAAnF,6CAAuIjM,QAAvI,IAAuIA,OAAvI,EAAuIA,EAAcic,cAArJ,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GACG,kBAACnE,GAAD,CACIloB,KAAMvF,EACNqpB,aAAa,eACbqE,cAAe96B,EAAS0lB,MAAMpP,UAAUC,uBAAuB,GAAGyc,8BAA8Blf,QAAO,SAAA4H,GAAC,MAAgB,SAAZA,EAAEra,UAAmByE,OACjI6wB,kBAAmBxtB,EAAMrD,OAAS,EA9EhC,SAAC6tB,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAwE0D0vB,IAGzD,GAAR1vB,GACG,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MAxGV,CACVhM,aAAc,eACd7lB,SAAU,gBACVF,UAAW,OAsGSimB,kBAAmB+3B,EACnB3zB,mBA7EG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAgFK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ9BwM5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,4CACNr1C,KAAM,gBACNs1C,U+BnUW,YAAgE,IAAZp0B,EAAW,EAAXA,QAC/D,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAEvBtE,EAAWirD,cAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAAmCxT,IAAM8E,SAAS,MAAlD,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAOA,EAA2B/yB,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAaA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KA8CMyqB,EAAgB,SAAC95C,GACnBtS,EAAQ,0BAA4BsS,GAC/B7S,MAAK,SAAAb,GAAM,OAAIixB,EAAcjxB,EAAOI,SACpCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG5BsqD,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAY0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAChK3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WAxEN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBACzE5R,MAAK,SAAAb,GACEA,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,cAAY,eAEvBA,EAAU,CAAC,mBAElB/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkBT,WACrB,GAAmC,MAA/BpE,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxBotD,EAAcxtD,EAAOI,KAAKsT,iBAE7B5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxBotD,EAAcxtD,EAAOI,KAAKsT,iBAE7B5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAqBlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAAnF,6CAAuIjM,QAAvI,IAAuIA,OAAvI,EAAuIA,EAAcic,cAArJ,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GACG,kBAACwmB,GAAD,CACI7yC,KAAMvF,EACNkJ,UAAWA,EACXqgB,kBAAmBxtB,EAAMrD,OAAS,EApFhC,SAAC6tB,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KA8E0D0vB,IAGzD,GAAR1vB,GACG,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MA9GV,CACVhM,aAAc,eACd7lB,SAAU,gBACVF,UAAW,OA4GSimB,kBAAmB+3B,EACnB3zB,mBAnFG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAsFK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ/BmM5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,sCACNr1C,KAAM,gBACNs1C,UgCrUW,YAA0D,IAAZp0B,EAAW,EAAXA,QACzD,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aACvBtE,EAAWirD,cACjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAAkDxT,IAAM8E,SAAS,IAAjE,mBAAOyqD,EAAP,KAA0BC,EAA1B,KACA,EAAmCxvD,IAAM8E,SAAS,MAAlD,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAGA,EAAyB/yB,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KAEMvN,EAAoB,SAAChD,GAAmB,IAAD,QACzC,GAAIi7B,EAAkB9oD,OAAS,GAA+E,QAA9D,OAAZsH,QAAY,IAAZA,GAAA,UAAAA,EAAcwB,4BAAd,mBAAoC6B,wBAApC,mBAAsDC,iBAAtD,eAAiEC,QAA8D,oBAAhC,OAAZvD,QAAY,IAAZA,GAAA,UAAAA,EAAcwB,4BAAd,eAAoCC,MACvJhM,EAAY,QAAS,4DAAuD,QAAS,WAIzF,GAAY,GAARm8B,EAAW,CACX,GAAgC,GAA5B4vB,EAAkB9oD,OAElB,YADAjD,EAAY,QAAS,iEAA4D,QAAS,MAI1FuB,GAAW,GACX,IAFC,EAEG0qD,EAAuC,EACvCC,EAAmC,IAAIz5B,MAH1C,eAKmBs5B,GALnB,yBAKQtwB,EALR,QAMGwwB,EAAuC,EACnC1hD,EAAauK,iCAAiC7R,OAAS,IACnDkpD,EAAqB5hD,EAAauK,iCAAiCnG,MAAK,SAAAkK,GAAC,OAAIA,EAAEyiB,cAAgBG,EAAQ1mB,YAEvGk3C,EAAuCE,EAAmBljC,qCAIlE,IAAIjU,EAA6C,GACjDymB,EAAQrL,yCAAyClpB,KAAI,SAAA4K,GACjDkD,EAA2CjD,KAAK,CAC5CspB,8CAA+C,EAC/CpS,oCAAqCgjC,EACrCh3C,WAAYnD,EAAEmD,gBAItB,IAAInF,EAAO,CACPmZ,oCAAqCgjC,EACrC7/C,gBAAiB7B,EAAa6B,gBAC9B2I,MAAO0mB,EAAQ1mB,MACfumB,YAAaG,EAAQ1mB,MACrBG,MAAwB,MAAjBumB,EAAQvmB,MAAgB,GAAKumB,EAAQvmB,MAC5C5J,KAAsB,MAAhBmwB,EAAQnwB,KAAe,GAAKmwB,EAAQnwB,KAC1CiK,gBAA4C,MAA3BkmB,EAAQlmB,gBAA0B,GAAKkmB,EAAQlmB,gBAChEF,IAAoB,MAAfomB,EAAQpmB,IAAc,GAAKomB,EAAQpmB,IACxCC,KAAsB,MAAhBmmB,EAAQnmB,KAAe,GAAKmmB,EAAQnmB,KAC1CH,cAAwC,MAAzBsmB,EAAQtmB,cAAwB,GAAKsmB,EAAQtmB,cAC5DC,yBAA8D,MAApCqmB,EAAQrmB,yBAAmC,GAAKqmB,EAAQrmB,yBAClFK,cAAwC,MAAzBgmB,EAAQhmB,cAAwB,GAAKgmB,EAAQhmB,cAC5DC,qBAAsD,MAAhC+lB,EAAQ/lB,qBAA+B,GAAK+lB,EAAQ/lB,qBAC1EU,eAAgBqlB,EAAQrlB,eACxBC,uBAAwBolB,EAAQplB,uBAChCC,uBAAwBmlB,EAAQnlB,uBAChC9X,OAAQi9B,EAAQj9B,OAChBgX,OAAQimB,EAAQjmB,OAChBR,2CAA4CA,GAGhDk3C,EAAiCn6C,KAAKjC,IAxC1C,2BAAuC,CAAC,IAG5Bq8C,EAH2B,KALtC,8BAgDKD,GAEF1sD,EAAS,6DAA+D+K,EAAa6B,iBAChFjN,MAAK,SAAAb,GACF,IAAIwyB,EAAgBvmB,EACpBumB,EAAchc,iCAAmC,IAAI2d,MACrD3B,EAAchc,iCAAmCo3C,EACjDl8C,EAAiB8gB,GACjBuQ,EAASlF,EAAO,MAEnB/8B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAKtCyO,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAyClB2vB,EAAgB,SAAC95C,GACnBtS,EAAQ,0BAA4BsS,GAC/B7S,MAAK,SAAAb,GAAM,OAAIixB,EAAcjxB,EAAOI,SACpCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA8B5B6qD,EAAkC,WACpC5sD,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GACF0B,EAAY,QAAS,4FAAoF,WAAW,WAChHsvB,EAAQvd,KAAK,2BAGpB3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAOlC,OAJAkB,qBAAU,YA9Ee,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,GACTyqB,EAAc3uD,EAAS0lB,MAAMpP,UAAUzB,iBAE1C5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,GACTyqB,EAAc3uD,EAAS0lB,MAAMpP,UAAUzB,iBAE1C5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkDlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MA9KpC,CAAC,8BAAsB,sBAgLG,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GAA0B,MAAb1oB,GACV,kBAACgH,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,wBAAIra,UAAU,sBAAd,wBACA,yBAAKA,UAAU,iBACX,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,QAASiX,MAAO,SACzB,CAAEjX,MAAO,MAAOiX,MAAO,iBACvB,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,OAAQiX,MAAO,QACxB,CAAEjX,MAAO,UAAWiX,MAAO,iBAC3B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,WAE9BxY,KAAM+U,EAAUC,uBAAuB,GAAGyc,8BAC1C/Y,WAAW,EACXjJ,QAAS,CACLiQ,WAAW,GAEfgD,kBAAmB,SAACC,GAChB2qC,EAAqB3qC,IAEzB3J,aAAc9T,MAGtB,kBAACoK,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cAEtB,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIxH,UAAU,cACI,MAArBqtB,GACG,kBAACtmB,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAASqmB,EACTrtB,UAAU,aACVkH,KAAK,UAJT,qBAIiC,uBAAGlH,UAAU,gCAWlE,GAAR01B,GACA,kBAACnE,GAAD,CACIloB,KAAMvF,EACN0tB,cAAe96B,EAAS0lB,MAAMpP,UAAUC,uBAAuB,GAAGyc,8BAA8BltB,OAChG2wB,aAAa,eACbE,kBAhHY,WAChC,IAAIu4B,GAAiB,EAErB,GAAM9hD,EAAauK,iCAAkC,CAAC,IAAD,iBACrBvK,EAAauK,kCADQ,IACjD,2BAA2E,CAEnEu3C,KAFmE,QAChDzwB,YAAeywB,IAFO,+BAW/B,GAAlBA,EACA7rD,EAAa,QAAS,sKAAqJ,YAAY,SAAUuX,GACzLA,GACAq0C,OAKRA,KA2FgBl0B,mBA9JG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAiKK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJhCoE5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,mDACNr1C,KAAM,gBACNs1C,UiCjVW,YAA0D,IAAZp0B,EAAW,EAAXA,QACzD,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAEvBtE,EAAWirD,cAEjB,EAA2B5rD,IAAM8E,SAASU,QAA1C,mBAAO49B,EAAP,KAAcwB,EAAd,KAEA,EAAyC5kC,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAGA,EAAyBxT,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KAoEA,OAJA5+B,qBAAU,YAhDe,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,gBACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBAAiBjN,MAAK,SAAAb,GACxE8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAERjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAalCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MA1EpC,CAAC,sBAAiB,iBA4EQ,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GAAa,kBAACxI,GAAD,CAAe7jB,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAjFnE,SAAChD,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OA4EC,GAARA,GACG,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAhCY,WAChCvyB,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAC9J3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA4BV22B,mBA9EG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAiFK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJjCqO5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,oBACNr1C,KAAM,oBACNs1C,UkClVW,YAAwC,IAAZp0B,EAAW,EAAXA,QAC/B/tB,EAAeL,IAAfK,WAER,EAA4EkJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAcD,EAAhC,EAAgCA,OAAkBE,GAAlD,EAAwCC,SAAxC,EAAkDD,UAE5C3N,GAFN,EAA4D6N,YAE3Co9C,eAEjB,EAAyB5rD,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAEMxG,GAFN,KAE0B,SAACze,GACvB,IAAIpH,EAAO3S,EAAS0lB,MAAMpP,UAE1B,GAAY,MAAR3D,EACA,MAAO,GAEX,GAA8B,kBAA1BA,EAAKu7B,mBAAmE,WAA1Bv7B,EAAKu7B,kBACnD,OAAQn0B,GACJ,IAAK,WAAY,OAAOpH,EAAK8K,iBAAiB3X,OAAS,EAAI6M,EAAK8K,iBAAiB,GAAGpG,SAAW,GAC/F,IAAK,UAAW,OAAO1E,EAAK8K,iBAAiB3X,OAAS,EAAI6M,EAAK8K,iBAAiB,GAAGnG,QAAU,GAC7F,IAAK,QAAS,OAAO3E,EAAKyE,MAAQzE,EAAKyE,MAAQ,GAIvD,GAA8B,iBAA1BzE,EAAKu7B,kBACL,OAAQn0B,GACJ,IAAK,WAAY,OAAOpH,EAAK4D,uBAAuBzQ,OAAS,EAAI6M,EAAK4D,uBAAuB,GAAGc,SAAW,GAC3G,IAAK,UAAW,OAAO1E,EAAK4D,uBAAuBzQ,OAAS,EAAI6M,EAAK4D,uBAAuB,GAAGe,QAAU,GACzG,IAAK,QAAS,OAAO3E,EAAKyE,MAAQzE,EAAKyE,MAAQ,GAIvD,GAA8B,iBAA1BzE,EAAKu7B,kBACL,OAAQn0B,GACJ,IAAK,WAAY,OAAOpH,EAAKqN,iBAAiBla,OAAS,EAAI6M,EAAKqN,iBAAiB,GAAG3I,SAAW,GAC/F,IAAK,UAAW,OAAO1E,EAAKqN,iBAAiBla,OAAS,EAAI6M,EAAKqN,iBAAiB,GAAG1I,QAAU,GAC7F,IAAK,QAAS,OAAO3E,EAAKyE,MAAQzE,EAAKyE,MAAQ,MAM3D,EAA2B/X,IAAM8E,SAASnE,EAAS0lB,MAAMpP,UAAUc,OAAnE,mBAAOA,EAAP,KAAc6f,EAAd,KAUMC,EAA2B,SAAC/1B,GACzBA,EAAOI,OACRsB,EAAY,QAAS,sBAAoB,QAAS,MAClD8K,EAAS,QAAS,IAClBspB,EAAU,MA2ElB,OACI,oCACI,yBAAK3tB,UAAU,WACF,GAAR01B,GACG,oCACI,kBAAC1hB,EAAA,EAAD,CAAMhU,UAAS,wBACX,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GA7E3B,SAACnM,GACd6C,GAAW,GACX,IAAIuO,EAAO3S,EAAS0lB,MAAMpP,UACtB64C,EAAa,GAEjB,GAAa,MAAT/3C,GAAiC,GAAhBA,EAAMtR,OAGvB,OAFA1B,GAAW,QACXvB,EAAY,QAAS,0BAAwB,QAAS,MAI1D,GAAqB,MAAjBtB,EAAK8V,UAA4C,GAAxB9V,EAAK8V,SAASvR,OAGvC,OAFA1B,GAAW,QACXvB,EAAY,QAAS,4BAA0B,QAAS,MAI5D,GAAqB,IAAjBtB,EAAKklD,UAAkBllD,EAAKklD,SAAS3gD,OAAS,EAAG,CACjD,GAAIvE,EAAKklD,SAAS3gD,OAAS,EAGvB,OAFA1B,GAAW,QACXvB,EAAY,QAAS,mDAAiD,QAAS,MAGnF,GAAwB,MAApBtB,EAAK6tD,aAA2C,GAApB7tD,EAAK6tD,YAGjC,OAFAhrD,GAAW,QACXvB,EAAY,QAAS,qCAAgC,QAAS,MAE3D,GAAItB,EAAK6tD,aAAe7tD,EAAKklD,SAGhC,OAFAriD,GAAW,QACXvB,EAAY,QAAS,4BAA0B,QAAS,MAKhE,IAAIwsD,EAAiBlwD,KAAKC,MAAMD,KAAK4C,UAAU4Q,IAE/C08C,EAAej4C,MAAQ7V,EAAK6V,MAAMtR,OAAS,GAAmB,IAAdvE,EAAK6V,MAAc7V,EAAK6V,MAAQzE,EAAKyE,MACrFi4C,EAAelhB,MAAQ5sC,EAAKklD,SAAS3gD,OAAS,GAAsB,IAAjBvE,EAAKklD,SAAiBllD,EAAKklD,SAAW9zC,EAAKw7B,MAEhE,kBAA1Bx7B,EAAKu7B,mBAAmE,WAA1Bv7B,EAAKu7B,oBACnDmhB,EAAe5xC,iBAAiB,GAAGpG,SAAW9V,EAAK8V,SAASvR,OAAS,GAAsB,IAAjBvE,EAAK8V,SAAiB9V,EAAK8V,SAAW1E,EAAK8K,iBAAiB,GAAGpG,SACzIg4C,EAAe5xC,iBAAiB,GAAGnG,QAAU/V,EAAK+V,QAAQxR,OAAS,GAAqB,IAAhBvE,EAAK+V,QAAgB/V,EAAK+V,QAAU3E,EAAK8K,iBAAiB,GAAGnG,QACrI63C,EAAa,oBAGa,iBAA1Bx8C,EAAKu7B,oBACLmhB,EAAe94C,uBAAuB,GAAGc,SAAW9V,EAAK8V,SAASvR,OAAS,GAAsB,IAAjBvE,EAAK8V,SAAiB9V,EAAK8V,SAAW1E,EAAK4D,uBAAuB,GAAGc,SACrJg4C,EAAe94C,uBAAuB,GAAGe,QAAU/V,EAAK+V,QAAQxR,OAAS,GAAqB,IAAhBvE,EAAK+V,QAAgB/V,EAAK+V,QAAU3E,EAAK4D,uBAAuB,GAAGe,QACjJ63C,EAAa,0BAGa,iBAA1Bx8C,EAAKu7B,oBACLmhB,EAAervC,iBAAiB,GAAG3I,SAAW9V,EAAK8V,SAASvR,OAAS,GAAsB,IAAjBvE,EAAK8V,SAAiB9V,EAAK8V,SAAW1E,EAAKqN,iBAAiB,GAAG3I,SACzIg4C,EAAervC,iBAAiB,GAAG1I,QAAU/V,EAAK+V,QAAQxR,OAAS,GAAqB,IAAhBvE,EAAK+V,QAAgB/V,EAAK+V,QAAU3E,EAAKqN,iBAAiB,GAAG1I,QACrI63C,EAAa,oBAIjB7sD,EAAQ,GAAD,OAAI6sD,EAAJ,wBAAsCE,GACxCrtD,MAAK,SAAAb,GACFiD,GAAW,GACX+tB,EAAQvd,KAAK,CACT4d,SAAU,sBAEd3vB,EAAY,QAAS,wCAAmC,UAAW,SAEtEZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,UAWF,gDACA,kBAACgM,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,gBAAvB,UACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,QAAQS,KAAK,QAAQ2c,aAAc4K,EAAkB,SAAU1T,OArGnG,SAAC3K,GAEgB,GAA7BA,EAAMnB,OAAOrV,MAAMmC,SAGvBmxB,EAAU9c,EAAMnB,OAAOrV,OAEvBuxB,GAAY/a,EAAMnB,OAAOrV,MAAOuzB,KA8FwGrlB,SAAUrE,EAAS,IAAK0X,UAAU,MAAMmV,aAAa,QACpJ5sB,EAAO2J,OAAS,0BAAM9N,UAAU,kCAAhB,0BAChBmE,EAAO6hD,eAAiB,0BAAMhmD,UAAU,kCAAhB,wBAGjC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0BAAMzH,UAAU,gBAAqB,4CACxC,kBAAC,GAAD,CAAekH,KAAK,OAAOS,KAAK,WAAW2c,aAAc4K,EAAkB,YAAaiC,SAAUjtB,EAAS,MAC1GC,EAAO4J,UAAY,0BAAM/N,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0BAAMzH,UAAU,gBAAqB,2CACxC,kBAAC,GAAD,CAAekH,KAAK,OAAOS,KAAK,UAAU2c,aAAc4K,EAAkB,WAAYiC,SAAUjtB,EAAS,MACxGC,EAAO4J,UAAY,0BAAM/N,UAAU,kCAAhB,6BAIhC,+CACA,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,gBAAvB,eACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,WAAWY,SAAUrE,EAAS,IAAK0X,UAAU,MAAMmV,aAAa,QAC3F5sB,EAAOg5C,UAAY,0BAAMn9C,UAAU,kCAAhB,4BAG5B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,+BAAO,0BAAMzH,UAAU,gBAAvB,kBACH,kBAACsI,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,cAAcY,SAAUrE,EAAS,IAAK0X,UAAU,MAAMmV,aAAa,QAC9F5sB,EAAOg5C,UAAY,0BAAMn9C,UAAU,kCAAhB,6BAIhC,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,6BAA6BkH,KAAK,UAAS,uBAAGlH,UAAU,gBAA1F,oClC6JxCq9C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,kDACNr1C,KAAM,gBACNs1C,UmCpWW,YAAqE,IAAZp0B,EAAW,EAAXA,QACpE,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAEtBtE,EAAWirD,cAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAQA,EAA2BxT,IAAM8E,SAAS,CAAC,eAAgB,eAA3D,mBAAOgF,EAAP,KAEA,GAFA,KAEyB9J,IAAM8E,SAAS,IAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KAUMnJ,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IA6CpB,OAJA15B,qBAAU,YAtCe,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAYlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GACG,kBAACmC,GAAD,CAAcxuB,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAxExD,SAAChD,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAkEgGjE,mBAAoBA,IAEnH,GAARiE,GACG,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MAtFV,CACVhM,aAAc,eACd7lB,SAAU,gBACVF,UAAW,OAoFSimB,kBAjCY,WAChCvyB,GAAW,GACX/B,EAAS,oDAAqD+K,GAAcpL,MAAK,SAAAb,GAAY0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BACvO3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA8BV22B,mBAAoBA,KAKnB,MAAhB3tB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJnC4P5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,eACNr1C,KAAM,eACNs1C,UoC1WW,YAAmC,IAAZp0B,EAAW,EAAXA,QAClC,EAA+DpuB,IAAvDlF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYI,EAA7B,EAA6BA,OAAQE,EAArC,EAAqCA,QAASJ,EAA9C,EAA8CA,aAC9C,EAA+DgJ,YAAQ,CAAEC,KAAM,WAAvEC,EAAR,EAAQA,SAAUC,EAAlB,EAAkBA,OAAQG,EAA1B,EAA0BA,SAAUC,EAApC,EAAoCA,YAAaC,EAAjD,EAAiDA,UACjD,EAAmC3J,mBAAS,MAA5C,mBAAOmS,EAAP,KAAkB8b,EAAlB,KACA,EAAuCjuB,qBAAvC,mBAAOorD,EAAP,KAAoBC,EAApB,KACA,EAA+CrrD,mBAAS,MAAxD,mBAAOsrD,EAAP,KAAwBC,EAAxB,KA8DMC,EAA6B,SAACh9C,GAChCtP,EAAa,gBAAW,qCAAsC,YAAY,SAAUlC,GpF9E7C,IAAC0T,EAAcjQ,EoF+E9CzD,IACAiD,GAAW,GpFhFqByQ,EoFiFAlC,EAAKkC,apFjFSjQ,EoFiFK,SAAUzD,GACzDiD,GAAW,GACXvB,EAAY,QAAS,sCAAuC,WAAW,WAAc9C,OAAOC,SAASiB,apFlFrHoB,EAAS,+CAAD,OAAgDwS,IACnD7S,MAAK,SAAAb,GAAYyD,EAASzD,MAC1Bc,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,coFsF7D,EAA2C6C,oBAAS,GAApD,mBAAOyrD,EAAP,KAAsBC,EAAtB,KACA,EAA2D1rD,oBAAS,GAApE,mBAAO2rD,EAAP,KAA8BC,EAA9B,KAEA,EAA0B5rD,oBAAS,GAAnC,mBAAOkP,EAAP,KAAcC,EAAd,KACM08C,EAAY,SAACr9C,GACf+8C,EAAoB/8C,GACpBk9C,GAAkB,GAClBv8C,GAAUD,IAGRs7C,EAAgB,WAAyB,IAAxBsB,EAAuB,uDAAT,KAC7BC,EAAc,CAAEr7C,aAAc,KAAMs5B,MAAO,MAE/C,GAAI8hB,EACAC,EAAYr7C,aAAeo7C,EAAYp7C,aACvCq7C,EAAY/hB,MAAQ8hB,EAAY9hB,UAC7B,CACH,IAAI5sC,EAAOuM,IACXoiD,EAAY/hB,MAAQ5sC,EAAK4uD,WACzBD,EAAYr7C,aAAe46C,EAAgB56C,aAG/Cud,EAAc,MACdhuB,GAAW,GACX/B,EAAS,0CAA2C,CAAEwS,aAAcq7C,EAAYr7C,aAAc4xC,SAAUyJ,EAAY/hB,QAC/GnsC,MAAK,SAAAouD,GAAkB,IAAD,EACnB98C,GAAS,IACT,UAAI88C,EAAc7uD,YAAlB,aAAI,EAAoBV,cACpB0B,EAAQ,kCAAoC2tD,EAAYr7C,cACnD7S,MAAK,SAAAN,GACF,GAA4B,YAAxBA,EAASH,KAAKF,OAAsB,CACpC,GAAuI,GAAnIK,EAASH,KAAK6L,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,QAAwC,YAAZ0S,EAAE1S,QAAoC,cAAZ0S,EAAE1S,UAAwByE,OAEzH,YADAjD,EAAY,gBAAW,yDAAuD,UAAW,MAIzFwR,YAAW,WACP,IAAIsf,EAAgBjyB,EAASH,KAAK6L,aAAa0G,QAAO,SAAAC,GAAC,MAAgB,gBAAZA,EAAE1S,QAAwC,YAAZ0S,EAAE1S,QAAoC,cAAZ0S,EAAE1S,UAAwB,GAC7I8wB,EAAQvd,KAAK,CAAE4d,SAAU,6BAA8B9M,MAAO,CAAEpP,UAAW5U,EAASH,KAAM6L,aAAcumB,OACzG,UAIPy8B,EAAc7uD,KAAK4sC,MAAQ+hB,EAAY/hB,MACvC3pC,EAAO4rD,EAAc7uD,MACrB6wB,EAAc1wB,EAASH,SAG9BU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,SAGrCnC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAyC5BisD,EAA8B,SAAC19C,GACjCq9C,EAAUr9C,GACVo9C,GAA0B,IAsC9B,OAbAzqD,qBAAU,WACFzG,GAAiC,aAAtBA,EAAQ0R,aACnB7L,GAAQ,GACR3E,OAAOC,SAASiB,UAEhBpC,GAAY,IAAIkC,KAAKlC,EAAQmC,YAAc,IAAID,OAC/C2D,GAAQ,GACR3E,OAAOC,SAASiB,UAEhBpC,GAAiC,aAAtBA,EAAQ0R,YAA0C,MAAb+F,GAChDq4C,EAAc9vD,KACnB,CAACA,IAGA,oCACI,yBAAKyK,UAAU,UAAUE,MAAO,CAAEyD,UAAW,SAC3B,MAAbqJ,GACG,kBAACgH,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACtH,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,eAC1C4rC,GACE,wBAAIjmD,UAAU,sBAAd,uBAAiDhF,QAAjD,IAAiDA,OAAjD,EAAiDA,EAAcic,eAElEgvC,GACG,wBAAIjmD,UAAU,sBAAd,aAEHimD,GAAeA,EAAYe,UAAUx8C,QAAO,SAAAC,GAAC,MAAyB,SAArBA,EAAEw8C,mBAA4BzqD,OAAS,GAAKxB,GAA6D,aAA7CA,EAAayuB,8BACvH,yBAAKzpB,UAAU,OACX,yBAAKA,UAAU,0CACX,oFACA,uBAAGE,MAAO,CAAEkY,OAAQ,WAAapR,QAAS,kBAAMvQ,OAAOsa,KAAK,sDAAwDk1C,EAAYe,UAAU,GAAG59B,gBAAiB,WAAWppB,UAAU,0BAI/L,yBAAKA,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK9G,UAAW,8BACVimD,GACE,yBAAK/lD,MAAO,CAAEqB,MAAO,SACjB,kBAACuF,GAAA,EAAD,CAAK9G,UAAW,6BACZ,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACC,GAAA,EAAD,KACI,2BAAG,4CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAO0U,UAAU,KAAKjU,KAAK,WAAWY,SAAUrE,EAAS,CAAEkE,UAAU,IAAS2oB,aAAa,UAG/G,kBAACxpB,GAAA,EAAD,CAAKkB,GAAG,IAAIjB,GAAG,KACX,kBAACT,GAAA,EAAD,CAAQrH,MAAM,OAAOM,UAAU,aAAakH,KAAK,SAASF,QAAS,YA/O1F,WACzBlM,GAAW,GACX,IAAI7C,EAAOuM,IAEX,GAAqB,IAAjBvM,EAAK2/B,SAGL,OAFAr+B,EAAY,gBAAW,gDAAiD,UAAW,WACnFuB,GAAW,GAIf7B,EAAQ,yBAA2BhB,EAAK2/B,UACnCl/B,MAAK,SAAAb,GAAM,OAAIquD,EAAgBruD,EAAOI,SACtCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkO6FosD,IAA2BhnD,MAAO,CAAEqB,MAAO,SAAU,uBAAGqB,MAAM,kBAAzI,kBAMJ,MAAfqjD,GAAuBA,EAAYe,UAAUxqD,OAAS,GACnD,kBAACsK,GAAA,EAAD,CAAK9G,UAAW,6BACXimD,EAAYe,UAAUvmD,KAAI,SAAC4I,EAAMzI,GAC9B,OAxOzB,SAACyI,EAAMzI,GACtB,OACI,kBAAC2G,GAAA,EAAD,CAAK3G,IAAKA,EAAK4G,GAAG,IAAIiB,GAAG,IAAIC,GAAG,KAC5B,kBAACsL,EAAA,EAAD,CAAMhU,UAAU,uBACZ,kBAACywB,GAAA,EAAD,CAAYzwB,UAAU,2BACW,OAA5BqJ,EAAKqZ,oBAA+BrZ,EAAK/B,SAASwN,QAAQ,SAAU,IAAMzL,EAAK/B,SAChF,6BACA,+BAAQ+B,EAAKqZ,qBACb,yBAAK1iB,UAAU,aACX,kDAAqBqJ,EAAKwE,iBAAwB,6BAClD,+CAAkBxE,EAAK89C,YAG/B,kBAAClzC,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAK+yC,GAAG,MACZ,yBAAKx7C,UAAU,oCACX,uBAAG4C,MAAOyG,EAAKwX,YAAc,IAAMxX,EAAK+9C,eAKxD,kBAACnmC,GAAA,EAAD,CAAYjhB,UAAU,eAClB,6BACsC,MAArCqJ,EAAKg+C,8BACF,6BACI,kBAACtgD,GAAA,EAAD,CAAQrH,MAAM,OAAOsH,QAAS,kBAAMzN,EAAY,gBAAW8P,EAAKg+C,6BAA8B,UAAW,QAAzG,kBACA,6BACA,6BACA,kBAACtgD,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAagH,QAAS,WAAQ+/C,EAA4B19C,IAAUnJ,MAAO,CAAEqB,MAAO,SAAtH,0BACA,6BACA,6BACA,kBAACwF,GAAA,EAAD,CAAQrH,MAAM,SAASM,UAAU,aAAagH,QAAS,WAAQq/C,EAA2Bh9C,IAAUnJ,MAAO,CAAEqB,MAAO,SAApH,0BAG8B,MAArC8H,EAAKg+C,8BACF,kBAACtgD,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAAS,kBAAM0/C,EAAUr9C,KAAjD,eAoM2Bi+C,CAAWj+C,EAAMzI,WAUxD,kBAACmL,GAAA,EAAD,CAAOC,OAAQjC,EAAO6J,UAAQ,EAAC3H,OAAQ,kBAAMjC,GAAS,KAClD,kBAACoQ,GAAA,EAAD,CACItG,MAAO,4BAAQ9T,UAAU,QAAQgH,QAAS,kBAAMgD,GAAS,KAAlD,QACPhK,UAAU,SAAQ,uBAAGA,UAAWmmD,GAAmBA,EAAgBtlC,cAFvE,cAEoGslC,GAAmBA,EAAgBt4C,gBACnI,2BAAO7N,UAAU,QAAQmmD,GAAmBA,EAAgBzjC,sBAEhE,kBAACvW,GAAA,EAAD,CAAWnM,UAAU,UACfsmD,IAAkBE,GAChB,kBAAC1/C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,yCACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,aAAaY,SAAUrE,EAAS,CAAEkE,UAAU,IAASkc,aAAa,KAC9F,uBAAG/U,KAAK,IAAIvI,QAAS,kBAAMu/C,GAAkB,KAA7C,sBAKfD,GACG,kBAACx/C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,8GAAoF09C,EAAgBt4C,kBAExG,kBAACtG,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,YAAYY,SAAUrE,EAAS,CAAEkE,UAAU,IAAS2oB,aAAa,QACxF5sB,EAAOojD,WAAa,0BAAMvnD,UAAU,kCAAhB,4BAG7B,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,8DAA0BzM,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAcic,gBAC3C,kBAAC3O,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,iBAAiBY,SAAUrE,EAAS,CAAEkE,UAAU,IAAS2oB,aAAa,QAC7F5sB,EAAOiQ,gBAAkB,0BAAMpU,UAAU,kCAAhB,4BAGlC,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAU,eAAhB,yUAUXwmD,GACG,kBAAC1/C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,8FAAoE09C,EAAgBt4C,kBAExF,kBAACtG,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,0CACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,OAAOS,KAAK,YAAYY,SAAUrE,EAAS,CAAEkE,UAAU,IAAS2oB,aAAa,QACxF5sB,EAAOojD,WAAa,0BAAMvnD,UAAU,kCAAhB,8BAMzC,kBAACwM,GAAA,EAAD,CAAaxM,UAAU,SACnB,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC1B,GAAA,EAAD,CAAQrH,MAAM,YAAYM,UAAU,aAAagH,QAAS,kBAAMgD,GAAS,KAAzE,aACEs8C,IAAkBE,GAChB,kBAACz/C,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QAAS,WArMvFxC,IAEDqiD,WAKVxB,EAAc,MAJV9rD,EAAY,gBAAW,6CAA8C,UAAW,QAkMqC,uBAAGyG,UAAU,iBAA1G,eAEHsmD,IAAkBE,GACf,kBAACz/C,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QAAS,kBA9L/E,WACnBzC,IACA,IAAItM,EAAOuM,IAEX,GAA6B,GAAzBvM,EAAKsvD,UAAU/qD,QAA6C,GAA9BvE,EAAKmc,eAAe5X,OAKlD,OAJ6B,GAAzBvE,EAAKsvD,UAAU/qD,QACf8H,EAAS,YAAa,CAAE4C,KAAM,SAAW,CAAEsgD,aAAa,SAC1B,GAA9BvvD,EAAKmc,eAAe5X,QACpB8H,EAAS,iBAAkB,CAAE4C,KAAM,SAAW,CAAEsgD,aAAa,KAIrE,IAAIjK,EAAet4B,KAAK6qB,SAASj7B,SAAS,IAAIyX,OAAO,GACjDkxB,EAAY,CACZjyC,aAAc46C,EAAgB56C,aAC9BkyC,UAAWF,EACXzvC,MAAO7V,EAAKsvD,UACZnzC,eAAgBnc,EAAKmc,gBAGzBtZ,GAAW,GACX/B,EAAS,+BAAgCykD,GACpC9kD,MAAK,SAAAb,GAAM,OAAI0B,EAAY,gBAAW,6CAA8C,UAAW,SAC/FZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAsK0E2sD,KAAkB,uBAAGznD,UAAU,iBAA3G,gBAEFsmD,GAAiBE,GACf,kBAACz/C,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,SAASF,QAAS,kBAjK/D,WACnCzC,IACA,IAAItM,EAAOuM,IAEX,GAA6B,GAAzBvM,EAAKsvD,UAAU/qD,OAAnB,CAMA,IAAIghD,EAAY,CACZjyC,aAAc46C,EAAgB56C,aAC9BuC,MAAO7V,EAAKsvD,WAGhBzsD,GAAW,GACX/B,EAAS,sCAAuCykD,GAC3C9kD,MAAK,SAAAb,GAAM,OAAI0B,EAAY,gBAAW,gDAAiD,UAAW,SAClGZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAdG,GAAzB7C,EAAKsvD,UAAU/qD,QACf8H,EAAS,YAAa,CAAE4C,KAAM,SAAW,CAAEsgD,aAAa,IA2JwCE,KAAkC,uBAAG1nD,UAAU,iBAA3H,mBAON,MAAbgN,GAAyD,MAApCA,EAAUC,wBAAkCD,EAAUC,uBAAuBzQ,OAAS,GAA0B,aAArBwQ,EAAUjV,QACvH,kBAAC6wB,GAAD,CACIvf,KAAM2D,EACN6b,QAASA,EACTvf,iBAAiB,IAGX,MAAb0D,GAAmD,MAA9BA,EAAUmH,kBAA4BnH,EAAUmH,iBAAiB3X,OAAS,GAA0B,aAArBwQ,EAAUjV,QAC3G,kBAACyyB,GAAD,CACInhB,KAAM2D,EACN6b,QAASA,EACTvf,iBAAiB,IAGX,MAAb0D,GAAmD,MAA9BA,EAAU0J,kBAA4B1J,EAAU0J,iBAAiBla,OAAS,GAA0B,aAArBwQ,EAAUjV,QAC3G,kBAAC+yB,GAAD,CACIzhB,KAAM2D,EACN6b,QAASA,EACTvf,iBAAiB,OpCDrC+zC,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,wBACNr1C,KAAM,2BACNjO,KAAM,gBACNujD,UqCpXW,YAA4C,IAAZp0B,EAAW,EAAXA,QACnC/tB,EAAeL,IAAfK,WAEFpE,EAAWirD,cACjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEAvN,qBAAU,WAC6B,MAA/BtF,EAAS0lB,MAAMtY,eACfyF,EAAiB,MACjBzO,GAAW,GACX6sD,EAAgBjxD,EAAS0lB,MAAMtY,aAAamK,mBAAoBvX,EAAS0lB,MAAMpP,UAAU63B,UAE9F,IAEH,IAAM8iB,EAAkB,SAAC15C,EAAoB42B,GACzC5rC,EAAQ,0CAA4CgV,EAAqB,IAAM42B,GAAOnsC,MAAK,SAAAb,GACrB,iBAA9DA,EAAOI,KAAKqN,qBAAqB6B,iBAAiBG,SAClDrO,EAAQ,0BAA4BpB,EAAOI,KAAKsT,cAC3C7S,MAAK,SAAAkvD,GAAgB,OAAIC,EAAoCD,EAAiB3vD,KAAMJ,EAAOI,SAC3FU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAEqC,kBAA9DjD,EAAOI,KAAKqN,qBAAqB6B,iBAAiBG,SACvDrO,EAAQ,oBAAsBpB,EAAOI,KAAKsT,cACrC7S,MAAK,SAAAkvD,GAAgB,OAAIE,EAA8BF,EAAiB3vD,KAAMJ,EAAOI,SACrFU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAEqC,iBAA9DjD,EAAOI,KAAKqN,qBAAqB6B,iBAAiBG,UACvDrO,EAAQ,oBAAsBpB,EAAOI,KAAKsT,cACrC7S,MAAK,SAAAkvD,GAAgB,OAAIG,EAA8BH,EAAiB3vD,KAAMJ,EAAOI,SACrFU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,SAGjCnC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG5B+sD,EAAsC,SAAC76C,EAAW8D,GACpD,GAAsB,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,OAC5C,OAAQ+Y,EAAQxL,qBAAqBC,MACjC,IAAK,gBACD9O,OAAOC,SAAW,6CAA+CsW,EAAUoc,gBAC3E,MAEJ,IAAK,cACDP,EAAQvd,KAAK,CACT4d,SAAU,iDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,cACD+X,EAAQvd,KAAK,CACT4d,SAAU,iDACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACD+X,EAAQvd,KAAK,CACT4d,SAAU,2CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,eACD+X,EAAQvd,KAAK,CACT4d,SAAU,8CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACD+X,EAAQvd,KAAK,CACT4d,SAAU,2CACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,UAM7GvH,EAAiBuH,IAInBg3C,EAAgC,SAAC96C,EAAW8D,GAC9C,GAAsB,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,OAC5C,OAAQ+Y,EAAQxL,qBAAqBC,MACjC,IAAK,gBACkF,OAA/EyH,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAAiG,OAA/E2F,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,MAC9J5Q,OAAOC,SAAW,uCAAyCsW,EAAUoc,gBAErE3yB,OAAOC,SAAW,0CAA4CsW,EAAUoc,gBAC5E,MACJ,IAAK,kBACDP,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,eACD+X,EAAQvd,KAAK,CACT4d,SAAU,wCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACkF,OAA/E9D,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,OAAiG,OAA/E2F,EAAUsc,iCAAiCniB,iBAAiBC,UAAUC,MAC9JwhB,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAGrG+X,EAAQvd,KAAK,CACT4d,SAAU,wCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,UAMjHvH,EAAiBuH,IAInBi3C,EAAgC,SAAC/6C,EAAW8D,GAC9C,GAAsB,gBAAlBA,EAAQ/Y,QAA8C,cAAlB+Y,EAAQ/Y,OAC5C,OAAQ+Y,EAAQxL,qBAAqBC,MACjC,IAAK,gBACD9O,OAAOC,SAAW,uCAAyCsW,EAAUoc,gBACrE,MACJ,IAAK,cACDP,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,cACD+X,EAAQvd,KAAK,CACT4d,SAAU,yCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACD+X,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,KAErG,MACJ,IAAK,kBACD+X,EAAQvd,KAAK,CACT4d,SAAU,qCACV9M,MAAO,CAAEpP,UAAWA,EAAW1H,qBAAsBwL,EAAQxL,qBAAsBxB,aAAcgN,UAM7GvH,EAAiBuH,IAIzB,OACI,oCAEqB,MAAhBhN,GAAuF,iBAA/DA,EAAawB,qBAAqB6B,iBAAiBG,UACxE,kBAAC8B,GAAD,CACIC,KAAMvF,EACNwF,iBAAiB,IAGR,MAAhBxF,GAAuF,kBAA/DA,EAAawB,qBAAqB6B,iBAAiBG,UACxE,kBAAC,GAAD,CACI+B,KAAMvF,EACNwF,iBAAiB,IAGR,MAAhBxF,GAAuF,iBAA/DA,EAAawB,qBAAqB6B,iBAAiBG,UACxE,kBAAC,GAAD,CACI+B,KAAMvF,EACNwF,iBAAiB,MrCmMjC+zC,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,sBACNr1C,KAAM,cACNjO,KAAM,GACNujD,UsC5XW,YAA0C,IAAZp0B,EAAW,EAAXA,QACzC,EAAqCpuB,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aACpB,EAAkCH,mBAAS,4BAA3C,mBAAOmtD,EAAP,KAAkBC,EAAlB,KAEIC,EAASx7C,EAAQ,KAErB,EAAiD7R,mBAAS,MAA1D,mBAAOstD,EAAP,KAAyBC,EAAzB,KAwCA,OAJApsD,qBAAU,YAnCQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAC/BjqD,GAAW,GACX7B,EAAQ,4CAA8CgsD,EAAOj4C,WAAWtU,MAAK,SAAAb,GACzE,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAKiB,OAAjF1B,EAAOI,KAAKqxB,iCAAiCniB,iBAAiBC,UAAUC,OACxE4gD,EAAa,sCAEjB,IAAIj7C,EAAYnV,EAAOI,KACnBowD,EAAe,CACfC,YAAat7C,EAAUoH,eACvBm0C,SAAUv7C,EAAUuc,gBACpBjb,MAAOtB,EAAUC,uBAAuB,GAAGyc,8BAA8Blf,QAAO,SAAAC,GAAC,OAAIA,EAAEqf,kCAAoCm7B,EAAOjwB,WAAS,GAAG1mB,MAC9IksB,UAAWxtB,EAAUE,SACrBX,KAAMS,EAAUC,uBAAuB,GAAGE,YAC1Cg6C,SAAUn6C,EAAUC,uBAAuB,GAAGO,WAAa,KAAOR,EAAUC,uBAAuB,GAAGQ,YAAc,KAAOT,EAAUC,uBAAuB,GAAGU,OAC/JX,UAAWi4C,EAAOj4C,UAClBgoB,QAASiwB,EAAOjwB,SAEpBozB,EAAqBC,MAEpB1vD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACyB,MAApBL,GACG,yBAAKnoD,UAAU,mDAAmDE,MAAO,CAAEiB,OAAQ,UAC/E,kBAAC6S,EAAA,EAAD,CAAM9T,MAAO,CAAEqB,MAAO,OAAQS,OAAQ,uBAClC,kBAACiS,EAAA,EAAD,KACI,yBAAK/T,MAAO,CAAE8B,OAAQ,kBAAmB6uB,QAAS,UAC9C,kBAAC/pB,GAAA,EAAD,CAAK5G,MAAO,CAAEyD,UAAW,QACrB,kBAAC4D,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAACm0C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,SAEtD,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,eAClB,2BAAIgoD,IAER,kBAACzgD,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,kBAAC48C,GAAD,CAAaC,kBAAmB,iBAAkBt7C,MAAM,SAE5D,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,KACJ,0DAAsBzN,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAcic,cAApC,MADJ,IAC6D,6BAAOkxC,EAAiBG,aAErF,kBAAC/gD,GAAA,EAAD,CAAKkB,GAAG,KACJ,yCADJ,IACsB,6BADtB,IAC8BhM,GAAY0rD,EAAiBI,WAE3D,kBAAChhD,GAAA,EAAD,CAAKkB,GAAG,KACJ,sCADJ,IACmB,6BAAO0/C,EAAiB75C,OAE3C,kBAAC/G,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,QACnB,2BAAImoD,EAAiB3tB,UAAUh+B,OAAS,GAAK,OAAS,MAAtD,MADJ,IACwE2rD,EAAiB3tB,WAEzF,kBAACjzB,GAAA,EAAD,CAAKkB,GAAG,MACJ,2BAAI0/C,EAAiB3tB,UAAUh+B,OAAS,GAAK,kBAAiB,OAA9D,MADJ,IACiF2rD,EAAiB57C,MAElG,kBAAChF,GAAA,EAAD,CAAKkB,GAAG,MACJ,4CADJ,IACuB0/C,EAAiBhB,WAG5C,kBAACrgD,GAAA,EAAD,CAAK5G,MAAO,CAAEyD,UAAW,MAAOC,aAAc,QAC1C,kBAAC2D,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAACkoD,EAAD,CAAQ7tD,OAAmB,OAAZW,QAAY,IAAZA,OAAA,EAAAA,EAAcytD,aAAc,uCAAyCN,EAAiBn7C,UAAY,YAAcm7C,EAAiBnzB,kBtCySpLqoB,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,uBACNr1C,KAAM,UACNs1C,UuCtXW,YAAuD,IAAZp0B,EAAW,EAAXA,QACtD,EAAkCpuB,IAA1BlF,EAAR,EAAQA,QAASyF,EAAjB,EAAiBA,aAEjB,EAAyCH,mBAAS,MAAlD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAGA,EAA2B1O,mBAAS,MAApC,mBAAOs+B,EAAP,KAAcwB,EAAd,KAGA,EAA0B9/B,mBAAS,IAAnC,mBAAOgF,EAAP,KAAc4jC,EAAd,KAGA,EAA8B5oC,oBAAS,GAAvC,mBAAO6tD,EAAP,KAAgBC,EAAhB,KAGM18C,EAAS,kBAAM08C,GAAYD,IAGjC,EAA4D7tD,mBAAS,IAArE,mBAAO+tD,EAAP,KAAgCC,EAAhC,KAGA,EAAiEhuD,oBAAS,GAA1E,mBAAOiuD,EAAP,KAAkCC,EAAlC,KAEA,EAAyBluD,mBAAS,GAAlC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACvB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAGdjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAadyvB,EAAmB,WACrB,IAAIJ,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GACjB,MAAVE,GAAsC,MAApBA,EAAOj4C,WACzB/T,EAAQ,kCAAoCgsD,EAAOj4C,WAC9CtU,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAGQ,OAArEvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,UAAUC,OAC5Do8B,EAAS,CAAC,sBAAiB,mBAAoB,cAAY,uBAC3DklB,GAAW,KAEXllB,EAAS,CAAC,sBAAiB,mBAAoB,oCAA+B,uBAC3B,GAA/C5rC,EAAOI,KAAK2d,yBAAyBpZ,QA1BzDvD,EAAQ,oDAAoDP,MAAK,SAAAb,GAC7DgxD,EAAyBhxD,EAAOI,KAAKwI,KAAI,SAAApG,GAErC,OADAA,EAAM0T,SAAWstC,GAAS3B,aAAar/C,EAAM0T,UACtC1T,SAGV1B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SAuB7C2wD,GAAW,IAEfp/C,EAAiB1R,EAAOI,MAEE,cAAtBJ,EAAOI,KAAKF,OACZ6iC,EAAS,GACyB,MAA7B/iC,EAAOI,KAAK0S,eACjBiwB,EAAS/iC,EAAOI,KAAK0S,kBAE5BhS,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,UASrE,OALAgE,qBAAU,WACNmpD,MACD,IAIC,oCACKuD,GAAmB,GAARhzB,GACR,kBAAC3pB,GAAA,EAAD,CAAOC,OAAQ08C,EAASz8C,OAAQA,EAAQ2H,UAAQ,EAAC1H,KAAM,MACnD,kBAACC,GAAA,EAAD,KACI,kBAACrF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAI,GAAIjB,GAAI,GAAIxH,UAAW,QAC5B,gFAEJ,kBAACuH,GAAA,EAAD,CAAKkB,GAAI,GAAIjB,GAAI,GAAIxH,UAAW,QAC5B,kMAIJ,kBAACuH,GAAA,EAAD,CAAKkB,GAAI,GAAIjB,GAAI,GAAIxH,UAAW,QAC5B,yUAKP4oD,EAAwBpsD,OAAS,GAC9B,kBAACsK,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAI,GAAIjB,GAAI,GACb,kBAACT,GAAA,EAAD,CACIrH,MAAO,UACPsH,QAAS,kBAAM+hD,GAA6BD,KAE5C,uBAAG9oD,UAAU,sBAJjB,gCAOH8oD,GACG,kBAACvhD,GAAA,EAAD,CAAKkB,GAAI,GAAIjB,GAAI,IACb,kBAAC,KAAD,CAAetH,MAAO,CAAEqQ,UAAW,OAAQ7O,OAAQ,GAC/ClI,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,kBAAgBiX,MAAO,eAChC,CAAEjX,MAAO,WAAYiX,MAAO,aAEhCxY,KAAM2wD,EACNj4C,WAAW,EACXM,aAAc9T,GACduK,QAAO,6BACApI,IADA,IAEHsY,WAAW,EACX2G,cAAc,SAQ1C,kBAAC/R,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,YAAYsH,QAASiF,GAAnC,eAKK,MAAhBnI,GAAiC,MAATq1B,GACrB,yBAAKn5B,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GACG,kBAAC,GAAD,CACIrsB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,IAGlB,GAARqI,GACG,kBAAC4I,GAAD,CACIj1B,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAGF,OAAzB0H,EAAM/xB,UAAUC,OAA0B,GAARquB,GAC/B,kBAACoN,GAAD,CACIz5B,KAAMvF,EACNq1B,MAAOA,EACPhM,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAKF,OAAzB0H,EAAM/xB,UAAUC,OAA0B,GAARquB,GAC/B,kBAAC+L,GAAD,CACIp4B,KAAMvF,EACNq1B,MAAOA,EACPhM,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GACG,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GACG,kBAACmmB,GAAD,CACIxyC,KAAMvF,EACNg4C,wBAAyBzuB,EACzBoE,mBAAoBA,KAMnB,MAAhB3tB,GAAiC,MAATq1B,GAAyB,GAARzD,GACtC,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJvCiK5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,gCACNr1C,KAAM,UACNs1C,UwCrYW,YAA2D,EAAXp0B,QAAY,IACvE,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAEtBtE,EAAWirD,cAEjB,EAAyC9mD,mBAAS,MAAlD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAGA,EAA2B1O,mBAAS,MAApC,mBAAOs+B,EAAP,KAAcwB,EAAd,KAGA,EAA0B9/B,mBAAS,IAAnC,mBAAOgF,EAAP,KAAc4jC,EAAd,KAEA,EAAyB5oC,mBAAS,GAAlC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACvB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAGdjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAsDpB,OAJA15B,qBAAU,YA/Ce,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAGQ,OAArEvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,UAAUC,MAC5Do8B,EAAS,CAAC,sBAAiB,mBAAoB,cAAY,uBAE3DA,EAAS,CAAC,sBAAiB,mBAAoB,oCAA+B,uBAGlFl6B,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBAAiBjN,MAAK,SAAAb,GACxE8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAERjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAKlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,GAAiC,MAATq1B,GACrB,yBAAKn5B,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GACG,kBAAC,GAAD,CACIrsB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,IAIlB,GAARqI,GACG,kBAAC4I,GAAD,CACIj1B,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAGnB,GAARiE,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAC1B,kBAACy7B,GAAD,CACIz5B,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAC1B,kBAACo6B,GAAD,CACIp4B,KAAMvF,EACNq1B,MAAOA,EACPhM,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GACG,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GACG,kBAACmmB,GAAD,CACIxyC,KAAMvF,EACNg4C,wBAAyBzuB,EACzBoE,mBAAoBA,KAMnB,MAAhB3tB,GAAiC,MAATq1B,GAAyB,GAARzD,GACtC,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJxCgP5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,oCACNr1C,KAAM,UACNs1C,UyChZW,YAAwD,IAAZp0B,EAAW,EAAXA,QACvD,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAEtBtE,EAAWirD,cAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAOA,EAA2BxT,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAaA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KA8CMwqB,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAY0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAChK3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WAjEN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBACzE5R,MAAK,SAAAb,GACEA,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,mBAAoB,uBAE/BA,EAAU,CAAC,wBAElB/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkBT,WACrB,GAAmC,MAA/BpE,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAclCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GAAa,kBAAC4I,GAAD,CAAcj1B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBxtB,EAAMrD,OAAS,EA1EpG,SAAC6tB,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAoE8H0vB,IAC7H,GAAR1vB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MA/FhD,CACVhM,aAAc,eACd7lB,SAAU,iBACVF,UAAW,OA4F6DimB,kBAAmB+3B,EAA6B3zB,mBAlEjG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAoEK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJzCmS5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,oCACNr1C,KAAM,UACNs1C,U0CvZW,YAAwD,IAAZp0B,EAAW,EAAXA,QACvD,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAEvBtE,EAAWirD,cAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAAmCxT,IAAM8E,SAAS,MAAlD,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAOA,EAA2B/yB,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAaA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KA6CMyqB,EAAgB,SAAC95C,GACnBtS,EAAQ,oBAAsBsS,GAAc7S,MAAK,SAAAb,GAC7CixB,EAAcjxB,EAAOI,SAEpBU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG5BsqD,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAY0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAChK3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WAxEN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBACzE5R,MAAK,SAAAb,GACEA,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,mBAAoB,eAE/BA,EAAU,CAAC,wBAElB/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkBT,WACrB,GAAmC,MAA/BpE,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxBotD,EAAcxtD,EAAOI,KAAKsT,iBAE7B5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBAAiBjN,MAAK,SAAAb,GACxE0R,EAAiB1R,EAAOI,MACxBotD,EAAcxtD,EAAOI,KAAKsT,iBAEzB5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAsBlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GAAa,kBAAC,GAAD,CAA2BrsB,KAAMvF,EAAckJ,UAAWA,EAAWqgB,kBAAmBxtB,EAAMrD,OAAS,EAhF3G,SAAC6tB,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KA0EqI0vB,IACpI,GAAR1vB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MArGhD,CACVhM,aAAc,eACd7lB,SAAU,iBACVF,UAAW,OAkG6DimB,kBAAmB+3B,EAA6B3zB,mBAxEjG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAyEK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ1CoS5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,wCACNr1C,KAAM,UACNs1C,U2CrZW,YAAoD,EAAXp0B,QAAY,IAChE,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAEvBtE,EAAWirD,cAEjB,EAAyC9mD,mBAAS,MAAlD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAGA,EAA2B1O,mBAAS,MAApC,mBAAOs+B,EAAP,KAAcwB,EAAd,KAGA,EAA0B9/B,mBAAS,IAAnC,mBAAOgF,EAAP,KAAc4jC,EAAd,KAEA,EAAyB5oC,mBAAS,GAAlC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACvB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAGdjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAsDpB,OAJA15B,qBAAU,YA/Ce,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,gCAAiC0M,GACrC/M,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAGQ,OAArEvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,UAAUC,MAC5Do8B,EAAS,CAAC,sBAAiB,mBAAoB,cAAY,uBAE3DA,EAAS,CAAC,sBAAiB,mBAAoB,oCAA+B,uBAElFl6B,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAKlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,GAAiC,MAATq1B,GACrB,yBAAKn5B,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GACG,kBAAC,GAAD,CACIrsB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,IAIlB,GAARqI,GACG,kBAAC4I,GAAD,CACIj1B,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAC1B,kBAACy7B,GAAD,CACIz5B,KAAMvF,EACNqpB,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAC1B,kBAACo6B,GAAD,CACIp4B,KAAMvF,EACNq1B,MAAOA,EACPhM,aAAa,eACbE,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GACG,kBAACwD,GAAD,CACI7vB,KAAMvF,EACNq1B,MAAOA,EACP9L,kBAAmBA,EACnBoE,mBAAoBA,IAInB,GAARiE,GACG,kBAACmmB,GAAD,CACIxyC,KAAMvF,EACNg4C,wBAAyBzuB,EACzBoE,mBAAoBA,KAMnB,MAAhB3tB,GAAiC,MAATq1B,GAAyB,GAARzD,GACtC,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ3C+P5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,iBACNr1C,KAAM,cACNjO,KAAM,GACNujD,U4CtaW,YAAqC,IAAZp0B,EAAW,EAAXA,QAEpC,EAAqCpuB,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aAEhBktD,EAASx7C,EAAQ,KAErB,EAAiD3W,IAAM8E,SAAS,MAAhE,mBAAOstD,EAAP,KAAyBC,EAAzB,KAyCA,OAJApsD,qBAAU,YApCQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAE/BjqD,GAAW,GACX7B,EAAQ,sCAAwCgsD,EAAOj4C,WAAWtU,MAAK,SAAAb,GAAW,IAAD,MAC7E,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAKpE,IAAIyT,EAAYnV,EAAOI,KAGjB+wD,EAAoBh8C,EAAUmH,kBAAoBnH,EAAUmH,iBAAiB,GAAGwW,uBAElF09B,EAAe,CACfhhD,MAAK,OAAE2F,QAAF,IAAEA,GAAF,UAAEA,EAAWsc,wCAAb,iBAAE,EAA6CniB,wBAA/C,iBAAE,EAA+DC,iBAAjE,aAAE,EAA0EC,MACjFihD,YAAat7C,EAAUoH,eACvBm0C,SAAUv7C,EAAUuc,gBACpBiR,UAAWxtB,EAAUE,SACrBX,KAAMS,EAAUmH,iBAAiB,GAAGhH,YACpCg6C,SAAU6B,EACVh8C,UAAWi4C,EAAOj4C,WAEtBo7C,EAAqBC,MAEpB1vD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACyB,MAApBL,GACG,yBAAKnoD,UAAU,mDAAmDE,MAAO,CAAEiB,OAAQ,UAC/E,kBAAC6S,EAAA,EAAD,CAAM9T,MAAO,CAAEqB,MAAO,OAAQS,OAAQ,uBAClC,kBAACiS,EAAA,EAAD,KACI,yBAAK/T,MAAO,CAAE8B,OAAQ,kBAAmB6uB,QAAS,UAC9C,kBAAC/pB,GAAA,EAAD,CAAK5G,MAAO,CAAEyD,UAAW,QACrB,kBAAC4D,GAAA,EAAD,CAAKkB,GAAG,KACJ,kBAACm0C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,SAEtD,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,eAClB,+DAA4D,OAA1BmoD,EAAiB9gD,MAAiB,aAAY,YAEpF,kBAACE,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,kBAAC48C,GAAD,CAAaC,kBAAmB,iBAAkBt7C,MAAM,SAE5D,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,KACJ,kDADJ,IAC4B,6BAAO0/C,EAAiBG,aAEpD,kBAAC/gD,GAAA,EAAD,CAAKkB,GAAG,KACJ,yCADJ,IACsB,6BADtB,IAC8BhM,GAAY0rD,EAAiBI,WAE3D,kBAAChhD,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,QACnB,2BAAImoD,EAAiB3tB,UAAUh+B,OAAS,GAAK,OAAS,MAAtD,MADJ,IACwE2rD,EAAiB3tB,WAEzF,kBAACjzB,GAAA,EAAD,CAAKkB,GAAG,MACJ,2BAAI0/C,EAAiB3tB,UAAUh+B,OAAS,GAAK,kBAAiB,OAA9D,MADJ,IACiF2rD,EAAiB57C,MAEjG47C,EAAiBhB,SAAS3qD,OAAS,GAAK2rD,EAAiBhB,SAAS1mD,KAAI,SAACpG,EAAO+B,GAAR,OACnE,kBAACmL,GAAA,EAAD,CAAKkB,GAAG,KAAK7H,IAAKxE,GACd,yCAAY+rD,EAAiBhB,SAAS3qD,OAAS,EAAnC,WAA2CJ,EAAQ,EAAnD,MAA2D,IAAvE,KADJ,IACsF/B,EAAMmT,WAAa,KAAOnT,EAAMoT,YAAc,KAAOpT,EAAMsT,YAIzJ,kBAAC7G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAACkoD,EAAD,CAAQ7tD,OAAmB,OAAZW,QAAY,IAAZA,OAAA,EAAAA,EAAcytD,aAAc,kCAAoCN,EAAiBn7C,oB5CmVpIqwC,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,uBACNr1C,KAAM,cACNjO,KAAM,GACNujD,U6C7aW,YAA2C,IAAZp0B,EAAW,EAAXA,QAClC/tB,EAAeL,IAAfK,WACR,EAAsCD,mBAAS,IAA/C,mBAAOouD,EAAP,KAAoBC,EAApB,KAEIhB,EAASx7C,EAAQ,KAEflB,EAAeC,mBACfC,EAAcC,2BAAgB,CAChCC,QAAS,kBAAMJ,EAAaK,SAC5BC,YAAY,IA0ChB,OAJA9P,qBAAU,YAnCQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAC/BjqD,GAAW,GACX7B,EAAQ,sCAAwCgsD,EAAOj4C,WAAWtU,MAAK,SAAAb,GACnE,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAKpE,IAAIyT,EAAYnV,EAAOI,KACnB+U,EACA/T,EAAQ,kCAAoC+T,EAAUE,UAAUxU,MAAK,SAAAb,GAAW,IAAD,GACvE,UAAAA,EAAOI,YAAP,eAAauE,QAAS,GAA+D,GAA1D3E,EAAOI,KAAKuS,QAAO,SAAA4H,GAAC,OAAIA,EAAE+2C,UAAU3sD,OAAS,KAAGA,OAC3EjD,EAAY,QAAS,oCAA+B,UAAW,MAGnE2vD,EAAerxD,EAAOI,SAErBU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAE9BvB,EAAY,QAAS,2CAA4C,QAAS,SAI7EZ,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACKS,EAAYzsD,OAAS,GAAKysD,EAAYz+C,QAAO,SAAA4H,GAAC,OAAIA,EAAE+2C,UAAU3sD,OAAS,KAAGA,OAAS,GAChF,oCACI,ieAaA,yBAAKwD,UAAU,2CACX,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,SAASsH,QAAS0E,GAAhC,qBAEJ,yBAAK1L,UAAU,qEAAqEE,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,UAAYlS,IAAKqD,GACrIy9C,EAAYxoD,KAAI,SAACo2B,EAAOj2B,GAAR,OACbi2B,EAAMsyB,UAAU1oD,KAAI,SAAC2oD,EAAUC,GAAX,OAChB,yBAAKzoD,IAAG,UAAKA,EAAL,YAAYyoD,GAAerpD,UAAU,sBAAsBE,MAAO,CAAEopD,KAAM,UAAWxjC,SAAU,QACnG,yBAAK9lB,UAAU,+DAA+D4M,GAAI,oBAAqB1M,MAAO,CAAEqB,MAAO,WAChHgoD,MAAa,yBAAK98C,IAAK88C,KAAWC,IAAI,OAAOtpD,MAAO,CAAEqB,MAAO,OAChE,yBAAKvB,UAAU,mGACX,yBAAKA,UAAU,wBACX,kBAACkoD,EAAD,CACI7tD,MAAK,OAAE+uD,QAAF,IAAEA,OAAF,EAAEA,EAAUK,IACjBv9C,KAAK,MACLw9C,YAAa,EACbC,QAAS,UACTC,QAAS,OACTC,QAAS,OACTC,UAAW,GACXC,WAAY,MAGpB,wBAAI/pD,UAAU,mBAAmBopD,EAAS56C,YAC1C,uBAAGxO,UAAU,cAAa,0BAAMA,UAAU,WAAhB,aAA1B,IAAsE62B,EAAM5f,eAC5E,uBAAGjX,UAAU,cAAa,0BAAMA,UAAU,WAAhB,mBAA1B,IAA4EopD,EAASY,8BAGtFC,MACC,yBAAKx9C,IAAKw9C,KAAoBT,IAAI,cAActpD,MAAO,CAAEqB,MAAO,OAEpE,uBAAGvB,UAAU,QAAO,0BAAMA,UAAU,WAAhB,iBAApB,IAAiE62B,EAAMrpB,WAAvE,KAAqFqpB,EAAM4a,OAA3F,KAAqG5a,EAAMlpB,OAAQkpB,EAAMnpB,YAAN,aAA0BmpB,EAAMnpB,aAAgB,GAAnK,KAAyKmpB,EAAMjpB,OAA/K,MAA0LipB,EAAMxH,gB7C4UpOguB,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,0BACNr1C,KAAM,UACNs1C,U8CjbW,YAA0D,IAAZp0B,EAAW,EAAXA,QACzD,EAAkCpuB,IAA1BlF,EAAR,EAAQA,QAASyF,EAAjB,EAAiBA,aAEjB,EAAyCjF,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEI2gD,EAAmB,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,UAG1E,EAAyBn0D,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KAEA,EAA2B7kC,IAAM8E,SAASU,QAA1C,mBAAO49B,EAAP,KAAcwB,EAAd,KAEMtN,EAAoB,SAAChD,GACX,GAARqL,EACA7M,EAAQvd,KAAK,WAGb/B,EAAiB8gB,GACL,GAARqL,GAAmI,GAAtHw0B,EAAiB1/C,QAAO,SAAAC,GAAC,OAAIA,GAAK4f,EAAcnW,oBAAoB,GAAGM,6BAA6BiB,UAAQjZ,OACzHo+B,EAASlF,EAAO,GAEhBkF,EAASlF,EAAO,KAGtBjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACL,GAARqL,GAAmI,GAAtHw0B,EAAiB1/C,QAAO,SAAAC,GAAC,OAAIA,GAAK4f,EAAcnW,oBAAoB,GAAGM,6BAA6BiB,UAAQjZ,OACzHo+B,EAASlF,EAAO,GAEhBkF,EAASlF,EAAO,IA4BxB,OAzBA15B,qBAAU,WACN,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GACjB,MAAVE,GAAsC,MAApBA,EAAOj4C,WACzB/T,EAAQ,kCAAoCgsD,EAAOj4C,WAC9CtU,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACE,cAAtBJ,EAAOI,KAAKF,OACZ6iC,EAAS,GACyB,MAA7B/iC,EAAOI,KAAK0S,gBACgB,GAA7B9S,EAAOI,KAAK0S,eAA0I,GAApHu/C,EAAiB1/C,QAAO,SAAAC,GAAC,OAAIA,GAAK5S,EAAOI,KAAKic,oBAAoB,GAAGM,6BAA6BiB,UAAQjZ,OAC5Io+B,EAAS,GAETA,EAAS/iC,EAAOI,KAAK0S,mBAGhChS,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,WAElE,IAGC,oCACqB,MAAhB8L,GAAwB4xB,EAAO,GAC5B,yBAAK11B,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAvDpC,CAAC,sBAAiB,uCAA+B,8BAA4B,mBAAoB,yBAyDvE,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GAAa,kBAAC,GAAD,CAAersB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,IACzE,GAARqI,GAAa,kBAAC+L,GAAD,CAAwBp4B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IACvI,GAARiE,GAAa,kBAACgO,GAAD,CAAmBr6B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IAClI,GAARiE,GAAa,kBAAC4I,GAAD,CAAcj1B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IAC7H,GAARiE,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAC7G,GAARiE,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,KAIrG,MAAhB3tB,GAAgC,GAAR4xB,GACrB,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ9C2V5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,mCACNr1C,KAAM,UACNs1C,U+CxbW,YAA0D,IAAZp0B,EAAW,EAAXA,QACzD,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAC5B,EAAyCjF,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACM7S,EAAWirD,cACbuI,EAAmB,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,UAG1E,EAAyBn0D,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KAEA,EAA2B7kC,IAAM8E,SAASU,QAA1C,mBAAO49B,EAAP,KAAcwB,EAAd,KAEMtN,EAAoB,SAAChD,GACX,GAARqL,EACA7M,EAAQvd,KAAK,WAGb/B,EAAiB8gB,GACL,GAARqL,GAAmI,GAAtHw0B,EAAiB1/C,QAAO,SAAAC,GAAC,OAAIA,GAAK4f,EAAcnW,oBAAoB,GAAGM,6BAA6BiB,UAAQjZ,OACzHo+B,EAASlF,EAAO,GAEhBkF,EAASlF,EAAO,KAGtBjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACL,GAARqL,GAAmI,GAAtHw0B,EAAiB1/C,QAAO,SAAAC,GAAC,OAAIA,GAAK4f,EAAcnW,oBAAoB,GAAGM,6BAA6BiB,UAAQjZ,OACzHo+B,EAASlF,EAAO,GAEhBkF,EAASlF,EAAO,IAgDxB,OAJA15B,qBAAU,YAzCe,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,iBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAKlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,GAAwB4xB,EAAO,GAC5B,yBAAK11B,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MA3EpC,CAAC,sBAAiB,uCAA+B,8BAA4B,mBAAoB,yBA6EvE,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GAAa,kBAAC,GAAD,CAAersB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,IACzE,GAARqI,GAAa,kBAAC+L,GAAD,CAAwBp4B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IACvI,GAARiE,GAAa,kBAACgO,GAAD,CAAmBr6B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IAClI,GAARiE,GAAa,kBAAC4I,GAAD,CAAcj1B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IAC7H,GAARiE,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAC7G,GAARiE,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,KAIrG,MAAhB3tB,GAAgC,GAAR4xB,GACrB,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ/C+U5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,uBACNr1C,KAAM,UACNs1C,UgDjcW,YAAuD,IAAZp0B,EAAW,EAAXA,QACtD,EAAkCpuB,IAA1BlF,EAAR,EAAQA,QAASyF,EAAjB,EAAiBA,aAEjB,EAAyCjF,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAA2BxT,IAAM8E,SAAS,MAA1C,mBAAOs+B,EAAP,KAAcwB,EAAd,KAEA,EAAyB5kC,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACV,GAARqL,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAA4B,GAARquB,GAAsC,OAAzByD,EAAM/xB,UAAUC,MAC/EwhB,EAAQvd,KAAK,WAGb/B,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAGlBjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IAGpB15B,qBAAU,WACN,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GACjB,MAAVE,GAAsC,MAApBA,EAAOj4C,WACzB/T,EAAQ,kCAAoCgsD,EAAOj4C,WAAWtU,MAAK,SAAAb,GAC/D8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MAEE,cAAtBJ,EAAOI,KAAKF,OACZ6iC,EAAS,GACyB,MAA7B/iC,EAAOI,KAAK0S,eACjBiwB,EAAS/iC,EAAOI,KAAK0S,kBAExBhS,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,WAElE,IAEH,IAAM6H,EAAQ,GAQd,OAPa,MAATs5B,IAC6B,OAAzBA,EAAM/xB,UAAUC,MAChBxH,EAAMyL,KAAK,sBAAiB,6BAAwB,sBAEpDzL,EAAMyL,KAAK,sBAAiB,uBAIhC,oCACqB,MAAhBxH,GAAiC,MAATq1B,IAAmBzD,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,OAAoBquB,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,QACpH,yBAAKrH,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAAnF,6CAAuIjM,QAAvI,IAAuIA,OAAvI,EAAuIA,EAAcic,cAArJ,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GAAa,kBAAC,GAAD,CAAersB,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,IACtE,OAAzB8L,EAAM/xB,UAAUC,MAAyB,GAARquB,GAAa,kBAAC2R,GAAD,CAAQh+B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IAAgC,GACvK,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAE7G,GAARiE,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAE/F,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,IAErG,GAARiE,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,KAIxG,MAAhB3tB,GAAiC,MAATq1B,IAA0B,GAARzD,GAAuC,OAAzByD,EAAM/xB,UAAUC,OAA0B,GAARquB,IACvF,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJhD6W5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,oCACNr1C,KAAM,UACNs1C,UiD3cW,YAAwD,IAAZp0B,EAAW,EAAXA,QACvD,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAEvBtE,EAAWirD,cAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAOA,EAA2BxT,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAYA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KA6CMwqB,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAC9J3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WA/DN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBAAyB5R,MAAK,SAAAb,GACpGA,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,6BAAwB,uBAEnCA,EAAU,CAAC,kCAEd/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkBT,WACrB,GAAmC,MAA/BpE,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GAAa/M,MAAK,SAAAb,GACzD0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAERjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAclCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAAnF,6CAAuIjM,QAAvI,IAAuIA,OAAvI,EAAuIA,EAAcic,cAArJ,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GAAa,kBAAC2R,GAAD,CAAQh+B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBxtB,EAAMrD,OAAS,EAzE9F,SAAC6tB,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAmEwH0vB,IACvH,GAAR1vB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MA7FhD,CACVhM,aAAc,eACd7lB,SAAU,gBACVF,UAAW,OA0F6DimB,kBAAmB+3B,EAA6B3zB,mBAjEjG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAmEK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJjDgW5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,gCACNr1C,KAAM,UACNs1C,UkD/cW,YAA4D,IAAZp0B,EAAW,EAAXA,QAC3D,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aAEtBtE,EAAWirD,cAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAA2BxT,IAAM8E,SAAS,MAA1C,mBAAOs+B,EAAP,KAAcwB,EAAd,KAEA,EAAyB5kC,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACV,GAARqL,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAA4B,GAARquB,GAAsC,OAAzByD,EAAM/xB,UAAUC,MAC/EwhB,EAAQvd,KAAK,WAGb/B,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAGlBjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IA0CpB15B,qBAAU,YAvCe,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GAAa/M,MAAK,SAAAb,GACzD8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAERjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBAAiBjN,MAAK,SAAAb,GACxE8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAERjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAKlCqqD,KACD,IAEH,IAAMtlD,EAAQ,GASd,OAPa,MAATs5B,IAC6B,OAAzBA,EAAM/xB,UAAUC,MAChBxH,EAAMyL,KAAK,sBAAiB,6BAAwB,sBAEpDzL,EAAMyL,KAAK,sBAAiB,uBAIhC,oCACqB,MAAhBxH,GAAiC,MAATq1B,IAAmBzD,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,OAAoBquB,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,QACpH,yBAAKrH,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GAAa,kBAAC,GAAD,CAAersB,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,IACtE,OAAzB8L,EAAM/xB,UAAUC,MAAyB,GAARquB,GAAa,kBAAC2R,GAAD,CAAQh+B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IAAgC,GACvK,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAE7G,GAARiE,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAE/F,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,IAErG,GAARiE,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,KAKxG,MAAhB3tB,GAAiC,MAATq1B,IAA0B,GAARzD,GAAuC,OAAzByD,EAAM/xB,UAAUC,OAA0B,GAARquB,IACvF,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJlDiW5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,oCACNr1C,KAAM,UACNs1C,UmDndW,YAAwD,IAAZp0B,EAAW,EAAXA,QACvD,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAEvBtE,EAAWirD,cACjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAAmCxT,IAAM8E,SAAS,MAAlD,mBAAOmS,EAAP,KAAkB8b,EAAlB,KAOA,EAA2B/yB,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAaA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KA8CMyqB,EAAgB,SAAC95C,GACnBtS,EAAQ,oBAAsBsS,GACzB7S,MAAK,SAAAb,GAAM,OAAIixB,EAAcjxB,EAAOI,SACpCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG5BsqD,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAY0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAChK3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAQlC,OALAkB,qBAAU,WAxEN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBACzE5R,MAAK,SAAAb,GACEA,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,6BAAwB,eAEnCA,EAAU,CAAC,kCAElB/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkBT,WACrB,GAAmC,MAA/BpE,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxBotD,EAAcxtD,EAAOI,KAAKsT,iBAE7B5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACxBotD,EAAcxtD,EAAOI,KAAKsT,iBAE7B5S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAqBlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAAnF,6CAAuIjM,QAAvI,IAAuIA,OAAvI,EAAuIA,EAAcic,cAArJ,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GAAa,kBAAC+mB,GAAD,CAAqBpzC,KAAMvF,EAAckJ,UAAWA,EAAWqgB,kBAAmBxtB,EAAMrD,OAAS,EAhFrG,SAAC6tB,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KA0E+H0vB,IAC9H,GAAR1vB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MArGhD,CACVhM,aAAc,eACd7lB,SAAU,gBACVF,UAAW,OAkG6DimB,kBAAmB+3B,EAA6B3zB,mBAxEjG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OAyEK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJnDiW5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,gCACNr1C,KAAM,UACNs1C,UoD7dW,YAAoD,IAAZp0B,EAAW,EAAXA,QACnD,EAA4CpuB,IAArClF,EAAP,EAAOA,QAASuF,EAAhB,EAAgBA,WAAYE,EAA5B,EAA4BA,aACtBtE,EAAWirD,cAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAA2BxT,IAAM8E,SAAS,MAA1C,mBAAOs+B,EAAP,KAAcwB,EAAd,KAEA,EAAyB5kC,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACV,GAARqL,GAAsC,OAAzByD,EAAM/xB,UAAUC,OAA4B,GAARquB,GAAsC,OAAzByD,EAAM/xB,UAAUC,MAC/EwhB,EAAQvd,KAAK,WAGb/B,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAGlBjE,EAAqB,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,IA2CpB15B,qBAAU,YAxCe,WACrB,GAAmC,MAA/BtF,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,gEAAiE0M,GAAa/M,MAAK,SAAAb,GACxF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAERjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF8iC,EAAU,CACNxN,aAAc,eACd7lB,SAAU,gBACVF,UAAWvP,EAAOI,KAAKqN,qBAAqB6B,iBAAiBC,YAEjEmC,EAAiB1R,EAAOI,MACxB2iC,EAAS,MAEZjiC,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAKlCqqD,KACD,IAEH,IAAMtlD,EAAQ,GASd,OAPa,MAATs5B,IAC6B,OAAzBA,EAAM/xB,UAAUC,MAChBxH,EAAMyL,KAAK,sBAAiB,6BAAwB,sBAEpDzL,EAAMyL,KAAK,sBAAiB,uBAIhC,oCACqB,MAAhBxH,GAAiC,MAATq1B,IAAmBzD,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,OAAoBquB,EAAO,GAA8B,OAAzByD,EAAM/xB,UAAUC,QACpH,yBAAKrH,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAU,eAAd,6CAAgEhF,QAAhE,IAAgEA,OAAhE,EAAgEA,EAAcic,cAA9E,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GAAa,kBAAC,GAAD,CAAersB,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,IACtE,OAAzB8L,EAAM/xB,UAAUC,MAAyB,GAARquB,GAAa,kBAAC2R,GAAD,CAAQh+B,KAAMvF,EAAcqpB,aAAa,eAAeE,kBAAmBA,EAAmBoE,mBAAoBA,IAAgC,GACvK,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAE7G,GAARiE,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmBA,EAAmBoE,mBAAoBA,IAE/F,OAAzB0H,EAAM/xB,UAAUC,MACL,GAARquB,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,IAErG,GAARiE,GAAa,kBAACmmB,GAAD,CAAYxyC,KAAMvF,EAAcg4C,wBAAyBzuB,EAAmBoE,mBAAoBA,KAKxG,MAAhB3tB,GAAiC,MAATq1B,IAA0B,GAARzD,GAAuC,OAAzByD,EAAM/xB,UAAUC,OAA0B,GAARquB,IACvF,kBAAC/oB,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJpD+W5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,wCACNr1C,KAAM,UACNs1C,UqDteW,YAA4D,IAAZp0B,EAAW,EAAXA,QAC3D,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aACvBtE,EAAWirD,cACjB,EAAyC9mD,mBAAS,MAAlD,mBAAOiJ,EAAP,KAAqByF,EAArB,KACA,EAA6B1O,mBAAS,IAAtC,mBAAOwhD,EAAP,KAAeC,EAAf,KACA,EAAyDzhD,mBAAS,IAAlE,mBAAOsvD,EAAP,KAA6BC,EAA7B,KAOA,EAAmDvvD,mBAAS,CACxDoc,cAAe,GACf1J,IAAK,GACLC,WAAY,GACZC,YAAa,GACbC,YAAa,GACbC,OAAQ,GACRC,OAAQ,GACRyhB,GAAI,GACJ1b,eAAgB,GAChB02C,iBAAkB,GAClBC,eAAgB,KAXpB,mBAAOC,EAAP,KAA0BC,EAA1B,KAcA,EAA2Bz0D,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAeA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KAMA,EAA0B//B,oBAAS,GAAnC,mBAAOkP,EAAP,KAAcC,EAAd,KACMiC,EAAS,SAAC6E,GACZ05C,EAAsB,CAClBvzC,cAAenG,EAAQmG,cACvB1J,IAAKuD,EAAQvD,IACbI,OAAQmD,EAAQnD,OAChBC,OAAQkD,EAAQlD,OAChBF,YAAaoD,EAAQpD,YACrBiG,eAAgB7C,EAAQ6C,eACxBnG,WAAYsD,EAAQtD,WACpBC,YAAaqD,EAAQrD,YACrB4hB,GAAIve,EAAQue,GACZg7B,iBAAkBv5C,EAAQoG,aAG9BlN,GAAUD,IA+Bd/N,qBAAU,WAjEN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBACzE5R,MAAK,SAAAb,GACEA,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,6BAAwB,uBAGnCA,EAAU,CAAC,kCAGlB/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MA2BT,WAKrB,GAJgC,MAA5BpE,EAAS0lB,MAAMpP,WAAqBtW,EAAS0lB,MAAMpP,UAAU0J,iBAAiB,GAAG0U,uBAAuB5uB,OAAS,GACjH8/C,EAAW5lD,EAAS0lB,MAAMpP,UAAU0J,iBAAiB,GAAG0U,wBAGzB,MAA/B10B,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,gCAAiC0M,GACrC/M,MAAK,SAAAb,GAAM,OAAI0R,EAAiB1R,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAE9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GAAM,OAAI0R,EAAiB1R,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAMlCqqD,KACD,IAGH,MAA+BtqD,mBAAS,CACpC,CACInB,KAAM,OACNkX,QAAS,kBACTsJ,SAAUxjB,EAAS0lB,MAAMquC,KACzBzjD,QAAS,SAAC6J,EAAOC,GACb7E,EAAO6E,OANnB,mBAAO/S,EAAP,KAWM2sD,GAXN,KAWgC,SAAC75C,GAC7Bu5C,EAAyBv5C,EAAMnB,OAAOrV,SA2CpC+qD,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAY0B,EAAY,QAAS,2FAAmF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAC/J3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAGlC,OACI,oCACqB,MAAhBgJ,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAAnF,6CAAuIjM,QAAvI,IAAuIA,OAAvI,EAAuIA,EAAcic,cAArJ,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAKrI,GAAR0vB,GACG,oCACI,kBAAC3pB,GAAA,EAAD,CAAOC,OAAQjC,EAAOkC,OAAQA,EAAQ/L,MAAO,CAAEyD,UAAW,UACtD,kBAACyW,GAAA,EAAD,CAAanO,OAAQA,GAArB,cAGA,kBAACE,GAAA,EAAD,KACI,kBAACmO,GAAA,EAAD,KACI,kBAACxT,GAAA,EAAD,CAAK5G,MAAO,CAAE0D,aAAc,SACxB,kBAAC2D,GAAA,EAAD,KACI,2BAAG,qDACH,kBAACe,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,uBAAuBK,SAAU0iD,EAAyBrwD,MAAOkwD,EAAkBF,iBAAkBnwC,UAAQ,MAG/I,kBAACpT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,KACI,2BAAG,mDACH,kBAACe,GAAA,EAAD,CAAOpB,KAAK,SAASS,KAAK,uBAAuBK,SAAU0iD,EAAyBrwD,MAAO8vD,QAK3G,kBAAC39C,GAAA,EAAD,KACI,kBAACzF,GAAA,EAAD,CAAQrH,MAAM,UAAUsH,QAvFzB,WAE3B,GAA6B,KAAzBmjD,EAKJ,GAAIA,GAAwBI,EAAkBF,iBAC1C9wD,EAAY,QAAS,2CAA4C,QAAS,UAD9E,CAKA,IAAMkM,EAAc,CAChBE,gBAAiB7B,EAAa6B,gBAC9BsR,cAAeszC,EAAkBtzC,cACjC1J,IAAKg9C,EAAkBh9C,IACvBC,WAAY+8C,EAAkB/8C,WAC9BC,YAAa88C,EAAkB98C,YAC/BC,YAAa68C,EAAkB78C,YAC/BC,OAAQ48C,EAAkB58C,OAC1BC,OAAQ28C,EAAkB38C,OAC1ByhB,GAAIk7B,EAAkBl7B,GACtB1b,eAAgB42C,EAAkB52C,eAClC02C,iBAAkBE,EAAkBF,iBACpCC,eAAgBH,GAGpBrvD,GAAW,GACX/B,EAAS,+DAAgE0M,GACpE/M,MAAK,SAAAb,GACkB,GAAhBgI,EAAMrD,OACN4oD,IAEAxqB,EAASlF,EAAO,MAGvB/8B,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAlC1BvB,EAAY,QAAS,8BAA+B,QAAS,QAoFrC,yBAMR,kBAACya,EAAA,EAAD,CAAMhU,UAAU,uBACZ,kBAAC8G,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAC,KAAD,CAAevI,MAAO,CAAEqQ,UAAW,QAC/B/W,MAAM,GACNgX,QAAS,CACL,CAAEhX,MAAO,sBAAiBiX,MAAO,iBACjC,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,MAAOiX,MAAO,OACvB,CAAEjX,MAAO,aAAciX,MAAO,cAC9B,CAAEjX,MAAO,YAAUiX,MAAO,eAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAUiX,MAAO,UAC1B,CAAEjX,MAAO,SAAU2X,OAAQ,SAACL,GAAD,OAA+B,MAAlBA,EAAQ/Y,OAAiB+Y,EAAQ/Y,OAAS,WAEtFE,KAAMokD,EACN1rC,WAAW,EACX5S,QAASA,EACTkT,aAAc9T,GACduK,QAASpI,SAUhCO,EAAMrD,OAAS,GAAa,GAARk5B,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAtOpE,CACVhM,aAAc,eACd7lB,SAAU,gBACVF,UAAW,OAmOiFimB,kBAAmB+3B,EAA6B3zB,mBAlMrH,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,SrD2bpB2nB,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,kBACNr1C,KAAM,iBACNjO,KAAM,GACNujD,UsD9eW,YAAsC,IAAZp0B,EAAW,EAAXA,QACrC,EAAqCpuB,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aAEd2vD,EAAI,IAAIlzD,KACVywD,EAASx7C,EAAQ,KAErB,EAAiD7R,mBAAS,MAA1D,mBAAOstD,EAAP,KAAyBC,EAAzB,KA2CA,OAJApsD,qBAAU,YAtCQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAE/BjqD,GAAW,GACX7B,EAAQ,sCAAwCgsD,EAAOj4C,WAAWtU,MAAK,SAAAb,GACnE,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAKpE,IAAIyT,EAAYnV,EAAOI,KACnBowD,EAAe,CACfC,YAAat7C,EAAUoH,eACvBmwB,aAAcv3B,EAAUu3B,aACxBh4B,KAAmD,MAA7CS,EAAUmH,iBAAiB,GAAGhH,aAAoE,IAA7CH,EAAUmH,iBAAiB,GAAGhH,YAAoBH,EAAUmH,iBAAiB,GAAGhH,YAAcH,EAAUmH,iBAAiB,GAAGpH,cACvL69C,QAAS59C,EAAUE,SACnBi6C,SAAUn6C,EAAUmH,iBAAiB,GAAG3G,WACxCikC,OAAQzkC,EAAUmH,iBAAiB,GAAG1G,YACtCC,YAAaV,EAAUmH,iBAAiB,GAAGzG,YAC3CC,OAAQX,EAAUmH,iBAAiB,GAAGxG,OACtCJ,IAAKP,EAAUmH,iBAAiB,GAAG5G,IACnCQ,SAAUf,EAAUmH,iBAAiB,GAAGpG,SACxCsG,oBAA0E,MAArDrH,EAAUmH,iBAAiB,GAAGE,oBAA8BrH,EAAUmH,iBAAiB,GAAGE,oBAAoBvM,UAAY,GAC/IkF,UAAWi4C,EAAOj4C,WAEtBo7C,EAAqBC,MAGpB1vD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACyB,MAApBL,GACG,yBAAKnoD,UAAU,mDAAmDE,MAAO,CAAEiB,OAAQ,UAC/E,kBAAC6S,EAAA,EAAD,CAAM9T,MAAO,CAAEqB,MAAO,OAAQJ,OAAQ,WAClC,kBAAC8S,EAAA,EAAD,KACI,yBAAK/T,MAAO,CAAE8B,OAAQ,kBAAmB6uB,QAAS,UAC9C,kBAAC/pB,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,kBAAmBzS,WAAY,WACvD,kBAACmG,GAAA,EAAD,CAAKkB,GAAG,IAAIvI,MAAO,CAAEkC,eAAgB,WACjC,kBAACw6C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,MAAMrB,MAAO,CAAEyD,UAAW,OAAQC,aAAc,WAEtG,kBAAC2D,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,eAClB,wBAAIE,MAAO,CAAEyD,UAAW,OAAQC,aAAc,QAAS,sFACvD,wBAAI1D,MAAO,CAAE0D,aAAc,SAAU,qEAEzC,kBAAC2D,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,aAAaE,MAAO,CAAEkC,eAAgB,WACxD,kBAACw6C,GAAD,CAAaC,kBAAmB,iBAAkBt7C,MAAM,aAGhE,kBAACuF,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,oBACnB,wBAAIE,MAAO,CAAE0D,aAAc,SAAU,4DACrC,4BAAI,kFAGZ,kBAACkD,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAR,yBAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiBG,cAE9B,kBAAC/gD,GAAA,EAAD,CAAKkB,GAAG,KAAR,4BAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiB57C,OAE9B,kBAAChF,GAAA,EAAD,CAAKkB,GAAG,KAAR,eAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiByC,UAE9B,kBAACrjD,GAAA,EAAD,CAAKkB,GAAG,KAAR,gBAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiBhB,WAE9B,kBAAC5/C,GAAA,EAAD,CAAKkB,GAAG,KAAR,cAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiB1W,SAE9B,kBAAClqC,GAAA,EAAD,CAAKkB,GAAG,KAAR,gBAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiBz6C,cAE9B,kBAACnG,GAAA,EAAD,CAAKkB,GAAG,KAAR,WAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiBx6C,SAE9B,kBAACpG,GAAA,EAAD,CAAKkB,GAAG,KAAR,QAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiB56C,MAE9B,kBAAChG,GAAA,EAAD,CAAKkB,GAAG,KAAR,aAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiBp6C,WAE9B,kBAACxG,GAAA,EAAD,CAAKkB,GAAG,KAAR,4BAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAS0/C,EAAiB9zC,sBAE9B,kBAAC9M,GAAA,EAAD,CAAKkB,GAAG,KAAR,qBAGA,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KACJ,gCAAShM,GAAY0rD,EAAiB5jB,iBAG9C,kBAACz9B,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,gBACnB,0VAIJ,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,oBACnB,iDAAoBvD,GAAYkuD,EAAEE,kBAEtC,kBAACtjD,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,yBACnB,kBAACkoD,EAAD,CAAQ7tD,OAAmB,OAAZW,QAAY,IAAZA,OAAA,EAAAA,EAAcytD,aAAc,mCAAqCN,EAAiBn7C,cAGzG,kBAAClG,GAAA,EAAD,CAAK5G,MAAO,CAAE8B,OAAQ,kBAAmBqY,OAAQ,QAAUra,UAAU,QACjE,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,gBACnB,uBAAGE,MAAO,CAAE0D,aAAc,QAAS,8DACnC,uBAAG1D,MAAO,CAAE0D,aAAc,QAA1B,gEACA,uBAAG1D,MAAO,CAAE0D,aAAc,QAA1B,oGAA2H,6BAA3H,iGAEA,uBAAG1D,MAAO,CAAE0D,aAAc,QAA1B,2HACA,uBAAG1D,MAAO,CAAE0D,aAAc,QAA1B,8HACA,uBAAG1D,MAAO,CAAE0D,aAAc,QAA1B,0EACA,uBAAG1D,MAAO,CAAE0D,aAAc,QAA1B,gDAGR,kBAACkD,GAAA,EAAD,CAAK5G,MAAO,CAAE8B,OAAQ,kBAAmBqY,OAAQ,SAC7C,kBAAC9S,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,gKtDsUpCq9C,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,4BACNr1C,KAAM,2BACNjO,KAAM,GACNujD,UuDzfW,YAAgD,IAAZp0B,EAAW,EAAXA,QAC/C,EAAqCpuB,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aAEhBktD,EAASx7C,EAAQ,KAErB,EAAiD3W,IAAM8E,SAAS,MAAhE,mBAAOstD,EAAP,KAAyBC,EAAzB,KA2BA,OAJApsD,qBAAU,YAtBQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAE/BjqD,GAAW,GACX7B,EAAQ,sDAAwDgsD,EAAOj4C,WAClEtU,MAAK,SAAAb,GACF,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAIpE6uD,EAAqBvwD,EAAOI,SAE/BU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACKL,GACG,yBAAKjoD,MAAO,CAAEqB,MAAO,OAAQJ,OAAQ,SAAUwC,UAAW,QACtD,yBAAK3D,UAAU,OACX,yBAAKA,UAAU,SACX,kBAAC48C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,MAAMrB,MAAO,CAACyD,UAAU,WAE9E,yBAAK3D,UAAU,qBACV8qD,aAAO3C,EAAiB4C,YAE7B,yBAAK/qD,UAAU,WAEnB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,sBACX,4BAAI,8FAGZ,yBAAKA,UAAU,OACX,yBAAKA,UAAU,UACX,2BAAG,yCAAemoD,EAAiBn7C,YACnC,2BAAG,wCAAcvQ,GAAY0rD,EAAiB6C,sBAGtD,yBAAKhrD,UAAU,OACX,yBAAKA,UAAU,uBACV8qD,aAAO3C,EAAiB8C,YACzB,2BAAG,oCAAU9C,EAAiBl4C,OAC9B,2BAAG,+CAAkBk4C,EAAiBh7C,cACtC,2BAAG,2CAAcg7C,EAAiB+C,mBAClC,+RACA,qFAAwDzuD,GAAY0rD,EAAiB6C,kBAArF,sMAGR,yBAAKhrD,UAAU,YACX,yBAAKA,UAAU,sBACX,kBAACkoD,EAAD,CAAQ7tD,OAAmB,OAAZW,QAAY,IAAZA,OAAA,EAAAA,EAAcytD,aAAc,6CAA+CN,EAAiBn7C,cAGnH,yBAAKhN,UAAU,YACX,yBAAKA,UAAU,sBACX,8DAEJ,yBAAKA,UAAU,sBACX,2BAAOgC,OAAO,KACV,+BACI,4BACI,qCACA,oDACA,wDACA,qDACA,kDACA,yCACA,mDACA,qDACA,mCACA,gDAGR,+BACKmmD,EAAiBz2B,SAASjxB,KAAI,SAAC4K,EAAGzK,GAC/B,OAAO,wBAAIA,IAAKA,GACZ,4BAAKyK,EAAEiD,OACP,4BAAKjD,EAAE8/C,iBACP,4BAAK9/C,EAAE+/C,aACP,4BAAK//C,EAAEqD,eACP,4BAAKrD,EAAEyD,iBACP,4BAAKzD,EAAEwD,MACP,4BAAKxD,EAAEggD,iBACP,4BAAKhgD,EAAEsD,0BACP,4BAAKtD,EAAEuD,KACP,4BAAK1S,GAA8BmP,EAAE0D,iBAO7D,6BAAM,6BAAM,6BAAM,6BAClB,yBAAK/O,UAAU,YACX,yBAAKA,UAAU,sBACX,kBAAC48C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,avDyY1E87C,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,qCACNr1C,KAAM,oCACNjO,KAAM,GACNujD,UwDhgBW,YAAyD,IAAZp0B,EAAW,EAAXA,QACxD,EAAqCpuB,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aAEhBktD,EAASx7C,EAAQ,KAErB,EAAiD3W,IAAM8E,SAAS,MAAhE,mBAAOstD,EAAP,KAAyBC,EAAzB,KA0BA,OAJApsD,qBAAU,YArBQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAC/BjqD,GAAW,GACX7B,EAAQ,+DAAiEgsD,EAAOj4C,WAC3EtU,MAAK,SAAAb,GACF,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAIpE6uD,EAAqBvwD,EAAOI,SAE/BU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACKL,GACG,yBAAKjoD,MAAO,CAAEqB,MAAO,OAAQJ,OAAQ,SAAUwC,UAAW,QACtD,yBAAK3D,UAAU,OACX,yBAAKA,UAAU,SACX,kBAAC48C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,MAAMrB,MAAO,CAACyD,UAAU,WAE9E,yBAAK3D,UAAU,qBACV8qD,aAAO3C,EAAiB4C,YAE7B,yBAAK/qD,UAAU,WAEnB,yBAAKA,UAAU,OACX,yBAAKA,UAAU,sBACX,4BAAI,yGAGZ,yBAAKA,UAAU,OACX,yBAAKA,UAAU,UACX,2BAAG,0DAAgCmoD,EAAiBliD,0BACpD,2BAAG,wCAAcxJ,GAAY0rD,EAAiB6C,sBAGtD,yBAAKhrD,UAAU,OACX,yBAAKA,UAAU,uBACV8qD,aAAO3C,EAAiB8C,YACzB,2BAAG,oCAAU9C,EAAiBl4C,OAC9B,2BAAG,+CAAkBk4C,EAAiBh7C,cACtC,2BAAG,2CAAcg7C,EAAiB+C,mBAClC,+RACA,qFAAwDzuD,GAAY0rD,EAAiB6C,kBAArF,sMAGR,yBAAKhrD,UAAU,YACX,yBAAKA,UAAU,sBACX,kBAACkoD,EAAD,CAAQ7tD,OAAmB,OAAZW,QAAY,IAAZA,OAAA,EAAAA,EAAcytD,aAAc,6CAA+CN,EAAiBn7C,cAGlHm7C,EAAiBvK,WAAWn9C,KAAI,SAAC4K,EAAGzK,GAAJ,OAC7B,yBAAKZ,UAAU,WAAWY,IAAKA,GAC3B,yBAAKZ,UAAU,sBACX,4BAAKqL,EAAEqX,qBACP,8DAEJ,yBAAK1iB,UAAU,sBACX,2BAAOgC,OAAO,KACV,+BACI,4BACI,qCACA,oDACA,wDACA,qDACA,kDACA,yCACA,mDACA,qDACA,mCACA,wCAGR,+BACKqJ,EAAEqmB,SAASjxB,KAAI,SAAC4K,EAAGmmC,GAChB,OAAO,wBAAI5wC,IAAK4wC,GACZ,4BAAKnmC,EAAEiD,OACP,4BAAKjD,EAAE8/C,iBACP,4BAAK9/C,EAAE+/C,aACP,4BAAK//C,EAAEqD,eACP,4BAAKrD,EAAEyD,iBACP,4BAAKzD,EAAEwD,MACP,4BAAKxD,EAAEggD,iBACP,4BAAKhgD,EAAEsD,0BACP,4BAAKtD,EAAEuD,KACP,4BAAK1S,GAA8BmP,EAAE0D,oBAQjE,6BAAM,6BAAM,6BAAM,6BAClB,yBAAK/O,UAAU,YACX,yBAAKA,UAAU,sBACX,kBAAC48C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,axD8Y1E87C,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,sBACNr1C,KAAM,qBACNjO,KAAM,GACNujD,UyDrgBW,YAA0C,IAAZp0B,EAAW,EAAXA,QACzC,EAAqCpuB,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aAGhBktD,EAASx7C,EAAQ,KAErB,EAAiD7R,mBAAS,MAA1D,mBAAOstD,EAAP,KAAyBC,EAAzB,KAqDA,OAJApsD,qBAAU,YAhDQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAC/BjqD,GAAW,GACX7B,EAAQ,sCAAwCgsD,EAAOj4C,WAAWtU,MAAK,SAAAb,GACnE,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAKpE,IAAIyT,EAAYnV,EAAOI,KAEnB4+B,EAAQ7pB,EAAU0J,iBAAiB,GAAG0U,uBAAuB5gB,QAAO,SAAAC,GAAC,OAAIA,EAAE4gB,0BAA4B45B,EAAOpuB,SAAO,GAErHwxB,EAAe,CACf0C,UAAW/9C,EAAUsc,iCAAiCniB,iBAAiB89B,qBACvEqjB,YAAat7C,EAAUoH,eACvBm0C,SAAUv7C,EAAUuc,gBACpBiR,UAAWxtB,EAAUE,SACrBX,KAAMsqB,EAAM5f,cACZkwC,SAAUtwB,EAAMrpB,WAAa,KAAOqpB,EAAMppB,YAAc,KAAOopB,EAAMlpB,OACrEX,UAAWi4C,EAAOj4C,UAClBs+C,QAASz0B,EAAMxL,0BAGoE,wBAAnFre,EAAUsc,iCAAiCniB,iBAAiBC,UAAUU,YACtEugD,EAAalB,SAAWn6C,EAAU0J,iBAAiB,GAAGlJ,WAAa,KAC/DR,EAAU0J,iBAAiB,GAAGjJ,YAAc,KAC5CT,EAAU0J,iBAAiB,GAAG/I,OAClC06C,EAAa97C,KAAOS,EAAU0J,iBAAiB,GAAGvJ,aAGiC,uCAAnFH,EAAUsc,iCAAiCniB,iBAAiBC,UAAUU,YACtEugD,EAAa97C,KAAOS,EAAU0J,iBAAiB,GAAGvJ,aAGtDi7C,EAAqBC,MAGpB1vD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACyB,MAApBL,GACG,yBAAKnoD,UAAU,mDAAmDE,MAAO,CAAEiB,OAAQ,UAC/E,kBAAC6S,EAAA,EAAD,CAAM9T,MAAO,CAAEqB,MAAO,OAAQS,OAAQ,uBAClC,kBAACiS,EAAA,EAAD,KACI,yBAAK/T,MAAO,CAAE8B,OAAQ,kBAAmB6uB,QAAS,UAC9C,kBAAC/pB,GAAA,EAAD,CAAK5G,MAAO,CAAEyD,UAAW,UACrB,kBAAC4D,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,QAClB,kBAAC48C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,SAEtD,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,MACHqiD,aAAO3C,EAAiB4C,YAE7B,kBAACxjD,GAAA,EAAD,CAAKkB,GAAG,MAER,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,yBACnB,qGAEJ,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,0DAAsBzN,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAcic,cAApC,MADJ,IAC8DkxC,EAAiBG,aAE/E,kBAAC/gD,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,yCADJ,IACuBvD,GAAY0rD,EAAiBI,WAEpD,kBAAChhD,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,QACnB,2BAAImoD,EAAiB3tB,UAAUh+B,OAAS,GAAK,OAAS,MAAtD,MADJ,IACwE2rD,EAAiB3tB,WAEzF,kBAACjzB,GAAA,EAAD,CAAKkB,GAAG,MACJ,2BAAI0/C,EAAiB3tB,UAAUh+B,OAAS,GAAK,kBAAiB,OAA9D,MADJ,IACiF2rD,EAAiB57C,MAElG,kBAAChF,GAAA,EAAD,CAAKkB,GAAG,MACJ,4CADJ,IACuB0/C,EAAiBhB,WAG5C,kBAACrgD,GAAA,EAAD,CAAK5G,MAAO,CAAEyD,UAAW,MAAOC,aAAc,QAC1C,kBAAC2D,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAACkoD,EAAD,CAAQ7tD,OAAmB,OAAZW,QAAY,IAAZA,OAAA,EAAAA,EAAcytD,aAAc,uCAAyCN,EAAiBn7C,UAAY,UAAYm7C,EAAiBmD,kBzDsalLjO,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,wBACNr1C,KAAM,wBACNjO,KAAM,GACNujD,U0D5gBW,YAA6C,IAAZp0B,EAAW,EAAXA,QAC5C,EAAqCpuB,IAA7BK,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,aAGhBktD,EAASx7C,EAAQ,KAErB,EAAiD7R,mBAAS,MAA1D,mBAAOstD,EAAP,KAAyBC,EAAzB,KAuCA,OAJApsD,qBAAU,YAlCQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GAE/BjqD,GAAW,GACX7B,EAAQ,sCAAwCgsD,EAAOj4C,WAAWtU,MAAK,SAAAb,GAAW,IAAD,EAC7E,GAAI,CAAC,YAAa,WAAY,WAAW6gB,SAAS7gB,EAAOI,KAAKF,QAC1D,MAA0B,WAAtBF,EAAOI,KAAKF,YACZwB,EAAY,QAAS,+BAAgC,QAAS,WAG9DA,EAAY,QAAS,mCAA8B,QAAS,MAIpE,IAAIyT,EAAYnV,EAAOI,KACvB,EAAyD+U,EAAU0J,iBAAiB,GAA5ElJ,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,YAAaE,EAAjC,EAAiCA,OAAQR,EAAzC,EAAyCA,YAErCk7C,EAAe,CACf0C,UAAS,UAAE/9C,EAAUsc,iCAAiCniB,iBAAiB89B,4BAA9D,QAAsF,qBAC/FqjB,YAAat7C,EAAUoH,eACvBm0C,SAAUv7C,EAAUuc,gBACpBiR,UAAWxtB,EAAUE,SACrBC,YAAaA,EACbg6C,SAAU35C,EAAa,KAAOC,EAAc,KAAOE,EACnDX,UAAWA,GAGfo7C,EAAqBC,MAEpB1vD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAI9B0tD,KACD,IAGC,oCACyB,MAApBL,GACG,yBAAKnoD,UAAU,mDAAmDE,MAAO,CAAEiB,OAAQ,UAC/E,kBAAC6S,EAAA,EAAD,CAAM9T,MAAO,CAAEqB,MAAO,OAAQS,OAAQ,uBAClC,kBAACiS,EAAA,EAAD,KACI,yBAAK/T,MAAO,CAAE8B,OAAQ,kBAAmB6uB,QAAS,UAC9C,kBAAC/pB,GAAA,EAAD,CAAK5G,MAAO,CAAEyD,UAAW,UACrB,kBAAC4D,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,QAClB,kBAAC48C,GAAD,CAAaC,kBAAmB,WAAYt7C,MAAM,SAEtD,kBAACgG,GAAA,EAAD,CAAKkB,GAAG,MACHqiD,aAAO3C,EAAiB4C,YAE7B,kBAACxjD,GAAA,EAAD,CAAKkB,GAAG,MAER,kBAAClB,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,yBACnB,gGAEJ,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KACJ,0DAAsBzN,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAcic,cAApC,MADJ,IAC8DkxC,EAAiBG,aAE/E,kBAAC/gD,GAAA,EAAD,CAAKkB,GAAG,IAAIzI,UAAU,cAClB,yCADJ,IACuBvD,GAAY0rD,EAAiBI,WAEpD,kBAAChhD,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,QACnB,gDADJ,WAC2BmoD,QAD3B,IAC2BA,OAD3B,EAC2BA,EAAkBh7C,aAE7C,kBAAC5F,GAAA,EAAD,CAAKkB,GAAG,MACJ,2BAAI0/C,EAAiB3tB,UAAUh+B,OAAS,GAAK,OAAS,MAAtD,MADJ,IACwE2rD,EAAiB3tB,WAEzF,kBAACjzB,GAAA,EAAD,CAAKkB,GAAG,MACJ,4CADJ,IACuB0/C,EAAiBhB,WAG5C,kBAACrgD,GAAA,EAAD,CAAK5G,MAAO,CAAEyD,UAAW,MAAOC,aAAc,QAC1C,kBAAC2D,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,eACnB,kBAACkoD,EAAD,CAAQ7tD,OAAmB,OAAZW,QAAY,IAAZA,OAAA,EAAAA,EAAcytD,aAAc,yCAA2CN,EAAiBn7C,UAAUoc,0B1D2brJi0B,OAAQ,SACRC,SAAS,GAEX,CACEN,KAAM,4BACNr1C,KAAM,eACNs1C,U2DphBW,YAAgD,IAAZp0B,EAAW,EAAXA,QAC/C,EAA8CpuB,IAAtClF,EAAR,EAAQA,QAASuF,EAAjB,EAAiBA,WAAYE,EAA7B,EAA6BA,aAE7B,EAA4EgJ,YAAQ,CAAEC,KAAM,WAApFC,EAAR,EAAQA,SAAUE,EAAlB,EAAkBA,aAAgCC,GAAlD,EAAgCF,OAAhC,EAAwCG,SAAxC,EAAkDD,UAC5C3N,GADN,EAA4D6N,YAC3Co9C,eAEjB,EAAyC5rD,IAAM8E,SAAS,MAAxD,mBAAOiJ,EAAP,KAAqByF,EAArB,KAEA,EAA2BxT,IAAM8E,SAASU,QAA1C,mBAAO49B,EAAP,KAAcwB,EAAd,KAEA,EAA2B5kC,IAAM8E,SAAS,IAA1C,mBAAOgF,EAAP,KAAc6J,EAAd,KAcA,EAAyB3T,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAAakF,EAAb,KACMvN,EAAoB,SAAChD,GACX,GAARqL,IAIAnsB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,KAqClB0vB,EAA8B,WAChCtqD,GAAW,GACX/B,EAAS,oDAAqD+K,GACzDpL,MAAK,SAAAb,GAAM,OAAI0B,EAAY,QAAS,4FAAoF,WAAW,WAAcsvB,EAAQvd,KAAK,2BAC9J3S,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OA6ClC,OALAkB,qBAAU,WArGN/C,EAAQ,gCAAkCvC,EAAS0lB,MAAM9W,qBAAqBgF,yBACzE5R,MAAK,SAAAb,GACF8iC,EAAU,CAAExN,aAAc,eAAgB7lB,SAAUzP,EAAOI,KAAKqP,SAAUF,UAAWvP,EAAOI,KAAKmP,YAC7FvP,EAAOI,KAAKsS,iBAAiBC,QAAO,SAAAC,GAAC,OAAIA,EAAEH,yBAA2B5T,EAAS0lB,MAAM9W,qBAAqBgF,2BAAyB,GAAGI,eAAelO,OAAS,EAC9JkN,EAAU,CAAC,SAAU,eAErBA,EAAU,CAAC,cAElB/Q,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAkBT,WACrB,GAAmC,MAA/BpE,EAAS0lB,MAAMtY,aAAsB,CACrChJ,GAAW,GACX,IAAI2K,EAAc,CACd8F,aAAc7U,EAAS0lB,MAAMpP,UAAUzB,aACvC5F,gBAAiB,EACjBwpB,gBAAiBz4B,EAAS0lB,MAAMpP,UAAUmiB,gBAC1CrhB,MAAOpX,EAAS0lB,MAAMpP,UAAUc,MAChCZ,SAAUxW,EAAS0lB,MAAMpP,UAAUE,SACnC5C,wBAAyB5T,EAAS0lB,MAAM9W,qBAAqBgF,yBAGjEvR,EAAS,iCAAkC0M,GACtC/M,MAAK,SAAAb,GAAM,OAAI0R,EAAiB1R,EAAOI,SACvCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WAG9B7B,EAAQ,gBAAkBvC,EAAS0lB,MAAMtY,aAAa6B,iBACjDjN,MAAK,SAAAb,GACF0R,EAAiB1R,EAAOI,MACpBJ,EAAOI,KAAKkW,+BAA+B3R,OAAS,GACpD6H,EAAS,SAAUxM,EAAOI,KAAKkW,+BAA+B,GAAGC,WAExEzV,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAmDlCqqD,KACD,IAGC,oCACqB,MAAhBrhD,IAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,SAC5E,yBAAKiI,UAAU,WACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAAOA,KAEjB,cAAvBiE,EAAa/L,QAA0B+L,EAAaoK,0BAA0B1R,OAAS,GACpF,kBAACwX,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,wBAAIjU,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAAnF,8CAAwIjM,QAAxI,IAAwIA,OAAxI,EAAwIA,EAAcic,cAAtJ,8EACA,2BAAInT,EAAaoK,0BAA0B/C,MAAK,SAAUjU,EAAGkU,GAAK,OAAO,IAAI3T,KAAK2T,EAAExF,aAAe,IAAInO,KAAKP,EAAE0O,gBAAiB,GAAGI,cAIrI,GAAR0vB,GACG,kBAAC1hB,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACiU,EAAA,EAAD,KACI,kBAACqG,GAAA,EAAD,CAAMiI,SAAUne,GA5D3B,SAACnM,GACd,GAAmB,IAAfA,EAAKmW,OAAT,CAKA,IAAI3I,EAAc,CACd8lD,kCAAmCznD,EAAaqK,+BAA+B3R,OAAS,EAAIsH,EAAaqK,+BAA+B,GAAGo9C,kCAAoC,EAC/K5lD,gBAAiB7B,EAAa6B,gBAC9ByI,OAAQnW,EAAKmW,QAGjBtT,GAAW,GAC0C,GAAjD2K,EAAY8lD,kCACZxyD,EAAS,kDAAmD0M,GACvD/M,MAAK,SAAAb,GACEgI,EAAMrD,OAAS,EACf6wB,EAAkBx1B,EAAOI,MAEzBmtD,OAEPzsD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,MAG9B9B,EAAQ,iDAAkDyM,GACrD/M,MAAK,SAAAb,GACEgI,EAAMrD,OAAS,EACf6wB,EAAkBx1B,EAAOI,MAEzBmtD,OAEPzsD,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WA/B9BvB,EAAY,QAAS,wDAAmD,QAAS,UA2DzD,wBAAIyG,UAAU,sBAAd,2BACA,kBAAC2M,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,aAC5C,kBAACvT,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,MACJ,kBAAChB,GAAA,EAAD,KACI,2BAAG,6EACH,kBAACa,GAAA,EAAD,CAAOpB,KAAK,WAAWS,KAAK,SAASY,SAAUrE,SAI3D,kBAAC4C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKkB,GAAG,KAAKzI,UAAU,cACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAAUrH,EAAMrD,OAAS,EAAI,mBAAkB,WAAnG,KAAgH,uBAAGwD,UAAU,gCAQhJ,GAAR01B,GAAa,kBAACwD,GAAD,CAAY7vB,KAAMvF,EAAcq1B,MAAOA,EAAO9L,kBAAmB+3B,EAA6B3zB,mBA3HjG,SAACpH,GACxB9gB,EAAiB8gB,GACjBuQ,EAASlF,EAAO,OA4HK,MAAhB5xB,GAAgD,gBAAvBA,EAAa/L,QAAmD,cAAvB+L,EAAa/L,QAC5E,kBAAC4U,EAAA,EAAD,CAAWzM,MAAO,CAAE4lB,SAAU,SAAUzL,OAAQ,cAC5C,yBAAKra,UAAU,iBACX,kBAAC8G,GAAA,EAAD,CAAK5G,MAAO,CAAE2T,aAAc,8BAA+B0mB,cAAe,OAAQ1tB,WAAY,SAC1F,kBAACtF,GAAA,EAAD,CAAKkB,GAAG,MACJ,0BAAMzI,UAAS,UAAKzK,GAAiC,gBAAtBA,EAAQ0R,WAA+B,aAAe,eAArF,kJ3DgX5Bo2C,OAAQ,QACRC,SAAS,GAEX,CACEN,KAAM,wBACNr1C,KAAM,2BACNjO,KAAM,GACNujD,U4D7hBW,YAAiD,IAAZp0B,EAAW,EAAXA,QACxC/tB,EAAcL,IAAdK,WACAsJ,EAAiBJ,YAAQ,CAAEC,KAAM,WAAjCG,aACR,EAAmEvJ,mBAAS,MAA5E,mBAAO2wD,EAAP,KAAkCC,EAAlC,KAeAzvD,qBAAU,YAdQ,WACd,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GACjB,MAAVE,GAAiC,MAAfA,EAAOzlB,OACzB1kC,GAAW,GACX7B,EAAQ,wCAAD,OAAyCgsD,EAAOzlB,OAClD9mC,MAAK,SAAAb,GACFiD,GAAW,GACX2wD,EAA8B5zD,EAAOI,SAExCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAIlC0tD,KACD,IAEH,MAA+B3tD,mBAAS,MAAxC,mBAAOmW,EAAP,KAAgB06C,EAAhB,KAmCA,OACI,oCACI,6BACI,kBAAC13C,EAAA,EAAD,CAAMhU,UAAU,cACZ,kBAACsa,GAAA,EAAD,CAAMiI,SAAUne,GA7Bf,SAACnM,GACd,GAAK+Y,EAAL,CAKA,IAAIvL,EAAc,CACdkmD,wBAAyBH,EAA0BG,wBACnDx5C,eAAgBrV,GAAe,IAAIrF,MACnCuZ,QAASA,EAAQrJ,KACjByyB,cAAeppB,EAAQyU,QAG3B3qB,GAAW,GACX/B,EAAS,2DAAD,OAA4DyyD,EAA0B7lD,iBAAmBF,GAC5G/M,MAAK,SAAAb,GACFiD,GAAW,GACXvB,EAAY,QAAS,kCAAmC,WAAW,WAC/D9C,OAAOC,SAASiB,eAGvBgB,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,WApB1BvB,EAAY,QAAS,8CAAyC,QAAS,UA4B3D,kBAAC0a,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,yBACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,yCAAH,IAAsB8iD,GAA6BA,EAA0B1nD,aAAaoJ,WAE9F,kBAAC3F,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,iDAAH,IAA8B8iD,GAA6BA,EAA0B1nD,aAAawB,qBAAqBC,OAE3H,kBAACgC,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,8CAAH,IAAwB8iD,GAA6BA,EAA0B1nD,aAAaqrB,kBAEhG,kBAAC5nB,GAAA,EAAD,CAAKC,GAAG,IAAIkB,GAAG,MACX,2BAAG,iDAAH,IAA8B8iD,GAA6B/uD,GAAY+uD,EAA0B1nD,aAAasR,4BAGrHo2C,GAAiE,cAApCA,EAA0BzzD,QACpD,kBAAC+O,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,qDAIXwrD,GAAiE,YAApCA,EAA0BzzD,QACpD,oCACI,kBAAC+O,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIxH,UAAU,mBAAd,mCACA,yBAAKA,UAAU,oBAEnB,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,QAC3B,kBAAC0kB,GAAD,CAAUvjB,OAAO,OAAOI,MAAM,OAAOoG,KAAK,uBACtC4V,MAAO,KACPqI,aAAc,EACdJ,WA9EzB,SAACT,EAAMzpB,GACV,MAARypB,IAIJ2mC,EAAY3mC,GACZzpB,UA4E4B,kBAACwL,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,KAAKxH,UAAU,eACnB,kBAAC+G,GAAA,EAAD,CAAQrH,MAAM,UAAUM,UAAU,aAAakH,KAAK,UAAS,uBAAGlH,UAAU,iBAA1E,gC5DmbxCq9C,OAAQ,YACRC,SAAS,GAEX,CACEN,KAAM,uBACNr1C,KAAM,0BACNjO,KAAM,GACNujD,U6D1iBW,YAAiD,IAAZp0B,EAAW,EAAXA,QACxC/tB,EAAeL,IAAfK,WAER,EAA+B/E,IAAM8E,SAAS,MAA9C,mBAAOm5B,EAAP,KAAgBC,EAAhB,KAoBA,OAJAj4B,qBAAU,YAfO,WACb,IAAI+oD,EAAOl8B,EAAQnyB,SAASsuD,OACxBC,EAASC,KAAYpvD,MAAMivD,GACjB,MAAVE,GAAsC,MAApBA,EAAOj4C,WAA4C,MAAvBi4C,EAAOnhD,cACrDhJ,GAAW,GACX7B,EAAQ,6DAAD,OAA8DgsD,EAAOj4C,UAArE,YAAkFi4C,EAAOnhD,eAC3FpL,MAAK,SAAAb,GAAM,OAAIo8B,EAAYp8B,EAAOI,SAClCU,OAAM,SAAAiD,GAAG,OAAIrC,EAAY,QAASqC,EAAI5D,QAAS,QAAS,SACxD6D,SAAQ,kBAAMf,GAAW,OAG9BvB,EAAY,QAAS,mBAAiB,QAAS,MAKnDqyD,KACD,IAGC,oCACK53B,GACG,kBAACjS,GAAD,CAAqBC,wBAAyBgS,M7DihB1DqpB,OAAQ,YACRC,SAAS,GAEX,CACEN,KAAM,aACNr1C,KAAM,4BACNjO,KAAM,GACNujD,U8DtjBW,YAAyC,EAAXp0B,QAEhB7kB,YAAQ,CAAEC,KAAM,WAAjCG,aAF6C,IAKrD,EAAyBrO,IAAM8E,SAAS,GAAxC,mBAAO66B,EAAP,KAYA,OAZA,KAaI,oCACI,6BACI,kBAAC/oB,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,GAAD,CAAaJ,UAAW81B,EAAM71B,MAjBhC,CAAC,QAAS,cAAY,eAAgB,WAAY,WAAY,gCAmBhE,kBAACmU,EAAA,EAAD,CAAMhU,UAAU,cACH,GAAR01B,GACG,kBAACzhB,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIoF,GAAG,eAAe5M,UAAU,mBAAhC,qBACA,yBAAKA,UAAU,qBAGvB,kBAAC8G,GAAA,EAAD,CAAK9G,UAAU,QACX,kBAACuH,GAAA,EAAD,CAAKkB,GAAG,KAAKjB,GAAG,KAAKxH,UAAU,QAC3B,yFAAsE,6BACtE,kBAAC0kB,GAAD,CAAUvjB,OAAO,OAAOI,MAAM,OAAOoG,KAAK,uBACtC4V,MAAO,KACPqI,aAAc,OAMzB,GAAR8P,GACG,kBAACzhB,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIoF,GAAG,eAAe5M,UAAU,mBAAhC,2BACA,yBAAKA,UAAU,sBAKtB,GAAR01B,GACG,kBAACzhB,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIoF,GAAG,eAAe5M,UAAU,mBAAhC,4BACA,yBAAKA,UAAU,sBAKtB,GAAR01B,GACG,kBAACzhB,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIoF,GAAG,eAAe5M,UAAU,mBAAhC,wBACA,yBAAKA,UAAU,sBAKtB,GAAR01B,GACG,kBAACzhB,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIoF,GAAG,eAAe5M,UAAU,mBAAhC,wBACA,yBAAKA,UAAU,sBAKtB,GAAR01B,GACG,kBAACzhB,EAAA,EAAD,KACI,kBAACnN,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKC,GAAG,MACJ,wBAAIoF,GAAG,eAAe5M,UAAU,mBAAhC,6BACA,yBAAKA,UAAU,0B9D+d/Cq9C,OAAQ,YACRC,SAAS,I+DrZEuO,G,kDAzJb,WAAYppD,GAAQ,IAAD,8BACjB,cAAMA,IACD2Z,MAAQ,CACXpQ,QAAQ,EACR8/C,cAAc,EACdpsD,MAAO,eAET,EAAKuM,OAAS,EAAKA,OAAO8/C,KAAZ,gBACd,EAAKC,eAAiB,EAAKA,eAAeD,KAApB,gBACtB,EAAKE,cAAgBl2D,IAAMm2D,YAC3B,EAAK32D,QAAUG,IAVE,E,0CAYnB,WACMkyB,KAAKxL,MAAMpQ,OACb4b,KAAKukC,SAAS,CACZzsD,MAAO,gBAGTkoB,KAAKukC,SAAS,CACZzsD,MAAO,SAGXkoB,KAAKukC,SAAS,CACZngD,QAAS4b,KAAKxL,MAAMpQ,W,4BAGxB,SAAe/D,GACb2f,KAAKukC,SAAS,CACZL,cAAelkC,KAAKxL,MAAM0vC,iB,qBAI9B,WACE,IAAIM,EAAW,GAOf,OANArP,GAAOt8C,KAAI,SAAC6pB,EAAM1pB,GAIhB,OAH+D,IAA3DnK,OAAOC,SAAS6Y,KAAKjT,QAAQguB,EAAK+yB,OAAS/yB,EAAK0yB,QAClDoP,EAAW9hC,EAAK5wB,MAEX,QAEF0yD,I,sBAGT,WACE,IAAIC,EAAY,gBAOhB,OANAtP,GAAOt8C,KAAI,SAAC6pB,EAAM1pB,GAIhB,OAH+D,IAA3DnK,OAAOC,SAAS6Y,KAAKjT,QAAQguB,EAAK+yB,OAAS/yB,EAAK0yB,QAClDqP,EAAY/hC,EAAK3iB,MAEZ,QAEF0kD,I,yBAET,WACEzhD,SAAS0hD,gBAAgBC,UAAUtgD,OAAO,YAC1C2b,KAAKqkC,cAAcpgD,QAAQ0gD,UAAUtgD,OAAO,a,yBAE9C,WACMxV,OAAO+1D,WAAa,KAAO5kC,KAAKxL,MAAMpQ,OACxC4b,KAAKukC,SAAS,CACZzsD,MAAO,SAGTkoB,KAAKukC,SAAS,CACZzsD,MAAO,kB,+BAIb,WACEjJ,OAAOg2D,iBAAiB,SAAU7kC,KAAK8kC,YAAYX,KAAKnkC,S,gCAE1D,SAAmB3f,GAEfxR,OAAO+1D,WAAa,KACpBvkD,EAAE4gB,QAAQnyB,SAASwyB,WAAajhB,EAAEvR,SAASwyB,WACiB,IAA5Dte,SAAS0hD,gBAAgBtsD,UAAU1D,QAAQ,cAE3CsO,SAAS0hD,gBAAgBC,UAAUtgD,OAAO,YAC1C2b,KAAKqkC,cAAcpgD,QAAQ0gD,UAAUtgD,OAAO,c,oBAGhD,WAAU,IAAD,OACP,OAEE,kBAAC0gD,EAAA,EAAD,CACEjtD,OACgE,IAA9DkoB,KAAKnlB,MAAM/L,SAASwyB,SAAS5sB,QAAQ,oBACjC,OACAsrB,KAAKxL,MAAM1c,MAEjBktD,OAAO,KACP5sD,WACgE,IAA9D4nB,KAAKnlB,MAAM/L,SAASwyB,SAAS5sB,QAAQ,oBACjC,4BACA,8BACsB,gBAArBsrB,KAAKxL,MAAM1c,MAA0B,eAAiB,KAG7D,kBAACiN,EAAA,EAAD,CAAWkgD,OAAK,GACd,yBAAK7sD,UAAU,kBACb,yBAAKA,UAAU,iBACb,4BACEkH,KAAK,SACLiB,IAAKyf,KAAKqkC,cACVjsD,UAAU,iBACVgH,QAAS,kBAAM,EAAK8lD,gBAEpB,0BAAM9sD,UAAU,4BAChB,0BAAMA,UAAU,4BAChB,0BAAMA,UAAU,8BAGpB,kBAAC+sD,EAAA,EAAD,CAAax9C,KAAK,KAAlB,IAAuB,uBAAGvP,UAAW4nB,KAAKolC,YAA1C,IAAwDplC,KAAKqlC,aAE/D,kBAACC,EAAA,EAAD,CAAelmD,QAAS4gB,KAAK3b,QAC3B,0BAAMjM,UAAU,oCAChB,0BAAMA,UAAU,oCAChB,0BAAMA,UAAU,qCAElB,kBAACs/C,EAAA,EAAD,CACEtzC,OAAQ4b,KAAKxL,MAAMpQ,OACnBmhD,QAAM,EACNntD,UAAU,uBAEV,kBAAC8pC,EAAA,EAAD,CAAKqjB,QAAM,GACT,yBAAKjtD,MAAO,CAACma,OAAQ,OAAQ9B,WAAY,SACvC,0BAAMvY,UAAU,oBAAoB4nB,KAAKryB,QAAQgX,OAEnD,kBAAC6gD,EAAA,EAAD,CACEC,KAAG,EACHrhD,OAAQ4b,KAAKxL,MAAM0vC,aACnB7/C,OAAQ,SAAChE,GAAD,OAAO,EAAK+jD,eAAe/jD,KAEnC,kBAACqlD,EAAA,EAAD,CAAgBC,OAAK,EAACF,KAAG,GACvB,uBAAGrtD,UAAU,yBACb,2BACE,0BAAMA,UAAU,wBAAhB,kBAGJ,kBAACwtD,EAAA,EAAD,CAAchmC,OAAK,GACjB,kBAACimC,EAAA,EAAD,CAAchE,IAAI,IAAIl6C,KAAK,sBAAqB,uBAAGvP,UAAU,eAAiB,qDAC9E,kBAACytD,EAAA,EAAD,CAAcC,SAAO,IACrB,kBAACD,EAAA,EAAD,CAAchE,IAAI,IAAIl6C,KAAK,eAAc,uBAAGvP,UAAU,qBAAtD,IAA8E,uD,GA/I3EjK,IAAM8xB,WCkBZ8lC,G,4JA/Bb,WACE,OACE,4BACE3tD,UAAW,UAAY4nB,KAAKnlB,MAAMmrD,QAAU,kBAAoB,KAEhE,kBAACjhD,EAAA,EAAD,CAAWkgD,QAAOjlC,KAAKnlB,MAAMoqD,OAC3B,kBAAC/lD,GAAA,EAAD,KACE,yBAAK9G,UAAU,mBACb,yBAAKA,UAAU,aAAf,QACU,MAAO,IAAIvI,MAAOo2D,UAD5B,IAEE,uBACI7tD,UAAU,+BACVuP,KAAK,kCACLG,OAAO,UAHX,yB,GAXK3Z,IAAM8xB,W,S/D0EZimC,G,kDAnEb,WAAYrrD,GAAQ,IAAD,8BACjB,cAAMA,IACDsrD,YAAYhC,KAAjB,gBACA,EAAKzO,QAAUvnD,IAAMm2D,YAHJ,E,+CAKnB,SAAY8B,GACV,OAAOpmC,KAAKnlB,MAAM/L,SAASwyB,SAAS5sB,QAAQ0xD,IAAc,EAAI,SAAW,K,+BAE3E,WACMC,UAAUC,SAAS5xD,QAAQ,QAAU,IACvCwgD,GAAK,IAAIqR,IAAiBvmC,KAAK01B,QAAQzxC,QAAS,CAC9CuiD,iBAAiB,EACjBC,iBAAiB,O,kCAIvB,WACMJ,UAAUC,SAAS5xD,QAAQ,QAAU,GACvCwgD,GAAGwR,Y,oBAGP,WAAU,IAAD,OACP,OACE,yBACEtuD,UAAU,UACVuuD,aAAY,QACZC,oBAAmB,QAEnB,yBAAKxuD,UAAU,OAAOE,MAAO,CAAEgB,QAAS,OAAQutD,cAAe,SAAUrtD,WAAY,WACnF,kBAACw7C,GAAD,CAAaC,kBAAmB,WAAY38C,MAAO,CAAEwuD,UAAW,UAChE,kBAAC9R,GAAD,CAAaC,kBAAmB,iBAAkBt7C,MAAO,MAAOrB,MAAO,CAAEwuD,UAAW,OAAO/qD,UAAW,QAASC,aAAc,WAC7H,yBAAK5D,UAAU,QAAf,2BAIF,yBAAKA,UAAU,kBAAkBmI,IAAKyf,KAAK01B,SACzC,kBAACxT,EAAA,EAAD,CAAK5pC,MAAO,CAAE0D,aAAc,SACzBgkB,KAAKnlB,MAAMs6C,OAAOt8C,KAAI,SAAC6pB,EAAM1pB,GAC5B,OACE,wBACEZ,UACE,EAAK+tD,YAAYzjC,EAAK0yB,OACrB1yB,EAAKqkC,IAAM,cAAgB,IAG9BzwB,MAAuB,GAAhB5T,EAAKgzB,QAAkB,iBAAmB,gBAEjD18C,IAAKA,GAEL,kBAAC,KAAD,CACEguD,GAAItkC,EAAK+yB,OAAS/yB,EAAK0yB,KACvBh9C,UAAU,WACV6uD,gBAAgB,UAEhB,uBAAG7uD,UAAWsqB,EAAK5wB,OACnB,2BAAI4wB,EAAK3iB,kB,GAxDP5R,IAAM8xB,WCqGbinC,G,kDA9Fb,WAAYrsD,GAAQ,IAAD,8BACjB,cAAMA,IA0BRssD,kBAAoB,SAACrvD,GACnB,EAAKysD,SAAS,CAAE6C,YAAatvD,KA5BZ,EA8BnBuvD,cAAgB,SAACvvD,GACf,EAAKysD,SAAS,CAAEhsD,gBAAiBT,KA/BhB,EAkCnBwvD,sBAAwB,WACtB,IAAI35D,EAAUG,IACVH,GAAiC,aAAtBA,EAAQ0R,WAErB,EAAKxE,MAAMomB,QAAQvd,KAAK,eAI1BrS,EAAQ,sCAAwC1D,EAAQyL,YAAYtI,MAAK,SAAAb,GACvE,GAAsB,MAAlBA,EAAOE,OACX,CACE,IAAIo3D,EAAY,GAEhBpS,GAAOt8C,KAAI,SAAA4K,IACK,WAAVA,EAAE2xC,MAA+B,gBAAV3xC,EAAE2xC,MAEH,OAAjBznD,EAAQo2B,OAER9zB,EAAOI,KAAKuS,QAAO,SAAAC,GAAC,OAAIA,GAAKY,EAAEy0C,yBAAuBtjD,OAAS,IAHtE2yD,EAAU7jD,KAAKD,MAMnB,EAAK8gD,SAAS,CAACpP,OAAQoS,SArD3B,EAAK/yC,MAAQ,CACXjc,gBAAiB,QACjB6uD,YAAa,QAEf,EAAKI,UAAYr5D,IAAMm2D,YANN,E,qDAQnB,WACEtkC,KAAKsnC,wBACDjB,UAAUC,SAAS5xD,QAAQ,QAAU,IACvCwgD,GAAK,IAAIqR,IAAiBvmC,KAAKwnC,UAAUvjD,SACzCjB,SAASxN,KAAKmvD,UAAUtgD,OAAO,2B,kCAGnC,WACMgiD,UAAUC,SAAS5xD,QAAQ,QAAU,IACvCwgD,GAAGwR,UACH1jD,SAASxN,KAAKmvD,UAAUtgD,OAAO,2B,gCAGnC,SAAmBhE,GACQ,SAArBA,EAAE4gB,QAAQwmC,SACZznC,KAAKwnC,UAAUvjD,QAAQf,UAAY,EACnCF,SAAS0kD,iBAAiBxkD,UAAY,K,oBAqC1C,WACE,OACE,6BACE,yBAAK9K,UAAU,WACS,MAArB4nB,KAAKxL,MAAM2gC,QACV,kBAAC,GAAD,iBACMn1B,KAAKnlB,MADX,CAEEs6C,OAAQn1B,KAAKxL,MAAM2gC,OACnB8M,QAASjiC,KAAKxL,MAAMjc,gBACpB6uD,YAAapnC,KAAKxL,MAAM4yC,eAG5B,yBAAKhvD,UAAU,aAAamI,IAAKyf,KAAKwnC,WACpC,kBAAC,GAAWxnC,KAAKnlB,OACjB,kBAAC,IAAD,KACwB,MAArBmlB,KAAKxL,MAAM2gC,QAAkBn1B,KAAKxL,MAAM2gC,OAAOt8C,KAAI,SAAC6pB,EAAM1pB,GACzD,OACE,kBAAC,IAAD,CACEo8C,KAAM1yB,EAAK+yB,OAAS/yB,EAAK0yB,KACzBC,UAAW3yB,EAAK2yB,UAChBr8C,IAAKA,QAKb,kBAAC,GAAD,CAAQisD,OAAK,W,GAvFL92D,IAAM8xB,W,wC+D2JX0nC,OA9Jf,YAAkD,IAAD,IAA9B3iD,UAA8B,MAAzB,sBAAyB,EACrC5R,EAAiBP,IAAjBO,aAEF6tB,EAAUqS,cAChB,EAA8BrgC,mBAAS,CACnC,CACIrB,MAAO,6CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,2CAEzC,CACIhW,MAAO,mDACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,2CAEzC,CACIhW,MAAO,4CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,0CAEzC,CACIhW,MAAO,8CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,6CAEzC,CACIhW,MAAO,+CACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,8CAEzC,CACIhW,MAAO,qDACPwqD,MAAkB,OAAZhpD,QAAY,IAAZA,OAAA,EAAAA,EAAcwU,gBAAiB,gDAvB7C,mBAAOy0C,EAAP,KA2BA,GA3BA,KA2BkCppD,mBAAS,CACvC,CACIrB,MAAO,UACPinB,MAAO,kBACHwjC,EAAQxjD,KAAI,SAACpG,EAAO+B,GAChB,OAAO,yBAAK4D,UAAU,QAClB,yBAAKY,IAAKxE,EAAO4D,UAAU,oBAAoBE,MAAO,CAAE8B,OAAQ,oBAAqBG,WAAY,uBAC7F,yBAAKnC,UAAU,0DACXkH,KAAK,SACLF,QAAS,kBAAMvQ,OAAOsa,KAAK1W,EAAM2pD,KAAM,YAEvC,wBAAIhkD,UAAU,OAAOE,MAAO,CAAET,WAAY,WAAapF,EAAMb,OAC7D,uBAAGoJ,MAAM,2BAO7BshD,UAAU,GAEd,CACI1qD,MAAO,4DACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,2hBAGA,gnBAKA,oWAIRkkD,UAAU,GAEd,CACI1qD,MAAO,0BACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,iNAEA,yXAEA,ucAGRkkD,UAAU,GAEd,CACI1qD,MAAO,0CACPinB,MAAO,kBACH,yBAAKzgB,UAAU,QACX,yUAEA,6fAIRkkD,UAAU,MA9DlB,mBAAOsL,EAAP,KAAkBC,EAAlB,KA0EA,OAAO,kBAACC,GAAA,EAAD,CACH1vD,UAAU,UACVixB,UAAU,SACVvhB,OAAQ9C,GAER,kBAAC+iD,GAAA,EAAD,CAAe3vD,UAAU,kBACrB,yBACIA,UAAU,kEACVE,MAAO,CACHqB,MAAO,OACPJ,OAAQ,OACRa,OAAQ,kBACRG,WAAY,gBAGhB,yBAAKnC,UAAU,+BAA+BE,MAAO,CAAEyB,SAAU,OAAQjC,MAAO,UAAhF,MAIJ,uBAAGM,UAAU,wBAAwBE,MAAO,CAAEyB,SAAU,SAAxD,gBAGJ,kBAACiuD,GAAA,EAAD,KACKJ,EAAU/uD,KAAI,SAACpG,EAAO+B,GACnB,IAAMyrB,EAAYxtB,EAAMomB,MAExB,OAAO,yBAAK7f,IAAKxE,GACb,yBAAK4D,UAAU,0DACXkH,KAAK,SACL0F,GAAE,iBAAYxQ,GACd4K,QAAS,kBAtCN,SAAC5K,GACpBqzD,GAAa,SAAA9K,GACT,IAAMC,EAAU,aAAOD,GAEvB,OADAC,EAAWxoD,GAAX,6BAAyBwoD,EAAWxoD,IAApC,IAA4C8nD,UAAWU,EAAWxoD,GAAO8nD,WAClEU,KAkCoBiL,CAAezzD,KAE9B,wBAAI4D,UAAU,OAAOE,MAAO,CAAET,WAAY+vD,EAAUpzD,GAAO8nD,SAAW,OAAS,WAAa7pD,EAAMb,OACjGg2D,EAAUpzD,GAAO8nD,SAAW,uBAAGlkD,UAAU,oBAAyB,uBAAGA,UAAU,uBAEpF,kBAAC8vD,GAAA,EAAD,CAAsBC,QAAO,kBAAa3zD,GAAS4D,UAAU,QACzD,kBAAC6nB,EAAD,OAEJ,kCAIZ,yBAAK7nB,UAAU,yDACX,kBAAC+G,GAAA,EAAD,CACIrH,MAAM,UACNsH,QAAS,kBAAM6hB,EAAQvd,KAAK,mBAFhC,iBCxEG0kD,G,kDA1EX,WAAYvtD,GAAQ,IAAD,8BAEf,cAAMA,IACDwJ,OAAS,EAAKA,OAAO8/C,KAAZ,gBACd,EAAK3vC,MAAQ,CACTpQ,QAAQ,GALG,E,0CAQnB,WACI4b,KAAKukC,SAAS,CACVngD,QAAS4b,KAAKxL,MAAMpQ,W,oBAI5B,WACI,OACI,kBAAC2gD,EAAA,EAAD,CAAQC,OAAO,KAAK5sD,UAAU,QAC1B,yBAAKA,UAAU,gFACX,kBAACktD,EAAA,EAAD,CAAelmD,QAAS4gB,KAAK3b,QACzB,0BAAMjM,UAAU,sCAChB,0BAAMA,UAAU,sCAChB,0BAAMA,UAAU,uCAEpB,kBAAC+sD,EAAA,EAAD,KACI,kBAACnQ,GAAD,CAAaC,kBAAmB,iBAAkB38C,MAAO,CAAEwuD,UAAW,UACtE,kBAAC9R,GAAD,CAAaC,kBAAmB,uBAAwB78C,UAAU,2BAA4BE,MAAO,CAAEwuD,UAAU,WAErH,0BACI1uD,UAAU,sBACVE,MAAO,CAAER,MAAO,QAASiE,UAAW,MAAOssD,WAAY,oBAF3D,8CAMA,kBAAC3Q,EAAA,EAAD,CAAUt/C,UAAS,iDAA4C4nB,KAAKxL,MAAMpQ,OAAS,eAAiB,WAChG,kBAAC89B,EAAA,EAAD,CAAK9pC,UAAU,yBAAyBmtD,QAAM,GAC1C,kBAACnjB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS16B,KAAK,gBAAd,kBAIJ,kBAACy6B,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAS16B,KAAK,qBAAd,mBAMiB,iBAA5B9Y,OAAOC,SAASwyB,UACb,oCACI,yBACIlpB,UAAU,qEACVE,MAAO,CACHqB,MAAO,OACPJ,OAAQ,OACRgB,WAAY,cACZiW,OAAQ,UACRiC,OAAQ,QACR7W,YAAa,OAEjBoJ,GAAG,sBACH1F,KAAM,UAEN,yBAAKhH,MAAO,CAAEyB,SAAU,OAAQjC,MAAO,UAAvC,eAIJ,kBAAC,GAAD,CAASkN,GAAI,+B,GAnEhB7W,IAAM8xB,WCmDhBqoC,G,kDArDb,WAAYztD,GAAQ,IAAD,6BACjB,cAAMA,GAED0tD,aAAaC,QAAQ,gBACxBD,aAAaE,QAAQ,cAAe,QAJrB,E,0CAQnB,WACE,OACE,6BACE,yBAAKrwD,UAAU,eAAeE,MAAO,CAAEiC,WAAY,YACjD,kBAAC,GAAD,MACA,kBAACwK,EAAA,EAAD,CAAW3M,UAAU,eACnB,kBAAC,IAAD,KACG+8C,GAAOt8C,KAAI,SAAC6pB,EAAM1pB,GACjB,OACE,kBAAC,IAAD,CACEo8C,KAAM1yB,EAAK+yB,OAAS/yB,EAAK0yB,KACzBC,UAAW3yB,EAAK2yB,UAChBr8C,IAAKA,UAOjB,4BACEZ,UAAU,OACVE,MAAO,CACLiC,WAAY,UACZmuD,UAAW,kBACXh6C,SAAU,QACVi6C,OAAQ,IACRhpC,KAAM,IACNC,MAAO,IACP9lB,OAAQ,UAGV,yBAAK1B,UAAU,kEACb,yBAAKA,UAAU,uBAAuBE,MAAO,CAAEiB,OAAQ,SACrD,kBAACy7C,GAAD,CAAaC,kBAAmB,iBAAkBt7C,MAAO,OAAQrB,MAAO,CAAEwuD,UAAW,WAEvF,yBAAK1uD,UAAU,4BAA4BE,MAAO,CAAEiB,OAAQ,SAC1D,kBAACy7C,GAAD,CAAaC,kBAAmB,WAAY38C,MAAO,CAAEwuD,UAAW,kB,GA7C3D34D,IAAM8xB,WCwBV2oC,G,kDAzBb,WAAY/tD,GAAQ,uCACZA,G,0CAGR,WACE,OACE,6BACE,kBAACkK,EAAA,EAAD,KACE,kBAAC,IAAD,KACGowC,GAAOt8C,KAAI,SAAC6pB,EAAM1pB,GACjB,OACE,kBAAC,IAAD,CACEo8C,KAAM1yB,EAAK+yB,OAAS/yB,EAAK0yB,KACzBC,UAAW3yB,EAAK2yB,UAChBr8C,IAAKA,c,GAfH7K,IAAM8xB,WC2BX4oC,G,kDA1BX,WAAYhuD,GAAQ,uCACVA,G,0CAGV,WACI,OAEI,yBAAKzC,UAAU,gBACX,kBAAC2M,EAAA,EAAD,CAAW3M,UAAU,eACjB,kBAAC,IAAD,KACK+8C,GAAOt8C,KAAI,SAAC6pB,EAAM1pB,GACf,OACI,kBAAC,IAAD,CACIo8C,KAAM1yB,EAAK+yB,OAAS/yB,EAAK0yB,KACzBC,UAAW3yB,EAAK2yB,UAChBr8C,IAAKA,c,GAhBlB7K,IAAM8xB,WCJd,SAAS6oC,KACpB,OACI,yBAAK1wD,UAAU,iBACX,yBAAKA,UAAU,OACX,yBAAKyM,IAAKC,EAAQ,SCSlC,IAAMikD,GAAOC,cAEE,SAASC,KACtB,MAA6Bp2D,IAArBlF,EAAR,EAAQA,QAASgF,EAAjB,EAAiBA,QACjB,OACE,kBAAC,IAAD,CAAQsuB,QAAS8nC,IACdp2D,GAAW,kBAACm2D,GAAD,MACZ,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOI,OAAK,EAAC9T,KAAK,IAAI7rC,OAAQ,kBAAM,kBAAC,IAAD,CAAUy9C,GAAG,oBACjD,kBAAC,IAAD,CAAO5R,KAAK,YAAY7rC,OAAQ,SAAC1O,GAAD,OAAW,kBAAC,GAAmBA,MAC/D,kBAAC,IAAD,CAAOu6C,KAAK,SAAS7rC,OAAQ,SAAC1O,GAAD,OAAW,kBAAC,GAAgBA,MACzD,kBAAC,IAAD,CAAOu6C,KAAK,QAAQ7rC,OAAQ,SAAC1O,GAAD,OAAW,kBAAC,GAAeA,MACtDlN,GAAiC,gBAAtBA,EAAQ0R,YAClB,kBAAC,IAAD,CAAO+1C,KAAK,SAAS7rC,OAAQ,SAAC1O,GAAD,OAAW,kBAAC,GAAgBA,QCnBpDsuD,OARf,WACE,OACE,kBAAC,EAAD,KACE,kBAACF,GAAD,QCONG,IAAS7/C,OACP,kBAAC,GAAD,MACAvG,SAASqmD,eAAe,W","file":"static/js/main.c78abb2d.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/loading.3320bc70.gif\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logoFooterSPRegula.9ce28c0e.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import * as Cookies from \"js-cookie\";\r\nimport React from 'react';\r\n\r\nexport const setSessionCookie = (session) => {\r\n Cookies.remove(\"sessionROC\");\r\n Cookies.set(\"sessionROC\", session, { expires: 14 });\r\n};\r\n\r\nexport const getSessionCookie = () => {\r\n const sessionCookie = Cookies.get(\"sessionROC\");\r\n if (sessionCookie === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(sessionCookie);\r\n }\r\n};\r\n\r\nexport const SessionContext = React.createContext(getSessionCookie());\r\n\r\n/*** TOKEN ***/\r\n\r\nexport const setTokenCookie = (token) => {\r\n Cookies.remove(\"tokenROC\");\r\n Cookies.set(\"tokenROC\", token, { expires: 14 });\r\n};\r\n\r\nexport const getTokenCookie = () => {\r\n const tokenCookie = Cookies.get(\"tokenROC\");\r\n if (tokenCookie === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(tokenCookie);\r\n }\r\n};\r\n\r\n/*** OBJECT ***/\r\n\r\nexport const setObjectCookie = (dados) => {\r\n Cookies.remove(\"object\");\r\n Cookies.set(\"object\", dados, { expires: 14 });\r\n};\r\n\r\nexport const getObjectCookie = () => {\r\n const dados = Cookies.get(\"object\");\r\n if (dados === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(dados);\r\n }\r\n};\r\n\r\n/*** GENERIC ***/\r\n\r\nexport const setObjectCookie_Generic = (name,dados) => {\r\n Cookies.remove(name);\r\n Cookies.set(name, dados, { expires: 14 });\r\n};\r\n\r\nexport const getObjectCookie_Generic = (name) => {\r\n const dados = Cookies.get(name);\r\n if (dados === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(dados);\r\n }\r\n};\r\n\r\nexport const TokenContext = React.createContext(getTokenCookie());\r\n\r\n","import axios from 'axios';\r\nimport { getSessionCookie, setSessionCookie } from './session';\r\n\r\nconst api = axios.create({\r\n baseURL: process.env.REACT_APP_API_ENDPOINT,\r\n});\r\n\r\nconst tenantId = window.location.host.split(':')[0].split('.')[0];\r\n\r\nconst request = async (endpoint, obj, method, contentType) => {\r\n const promise = new Promise((resolve, reject) => {\r\n const session = getSessionCookie();\r\n if (session != null && session?.accessToken) {\r\n const now = new Date();\r\n if (!session || (new Date(session.expiration)) < now) {\r\n setSessionCookie(null);\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n }\r\n const success = (result => {\r\n var newResult = {\r\n status: result.status,\r\n message: result.message,\r\n data: result.data\r\n }\r\n\r\n resolve(newResult);\r\n });\r\n const failed = (error => {\r\n if (error.response) {\r\n if (error.response.status === 401 || error.response.status === 403)\r\n reject({ status: error.response.status, message: \"Sua sessão expirou. Realize o acesso novamente\" });\r\n else\r\n try {\r\n reject({ status: error.response.status, message: error.response.data ? error.response.data.message : error.response.message });\r\n }\r\n catch {\r\n reject({ status: 500, message: \"Erro ao conectar com API\" });\r\n }\r\n }\r\n else {\r\n reject({ status: 500, message: \"Erro ao conectar com API\" });\r\n }\r\n })\r\n const headers = () => {\r\n const _headers = {\r\n headers: {\r\n 'tenantId': tenantId,\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache',\r\n 'Expires': '0',\r\n }\r\n };\r\n\r\n if (contentType == \"multipart/form-data\")\r\n {\r\n _headers.headers[\"Mime-Type\"] = \"multipart/form-data\";\r\n delete _headers.headers['Content-Type'];\r\n }\r\n else { \r\n _headers.headers['Content-Type'] = contentType;\r\n }\r\n if (session != null && session?.accessToken)\r\n _headers.headers.Authorization = `Bearer ${session.accessToken}`\r\n return _headers;\r\n }\r\n\r\n try {\r\n if (method == \"POST\")\r\n return api.post(endpoint, contentType == \"multipart/form-data\" ? obj : JSON.stringify(obj), headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n else if (method == \"PUT\")\r\n return api.put(endpoint, contentType == \"multipart/form-data\" ? obj : JSON.stringify(obj), headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n else if (method == \"GET\")\r\n return api.get(endpoint, headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n else if (method == \"DELETE\")\r\n return api.delete(endpoint, headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n\r\n }\r\n catch (error) {\r\n var result = {\r\n status: 500,\r\n message: \"Erro no servidor (500)\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nconst api_POST = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"POST\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_POST_File = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"POST\", 'multipart/form-data')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_PUT = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"PUT\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_DELETE = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"DELETE\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_GET = (endpoint) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, null, \"GET\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_GETExternal = (endpoint) => {\r\n const promise = new Promise((resolve, reject) => {\r\n try {\r\n return axios.get(endpoint)\r\n .then(result => {\r\n let newResult = {\r\n status: result.status,\r\n data: result.data,\r\n headers: result.headers\r\n }\r\n resolve(newResult);\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n if (error.response.status === 401 || error.response.status === 403) {\r\n window.location.reload();\r\n return;\r\n }\r\n\r\n let message = \"\";\r\n if (error.response.data.message)\r\n message = error.response.data.message;\r\n else\r\n message = \"Erro inesperado\";\r\n\r\n let newError = {\r\n status: error.response.data.status,\r\n message: message\r\n }\r\n resolve(newError);\r\n }\r\n else {\r\n let result = {\r\n status: 500,\r\n message: \"Erro ao conectar com a api.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n } catch (error) {\r\n let result = {\r\n status: 500,\r\n message: \"Erro no servidor.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n return promise;\r\n};\r\n\r\nexport { api_POST, api_PUT, api_DELETE, api_GET, api_GETExternal, api_POST_File };","import Swal from 'sweetalert2'\r\nimport withReactContent from 'sweetalert2-react-content'\r\n\r\nconst swall = withReactContent(Swal)\r\n\r\nexport const showMessage = (title, text, icon, function_confirmation) => {\r\n swall.fire({\r\n title: title,\r\n text: text,\r\n icon: icon,\r\n footer: \"©\" + new Date().getFullYear() + \" CSJ Sistemas\"\r\n }).then(() => {\r\n if(function_confirmation !== null)\r\n function_confirmation();\r\n })\r\n};\r\n\r\nexport const showQuestion = (title, text, icon, function_confirmation) => {\r\n swall.fire({\r\n title: title,\r\n text: text,\r\n icon: icon,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Confirmar',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value) {\r\n if(function_confirmation !== null)\r\n function_confirmation(true);\r\n }\r\n else{\r\n function_confirmation(false);\r\n }\r\n })\r\n};","import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\r\n\r\nimport { removeAllCookies } from '../services/cookies';\r\nimport { setSessionCookie } from '../services/session';\r\nimport { getSessionCookie } from '../services/session';\r\n\r\nimport { api_GET } from '../services/api_service';\r\nimport { showMessage } from '../services/message';\r\n\r\n//Helpers\r\n\r\nfunction initialContext() {\r\n return {\r\n loading: false,\r\n isSignout: false,\r\n session: null\r\n }\r\n}\r\n\r\nexport const AuthContext = createContext(initialContext());\r\n\r\nconst AuthProvider = ({ children }) => {\r\n //Estados de autenticação\r\n const [loading, setLoading] = useState(false);\r\n const [session, setSession] = useState(null);\r\n const [setupSistema, setSetupSistema] = useState(null);\r\n\r\n\r\n const signIn = useCallback(async (data) => {\r\n await setSessionCookie(data);\r\n setSession(data);\r\n }, []);\r\n\r\n const signOut = useCallback(async (token, callback) => {\r\n if (!token) removeAllCookies();\r\n setSession(null);\r\n if (callback) callback();\r\n }, []);\r\n\r\n const loadSetupSistema = useCallback(() => {\r\n setLoading(true);\r\n api_GET('SetupGeral')\r\n .then(result => { setSetupSistema(result.data) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }, []);\r\n\r\n const loadAsync = useCallback(async () => {\r\n setLoading(true);\r\n try {\r\n const data = await getSessionCookie();\r\n setSession(data);\r\n } catch (e) {\r\n console.error(\"Error loading session:\", e);\r\n } finally {\r\n setLoading(false);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n loadSetupSistema();\r\n loadAsync();\r\n }, [loadAsync])\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport function useAuth() {\r\n const context = useContext(AuthContext)\r\n return context;\r\n}\r\n\r\nexport default AuthProvider;","import * as Cookies from \"js-cookie\";\r\n\r\nexport const removeAllCookies = () => {\r\n Object.keys(Cookies.get()).forEach(function(cookie) { \r\n if(cookie !== 'language')\r\n Cookies.remove(cookie);\r\n }); \r\n};\r\n","import moment from \"moment\";\r\n\r\nconst transformValueFormatedtoFloat = (value) =>{\r\n if(value === undefined)\r\n return 0; \r\n if(value === null)\r\n return 0; \r\n\r\n let newValue = value.toString(); \r\n \r\n newValue = newValue.split(\".\").join(\"\");\r\n newValue = newValue.replace(\",\",\".\");\r\n newValue = parseFloat(newValue); \r\n \r\n return newValue;\r\n}\r\n\r\nconst transformValueFloattoFormated = (value) =>{\r\n \r\n let valor = value;\r\n if(!valor)\r\n valor = 0;\r\n \r\n valor = valor.toLocaleString('pt-BR');\r\n let index = valor.indexOf(\",\"); \r\n if(index === -1)\r\n {\r\n valor = valor + ',00';\r\n return valor;\r\n }\r\n\r\n let resultadoDpsDaVirgula = valor.substring(index+1,valor.length); \r\n if(resultadoDpsDaVirgula.length === 1)\r\n valor = valor + '0';\r\n \r\n return valor;\r\n}\r\n\r\nfunction formateMesAno(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('MM/YYYY');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDate(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('DD/MM/YYYY');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDateSemBarra(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('DD-MM-YYYY');\r\n return dateFormated;\r\n}\r\n\r\n\r\nfunction formateDateApi(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('YYYY-MM-DD');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDateandTimeApi(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('YYYY-MM-DD HH:mm:ss');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDateandTime(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('DD/MM/YYYY HH:mm');\r\n return dateFormated;\r\n}\r\n\r\nfunction validateDate(date){\r\n return moment(date, 'DD/MM/YYYY',true).isValid();\r\n}\r\n\r\nfunction convertDate(date){\r\n let dateConvert = date;\r\n dateConvert = moment(date, 'DD/MM/YYYY').toDate();\r\n return dateConvert; \r\n}\r\n\r\nfunction formateRSS(segmento, categoria){\r\n let segmentoConvert = segmento;\r\n segmentoConvert = categoria == \"RSS\" ? segmento.replace(\"Grande\", \"\"): segmento;\r\n return segmentoConvert; \r\n}\r\n\r\nfunction formateMonthName(month){\r\n switch(month){\r\n case 1: return 'Janeiro';\r\n case 2: return 'Fevereiro';\r\n case 3: return 'Março';\r\n case 4: return 'Abril';\r\n case 5: return 'Maio';\r\n case 6: return 'Junho';\r\n case 7: return 'Julho';\r\n case 8: return 'Agosto';\r\n case 9: return 'Setembro';\r\n case 10: return 'Outubro';\r\n case 11: return 'Novembro';\r\n case 12: return 'Dezembro';\r\n }\r\n}\r\n\r\nexport { \r\n transformValueFormatedtoFloat,\r\n transformValueFloattoFormated,\r\n formateDate,\r\n formateDateandTime,\r\n validateDate,\r\n convertDate, \r\n formateDateApi,\r\n formateDateandTimeApi,\r\n formateMesAno,\r\n formateMonthName,\r\n formateDateSemBarra,\r\n formateRSS\r\n};","export const table_translate = {\r\n body: {\r\n emptyDataSourceMessage: 'Sem dados para exibir',\r\n deleteText: 'Tem de que deseja excluir esta linha?',\r\n emptyDataSourceMessage: 'Sem dados para exibir',\r\n addTooltip: 'Adicionar',\r\n deleteTooltip: 'Deletar',\r\n editTooltip: 'Editar',\r\n filterRow: {\r\n filterPlaceHolder: 'Filtrar',\r\n filterTooltip: 'Filtrar',\r\n },\r\n editRow: {\r\n deleteText: 'Tem certeza de que deseja excluir?',\r\n cancelTooltip: 'Cancelar',\r\n saveTooltip: 'Salvar',\r\n },\r\n },\r\n grouping: {\r\n placeholder: 'Arraste o título da coluna para agrupar as linhas',\r\n groupedBy: 'Agrupar por: ',\r\n },\r\n header: {\r\n actions: '',\r\n },\r\n pagination: {\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n labelRowsSelect: 'linhas',\r\n labelRowsPerPage: 'Linhas por página: ',\r\n firstAriaLabel: 'Primeira página',\r\n firstTooltip: 'Primeira página',\r\n previousAriaLabel: 'Página anterior',\r\n previousTooltip: 'Página anterior',\r\n nextAriaLabel: 'Próxima página',\r\n nextTooltip: 'Próxima página',\r\n lastAriaLabel: 'Última página',\r\n lastTooltip: 'Última página',\r\n },\r\n toolbar: {\r\n addRemoveColumns: 'Adicionar ou remover colunas',\r\n nRowsSelected: '{0} linhas(s) selecionadas',\r\n showColumnsTitle: 'Mostrar colunas',\r\n showColumnsAriaLabel: 'Mostrar colunas',\r\n exportTitle: 'Exportar',\r\n exportAriaLabel: 'Exportar',\r\n exportName: 'Exportar como CSV',\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquise aqui...',\r\n },\r\n }\r\n\r\n export const table_style = \r\n {\r\n headerStyle: {\r\n fontFamily:'Montserrat, Helvetica Neue, Arial, sans-serif',\r\n fontWeight:'700',\r\n color:'#888'\r\n } \r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport Check from '@material-ui/icons/Check';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport { getSessionCookie } from 'services/session';\r\n\r\n \r\nexport default function CustomizedSteppers({stepValue,steps}) {\r\n const classes = useStyles(); \r\n const session = getSessionCookie();\r\n \r\n return (\r\n
\r\n \r\n }>\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n
\r\n );\r\n }\r\n\r\nconst useQontoStepIconStyles = makeStyles({\r\n root: {\r\n color: '#eaeaf0',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n },\r\n active: {\r\n color: '#784af4',\r\n },\r\n circle: {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n completed: {\r\n color: '#784af4',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n});\r\n\r\nfunction QontoStepIcon(props) {\r\n const classes = useQontoStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n return (\r\n \r\n {completed ? :
}\r\n
\r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 22,\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundImage:\r\n 'linear-gradient(to right, #134e5e, #71b280);',\r\n },\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundImage:\r\n 'linear-gradient( 136deg, rgb(0,113,33) 0%, rgb(0,87,64) 50%, rgb(0,135,35) 100%)',\r\n },\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#eaeaf0',\r\n borderRadius: 1,\r\n },\r\n})(StepConnector);\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n background: '#eaeaf0;',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 50,\r\n height: 50,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n active: {\r\n background: '#65a57c', \r\n //'linear-gradient(to left, #134e5e, #71b280);',\r\n backgroundClip: 'content-box',\r\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n animation:' move 0.8s linear infinite',\r\n animationDirection: 'reverse'\r\n },\r\n completed: {\r\n backgroundImage:\r\n 'linear-gradient(to left, #134e5e, #71b280);',\r\n } \r\n});\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const classes = useColorlibStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: ,\r\n 4: ,\r\n 5: ,\r\n 6: ,\r\n 7: ,\r\n 8: ,\r\n };\r\n\r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n \r\n );\r\n}\r\n\r\nColorlibStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool,\r\n /**\r\n * The label displayed in the step icon.\r\n */\r\n icon: PropTypes.node,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n backgroundColor:'transparent'\r\n },\r\n button: {\r\n marginRight: theme.spacing(1),\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n root: {\"& .MuiPaper-root\": {\r\n backgroundColor: \"transparent\"\r\n }}\r\n}));\r\n","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Row, Col, FormGroup, Input } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../services/message.js\";\r\nimport { api_POST, api_GET } from \"../../services/api_service.js\";\r\nimport { formateDateApi } from \"../../helpers/formats\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function AcoesGestor({ requerimento, handleReturn }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n useEffect(() => {\r\n set_registro(requerimento);\r\n if (requerimento?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Enquadramento\" || requerimento?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Análise\")\r\n loadOptionsEnquadramento();\r\n }, []);\r\n\r\n\r\n // Enquadramento\r\n const [options_enquadramento, set_options_enquadramento] = React.useState([]);\r\n const [enquadramento, set_enquadramento] = React.useState(null);\r\n const loadOptionsEnquadramento = () => {\r\n api_GET('enquadramento')\r\n .then(result => set_options_enquadramento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleEnquadramento = (value) => {\r\n set_enquadramento(value);\r\n setValue(\"enquadramento\", value, true);\r\n clearErrors(\"enquadramento\");\r\n }\r\n\r\n const handleAguardandoAnalise = (aprovacao) => {\r\n if ((registro.setupSolicitacaoAcao.acao == \"Novo Cadastro\" || registro.setupSolicitacaoAcao.acao == \"Renovação\")\r\n && enquadramento == null && registro.setupSolicitacaoAcao.enquadramentoObrigatorio) {\r\n showMessage(\"Aviso\", \"Selecione o Enquadramento\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n let json_submit = {\r\n requerimentoAnaliseGestor_Id: 0,\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAnalise: formateDateApi(new Date()),\r\n usuarioAnalise_Id: session.usuario_Id,\r\n enquadramento_Id: enquadramento != null ? enquadramento.enquadramento_Id : null,\r\n aceite: aprovacao,\r\n observacao: data.observacao,\r\n codigoSistemaPrefeitura: data.codigoSistemaPrefeitura\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAnaliseGestor', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n }\r\n\r\n const handleAguardandoEnquadramento = () => {\r\n if ((registro.setupSolicitacaoAcao.acao == \"Novo Cadastro\" || registro.setupSolicitacaoAcao.acao == \"Renovação\")\r\n && enquadramento == null && registro.setupSolicitacaoAcao.enquadramentoObrigatorio) {\r\n showMessage(\"Aviso\", \"Selecione o Enquadramento\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAnalise: formateDateApi(new Date()),\r\n usuarioAnalise_Id: session.usuario_Id,\r\n enquadramento_Id: enquadramento != null ? enquadramento.enquadramento_Id : null,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAnaliseEnquadramento', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n }\r\n\r\n const handleAguardandoAprovacao = (aprovacao) => {\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAprovacao: formateDateApi(new Date()),\r\n usuarioAprovacao_Id: session.usuario_Id,\r\n autorizado: aprovacao,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAprovacao', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAguardandoCompensacao = () => {\r\n api_GET('AnaliseRequerimento/AtualizaStatusCobranca/' + registro.requerimento_Id)\r\n .then(result => {\r\n if (result.data) {\r\n showMessage(\"Aviso\", \"Pagamento Confirmado!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"O pagamento ainda não foi confirmado!\", 'success', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAguardandoDiarioOficial = () => {\r\n let data = getValues();\r\n if (data.dataPublicacao == \"\") {\r\n showMessage(\"Aviso\", \"Informe a data de publicação!\", 'error', null);\r\n return;\r\n }\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n usuarioPublicacao_Id: session.usuario_Id,\r\n dataPublicao: formateDateApi(data.dataPublicacao),\r\n requerimentoLaudaDiarioOficial_Id: 0\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoPublicacaoDiarioOficial', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAguardandoFiscalizacao = (aprovacao) => {\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataFiscalizacao: formateDateApi(new Date()),\r\n usuarioFiscalizacao_Id: session.usuario_Id,\r\n autorizado: aprovacao,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoFiscalizacao', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleCancelarRequerimento = () => {\r\n showQuestion('Atenção', 'Deseja cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null;\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostCancelaRequerimento/${registro.requerimento_Id}/` + usuario_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n usuarioEmissao_Id: session.usuario_Id,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAprovacaoGuia = (aprovacao) => {\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAprovacao: formateDateApi(new Date()),\r\n usuarioAprovacao_Id: session.usuario_Id,\r\n aprovado: aprovacao,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAprovacaoPagamento', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleEmailCobranca = () => {\r\n setLoading(true);\r\n api_GET(`AnaliseRequerimento/ReenviarCobrancaEmail/${requerimento.requerimento_Id}`)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleEmailAgendamentoVistoria = () => {\r\n setLoading(true);\r\n api_GET(`AnaliseRequerimento/ReenviarAgendamentoVistoriaEmail/${requerimento.requerimento_Id}`)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleBaixaManual = () => {\r\n setLoading(true);\r\n api_POST(`AnaliseRequerimento/BaixaManualBoletoRequerimento/${requerimento.requerimento_Id}/${session.usuario_Id}`)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n {registro != null && (registro.status == \"Pendente\" || registro.status == \"Em Andamento\" || registro.status == \"Divergente\") &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo != \"Aguardando Compensação\" &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo != \"Vistoria\" &&\r\n
\r\n

Ação

\r\n
\r\n
\r\n }\r\n\r\n {registro != null && (registro.status == \"Pendente\" || registro.status == \"Em Andamento\" || registro.status == \"Divergente\") &&\r\n registro?.setupSolicitacaoAcao?.cancelarRequerimentos == true &&\r\n \r\n handleCancelarRequerimento()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Cancelar Requerimento\r\n \r\n \r\n }\r\n\r\n {registro != null && registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Análise\" &&\r\n
\r\n {registro.setupSolicitacaoAcao.enquadramentoObrigatorio &&\r\n !(registro.setupSolicitacaoAcao.acao == \"Cancelamento\" &&\r\n registro.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n registro.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\"\r\n ) &&\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.enquadramento_Id}\r\n onChange={(e) => { handleEnquadramento(e) }}\r\n value={enquadramento != null && options_enquadramento.find(obj => obj.enquadramento_Id === enquadramento.enquadramento_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"enquadramento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.enquadramento && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n {(registro.setupSolicitacaoAcao.acao == \"Novo Cadastro\" || registro.setupSolicitacaoAcao.acao == \"Renovação\") &&\r\n setupSistema && setupSistema.informarCodigoSistemaPrefeitura &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoAnalise(true)}\r\n className=\"btn-mobile\" type=\"button\"\r\n >\r\n Aprovar\r\n \r\n handleAguardandoAnalise(false)}\r\n className=\"btn-mobile\" type=\"button\"\r\n >\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null && registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Aprovação\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoAprovacao(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Aprovar\r\n \r\n handleAguardandoAprovacao(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\">\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {/* Solicitar Fiscalização */}\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Compensação\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n
\r\n \r\n \r\n handleAguardandoCompensacao()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Atualizar Cobranças\r\n \r\n handleBaixaManual()}\r\n className=\"btn-mobile\" type=\"button\"\r\n >\r\n Confirmar baixa manual\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Diário Oficial\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.dataPublicacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n handleAguardandoDiarioOficial()}\r\n className=\"btn-mobile\"\r\n type=\"button\">\r\n Confirmar Publicação\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Fiscalização\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoFiscalizacao(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Aprovar\r\n \r\n handleAguardandoFiscalizacao(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n
\r\n \r\n \r\n {registro.requerimentoCobrancas.length > 0 &&\r\n handleAguardandoCompensacao()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Atualizar Cobranças\r\n \r\n }\r\n handleBaixaManual()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Confirmar baixa manual\r\n \r\n handleEmitirGuia()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\r\n \r\n \r\n \r\n
\r\n }\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Aprovação de Guia\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAprovacaoGuia(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n > Aprovar\r\n handleAprovacaoGuia(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Compensação\" &&\r\n
\r\n \r\n \r\n handleEmailCobranca()}\r\n className=\"btn-mobile\"\r\n type=\"button\">\r\n Reenviar Email de Cobrança\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Vistoria\" &&\r\n
\r\n \r\n \r\n handleEmailAgendamentoVistoria()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reenviar Email de Agendamento\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Enquadramento\" &&\r\n
\r\n {registro.setupSolicitacaoAcao.enquadramentoObrigatorio &&\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.enquadramento_Id}\r\n onChange={(e) => { handleEnquadramento(e) }}\r\n value={enquadramento != null && options_enquadramento.find(obj => obj.enquadramento_Id === enquadramento.enquadramento_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"enquadramento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.enquadramento && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoEnquadramento()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Confirmar\r\n \r\n \r\n \r\n
\r\n }\r\n \r\n );\r\n} ","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport { useHistory } from \"react-router\";\r\n\r\n// Reactstrap components\r\nimport { Button, Col, Container, Modal, ModalBody, ModalFooter, Row } from \"reactstrap\";\r\nimport Form from \"reactstrap/lib/Form\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateandTime, formateDate, transformValueFloattoFormated } from \"helpers/formats\";\r\n\r\n// services\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\n\r\n// views\r\nimport AcoesGestor from \"../../../views/Shared/AcoesGestor\";\r\nimport { api_POST } from \"../../../services/api_service\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaRequerimento({ item, handleReturn, showAcoesGestor }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [stepAtual, set_stepAtual] = React.useState(0);\r\n const [steps, set_steps] = React.useState([]);\r\n\r\n // pegar as justificativas feitas no protocolo na tela de manutenção\r\n const [justificativaList, setJustificativaList] = React.useState([]);\r\n\r\n const [isLoadingEmitirGuia, setIsLoadingEmitirGuia] = React.useState(false);\r\n\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n\r\n const laodJustificativasProtocolo = () => {\r\n api_GET(`protocolo/GetJustificativaManuntecaoProtocolo/${item.protocolo_Id}`)\r\n .then(result => setJustificativaList(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [existAcaoDocumento, setExistAcaoDocumento] = useState(null);\r\n const loadItem = () => {\r\n //verifica se a ação teve o step de documento\r\n api_GET('setupSolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n if (item.etapaCadastro == 0 && existAcaoDocumento > 0) {\r\n showMessage(\"Aviso\", \"No momento não é possivel visualizar os dados em andamento, porque o Requerimento ainda não passou da tela de identificação.\", \"warning\", null)\r\n handleReturn();\r\n }\r\n\r\n if (document.querySelector('.main-panel') != null)\r\n document.querySelector('.main-panel').scrollTop = 0;\r\n\r\n set_requerimento(item);\r\n setTimeout(() => {\r\n if (item.fluxoCadastroEtapaAtual != null)\r\n set_stepAtual(item.fluxoCadastroEtapaAtual.ordem - 1);\r\n }, 1000);\r\n }\r\n\r\n const openGuiaCobranca = (rowData) => {\r\n const arquivoPDF = rowData.logCobrancas.filter(l => l.nomeArquivo != null);\r\n const linkSource = `data:application/pdf;base64,${arquivoPDF[0].nomeArquivo}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = requerimento.numeroRequerimento + \".pdf\";\r\n\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const loadSteps = () => {\r\n api_GET('FluxoCadastro/BySetupSolicitacaoAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data != null) {\r\n let etapas = [];\r\n result.data.fluxoCadastroEtapas.sort(function (a, b) { return a.ordem - b.ordem }).map(m => {\r\n etapas.push(m.tipo);\r\n })\r\n set_steps(etapas);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [historicoAnaliseGestor, set_historicoAnaliseGestor] = React.useState([]);\r\n const loadHistoricoAnaliseGestor = () => {\r\n api_GET('requerimento/GetHistoricoAprovacaoRequerimento/' + item.requerimento_Id)\r\n .then(result => set_historicoAnaliseGestor(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n laodJustificativasProtocolo();\r\n }, []);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id\r\n }\r\n\r\n setIsLoadingEmitirGuia(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas na tela de manunteçã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 {justificativaList.length > 0 && justificativaList.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {isLoadingEmitirGuia &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {!isLoadingEmitirGuia && requerimento != null &&\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {handleReturn != null &&\r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].nome_Fantasia : requerimento.protocolo.protocoloTransportador[0].nome_Fantasia}
\r\n
\r\n
\r\n
{requerimento.cpf_Cnpj}
\r\n
\r\n
\r\n

Razão Social: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].razaoSocial : requerimento.protocolo.protocoloTransportador[0].razaoSocial}

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

CCM: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].ccm : requerimento.protocolo.protocoloTransportador[0].ccm}

\r\n
\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n
\r\n

Ramo: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].ramoAtividade : requerimento.protocolo.protocoloTransportador[0].ramoAtividade}

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

Tipo de Indústria / Coméricio: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].tipoIndustriaComercio : requerimento.protocolo.protocoloTransportador[0].tipoIndustriaComercio}

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

CEP: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].cep : requerimento.protocolo.protocoloTransportador[0].cep}

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

Endereço: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].logradouro + \", \" + requerimento.requerimentoTransportador[0].numEndereco + \", \" + requerimento.requerimentoTransportador[0].complemento : requerimento.protocolo.protocoloTransportador[0].logradouro + \", \" + requerimento.protocolo.protocoloTransportador[0].numEndereco}

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

Bairro: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].bairro : requerimento.protocolo.protocoloTransportador[0].bairro}

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

Cidade: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].cidade : requerimento.protocolo.protocoloTransportador[0].cidade}

\r\n
\r\n
\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && justificativaList.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n

Responsável

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].nomeResponsavel : requerimento.protocolo.protocoloTransportador[0].nomeResponsavel}
\r\n
\r\n
\r\n
{requerimento.email}
\r\n
\r\n
\r\n

Telefone: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].telefone : requerimento.protocolo.protocoloTransportador[0].telefone}

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

Celular: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].celular : requerimento.protocolo.protocoloTransportador[0].celular}

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

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

\r\n
\r\n
\r\n Número :

{requerimento.numeroRequerimento}

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

{requerimento.status}

\r\n
\r\n
\r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor != null &&\r\n
\r\n
\r\n Divergência:

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoMotivoCancelamento.length > 0 &&\r\n
\r\n
\r\n

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorVeiculo != null && requerimento.requerimentoTransportadorVeiculo.length > 0 &&\r\n
\r\n
\r\n

Veículos

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorVeiculo.map((item, key) => (\r\n
\r\n
\r\n
\r\n Placa:

{item.placa}

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

{item.tipo}

\r\n
\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n
\r\n Modalidades: {item.requerimentoTransportadorVeiculoModalidade && item.requerimentoTransportadorVeiculoModalidade.map((item, key) => (\r\n

{item.modalidade}

))}\r\n
}\r\n
\r\n Marca/Modelo:

{item.marca}

\r\n
\r\n
\r\n Ano Fabricação:

{item.anoFabricacao}

\r\n
\r\n
\r\n Ano Fab. Equip.:

{item.anoFabricacaoEquipamento}

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

{item.cor}

\r\n
\r\n
\r\n Tara (kg):

{item.tara}

\r\n
\r\n
\r\n Capacidade (kg):

{item.capacidadeCarga}

\r\n
\r\n
\r\n Volume (m³):

{transformValueFloattoFormated(item.volume)}

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

{item.numeroRenavam}

\r\n
\r\n
\r\n Proprietário ou Locado:

{item.proprietarioOuLocado}

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

{item.status}

\r\n
\r\n
\r\n {item.requerimentoTransportadorAgendamento.length > 0 &&\r\n
\r\n
\r\n Agendamento da Vistoria:

{formateDate(item.requerimentoTransportadorAgendamento[0].dataHora)}

\r\n
\r\n
\r\n Situação do Agendamento:

{item.requerimentoTransportadorAgendamento[0].situacao}

\r\n
\r\n {item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria.length > 0 &&\r\n <>\r\n
\r\n Data da Vistoria:

{formateDate(item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria[0].dataHoraAtualizacao)}

\r\n
\r\n
\r\n Situação da Vistoria:

{item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria[0].situacao}

\r\n
\r\n
\r\n Observações:

{item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria[0].observacao}

\r\n
\r\n \r\n \r\n }\r\n
\r\n }\r\n
\r\n {item.arquivoRenavam != null && }\r\n {item.arquivoInspecaoInmetro != null && }\r\n {item.arquivoComprovanteTara != null && }\r\n {item.arquivoComodato != null && }\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorLocalGuarda != null && requerimento.requerimentoTransportadorLocalGuarda.length > 0 &&\r\n
\r\n
\r\n

Locais de Guarda de Veículo

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorLocalGuarda.map((item, key) => (\r\n
\r\n
\r\n
\r\n CEP:

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

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

{item.status}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorLocalDestino != null && requerimento.requerimentoTransportadorLocalDestino.length > 0 &&\r\n
\r\n
\r\n

Locais de Destinação

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorLocalDestino.map((item, key) => (\r\n
\r\n
\r\n
\r\n CNPJ:

{item.cnpj}

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

{item.fantasia}

\r\n
\r\n
\r\n Razão Social:

{item.razaoSocial}

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

{item.status}

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

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

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

{item.cidade}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorEquipamento != null && requerimento.requerimentoTransportadorEquipamento.length > 0 &&\r\n
\r\n
\r\n

Equipamentos

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorEquipamento.map((item, key) => (\r\n
\r\n
\r\n
\r\n Número:

{item.numeroEquipamento}

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

{item.tipo}

\r\n
\r\n
\r\n Dimensão:

{item.dimensao}

\r\n
\r\n
\r\n Capacidade (m³):

{item.capacidadeVolume}

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

{item.status}

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

Documentos

\r\n
\r\n
\r\n\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n\r\n {session != null && requerimento && !!requerimento?.observacaoRequerente &&\r\n
\r\n
\r\n

Observações do Requerente

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

{requerimento?.observacaoRequerente}

\r\n
\r\n
\r\n }\r\n\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n
\r\n
\r\n

Cobranças

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataVencimento) },\r\n {\r\n title: 'Último Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? formateDateandTime(rowData.logCobrancas[rowData.logCobrancas.length - 1].dataHora) : \"\"\r\n },\r\n {\r\n title: 'Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? rowData.logCobrancas[rowData.logCobrancas.length - 1].retorno : \"\"\r\n },\r\n ]}\r\n data={requerimento.requerimentoCobrancas}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar',\r\n onClick: (event, rowData) => openGuiaCobranca(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {historicoAnaliseGestor.length > 0 &&\r\n
\r\n
\r\n

Histórico de Análise Gestor

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataAnalise) },\r\n { title: 'Usuário', field: 'usuarioAnalise_Nome' },\r\n { title: 'Aprovado', field: 'aceite', render: (rowData) => rowData.aceite ? \"Sim\" : \"Não\" },\r\n { title: 'Observação', field: 'observacao' },\r\n { title: 'Data de Aceite', field: 'dataAceite', render: (rowData) => rowData.dataAceite ? formateDateandTime(rowData.dataAceite) : \"\" },\r\n ]}\r\n data={historicoAnaliseGestor}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Email\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.length > 0 &&\r\n
\r\n
\r\n

Comprovante de Pagamento

\r\n
\r\n
\r\n {requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.map((m, key) => {\r\n return \r\n })}\r\n
\r\n }\r\n {showAcoesGestor && session != null && session.tipoAcesso == \"AreaRestrita\" && requerimento != null && requerimento.status != \"Finalizado\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n \r\n {\r\n if (requerimento?.requerimentoCobrancas.filter(x => x.status == \"Pendente\").length > 0) {\r\n showMessage(\"Aviso\", \"Não é permitido emitir um novo boleto, pois você tem boletos pendentes.\", \"warning\", null);\r\n return;\r\n } else {\r\n handleEmitirGuia();\r\n }\r\n }}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\r\n \r\n
\r\n }\r\n
\r\n
\r\n \r\n }\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container, Modal, ModalBody, ModalFooter, Input } from \"reactstrap\";\r\nimport Form from \"reactstrap/lib/Form\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\n\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateandTime } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\n\r\n// views\r\nimport AcoesGestor from \"../../../views/Shared/AcoesGestor\";\r\nimport { api_POST } from \"../../../services/api_service\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function FichaRequerimento({ item, handleReturn, showAcoesGestor }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n const [stepAtual, set_stepAtual] = useState(0);\r\n const [steps, set_steps] = useState([]);\r\n\r\n // pegar as justificativas feitas no protocolo na tela de manutenção\r\n const [justificativaList, setJustificativaList] = React.useState([]);\r\n\r\n const [isLoadingEmitirGuia, setIsLoadingEmitirGuia] = React.useState(false);\r\n\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n //State para modal do contrato\r\n const [modalContrato, set_modalContrato] = useState(false);\r\n\r\n //State Para adicionar os contratos em cada local\r\n const [listContratoLocal, set_listcontratoLocal] = useState([]);\r\n\r\n const toggleModalContrato = () => set_modalContrato(!modalContrato);\r\n\r\n\r\n const laodJustificativasProtocolo = () => {\r\n api_GET(`protocolo/GetJustificativaManuntecaoProtocolo/${item.protocolo_Id}`)\r\n .then(result => setJustificativaList(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n }\r\n\r\n // Mapa \r\n const [modalMapaOpen, set_modalMapaOpen] = useState(false);\r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalOpen = (geoLocalizacao) => {\r\n if (geoLocalizacao && geoLocalizacao.split(';').length > 1) {\r\n setCenterMap([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n set_modalMapaOpen(true);\r\n }\r\n }\r\n\r\n const [existAcaoDocumento, setExistAcaoDocumento] = useState(null);\r\n const loadItem = () => {\r\n //verifica se a ação teve o step de documento\r\n api_GET('setupSolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n\r\n if (item.etapaCadastro == 0 && existAcaoDocumento > 0) {\r\n showMessage(\"Aviso\", \"No momento não é possivel visualizar os dados em andamento, porque o Requerimento ainda não passou da tela de identificação.\", \"warning\", null)\r\n handleReturn();\r\n }\r\n\r\n set_requerimento(item);\r\n\r\n if (item.fluxoCadastroEtapaAtual != null)\r\n set_stepAtual(item.fluxoCadastroEtapaAtual.ordem - 1);\r\n }\r\n\r\n const openGuiaCobranca = (rowData) => {\r\n const arquivoPDF = rowData.logCobrancas.filter(l => l.nomeArquivo != null);\r\n const linkSource = `data:application/pdf;base64,${arquivoPDF[0].nomeArquivo}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = requerimento.numeroRequerimento + \".pdf\";\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const openArquivoContrata = (rowData) => {\r\n const linkSource = `data:application/pdf;base64,${rowData.arquivoContrato}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = \"ContratoLocal.pdf\";\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const loadSteps = () => {\r\n api_GET('FluxoCadastro/BySetupSolicitacaoAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data != null) {\r\n let etapas = [];\r\n result.data.fluxoCadastroEtapas.sort(function (a, b) { return a.ordem - b.ordem }).map(m => {\r\n etapas.push(m.tipo);\r\n })\r\n set_steps(etapas);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n const [historicoAnaliseGestor, set_historicoAnaliseGestor] = useState([]);\r\n const loadHistoricoAnaliseGestor = () => {\r\n api_GET('requerimento/GetHistoricoAprovacaoRequerimento/' + item.requerimento_Id)\r\n .then(result => set_historicoAnaliseGestor(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n laodJustificativasProtocolo();\r\n }, []);\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id\r\n }\r\n\r\n setIsLoadingEmitirGuia(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas na tela de manunteçã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 {justificativaList.length > 0 && justificativaList.map((justificativa, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n }\r\n >\r\n Contratos\r\n \r\n \r\n \r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivoContrato, '_blank')\r\n }]}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {isLoadingEmitirGuia &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {!isLoadingEmitirGuia && requerimento != null &&\r\n
\r\n \r\n \r\n \r\n {handleReturn != null &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

\r\n
\r\n \r\n
\r\n \r\n \r\n
{requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].nome_Fantasia : requerimento.protocolo.protocoloGerador[0].nome_Fantasia}
\r\n \r\n \r\n
{requerimento.cpf_Cnpj}
\r\n \r\n \r\n

Razão Social: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].razaoSocial : requerimento.protocolo.protocoloGerador[0].razaoSocial}

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

CCM: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].ccm : requerimento.protocolo.protocoloGerador[0].ccm}

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

Código Cadastro: {item.protocolo.codigoCadastro != null ? item.protocolo.codigoCadastro : \"\"}

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

Ramo: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].ramoAtividade != null ? requerimento.requerimentoGerador[0].ramoAtividade : requerimento.protocolo.protocoloGerador[0].ramoAtividade}

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

Tipo de Indústria / Coméricio: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].tipoIndustriaComercio != null ? requerimento.requerimentoGerador[0].tipoIndustriaComercio : requerimento.protocolo.protocoloGerador[0].tipoIndustriaComercio}

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

CEP: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].cep : requerimento.protocolo.protocoloGerador[0].cep}

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

Endereço: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].logradouro + \", \" + requerimento.requerimentoGerador[0].numEndereco + \", \" + requerimento.requerimentoGerador[0].complemento : requerimento.protocolo.protocoloGerador[0].logradouro + \", \" + requerimento.protocolo.protocoloGerador[0].numEndereco}

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

Bairro: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].bairro : requerimento.protocolo.protocoloGerador[0].bairro}

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

Cidade: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].cidade : requerimento.protocolo.protocoloGerador[0].cidade}

\r\n \r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Tipo Estabelecimento: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].tipoEstabelecimento != null ? requerimento.requerimentoGerador[0].tipoEstabelecimento.descricao\r\n : (requerimento.protocolo.protocoloGerador[0].tipoEstabelecimento == null ? \"\" : requerimento.protocolo.protocoloGerador[0].tipoEstabelecimento.descricao)}

\r\n \r\n }\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento != null &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

\r\n Quantidade Leitos Ativos: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].quantidadeLeitosAtivos != null ? requerimento.requerimentoGerador[0].quantidadeLeitosAtivos : requerimento.protocolo.protocoloGerador[0].quantidadeLeitosAtivos}\r\n

\r\n \r\n }\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento != null &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

\r\n Quantidade Leitos Inativos: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].quantidadeLeitosInativos != null ? requerimento.requerimentoGerador[0].quantidadeLeitosInativos : requerimento.protocolo.protocoloGerador[0].quantidadeLeitosInativos}\r\n

\r\n \r\n }\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Classificação Estabelecimento: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].classificacaoEstabelecimento != null ? requerimento.requerimentoGerador[0].classificacaoEstabelecimento.descricao\r\n : (requerimento.protocolo.protocoloGerador[0].classificacaoEstabelecimento == null ? \"\" : requerimento.protocolo.protocoloGerador[0].classificacaoEstabelecimento.descricao)}

\r\n \r\n }\r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && justificativaList.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n \r\n
\r\n {requerimento?.setupSolicitacaoAcao?.setupSolicitacao?.categoria.sigla == \"RGG\" && requerimento?.setupSolicitacaoAcao?.setupSolicitacao?.categoria.segmento == \"Grande Gerador\" &&\r\n \r\n \r\n

Dados Adicionais

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

Número de Colaboradores: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].numeroColaboradores : requerimento.protocolo.protocoloGerador[0].numeroColaboradores}

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

Consumo mensal de Energia: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].consumoMensalAgua : requerimento.protocolo.protocoloGerador[0].consumoMensalAgua}

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

Consumo Mensal de Água: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].consumoMensalAgua : requerimento.protocolo.protocoloGerador[0].consumoMensalAgua}

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

Local do Empreendimento: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].localEmpreendimento : requerimento.protocolo.protocoloGerador[0].localEmpreendimento}

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

Área total (m²): {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0]?.areaTotal?.toString().replace(\".\", \",\") : requerimento.protocolo.protocoloGerador[0].areaTotal?.toString().replace(\".\", \",\")}

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

Área Construída (m²): {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].areaConstruida?.toString().replace(\".\", \",\") : requerimento.protocolo.protocoloGerador[0].areaConstruida?.toString().replace(\".\", \",\")}

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

Responsável

\r\n
\r\n \r\n
\r\n \r\n \r\n
{requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].nomeResponsavel : requerimento.protocolo.protocoloGerador[0].nomeResponsavel}
\r\n \r\n \r\n
{requerimento.email}
\r\n \r\n \r\n

Telefone: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].telefone : requerimento.protocolo.protocoloGerador[0].telefone}

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

Celular: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].celular : requerimento.protocolo.protocoloGerador[0].celular}

\r\n \r\n
\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n <>\r\n \r\n \r\n

Responsável Técnico

\r\n
\r\n \r\n
\r\n \r\n \r\n
{requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].nomeResponsavelTecnico : requerimento.protocolo.protocoloGerador[0].nomeResponsavelTecnico}
\r\n \r\n \r\n

Tipo Documento: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].tipoDocumentoResponsavelTecnico : requerimento.protocolo.protocoloGerador[0].tipoDocumentoResponsavelTecnico}

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

Número Documento: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].numeroDocumentoResponsavelTecnico : requerimento.protocolo.protocoloGerador[0].numeroDocumentoResponsavelTecnico}

\r\n \r\n \r\n {\r\n (requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].arquivoCertificadoResponsavelTecnico != null) ?\r\n Certificado Curso\r\n : \"\"\r\n }\r\n \r\n
\r\n \r\n }\r\n \r\n \r\n

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

\r\n \r\n \r\n Número :

{requerimento.numeroRequerimento}

\r\n \r\n \r\n Data Solicitação:

{formateDateandTime(requerimento.dataCriacaoRequerimento)}

\r\n \r\n \r\n Data Atualização:

{formateDateandTime(requerimento.dataUltimaAcao)}

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

{requerimento.status}

\r\n \r\n {requerimento.status == \"Divergente\" &&\r\n \r\n Divergência:

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n \r\n }\r\n
\r\n {requerimento.requerimentoMotivoCancelamento.length > 0 &&\r\n \r\n \r\n

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

\r\n \r\n
\r\n }\r\n {requerimento.requerimentoGeradorCaracterizacaoResiduo != null && requerimento.requerimentoGeradorCaracterizacaoResiduo.length > 0 &&\r\n \r\n \r\n

Caracterização dos Resíduos

\r\n
\r\n \r\n \r\n \r\n \r\n Grupo\r\n \r\n !!x.caracterizacaoResiduosConama.grupo).length > 0 ? \"1\" : \"2\"}>\r\n Código\r\n \r\n \r\n Tipo\r\n \r\n \r\n Descrição\r\n \r\n \r\n Quantidade\r\n \r\n \r\n {requerimento.requerimentoGeradorCaracterizacaoResiduo.map((item, key) => (\r\n
\r\n \r\n \r\n

{item.caracterizacaoResiduosConama.grupo ?? \"\"}

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

{item.caracterizacaoResiduosConama.codigo ?? \"\"}

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

{item.caracterizacaoResiduosConama.tipo ?? \"\"}

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

{item.caracterizacaoResiduosConama.descricao}

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

{item.quantidadeEstimada} {requerimento.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RSS\" ? 'Kg/dia' : 'Litros/dia'}

\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {requerimento.requerimentoGeradorLocalArmazenagem != null && requerimento.requerimentoGeradorLocalArmazenagem.length > 0 &&\r\n \r\n \r\n

Locais de Armazenagem

\r\n
\r\n \r\n \r\n {requerimento.requerimentoGeradorLocalArmazenagem.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {requerimento.requerimentoGeradorLocal != null && requerimento.requerimentoGeradorLocal.length > 0 &&\r\n \r\n \r\n

Locais de Coleta

\r\n
\r\n \r\n \r\n {requerimento.requerimentoGeradorLocal.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

\r\n \r\n \r\n {item.geoLocalizacao != null &&\r\n \r\n }\r\n\r\n {item?.requerimentoGeradorLocalContratos?.length > 0 &&\r\n {\r\n set_listcontratoLocal(item?.requerimentoGeradorLocalContratos);\r\n set_modalContrato(true);\r\n }}\r\n >\r\n Contratos\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {requerimento.requerimentoGerador != null && requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].requerimentoGeradorClasseResiduo != null && requerimento.requerimentoGerador[0].requerimentoGeradorClasseResiduo.length > 0 &&\r\n \r\n \r\n

Classes de Resíduo

\r\n
\r\n \r\n \r\n {requerimento.requerimentoGerador[0].requerimentoGeradorClasseResiduo.map((item, key) => (\r\n
\r\n \r\n \r\n Classe:

{item.classeResiduo.descricao}

\r\n \r\n \r\n Quantidade Estimada (Kg):

{item.quantidadeEstimada}

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

Documentos

\r\n
\r\n \r\n\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && requerimento && !!requerimento?.observacaoRequerente &&\r\n \r\n \r\n

Observações do Requerente

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

{requerimento?.observacaoRequerente}

\r\n \r\n
\r\n }\r\n\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n \r\n \r\n

Cobranças

\r\n
\r\n \r\n\r\n formateDateandTime(rowData.dataVencimento) },\r\n {\r\n title: 'Último Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? formateDateandTime(rowData.logCobrancas[rowData.logCobrancas.length - 1].dataHora) : \"\"\r\n },\r\n {\r\n title: 'Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? rowData.logCobrancas[rowData.logCobrancas.length - 1].retorno : \"\"\r\n },\r\n ]}\r\n data={requerimento.requerimentoCobrancas}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar',\r\n onClick: (event, rowData) => openGuiaCobranca(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {historicoAnaliseGestor.length > 0 &&\r\n \r\n \r\n

Histórico de Análise Gestor

\r\n
\r\n \r\n\r\n formateDateandTime(rowData.dataAnalise) },\r\n { title: 'Usuário', field: 'usuarioAnalise_Nome' },\r\n { title: 'Aprovado', field: 'aceite', render: (rowData) => rowData.aceite ? \"Sim\" : \"Não\" },\r\n { title: 'Observação', field: 'observacao' },\r\n ]}\r\n data={historicoAnaliseGestor}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n\r\n {showAcoesGestor && session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && requerimento != null && requerimento.status != \"Finalizado\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n \r\n {\r\n if (requerimento?.requerimentoCobrancas.filter(x => x.status == \"Pendente\").length > 0) {\r\n showMessage(\"Aviso\", \"Não é permitido emitir um novo boleto, pois você tem boletos pendentes.\", \"warning\", null);\r\n return;\r\n } else {\r\n handleEmitirGuia();\r\n }\r\n }}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\r\n \r\n
\r\n }\r\n \r\n \r\n set_modalMapaOpen(false)} zIndex=\"9999999\">\r\n \r\n
Localização no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n }\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\nimport { useReactToPrint } from 'react-to-print';\r\n\r\n// Reactstrap components\r\nimport { Button, Container, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport Form from \"reactstrap/lib/Form\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateandTime, formateDate } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service\";\r\n\r\n// views\r\nimport AcoesGestor from \"../../../views/Shared/AcoesGestor\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaRequerimento({ item, handleReturn, showAcoesGestor }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [stepAtual, set_stepAtual] = React.useState(0);\r\n const [steps, set_steps] = React.useState([]);\r\n\r\n // pegar as justificativas feitas no protocolo na tela de manutenção\r\n const [justificativaList, setJustificativaList] = React.useState([]);\r\n\r\n const [isLoadingEmitirGuia, setIsLoadingEmitirGuia] = React.useState(false);\r\n\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const laodJustificativasProtocolo = () => {\r\n api_GET(`protocolo/GetJustificativaManuntecaoProtocolo/${item.protocolo_Id}`)\r\n .then(result => setJustificativaList(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, \"error\", null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const [existAcaoDocumento, setExistAcaoDocumento] = useState(null);\r\n const loadItem = () => {\r\n //verifica se a ação teve o step de documento\r\n api_GET('setupSolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n if (item.etapaCadastro == 0 && existAcaoDocumento > 0) {\r\n showMessage(\"Aviso\", \"No momento não é possivel visualizar os dados em andamento, porque o Requerimento ainda não passou da tela de identificação.\", \"warning\", null)\r\n handleReturn();\r\n }\r\n\r\n if (document.querySelector('.main-panel') != null)\r\n document.querySelector('.main-panel').scrollTop = 0;\r\n\r\n set_requerimento(item);\r\n setTimeout(() => {\r\n if (item.fluxoCadastroEtapaAtual != null)\r\n set_stepAtual(item.fluxoCadastroEtapaAtual.ordem - 1);\r\n }, 1000);\r\n }\r\n\r\n const openGuiaCobranca = (rowData) => {\r\n const arquivoPDF = rowData.logCobrancas.filter(l => l.nomeArquivo != null);\r\n const linkSource = `data:application/pdf;base64,${arquivoPDF[0].nomeArquivo}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = requerimento.numeroRequerimento + \".pdf\";\r\n\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const loadSteps = () => {\r\n api_GET('FluxoCadastro/BySetupSolicitacaoAcaoId/' + item.setupSolicitacaoAcao_Id).then(result => {\r\n if (result.data != null) {\r\n let etapas = [];\r\n result.data.fluxoCadastroEtapas.sort(function (a, b) { return a.ordem - b.ordem }).map(m => {\r\n etapas.push(m.tipo);\r\n })\r\n set_steps(etapas);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, \"error\", null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const [historicoAnaliseGestor, set_historicoAnaliseGestor] = React.useState([]);\r\n const loadHistoricoAnaliseGestor = () => {\r\n api_GET('requerimento/GetHistoricoAprovacaoRequerimento/' + item.requerimento_Id)\r\n .then(result => set_historicoAnaliseGestor(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, \"error\", null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n laodJustificativasProtocolo();\r\n }, []);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id\r\n }\r\n\r\n setIsLoadingEmitirGuia(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => {\r\n setIsLoadingEmitirGuia(false)\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload())\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas na tela de manunteçã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 {justificativaList.length > 0 && justificativaList.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {isLoadingEmitirGuia &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {!isLoadingEmitirGuia && requerimento != null &&\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {handleReturn != null &&\r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].nome_Fantasia : requerimento.protocolo.protocoloDestino[0].nome_Fantasia}
\r\n
\r\n
\r\n
{requerimento.cpf_Cnpj}
\r\n
\r\n
\r\n

Razão Social: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].razaoSocial : requerimento.protocolo.protocoloDestino[0].razaoSocial}

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

CCM: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].ccm : requerimento.protocolo.protocoloDestino[0].ccm}

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

IM: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].inscricaoMunicipal : requerimento.protocolo.protocoloDestino[0].inscricaoMunicipal}

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

CEP: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].cep : requerimento.protocolo.protocoloDestino[0].cep}

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

Endereço: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].logradouro + \", \" + requerimento.requerimentoDestino[0].numEndereco + \", \" + requerimento.requerimentoDestino[0].complemento : requerimento.protocolo.protocoloDestino[0].logradouro + \", \" + requerimento.protocolo.protocoloDestino[0].numEndereco}

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

Bairro: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].bairro : requerimento.protocolo.protocoloDestino[0].bairro}

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

Cidade: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].cidade : requerimento.protocolo.protocoloDestino[0].cidade}

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

Licença de Operação: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].numeroLicensaOperacao : requerimento.protocolo.protocoloDestino[0].numeroLicensaOperacao}

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

Tipo de Destino: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].tipoDestino : requerimento.protocolo.protocoloDestino[0].tipoDestino}

\r\n
\r\n
\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && justificativaList.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n

Responsável

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].nomeResponsavel : requerimento.protocolo.protocoloDestino[0].nomeResponsavel}
\r\n
\r\n
\r\n
{requerimento.email}
\r\n
\r\n
\r\n

Telefone: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].telefone : requerimento.protocolo.protocoloDestino[0].telefone}

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

Celular: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].celular : requerimento.protocolo.protocoloDestino[0].celular}

\r\n
\r\n
\r\n {requerimento.requerimentoDestino != null && requerimento.requerimentoDestino.length > 0 &&\r\n requerimento.requerimentoDestino[0].requerimentoDestinoClasseResiduos != null && requerimento.requerimentoDestino[0].requerimentoDestinoClasseResiduos.length > 0 &&\r\n <>\r\n
\r\n
\r\n

Classes de Resíduo

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoDestino[0].requerimentoDestinoClasseResiduos.map((item, key) => (\r\n
{item.classeResiduo.descricao}
\r\n ))}\r\n
\r\n
\r\n \r\n }\r\n {requerimento.requerimentoDestino != null && requerimento.requerimentoDestino.length > 0 &&\r\n requerimento.requerimentoDestino[0].requerimentoDestinoTransportadores != null && requerimento.requerimentoDestino[0].requerimentoDestinoTransportadores.length > 0 &&\r\n <>\r\n
\r\n
\r\n

Transportadores Liberados

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoDestino[0].requerimentoDestinoTransportadores.map((item, key) => (\r\n
{item.protocoloTransportador.nome_Fantasia}
\r\n ))}\r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

\r\n
\r\n
\r\n Número :

{requerimento.numeroRequerimento}

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

{requerimento.status}

\r\n
\r\n
\r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor != null &&\r\n
\r\n
\r\n Divergência:

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoMotivoCancelamento.length > 0 &&\r\n
\r\n
\r\n

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoDestinoLocais != null && requerimento.requerimentoDestinoLocais.length > 0 &&\r\n
\r\n
\r\n

Locais de Destinação

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoDestinoLocais.map((item, key) => (\r\n
\r\n
\r\n
\r\n Identificação:

{item.identificacao}

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

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

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

{item.capacidade}

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

Documentos

\r\n
\r\n
\r\n\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && requerimento && !!requerimento?.observacaoRequerente &&\r\n
\r\n
\r\n

Observações do Requerente

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

{requerimento?.observacaoRequerente}

\r\n
\r\n
\r\n }\r\n\r\n\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n
\r\n
\r\n

Cobranças

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataVencimento) },\r\n {\r\n title: 'Último Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? formateDateandTime(rowData.logCobrancas[rowData.logCobrancas.length - 1].dataHora) : \"\"\r\n },\r\n {\r\n title: 'Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? rowData.logCobrancas[rowData.logCobrancas.length - 1].retorno : \"\"\r\n },\r\n ]}\r\n data={requerimento.requerimentoCobrancas}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar',\r\n onClick: (event, rowData) => openGuiaCobranca(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {historicoAnaliseGestor.length > 0 &&\r\n
\r\n
\r\n

Histórico de Análise Gestor

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataAnalise) },\r\n { title: 'Usuário', field: 'usuarioAnalise_Nome' },\r\n { title: 'Aprovado', field: 'aceite', render: (rowData) => rowData.aceite ? \"Sim\" : \"Não\" },\r\n { title: 'Observação', field: 'observacao' },\r\n { title: 'Data de Aceite', field: 'dataAceite', render: (rowData) => rowData.dataAceite ? formateDateandTime(rowData.dataAceite) : \"\" },\r\n ]}\r\n data={historicoAnaliseGestor}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Email\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.length > 0 &&\r\n
\r\n
\r\n

Comprovante de Pagamento

\r\n
\r\n
\r\n {requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.map((m, key) => {\r\n return \r\n })}\r\n
\r\n }\r\n {showAcoesGestor && session != null && session.usuario_Id != null && requerimento != null && requerimento.status != \"Finalizado\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n \r\n {\r\n if (requerimento?.requerimentoCobrancas.filter(x => x.status == \"Pendente\").length > 0) {\r\n showMessage(\"Aviso\", \"Não é permitido emitir um novo boleto, pois você tem boletos pendentes.\", \"warning\", null);\r\n return;\r\n } else {\r\n handleEmitirGuia();\r\n }\r\n }}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\r\n \r\n
\r\n }\r\n
\r\n
\r\n \r\n }\r\n \r\n )\r\n}\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from \"moment\";\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Card, CardBody,\r\n Form,\r\n Input,\r\n Modal, ModalHeader, ModalBody, ModalFooter\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateApi } from \"../../helpers/formats\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\n\r\n//Views\r\nimport FichaRequerimentoTransportador from \"../../views/Shared/Transportador/FichaRequerimento\";\r\nimport FichaRequerimentoGerador from \"../../views/Shared/Gerador/FichaRequerimento\";\r\nimport FichaRequerimentoDestino from \"../../views/Shared/Destino/FichaRequerimento\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function AcompanhamentoLista({ requerimentos, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const [list_table, set_list_table] = useState([]);\r\n\r\n const [tipoAcao, setTipoAcao] = useState(null);\r\n\r\n //State para pegar o requerimento\r\n const [item_requerimento, set_item_requerimento] = useState(null);\r\n\r\n //State para manipular checkbox na tabela\r\n const [selection, set_selection] = useState({ selection: false, filtering: true });\r\n\r\n //State para pegar os requerimentos para publicação\r\n const [requerimentos_publicacao, set_requerimentos_publicacao] = useState([]);\r\n\r\n //State para pegar lista de lote para publicação\r\n const [listLotePublicacao, setListLotePublicacao] = useState([]);\r\n\r\n //State para pegar a data de publicação do lote\r\n const [dataPublicacao, setDataPublicacao] = useState(null);\r\n\r\n const formateDate = (date) => {\r\n return moment(date).format('DD/MM/YYYY');\r\n };\r\n\r\n //State para colocar os campos na tabela\r\n const [listaColumn, setListaColumn] = useState([\r\n {\r\n title: 'Ações',\r\n field: \"internal_action\",\r\n filtering: false,\r\n editable: 'never', render: (rowData) =>\r\n rowData && (\r\n
\r\n handleVisualizarRequerimento(rowData)}>\r\n {requerimentos[0]?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Diário Oficial\" && rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status == \"Falha\" &&\r\n handlePublicaoLoteRefresh(rowData?.requerimento_Id)}>\r\n }\r\n
\r\n )\r\n },\r\n { title: 'Número Requerimento', field: 'numeroRequerimento', editable: 'never', filtering: true },\r\n { title: 'Categoria', field: 'setupSolicitacaoAcao.setupSolicitacao.categoria.descricao', editable: 'never', filtering: true },\r\n { title: 'Etapa', field: 'fluxoCadastroEtapaAtual.tipo', editable: 'never', filtering: true },\r\n { title: 'Data da Solicitação', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento), editable: 'never', filtering: true, customFilterAndSearch: (filter, rowData) => moment(rowData.dataCriacaoRequerimento).format('DD/MM/YYYY').includes(filter) },\r\n { title: 'Última Ação', field: 'dataUltimaAcao', render: rowData => rowData.dataUltimaAcao ? formateDate(rowData.dataUltimaAcao) : \"\", editable: 'never', filtering: true, customFilterAndSearch: (filter, rowData) => rowData.dataUltimaAcao ? moment(rowData.dataUltimaAcao).format('DD/MM/YYYY').includes(filter) : false },\r\n { title: 'CNPJ/CPF', field: 'protocolo.cpf_Cnpj', editable: 'never', filtering: true },\r\n { title: 'Solicitante', field: 'protocolo.nomeSolicitante', editable: 'never', filtering: true }\r\n ]);\r\n\r\n //State para pegar lista de lote para analise de requerimento\r\n const [listLoteAguardadoAnaliseRGG, setListLoteAguardadoAnaliseRGG] = useState([]);\r\n\r\n //State para pegar o enquandramento\r\n const [enquadramento, set_enquadramento] = useState(null);\r\n\r\n const [modalLotePublicacao, setModalLotePublicacao] = useState(false);\r\n\r\n const toggleLotePublicacao = () => {\r\n setModalLotePublicacao(!modalLotePublicacao)\r\n setDataPublicacao(null);\r\n };\r\n\r\n //State para abrir modal\r\n const [modalEnquadramento, setModalEnquadramento] = useState(false);\r\n\r\n const toggleEnquadramento = () => setModalEnquadramento(!modalEnquadramento);\r\n\r\n const ref = useRef(null);\r\n\r\n const [options_enquadramento, set_options_enquadramento] = useState([]);\r\n const loadOptionsEnquadramento = () => {\r\n api_GET('enquadramento')\r\n .then(result => set_options_enquadramento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleModal = () => {\r\n if (tipoAcao?.tipo == \"Aguardando Análise\" && tipoAcao?.sigla == \"RGG\" && tipoAcao?.segmento == \"Grande Gerador\") {\r\n handleLoteAguardandoAnalise(true);\r\n return\r\n }\r\n if (tipoAcao?.tipo == \"Publicar Diário Oficial\" && requerimentos_publicacao.length > 0) {\r\n\r\n //pegar todos os requerimentos sem enquadramentos\r\n let json_submit = [];\r\n requerimentos_publicacao.filter(x => x.protocolo.enquadramento_Id == null).map(item => {\r\n json_submit.push({\r\n requerimento_Id: item.requerimento_Id,\r\n Enquadramento_Id: enquadramento.enquadramento_Id\r\n })\r\n })\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostEnquadramentos', json_submit).then(result => {\r\n toggleEnquadramento();\r\n handlePublicarDiarioOficial();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handlePublicarDiarioOficial = () => {\r\n\r\n if (enquadramento == null &&\r\n requerimentos_publicacao.length > 0 &&\r\n requerimentos_publicacao.filter(x => x.protocolo.enquadramento_Id == null).length > 0) {\r\n toggleEnquadramento();\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n laudaDiarioOficial_Id: 0,\r\n dataPublicacao: formateDateApi(new Date()),\r\n usuario_Id: session.usuario_Id,\r\n requerimentoLaudaDiarioOficial: requerimentos_publicacao\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostLaudaDiarioOficial', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn(); }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = [];\r\n for (var i in requerimentos_publicacao) {\r\n json_submit.push({\r\n requerimento_Id: requerimentos_publicacao[i].requerimento_Id,\r\n usuarioEmissao_Id: session.usuario_Id,\r\n });\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobrancaLote', json_submit)\r\n .then(result => showMessage(\"Aviso\", result.data, 'success', function () { handleReturn() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleVisualizarRequerimento = (rowData) => {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_item_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleChange = (e) => {\r\n set_enquadramento(e);\r\n };\r\n\r\n const handlePublicarDiarioLote = () => {\r\n if (dataPublicacao == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a data de publicação.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (listLotePublicacao.length == 0) {\r\n showMessage(\"Aviso\", \"Por favor, selecione algum requerimento.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (listLotePublicacao.length > 10) {\r\n showMessage(\"Aviso\", \"Selecione apenas 10 registros por vez\", \"warning\", null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n\r\n listLotePublicacao.map(req => {\r\n json_submit.push({\r\n requerimentoSolicitacaoPublicacaoDiarioOficial_Id: 0,\r\n requerimento_Id: req.requerimento_Id,\r\n status: \"Solicitado\",\r\n dataPublicacao: moment(dataPublicacao).format(\"YYYY-MM-DD\"),\r\n usuarioPublicacao_Id: session.usuario_Id\r\n })\r\n });\r\n\r\n toggleLotePublicacao();\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoSolicitacaoPublicacaoDiarioOficial', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handlePublicaoLoteRefresh = (requerimento_Id) => {\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostProcessaPublicacaoDiarioOficial/' + requerimento_Id)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAcaoSectionTable = (rows, selectedRow) => {\r\n if (tipoAcao.tipo == \"Aguardando Análise\" && tipoAcao.sigla == \"RGG\" && tipoAcao.segmento == \"Grande Gerador\") {\r\n if (rows?.length > 10) {\r\n showMessage(\"Aviso\", \"Selecione apenas 10 registros por vez\", \"warning\", null);\r\n return;\r\n }\r\n setListLoteAguardadoAnaliseRGG(rows);\r\n }\r\n else if (tipoAcao.tipo == \"Emissão de Guia\" || tipoAcao.tipo == \"Publicar Diário Oficial\") {\r\n set_requerimentos_publicacao(rows);\r\n } else if (tipoAcao.tipo == \"Aguardando Diário Oficial\") {\r\n setListLotePublicacao(rows.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length == 0));\r\n }\r\n }\r\n\r\n const handleLoteAguardandoAnalise = (aprovacao) => {\r\n if (listLoteAguardadoAnaliseRGG.length > 10) {\r\n showMessage(\"Aviso\", \"Por favor, selecione no máximo 10 requisições.\", 'warning', null);\r\n return;\r\n }\r\n if (listLoteAguardadoAnaliseRGG.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os requerimento(s).\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (enquadramento == null &&\r\n aprovacao == true &&\r\n listLoteAguardadoAnaliseRGG.some(x => x.setupSolicitacaoAcao.enquadramentoObrigatorio == true)) {\r\n toggleEnquadramento();\r\n return;\r\n }\r\n\r\n let listaRequerimentos = [];\r\n\r\n listLoteAguardadoAnaliseRGG.forEach(({ requerimento_Id }) => {\r\n listaRequerimentos.push({\r\n requerimentoAnaliseGestor_Id: 0,\r\n requerimento_Id: requerimento_Id,\r\n dataAnalise: formateDateApi(new Date()),\r\n usuarioAnalise_Id: session.usuario_Id,\r\n enquadramento_Id: enquadramento?.enquadramento_Id ?? null,\r\n aceite: aprovacao,\r\n });\r\n });\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentosLoteAnaliseGestor', listaRequerimentos).then(result => {\r\n if (result.data?.length > 0 && result.data?.filter(x => x.requerimentoAnaliseGestor_Id == 0).length > 0) {\r\n let requerimentos_IDs = result.data?.filter(x => x.requerimentoAnaliseGestor_Id == 0).map(({ requerimento_Id }) => requerimento_Id);\r\n let requerimentosFalha = listLoteAguardadoAnaliseRGG.filter(x => requerimentos_IDs.includes(x.requerimento_Id)).map(({ numeroRequerimento }) => numeroRequerimento);\r\n\r\n showMessage(\"Error\", `Alguns requerimentos falharam: (${requerimentosFalha?.join(\", \")}). Por favor, verifique cada um individualmente.`, 'warning', () => handleReturn());\r\n }\r\n else\r\n showMessage(\"Sucesso\", \"Sucesso na operação.\", 'success', () => handleReturn());\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (ref) {\r\n ref.current.scrollIntoView();\r\n }\r\n\r\n const _tipoAcao = {\r\n tipo: requerimentos[0].fluxoCadastroEtapaAtual.tipo,\r\n sigla: requerimentos[0]?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla,\r\n segmento: requerimentos[0]?.setupSolicitacaoAcao?.setupSolicitacao?.segmento\r\n };\r\n\r\n setTipoAcao({ ..._tipoAcao });\r\n set_list_table(requerimentos);\r\n\r\n if (_tipoAcao.tipo == \"Publicar Diário Oficial\" ||\r\n (_tipoAcao.tipo == \"Aguardando Análise\" && _tipoAcao.sigla == \"RGG\" && _tipoAcao.segmento == \"Grande Gerador\")\r\n ) {\r\n set_selection({ ...selection, selection: true });\r\n } else if (_tipoAcao.tipo == \"Emissão de Guia\") {\r\n set_selection({ ...selection, selection: true });\r\n setListaColumn([\r\n ...listaColumn, {\r\n filtering: true,\r\n title: 'Quantidade de Boletos',\r\n field: \"requerimentoCobrancas\",\r\n editable: 'never',\r\n render: (rowData) => rowData.requerimentoCobrancas.length > 0 ? rowData.requerimentoCobrancas.length : 0,\r\n customFilterAndSearch: (filter, rowData) => rowData.requerimentoCobrancas.length.toString().includes(filter) \r\n }]);\r\n }\r\n else if (_tipoAcao.tipo == \"Aguardando Diário Oficial\") {\r\n set_selection({\r\n ...selection,\r\n selection: true,\r\n selectionProps: rowData => ({ style: { visibility: rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ? 'hidden' : 'visible' }, disabled: rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ? true : false })\r\n });\r\n setListaColumn([\r\n ...listaColumn,\r\n {\r\n filtering: true,\r\n title: 'Status Processamento',\r\n field: 'status',\r\n render: (rowData) => rowData.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ?? null, editable: 'never',\r\n customFilterAndSearch: (filter, rowData) => {\r\n const status = rowData.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ?? '';\r\n return status.toLowerCase().includes(filter.toLowerCase());\r\n }\r\n }]);\r\n }\r\n loadOptionsEnquadramento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {modalEnquadramento &&\r\n \r\n Enquadramento\r\n \r\n Selecione o Enquadramento para aplicar ao(s) protocolo(s) selecionado(s).\r\n
\r\n option.descricao}\r\n getOptionValue={option => option.enquadramento_Id}\r\n onChange={(e) => { handleChange(e) }}\r\n value={enquadramento != null && options_enquadramento.find(obj => obj.enquadramento_Id === enquadramento.enquadramento_Id)}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {modalLotePublicacao &&\r\n \r\n Data de Publicação\r\n \r\n
\r\n setDataPublicacao(e.target.value)}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n
\r\n {item_requerimento == null &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n { handleAcaoSectionTable(rows, selectedRow) }}\r\n localization={table_translate}\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(resolve, 1000);\r\n });\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n {(tipoAcao && tipoAcao.tipo == \"Aguardando Análise\" &&\r\n tipoAcao.sigla == \"RGG\" &&\r\n tipoAcao.segmento == \"Grande Gerador\"\r\n ) &&\r\n \r\n handleLoteAguardandoAnalise(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Aprovar Requerimentos em Lote\r\n \r\n handleLoteAguardandoAnalise(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reprovar Requerimentos em Lote\r\n \r\n \r\n }\r\n {tipoAcao && tipoAcao.tipo == \"Publicar Diário Oficial\" &&\r\n \r\n \r\n Publicár Diário Oficial\r\n \r\n \r\n }\r\n {tipoAcao && tipoAcao.tipo == \"Emissão de Guia\" &&\r\n \r\n \r\n Emitir Guias\r\n \r\n \r\n }\r\n {tipoAcao && tipoAcao.tipo == \"Aguardando Diário Oficial\" && requerimentos?.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length == 0).length &&\r\n \r\n {\r\n if (listLotePublicacao.length == 0 && list_table.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length == 0).length > 0) {\r\n showMessage(\"Aviso\", \"Por favor, selecione algum requerimento para fazer a publicação de lote.\", 'warning', null);\r\n return;\r\n }\r\n if (list_table.length == list_table.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length > 0).length) {\r\n showMessage(\"Aviso\", \"Não existe requerimento para ser feito a publicação em lote.\", 'warning', null);\r\n return;\r\n }\r\n if (listLotePublicacao.length > 0)\r\n setModalLotePublicacao(true)\r\n }}\r\n >\r\n Publicação em Lote\r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n }\r\n {item_requerimento != null &&\r\n item_requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Transportador\" &&\r\n \r\n }\r\n {item_requerimento != null &&\r\n item_requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\" &&\r\n \r\n }\r\n {item_requerimento != null &&\r\n item_requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Destino Final\" &&\r\n \r\n }\r\n
\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { FormGroup, Label, Input, InputGroupText } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport CreatableSelect from 'react-select/creatable';\r\n\r\n//Assets\r\nimport \"../../assets/css/textField.css\"\r\n\r\nexport default function TextField({ inputClassName = \"\", icon, placeholder = \"\", multiple = false, label, onChange, onBlur, type, id, name, options, value = \"\", invalid, searchable = false, className, disabled, onClickIcon, style, maxLength, mask = (value) => value, creatable }) {\r\n\r\n //Estado de controle do valor do input creatable\r\n const [inputValue, setInputValue] = useState(\"\");\r\n\r\n //Estilos customizados para os selects multiplos ou de pesquisa que usam o react-select\r\n const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n menu: provided => ({ ...provided, zIndex: 9999 }),\r\n borderColor: state.isFocused ?\r\n '#ddd' : invalid ?\r\n '#DC3545' : '#ddd',\r\n // overwrittes hover style\r\n '&:hover': {\r\n borderColor: state.isFocused ?\r\n '#ddd' : invalid ?\r\n '#DC3545' : '#ddd'\r\n }\r\n })\r\n }\r\n\r\n //Função que faz o controle das teclas apertadas no select creatable\r\n const handleKeyDown = (event) => {\r\n if (!inputValue) return;\r\n switch (event.key) {\r\n case 'Enter':\r\n case 'Tab':\r\n onChange(inputValue);\r\n setInputValue('');\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n return (\r\n \r\n {label && }\r\n
\r\n \r\n {/* Se o input for um select de multiplas opções é retornado o campo abaixo */}\r\n {type === \"select\" && multiple\r\n && \r\n }\r\n {/* Se o input for um select de multiplas opções é retornado o campo abaixo */}\r\n {type === \"select\" && creatable\r\n &&\r\n setInputValue(newValue)}\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n value={value}\r\n styles={customStyles}\r\n />\r\n }\r\n {/* Se o select for do tipo pesquisavel é retornado o campo abaixo */}\r\n {type === \"select\" && searchable\r\n && \r\n }\r\n {/* Se o select for normal é retornado o campo abaixo */}\r\n {type == \"select\" && !multiple && !searchable && !creatable &&\r\n < Input className={inputClassName} onBlur={onBlur} maxLength={maxLength ? maxLength : \"1000000000\"} disabled={disabled} placeholder={placeholder} id={id} type={type} invalid={invalid} name={name} onChange={onChange} value={value} style={style} >\r\n {\r\n options && options.map((option, key) => {\r\n return \r\n })\r\n }\r\n \r\n }\r\n {/*Se o input for do tipo checkbox é retornado o campo abaixo */}\r\n {type === \"checkbox\" &&\r\n \r\n }\r\n {/*Se o input não for nem select nem checkbox é retornado o campo abaixo*/}\r\n {type !== \"select\" && type !== \"checkbox\" && type !== \"file\" &&\r\n {\r\n e.target.value = mask(e.target.value, true);\r\n onChange(e)\r\n }} value={mask(value)} />\r\n }\r\n {/* Se o tipo de input for file então retorna o seguinte objeto */}\r\n {type === \"file\" &&\r\n \r\n }\r\n\r\n
\r\n
\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\n\r\nimport MaterialTable from 'material-table';\r\n\r\nimport { table_style, table_translate } from '../../constants/MaterialTable';\r\nimport { showMessage } from '../../services/message';\r\nimport { api_GET } from '../../services/api_service';\r\n\r\n// components \r\nimport FichaRequerimentoTransportador from '../../views/Shared/Transportador/FichaRequerimento';\r\nimport FichaRequerimentoDestino from '../../views/Shared/Destino/FichaRequerimento';\r\nimport FichaRequerimentoGerador from '../../views/Shared/Gerador/FichaRequerimento';\r\n\r\nimport { formateDateandTime } from '../../helpers/formats';\r\n\r\nimport { useAuth } from '../../context/auth';\r\n\r\nfunction ListaDashboardRequerimento({ listShow, handleReturnDashboard }) {\r\n const { setLoading } = useAuth();\r\n\r\n\r\n // pegar os requerimentos pelo status passado\r\n const [requerimentos, setRequerimentos] = useState([]);\r\n\r\n const [requerimentoVisualizar, setRquerimentoVisualizar] = useState(null);\r\n\r\n const columns = [\r\n { title: \"Requerimento\", field: \"numeroRequerimento\" },\r\n { title: \"CPF/CNPJ\", field: \"cpf_Cnpj\" },\r\n { title: \"Código Cadastro\", field: \"codigoCadastro\" },\r\n { title: \"E-mail\", field: \"email\" },\r\n { title: \"Categoria\", field: \"categoria\" },\r\n { title: \"Etapa\", field: \"etapa\" },\r\n { title: \"Data Solicitacao\", field: \"dataSolicitacao\" },\r\n { title: \"Data ultima Ação\", field: \"ultimaAcao\" },\r\n { title: \"Ação\", field: \"acao\" },\r\n ];\r\n\r\n useEffect(() => {\r\n if (listShow && listShow.requerimentos) {\r\n const _etapa = listShow.etapa === \"Rejeitado\" ? \"Divergente\" : listShow.etapa;\r\n\r\n const { requerimentosList } = listShow.requerimentos;\r\n\r\n if (requerimentosList.length > 0) {\r\n // pegando os requeirimentos pelo status especifico passado\r\n const _requerimentos = requerimentosList.filter((req) => {\r\n if (req.etapa === _etapa && req.segmento === listShow.segmento && req.descricao === listShow.descricao) {\r\n req.ultimaAcao = formateDateandTime(req.ultimaAcao);\r\n req.dataSolicitacao = formateDateandTime(req.dataSolicitacao);\r\n return req;\r\n }\r\n })\r\n setRequerimentos(_requerimentos);\r\n }\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n const handleRequerimento = (rowData) => {\r\n const { requerimentosList } = listShow.requerimentos;\r\n const requerimento = requerimentosList.filter((req, index) => {\r\n if (req.requerimento_Id == rowData.requerimento_Id) {\r\n return req;\r\n }\r\n })\r\n\r\n setLoading(true);\r\n api_GET('requerimento/' + requerimento[0].requerimento_Id)\r\n .then(result => {\r\n if (result.data.etapaCadastro == 0 || result.data?.requerimentoGerador?.length == 0) {\r\n showMessage(\"Aviso\", \"Este requerimento está na primeira etapa de preenchimento dos dados e sua ficha não pode ser aberta pois os dados ainda não estão preenchidos!\", 'info', null)\r\n return;\r\n }\r\n setRquerimentoVisualizar(result.data)\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleView = (rowData) => {\r\n handleRequerimento(rowData);\r\n }\r\n\r\n const handleReturn = () => {\r\n setRquerimentoVisualizar(null);\r\n }\r\n\r\n return (\r\n
\r\n {requerimentoVisualizar === null &&\r\n <>\r\n \r\n handleView(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n }\r\n\r\n {/* mostrar dados dos tipos especificos de cada requerimento */}\r\n {requerimentoVisualizar && listShow.segmento === \"Destino Final\" &&\r\n }\r\n {requerimentoVisualizar && listShow.segmento === \"Grande Gerador\" &&\r\n }\r\n {requerimentoVisualizar && listShow.segmento === \"Transportador\" &&\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default ListaDashboardRequerimento;","import React, { useState, useEffect } from 'react';\r\nimport { Card, CardBody, CardFooter, Row, Col, Button, Label, Input } from \"reactstrap\";\r\n\r\n// styles ccs\r\nimport \"assets/css/efeitoCards.css\";\r\n\r\n//Api\r\nimport { api_GET, api_POST } from '../../services/api_service';\r\n\r\n//Helpers\r\nimport { formateDateApi } from '../../helpers/formats';\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n//Components\r\nimport ListaDashboardRequerimento from './ListaDashboardRequerimento';\r\nimport TextField from '../../components/TextField/TextField';\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nfunction initialStateFiltro() {\r\n return {\r\n modalidade: \"Todos\"\r\n }\r\n}\r\nfunction Dashboard() {\r\n const {setLoading, loading} = useAuth();\r\n\r\n // Estado para o botão de aparecer fitros de Data\r\n const [btnfiltro, setBtnFiltro] = useState(false);\r\n\r\n // Estado para pegar a lista de protocolos\r\n const [dashboardProtocolo, setDashboardProtocolo] = useState(null);\r\n\r\n // Estado para pegar a lista de requerimentos\r\n const [dashboardRequerimento, setDashboardRequerimento] = useState(null);\r\n\r\n // Estado para controlar os indicadores\r\n const [mostrarTotalIndicadores, setMostrarTotalIndicadores] = useState(true);\r\n\r\n // Estado auxiliar para guardar valores dos protocolos e requerimentos\r\n const [dashboardAuxiliar, setDashboardAuxiliar] = useState(\r\n {\r\n dashboardProtocolo: null,\r\n dashboardRequerimento: null\r\n }\r\n );\r\n\r\n // Estado para abrir as informaçoes de cada indicador\r\n const [visibleDadosIndicadores, setVisibleDadosIndicadores] = useState({\r\n index: '',\r\n tipoIndicador: ''\r\n });\r\n\r\n // Estado para mostrar component da lista dos requerimentos\r\n const [listShow, setListShow] = useState(null);\r\n\r\n // Estado para para pegar a modalidade\r\n const [filtro, setFiltro] = useState(initialStateFiltro());\r\n\r\n // Estado para options de modalidade\r\n const [optionsModalidade, setOptionsModalidade] = useState([\r\n { text: \"Todos\", value: \"Todos\" },\r\n { text: \"RCC\", value: \"RCC\" },\r\n { text: \"RGG\", value: \"RGG\" },\r\n { text: \"RSS\", value: \"RSS\" },\r\n ]);\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n api_GET('Dashboard/protocolos')\r\n .then(result => {\r\n setDashboardAuxiliar({\r\n ...dashboardAuxiliar,\r\n dashboardProtocolo: result.data\r\n })\r\n setDashboardProtocolo(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n // função para marcar qual card abrir\r\n const handleVisibleDadosIndicadores = (index, tipoIndicador) => {\r\n setMostrarTotalIndicadores(!mostrarTotalIndicadores)\r\n setVisibleDadosIndicadores(\r\n {\r\n index: index,\r\n tipoIndicador: tipoIndicador\r\n }\r\n )\r\n }\r\n\r\n // altera texto apresentando no cards\r\n const HandleModificarTextoCardIndicador = (obj, tipo) => {\r\n let total = 0;\r\n if (tipo === \"requerimento\") {\r\n total = (obj.qtdFinalizado + obj.qtdPendente + obj.qtdEmAndamento + obj.qtdRejeitado)\r\n } else {\r\n total = obj.tiposProtocolos.reduce((acc, tipo) => acc + tipo.qtdAtivos + tipo.qtdInativos + tipo.qtdCancelados + tipo.qtdVencidos, 0);\r\n }\r\n\r\n return {\r\n texto: obj.descricaoDashboard,\r\n color: obj.corIcone,\r\n icone: obj.classeIcone,\r\n total: total\r\n }\r\n }\r\n\r\n // montar card Cadastro dos protocolos\r\n const CardsCadastroIndicativo = ({ cadastro, index }) => {\r\n const dado = HandleModificarTextoCardIndicador(cadastro, \"cadastro\");\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 {dado?.total}\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n {cadastro.tiposProtocolos && cadastro.tiposProtocolos.map((el, index) => (\r\n \r\n \r\n PESSOA {el.tipoPessoa}\r\n \r\n \r\n ATIVOS:\r\n \r\n \r\n {el.qtdAtivos}\r\n \r\n \r\n CANCELADOS:\r\n \r\n \r\n {el.qtdCancelados}\r\n \r\n \r\n INATIVOS:\r\n \r\n \r\n {el.qtdInativos}\r\n \r\n \r\n VENCIDOS:\r\n \r\n \r\n {el.qtdVencidos}\r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n // montar card Cadastro dos Requerimento\r\n const CardsRequerimentoIndicativo = ({ requerimento, index }) => {\r\n const dadoRequerimento = HandleModificarTextoCardIndicador(requerimento, \"requerimento\");\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadoRequerimento.total}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
setListShow({\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Em Andamento\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n })}>\r\n Em Andamento:\r\n {requerimento.qtdEmAndamento}\r\n
\r\n
setListShow(\r\n {\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Finalizado\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n }\r\n )}>\r\n Finalizado:\r\n {requerimento.qtdFinalizado}\r\n
\r\n
setListShow({\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Pendente\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n })}>\r\n Pendente:\r\n {requerimento.qtdPendente}\r\n
\r\n
setListShow({\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Rejeitado\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n })}>\r\n Rejeitado:\r\n {requerimento.qtdRejeitado}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n const [dadoFiltro, setDadoFiltro] = React.useState({\r\n datainicio: '',\r\n datafim: ''\r\n })\r\n // pegando os dados campos de data\r\n const handleDataFiltros = (event) => {\r\n setDadoFiltro(\r\n {\r\n ...dadoFiltro,\r\n [event.target.name]: event.target.value\r\n }\r\n )\r\n }\r\n\r\n // filtro de pegar os dados na Api\r\n const handleFiltroIndicadores = () => {\r\n if (dadoFiltro.datafim === \"\" || dadoFiltro.datafim === \"\") {\r\n showMessage(\"Aviso\", \"Os campos de Data devem está preenchido!\", \"warning\", null);\r\n return;\r\n }\r\n const json_submit = {\r\n Inicio: formateDateApi(dadoFiltro.datainicio),\r\n Fim: formateDateApi(dadoFiltro.datafim)\r\n }\r\n setLoading(true);\r\n api_POST('Dashboard/requerimentos', json_submit).then(result => {\r\n setDashboardAuxiliar({\r\n ...dashboardAuxiliar,\r\n dashboardRequerimento: result.data\r\n });\r\n\r\n if (filtro.modalidade != \"Todos\") {\r\n setDashboardRequerimento({ requerimentos: result.data?.requerimentos?.filter(x => x.sigla == filtro.modalidade) });\r\n }\r\n else\r\n setDashboardRequerimento(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n //voltar para dashboard\r\n const handleReturnDashboard = () => {\r\n setVisibleDadosIndicadores({\r\n index: '',\r\n tipoIndicador: ''\r\n })\r\n setLoading(false);\r\n setListShow(null);\r\n }\r\n\r\n const handleFiltroModalidade = (e) => {\r\n const { name, value } = e.target;\r\n setFiltro({\r\n ...filtro,\r\n [name]: value\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (filtro?.modalidade != \"Todos\") {\r\n setDashboardProtocolo({\r\n protocolos: dashboardAuxiliar.dashboardProtocolo?.protocolos?.length > 0 ? dashboardAuxiliar.dashboardProtocolo?.protocolos.filter(x => x.sigla == filtro?.modalidade) : []\r\n });\r\n setDashboardRequerimento({\r\n requerimentos: dashboardAuxiliar.dashboardRequerimento?.requerimentos?.length > 0 ? dashboardAuxiliar.dashboardRequerimento?.requerimentos?.filter(x => x.sigla == filtro?.modalidade) : []\r\n });\r\n } else {\r\n setDashboardProtocolo(dashboardAuxiliar.dashboardProtocolo)\r\n setDashboardRequerimento(dashboardAuxiliar.dashboardRequerimento)\r\n }\r\n }, [filtro]);\r\n\r\n return (\r\n <>\r\n {!loading && listShow === null &&\r\n
\r\n \r\n \r\n Modalidades}\r\n type={\"select\"}\r\n options={optionsModalidade}\r\n value={filtro.modalidade}\r\n onChange={handleFiltroModalidade}\r\n />\r\n \r\n \r\n \r\n \r\n {dashboardProtocolo && dashboardProtocolo.protocolos.length > 0 &&\r\n <>\r\n \r\n \r\n
\r\n Cadastros\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {dashboardProtocolo.protocolos.map((cadastro, index) => (\r\n \r\n ))}\r\n \r\n
\r\n \r\n }\r\n\r\n \r\n \r\n
\r\n Requerimentos\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n {btnfiltro &&\r\n \r\n \r\n
\r\n handleDataFiltros(e)}\r\n />\r\n \r\n \r\n
\r\n handleDataFiltros(e)}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {dashboardRequerimento && dashboardRequerimento.requerimentos.length > 0 &&\r\n <>\r\n
\r\n \r\n {dashboardRequerimento.requerimentos.map((requerimento, index) => (\r\n \r\n ))}\r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n
\r\n }\r\n {listShow &&\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default Dashboard;","import React, { useEffect, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Input, Button, Row, Col, Card, CardBody, FormGroup, Form } from \"reactstrap\";\r\n\r\n// helpers\r\nimport { formateDateandTimeApi, formateMonthName } from \"../../../helpers/formats.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_PUT } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function AgendamentoVistoria({ requerimentoAgendamento, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n\r\n const [list_agendamentos, set_list_agendamentos] = useState([]);\r\n\r\n const loadListAgendamentos = () => {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetAgendamentoVistoriaByRequerimento/${requerimentoAgendamento.requerimento_Id}`)\r\n .then(result => set_list_agendamentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleChangeDataHoraAgendamento = (requerimentoTransportadorAgendamento_Id, value) => {\r\n if (list_agendamentos.filter(f => f.requerimentoTransportadorAgendamento_Id != requerimentoTransportadorAgendamento_Id\r\n && f.dataHora == value && f.dataHora != null).length > 0) {\r\n value = null;\r\n showMessage(\"Aviso\", \"Você já agendou outro veículo neste horário!\", 'error', null);\r\n }\r\n\r\n let _newlist = [];\r\n list_agendamentos.map(m => {\r\n if (m.requerimentoTransportadorAgendamento_Id == requerimentoTransportadorAgendamento_Id) {\r\n m.dataHora = value;\r\n\r\n if (value)\r\n m.situacao = \"Agendado\";\r\n else\r\n m.situacao = \"Pendente\";\r\n }\r\n _newlist.push(m);\r\n });\r\n set_list_agendamentos(_newlist);\r\n }\r\n\r\n const handleClickRemoverVeiculo = (requerimentoTransportadorAgendamento_Id) => {\r\n showQuestion(\"Confirma o cancelamento do agendamento do veículo?\", \"Este veículo não poderá mais ser agendado para vistoria.\", 'question', function (retorno) {\r\n if (retorno) {\r\n let _newlist = [];\r\n list_agendamentos.map(m => {\r\n if (m.requerimentoTransportadorAgendamento_Id == requerimentoTransportadorAgendamento_Id) {\r\n m.situacao = \"Cancelado\";\r\n m.dataHora = null;\r\n }\r\n _newlist.push(m);\r\n });\r\n set_list_agendamentos(_newlist);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadListAgendamentos();\r\n }, [requerimentoAgendamento]);\r\n\r\n const onSubmit = (data) => {\r\n if (list_agendamentos.filter(f => f.dataHora == null && f.situacao != \"Cancelado\").length > 0) {\r\n showMessage(\"Aviso\", \"É necessário criar o agendamento de todos os veículos!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = []\r\n list_agendamentos.map(m => {\r\n json_submit.push({\r\n requerimentoTransportadorAgendamento_Id: m.requerimentoTransportadorAgendamento_Id,\r\n requerimentoTransportadorVeiculo_Id: m.requerimentoTransportadorVeiculo_Id,\r\n dataHora: m.dataHora,\r\n situacao: m.situacao,\r\n logAgendamento: session != null && session.tipoAcesso == \"AreaRestrita\" ? `Atualizado pelo usuário ${session.nome} (${session.usuario_Id})` : \"Atualizado pelo Transportador\"\r\n })\r\n })\r\n\r\n setLoading(true);\r\n api_PUT(`AgendamentoVistoria/PutRequerimentoTransportadorAgendamento`, json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Agendamento atualizado com sucesso\", 'success', function () {\r\n if (handleReturn)\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n {handleReturn && }\r\n \r\n \r\n
\r\n \r\n \r\n

{requerimentoAgendamento && requerimentoAgendamento.categoria_Descricao}

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

CPF/CNPJ: {requerimentoAgendamento && requerimentoAgendamento.cpf_Cnpj}

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

Nome/Fantasia: {requerimentoAgendamento && requerimentoAgendamento.nome_Fantasia}

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

Tipo Requerimento: {requerimentoAgendamento && requerimentoAgendamento.tipoRequerimento}

\r\n \r\n
\r\n {list_agendamentos.map((m, key) => {\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\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nfunction ItemAgendaVistoria({ item, handleChangeDataHoraAgendamento, setLoading, handleClickRemoverVeiculo }) {\r\n // Ano (ano atual + próximo ano)\r\n const options_ano = [\r\n { value: moment(new Date()).format('YYYY'), label: moment(new Date()).format('YYYY') },\r\n { value: moment(new Date()).add(1, 'years').format('YYYY'), label: moment(new Date()).add(1, 'years').format('YYYY') }\r\n ];\r\n const [ano, set_ano] = useState(moment(new Date()).format('YYYY'));\r\n const handleAno = (value) => {\r\n set_ano(value);\r\n loadOptionsMes(value);\r\n }\r\n\r\n // Mês\r\n const [options_mes, set_options_mes] = useState([]);\r\n const loadOptionsMes = (_ano) => {\r\n let _meses = [];\r\n let _mes = 1\r\n if (_ano == moment(new Date()).format('YYYY'))\r\n _mes = parseInt(moment(new Date()).format('MM'));\r\n\r\n do {\r\n _meses.push({ value: _mes, label: formateMonthName(_mes) });\r\n _mes++;\r\n } while (12 >= _mes);\r\n set_options_mes(_meses)\r\n }\r\n const [mes, set_mes] = useState(moment(new Date()).format('MM'));\r\n const handleMes = (value) => {\r\n set_mes(value);\r\n set_diaAgendamento(null);\r\n set_horario(null);\r\n handleChangeDataHoraAgendamento(item.requerimentoTransportadorAgendamento_Id, null);\r\n loadOptionsDisponibilidadeAgenda(value);\r\n }\r\n\r\n // Disponibilidade Agenda\r\n const [options_disponibilidadeAgenda, set_options_disponibilidadeAgenda] = useState([]);\r\n const loadOptionsDisponibilidadeAgenda = (_mes, _dia) => {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetDisponibilidadeAgenda/${item.requerimentoTransportadorAgendamento_Id}/${ano}/${_mes}`)\r\n .then(result => {\r\n set_options_disponibilidadeAgenda(result.data);\r\n if (_dia && result.data.filter(f => f.dia == _dia).length > 0)\r\n set_options_horario(result.data.filter(f => f.dia == _dia)[0].horarios);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [diaAgendamento, set_diaAgendamento] = useState(null);\r\n const handleDiaAgendamento = (value) => {\r\n set_diaAgendamento(value);\r\n set_options_horario(options_disponibilidadeAgenda.filter(f => f.dia == value)[0].horarios);\r\n set_horario(null);\r\n handleChangeDataHoraAgendamento(item.requerimentoTransportadorAgendamento_Id, null);\r\n }\r\n\r\n // Horarios disponiveis\r\n const [options_horario, set_options_horario] = useState([]);\r\n const [horario, set_horario] = useState(null);\r\n const handleHorario = (value) => {\r\n set_horario(value);\r\n let datahora = formateDateandTimeApi(new Date(ano, mes - 1, diaAgendamento, parseInt(value.split(':')[0]), parseInt(value.split(':')[1])));\r\n handleChangeDataHoraAgendamento(item.requerimentoTransportadorAgendamento_Id, datahora);\r\n }\r\n\r\n const loadDefaultValues = () => {\r\n set_ano(moment(item.dataHora).format('YYYY'));\r\n loadOptionsMes(moment(item.dataHora).format('YYYY'));\r\n set_mes(parseInt(moment(item.dataHora).format('MM')));\r\n set_diaAgendamento(parseInt(moment(item.dataHora).format('DD')));\r\n loadOptionsDisponibilidadeAgenda(parseInt(moment(item.dataHora).format('MM')), parseInt(moment(item.dataHora).format('DD')));\r\n set_horario(moment(item.dataHora).format('HH:mm'));\r\n }\r\n\r\n useEffect(() => {\r\n if (item.dataHora) {\r\n loadDefaultValues();\r\n }\r\n else {\r\n loadOptionsMes(moment(new Date()).format('YYYY'));\r\n }\r\n }, [item]);\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\n \r\n \r\n {item.situacao == \"Agendado\" &&\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleAno(e.value) }}\r\n value={options_ano.find(obj => obj.value === ano)}\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleMes(e.value) }}\r\n value={options_mes.find(obj => obj.value === mes)}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n dia}\r\n getOptionValue={({ dia }) => dia}\r\n onChange={(e) => { handleDiaAgendamento(e.dia) }}\r\n value={options_disponibilidadeAgenda.find(obj => obj.dia === diaAgendamento)}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n f}\r\n getOptionValue={(f) => f}\r\n name=\"horario\"\r\n onChange={(e) => { handleHorario(e) }}\r\n value={options_horario.filter(obj => obj == horario)}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { showMessage } from \"services/message.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function InputPDF(props) {\r\n const { setupSistema } = useAuth();\r\n const inputImage = React.useRef(null);\r\n const [image, setImage] = React.useState(props.image == null ? require(\"assets/img/document.png\") : require(\"assets/img/document-ok.png\"))\r\n const handleImage = (event) => {\r\n event.preventDefault();\r\n if (event.target.files.length) {\r\n const file = event.target.files[0];\r\n const fsize = Math.round((file.size / 1024));\r\n\r\n if (fsize == 0) {\r\n showMessage(\"Aviso\", \"Arquivo selecionado está inválido, ou, o tamanho é insuficiente. Tamanho do aquivo: \" + fsize + \"MB\", 'error', null);\r\n return;\r\n }\r\n if (fsize > 15360) {\r\n showMessage(\"Aviso\", \"O limite máximo permitido para importação é de 15MB.\", 'error', null);\r\n return;\r\n }\r\n if (file.type != \"image/png\" && file.type != \"image/jpeg\" && file.type != \"application/pdf\") {\r\n showMessage(\"Aviso\", \"Formato do arquivo \" + file.type + \" inválido. O arquivo deve estar nos formatos: png/jpeg/pdf.\", 'error', null);\r\n return;\r\n }\r\n\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onloadend = function () {\r\n var base64data = reader.result;\r\n props.handlefile(\r\n {\r\n base64: base64data.replace(\"data:image/png;base64,\", \"\").replace(\"data:image/jpeg;base64,\", \"\").replace(\"data:application/pdf;base64,\", \"\"),\r\n name: uuidv4() + \".pdf\",\r\n documento_Id: props.documento_id\r\n },\r\n function () {\r\n setImage(require(\"assets/img/document-ok.png\"));\r\n }\r\n );\r\n }\r\n }\r\n }\r\n const handleClickImage = (event) => {\r\n event.preventDefault();\r\n inputImage.current.click();\r\n }\r\n\r\n useEffect(() => {\r\n if (props.image != null)\r\n setImage(require(\"assets/img/document-ok.png\"));\r\n else\r\n setImage(require(\"assets/img/document.png\"));\r\n }, [props.image]);\r\n\r\n return (\r\n <>\r\n { handleImage(event); event.target.value = null; }}\r\n />\r\n \r\n
\r\n {(props.image != null && props.image.base64 == null) &&\r\n Abrir Arquivo}\r\n \r\n )\r\n}","import React, { useEffect } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Button, FormGroup, Input, Row, Col, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\n// services\r\nimport { showMessage, } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { formateDateApi } from \"../../../helpers/formats\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ConfirmacaoVistoria({ requerimentoTransportadorAgendamento_Id, placa, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [modal, setModal] = React.useState(false);\r\n const toggleModal = () => {\r\n setModal(!modal);\r\n handleReturn(false);\r\n }\r\n\r\n useEffect(() => {\r\n setModal(true);\r\n }, [requerimentoTransportadorAgendamento_Id]);\r\n\r\n // Arquivo Renavam\r\n const [file_laudo, set_file_laudo] = React.useState(null);\r\n const handleFileLaudo = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Selecione o arquivo para importação.\", 'error', null);\r\n return;\r\n }\r\n set_file_laudo(_file);\r\n callback();\r\n }\r\n\r\n const handleClickAprovacao = (situacao) => {\r\n if (!file_laudo) {\r\n showMessage(\"Aviso\", \"Selecione o arquivo com o Laudo da Vistoria para importação.\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n\r\n let json_submit = {\r\n requerimentoTransportadorVistoria_Id: 0,\r\n requerimentoTransportadorAgendamento_Id: requerimentoTransportadorAgendamento_Id,\r\n dataHoraAtualizacao: formateDateApi(new Date()),\r\n situacao: situacao,\r\n observacao: data.observacao,\r\n arquivoLaudoVistoria: file_laudo.name,\r\n arquivoLaudoVistoriaBase64: file_laudo.base64,\r\n usuario_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`AnaliseRequerimento/PostRequerimentoTransportadorVistoria`, json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Operação realizada com sucesso!\", 'success', function () {\r\n if (handleReturn)\r\n handleReturn(true);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n \r\n ×} className=\"md-hd\">\r\n Confirmação de Vistoria\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Laudo da Vistoria

\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n );\r\n}\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\n\r\nimport { Row, Col, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// components\r\nimport FullCalendar from '@fullcalendar/react'\r\nimport dayGridPlugin from '@fullcalendar/daygrid'\r\nimport interactionPlugin from \"@fullcalendar/interaction\";\r\nimport listPlugin from '@fullcalendar/list';\r\n\r\n// helpers\r\nimport { formateDateandTimeApi } from \"helpers/formats\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ConfirmacaoVistoria from \"./ConfirmacaoVistoria\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function CalendarioVistoria({ handleReturn }) {\r\n const { setLoading } = useAuth();\r\n\r\n const [eventosCalendario, set_eventosCalendario] = useState([]);\r\n\r\n const loadEventosCalendario = () => {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetFromCalendario`)\r\n .then(result => {\r\n let _eventos = [];\r\n result.data.map(m => {\r\n _eventos.push({\r\n requerimentoTransportadorAgendamento_Id: m.requerimentoTransportadorAgendamento_Id,\r\n placa: m.placa,\r\n id: m.requerimentoTransportadorAgendamento_Id,\r\n start: formateDateandTimeApi(m.dataHora),\r\n title: m.placa,\r\n backgroundColor: \"#6bd098\",\r\n allDay: false\r\n })\r\n })\r\n set_eventosCalendario(_eventos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadEventosCalendario();\r\n }, []);\r\n\r\n const [evento, set_evento] = useState(null);\r\n const handleEventClick = (e) => {\r\n set_evento(eventosCalendario.filter(f => f.requerimentoTransportadorAgendamento_Id == e.event.id)[0]);\r\n }\r\n\r\n const handleReturnConfirmacaoVistoria = (reload) => {\r\n set_evento(null);\r\n if (reload)\r\n loadEventosCalendario();\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\n \r\n \r\n \r\n \r\n
\r\n {evento != null &&\r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport InputMask from 'react-input-mask';\r\n\r\nclass InputCPF extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputCNPJ extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputCEP extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputHourMinutes extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputPLACA extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputTELEFONE extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputDIAMES extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport { \r\n InputCPF,\r\n InputCNPJ,\r\n InputCEP,\r\n InputPLACA,\r\n InputTELEFONE,\r\n InputHourMinutes,\r\n InputDIAMES\r\n};","import { api_GETExternal } from \"services/api_service.js\";\r\n\r\nexport const GetCEPViaCEP = (cep) => {\r\n const promise = new Promise((resolve, reject) => {\r\n api_GETExternal(`https://viacep.com.br/ws/${cep.replace(\"-\", \"\")}/json/`).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n resolve(null);\r\n }\r\n else {\r\n resolve(result);\r\n }\r\n });\r\n });\r\n\r\n return promise;\r\n}","import { formateDateandTime } from 'helpers/formats';\r\nimport React from 'react';\r\nimport { Button, Form, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\r\n\r\nexport default function ModalJustificativa({ visibilidadeModal, setVisibilidadeModal, item }) {\r\n return (\r\n \r\n Histórico de Justificativas\r\n \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 !== null && item?.protocoloJustificativas.map((value, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(value.dataJustificativa)}{value.observacao}{value.usuario.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}","import { api_POST } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const CancelarRequerimentoByRequerimento = (requerimento_Id, usuario_Id, callback) => {\r\n api_POST(`requerimento/PostCancelaRequerimento/${requerimento_Id}/` + usuario_Id)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport const CancelarRequerimentoByProtocolo = (protocolo_Id, callback) => {\r\n api_POST(`requerimento/CancelaRequerimentoByProtocolo/${protocolo_Id}`)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\nimport { useReactToPrint } from 'react-to-print';\r\n\r\n// Reactstrap components\r\nimport { Button } from \"reactstrap\";\r\n\r\n// componentes\r\nimport ModalJustificativa from \"components/ModalJustificativa/ModalJustificativa\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateandTime, transformValueFloattoFormated } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"../../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"./FichaRequerimento.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaTransportador({ history, item, showAcoesGestor }) {\r\n const { session, setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n\r\n const [list_acoes, set_list_acoes] = React.useState(null);\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo)\r\n .then(result => set_list_acoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimento = (rowData) => {\r\n if ((rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") && showAcoesGestor == false) {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n window.location = '/auth/TransportadorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoInclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoExclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração de Identificação\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoIdentificacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração de Equipamentos\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoEquipamentos',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleAtualizarContato = () => {\r\n history.push({\r\n pathname: '/auth/AtualizarContato',\r\n state: { protocolo: protocolo }\r\n })\r\n }\r\n\r\n const handleRequerimentoInclusaoVeiculo = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar um requerimento de inclusão de veículo?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoInclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoExclusaoVeiculo = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de EXCLUSÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de exclusão de veículo?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoExclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoRenovarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de RENOVAÇÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de renovação de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoCancelamento = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de CANCELAMENTO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de cancelamento de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarVeiculo = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar um requerimento de alteração de veículo?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de ALTERAÇÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de alteração de ficha de identificação?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoIdentificacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarEquipamentos = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de ALTERAÇÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de alteração de equipamentos?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoEquipamentos',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleCancelarRequerimento = (_requerimento) => {\r\n showQuestion('Atenção', 'Deseja cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n setLoading(true);\r\n CancelarRequerimentoByRequerimento(_requerimento.requerimento_Id, usuario_Id, handleRetornoCancelaRequerimento);\r\n }\r\n })\r\n }\r\n\r\n const handleRetornoCancelaRequerimento = (result) => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () { window.location.reload() })\r\n }\r\n\r\n const handleRequerimentoNovoCadastro = () => {\r\n showQuestion('Atenção', 'Deseja criar requerimento de Novo Cadastro?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento criado com sucesso! Preencha seus dados na tela seguinte.\", 'success', function () {\r\n window.location.href = `/auth/TransportadorRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const handleReturnRequerimento = () => {\r\n set_requerimento(null);\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n if (item.status == \"Cancelado\") {\r\n showMessage(\"Aviso\", \"Seu cadastro encontra-se como Cancelado. Faça um novo Requerimento.\", 'warning', null);\r\n return;\r\n }\r\n }, []);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n if (protocolo !== null && protocolo.requerimento.length > 0 && session === null) {\r\n const result = protocolo.requerimento\r\n .filter(x => x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.descricao === \"Aguardando Compensação\"\r\n && x.setupSolicitacaoAcao.valorGuia > 0);\r\n if (result.length > 0) {\r\n showMessage(\"Aviso\", `Os pagamentos dos boletos não devem ser efetuados via Bancos Digitais, pois o Sistema da Prefeitura não reconhece esses pagamentos, e assim o cadastro não será liberado!\r\n Por favor, efetuar os pagamentos pelos bancos: Banco do Brasil, Bancoob, Banco Inter, Banco Original, Bradesco, Caixa, Daycoval, Itaú, Correspondentes Bancários, Rendimento, Safra, Santander.`, \"warning\", null);\r\n }\r\n }\r\n\r\n const handleEmitirGuia = (requerimento_Id) => {\r\n let json_submit = {\r\n requerimento_Id: requerimento_Id,\r\n usuarioEmissao_Id: null,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit).then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {protocolo != null && protocolo.protocoloTransportador != null && protocolo.protocoloTransportador.length > 0 && requerimento == null &&\r\n
\r\n
\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n {!showAcoesGestor &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {protocolo.status != \"Ativo\" &&\r\n
\r\n
\r\n
* Cadastro {protocolo.status} no sistema
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

Fantasia: {protocolo.protocoloTransportador[0].nome_Fantasia}

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

Razão Social: {protocolo.protocoloTransportador[0].razaoSocial}

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

CCM: {protocolo.protocoloTransportador[0].ccm}

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

Número Cadastro: {protocolo.codigoCadastro}

\r\n
\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n
\r\n

Ramo: {protocolo.protocoloTransportador[0].ramoAtividade}

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

Tipo de Indústria / Coméricio: {protocolo.protocoloTransportador[0].tipoIndustriaComercio}

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

CEP: {protocolo.protocoloTransportador[0].cep}

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

Endereço: {protocolo.protocoloTransportador[0].logradouro + \", \" + protocolo.protocoloTransportador[0].numEndereco + \", \" + protocolo.protocoloTransportador[0].complemento}

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

Bairro: {protocolo.protocoloTransportador[0].bairro}

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

Cidade: {protocolo.protocoloTransportador[0].cidade}

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

Fim da Vigência: {protocolo.dataFimVigencia != null ? formateDate(protocolo.dataFimVigencia) : \"\"}

\r\n
\r\n {protocolo.codigoSistemaPrefeitura &&\r\n
\r\n

Processo Credenciamento: {protocolo.codigoSistemaPrefeitura}

\r\n
\r\n }\r\n
\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorClasseResiduo != null && protocolo.protocoloTransportador[0].protocoloTransportadorClasseResiduo.length > 0 &&\r\n
\r\n
\r\n

Classe de Resíduos: {protocolo.protocoloTransportador[0].protocoloTransportadorClasseResiduo.map((item, key) => (\r\n

{item.classeResiduo.descricao}
)\r\n )}

\r\n
\r\n
\r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" && setupSistema && setupSistema.tipoCertificadoTransportador == \"Geral\" &&\r\n
\r\n
\r\n Certificado
\r\n window.open(\"/empty/CertificadoTransportador?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n
\r\n }\r\n
\r\n
\r\n

Responsável

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{protocolo.protocoloTransportador[0].nomeResponsavel}
\r\n
\r\n
\r\n
{protocolo.email}
\r\n
\r\n
\r\n

Telefone: {protocolo.protocoloTransportador[0].telefone}

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

Celular: {protocolo.protocoloTransportador[0].celular}

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

Veículos

\r\n
\r\n
\r\n
\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo.map((item, key) => (\r\n
\r\n
\r\n
\r\n Placa:

{item.placa}

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

{item.tipo}

\r\n
\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n
\r\n Modalidades: {item.protocoloTransportadorVeiculoModalidades && item.protocoloTransportadorVeiculoModalidades.map((item, key) => (\r\n

{item.modalidade}

))}\r\n
}\r\n
\r\n Marca/Modelo:

{item.marca}

\r\n
\r\n
\r\n Ano Fabricação:

{item.anoFabricacao}

\r\n
\r\n
\r\n Ano Fab. Equip.:

{item.anoFabricacaoEquipamento}

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

{item.cor}

\r\n
\r\n
\r\n Tara (kg):

{item.tara}

\r\n
\r\n
\r\n Capacidade (kg):

{item.capacidadeCarga}

\r\n
\r\n
\r\n Volume (m³):

{transformValueFloattoFormated(item.volume)}

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

{item.numeroRenavam}

\r\n
\r\n
\r\n Proprietário ou Locado:

{item.proprietarioOuLocado}

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

{item.status}

\r\n
\r\n
\r\n Data Vistoria:

{item.dataVistoria != null ? formateDate(item.dataVistoria) : \"\"}

\r\n
\r\n
\r\n Data Validade Vistoria:

{item.dataValidadeVistoria != null ? formateDate(item.dataValidadeVistoria) : \"\"}

\r\n
\r\n {protocolo != null && protocolo.status != \"Pendente\" && setupSistema && setupSistema.tipoCertificadoTransportador == \"Por Veículo\" &&\r\n
\r\n Carteirinha
\r\n window.open(\"/empty/CarteirinhaVeiculo?protocolo=\" + protocolo.numeroProtocolo + \"&veiculo=\" + item.protocoloTransportadorVeiculo_Id, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n }\r\n {item.arquivoRenavam != null &&\r\n
\r\n Arquivo Renavam\r\n
\r\n }\r\n {item.arquivoInspecaoInmetro != null &&\r\n \r\n }\r\n {item.arquivoComprovanteTara != null &&\r\n \r\n }\r\n {item.arquivoComodato != null &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&
\r\n
\r\n

Locais de Guarda de Veículo

\r\n
\r\n
\r\n
}\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorLocalGuarda.map((item, key) => (\r\n
\r\n
\r\n
\r\n CEP:

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

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

{item.status}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n
\r\n
\r\n

Locais de Destinação

\r\n
\r\n
\r\n
}\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorLocalDestino.map((item, key) => (\r\n
\r\n
\r\n
\r\n CNPJ:

{item.cnpj}

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

{item.fantasia}

\r\n
\r\n
\r\n Razão Social:

{item.razaoSocial}

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

{item.status}

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

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

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

{item.cidade}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n
\r\n
\r\n

Equipamentos

\r\n
\r\n
\r\n
}\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorEquipamento.map((item, key) => (\r\n
\r\n
\r\n
\r\n Número:

{item.numeroEquipamento}

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

{item.tipo}

\r\n
\r\n
\r\n Dimensão:

{item.dimensao}

\r\n
\r\n
\r\n Capacidade (m³):

{item.capacidadeVolume}

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

{item.status}

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

Documentos

\r\n
\r\n
\r\n\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n
\r\n
\r\n

Requerimentos

\r\n
\r\n
\r\n\r\n rowData.fluxoCadastroEtapaAtual != null ? rowData.fluxoCadastroEtapaAtual.tipo : \"\" },\r\n { title: 'Status', field: 'status' },\r\n { title: 'Data Requerimento', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento) },\r\n { title: 'Atualizado Em', field: 'dataUltimaAcao', render: (rowData) => formateDateandTime(rowData.dataUltimaAcao) },\r\n { title: 'Data de Aceite', field: 'fluxoCadastroEtapaAtual.tipo', render: (rowData) => rowData.dataAceiteDeclaracao != null ? formateDateandTime(rowData.dataAceiteDeclaracao) : \"\" },\r\n { title: 'Data de Finalização', field: 'dataUltimaAcao', render: (rowData) => rowData.dataUltimaAcao != null && rowData.status === \"Finalizado\" ? formateDateandTime(rowData.dataUltimaAcao) : \"\" },\r\n ]}\r\n data={protocolo.requerimento.sort(function (a, b) { return new Date(b.dataCriacaoRequerimento) - new Date(a.dataCriacaoRequerimento); })}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar Detalhes',\r\n onClick: (event, rowData) => handleOpenRequerimento(rowData)\r\n },\r\n (rowData) => {\r\n return (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\" || rowData.status == \"Pendente\") && {\r\n icon: 'cancel',\r\n tooltip: 'Cancelar Requerimento',\r\n onClick: (event, rowData) => handleCancelarRequerimento(rowData)\r\n }\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n {modal &&\r\n \r\n }\r\n
\r\n {showAcoesGestor && item?.protocoloJustificativas.length > 0 &&\r\n \r\n }\r\n {showAcoesGestor == false && protocolo.status != \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Ativo\" || protocolo.status == \"Pendente\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Alteração\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Alteração de Identificação\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Alteração de Equipamentos\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Inclusão\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Exclusão\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Renovação\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Vencido\" || protocolo.status == \"Inativo\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Renovação\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Novo Cadastro\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false &&\r\n protocolo?.requerimento?.filter(x =>\r\n x.status == \"Pendente\" &&\r\n x.fluxoCadastroEtapaAtual !== null &&\r\n x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\").length > 0 &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n handleEmitirGuia(protocolo?.requerimento?.filter(x => x.status == \"Pendente\" && x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\")[0].requerimento_Id)}\r\n >\r\n Emitir Guia\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {requerimento != null &&\r\n \r\n }\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\n\r\n// componente\r\nimport ModalJustificativa from \"components/ModalJustificativa/ModalJustificativa\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateandTime } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"../../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"../../../views/Shared/Gerador/FichaRequerimento\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaGerador({ history, item, showAcoesGestor }) {\r\n const { session, setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const [protocolo, set_protocolo] = useState(null);\r\n\r\n const [list_acoes, set_list_acoes] = useState(null);\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n //State para modal do contrato\r\n const [modalContrato, set_modalContrato] = useState(false);\r\n\r\n //State Para adicionar os contratos em cada local\r\n const [listContratoLocal, set_listcontratoLocal] = useState([]);\r\n\r\n const toggleModalContrato = () => set_modalContrato(!modalContrato);\r\n\r\n // Mapa\r\n const [modalMapaOpen, set_modalMapaOpen] = useState(false);\r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalOpen = (geoLocalizacao) => {\r\n if (geoLocalizacao && geoLocalizacao.split(';').length > 1) {\r\n setCenterMap([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n set_modalMapaOpen(true);\r\n }\r\n }\r\n\r\n const loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo)\r\n .then(result => set_list_acoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimento = (rowData) => {\r\n if ((rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") && showAcoesGestor == false) {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\")\r\n window.location = '/auth/GeradorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n else\r\n window.location = '/auth/GeradorRSSRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Renovação\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Inclusão\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Exclusão\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Cancelamento\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Alteração\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n history.push({\r\n pathname: '/auth/GeradorRSSRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoAlteracaoCadastro',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n })\r\n }\r\n break;\r\n }\r\n }\r\n else {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleAtualizarContato = () => {\r\n history.push({\r\n pathname: '/auth/AtualizarContato',\r\n state: { protocolo: protocolo }\r\n })\r\n }\r\n\r\n const handleRequerimentoRenovarCadastro = (setupSolicitacaoAcao) => {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n showMessage(\"Aviso\", \"Este tipo de requerimento não pode ser realizado para Geradores de Resíduos de Serviço de Saúde\", 'error', null);\r\n return;\r\n }\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de renovação de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRSSRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastroRCC_RGG = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoAlteracaoCadastro',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoCancelamento = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de cancelamento de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoInclusaoLocalColeta = (setupSolicitacaoAcao) => {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n showMessage(\"Aviso\", \"Este tipo de requerimento não pode ser realizado para Geradores de Resíduos de Serviço de Saúde\", 'error', null);\r\n return;\r\n }\r\n\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de inclusão de local de coleta?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoExclusaoLocalColeta = (setupSolicitacaoAcao) => {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n showMessage(\"Aviso\", \"Este tipo de requerimento não pode ser realizado para Geradores de Resíduos de Serviço de Saúde\", 'error', null);\r\n return;\r\n }\r\n\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de exclusão de local de coleta?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleCancelarRequerimento = (_requerimento) => {\r\n showQuestion('Atenção', 'Quer cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n setLoading(true);\r\n CancelarRequerimentoByRequerimento(_requerimento.requerimento_Id, usuario_Id, handleRetornoCancelaRequerimento);\r\n }\r\n })\r\n }\r\n const handleRetornoCancelaRequerimento = (result) => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () { window.location.reload() })\r\n }\r\n\r\n const handleRequerimentoNovoCadastro = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar requerimento de Novo Cadastro?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento criado com sucesso! Preencha seus dados na tela seguinte.\", 'success', function () {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\")\r\n window.location.href = `/auth/GeradorRSSRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n else\r\n window.location.href = `/auth/GeradorRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const openArquivoContrata = (rowData) => {\r\n const linkSource = `data:application/pdf;base64,${rowData.arquivoContrato}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = \"ContratoLocal.pdf\";\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n\r\n const handleReturnRequerimento = () => {\r\n set_requerimento(null);\r\n }\r\n\r\n const handleEmitirGuia = (requerimento_Id) => {\r\n let json_submit = {\r\n requerimento_Id: requerimento_Id,\r\n usuarioEmissao_Id: null,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n }, []);\r\n\r\n if (protocolo !== null && protocolo.requerimento.length > 0 && (session == null || (session && session.tipoAcesso == \"Protocolo\"))) {\r\n const result = protocolo.requerimento\r\n .filter(x => x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.descricao === \"Aguardando Compensação\"\r\n && x.setupSolicitacaoAcao.valorGuia > 0);\r\n if (result.length > 0) {\r\n showMessage(\"Aviso\", `Os pagamentos dos boletos não devem ser efetuados via Bancos Digitais, pois o Sistema da Prefeitura não reconhece esses pagamentos, e assim o cadastro não será liberado!\r\n Por favor, efetuar os pagamentos pelos bancos: Banco do Brasil, Bancoob, Banco Inter, Banco Original, Bradesco, Caixa, Daycoval, Itaú, Correspondentes Bancários, Rendimento, Safra, Santander.`, \"warning\", null);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {session && session.tipoAcesso == \"Protocolo\" &&\r\n
\r\n \r\n
\r\n }\r\n {!showAcoesGestor &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n \r\n }\r\n >\r\n Contratos\r\n \r\n \r\n \r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivoContrato, '_blank')\r\n }]}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {protocolo != null && requerimento == null &&\r\n
\r\n \r\n \r\n {protocolo.status != \"Ativo\" &&\r\n \r\n \r\n
* Cadastro {protocolo.status} no sistema
\r\n \r\n
\r\n }\r\n \r\n \r\n

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

Fantasia: {protocolo.protocoloGerador[0].nome_Fantasia}

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

Razão Social: {protocolo.protocoloGerador[0].razaoSocial}

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

CCM: {protocolo.protocoloGerador[0].ccm}

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

Número Cadastro: {protocolo.codigoCadastro}

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

Ramo: {protocolo.protocoloGerador[0].ramoAtividade}

\r\n \r\n {(protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.segmento != \"Grande Gerador\" &&\r\n protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\") &&\r\n \r\n

Tipo de Indústria / Coméricio: {protocolo.protocoloGerador[0].tipoIndustriaComercio}

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

CEP: {protocolo.protocoloGerador[0].cep}

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

Endereço: {protocolo.protocoloGerador[0].logradouro + \", \" + protocolo.protocoloGerador[0].numEndereco + \", \" + protocolo.protocoloGerador[0].complemento}

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

Bairro: {protocolo.protocoloGerador[0].bairro}

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

Cidade: {protocolo.protocoloGerador[0].cidade}

\r\n \r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla !== \"RSS\" &&\r\n \r\n

Fim da Vigência: {protocolo.dataFimVigencia != null ? formateDate(protocolo.dataFimVigencia) : \"\"}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Tipo Estabelecimento: {protocolo.protocoloGerador[0].tipoEstabelecimento != null ? protocolo.protocoloGerador[0].tipoEstabelecimento.descricao : \"\"}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento != null &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

Quantidade Leitos Ativos: {protocolo.protocoloGerador[0].quantidadeLeitosAtivos}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento != null &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

Quantidade Leitos Inativos: {protocolo.protocoloGerador[0].quantidadeLeitosInativos}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Classificação Estabelecimento: {protocolo.protocoloGerador[0].classificacaoEstabelecimento != null ? protocolo.protocoloGerador[0].classificacaoEstabelecimento.descricao : \"\"}

\r\n \r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" &&\r\n (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RCC\" || protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n <>\r\n \r\n Carteirinha
\r\n window.open(\"/empty/CarteirinhaGG?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n QRCodes Coleta
\r\n window.open(\"/empty/QrCodelocalidadeRGG?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n }\r\n \r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" &&\r\n protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n Certificado
\r\n window.open(\"/empty/CertificadoRSS?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n \r\n }\r\n
\r\n {protocolo != null &&\r\n protocolo.status != \"Pendente\" &&\r\n protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" && protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.segmento == \"Grande Gerador\" &&\r\n \r\n \r\n

Dados Adicionais

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

Número de Colaboradores: {protocolo.protocoloGerador[0].numeroColaboradores ?? \"\"}

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

Consumo mensal de Energia: {protocolo.protocoloGerador[0].consumoMensalAgua ?? \"\"}

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

Consumo Mensal de Água: {protocolo.protocoloGerador[0].consumoMensalAgua ?? \"\"}

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

Local do Empreendimento: {protocolo.protocoloGerador[0].localEmpreendimento ?? \"\"}

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

Área total (m²): {protocolo.protocoloGerador[0]?.areaTotal?.toString()?.replace(\".\", \",\") ?? \"\"}

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

Área Construída (m²): {protocolo.protocoloGerador[0].areaConstruida?.toString()?.replace(\".\", \",\") ?? \"\"}

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

Responsável

\r\n
\r\n \r\n
\r\n \r\n \r\n
{protocolo.protocoloGerador[0].nomeResponsavel}
\r\n \r\n \r\n
{protocolo.email}
\r\n \r\n \r\n

Telefone: {protocolo.protocoloGerador[0].telefone}

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

Celular: {protocolo.protocoloGerador[0].celular}

\r\n \r\n
\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n <>\r\n \r\n \r\n

Responsável Técnico

\r\n
\r\n \r\n
\r\n \r\n \r\n
{protocolo.protocoloGerador[0].nomeResponsavelTecnico}
\r\n \r\n \r\n

Tipo Documento: {protocolo.protocoloGerador[0].tipoDocumentoResponsavelTecnico}

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

Número Documento: {protocolo.protocoloGerador[0].numeroDocumentoResponsavelTecnico}

\r\n \r\n \r\n {protocolo.protocoloGerador[0].arquivoCertificadoResponsavelTecnico != null &&\r\n Certificado Curso\r\n }\r\n \r\n
\r\n \r\n }\r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos != null && protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.length > 0 &&\r\n \r\n \r\n

Caracterização dos Resíduos

\r\n
\r\n \r\n \r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(x => !!x.caracterizacaoResiduosConama.grupo).length > 0 &&\r\n \r\n Grupo\r\n \r\n }\r\n !!x.caracterizacaoResiduosConama.grupo).length > 0 ? \"1\" : \"2\"}>\r\n Código\r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(x => !!x.caracterizacaoResiduosConama.tipo).length > 0 &&\r\n \r\n Tipo\r\n \r\n }\r\n \r\n Descrição\r\n \r\n \r\n Quantidade\r\n \r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.map((item, key) => (\r\n
\r\n \r\n {item.caracterizacaoResiduosConama.grupo &&\r\n \r\n

{item.caracterizacaoResiduosConama.grupo}

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

{item.caracterizacaoResiduosConama.codigo}

\r\n \r\n {item.caracterizacaoResiduosConama.tipo &&\r\n \r\n

{item.caracterizacaoResiduosConama.tipo}

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

{item.caracterizacaoResiduosConama.descricao}

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

{item.quantidadeEstimada} {protocolo.protocoloGerador[0].classificacaoEstabelecimento?.categoria == \"RSS\" ? 'Kg/dia' : 'Litros/dia'}

\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {protocolo.protocoloGerador[0].protocoloGeradorLocaisArmazenagem != null && protocolo.protocoloGerador[0].protocoloGeradorLocaisArmazenagem.length > 0 &&\r\n \r\n \r\n

Locais de Armazenagem

\r\n
\r\n \r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorLocaisArmazenagem.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

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

Locais de Coleta

\r\n
\r\n \r\n
\r\n {protocolo.protocoloGerador[0].protocoloGeradorLocais.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

\r\n \r\n \r\n {item.geoLocalizacao != null &&\r\n \r\n }\r\n {item?.protocoloGeradorLocalContratos?.length > 0 &&\r\n {\r\n set_listcontratoLocal(item.protocoloGeradorLocalContratos);\r\n set_modalContrato(true);\r\n }}\r\n >\r\n Contratos\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n\r\n {protocolo.protocoloGerador[0].protocoloGeradorClasseResiduos.map((item, key) => (\r\n
\r\n \r\n \r\n

Classes de Resíduo

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

{item.classeResiduo.descricao}

\r\n \r\n \r\n Quantidade Estimada (Kg):

{item.quantidadeEstimada}

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

Documentos

\r\n
\r\n \r\n\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n \r\n \r\n

Requerimentos

\r\n
\r\n \r\n\r\n \r\n rowData.fluxoCadastroEtapaAtual != null\r\n ? (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\"\r\n && rowData.fluxoCadastroEtapaAtual.tipo == \"Aguardando Compensação\"\r\n && rowData.status == \"Finalizado\"\r\n ? \"Finalizado\"\r\n : rowData.fluxoCadastroEtapaAtual.tipo)\r\n : \"\"\r\n },\r\n { title: 'Status', field: 'status' },\r\n { title: 'Data Requerimento', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento) },\r\n { title: 'Atualizado Em', field: 'dataUltimaAcao', render: (rowData) => formateDateandTime(rowData.dataUltimaAcao) },\r\n { title: 'Data de Aceite', field: 'dataAceiteDeclaracao', render: (rowData) => rowData.dataAceiteDeclaracao != null ? formateDateandTime(rowData.dataAceiteDeclaracao) : \"\" },\r\n { title: 'Data de Finalização', field: 'dataUltimaAcao', render: (rowData) => rowData.dataUltimaAcao != null && rowData.status === \"Finalizado\" ? formateDateandTime(rowData.dataUltimaAcao) : \"\" },\r\n ]}\r\n data={protocolo.requerimento.sort(function (a, b) { return new Date(b.dataCriacaoRequerimento) - new Date(a.dataCriacaoRequerimento); })}\r\n isLoading={false}\r\n options={{\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar Detalhes',\r\n onClick: (event, rowData) => handleOpenRequerimento(rowData)\r\n },\r\n (rowData) => {\r\n return (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\" || rowData.status == \"Pendente\") && {\r\n icon: 'cancel',\r\n tooltip: 'Cancelar Requerimento',\r\n onClick: (event, rowData) => handleCancelarRequerimento(rowData)\r\n }\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n {modal &&\r\n \r\n }\r\n
\r\n {showAcoesGestor && item?.protocoloJustificativas.length > 0 &&\r\n \r\n }\r\n {showAcoesGestor == false && (protocolo.status == \"Ativo\" || protocolo.status == \"Pendente\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Inclusão\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Exclusão\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Vencido\" || protocolo.status == \"Inativo\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Ativo\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Alteração\" && (prop.setupSolicitacao.categoria.sigla == \"RSS\")) {\r\n return ();\r\n }\r\n if (prop.acao == \"Alteração\" && (prop.setupSolicitacao.categoria.sigla == \"RGG\" || prop.setupSolicitacao.categoria.sigla == \"RCC\")) {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Novo Cadastro\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false &&\r\n protocolo?.requerimento?.filter(x =>\r\n x.status == \"Pendente\" &&\r\n x.fluxoCadastroEtapaAtual !== null &&\r\n x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\").length > 0 &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n handleEmitirGuia(protocolo?.requerimento?.filter(x => x.status == \"Pendente\" && x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\")[0].requerimento_Id)}\r\n >\r\n Emitir Guia\r\n \r\n }\r\n
\r\n
\r\n
\r\n\r\n set_modalMapaOpen(false)} zIndex=\"9999999\">\r\n \r\n
Localização no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n }\r\n {requerimento != null &&\r\n \r\n }\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// componente\r\nimport ModalJustificativa from \"components/ModalJustificativa/ModalJustificativa\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateandTime } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"../../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"views/Shared/Destino/FichaRequerimento\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaDestino({ history, item, showAcoesGestor }) {\r\n const { session, setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const [protocolo, set_protocolo] = useState(null);\r\n\r\n const [list_acoes, set_list_acoes] = useState(null);\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n // Mapa\r\n const [modalMapaOpen, set_modalMapaOpen] = useState(false);\r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalOpen = (geoLocalizacao) => {\r\n if (geoLocalizacao && geoLocalizacao.split(';').length > 1) {\r\n setCenterMap([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n set_modalMapaOpen(true);\r\n }\r\n }\r\n\r\n const loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo)\r\n .then(result => set_list_acoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimento = (rowData) => {\r\n if ((rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") && showAcoesGestor == false) {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n window.location = '/auth/DestinoRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Aumento de Capacidade\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAumentoCapacidade',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleAtualizarContato = () => {\r\n history.push({\r\n pathname: '/auth/AtualizarContato',\r\n state: { protocolo: protocolo }\r\n })\r\n }\r\n\r\n const handleRequerimentoRenovarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de renovação de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAumentoCapacidade = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAumentoCapacidade',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoCancelamento = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de cancelamento de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoInclusaoLocal = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de inclusão de local de destinação?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoExclusaoLocal = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de exclusão de local de destinação?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n const handleCancelarRequerimento = (_requerimento) => {\r\n showQuestion('Atenção', 'Quer cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n setLoading(true);\r\n CancelarRequerimentoByRequerimento(_requerimento.requerimento_Id, usuario_Id, handleRetornoCancelaRequerimento);\r\n }\r\n })\r\n }\r\n\r\n const handleRetornoCancelaRequerimento = (result) => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n window.location.reload();\r\n })\r\n }\r\n\r\n const handleRequerimentoNovoCadastro = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar requerimento de Novo Cadastro?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento criado com sucesso! Preencha seus dados na tela seguinte.\", 'success', function () {\r\n window.location.href = `/auth/DestinoRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const handleReturnRequerimento = () => {\r\n set_requerimento(null);\r\n }\r\n\r\n const handleEmitirGuia = (requerimento_Id) => {\r\n let json_submit = {\r\n requerimento_Id: requerimento_Id,\r\n usuarioEmissao_Id: null,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n }, []);\r\n\r\n if (protocolo !== null && protocolo.requerimento.length > 0 && (session == null || (session && session.tipoAcesso == \"Protocolo\"))) {\r\n const result = protocolo.requerimento\r\n .filter(x => x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.descricao === \"Aguardando Compensação\"\r\n && x.setupSolicitacaoAcao.valorGuia > 0);\r\n if (result.length > 0) {\r\n showMessage(\"Aviso\", `Os pagamentos dos boletos não devem ser efetuados via Bancos Digitais, pois o Sistema da Prefeitura não reconhece esses pagamentos, e assim o cadastro não será liberado!\r\n Por favor, efetuar os pagamentos pelos bancos: Banco do Brasil, Bancoob, Banco Inter, Banco Original, Bradesco, Caixa, Daycoval, Itaú, Correspondentes Bancários, Rendimento, Safra, Santander.`, \"warning\", null);\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n {session && session.tipoAcesso == \"Protocolo\" &&\r\n
\r\n \r\n
\r\n }\r\n {!showAcoesGestor &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n {protocolo != null && requerimento == null &&\r\n
\r\n \r\n \r\n {protocolo.status != \"Ativo\" &&\r\n \r\n \r\n
* Cadastro {protocolo.status} no sistema
\r\n \r\n
\r\n }\r\n \r\n \r\n

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

Fantasia: {protocolo.protocoloDestino[0].nome_Fantasia}

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

Razão Social: {protocolo.protocoloDestino[0].razaoSocial}

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

IM: {protocolo.protocoloDestino[0].inscricaoMunicipal}

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

CCM: {protocolo.protocoloDestino[0].ccm}

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

Número Cadastro: {protocolo.codigoCadastro}

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

CEP: {protocolo.protocoloDestino[0].cep}

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

Endereço: {protocolo.protocoloDestino[0].logradouro + \", \" + protocolo.protocoloDestino[0].numEndereco + \", \" + protocolo.protocoloDestino[0].complemento}

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

Bairro: {protocolo.protocoloDestino[0].bairro}

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

Cidade: {protocolo.protocoloDestino[0].cidade}

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

Licença de Operação: {protocolo.protocoloDestino[0].numeroLicensaOperacao}

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

Tipo de Destino: {protocolo.protocoloDestino[0].tipoDestino}

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

Fim da Vigência: {protocolo.dataFimVigencia != null ? formateDate(protocolo.dataFimVigencia) : \"\"}

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

Bloquear Recebimento de CTR por capacidade excedida : {protocolo.protocoloDestino[0].bloquearRecebimentoCapacidadeExcedida ? \"Sim\" : \"Não\"}

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

Requer comprovar destinação na emissão da CTR : {protocolo.protocoloDestino[0].requerComprovacaoDestinacao ? \"Sim\" : \"Não\"}

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

Observações : {protocolo.protocoloDestino[0].observacaoManutencao}

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

Responsável

\r\n
\r\n \r\n
\r\n \r\n \r\n
{protocolo.protocoloDestino[0].nomeResponsavel}
\r\n \r\n \r\n
{protocolo.email}
\r\n \r\n \r\n

Telefone: {protocolo.protocoloDestino[0].telefone}

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

Celular: {protocolo.protocoloDestino[0].celular}

\r\n \r\n
\r\n \r\n {protocolo != null && protocolo.status != \"Pendente\" && protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n Carteirinha
\r\n window.open(\"/empty/CateirinhaDestinoRGG?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n }\r\n
\r\n \r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n \r\n

Locais de Destinação

\r\n
\r\n }\r\n
\r\n {protocolo.protocoloDestino[0].protocoloDestinoLocais.map((item, key) => (\r\n
\r\n \r\n \r\n Identificação:

{item.identificacao}

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

{item.status}

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

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

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

{item.bairro}

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

{item.capacidade + \" m³\"}

\r\n \r\n \r\n Observação:

{item.observacao}

\r\n \r\n {item.geoLocalizacao != null &&\r\n \r\n \r\n \r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" &&\r\n \r\n Carteirinha
\r\n window.open(\"/empty/CertificadoDestino?protocolo=\" + protocolo.numeroProtocolo + \"&local=\" + item.protocoloDestinoLocal_Id, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n\r\n }\r\n
\r\n
\r\n
\r\n ))}\r\n \r\n \r\n

Classes de Resíduo

\r\n
\r\n \r\n \r\n {protocolo.protocoloDestino[0].protocoloDestinoClasseResiduos.map((item, key) => (\r\n
{item.classeResiduo.descricao}
\r\n ))}\r\n \r\n
\r\n {protocolo.protocoloDestino[0].protocoloDestinoTransportadores.length > 0 &&\r\n \r\n \r\n

Transportadores Liberadores

\r\n
\r\n \r\n \r\n {protocolo.protocoloDestino[0].protocoloDestinoTransportadores.map((item, key) => (\r\n
{item.protocoloTransportador.nome_Fantasia}
\r\n ))}\r\n \r\n
\r\n }\r\n \r\n \r\n

Documentos

\r\n
\r\n \r\n\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n \r\n \r\n

Requerimentos

\r\n
\r\n \r\n\r\n \r\n rowData.fluxoCadastroEtapaAtual != null\r\n ? rowData.fluxoCadastroEtapaAtual.tipo\r\n : \"\"\r\n },\r\n { title: 'Status', field: 'status' },\r\n { title: 'Data Requerimento', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento) },\r\n { title: 'Atualizado Em', field: 'dataUltimaAcao', render: (rowData) => formateDateandTime(rowData.dataUltimaAcao) },\r\n { title: 'Data de Aceite', field: 'dataAceiteDeclaracao', render: (rowData) => rowData.dataAceiteDeclaracao != null ? formateDateandTime(rowData.dataAceiteDeclaracao) : \"\" },\r\n { title: 'Data de Finalização', field: 'dataUltimaAcao', render: (rowData) => rowData.dataUltimaAcao != null && rowData.status === \"Finalizado\" ? formateDateandTime(rowData.dataUltimaAcao) : \"\" },\r\n ]}\r\n data={protocolo.requerimento.sort(function (a, b) { return new Date(b.dataCriacaoRequerimento) - new Date(a.dataCriacaoRequerimento); })}\r\n isLoading={false}\r\n options={{\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar Detalhes',\r\n onClick: (event, rowData) => handleOpenRequerimento(rowData)\r\n },\r\n (rowData) => {\r\n return (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\" || rowData.status == \"Pendente\") && {\r\n icon: 'cancel',\r\n tooltip: 'Cancelar Requerimento',\r\n onClick: (event, rowData) => handleCancelarRequerimento(rowData)\r\n }\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n
\r\n {modal &&\r\n \r\n }\r\n {showAcoesGestor && item?.protocoloJustificativas.length > 0 &&\r\n \r\n }\r\n {showAcoesGestor == false && (protocolo.status == \"Ativo\" || protocolo.status == \"Pendente\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Inclusão\" && prop.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Exclusão\" && prop.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Vencido\" || protocolo.status == \"Inativo\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Ativo\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Alteração\") {\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.classificacao == \"Banco Manejo\")\r\n return ();\r\n else\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Ativo\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Aumento de Capacidade\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Novo Cadastro\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false &&\r\n protocolo?.requerimento?.filter(x =>\r\n x.status == \"Pendente\" &&\r\n x.fluxoCadastroEtapaAtual !== null &&\r\n x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\").length > 0 &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n handleEmitirGuia(protocolo?.requerimento?.filter(x => x.status == \"Pendente\" && x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\")[0].requerimento_Id)}\r\n >\r\n Emitir Guia\r\n \r\n }\r\n
\r\n
\r\n
\r\n set_modalMapaOpen(false)} zIndex=\"9999999\">\r\n \r\n
Localização no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n {requerimento != null &&\r\n \r\n }\r\n \r\n )\r\n}","import { api_GET } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport default function ValidaAcessoFuncionalidadeAcao(funcionalidadeAcao, callback) {\r\n let session = getSessionCookie();\r\n if (session && session.tipoAcesso == \"Protocolo\") {\r\n callback(false);\r\n return;\r\n }\r\n\r\n if (session.login == \"csj\") {\r\n callback(true);\r\n return;\r\n }\r\n\r\n api_GET('usuario/ValidaAcessoFuncionalidadeAcao/' + session.usuario_Id + \"/\" + funcionalidadeAcao)\r\n .then(result => { callback(result.data) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n};","import { api_GET } from \"services/api_service.js\";\r\nimport { showMessage } from \"services/message\";\r\n\r\nconst ValidaEmail = (email, callback) => {\r\n api_GET('email/ValidaEmail/' + email)\r\n .then(result => { callback(result, email) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport {\r\n ValidaEmail\r\n}","import moment from \"moment\";\r\nimport { formateDate } from \"./formats.js\";\r\n\r\nexport function isValidCNPJ(value) {\r\n \r\n value = value.replace(/[^\\d]+/g,'');\r\n \r\n if(value == '') return false;\r\n \r\n if (value.length != 14)\r\n return false;\r\n \r\n // Elimina CNPJs invalidos conhecidos\r\n if (value == \"00000000000000\" || \r\n value == \"11111111111111\" || \r\n value == \"22222222222222\" || \r\n value == \"33333333333333\" || \r\n value == \"44444444444444\" || \r\n value == \"55555555555555\" || \r\n value == \"66666666666666\" || \r\n value == \"77777777777777\" || \r\n value == \"88888888888888\" || \r\n value == \"99999999999999\")\r\n return false;\r\n \r\n if (!value) return false\r\n\r\n // Aceita receber o valor como string, número ou array com todos os dígitos\r\n const validTypes =\r\n typeof value === 'string' || Number.isInteger(value) || Array.isArray(value)\r\n \r\n // Elimina valor em formato inválido\r\n if (!validTypes) return false\r\n \r\n // Guarda um array com todos os dígitos do valor\r\n const match = value.toString().match(/\\d/g)\r\n const numbers = Array.isArray(match) ? match.map(Number) : []\r\n \r\n // Valida a quantidade de dígitos\r\n if (numbers.length !== 14) return false\r\n \r\n // Elimina inválidos com todos os dígitos iguais\r\n const items = [...new Set(numbers)]\r\n if (items.length === 1) return false\r\n \r\n // Cálculo validador\r\n const calc = (x) => {\r\n const slice = numbers.slice(0, x)\r\n let factor = x - 7\r\n let sum = 0\r\n \r\n for (let i = x; i >= 1; i--) {\r\n const n = slice[x - i]\r\n sum += n * factor--\r\n if (factor < 2) factor = 9\r\n }\r\n \r\n const result = 11 - (sum % 11)\r\n \r\n return result > 9 ? 0 : result\r\n }\r\n \r\n // Separa os 2 últimos dígitos de verificadores\r\n const digits = numbers.slice(12)\r\n \r\n // Valida 1o. dígito verificador\r\n const digit0 = calc(12)\r\n if (digit0 !== digits[0]) return false\r\n \r\n // Valida 2o. dígito verificador\r\n const digit1 = calc(13)\r\n return digit1 === digits[1] \r\n}\r\n\r\nexport function isValidCPF(cpf) {\r\n if (typeof cpf !== \"string\") return false\r\n cpf = cpf.replace(/[\\s.-]*/igm, '')\r\n if (\r\n !cpf ||\r\n cpf.length != 11 ||\r\n cpf == \"00000000000\" ||\r\n cpf == \"11111111111\" ||\r\n cpf == \"22222222222\" ||\r\n cpf == \"33333333333\" ||\r\n cpf == \"44444444444\" ||\r\n cpf == \"55555555555\" ||\r\n cpf == \"66666666666\" ||\r\n cpf == \"77777777777\" ||\r\n cpf == \"88888888888\" ||\r\n cpf == \"99999999999\" \r\n ) {\r\n return false\r\n }\r\n var soma = 0\r\n var resto\r\n for (var i = 1; i <= 9; i++) \r\n soma = soma + parseInt(cpf.substring(i-1, i)) * (11 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto == 10) || (resto == 11)) resto = 0\r\n if (resto != parseInt(cpf.substring(9, 10)) ) return false\r\n soma = 0\r\n for (var i = 1; i <= 10; i++) \r\n soma = soma + parseInt(cpf.substring(i-1, i)) * (12 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto == 10) || (resto == 11)) resto = 0\r\n if (resto != parseInt(cpf.substring(10, 11) ) ) return false\r\n return true\r\n}\r\n\r\nexport function isValidDate(input_date){\r\n input_date = formateDate(input_date);\r\n var year = moment(input_date.toString(), \"DD/MM/YYYY\").year();\r\n\r\n if (year < 1000 || year > 3000)\r\n return false;\r\n\r\n return moment(input_date.toString(), \"DD/MM/YYYY\", true).isValid();\r\n}\r\n\r\nexport function isValidHourMinute(input_date){\r\n return moment(input_date.toString(), \"HH:mm\", true).isValid();\r\n}\r\n\r\nexport function isValidDayMonth(input_date){\r\n return moment(input_date.toString(), \"DD/MM\", true).isValid();\r\n}\r\n\r\nexport function onlyNumber(input_text){\r\n input_text = input_text.replace(/[^0-9]+/g, '');\r\n return input_text;\r\n}\r\n\r\nexport function onlyAlphaNumericAndSpace(input_text){\r\n input_text = input_text.replace(/[^A-zÀ-ú0-9\\w\\s\\&]/gi,'');\r\n return input_text;\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, UncontrolledTooltip, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n//helpers\r\nimport { formateDateApi, formateDateandTime } from \"../../../helpers/formats.js\";\r\nimport { ValidaEmail } from \"../../../helpers/email\";\r\nimport { onlyAlphaNumericAndSpace, onlyNumber } from \"../../../helpers/valid.js\";\r\nimport { isValidDate } from \"../../../helpers/valid.js\";\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputCPF, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloWithProtocoloTransportador, EnviaRequerimentoTransportador } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Identificacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n const [modal, setModal] = useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const [identificacao, set_identificacao] = React.useState(null);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Cancelado\", label: \"Cancelado\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n { value: \"Pendente\", label: \"Pendente\" },\r\n { value: \"Vencido\", label: \"Vencido\" }\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // E-Mail\r\n const [email, set_email] = React.useState(\"\");\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n set_email(event.target.value);\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n const handleRetornoValidaEmail = (result) => {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-Mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n set_email(\"\");\r\n\r\n }\r\n }\r\n\r\n // Nome Fantasia\r\n const handleFantasia = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"fantasia\", result);\r\n }\r\n\r\n // Razão Social\r\n const handleRazaoSocial = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"razaoSocial\", result);\r\n }\r\n\r\n // Nome do Solicitante\r\n const handleSolicitante = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"nomeSolicitante\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (isValidDate(input_date) == false) {\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n const [optionsTipoTransportador, set_OptionsTipoTransportador] = useState([\r\n { value: \"Pessoa Física / MEI\", label: \"Pessoa Física / MEI\" },\r\n { value: \"Pessoa Jurídica (Privado)\", label: \"Pessoa Jurídica (Privado)\" },\r\n { value: \"Pessoa Jurídica (Público)\", label: \"Pessoa Jurídica (Público)\" }\r\n ]);\r\n const [tipoTransportador, set_tipoTransportador] = useState(\"Pessoa Jurídica (Privado)\");\r\n const handleTipoTransportador = (value) => {\r\n set_tipoTransportador(value.value);\r\n setValue(\"tipoTransportador\", value.value, true);\r\n clearErrors(\"tipoTransportador\");\r\n }\r\n\r\n //SubPrefeitura\r\n const [optionsSubPrefeitura, set_OptionsSubPrefeitura] = useState([]);\r\n const [subPrefeitura, set_subPrefeitura] = useState(null);\r\n const loadOptionsSubPrefeitura = () => {\r\n api_GET('subprefeitura')\r\n .then(result => {\r\n set_OptionsSubPrefeitura(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloTransportador.length > 0) {\r\n set_subPrefeitura(item.protocoloTransportador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.protocoloTransportador[0].subPrefeitura, true);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoTransportador.length > 0) {\r\n set_subPrefeitura(item.requerimentoTransportador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.requerimentoTransportador[0].subPrefeitura, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleSubPrefeitura = (value) => {\r\n set_subPrefeitura(value);\r\n setValue(\"subPrefeitura\", value, true);\r\n clearErrors(\"subPrefeitura\");\r\n }\r\n\r\n const [tipoIndustria, set_tipoIndustria] = useState(\"\");\r\n const [ramo, set_ramo] = useState(\"\");\r\n\r\n // Número Endereço\r\n const handleNumeroEndereco = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numEndereco\", result);\r\n }\r\n\r\n // Classes de Resíduo\r\n const [classesResiduo, set_classesResiduo] = useState([]);\r\n const [optionsClassesResiduo, set_OptionsClassesResiduo] = useState([]);\r\n const loadOptionsClassesResiduo = (categoria_Id) => {\r\n api_GET(`ClasseResiduo/GetListAtivosByCategoria/${categoria_Id}`)\r\n .then(result => {\r\n set_OptionsClassesResiduo(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloTransportador.length > 0 && item.protocoloTransportador[0].protocoloTransportadorClasseResiduo != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.protocoloTransportador[0].protocoloTransportadorClasseResiduo.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoTransportador.length > 0 && item.requerimentoTransportador[0].requerimentoTransportadorClasseResiduo != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.requerimentoTransportador[0].requerimentoTransportadorClasseResiduo.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleClassesResiduo = event => {\r\n set_classesResiduo(event);\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = useState(null);\r\n\r\n // cep\r\n const handleCEP = (event) => {\r\n clearErrors(\"cep\");\r\n\r\n if (event.target.value.replace(/[^0-9]/g, '').trim().length < 8) {\r\n setValue(\"cep\", \"\");\r\n showMessage(\"Aviso\", \"Cep inválido. só é permitido preencher com números\", 'error', null);\r\n return;\r\n }\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n }\r\n });\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n if (item != null) {\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.requerimentoTransportador != null && item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcao.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcao.setupSolicitacao.categoria_Id);\r\n set_tipoTransportador((item.setupSolicitacaoAcao != null && item.setupSolicitacaoAcao.setupSolicitacao.pessoa == \"Física\") ? \"Pessoa Física / MEI\" : \"Pessoa Jurídica (Privado)\");\r\n if (item.requerimentoTransportador != null && item.requerimentoTransportador.length > 0) {\r\n setValue(\"fantasia\", item.requerimentoTransportador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.requerimentoTransportador[0].razaoSocial);\r\n setValue(\"ccm\", item.requerimentoTransportador[0].ccm);\r\n setValue(\"telefone\", item.requerimentoTransportador[0].telefone);\r\n setValue(\"celular\", item.requerimentoTransportador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.requerimentoTransportador[0].tipoIndustriaComercio);\r\n set_tipoIndustria(item.requerimentoTransportador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.requerimentoTransportador[0].ramoAtividade);\r\n set_ramo(item.requerimentoTransportador[0].ramoAtividade);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.requerimentoTransportador[0].cep);\r\n setValue(\"logradouro\", item.requerimentoTransportador[0].logradouro);\r\n setValue(\"bairro\", item.requerimentoTransportador[0].bairro);\r\n setValue(\"numEndereco\", item.requerimentoTransportador[0].numEndereco);\r\n setValue(\"complemento\", item.requerimentoTransportador[0].complemento);\r\n setValue(\"cidade\", item.requerimentoTransportador[0].cidade);\r\n setValue(\"uf\", item.requerimentoTransportador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n }\r\n }\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n if (item != null) {\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.protocoloTransportador != null && item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria_Id);\r\n set_tipoTransportador((item.setupSolicitacaoAcaoNovoCadastro != null && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa == \"Física\") ? \"Pessoa Física / MEI\" : \"Pessoa Jurídica (Privado)\");\r\n if (item.protocoloTransportador.length > 0) {\r\n setValue(\"fantasia\", item.protocoloTransportador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.protocoloTransportador[0].razaoSocial);\r\n setValue(\"ccm\", item.protocoloTransportador[0].ccm);\r\n setValue(\"codigoCadastro\", item.codigoCadastro);\r\n setValue(\"telefone\", item.protocoloTransportador[0].telefone);\r\n setValue(\"celular\", item.protocoloTransportador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.protocoloTransportador[0].tipoIndustriaComercio);\r\n set_tipoIndustria(item.protocoloTransportador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.protocoloTransportador[0].ramoAtividade);\r\n set_ramo(item.protocoloTransportador[0].ramoAtividade);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.protocoloTransportador[0].cep);\r\n setValue(\"logradouro\", item.protocoloTransportador[0].logradouro);\r\n setValue(\"bairro\", item.protocoloTransportador[0].bairro);\r\n setValue(\"numEndereco\", item.protocoloTransportador[0].numEndereco);\r\n setValue(\"complemento\", item.protocoloTransportador[0].complemento);\r\n setValue(\"cidade\", item.protocoloTransportador[0].cidade);\r\n setValue(\"uf\", item.protocoloTransportador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n }\r\n }\r\n }\r\n\r\n const loadDefaultValues = (field) => {\r\n if (item == null)\r\n return \"\";\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].celular : \"\";\r\n case \"CEP\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].cep : \"\";\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item.requerimentoTransportador != null) {\r\n switch (field) {\r\n case \"Telefone\": return item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].telefone : \"\";\r\n case \"Celular\": return item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].celular : \"\";\r\n case \"CEP\": return item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].cep : \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(true);\r\n loadOptionsSubPrefeitura();\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n\r\n if (email == null || email.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"E-Mail não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (isValidDate(data.dataFimVigencia) == false) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let numeroEndereco = onlyNumber(data.numEndereco);\r\n if (numeroEndereco.length == \"\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Número de endereço inválido, ou, não informado. Só é permitido o preenchimento de dígitos numéricos.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloWithProtocoloTransportador(json, handleRetornoSubmit)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportador(json, handleRetornoSubmit)\r\n }\r\n else {\r\n set_identificacao(item);\r\n handleProximoStep(item);\r\n }\r\n }\r\n\r\n const carregaJsonRequerimento = (data) => {\r\n let requerimentoTransportadorClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n requerimentoTransportadorClasseResiduo.push({\r\n requerimentoTransportadorClasseResiduo_Id: 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n requerimentoTransportador_Id: item != null && item.requerimentoTransportador != null && item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].requerimentoTransportador_Id : 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n subPrefeitura_Id: subPrefeitura.subPrefeitura_Id,\r\n cpf_Cnpj: data.cnpj != null ? data.cnpj.replace(/[./-]/g, '') : data.cpf.replace(/[./-]/g, ''),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n nomeResponsavel: data.responsavel,\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n cCM: data.ccm,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo,\r\n tipoIndustriaComercio: data.tipoIndustriaComercio,\r\n requerimentoTransportadorClasseResiduo: requerimentoTransportadorClasseResiduo\r\n }\r\n\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonProtocolo = (data) => {\r\n let protocoloTransportadorClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n protocoloTransportadorClasseResiduo.push({\r\n protocoloTransportadorClasseResiduo_Id: 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n numeroProtocolo: item != null ? item.numeroProtocolo : \"\",\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n email: data.email,\r\n cpf_Cnpj: data.cnpj != null ? data.cnpj.replace(/[./-]/g, '') : data.cpf.replace(/[./-]/g, ''),\r\n status: (item != null && status == \"\") ? item.status : status,\r\n dataFimVigencia: session != null && session.tipoAcesso == \"AreaRestrita\" ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n etapaCadastro: 1,\r\n codigoCadastro: data.codigoCadastro,\r\n protocoloTransportador: [{\r\n protocoloTransportador_Id: (item != null && item.protocoloTransportador.length > 0) ? item.protocoloTransportador[0].protocoloTransportador_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n subPrefeitura_Id: subPrefeitura.subPrefeitura_Id,\r\n cpf_Cnpj: data.cnpj != null ? data.cnpj.replace(/[./-]/g, '') : data.cpf.replace(/[./-]/g, ''),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n nomeResponsavel: data.responsavel,\r\n cCM: data.ccm,\r\n codigoCadastro: (item != null && item.protocoloTransportador.length > 0) ? item.codigoCadastro : \"0\",\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo,\r\n tipoIndustriaComercio: data.tipoIndustriaComercio,\r\n protocoloTransportadorClasseResiduo: protocoloTransportadorClasseResiduo\r\n }],\r\n protocoloJustificativas: [{\r\n protocoloJustificativas_Id: (item != null && item.protocoloJustificativas != null && item.protocoloJustificativas.length > 0) ? item.protocoloJustificativas[0].protocoloJustificativas_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n UsuarioJustificativa: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n observacao: data.observacao,\r\n usuario: data.usuario\r\n }]\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleRetornoSubmit = (result) => {\r\n setLoading(false);\r\n set_identificacao(result.data);\r\n handleProximoStep(result.data);\r\n }\r\n\r\n return (\r\n <>\r\n\r\n \r\n Histórico de Justificativas.\r\n \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.protocoloJustificativas != undefined && item.protocoloJustificativas.length > 0 && item.protocoloJustificativas.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.usuario == undefined || justificativa.usuario == null\r\n ? justificativa.usuarioJustificativa\r\n : justificativa.usuario.nome}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Identificação

\r\n
{categoria && categoria.descricao}
\r\n \r\n \r\n \r\n
\r\n

Dados de Identificação

\r\n \r\n \r\n \r\n \r\n obj.value == tipoTransportador && tipoTransportador == \"Física\").length > 1 ?\r\n (item.cpf_Cnpj.length == 11 ? optionsTipoTransportador.filter(obj => obj.value == \"Física\")[0] : optionsTipoTransportador.filter(obj => obj.value == \"Física\")[1]) :\r\n optionsTipoTransportador.filter(obj => obj.value == tipoTransportador)[0]\r\n }\r\n onChange={(value) => handleTipoTransportador(value)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoTransportador\" },\r\n { required: false })\r\n }\r\n isDisabled={identificacao != null ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsavel && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") &&\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") &&\r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n * \r\n \r\n {errors.nomeSolicitante && * Campo Obrigatório}\r\n \r\n \r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\" || (tipoTransportador == \"Pessoa Física / MEI\" && item != null && item?.cpf_Cnpj.length == 14)) &&\r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoTransportador == \"Pessoa Física / MEI\" && item != null && item?.cpf_Cnpj.length == 11) &&\r\n \r\n \r\n \r\n \r\n {errors.cpf && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n * \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") &&\r\n \r\n \r\n \r\n \r\n {errors.tipoIndustriaComercio && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") && categoria && categoria.sigla != \"RGG\" &&\r\n \r\n \r\n \r\n \r\n {errors.ramo && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.dataFimVigencia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n 0 ? \"\" : \"d-none\"}>\r\n \r\n \r\n descricao}\r\n getOptionValue={({ classeResiduo_Id }) => classeResiduo_Id}\r\n name=\"classeResiduo\"\r\n isMulti={true}\r\n value={optionsClassesResiduo.filter(({ classeResiduo_Id }) => classesResiduo.filter(f => f.classeResiduo_Id == classeResiduo_Id).length > 0)}\r\n onChange={(value) => handleClassesResiduo(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classeResiduo\" },\r\n { required: false })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: permiteEditar })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Endereço

\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.nome}\r\n getOptionValue={option => option.subPrefeitura_Id}\r\n name=\"subPrefeitura\"\r\n onChange={(e) => { handleSubPrefeitura(e) }}\r\n value={subPrefeitura}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"subPrefeitura\" },\r\n { required: subPrefeitura != null && subPrefeitura != 0 ? false : true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.subPrefeitura && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n }\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && item.protocoloJustificativas.length > 0 &&\r\n \r\n Justificativas\r\n \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import { api_POST, api_PUT } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const EnviaProtocoloWithProtocoloTransportador = (json, callback) => {\r\n if (json.protocolo_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloWithProtocoloTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloWithProtocoloTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorVeiculo = (json, callback) => {\r\n if (json.protocoloTransportadorVeiculo_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorLocalGuarda = (json, callback) => {\r\n if (json.protocoloTransportadorLocalGuarda_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorLocalGuarda', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorLocalGuarda', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorLocalDestino = (json, callback) => {\r\n if (json.protocoloTransportadorLocalDestino_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorEquipamento = (json, callback) => {\r\n if (json.protocoloTransportadorEquipamento_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoTransportador = (json, callback) => {\r\n api_POST('protocoloTransportador/PostProtocoloDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoTransportador = (json, callback) => {\r\n if (json.requerimentoTransportador_Id == 0) {\r\n api_POST('requerimentoTransportador/PostRequerimentoTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutRequerimentoTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorVeiculo = (json, callback) => {\r\n if (json.requerimentoTransportadorVeiculo_Id == 0 || json.requerimentoTransportadorVeiculo_Id == null) {\r\n api_POST('requerimentoTransportador/PostRequerimentoTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutRequerimentoTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorLocalGuarda = (json, callback) => {\r\n if (json.requerimentoTransportadorLocalGuarda_Id == 0) {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorLocalGuarda ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorLocalGuarda', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorLocalDestino = (json, callback) => {\r\n if (json.requerimentoTransportadorLocalDestino_Id == 0) {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorEquipamento = (json, callback) => {\r\n if (json.requerimentoTransportadorEquipamento_Id == 0) {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoTransportador = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, UncontrolledTooltip, Tooltip, CardText } from \"reactstrap\";\r\nimport InputPDF from \"../../../components/Input/InputPDF.jsx\";\r\n\r\n//helpers\r\nimport { isValidDate } from \"../../../helpers/valid.js\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\n\r\nimport { EnviaProtocoloTransportadorVeiculo, EnviaRequerimentoTransportadorVeiculo } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { formateDateApi } from \"../../../helpers/formats.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth.js\";\r\n\r\nexport default function Veiculos({ item, tipoCadastro, permiteManutencao, totalVeiculos, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [veiculos, set_veiculos] = React.useState([]);\r\n\r\n const [tooltipOpen, setTooltipOpen] = React.useState(false);\r\n const toggleTip = () => setTooltipOpen(!tooltipOpen);\r\n\r\n useEffect(() => {\r\n LoadTiposVeiculo();\r\n\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(false);\r\n\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorVeiculo != null) {\r\n set_veiculos(item.protocoloTransportador[0].protocoloTransportadorVeiculo);\r\n }\r\n\r\n let _actionRenavam = actions;\r\n _actionRenavam.push({\r\n icon: 'description',\r\n tooltip: 'Visualizar Renavam',\r\n onClick: (event, rowData) => handleVisualizaRENAVAM(rowData)\r\n });\r\n\r\n set_actions(_actionRenavam);\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorVeiculo != null) {\r\n set_veiculos(item.requerimentoTransportadorVeiculo);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.acao !== \"Alteração\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Veículo',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n\r\n if (item.setupSolicitacaoAcao.acao !== \"Alteração\") {\r\n let _actionRenavam = actions;\r\n _actionRenavam.push({\r\n icon: 'description',\r\n tooltip: 'Visualizar Renavam',\r\n onClick: (event, rowData) => handleVisualizaRENAVAM(rowData)\r\n });\r\n\r\n set_actions(_actionRenavam);\r\n }\r\n\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n },\r\n ]);\r\n\r\n // Placa\r\n const handleChangePlaca = (e) => {\r\n let result = e.target.value.replace(/[^a-zà-ú0-9]/gi, '');\r\n setValue(\"placa\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (!isValidDate(input_date)) {\r\n showMessage(\"Aviso\", \"Data informada é inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Tipo Veículo\r\n const [optionsTipoVeiculo, set_optionsTipoVeiculo] = React.useState([])\r\n\r\n const LoadTiposVeiculo = () => {\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") ||\r\n (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n api_GET('TipoImplemento')\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.descricao,\r\n value: m.descricao\r\n }));\r\n set_optionsTipoVeiculo(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n set_optionsTipoVeiculo([\r\n { label: \"Basculante\", value: \"Basculante\" },\r\n { label: \"Caminhão Toco\", value: \"Caminhão Toco\" },\r\n { label: \"Carreta\", value: \"Carreta\" },\r\n { label: \"Cavalo Mecânico\", value: \"Cavalo Mecânico\" },\r\n { label: \"Poliguindaste\", value: \"Poliguindaste\" },\r\n { label: \"Reboque\", value: \"Reboque\" },\r\n { label: \"Roll-on Roll-off\", value: \"Roll-on Roll-off\" },\r\n { label: \"Veículo Urbano de Carga\", value: \"Veículo Urbano de Carga\" },\r\n { label: \"Caminhão Carroceria\", value: \"Caminhão Carroceria\" },\r\n { label: \"Compactador\", value: \"Compactador\" }\r\n ]);\r\n }\r\n }\r\n\r\n const [tipoVeiculo, set_tipoVeiculo] = React.useState(null);\r\n const handleTipoVeiculo = (value) => {\r\n set_tipoVeiculo(value);\r\n setValue(\"tipoVeiculo\", value, true);\r\n clearErrors(\"tipoVeiculo\");\r\n\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") ||\r\n (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n set_modalidades([]);\r\n loadModalidades(value);\r\n }\r\n }\r\n\r\n //Modalidades \r\n const [modalidades, set_modalidades] = useState([]);\r\n const [optionsModalidades, set_OptionsModalidades] = useState([]);\r\n\r\n const loadModalidades = (descricao) => {\r\n api_GET(`Modalidade/GetModalidades/` + descricao)\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.descricao,\r\n value: m.descricao\r\n }));\r\n set_OptionsModalidades(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleModalidades = event => {\r\n set_modalidades(event);\r\n }\r\n\r\n\r\n // pegar o status quando for editar\r\n const [veiculoStatus, setVeiculoStatus] = useState(null)\r\n const handleStatusVeiculo = (value) => {\r\n setVeiculoStatus(value)\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Arquivo Renavam\r\n const [file_renavam, set_file_renavam] = React.useState(null);\r\n const handleFileRenavam = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo RENAVAM não informado. Apresente o arquivo RENAVAM do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_renavam(_file);\r\n callback();\r\n }\r\n\r\n // Arquivo Inmetro\r\n const [file_inmetro, set_file_inmetro] = React.useState(null);\r\n const handleFileInmetro = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo INMETRO não informado. Apresente o arquivo INMETRO do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_inmetro(_file);\r\n callback();\r\n }\r\n\r\n // Arquivo Comprovante Tara\r\n const [file_comprovantetara, set_file_comprovantetara] = React.useState(null);\r\n const handleFileComprovanteTara = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo COMPROVANTE DE TARA não informado. Apresente o arquivo COMPROVANTE DE TARA do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_comprovantetara(_file);\r\n callback();\r\n }\r\n\r\n // Arquivo Comodato\r\n const [file_comodato, set_file_comodato] = React.useState(null);\r\n const handleFileComodato = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo COMODATO não informado. Apresente o arquivo COMODATO do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_comodato(_file);\r\n callback();\r\n }\r\n const loadInputComodato = () => {\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.pessoa != \"Física\")\r\n || (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa != \"Física\")) {\r\n return \r\n \r\n

Comodato \r\n Obrigatório para veículos locados. Contrato de aluguel do veículo\r\n

\r\n \r\n \r\n
\r\n \r\n }\r\n }\r\n\r\n // Veiculo Proprietário / Locado\r\n const [proprietarioOuLocado, set_proprietarioOuLocado] = React.useState(null);\r\n const [options_proprietarioOuLocado] = React.useState([\r\n { value: \"Proprietário\", label: \"Proprietário\" },\r\n { value: \"Locado\", label: \"Locado\" },\r\n ]);\r\n const handleproprietarioOuLocado = (value) => {\r\n set_proprietarioOuLocado(value);\r\n setValue(\"proprietarioOuLocado\", value, true);\r\n }\r\n\r\n const handleVisualizaRENAVAM = (rowData) => {\r\n if (rowData.arquivoRenavam != null && rowData.arquivoRenavam.length > 0) {\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivoRenavam, '_blank');\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"O veículo selecionado não possui o RENAVAM anexado\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"placa\", rowData.placa);\r\n setValue(\"marca\", rowData.marca);\r\n setValue(\"status\", rowData.status)\r\n set_tipoVeiculo(rowData.tipo);\r\n setValue(\"tipoVeiculo\", rowData.tipo, true);\r\n setValue(\"anoFabricacao\", rowData.anoFabricacao);\r\n setValue(\"capacidadeCarga\", rowData.capacidadeCarga);\r\n setValue(\"tara\", rowData.tara);\r\n setValue(\"renavam\", rowData.numeroRenavam);\r\n setValue(\"cor\", rowData.cor);\r\n setValue(\"anoFabricacaoEquipamento\", rowData.anoFabricacaoEquipamento);\r\n set_proprietarioOuLocado(rowData.proprietarioOuLocado);\r\n setValue(\"proprietarioOuLocado\", rowData.proprietarioOuLocado, true);\r\n setValue(\"volume\", rowData.volume);\r\n setVeiculoStatus(rowData.status);\r\n if (tipoCadastro == \"Requerimento\") {\r\n if (rowData.requerimentoTransportadorVeiculoModalidade) {\r\n let _modalidades = rowData.requerimentoTransportadorVeiculoModalidade.map((m, key) => ({\r\n label: m.modalidade,\r\n value: m.modalidade\r\n }))\r\n set_modalidades(_modalidades);\r\n }\r\n } else if (tipoCadastro == \"Protocolo\") {\r\n let _modalidades = rowData.protocoloTransportadorVeiculoModalidades.map((m, key) => ({\r\n label: m.modalidade,\r\n value: m.modalidade\r\n }))\r\n set_modalidades(_modalidades);\r\n }\r\n\r\n\r\n loadModalidades(rowData.tipo);\r\n\r\n if (rowData.dataVistoria != null)\r\n setValue(\"dataVistoria\", formateDateApi(rowData.dataVistoria));\r\n else\r\n setValue(\"dataVistoria\", \"\");\r\n\r\n if (rowData.dataValidadeVistoria != null)\r\n setValue(\"dataValidadeVistoria\", formateDateApi(rowData.dataValidadeVistoria));\r\n else\r\n setValue(\"dataValidadeVistoria\", \"\");\r\n\r\n if (rowData.arquivoRenavam != null) {\r\n set_file_renavam({\r\n name: rowData.arquivoRenavam,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n\r\n if (rowData.arquivoInspecaoInmetro != null) {\r\n set_file_inmetro({\r\n name: rowData.arquivoInspecaoInmetro,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n\r\n if (rowData.arquivoComprovanteTara != null) {\r\n set_file_comprovantetara({\r\n name: rowData.arquivoComprovanteTara,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n\r\n if (rowData.arquivoComodato != null) {\r\n set_file_comodato({\r\n name: rowData.arquivoComodato,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este veículo?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoTransportador/PostRemoverVeiculoRequerimento/' + rowData.requerimentoTransportadorVeiculo_Id)\r\n .then(result => { showMessage(\"Aviso\", \"Veículo removido com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimento_Id) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoTransportador/GetVeiculosRequerimento/' + reloadId)\r\n .then(result => set_veiculos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (item.setupSolicitacaoAcaoNovoCadastro) {\r\n if (rowEdit == null && (item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa == \"Física\") && (totalVeiculos + veiculos.filter(x => x.status == \"Ativo\").length >= 2)) {\r\n showMessage(\"Aviso\", \"Você não pode ter mais que dois veículos como Pessoa Física ou MEI!\", 'error', null);\r\n return;\r\n }\r\n } else {\r\n if (rowEdit == null && (item.setupSolicitacaoAcao.setupSolicitacao.pessoa == \"Física\") && (totalVeiculos + veiculos.filter(x => x.status == \"Ativo\").length >= 2)) {\r\n showMessage(\"Aviso\", \"Você não pode ter mais que dois veículos como Pessoa Física ou MEI!\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n if (veiculos.length == 1 &&\r\n rowEdit == null &&\r\n tipoCadastro == \"Requerimento\" &&\r\n item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n (item.setupSolicitacaoAcao.acao == \"Inclusão\")\r\n ) {\r\n showMessage(\"Aviso\", `Você só pode incluir um veículo no requerimento de ${item.setupSolicitacaoAcao.acao}`, 'warning', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && veiculos.filter(f => f.placa == data.placa || f.numeroRenavam == data.renavam).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um veículo com esta placa/renavam!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.placa.replace(\"-\", \"\").length != 7) {\r\n showMessage(\"Aviso\", \"Placa Inválida!\", 'error', null);\r\n return;\r\n }\r\n\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && (file_renavam == null || file_inmetro == null)) {\r\n showMessage(\"Aviso\", \"Arquivos .pdf obrigatórios não informados: Arquivo Renavam; Inspeção Inmetro.\", 'error', null);\r\n return;\r\n }\r\n\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" && modalidades.length == 0)\r\n || (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" && modalidades.length == 0)) {\r\n showMessage(\"Aviso\", \"Obrigatório selecionar pelo menos uma modalidade!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorVeiculo(json, confirmaAddVeiculo)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorVeiculo(json, confirmaAddVeiculo)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let protocoloTransportadorVeiculoModalidade = [];\r\n modalidades.map(m => {\r\n protocoloTransportadorVeiculoModalidade.push({\r\n protocoloTransportadorVeiculoModalidade_Id: 0,\r\n protocoloTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorVeiculo_Id,\r\n modalidade: m.value\r\n });\r\n })\r\n\r\n let json_submit = {\r\n protocoloTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorVeiculo_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n placa: data.placa,\r\n marca: data.marca,\r\n tipo: tipoVeiculo,\r\n capacidadeCarga: data.capacidadeCarga,\r\n tara: data.tara,\r\n anoFabricacao: data.anoFabricacao,\r\n numeroRenavam: data.renavam,\r\n dataVistoria: data.dataVistoria,\r\n dataValidadeVistoria: data.dataValidadeVistoria,\r\n arquivoRenavam: file_renavam != null ? file_renavam.name : null,\r\n arquivoRenavamBase64: file_renavam != null ? file_renavam.base64 : null,\r\n arquivoInspecaoInmetro: file_inmetro != null ? file_inmetro.name : null,\r\n arquivoInspecaoInmetroBase64: file_inmetro != null ? file_inmetro.base64 : null,\r\n arquivoComprovanteTara: file_comprovantetara != null ? file_comprovantetara.name : null,\r\n arquivoComprovanteTaraBase64: file_comprovantetara != null ? file_comprovantetara.base64 : null,\r\n arquivoComodato: file_comodato != null ? file_comodato.name : null,\r\n arquivoComodatoBase64: file_comodato != null ? file_comodato.base64 : null,\r\n status: veiculoStatus,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n cor: data.cor,\r\n anoFabricacaoEquipamento: data.anoFabricacaoEquipamento,\r\n proprietarioOuLocado: proprietarioOuLocado,\r\n volume: data.volume,\r\n protocoloTransportadorVeiculoModalidades: protocoloTransportadorVeiculoModalidade\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let requerimentoTransportadorVeiculoModalidade = [];\r\n modalidades.map(m => {\r\n requerimentoTransportadorVeiculoModalidade.push({\r\n requerimentoTransportadorVeiculoModalidade_Id: 0,\r\n requerimentoTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorVeiculo_Id,\r\n modalidade: m.value\r\n });\r\n })\r\n\r\n let json_submit = {\r\n requerimentoTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorVeiculo_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n placa: data.placa,\r\n placaAntiga: rowEdit != null ? rowEdit.placa : \"\",\r\n marca: data.marca,\r\n tipo: tipoVeiculo,\r\n capacidadeCarga: data.capacidadeCarga,\r\n tara: data.tara,\r\n anoFabricacao: data.anoFabricacao,\r\n numeroRenavam: data.renavam,\r\n arquivoRenavam: file_renavam ? file_renavam.name : null,\r\n arquivoRenavamBase64: file_renavam ? file_renavam.base64 : null,\r\n arquivoInspecaoInmetro: file_inmetro ? file_inmetro.name : null,\r\n arquivoInspecaoInmetroBase64: file_inmetro ? file_inmetro.base64 : null,\r\n arquivoComprovanteTara: file_comprovantetara ? file_comprovantetara.name : null,\r\n arquivoComprovanteTaraBase64: file_comprovantetara ? file_comprovantetara.base64 : null,\r\n arquivoComodato: file_comodato ? file_comodato.name : null,\r\n arquivoComodatoBase64: file_comodato ? file_comodato.base64 : null,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n cor: data.cor,\r\n anoFabricacaoEquipamento: data.anoFabricacaoEquipamento,\r\n proprietarioOuLocado: proprietarioOuLocado,\r\n volume: data.volume,\r\n requerimentoTransportadorVeiculoModalidade: requerimentoTransportadorVeiculoModalidade\r\n }\r\n\r\n return json_submit;\r\n }\r\n const confirmaAddVeiculo = (result) => {\r\n setLoading(false);\r\n let _registro = registro;\r\n let veiculo = result.data;\r\n if (tipoCadastro == \"Protocolo\") {\r\n let new_list = [];\r\n veiculos.map(m => {\r\n if (m.protocoloTransportadorVeiculo_Id != veiculo.protocoloTransportadorVeiculo_Id)\r\n new_list.push(m);\r\n });\r\n new_list.push(veiculo);\r\n set_veiculos(new_list);\r\n\r\n _registro.protocoloTransportadorVeiculo = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let _veiculos = [\r\n ...veiculos\r\n ]\r\n\r\n if (item.setupSolicitacaoAcao.acao === \"Alteração\") {\r\n veiculo.Alteracao = true;\r\n }\r\n\r\n\r\n if (rowEdit == null) {\r\n _veiculos.push(veiculo)\r\n set_veiculos(_veiculos)\r\n } else {\r\n _veiculos[rowEdit.tableData.id] = veiculo;\r\n set_veiculos(_veiculos)\r\n }\r\n\r\n _registro.requerimentoTransportadorVeiculo = _veiculos;\r\n }\r\n set_registro(_registro);\r\n\r\n setValue(\"placa\", \"\");\r\n setValue(\"marca\", \"\");\r\n setValue(\"anoFabricacao\", \"\");\r\n setValue(\"capacidadeCarga\", \"\");\r\n setValue(\"tara\", \"\");\r\n setValue(\"renavam\", \"\");\r\n setValue(\"dataVistoria\", \"\");\r\n setValue(\"dataValidadeVistoria\", \"\");\r\n setValue(\"cor\", \"\");\r\n setValue(\"anoFabricacaoEquipamento\", \"\");\r\n set_proprietarioOuLocado(null);\r\n setValue(\"proprietarioOuLocado\", null, false);\r\n setValue(\"volume\", \"\");\r\n set_tipoVeiculo(null);\r\n set_modalidades([]);\r\n\r\n set_rowEdit(null);\r\n set_file_renavam(null);\r\n set_file_inmetro(null);\r\n set_file_comprovantetara(null);\r\n set_file_comodato(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && veiculos.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os veículos\", 'error', null);\r\n return;\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n setLoading(true);\r\n api_POST('requerimentoTransportador/ValidacaoVeiculoRequerimento/' + item.requerimento_Id)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n handleProximoStep(registro);\r\n }\r\n }\r\n\r\n\r\n const [optionsStatusVeiculo, setOptionsStatusVeiculo] = useState([\r\n { label: \"Ativo\", value: \"Ativo\" },\r\n { label: \"Inativo\", value: \"Inativo\" },\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

Veículos

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.placa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.marca && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.anoFabricacao && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && rowEdit &&\r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"status\"\r\n onChange={(e) => { handleStatusVeiculo(e.value) }}\r\n value={optionsStatusVeiculo.filter(f => f.value == veiculoStatus)[0]}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"tipoVeiculo\"\r\n onChange={(e) => { handleTipoVeiculo(e.value) }}\r\n value={optionsTipoVeiculo.filter(f => f.value == tipoVeiculo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoVeiculo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipoVeiculo && * Campo Obrigatório}\r\n \r\n \r\n {tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n name=\"modalidades\"\r\n isMulti={true}\r\n value={optionsModalidades.filter(({ value }) => modalidades.filter(f => f.value == value).length > 0)}\r\n onChange={(value) => handleModalidades(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"modalidades\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n }\r\n {tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n name=\"modalidades\"\r\n isMulti={true}\r\n value={optionsModalidades.filter(({ value }) => modalidades.filter(f => f.value == value).length > 0)}\r\n onChange={(value) => handleModalidades(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"modalidades\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidadeCarga && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.anoFabricacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.renavam && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleproprietarioOuLocado(e.value) }}\r\n value={proprietarioOuLocado != null && options_proprietarioOuLocado.find(obj => obj.value === proprietarioOuLocado)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"proprietarioOuLocado\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setTooltipOpen(!tooltipOpen)}>\r\n Informar o volume em M3 do equipamento do veículo, se houver\r\n \r\n {errors.volume && * Campo Obrigatório}\r\n \r\n \r\n \r\n {(tipoCadastro == \"Protocolo\" && session != null && session.tipoAcesso == \"AreaRestrita\") &&\r\n \r\n \r\n \r\n \r\n \r\n {errors.dataVistoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dataValidadeVistoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n

* Arquivo Renavam \r\n Arquivo CRLV do veículo\r\n

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

* Inspeção INMETRO

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

Comprovante de Tara

\r\n \r\n \r\n
\r\n \r\n {loadInputComodato()}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n {(tipoCadastro === \"Requerimento\" && item !== null && item.setupSolicitacaoAcao.acao === \"Alteração\") &&\r\n \r\n \r\n \r\n

Atenção

\r\n
\r\n \r\n \r\n Caso clique no botão VOLTAR, para adicionar e/ou remover algum veículo, as alterações\r\n já feitas nessa tela serão PERDIDAS!\r\n \r\n \r\n
\r\n \r\n }\r\n\r\n \r\n {handleStepAnterior != null &&\r\n \r\n }\r\n \r\n \r\n {handleProximoStep != null &&\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloTransportadorLocalGuarda, EnviaRequerimentoTransportadorLocalGuarda } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function LocaisGuarda({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n const [locais_guarda, set_locais_guarda] = React.useState([]);\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorLocalGuarda != null) {\r\n set_locais_guarda(item.protocoloTransportador[0].protocoloTransportadorLocalGuarda);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorLocalGuarda != null) {\r\n set_locais_guarda(item.requerimentoTransportadorLocalGuarda);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // CEP \r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n set_status(rowData.status);\r\n setValue(\"status\", rowData.status, true);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoTransportador/PostRemoverLocalGuardaRequerimento/' + rowData.requerimentoTransportadorLocalGuarda_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoTransportador/GetLocaisGuardaRequerimento/' + reloadId)\r\n .then(result => set_locais_guarda(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && locais_guarda.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de guarda neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorLocalGuarda(json, confirmaAddLocaisGuarda)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorLocalGuarda(json, confirmaAddLocaisGuarda)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloTransportadorLocalGuarda_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorLocalGuarda_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: status != \"\" ? status : \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoTransportadorLocalGuarda_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorLocalGuarda_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisGuarda = (result) => {\r\n setLoading(false);\r\n\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_guarda.map(m => {\r\n if (m.protocoloTransportadorLocalGuarda_Id != local.protocoloTransportadorLocalGuarda_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloTransportador[0].protocoloTransportadorLocalGuarda = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_guarda.map(m => {\r\n if (m.requerimentoTransportadorLocalGuarda_Id != local.requerimentoTransportadorLocalGuarda_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoTransportador[0].requerimentoTransportadorLocalGuarda = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_guarda(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.pessoa != \"Física\")\r\n || (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa != \"Física\")) {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_guarda.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de guarda\", 'error', null);\r\n return;\r\n }\r\n }\r\n handleProximoStep(registro);\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

Locais de Guarda de Veículo

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloTransportadorLocalDestino, EnviaRequerimentoTransportadorLocalDestino } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function LocaisDestinacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n const [locais_destinacao, set_locais_destinacao] = React.useState([]);\r\n const [cnpj, set_cnpj] = React.useState(\"\");\r\n const [telefone, set_telefone] = React.useState(\"\");\r\n const [celular, set_celular] = React.useState(\"\");\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorLocalDestino != null) {\r\n set_locais_destinacao(item.protocoloTransportador[0].protocoloTransportadorLocalDestino);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorLocalDestino != null) {\r\n set_locais_destinacao(item.requerimentoTransportadorLocalDestino);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // CEP\r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_cnpj(rowData.cnpj);\r\n setValue(\"cnpj\", rowData.cnpj);\r\n setValue(\"fantasia\", rowData.fantasia);\r\n setValue(\"razaoSocial\", rowData.razaoSocial);\r\n setValue(\"telefone\", rowData.telefone);\r\n set_telefone(rowData.telefone);\r\n setValue(\"celular\", rowData.celular);\r\n set_celular(rowData.celular);\r\n\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n set_status(rowData.status);\r\n setValue(\"status\", rowData.status, true);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n let _usuarioId = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloTransportador/PostRemoveLocalDestinoProtocolo/' + _usuarioId + \"/\" + rowData.protocoloTransportadorLocalDestino_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.protocoloTransportador_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_POST('requerimentoTransportador/PostRemoverLocalDestinoRequerimento/' + rowData.requerimentoTransportadorLocalDestino_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_GET('protocoloTransportador/GetLocaisDestinoProtocolo/' + reloadId)\r\n .then(result => set_locais_destinacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimentoTransportador/GetLocaisDestinoRequerimento/' + reloadId)\r\n .then(result => set_locais_destinacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && locais_destinacao.filter(f => f.cnpj == cnpj).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de destinação com este CNPJ!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && locais_destinacao.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de destinação neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorLocalDestino(json, confirmaAddLocaisDestino)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorLocalDestino(json, confirmaAddLocaisDestino)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloTransportadorLocalDestino_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorLocalDestino_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n cnpj: cnpj.replace(/[./-]/g, ''),\r\n fantasia: data.fantasia,\r\n razaoSocial: data.razaoSocial,\r\n telefone: telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: status != \"\" ? status : \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoTransportadorLocalDestino_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorLocalDestino_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cnpj: cnpj.replace(/[./-]/g, ''),\r\n fantasia: data.fantasia,\r\n razaoSocial: data.razaoSocial,\r\n telefone: telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisDestino = (result) => {\r\n setLoading(false);\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_destinacao.map(m => {\r\n if (m.protocoloTransportadorLocalDestino_Id != local.protocoloTransportadorLocalDestino_Id)\r\n new_list.push(m);\r\n });\r\n _registro.protocoloTransportador[0].protocoloTransportadorLocalDestino = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_destinacao.map(m => {\r\n if (m.requerimentoTransportadorLocalDestino_Id != local.requerimentoTransportadorLocalDestino_Id)\r\n new_list.push(m);\r\n });\r\n _registro.requerimentoTransportador[0].requerimentoTransportadorLocalDestino = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_destinacao(new_list);\r\n set_registro(_registro);\r\n\r\n set_cnpj(\"\");\r\n setValue(\"cnpj\", \"\");\r\n setValue(\"fantasia\", \"\");\r\n setValue(\"razaoSocial\", \"\");\r\n setValue(\"telefone\", \"\");\r\n set_telefone(\"\");\r\n setValue(\"celular\", \"\");\r\n set_celular(\"\");\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_destinacao.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de destino\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\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

Locais de Destinação

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

Empresa

\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n set_cnpj(event.target.value)} value={cnpj} inputRef={register({ required: true })} />\r\n {errors.cpf_cnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n set_telefone(event.target.value)} value={telefone} inputRef={register({ required: false })} />\r\n \r\n \r\n \r\n \r\n \r\n set_celular(event.target.value)} value={celular} inputRef={register({ required: false })} />\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n
\r\n \r\n

Endereço

\r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalHeader, ModalBody, ModalFooter, Alert, Label } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_POST_File } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloTransportadorEquipamento, EnviaRequerimentoTransportadorEquipamento } from \"../../../services/protocolo_transportador_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function Equipamentos({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [equipamentos, set_equipamentos] = React.useState([]);\r\n\r\n useEffect(() => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(false);\r\n\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorEquipamento != null) {\r\n set_equipamentos(item.protocoloTransportador[0].protocoloTransportadorEquipamento);\r\n }\r\n }\r\n\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorEquipamento != null) {\r\n set_equipamentos(item.requerimentoTransportadorEquipamento);\r\n }\r\n\r\n if ((tipoCadastro == \"Requerimento\") || (tipoCadastro == \"Protocolo\" && !permiteManutencao)) {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Equipamento',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // Status\r\n const [tipo, set_tipo] = React.useState(\"\");\r\n const [options_tipo] = React.useState([\r\n { value: \"Caçamba\", label: \"Caçamba\" }\r\n ]);\r\n const handleTipo = (value) => {\r\n set_tipo(value);\r\n setValue(\"tipo\", value, true);\r\n clearErrors(\"tipo\");\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Modal\r\n const [modal, setModal] = React.useState(false);\r\n const toggleModalEquipamentos = () => {\r\n setModal(!modal);\r\n }\r\n const handleDownloadPlanilha = () => {\r\n window.open(setupSistema?.caminhoVirtual + \"Equipamentos.xlsx\", \"_blank\")\r\n }\r\n const [file, set_file] = React.useState(null);\r\n const [erros_importacao, set_erros_importacao] = React.useState([]);\r\n const handleChangeArquivo = (event) => {\r\n if (event.target.files.length) {\r\n set_file(event.target.files[0]);\r\n }\r\n }\r\n const handleImportarEquipamentos = () => {\r\n set_erros_importacao([]);\r\n if (tipoCadastro != \"Requerimento\") {\r\n set_erros_importacao([{ linha: 0, erro: \"Só é possível importar o arquivo através de um requerimento do transportador!\" }]);\r\n return;\r\n }\r\n if (file == null) {\r\n set_erros_importacao([{ linha: 0, erro: \"Selecione o arquivo para importação!\" }]);\r\n return;\r\n }\r\n var formData = new FormData();\r\n formData.append(\"file\", file);\r\n\r\n setLoading(true);\r\n api_POST_File(`requerimentoTransportador/PostRequerimentoTransportadorEquipamentoFile/${item.requerimento_Id}`, formData).then(result => {\r\n let new_list = result.data;\r\n let _registro = registro;\r\n _registro.requerimentoTransportador[0].requerimentoTransportadorEquipamento = new_list;\r\n set_equipamentos(new_list);\r\n set_registro(_registro);\r\n setModal(false);\r\n showMessage(\"Aviso\", \"Importação concluída com sucesso!\", 'success', null);\r\n }).catch(err => { set_erros_importacao(err.message); })\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"numeroEquipamento\", rowData.numeroEquipamento);\r\n setValue(\"tipo\", rowData.tipo, true);\r\n set_tipo(rowData.tipo);\r\n setValue(\"dimensao\", rowData.dimensao);\r\n setValue(\"capacidadeVolume\", rowData.capacidadeVolume);\r\n set_status(rowData.status);\r\n setValue(\"status\", rowData.status, true);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este equipamento?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n let _usuarioId = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloTransportador/PostRemoveEquipamentoProtocolo/' + _usuarioId + \"/\" + rowData.protocoloTransportadorEquipamento_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Equipamento removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.protocoloTransportador_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_POST('requerimentoTransportador/PostRemoverEquipamentoRequerimento/' + rowData.requerimentoTransportadorEquipamento_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Equipamento removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_GET('protocoloTransportador/GetEquipamentosProtocolo/' + reloadId)\r\n .then(result => set_equipamentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimentoTransportador/GetEquipamentosRequerimento/' + reloadId)\r\n .then(result => set_equipamentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && equipamentos.filter(f => f.numeroEquipamento == data.numeroEquipamento).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um equipamento com esta numeração!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorEquipamento(json, confirmaAddEquipamento)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorEquipamento(json, confirmaAddEquipamento)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloTransportadorEquipamento_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorEquipamento_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n numeroEquipamento: data.numeroEquipamento,\r\n tipo: tipo,\r\n dimensao: data.dimensao,\r\n capacidadeVolume: data.capacidadeVolume,\r\n status: status == \"\" ? \"Ativo\" : \"\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoTransportadorEquipamento_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorEquipamento_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n numeroEquipamento: data.numeroEquipamento,\r\n tipo: tipo,\r\n dimensao: data.dimensao,\r\n capacidadeVolume: data.capacidadeVolume,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddEquipamento = (result) => {\r\n setLoading(false);\r\n let equipamento = result.data;\r\n\r\n let new_list = [];\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n equipamentos.map(m => {\r\n if (m.protocoloTransportadorEquipamento_Id != equipamento.protocoloTransportadorEquipamento_Id)\r\n new_list.push(m);\r\n });\r\n _registro.protocoloTransportador[0].protocoloTransportadorEquipamento = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n equipamentos.map(m => {\r\n if (m.requerimentoTransportadorEquipamento_Id != equipamento.requerimentoTransportadorEquipamento_Id)\r\n new_list.push(m);\r\n });\r\n _registro.requerimentoTransportadorEquipamento = new_list;\r\n }\r\n\r\n new_list.push(equipamento);\r\n set_equipamentos(new_list);\r\n set_registro(_registro);\r\n\r\n setValue(\"numeroEquipamento\", \"\");\r\n setValue(\"tipo\", \"\", false);\r\n set_tipo(\"\");\r\n setValue(\"dimensao\", \"\");\r\n setValue(\"capacidadeVolume\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && equipamentos.length == 0 && tipoCadastro == \"Requerimento\" && registro.requerimentoTransportadorVeiculo.filter(v => v.tipo == \"Poliguindaste\" || v.tipo == \"Roll-on Roll-off\").length > 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os equipamentos\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\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

Equipamentos

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.numeroEquipamento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipo(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={tipo != \"\" && options_tipo.find(obj => obj.value === tipo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dimensao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidadeVolume && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoCadastro == \"Requerimento\" &&\r\n \r\n \r\n \r\n }\r\n {permiteEditar &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n ×} className=\"md-hd\"> Importar Equipamentos\r\n \r\n
Siga as instruções abaixo para preencher a planilha:
\r\n \r\n \r\n

1. O campo \"Tipo\" deve ser preenchido com o texto \"Caçamba\";

\r\n

2. O campo \"Numero\" corresponde ao Número de Identificação do equipamento;

\r\n

3. O campo \"Dimensao\" deve ser preenchido com a largura x altura x comprimento do equipamento;

\r\n

4. O campo \"Volume\" deve possuir apenas números e ser preenchido com a capacidade em m³.

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {erros_importacao != null && erros_importacao.length > 0 && erros_importacao.map((m, key) => (\r\n \r\n {m.linha > 0 ? (\"Linha \" + m.linha + \" - \") : \"\"} {m.erro}\r\n \r\n ))\r\n }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useEffect, useState } from \"react\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container, FormGroup, Input } from \"reactstrap\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { EnviaProtocoloDocumentoGerador } from \"../../services/protocolo_gerador_service.js\";\r\nimport { EnviaRequerimentoDocumentoGerador } from \"../../services/protocolo_gerador_service.js\";\r\nimport { EnviaProtocoloDocumentoTransportador } from \"../../services/protocolo_transportador_service.js\";\r\nimport { EnviaRequerimentoDocumentoTransportador } from \"../../services/protocolo_transportador_service.js\";\r\nimport { EnviaProtocoloDocumentoDestino } from \"../../services/protocolo_destino_service.js\";\r\nimport { EnviaRequerimentoDocumentoDestino } from \"../../services/protocolo_destino_service.js\";\r\nimport { api_PUT } from \"../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function Documentos({ item, opcao, handleProximoStep, handleStepAnterior }) {\r\n\r\n const { session, setLoading } = useAuth();\r\n\r\n const [registro, set_registro] = useState(null);\r\n\r\n const [documentos, set_documentos] = useState([]);\r\n\r\n const [observacoesRequerente, setObservacoesRequerente] = useState(\"\");\r\n\r\n const [options_documentos, set_options_documentos] = useState([]);\r\n const loadOptionsDocumentos = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && item)\r\n setObservacoesRequerente(item.observacaoRequerente ?? \"\");\r\n\r\n let acao = \"\";\r\n if (opcao.tipoCadastro == \"Protocolo\")\r\n acao = item.setupSolicitacaoAcaoNovoCadastro;\r\n else\r\n acao = item.setupSolicitacaoAcao;\r\n\r\n api_GET(`SetupSolicitacao/GetDocumentosByAcaoId/${acao.setupSolicitacaoAcao_Id}`)\r\n .then(result => {\r\n set_options_documentos(result.data);\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (opcao.tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloDocumentos != null) {\r\n set_documentos(item.protocoloDocumentos);\r\n }\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoDocumento != null) {\r\n set_documentos(item.requerimentoDocumento);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadOptionsDocumentos();\r\n }, []);\r\n\r\n const confirmaAddFile = (lista_documento) => {\r\n let newDocumentos = [];\r\n documentos.map(m => {\r\n if (m.documento_Id != lista_documento.documento_Id)\r\n newDocumentos.push(m);\r\n })\r\n newDocumentos.push(lista_documento);\r\n set_documentos(newDocumentos);\r\n }\r\n\r\n const handleFile = (file, callback) => {\r\n if (file == null) {\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(file);\r\n if (opcao.segmento == \"Grande Gerador\")\r\n EnviaProtocoloDocumentoGerador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Transportador\")\r\n EnviaProtocoloDocumentoTransportador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Destino Final\")\r\n EnviaProtocoloDocumentoDestino(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(file);\r\n if (opcao.segmento == \"Grande Gerador\")\r\n EnviaRequerimentoDocumentoGerador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Transportador\")\r\n EnviaRequerimentoDocumentoTransportador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Destino Final\")\r\n EnviaRequerimentoDocumentoDestino(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n }\r\n }\r\n\r\n const carregaJsonProtocolo = (file) => {\r\n let json_submit = {\r\n protocoloDocumento_Id: 0,\r\n protocolo_Id: item.protocolo_Id,\r\n arquivo: file.name,\r\n arquivoBase64: file.base64,\r\n documento_Id: file.documento_Id,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonRequerimento = (file) => {\r\n let json_submit = {\r\n requerimentoDocumento_Id: 0,\r\n requerimento_Id: item.requerimento_Id,\r\n arquivo: file.name,\r\n arquivoBase64: file.base64,\r\n documento_Id: file.documento_Id,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleSubmitObservacoesRequerente = () => {\r\n setLoading(true);\r\n api_PUT('requerimento/ObservacoesRequerente', {\r\n requerimento_Id: item?.requerimento_Id,\r\n observacaoRequerente: observacoesRequerente\r\n }).then(result => {\r\n let _registro = { ...registro }\r\n _registro.observacaoRequerente = result.data.observacaoRequerente;\r\n handleProximoStep(_registro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleConcluir = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && options_documentos.filter(x => documentos.filter(y => y.documento_Id == x.documento_Id).length == 0).length > 0) {\r\n showMessage(\"Aviso\", \"Você deve importar todos os documentos!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (session == null || (session && session.tipoAcesso == \"Protocolo\"))\r\n handleSubmitObservacoesRequerente();\r\n else\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Documentos Obrigatórios

\r\n
* Os documentos devem ser enviados no formato PDF.
\r\n
* Restam importar {options_documentos.filter(x => documentos.filter(y => y.documento_Id == x.documento_Id).length == 0).length} de {options_documentos.length} documentos.
\r\n
\r\n {options_documentos.length > 0 && options_documentos.map((m, key) => (\r\n \r\n \r\n

{m.documento.descricao}

\r\n f.documento_Id == m.documento.documento_Id).length > 0 ? { name: documentos.filter(f => f.documento_Id == m.documento.documento_Id)[0].arquivo } : null}\r\n documento_id={m.documento_Id} handlefile={handleFile}>\r\n \r\n \r\n \r\n {m.documento.orientacao}\r\n \r\n
\r\n ))}\r\n\r\n {!session &&\r\n \r\n \r\n \r\n \r\n setObservacoesRequerente(e.target.value)}\r\n value={observacoesRequerente}\r\n maxLength=\"8000\"\r\n />\r\n \r\n \r\n \r\n }\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {handleProximoStep != null &&\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import { api_POST, api_PUT, api_GET, api_GETExternal } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const EnviaProtocoloWithProtocoloGerador = (json, callback) => {\r\n if (json.protocolo_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloWithProtocoloGerador', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloWithProtocoloGerador', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorCaracterizacaoResiduo = (json, callback) => {\r\n api_POST('protocoloGerador/PostProtocoloGeradorCaracterizacaoResiduo ', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport const EnviaProtocoloGeradorLocal = (json, callback) => {\r\n if (json.protocoloGeradorLocal_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloGeradorLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorLocalArmazenagem = (json, callback) => {\r\n if (json.protocoloGeradorLocalArmazenagem_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloGeradorLocalArmazenagem', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorLocalArmazenagem', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorClasseResiduo = (json, callback) => {\r\n if (json.protocoloGeradorClasseResiduo_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloGeradorClasseResiduo', json).then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorClasseResiduo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoGerador = (json, callback) => {\r\n api_POST('protocoloGerador/PostProtocoloDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoGerador = (json, callback) => {\r\n if (json.requerimentoGerador_Id == 0) {\r\n api_POST('RequerimentoGerador/PostRequerimentoGerador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('RequerimentoGerador/PutRequerimentoGerador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorCaracterizacaoResiduo = (json, callback) => {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorCaracterizacaoResiduo ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorLocal = (json, callback) => {\r\n if (json.requerimentoGeradorLocal_Id == 0) {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorLocal ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorLocal', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorLocalArmazenagem = (json, callback) => {\r\n if (json.requerimentoGeradorLocalArmazenagem_Id == 0) {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorLocalArmazenagem ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorLocalArmazenagem', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorClasseResiduo = (json, callback) => {\r\n if (json.requerimentoGeradorClasseResiduo_Id == 0) {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorClasseResiduo ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorClasseResiduo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoGerador = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n","import { api_POST, api_PUT } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const EnviaProtocoloWithProtocoloDestino = (json, callback) => {\r\n if (json.protocolo_Id == 0) {\r\n api_POST('protocoloDestino/PostProtocoloWithProtocoloDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('protocoloDestino/PutProtocoloWithProtocoloDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDestinoLocal = (json, callback) => {\r\n if (json.protocoloDestinoLocal_Id == 0) {\r\n api_POST('protocoloDestino/PostProtocoloDestinoLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloDestino/PutProtocoloDestinoLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoDestino = (json, callback) => {\r\n api_POST('protocoloDestino/PostProtocoloDocumento', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoDestino = (json, callback) => {\r\n if (json.requerimentoDestino_Id == 0) {\r\n api_POST('requerimentoDestino/PostRequerimentoDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('requerimentoDestino/PutRequerimentoDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDestinoLocal = (json, callback) => {\r\n if (json.requerimentoDestinoLocal_Id == 0) {\r\n api_POST('requerimentoDestino/PostRequerimentoDestinoLocal ', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('requerimentoDestino/PutRequerimentoDestinoLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoDestino = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n","import React, { useEffect } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Transportador/Identificacao\";\r\nimport Veiculos from \"../../../views/Shared/Transportador/Veiculos\";\r\nimport LocaisGuarda from \"../../../views/Shared/Transportador/LocaisGuarda\";\r\nimport LocaisDestinacao from \"../../../views/Shared/Transportador/LocaisDestinacao\";\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoTransportadorForm({ item, handleReturn }) {\r\n const {setLoading} = useAuth();\r\n\r\n\r\n const [protocolo, set_protocolo] = React.useState(item);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_protocolo) => {\r\n if ((step == 5 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n const [permiteManutencao, set_permiteManutencao] = React.useState(false);\r\n const handleVerificaPermissaoManutencao = () => {\r\n setLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id)\r\n .then(result => {\r\n set_permiteManutencao(result.data.sucesso);\r\n if (!result.data.sucesso) {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro. \" + result.data.mensagem, 'warning', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Transportador\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n set_protocolo(item);\r\n handleVerificaPermissaoManutencao();\r\n }, []);\r\n\r\n const steps = [];\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Veiculos', 'Guarda de Veiculos', 'Destinação', 'Equipamentos', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Veiculos', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {protocolo != null && opcao != null &&
\r\n \r\n \r\n \r\n {step == 0 && }\r\n {step == 1 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 2 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 3 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 5 && \r\n :\r\n step == 2 && }\r\n
}\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport { isBefore, differenceInDays, startOfDay, parseISO } from 'date-fns';\r\nimport { useHistory } from \"react-router\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Tooltip, Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledTooltip } from \"reactstrap\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n//helpers\r\nimport { formateDateApi, formateDateandTime } from \"../../../helpers/formats.js\";\r\n\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputCPF, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_PUT } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloWithProtocoloGerador, EnviaRequerimentoGerador } from \"../../../services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep.js\";\r\n\r\n//Helpers\r\nimport { ValidaEmail } from \"../../../helpers/email.js\";\r\nimport { isValidDate, onlyAlphaNumericAndSpace, onlyNumber } from \"../../../helpers/valid.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth.js\";\r\n\r\nexport default function Identificacao({ item, opcao, permiteManutencao, handleProximoStep, handleReturn, setupSolicitacao, addNovoGerador = false }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const history = useHistory();\r\n\r\n const [modal, setModal] = useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(true);\r\n\r\n const [identificacao, set_identificacao] = useState(null);\r\n const [setupSolicitacaoAcao, set_setupSolicitacaoAcao] = useState(null);\r\n const [optionsTipoGerador, setOptionsTipoGerador] = useState([\r\n { value: \"Física\", label: \"Pessoa Física\" },\r\n { value: \"Jurídica\", label: \"Pessoa Jurídica (Privada)\" },\r\n { value: \"Pública\", label: \"Pessoa Jurídica (Pública)\" }\r\n ])\r\n\r\n // State para pegar a opção do tipo de cadastro\r\n const [setupSolicitacoaAcaoNovoCadastro_Id, setSetupSolicitacoaAcaoNovoCadastro_Id] = useState(null);\r\n\r\n //modal para alteração do tipo do cadastro\r\n const [modalAlteracaoCadastro, setModalAlteracaoCadastro] = useState(false);\r\n const toggleAlteracaoCadastroModal = () => {\r\n setSetupSolicitacoaAcaoNovoCadastro_Id(null);\r\n setModalAlteracaoCadastro(!modalAlteracaoCadastro)\r\n };\r\n\r\n // State para pegar as opcoes de setupSolicitacoaAcoes \r\n const [opcoes_SetupSolicitacoaAcaoNovoCadastro, setOpcoes_SetupSolicitacoaAcaoNovoCadastro] = useState([]);\r\n const loadOpcoesTipoCadastro = (setupSolicitacaoAcaoNovoCadastro_Id) => {\r\n setLoading(true)\r\n api_GET(`Protocolo/GetOpcoesTipoCadastro/${setupSolicitacaoAcaoNovoCadastro_Id}`)\r\n .then(result => setOpcoes_SetupSolicitacoaAcaoNovoCadastro(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [dataValidadeCadastroRGG, setDataValidadeCadastroRGG] = useState(null);\r\n const loadItemRequerimento = () => {\r\n if (item != null) {\r\n set_setupSolicitacaoAcao(item.setupSolicitacaoAcao);\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.requerimentoGerador != null && item.requerimentoGerador.length > 0 ? item?.requerimentoGerador[0].nomeResponsavel : item.nomeSolicitante);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n set_categoria(item.setupSolicitacaoAcao.setupSolicitacao.categoria);\r\n set_tipoGerador(item.setupSolicitacaoAcao.setupSolicitacao.pessoa);\r\n if (item.requerimentoGerador != null && item.requerimentoGerador.length > 0) {\r\n setValue(\"fantasia\", item.requerimentoGerador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.requerimentoGerador[0].razaoSocial);\r\n setValue(\"nomeResponsavelTecnico\", item.requerimentoGerador[0].nomeResponsavelTecnico);\r\n setValue(\"tipoDocumentoResponsavelTecnico\", item.requerimentoGerador[0].tipoDocumentoResponsavelTecnico);\r\n set_tipoDocumentoResponsavelTecnico(item.requerimentoGerador[0].tipoDocumentoResponsavelTecnico, true);\r\n setValue(\"numeroDocumentoResponsavelTecnico\", item.requerimentoGerador[0].numeroDocumentoResponsavelTecnico);\r\n if (item.requerimentoGerador[0].arquivoCertificadoResponsavelTecnico != null) {\r\n set_file_certificadoCurso({\r\n name: item.requerimentoGerador[0].arquivoCertificadoResponsavelTecnico,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n setValue(\"ccm\", item.requerimentoGerador[0].ccm);\r\n setValue(\"telefone\", item.requerimentoGerador[0].telefone);\r\n setValue(\"celular\", item.requerimentoGerador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.requerimentoGerador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.requerimentoGerador[0].ramoAtividade);\r\n setValue(\"cep\", item.requerimentoGerador[0].cep);\r\n setValue(\"logradouro\", item.requerimentoGerador[0].logradouro);\r\n setValue(\"bairro\", item.requerimentoGerador[0].bairro);\r\n setValue(\"numEndereco\", item.requerimentoGerador[0].numEndereco);\r\n setValue(\"complemento\", item.requerimentoGerador[0].complemento);\r\n setValue(\"cidade\", item.requerimentoGerador[0].cidade);\r\n if (item.requerimentoGerador[0].dataValidadeCadastro != null) {\r\n setValue(\"dataValidadeCadastro\", formateDateApi(item.requerimentoGerador[0].dataValidadeCadastro))\r\n setDataValidadeCadastroRGG(formateDateApi(item.requerimentoGerador[0].dataValidadeCadastro));\r\n }\r\n setValue(\"uf\", item.requerimentoGerador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"tipoEstabelecimento\", item.requerimentoGerador[0].tipoEstabelecimento, true);\r\n set_tipoEstabelecimento(item.requerimentoGerador[0].tipoEstabelecimento);\r\n setValue(\"qtdeLeitosAtivos\", item.requerimentoGerador[0].quantidadeLeitosAtivos);\r\n setValue(\"qtdeLeitosInativos\", item.requerimentoGerador[0].quantidadeLeitosInativos);\r\n setValue(\"classificacaoEstabelecimento\", item.requerimentoGerador[0].classificacaoEstabelecimento, true);\r\n set_classificacaoEstabelecimento(item.requerimentoGerador[0].classificacaoEstabelecimento);\r\n setValue(\"subPrefeitura\", item.requerimentoGerador[0].subPrefeitura, true);\r\n set_subPrefeitura(item.requerimentoGerador[0].subPrefeitura);\r\n set_ramo(item.requerimentoGerador[0].ramoAtividade);\r\n\r\n //Campos novos\r\n setValue(\"consumoMensalAgua\", item.requerimentoGerador[0]?.consumoMensalAgua, true);\r\n setConsumoMensalAgua(item.requerimentoGerador[0]?.consumoMensalAgua);\r\n\r\n setValue(\"consumoMensalEnergia\", item.requerimentoGerador[0]?.consumoMensalEnergia, true);\r\n setConsumoMensalEnergia(item.requerimentoGerador[0]?.consumoMensalEnergia)\r\n\r\n setValue(\"localEmpreendimento\", item.requerimentoGerador[0]?.localEmpreendimento, true);\r\n setLocalEmpreendimento(item.requerimentoGerador[0]?.localEmpreendimento)\r\n\r\n setValue(\"numeroColaboradores\", item.requerimentoGerador[0]?.numeroColaboradores, true);\r\n setNumeroColaboradores(item.requerimentoGerador[0]?.numeroColaboradores);\r\n\r\n setValue(\"areaTotal\", item.requerimentoGerador[0]?.areaTotal?.toString()?.replace(\".\", \",\"), true);\r\n setValue(\"areaConstruida\", item.requerimentoGerador[0]?.areaConstruida?.toString()?.replace(\".\", \",\"), true)\r\n }\r\n }\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n if (item != null) {\r\n set_setupSolicitacaoAcao(item.setupSolicitacaoAcaoNovoCadastro);\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.protocoloGerador != null && item.protocoloGerador.length > 0 ? item?.protocoloGerador[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria);\r\n if (item.protocoloGerador.length > 0) {\r\n set_tipoGerador(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa);\r\n setValue(\"fantasia\", item.protocoloGerador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.protocoloGerador[0].razaoSocial);\r\n setValue(\"nomeResponsavelTecnico\", item.protocoloGerador[0].nomeResponsavelTecnico);\r\n setValue(\"tipoDocumentoResponsavelTecnico\", item.protocoloGerador[0].tipoDocumentoResponsavelTecnico);\r\n set_tipoDocumentoResponsavelTecnico(item.protocoloGerador[0].tipoDocumentoResponsavelTecnico, true);\r\n setValue(\"numeroDocumentoResponsavelTecnico\", item.protocoloGerador[0].numeroDocumentoResponsavelTecnico);\r\n if (item.protocoloGerador[0].arquivoCertificadoResponsavelTecnico != null) {\r\n set_file_certificadoCurso({\r\n name: item.protocoloGerador[0].arquivoCertificadoResponsavelTecnico,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n setValue(\"ccm\", item.protocoloGerador[0].ccm);\r\n setValue(\"codigoCadastro\", item.codigoCadastro);\r\n setValue(\"telefone\", item.protocoloGerador[0].telefone);\r\n setValue(\"celular\", item.protocoloGerador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.protocoloGerador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.protocoloGerador[0].ramoAtividade);\r\n set_ramo(item.protocoloGerador[0].ramoAtividade)\r\n setValue(\"dataFimVigencia\", formateDateApi(item.dataFimVigencia));\r\n setValue(\"cep\", item.protocoloGerador[0].cep);\r\n setValue(\"logradouro\", item.protocoloGerador[0].logradouro);\r\n setValue(\"bairro\", item.protocoloGerador[0].bairro);\r\n setValue(\"numEndereco\", item.protocoloGerador[0].numEndereco);\r\n setValue(\"complemento\", item.protocoloGerador[0].complemento);\r\n setValue(\"cidade\", item.protocoloGerador[0].cidade);\r\n setValue(\"uf\", item.protocoloGerador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"tipoEstabelecimento\", item.protocoloGerador[0].tipoEstabelecimento, true);\r\n set_tipoEstabelecimento(item.protocoloGerador[0].tipoEstabelecimento);\r\n setValue(\"qtdeLeitosAtivos\", item.protocoloGerador[0].quantidadeLeitosAtivos);\r\n setValue(\"qtdeLeitosInativos\", item.protocoloGerador[0].quantidadeLeitosInativos);\r\n setValue(\"classificacaoEstabelecimento\", item.protocoloGerador[0].classificacaoEstabelecimento, true);\r\n set_classificacaoEstabelecimento(item.protocoloGerador[0].classificacaoEstabelecimento);\r\n setValue(\"subPrefeitura\", item.protocoloGerador[0].subPrefeitura, true);\r\n set_subPrefeitura(item.protocoloGerador[0].subPrefeitura);\r\n\r\n //Campos novos\r\n setValue(\"consumoMensalAgua\", item.protocoloGerador[0]?.consumoMensalAgua, true);\r\n setConsumoMensalAgua(item.protocoloGerador[0]?.consumoMensalAgua);\r\n\r\n setValue(\"consumoMensalEnergia\", item.protocoloGerador[0]?.consumoMensalEnergia, true);\r\n setConsumoMensalEnergia(item.protocoloGerador[0]?.consumoMensalEnergia)\r\n\r\n setValue(\"localEmpreendimento\", item.protocoloGerador[0]?.localEmpreendimento, true);\r\n setLocalEmpreendimento(item.protocoloGerador[0]?.localEmpreendimento)\r\n\r\n setValue(\"numeroColaboradores\", item.protocoloGerador[0]?.numeroColaboradores, true);\r\n setNumeroColaboradores(item.protocoloGerador[0]?.numeroColaboradores);\r\n\r\n setValue(\"areaTotal\", item.protocoloGerador[0]?.areaTotal?.toString()?.replace(\".\", \",\"), true);\r\n setValue(\"areaConstruida\", item.protocoloGerador[0]?.areaConstruida?.toString()?.replace(\".\", \",\"), true)\r\n }\r\n }\r\n else {\r\n if (!item) {\r\n api_GET(`SetupSolicitacao/GetByAcaoSegmentoCategoria/Grande Gerador/${opcao.categoria.categoria_Id}/Novo Cadastro/${tipoGerador}`)\r\n .then(result => set_setupSolicitacaoAcao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n }\r\n\r\n // Status\r\n const [status, set_status] = useState(\"\");\r\n const options_status = [\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Cancelado\", label: \"Cancelado\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n { value: \"Pendente\", label: \"Pendente\" },\r\n { value: \"Vencido\", label: \"Vencido\" }\r\n ];\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // E-Mail\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n\r\n const handleRetornoValidaEmail = (result) => {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-Mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n }\r\n }\r\n\r\n const [tooltipOpen, setTooltipOpen] = useState(false);\r\n const toggle = () => setTooltipOpen(!tooltipOpen);\r\n\r\n // Nome Fantasia\r\n const handleFantasia = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"fantasia\", result);\r\n }\r\n\r\n // Razão Social\r\n const handleRazaoSocial = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"razaoSocial\", result);\r\n }\r\n\r\n // Nome do Solicitante\r\n const handleSolicitante = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"nomeSolicitante\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (isValidDate(input_date) == false) {\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Data Vigência\r\n const handleDataValidadeCadastro = (event) => {\r\n const dataSelecianda = startOfDay(parseISO(event.target.value, \"America/Sao_Paulo\")); // Ignora a hora, considera apenas a data\r\n const dataHoje = startOfDay(new Date());\r\n\r\n if (isBefore(dataSelecianda, dataHoje)) {\r\n showMessage(\"Aviso\", \"A data selecionada não pode ser menor que a data atual.\", 'warning', null);\r\n setValue(\"dataValidadeCadastro\", \"\");\r\n return;\r\n }\r\n\r\n const diferencaDias = differenceInDays(dataSelecianda, dataHoje);\r\n if (diferencaDias > 364) {\r\n showMessage(\"Aviso\", \"Data de validade não pode ser maior que 364 dias.\", 'warning', null);\r\n setValue(\"dataValidadeCadastro\", \"\");\r\n return;\r\n }\r\n }\r\n\r\n const [tipoGerador, set_tipoGerador] = useState(\"Pública\");\r\n const handleTipoGerador = (value) => {\r\n set_tipoGerador(value.value);\r\n setValue(\"tipoGerador\", value.value, true);\r\n clearErrors(\"tipoGerador\");\r\n\r\n if (addNovoGerador && setupSolicitacao.length > 0) {\r\n api_GET(`SetupSolicitacao/SetupSolicitacaoAcao/${value.setupSolicitacao_Id}`)\r\n .then(result => set_setupSolicitacaoAcao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n if (!item) {\r\n api_GET(`SetupSolicitacao/GetByAcaoSegmentoCategoria/Grande Gerador/${opcao.categoria.categoria_Id}/Novo Cadastro/${value.value}`)\r\n .then(result => set_setupSolicitacaoAcao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n //SubPrefeitura\r\n const [optionsSubPrefeitura, set_OptionsSubPrefeitura] = useState([]);\r\n const [subPrefeitura, set_subPrefeitura] = useState(null);\r\n const loadOptionsSubPrefeitura = () => {\r\n api_GET('subprefeitura').then(result => {\r\n set_OptionsSubPrefeitura(result.data);\r\n if (opcao && opcao.categoria.sigla == \"RGG\") {\r\n set_subPrefeitura(result.data.filter(x => x.nome == \"SP Regula\")[0]);\r\n setValue(\"subPrefeitura\", result.data.filter(x => x.nome == \"SP Regula\")[0], true);\r\n }\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\" && opcao.categoria.sigla != \"RGG\") {\r\n if (item != null && item.protocoloGerador.length > 0) {\r\n set_subPrefeitura(item.protocoloGerador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.protocoloGerador[0].subPrefeitura, true);\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\" && opcao.categoria.sigla != \"RGG\") {\r\n if (item != null && item.requerimentoGerador.length > 0) {\r\n set_subPrefeitura(item.requerimentoGerador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.requerimentoGerador[0].subPrefeitura, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleSubPrefeitura = (value) => {\r\n set_subPrefeitura(value);\r\n setValue(\"subPrefeitura\", value, true);\r\n clearErrors(\"subPrefeitura\");\r\n }\r\n\r\n //Classificação do Estabelecimento - Somente para RSS\r\n const [optionsClassificacaoEstabelecimento, set_OptionsClassificacaoEstabelecimento] = useState([]);\r\n\r\n const [classificacaoEstabelecimento, set_classificacaoEstabelecimento] = useState(null);\r\n const loadOptionsClassificacaoEstabelecimento = () => {\r\n api_GET('ClassificacaoEstabelecimento')\r\n .then(result => {\r\n set_OptionsClassificacaoEstabelecimento(result.data);\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloGerador.length > 0) {\r\n set_classificacaoEstabelecimento(item.protocoloGerador[0].classificacaoEstabelecimento);\r\n setValue(\"classificacaoEstabelecimento\", item.protocoloGerador[0].classificacaoEstabelecimento, true);\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoGerador.length > 0) {\r\n set_subPrefeitura(item.requerimentoGerador[0].classificacaoEstabelecimento);\r\n setValue(\"classificacaoEstabelecimento\", item.requerimentoGerador[0].classificacaoEstabelecimento, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleClassificacaoEstabelecimento = (value) => {\r\n set_classificacaoEstabelecimento(value);\r\n setValue(\"classificacaoEstabelecimento\", value, true);\r\n clearErrors(\"classificacaoEstabelecimento\");\r\n }\r\n\r\n // Tipo de Estabelecimento - Somente para RSS\r\n const [optionsTipoEstabelecimento, set_OptionsTipoEstabelecimento] = useState([]);\r\n const [tipoEstabelecimento, set_tipoEstabelecimento] = useState(null);\r\n const loadOptionsTipoEstabelecimento = () => {\r\n api_GET('TipoEstabelecimento')\r\n .then(result => {\r\n set_OptionsTipoEstabelecimento(result.data);\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloGerador.length > 0) {\r\n set_tipoEstabelecimento(item.protocoloGerador[0].tipoEstabelecimento);\r\n setValue(\"tipoEstabelecimento\", item.protocoloGerador[0].tipoEstabelecimento, true);\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoGerador.length > 0) {\r\n set_tipoEstabelecimento(item.requerimentoGerador[0].tipoEstabelecimento);\r\n setValue(\"tipoEstabelecimento\", item.requerimentoGerador[0].tipoEstabelecimento, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleTipoEstabelecimento = (value) => {\r\n set_tipoEstabelecimento(value);\r\n setValue(\"tipoEstabelecimento\", value, true);\r\n clearErrors(\"tipoEstabelecimento\");\r\n }\r\n\r\n // Tipo Documento Responsável Técnico - Somente para RSS\r\n const [tipoDocumentoResponsavelTecnico, set_tipoDocumentoResponsavelTecnico] = useState(\"\");\r\n const [options_tipoDocumentoResponsavelTecnico] = useState([\r\n { value: \"CREA\", label: \"CREA\" },\r\n { value: \"CREFITO\", label: \"CREFITO\" },\r\n { value: \"CRBM\", label: \"CRBM\" },\r\n { value: \"CRF\", label: \"CRF\" },\r\n { value: \"CRM\", label: \"CRM\" },\r\n { value: \"CRMV\", label: \"CRMV\" },\r\n { value: \"CRO\", label: \"CRO\" },\r\n { value: \"CRP\", label: \"CRP\" },\r\n { value: \"CRQ\", label: \"CRQ\" },\r\n { value: \"COREN\", label: \"COREN\" },\r\n { value: \"RG\", label: \"RG\" }\r\n ]);\r\n const handleTipoDocumentoResponsavelTecnico = (value) => {\r\n set_tipoDocumentoResponsavelTecnico(value);\r\n setValue(\"tipoDocumentoResponsavelTecnico\", value, true);\r\n clearErrors(\"tipoDocumentoResponsavelTecnico\");\r\n }\r\n\r\n // Número Colaboradores - (Grande Gerador) RGG\r\n const [numeroColaboradores, setNumeroColaboradores] = useState(\"\");\r\n const [optionsNumeroColaboradores] = useState([\r\n { value: \"1-10\", label: \"1-10\" },\r\n { value: \"11-25\", label: \"11-25\" },\r\n { value: \"26-50\", label: \"26-50\" },\r\n { value: \"51-100\", label: \"51-100\" },\r\n { value: \"101-200\", label: \"101-200\" },\r\n { value: \"201-500\", label: \"201-500\" },\r\n { value: \"501-1000\", label: \"501-1000\" },\r\n { value: \"Acima de 1000\", label: \"Acima de 1000\" },\r\n ]);\r\n\r\n const handleNumeroColaboradores = (value) => {\r\n setNumeroColaboradores(value);\r\n setValue(\"numeroColaboradores\", value, true);\r\n clearErrors(\"numeroColaboradores\");\r\n }\r\n\r\n // Consumo Mensal Agua - (Grande Gerador) RGG\r\n const [consumoMensalEnergia, setConsumoMensalEnergia] = useState(\"\");\r\n const [optionsConsumoMensalEnergia] = useState([\r\n { value: \"0 a 1.000 Kwh\", label: \"0 a 1.000 Kwh\" },\r\n { value: \"1.001 a 2.500 Kwh\", label: \"1.001 a 2.500 Kwh\" },\r\n { value: \"2.501 a 5.000 Kwh\", label: \"2.501 a 5.000 Kwh\" },\r\n { value: \"5.001 a 10.000 Kwh\", label: \"5.001 a 10.000 Kwh\" },\r\n { value: \"10.001 a 15.000 Kwh\", label: \"10.001 a 15.000 Kwh\" },\r\n { value: \"Acima de 15.000 Kwh\", label: \"Acima de 15.000 Kwh\" },\r\n ]);\r\n\r\n const handleConsumoMensalEnergia = (value) => {\r\n setConsumoMensalEnergia(value);\r\n setValue(\"consumoMensalEnergia\", value, true);\r\n clearErrors(\"consumoMensalEnergia\");\r\n }\r\n\r\n // Consumo Mensal Agua - (Grande Gerador) RGG\r\n const [consumoMensalAgua, setConsumoMensalAgua] = useState(\"\");\r\n const [optionsConsumoMensalAgua] = useState([\r\n { value: \"0 a 100 m³\", label: \"0 a 100 m³\" },\r\n { value: \"101 a 200 m³\", label: \"101 a 200 m³\" },\r\n { value: \"201 a 300 m³\", label: \"201 a 300 m³\" },\r\n { value: \"301 a 400 m³\", label: \"301 a 400 m³\" },\r\n { value: \"401 a 500 m³\", label: \"401 a 500 m³\" },\r\n { value: \"Acima de 500 m³\", label: \"Acima de 500 m³\" },\r\n ]);\r\n\r\n const handleConsumoMensalAgua = (value) => {\r\n setConsumoMensalAgua(value);\r\n setValue(\"consumoMensalAgua\", value, true);\r\n clearErrors(\"consumoMensalAgua\");\r\n }\r\n\r\n\r\n // Consumo Mensal Agua - (Grande Gerador) RGG\r\n const [localEmpreendimento, setLocalEmpreendimento] = useState(\"\");\r\n const [optionsLocalEmpreendimento] = useState([\r\n { value: \"Casa\", label: \"Casa\" },\r\n { value: \"Prédio\", label: \"Prédio\" },\r\n { value: \"Shopping\", label: \"Shopping\" },\r\n { value: \"Galpão\", label: \"Galpão\" },\r\n { value: \"Outros\", label: \"Outros\" }\r\n ]);\r\n\r\n const handleLocalEmpreendimento = (value) => {\r\n setLocalEmpreendimento(value);\r\n setValue(\"localEmpreendimento\", value, true);\r\n clearErrors(\"localEmpreendimento\");\r\n }\r\n\r\n // Certificado Curso - Somente para RSS\r\n const [file_certificadoCurso, set_file_certificadoCurso] = useState(null);\r\n const handleFileCertificadoCurso = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo.\", 'error', null);\r\n return;\r\n }\r\n set_file_certificadoCurso(_file);\r\n callback();\r\n }\r\n\r\n const [tipoIndustria, set_tipoIndustria] = useState(\"\");\r\n\r\n // Número Endereço\r\n const handleNumeroEndereco = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numEndereco\", result);\r\n }\r\n\r\n // cep\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n clearErrors(\"cep\");\r\n\r\n if (event.target.value.replace(/[^0-9]/g, '').trim().length < 8) {\r\n setValue(\"cep\", \"\");\r\n showMessage(\"Aviso\", \"Cep inválido. só é permitido preencher com números\", 'error', null);\r\n return;\r\n }\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n //Ramo de Atividade \r\n const [ramo, set_ramo] = useState(\"\");\r\n const [options_ramoAtividade, set_optionsRamoAtividade] = useState([]);\r\n\r\n const loadRamoAtividade = () => {\r\n api_GET('RamoAtividade')\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.descricao,\r\n value: m.descricao\r\n }));\r\n set_optionsRamoAtividade(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleRamoAtividade = (value) => {\r\n set_ramo(value);\r\n setValue(\"ramo\", value, true);\r\n clearErrors(\"ramo\");\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = useState(null);\r\n\r\n const loadDefaultValues = (field) => {\r\n if (item == null)\r\n return \"\";\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].celular : \"\";\r\n case \"CEP\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].cep : \"\";\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n if (item.requerimentoGerador != null) {\r\n switch (field) {\r\n case \"Telefone\": return item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].telefone : \"\";\r\n case \"Celular\": return item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].celular : \"\";\r\n case \"CEP\": return item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].cep : \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n if (isValidDate(data.dataFimVigencia) == false) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n if (data.telefone == null || data.telefone == \"\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Obrigatório indicar um Telefone.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n let numeroEndereco = onlyNumber(data.numEndereco);\r\n if (numeroEndereco.length == \"\" && session === null) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Número de endereço inválido, ou, não informado. Só é permitido o preenchimento de dígitos numéricos.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n if ((session == null || ((session == null || (session && session.tipoAcesso == \"Protocolo\")))) && classificacaoEstabelecimento == null && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Por favor, preencha o campo de classificação do estabelecimento.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (permiteManutencao && opcao.tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloWithProtocoloGerador(json, handleRetornoSubmit);\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGerador(json, handleRetornoSubmit)\r\n }\r\n else {\r\n set_identificacao(item);\r\n handleProximoStep(item);\r\n }\r\n }\r\n\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoGerador_Id: item != null && item.requerimentoGerador != null && item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].requerimentoGerador_Id : 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n subPrefeitura_Id: subPrefeitura ? subPrefeitura.subPrefeitura_Id : null,\r\n cpf_Cnpj: (tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null\r\n ? \"\"\r\n : ((tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") && data.razaoSocial == data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\")\r\n ? item.nomeSolicitante\r\n : data.razaoSocial),\r\n nomeResponsavel: data.responsavel,\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n tipoEstabelecimento_Id: tipoEstabelecimento ? tipoEstabelecimento.tipoEstabelecimento_Id : null,\r\n quantidadeLeitosAtivos: data.qtdeLeitosAtivos,\r\n quantidadeLeitosInativos: data.qtdeLeitosInativos,\r\n classificacaoEstabelecimento_Id: classificacaoEstabelecimento ? classificacaoEstabelecimento.classificacaoEstabelecimento_Id : null,\r\n nomeResponsavelTecnico: data.nomeResponsavelTecnico,\r\n tipoDocumentoResponsavelTecnico: tipoDocumentoResponsavelTecnico != null ? tipoDocumentoResponsavelTecnico : null,\r\n numeroDocumentoResponsavelTecnico: data.numeroDocumentoResponsavelTecnico,\r\n arquivoCertificadoResponsavelTecnico: file_certificadoCurso != null ? file_certificadoCurso.name : null,\r\n arquivoCertificadoResponsavelTecnicoBase64: file_certificadoCurso != null ? file_certificadoCurso.base64 : null,\r\n cCM: data.ccm,\r\n cEP: data.cep ? data.cep.replace(/[^0-9]/g, '') : null,\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo !== \"\" ? data.ramo : \"\",\r\n tipoIndustriaComercio: data.tipoIndustriaComercio != null ? data.tipoIndustriaComercio : null,\r\n dataValidadeCadastro: data.dataValidadeCadastro != null ? data.dataValidadeCadastro : null,\r\n numeroColaboradores: numeroColaboradores == \"\" ? null : numeroColaboradores,\r\n consumoMensalAgua: consumoMensalAgua == \"\" ? null : consumoMensalAgua,\r\n consumoMensalEnergia: consumoMensalEnergia == \"\" ? null : consumoMensalEnergia,\r\n localEmpreendimento: localEmpreendimento == \"\" ? null : localEmpreendimento,\r\n areaTotal: data?.areaTotal?.replace(\",\", \".\"),\r\n areaConstruida: data?.areaConstruida?.replace(\",\", \".\"),\r\n }\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n setupSolicitacaoAcaoNovoCadastro_Id: setupSolicitacaoAcao != null ? setupSolicitacaoAcao.setupSolicitacaoAcao_Id : item.setupSolicitacaoAcaoNovoCadastro_Id,\r\n numeroProtocolo: item != null ? item.numeroProtocolo : \"\",\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n email: data.email,\r\n cpf_Cnpj: (tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n status: (item != null && status == \"\") ? item.status : status,\r\n dataFimVigencia: session != null && session.tipoAcesso == \"AreaRestrita\" && data.dataFimVigencia != null ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n etapaCadastro: 1,\r\n codigoCadastro: (data != null && data.codigoCadastro != \"\") ? data.codigoCadastro : ((item != null && item.protocoloGerador.length > 0) ? item.codigoCadastro : \"0\"),\r\n tipoPessoa: optionsTipoGerador.find(tg => tg.value == data.tipoGerador)?.label || null,\r\n protocoloGerador: [{\r\n protocoloGerador_Id: (item != null && item.protocoloGerador.length > 0) ? item.protocoloGerador[0].protocoloGerador_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n subPrefeitura_Id: subPrefeitura ? subPrefeitura.subPrefeitura_Id : null,\r\n cpf_Cnpj: (tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null\r\n ? \"\"\r\n : ((tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") && data.razaoSocial == data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\")\r\n ? item.nomeSolicitante\r\n : data.razaoSocial),\r\n nomeResponsavel: data.responsavel,\r\n tipoEstabelecimento_Id: tipoEstabelecimento != null ? tipoEstabelecimento.tipoEstabelecimento_Id : null,\r\n quantidadeLeitosAtivos: data.qtdeLeitosAtivos,\r\n quantidadeLeitosInativos: data.qtdeLeitosInativos,\r\n classificacaoEstabelecimento_Id: classificacaoEstabelecimento != null ? classificacaoEstabelecimento.classificacaoEstabelecimento_Id : null,\r\n nomeResponsavelTecnico: data.nomeResponsavelTecnico,\r\n tipoDocumentoResponsavelTecnico: tipoDocumentoResponsavelTecnico != null ? tipoDocumentoResponsavelTecnico : null,\r\n numeroDocumentoResponsavelTecnico: data.numeroDocumentoResponsavelTecnico,\r\n arquivoCertificadoResponsavelTecnico: file_certificadoCurso != null ? file_certificadoCurso.name : null,\r\n arquivoCertificadoResponsavelTecnicoBase64: file_certificadoCurso != null ? file_certificadoCurso.base64 : null,\r\n cCM: data.ccm,\r\n cEP: data.cep ? data.cep.replace(/[^0-9]/g, '') : null,\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo !== \"\" ? data.ramo : \"\",\r\n tipoIndustriaComercio: data.tipoIndustriaComercio != null ? data.tipoIndustriaComercio : null,\r\n numeroColaboradores: numeroColaboradores == \"\" ? null : numeroColaboradores,\r\n consumoMensalAgua: consumoMensalAgua == \"\" ? null : consumoMensalAgua,\r\n consumoMensalEnergia: consumoMensalEnergia == \"\" ? null : consumoMensalEnergia,\r\n localEmpreendimento: localEmpreendimento == \"\" ? null : localEmpreendimento,\r\n areaTotal: data?.areaTotal?.replace(\",\", \".\"),\r\n areaConstruida: data?.areaConstruida?.replace(\",\", \".\"),\r\n }],\r\n protocoloJustificativas: [{\r\n protocoloJustificativas_Id: (item != null && item.protocoloJustificativas != null && item.protocoloJustificativas.length > 0) ? item.protocoloJustificativas[0].protocoloJustificativas_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n UsuarioJustificativa: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n observacao: data.observacao,\r\n usuario: data.usuario\r\n }]\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleRetornoSubmit = (result) => {\r\n setLoading(false);\r\n set_identificacao(result.data);\r\n handleProximoStep(result.data);\r\n }\r\n\r\n const handleAlteracaoCadastro = () => {\r\n if (setupSolicitacoaAcaoNovoCadastro_Id == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione o tipo do cadastro.\", \"warning\", null);\r\n return\r\n }\r\n showQuestion(\"Aviso\", \"Após alterar o tipo de cadastro, verifique se todos os dados estão corretos para o novo tipo. Em seguida, confira o protocolo no card de manutenção correspondente ao novo tipo de cadastro.\", 'question', function (retorno) {\r\n if (retorno) {\r\n setLoading(true)\r\n api_PUT(`Protocolo/AlterarTipoCadastro`, {\r\n protocolo_Id: item.protocolo_Id,\r\n setupSolicitacoaAcaoNovoCadastro_Id: setupSolicitacoaAcaoNovoCadastro_Id,\r\n usuario_Id: session.usuario_Id\r\n }).then(result => {\r\n showMessage(\"Sucesso\", \"Sucesso na operação.\", 'success', () => { history.push(\"/admin/Manutencao\") });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\" && item != null)\r\n loadOpcoesTipoCadastro(item?.setupSolicitacaoAcaoNovoCadastro_Id);\r\n\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\" && item != null && opcao.categoria.sigla != \"RSS\")\r\n set_permiteEditar(true);\r\n\r\n if (opcao.categoria.sigla == \"RGG\") {\r\n loadRamoAtividade();\r\n }\r\n loadOptionsSubPrefeitura();\r\n loadOptionsClassificacaoEstabelecimento();\r\n loadOptionsTipoEstabelecimento();\r\n\r\n if (addNovoGerador) {\r\n setOptionsTipoGerador(setupSolicitacao)\r\n }\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (opcao.tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas.\r\n \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.protocoloJustificativas != undefined && item.protocoloJustificativas.length > 0 && item.protocoloJustificativas.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.usuario == undefined || justificativa.usuario == null\r\n ? justificativa.usuarioJustificativa\r\n : justificativa.usuario.nome}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Alterar Tipo de Cadastro\r\n \r\n
\r\n { setSetupSolicitacoaAcaoNovoCadastro_Id(e.setupSolicitacoaAcaoNovoCadastro_Id) }}\r\n getOptionLabel={({ descricaoSetupSolicitacoaAcao }) => descricaoSetupSolicitacoaAcao}\r\n getOptionValue={({ setupSolicitacoaAcaoNovoCadastro_Id }) => setupSolicitacoaAcaoNovoCadastro_Id}\r\n value={opcoes_SetupSolicitacoaAcaoNovoCadastro.filter(f => f.setupSolicitacoaAcaoNovoCadastro_Id == setupSolicitacoaAcaoNovoCadastro_Id)}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Identificação

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

Dados de Identificação

\r\n
{categoria && categoria.descricao}
\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && permiteManutencao && opcoes_SetupSolicitacoaAcaoNovoCadastro.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n \r\n \r\n \r\n \r\n obj.value == tipoGerador)}\r\n onChange={(value) => handleTipoGerador(value)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoGerador\" },\r\n { required: false })\r\n }\r\n isDisabled={identificacao != null && identificacao.cpf_Cnpj != '' && identificacao.protocolo_Id != 0 ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsavel && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n Caso a empresa não tenha Nome Fantasia, informe a Razão Social\r\n \r\n }\r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.nomeSolicitante && * Campo Obrigatório}\r\n \r\n \r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoGerador == \"Física\" &&\r\n \r\n \r\n \r\n \r\n {errors.cpf && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.ccm && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.tipoIndustriaComercio && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.ramo && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n \r\n \r\n { handleRamoAtividade(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={options_ramoAtividade.filter(f => f.value == ramo)}\r\n\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"ramo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.ramo && * Campo Obrigatório}\r\n \r\n }\r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.tipoEstabelecimento_Id}\r\n name=\"tipoEstabelecimento\"\r\n onChange={(e) => { handleTipoEstabelecimento(e) }}\r\n value={tipoEstabelecimento}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoEstabelecimento\" },\r\n { required: session === null && setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.tipoEstabelecimento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.qtdeLeitosAtivos && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.qtdeLeitosInativos && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.classificacaoEstabelecimento_Id}\r\n name=\"classificacaoEstabelecimento\"\r\n onChange={(e) => { handleClassificacaoEstabelecimento(e) }}\r\n value={classificacaoEstabelecimento}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classificacaoEstabelecimento\" },\r\n { required: (session == null || (session && session.tipoAcesso == \"Protocolo\")) && setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.classificacaoEstabelecimento && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && setupSolicitacaoAcao && (setupSolicitacaoAcao?.setupSolicitacao.categoria.sigla == \"RCC\" || setupSolicitacaoAcao?.setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n \r\n \r\n \r\n \r\n {errors.dataFimVigencia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: ((session == null || (session && session.tipoAcesso == \"Protocolo\")) ? false : true) })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {opcao?.categoria?.segmento == \"Grande Gerador\" && opcao?.categoria?.sigla == \"RGG\" &&\r\n <>\r\n \r\n

Dados Adicionais

\r\n \r\n \r\n \r\n \r\n { handleNumeroColaboradores(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={numeroColaboradores != \"\" && optionsNumeroColaboradores.find(obj => obj.value === numeroColaboradores)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"numeroColaboradores\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.numeroColaboradores && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleConsumoMensalEnergia(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={consumoMensalEnergia != \"\" && optionsConsumoMensalEnergia.find(obj => obj.value === consumoMensalEnergia)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"consumoMensalEnergia\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.consumoMensalEnergia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleConsumoMensalAgua(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={consumoMensalAgua != \"\" && optionsConsumoMensalAgua.find(obj => obj.value === consumoMensalAgua)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"consumoMensalAgua\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.consumoMensalAgua && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleLocalEmpreendimento(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={localEmpreendimento != \"\" && optionsLocalEmpreendimento.find(obj => obj.value === localEmpreendimento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"localEmpreendimento\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.localEmpreendimento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let { value } = e.target;\r\n value = value.replace(/[^\\d,]/g, '');\r\n setValue(\"areaTotal\", value);\r\n }}\r\n placeholder=\"ex: 0,00\"\r\n />\r\n {errors.areaTotal && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let { value } = e.target;\r\n value = value.replace(/[^\\d,]/g, '');\r\n setValue(\"areaConstruida\", value);\r\n }}\r\n placeholder=\"ex: 0,00\"\r\n />\r\n {errors.areaConstruida && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Responsável Técnico

\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.nomeResponsavelTecnico && * Campo Obrigatório}\r\n \r\n \r\n\r\n \r\n \r\n \r\n { handleTipoDocumentoResponsavelTecnico(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={tipoDocumentoResponsavelTecnico != \"\" && options_tipoDocumentoResponsavelTecnico.find(obj => obj.value === tipoDocumentoResponsavelTecnico)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoDocumentoResponsavelTecnico\" },\r\n { required: (session == null || (session && session.tipoAcesso == \"Protocolo\")) && setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.tipoDocumentoResponsavelTecnico && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numeroDocumentoResponsavelTecnico && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n

Certificado do Curso ou CRBio

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n * Se não possuir registro no Conselho Regional, informe seu RG e importe o Certificado do Curso ou CRBio na área de atuação.\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Endereço

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.nome}\r\n getOptionValue={option => option.subPrefeitura_Id}\r\n name=\"subPrefeitura\"\r\n onChange={(e) => { handleSubPrefeitura(e) }}\r\n value={subPrefeitura}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"subPrefeitura\" },\r\n { required: (session ? false : true) })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.subPrefeitura && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n }\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && item.protocoloJustificativas.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}","import React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select';\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_GETExternal } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorLocal, EnviaRequerimentoGeradorLocal } from \"../../../services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nfunction initialStateContratos() {\r\n return {\r\n modalidadeColeta: \"\",\r\n transportador_CNPJ: \"\",\r\n transportador_RazaoSocial: \"Selecione transportador\",\r\n arquivoContrato: null\r\n }\r\n}\r\n\r\nexport default function LocaisColeta({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = useState(null);\r\n\r\n const [locais_Coleta, set_locais_Coleta] = useState([]);\r\n const [setupSolicitacao, set_setupSolicitacao] = useState(null);\r\n\r\n const [modalOpen, set_modalOpen] = useState(false);\r\n const [localizacaoConfirmada, set_localizacaoConfirmada] = useState(false);\r\n\r\n //State para modal do contrato\r\n const [modalContrato, set_modalContrato] = useState(false);\r\n\r\n //State para criar o contrato local\r\n const [contratoLocal, set_contratoLocal] = useState(initialStateContratos());\r\n\r\n //State Para adicionar os contratos em cada local\r\n const [listContratoLocal, set_listcontratoLocal] = useState([]);\r\n\r\n //State para disabilitar o campos de contratos\r\n const [disabledCamposTransportador, set_disabledCamposTransportador] = useState(true);\r\n\r\n //State para pegar as modalidades do RGG\r\n const [listModalidadesRGG, set_listModalidadesRGG] = useState([]);\r\n\r\n //State para pegar o uf \r\n const [municipio, set_municipio] = useState(null);\r\n\r\n //State para pegar o Hash\r\n const [hash, setHash] = useState(\"\");\r\n\r\n const toggleModalContrato = () => {\r\n set_contratoLocal(initialStateContratos());\r\n set_disabledCamposTransportador(true);\r\n set_modalContrato(!modalContrato);\r\n };\r\n\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item) {\r\n set_setupSolicitacao(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao);\r\n if (item.protocoloGerador[0].protocoloGeradorLocais != null) {\r\n set_locais_Coleta(item.protocoloGerador[0].protocoloGeradorLocais);\r\n }\r\n }\r\n\r\n if (tipoCadastro == \"Protocolo\" && item && item?.setupSolicitacaoAcaoNovoCadastro?.setupSolicitacao?.categoria?.sigla == \"RGG\") {\r\n set_actions([...actions, {\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n }]);\r\n }\r\n }\r\n\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item) {\r\n\r\n set_setupSolicitacao(item.setupSolicitacaoAcao.setupSolicitacao);\r\n\r\n if (item.requerimentoGeradorLocal != null) {\r\n set_locais_Coleta(item.requerimentoGeradorLocal);\r\n }\r\n }\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n const loadMunicipio = () => {\r\n setLoading(true);\r\n api_GET('SetupGeral/GetMunicipio')\r\n .then(result => set_municipio(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n\r\n loadMunicipio();\r\n loadTransportadoresRGG();\r\n }, []);\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // CEP \r\n const [cep, set_cep] = useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const [editarEnderecoCep, set_editarEnderecoCep] = useState(false);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n }\r\n else {\r\n if (municipio != null && municipio != result.data.localidade) {\r\n set_cep(\"\");\r\n showMessage(\"Aviso\", `CEP não pertence a ${municipio}`, 'warning', null);\r\n return;\r\n }\r\n\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else {\r\n set_editarEndereco(true);\r\n\r\n if (setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") {\r\n let chave = result.data.logradouro.replaceAll(\" \", \"+\") + \",\" + result.data.bairro.replaceAll(\" \", \"+\") + result.data.localidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n const handleNumeroChange = (value) => {\r\n if (setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") {\r\n let data = getValues();\r\n let chave = data.logradouro.replaceAll(\" \", \"+\") + \",\" + value + \",\" + data.bairro.replaceAll(\" \", \"+\") + data.cidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n\r\n const UpdatePositionEndereco = (chave) => {\r\n setLoading(true);\r\n var url = `https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=${chave}&key=AIzaSyBo2Y9Gr1UakCHwOfmyS_TM2K24_eTLvpk`\r\n api_GETExternal(url).then(result => {\r\n setLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n else {\r\n try {\r\n setCenterMap([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n setpositionMarker([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n }\r\n catch {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Mapa \r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const markerRef = useRef(null)\r\n const handleMarkerPosition = useMemo(\r\n () => ({\r\n dragend() {\r\n const marker = markerRef.current\r\n if (marker != null) {\r\n let position = marker.getLatLng();\r\n setpositionMarker([position.lat, position.lng]);\r\n }\r\n },\r\n }),\r\n [],\r\n )\r\n\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n\r\n const handleModalClose = () => {\r\n set_modalOpen(false);\r\n set_localizacaoConfirmada(true);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const handleEdit = (rowData) => {\r\n set_listcontratoLocal([]);\r\n if (rowData?.protocoloGeradorLocalContratos?.length > 0) {\r\n set_listcontratoLocal(rowData.protocoloGeradorLocalContratos)\r\n }\r\n if (rowData?.requerimentoGeradorLocalContratos?.length > 0) {\r\n set_listcontratoLocal(rowData?.requerimentoGeradorLocalContratos);\r\n }\r\n set_editarEnderecoCep(true)\r\n set_localizacaoConfirmada(false);\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n setHash(rowData.hash);\r\n\r\n if (rowData.geoLocalizacao && rowData.geoLocalizacao.split(\";\").length > 1) {\r\n setCenterMap([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\" && setupSolicitacao.categoria.sigla != \"RGG\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n let message = \"Deseja remover este local?\";\r\n if (item && item?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RGG\")\r\n message = \"Tem certeza que quer excluir o endereço? Seu contrato com o transportador será desfeito no Sistema de Gestão de Gadastros e no Sistema RGG.\"\r\n\r\n showQuestion('Atenção', message, 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n if (tipoCadastro == \"Requerimento\") {\r\n api_POST('requerimentoGerador/PostRemoverGeradorLocalRequerimento/' + rowData.requerimentoGeradorLocal_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }).catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloGerador/PostRemoverGeradorLocalProtocolo/' + rowData.protocoloGeradorLocal_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', null);\r\n set_locais_Coleta(item.protocoloGerador[0].protocoloGeradorLocais.filter(x => x.protocoloGeradorLocal_Id != rowData.protocoloGeradorLocal_Id))\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n api_GET('requerimentoGerador/GetLocaisRequerimentoGerador/' + reloadId)\r\n .then(result => set_locais_Coleta(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && locais_Coleta.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de coleta neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (setupSolicitacao.categoria.sigla == \"RGG\" && listContratoLocal.length == 0) {\r\n showMessage(\"Aviso\", \"Para salvar um local de coleta, deve ser obrigatório informar pelo menos 1 contrato.\", 'error', null);\r\n return;\r\n }\r\n\r\n if ((setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") && !localizacaoConfirmada) {\r\n set_modalOpen(true);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloGeradorLocal(json, confirmaAddLocaisColeta)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGeradorLocal(json, confirmaAddLocaisColeta)\r\n }\r\n }\r\n\r\n const carregaJsonProtocolo = (data) => {\r\n let _listContratoLocal = [];\r\n if (listContratoLocal.length > 0) {\r\n listContratoLocal.map(value => {\r\n _listContratoLocal.push({\r\n ...value,\r\n modalidadeColeta: value.modalidadeColeta,\r\n transportador_CNPJ: value.transportador_CNPJ,\r\n transportador_RazaoSocial: value.transportador_RazaoSocial,\r\n arquivoContrato: value.arquivoContrato?.base64 ?? value.arquivoContrato\r\n })\r\n });\r\n }\r\n\r\n let json_submit = {\r\n protocoloGeradorLocal_Id: rowEdit == null ? 0 : rowEdit.protocoloGeradorLocal_Id,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\" ? positionMarker[0] + \";\" + positionMarker[1] : null,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n protocoloGeradorLocalContratos: _listContratoLocal\r\n }\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonRequerimento = (data) => {\r\n let _listContratoLocal = [];\r\n if (listContratoLocal.length > 0) {\r\n listContratoLocal.map(value => {\r\n _listContratoLocal.push({\r\n ...value,\r\n modalidadeColeta: value.modalidadeColeta,\r\n transportador_CNPJ: value.transportador_CNPJ,\r\n transportador_RazaoSocial: value.transportador_RazaoSocial,\r\n arquivoContrato: value.arquivoContrato?.base64 ?? value.arquivoContrato\r\n })\r\n });\r\n }\r\n\r\n let json_submit = {\r\n requerimentoGeradorLocal_Id: rowEdit == null ? 0 : rowEdit.requerimentoGeradorLocal_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\" ? positionMarker[0] + \";\" + positionMarker[1] : null,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n requerimentoGeradorLocalContratos: _listContratoLocal\r\n }\r\n\r\n return json_submit;\r\n }\r\n\r\n const confirmaAddLocaisColeta = (result) => {\r\n setLoading(false);\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_Coleta.map(m => {\r\n if (m.protocoloGeradorLocal_Id != local.protocoloGeradorLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloGerador[0].protocoloGeradorLocais = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_Coleta.map(m => {\r\n if (m.requerimentoGeradorLocal_Id != local.requerimentoGeradorLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoGeradorLocal = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_Coleta(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n\r\n set_rowEdit(null);\r\n set_listcontratoLocal([]);\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const loadModalidadesRGG = () => {\r\n api_GET('RGG/GetListModalidadesAtivasRGG')\r\n .then(result => set_listModalidadesRGG(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [listaTransportadoresRGG, setListaTransportadoresRGG] = useState([]);\r\n const loadTransportadoresRGG = () => {\r\n\r\n api_GET('ProtocoloTransportador/GetListTransportadoresRGG')\r\n .then(result => {\r\n result.data.map(value => {\r\n value.value = value.razaoSocial;\r\n value.label = value.razaoSocial;\r\n return value;\r\n })\r\n setListaTransportadoresRGG([{ value: \"Selecione transportador\", label: \"Selecione transportador\" }, ...result.data])\r\n }\r\n )\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleRemoveContratoLocal = (rowData) => {\r\n set_listcontratoLocal(listContratoLocal.filter((x, index) => x.modalidadeColeta != rowData.modalidadeColeta && index != rowData.tableData.id));\r\n }\r\n\r\n const validadoContratoLocal = () => {\r\n if (contratoLocal?.modalidadeColeta?.length == 0) {\r\n showMessage(\"Aviso\", \"Informe a modalidade do contrato.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (contratoLocal?.transportador_RazaoSocial == \"Selecione transportador\") {\r\n showMessage(\"Aviso\", \"Selecione o transportador por favor.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (contratoLocal?.arquivoContrato == null || contratoLocal?.arquivoContrato?.length == 0) {\r\n showMessage(\"Aviso\", \"Por favor adicione o arquivo do contrato.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (listContratoLocal.length > 0 && listContratoLocal.filter(x => x.modalidadeColeta == contratoLocal?.modalidadeColeta).length > 0) {\r\n showMessage(\"Aviso\", \"Essa modalidade já existe, por favor selecione uma diferente.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (contratoLocal.tableData) {\r\n set_listcontratoLocal(listContratoLocal.map((value, index) => {\r\n if (index == contratoLocal.tableData.id) {\r\n const { tableData, ..._contratoLocal } = contratoLocal;\r\n return _contratoLocal;\r\n } else {\r\n return value;\r\n }\r\n }));\r\n } else {\r\n set_listcontratoLocal([...listContratoLocal, contratoLocal]);\r\n }\r\n\r\n set_contratoLocal(initialStateContratos());\r\n set_disabledCamposTransportador(true);\r\n }\r\n\r\n const handleTransportador = (cnpj) => {\r\n const [transportador] = listaTransportadoresRGG.filter(t => t.cnpj == cnpj);\r\n\r\n if (!transportador) {\r\n showMessage(\"Aviso\", \"Selecione um transportador por favor!\", \"warning\", null);\r\n return;\r\n }\r\n\r\n if (!!transportador) {\r\n set_disabledCamposTransportador(false);\r\n set_contratoLocal({\r\n ...contratoLocal,\r\n transportador_CNPJ: transportador.cnpj,\r\n transportador_RazaoSocial: transportador.razaoSocial,\r\n });\r\n }\r\n }\r\n\r\n const handleAvancar = () => {\r\n if (setupSolicitacao.categoria.sigla == \"RGG\" && rowEdit != null) {\r\n showMessage(\"Aviso\", \"Para prosseguir, Salve as alterações em Salvar Local\", \"warning\", null);\r\n return;\r\n }\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_Coleta.length == 0 && (setupSolicitacao.categoria.sigla != \"RSS\" || setupSolicitacao.categoria.sigla != \"RGG\")) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de coleta\", 'error', null);\r\n return;\r\n }\r\n\r\n handleProximoStep(registro);\r\n }\r\n\r\n const closeBtn = (\r\n \r\n x\r\n \r\n );\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Locais de Coleta

\r\n
\r\n
\r\n {item &&\r\n (item?.setupSolicitacaoAcao?.acao == \"Alteração\" || item?.setupSolicitacaoAcao?.acao == \"Renovação\") &&\r\n (setupSolicitacao && setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n \r\n \r\n * Para alterar um contrato de coleta, clique em editar o endereço e em seguida em “Contratos”.\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n handleNumeroChange(e.target.value)}\r\n />\r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n {setupSolicitacao && (setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n \r\n set_modalOpen(true)}>\r\n \r\n \r\n }\r\n \r\n {!!hash && session?.usuario_Id != null &&\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n {setupSolicitacao?.categoria?.sigla == \"RGG\" &&\r\n {\r\n loadModalidadesRGG();\r\n set_modalContrato(true)\r\n }}\r\n >\r\n Contratos\r\n \r\n }\r\n \r\n Salvar Local\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Próxima Etapa \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* mostrar Contrato */}\r\n \r\n \r\n \r\n Contratos\r\n \r\n \r\n \r\n \r\n \r\n { return { value: value.descricao, label: value.descricao } })}\r\n name=\"modalidadeColeta \"\r\n value={listModalidadesRGG.map(value => { return { value: value.descricao, label: value.descricao } }).find(obj => obj.value === contratoLocal?.modalidadeColeta)}\r\n onChange={(value) => {\r\n set_contratoLocal({\r\n ...contratoLocal,\r\n [\"modalidadeColeta\"]: value.value\r\n })\r\n }}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n { handleTransportador(e.cnpj) }}\r\n value={listaTransportadoresRGG.find(obj => obj.value === contratoLocal?.transportador_RazaoSocial)}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n set_contratoLocal({ ...contratoLocal, [\"arquivoContrato\"]: { base64: file.base64 } })}\r\n />\r\n \r\n \r\n \r\n \r\n Confirmar\r\n \r\n \r\n \r\n handleRemoveContratoLocal(rowData)\r\n }]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {/* mostrar mapa */}\r\n \r\n \r\n
Confirme o Local no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Confirmar\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Input, Row, Col, Container, Form, Tooltip } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorCaracterizacaoResiduo, EnviaRequerimentoGeradorCaracterizacaoResiduo } from \"../../../services/protocolo_gerador_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function CaracterizacaoResiduos({ item, tipoCadastro, opcao, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(true);\r\n\r\n const [registro, set_registro] = useState(null);\r\n\r\n const [lista, set_lista] = useState([]);\r\n\r\n const [listTipoAcondicionamento, set_listTipoAcondicionamento] = useState([]);\r\n\r\n const loadRegistro = () => {\r\n set_registro(item);\r\n api_GET('CaracterizacaoResiduosConama')\r\n .then(result => {\r\n let _lista = [];\r\n if (opcao && opcao.categoria.sigla == \"RGG\")\r\n _lista = result.data.filter(x => x.sigla == \"RGG\");\r\n else\r\n _lista = result.data.filter(x => x.sigla != \"RGG\");\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloGerador.length > 0 && item.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos) {\r\n _lista.map(m => {\r\n if (item.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id).length > 0) {\r\n let _protocoloGeradorCaracterizacaoResiduos = item.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id)[0];\r\n m.protocoloGeradorCaracterizacaoResiduo_Id = _protocoloGeradorCaracterizacaoResiduos ? _protocoloGeradorCaracterizacaoResiduos.protocoloGeradorCaracterizacaoResiduo_Id : 0;\r\n m.quantidade = _protocoloGeradorCaracterizacaoResiduos ? _protocoloGeradorCaracterizacaoResiduos.quantidadeEstimada : \"\";\r\n }\r\n });\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoGeradorCaracterizacaoResiduo) {\r\n _lista.map(m => {\r\n if (item.requerimentoGeradorCaracterizacaoResiduo.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id).length > 0) {\r\n let _requerimentoGeradorCaracterizacaoResiduo = item.requerimentoGeradorCaracterizacaoResiduo.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id)[0];\r\n m.requerimentoGeradorCaracterizacaoResiduo_Id = _requerimentoGeradorCaracterizacaoResiduo ? _requerimentoGeradorCaracterizacaoResiduo.requerimentoGeradorCaracterizacaoResiduo_Id : 0;\r\n m.quantidade = _requerimentoGeradorCaracterizacaoResiduo ? _requerimentoGeradorCaracterizacaoResiduo.quantidadeEstimada : \"\";\r\n }\r\n })\r\n }\r\n }\r\n set_lista(_lista);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const loadTipoAcondicionamento = () => {\r\n api_GET('TipoAcondicionamento')\r\n .then(result => set_listTipoAcondicionamento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (opcao?.categoria?.sigla == \"RGG\")\r\n loadTipoAcondicionamento();\r\n\r\n loadRegistro();\r\n }, []);\r\n\r\n const handleBlurQuantidade = (_caracterizacaoResiduosConama_Id, value) => {\r\n let _lista = [];\r\n lista.map(m => {\r\n if (m.caracterizacaoResiduosConama_Id == _caracterizacaoResiduosConama_Id)\r\n m.quantidade = value;\r\n\r\n _lista.push(m);\r\n })\r\n set_lista(_lista);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (permiteEditar) {\r\n let json = carregaJsonProtocolo();\r\n EnviaProtocoloGeradorCaracterizacaoResiduo(json, confirmaCaracterizacaoResiduos)\r\n }\r\n else {\r\n handleProximoStep(registro);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento();\r\n EnviaRequerimentoGeradorCaracterizacaoResiduo(json, confirmaCaracterizacaoResiduos)\r\n }\r\n }\r\n\r\n const carregaJsonProtocolo = () => {\r\n let json_submit = [];\r\n lista.map(m => {\r\n json_submit.push({\r\n protocoloGeradorCaracterizacaoResiduo_Id: m.protocoloGeradorCaracterizacaoResiduo_Id ? m.protocoloGeradorCaracterizacaoResiduo_Id : 0,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n caracterizacaoResiduosConama_Id: m.caracterizacaoResiduosConama_Id,\r\n quantidadeEstimada: m.quantidade ? m.quantidade : 0,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n });\r\n });\r\n\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = () => {\r\n let json_submit = [];\r\n lista.map(m => {\r\n json_submit.push({\r\n requerimentoGeradorCaracterizacaoResiduo_Id: m.requerimentoGeradorCaracterizacaoResiduo_Id ? m.requerimentoGeradorCaracterizacaoResiduo_Id : 0,\r\n requerimento_Id: item.requerimento_Id,\r\n caracterizacaoResiduosConama_Id: m.caracterizacaoResiduosConama_Id,\r\n quantidadeEstimada: m.quantidade ? m.quantidade : 0,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n });\r\n });\r\n\r\n return json_submit;\r\n }\r\n\r\n const confirmaCaracterizacaoResiduos = (result) => {\r\n setLoading(false);\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\")\r\n _registro.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos = result.data;\r\n else\r\n _registro.requerimentoGeradorCaracterizacaoResiduo = result.data;\r\n\r\n handleProximoStep(_registro);\r\n }\r\n\r\n const [tooltipActive, setTooltipActive] = useState({\r\n indice: \"\",\r\n active: false\r\n })\r\n const handleTooltipAtive = ({ key }) => {\r\n setTooltipActive({\r\n indice: key,\r\n active: !tooltipActive.active\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n
\r\n

Caracterização dos Resíduos

\r\n \r\n \r\n Grupo\r\n \r\n \r\n Código\r\n \r\n \r\n Tipo\r\n \r\n\r\n \r\n Descrição\r\n \r\n \r\n Quantidade {lista[0]?.sigla == \"RSS\" ? '(Kg/dia)' : '(Litros/dia)'}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {lista.map((m, key) => (\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n handleBlurQuantidade(m.caracterizacaoResiduosConama_Id, e.target.value)}\r\n />\r\n \r\n {m.descricaoTipoAcondicionamento &&\r\n \r\n
\r\n ?\r\n
\r\n \r\n }\r\n {m.descricaoTipoAcondicionamento &&\r\n handleTooltipAtive({ key: key })}\r\n >\r\n {m.descricaoTipoAcondicionamento}\r\n \r\n }\r\n
\r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorClasseResiduo, EnviaRequerimentoGeradorClasseResiduo } from \"../../../services/protocolo_gerador_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Residuos({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [residuos, set_residuos] = React.useState([]);\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria_Id);\r\n if (item != null && item.protocoloGerador[0].protocoloGeradorClasseResiduos != null) {\r\n set_residuos(item.protocoloGerador[0].protocoloGeradorClasseResiduos);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcao.setupSolicitacao.categoria_Id);\r\n if (item != null && item.requerimentoGerador[0].requerimentoGeradorClasseResiduo != null) {\r\n set_residuos(item.requerimentoGerador[0].requerimentoGeradorClasseResiduo);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Classe',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n const [classeResiduo, set_classeResiduo] = React.useState(null);\r\n const [optionsClassesResiduo, set_OptionsClassesResiduo] = useState([]);\r\n const loadOptionsClassesResiduo = (categoria_Id) => {\r\n api_GET(`ClasseResiduo/GetListAtivosByCategoria/${categoria_Id}`)\r\n .then(result => set_OptionsClassesResiduo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleClassesResiduo = (value) => {\r\n set_classeResiduo(value);\r\n setValue(\"classeResiduo\", value, true);\r\n clearErrors(\"classeResiduo\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_classeResiduo(rowData);\r\n setValue(\"classeResiduo\", rowData.classeResiduo_Id, true);\r\n setValue(\"quantidadeEstimada\", rowData.quantidadeEstimada);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover esta classe?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoGerador/PostRemoverGeradorClasseResiduoRequerimento/' + rowData.requerimentoGeradorClasseResiduo_Id)\r\n .then(result => { showMessage(\"Aviso\", \"Classe removida com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimentoGerador_Id) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoGerador/GetClasseResiduosRequerimentoGerador/' + reloadId)\r\n .then(result => set_residuos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && residuos.filter(f => f.classeResiduo_Id == classeResiduo.classeResiduo_Id).length > 0) {\r\n showMessage(\"Aviso\", \"Esta classe de resíduos já foi adicionada!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloGeradorClasseResiduo(json, confirmaAddResiduos)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGeradorClasseResiduo(json, confirmaAddResiduos)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloGeradorClasseResiduo_Id: rowEdit == null ? 0 : rowEdit.protocoloGeradorClasseResiduo_Id,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n classeResiduo_Id: classeResiduo.classeResiduo_Id,\r\n quantidadeEstimada: data.quantidadeEstimada,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoGeradorClasseResiduo_Id: rowEdit == null ? 0 : rowEdit.requerimentoGeradorClasseResiduo_Id,\r\n requerimentoGerador_Id: item.requerimentoGerador[0].requerimentoGerador_Id,\r\n classeResiduo_Id: classeResiduo.classeResiduo_Id,\r\n quantidadeEstimada: data.quantidadeEstimada,\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddResiduos = (result) => {\r\n setLoading(false);\r\n let residuo = result.data;\r\n residuo.classeResiduo = optionsClassesResiduo.filter(x => x.classeResiduo_Id == result.data.classeResiduo_Id)[0];\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n residuos.map(m => {\r\n if (m.protocoloGeradorClasseResiduo_Id != residuo.protocoloGeradorClasseResiduo_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloGerador[0].protocoloGeradorClasseResiduos = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n residuos.map(m => {\r\n if (m.requerimentoGeradorClasseResiduo_Id != residuo.requerimentoGeradorClasseResiduo_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoGerador[0].requerimentoGeradorClasseResiduo = new_list;\r\n }\r\n\r\n new_list.push(residuo);\r\n set_residuos(new_list);\r\n set_registro(_registro);\r\n\r\n set_classeResiduo(null);\r\n setValue(\"classeResiduo\", \"\", false);\r\n setValue(\"quantidadeEstimada\", \"\");\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && residuos.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar as classes de resíduos\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Geração de Resíduos

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.classeResiduo_Id}\r\n name=\"classeResiduo\"\r\n onChange={(e) => { handleClassesResiduo(e) }}\r\n value={classeResiduo && optionsClassesResiduo.find(f => f.classeResiduo_Id === classeResiduo.classeResiduo_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classeResiduo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.classeResiduo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.quantidadeEstimada && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useEffect, useState } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../Shared/Gerador/Identificacao\";\r\nimport LocaisColeta from \"../../Shared/Gerador/LocaisColeta\";\r\nimport Documentos from \"../../Shared/Documentos\";\r\nimport CaracterizacaoResiduos from '../../Shared/Gerador/CaracterizacaoResiduos';\r\n\r\n//Shared\r\nimport Residuos from \"../../Shared/Gerador/Residuos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth.js';\r\n\r\nexport default function ManutencaoGeradorForm({ item, handleReturn }) {\r\n const {setLoading} = useAuth();\r\n\r\n const [protocolo, set_protocolo] = useState(item);\r\n\r\n //pegando os steps\r\n const [steps, setSteps] = useState([]);\r\n\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_protocolo) => {\r\n if (step == 3)\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n const [permiteManutencao, set_permiteManutencao] = useState(false);\r\n const handleVerificaPermissaoManutencao = () => {\r\n setLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id)\r\n .then(result => {\r\n set_permiteManutencao(result.data.sucesso);\r\n if (!result.data.sucesso) {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro. \" + result.data.mensagem, 'warning', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (item && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\")\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n else\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Grande Gerador\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n\r\n set_protocolo(item);\r\n\r\n if (item)\r\n handleVerificaPermissaoManutencao();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {opcao != null &&\r\n
\r\n \r\n \r\n \r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" && step == 2 &&\r\n \r\n }\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" && step == 2 &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n }\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_GETExternal } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorLocalArmazenagem, EnviaRequerimentoGeradorLocalArmazenagem } from \"../../../services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function LocaisArmazenagem({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais_Armazenagem, set_locais_Armazenagem] = React.useState([]);\r\n\r\n const [modalOpen, set_modalOpen] = React.useState(false);\r\n const [localizacaoConfirmada, set_localizacaoConfirmada] = useState(false);\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloGerador[0].protocoloGeradorLocaisArmazenagem != null) {\r\n set_locais_Armazenagem(item.protocoloGerador[0].protocoloGeradorLocaisArmazenagem);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoGeradorLocalArmazenagem != null) {\r\n set_locais_Armazenagem(item.requerimentoGeradorLocalArmazenagem);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n const optionsTipoAbrigo = [\r\n { label: \"Abrigo interno ao estabelecimento\", value: \"Abrigo interno ao estabelecimento\" },\r\n { label: \"Abrigo externo\", value: \"Abrigo externo\" },\r\n ]\r\n const [tipoAbrigo, set_tipoAbrigo] = useState(\"\");\r\n const handleChangeTipoAbrigo = (value) => {\r\n set_tipoAbrigo(value);\r\n setValue(\"tipoAbrigo\", value, true);\r\n clearErrors(\"tipoAbrigo\");\r\n }\r\n\r\n // CEP \r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else {\r\n set_editarEndereco(true);\r\n\r\n let chave = result.data.logradouro.replaceAll(\" \", \"+\") + \",\" + result.data.bairro.replaceAll(\" \", \"+\") + result.data.localidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n });\r\n }\r\n const handleNumeroChange = (value) => {\r\n let data = getValues();\r\n let chave = data.logradouro.replaceAll(\" \", \"+\") + \",\" + value + \",\" + data.bairro.replaceAll(\" \", \"+\") + data.cidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n\r\n const UpdatePositionEndereco = (chave) => {\r\n setLoading(true);\r\n var url = `https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=${chave}&key=AIzaSyBo2Y9Gr1UakCHwOfmyS_TM2K24_eTLvpk`\r\n api_GETExternal(url).then(result => {\r\n setLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n else {\r\n try {\r\n setCenterMap([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n setpositionMarker([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n }\r\n catch {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Mapa \r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const markerRef = useRef(null)\r\n const handleMarkerPosition = useMemo(\r\n () => ({\r\n dragend() {\r\n const marker = markerRef.current\r\n if (marker != null) {\r\n let position = marker.getLatLng();\r\n setpositionMarker([position.lat, position.lng]);\r\n }\r\n },\r\n }),\r\n [],\r\n )\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalClose = () => {\r\n set_modalOpen(false);\r\n set_localizacaoConfirmada(true);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_localizacaoConfirmada(false);\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n set_tipoAbrigo(rowData.tipoAbrigo);\r\n setValue(\"tipoAbrigo\", rowData.tipoAbrigo, true);\r\n\r\n if (rowData.geoLocalizacao && rowData.geoLocalizacao.split(\";\").length > 1) {\r\n setCenterMap([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoGerador/PostRemoverGeradorLocalArmazenagemRequerimento/' + rowData.requerimentoGeradorLocalArmazenagem_Id)\r\n .then(result => { showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimento_Id) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoGerador/GetLocaisArmazenagemRequerimentoGerador/' + reloadId)\r\n .then(result => set_locais_Armazenagem(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (!localizacaoConfirmada) {\r\n showMessage(\"Aviso\", \"Antes de salvar o registro efetue a confirmação da localização no mapa!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && locais_Armazenagem.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de armazenagem neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloGeradorLocalArmazenagem(json, confirmaAddLocaisArmazenagem)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGeradorLocalArmazenagem(json, confirmaAddLocaisArmazenagem)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloGeradorLocalArmazenagem_Id: rowEdit == null ? 0 : rowEdit.protocoloGeradorLocalArmazenagem_Id,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n tipoAbrigo: tipoAbrigo,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoGeradorLocalArmazenagem_Id: rowEdit == null ? 0 : rowEdit.requerimentoGeradorLocalArmazenagem_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cEP: data.cep,\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n tipoAbrigo: tipoAbrigo,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisArmazenagem = (result) => {\r\n setLoading(false);\r\n set_localizacaoConfirmada(false);\r\n set_tipoAbrigo(null);\r\n\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_Armazenagem.map(m => {\r\n if (m.protocoloGeradorLocalArmazenagem_Id != local.protocoloGeradorLocalArmazenagem_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloGerador[0].protocoloGeradorLocaisArmazenagem = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_Armazenagem.map(m => {\r\n if (m.requerimentoGeradorLocalArmazenagem_Id != local.requerimentoGeradorLocalArmazenagem_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoGeradorLocalArmazenagem = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_Armazenagem(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_Armazenagem.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de armazenagem\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Locais de Armazenagem

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n handleNumeroChange(e.target.value)} />\r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"tipoAbrigo\"\r\n onChange={(e) => { handleChangeTipoAbrigo(e.value) }}\r\n value={tipoAbrigo && optionsTipoAbrigo.find(obj => obj.value === tipoAbrigo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoAbrigo\" },\r\n { required: session && session != null && session.tipoAcesso == \"AreaRestrita\" ? false : true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.tipoAbrigo && * Campo Obrigatório}\r\n \r\n \r\n {permiteEditar &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Confirme o Local no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport LocaisArmazenagem from \"../../../views/Shared/Gerador/LocaisArmazenagem\";\r\nimport LocaisColeta from '../../../views/Shared/Gerador/LocaisColeta';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\nexport default function ManutencaoGeradorRSSForm({ item, handleReturn, setupSolicitacao, addNovoGerador = false }) {\r\n\r\n const [protocolo, set_protocolo] = React.useState(item);\r\n\r\n const steps = ['Identificação', 'Caracterização dos Resíduos', 'Armazenagem dos Resíduos', 'Pontos de Coleta', 'Documentação'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const [opcao, set_opcao] = React.useState({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Grande Gerador\",\r\n categoria: { sigla: \"RSS\" }\r\n });\r\n\r\n useEffect(() => {\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Grande Gerador\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n set_protocolo(item);\r\n }, []);\r\n\r\n const handleProximoStep = (_protocolo) => {\r\n if (step == 4)\r\n handleReturn();\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n {step == 0 &&\r\n \r\n }\r\n {step == 1 &&\r\n \r\n }\r\n {step == 2 && \r\n \r\n }\r\n {step == 3 && \r\n \r\n }\r\n {step == 4 && \r\n \r\n }\r\n
\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\nimport moment from \"moment\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoGeradorRSSForm from './ManutencaoGeradorRSSForm';\r\n\r\n// Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\n\r\nconst inititialGeradorRss = {\r\n codigoCadastro: \"\",\r\n codigoSistemaPrefeitura: null,\r\n cpf_Cnpj: \"\",\r\n dataCadastro: moment().format(),\r\n dataCriacaoProtocolo: moment().format(),\r\n // dataFimVigencia: ((new Date().getDate() )) + \"/\" + ((new Date().getMonth())) + \"/\" + new Date().getFullYear() + 2,\r\n dataUltimaAlteracao: moment().format(),\r\n email: \"\",\r\n enquadramento: null,\r\n enquadramento_Id: 6,\r\n nomeSolicitante: \"\",\r\n notificacao1Enviada: false,\r\n numeroProtocolo: \"\",\r\n protocoloDestino: null,\r\n protocoloDocumentos: [],\r\n protocoloGerador: [\r\n {\r\n arquivoCertificadoResponsavelTecnico: null,\r\n arquivoCertificadoResponsavelTecnicoBase64: null,\r\n bairro: \"\",\r\n ccm: \"\",\r\n celular: \"\",\r\n cep: \" \",\r\n cidade: \"\",\r\n classificacaoEstabelecimento_Id: 0,\r\n complemento: \"\",\r\n cpf_Cnpj: \"\",\r\n dataLiberacaoCertificado: null,\r\n logradouro: \"\",\r\n nomeResponsavel: \"\",\r\n nomeResponsavelTecnico: \"\",\r\n nome_Fantasia: \"\",\r\n numEndereco: \"\",\r\n numeroDocumentoResponsavelTecnico: \"\",\r\n protocoloGeradorCaracterizacaoResiduos: [],\r\n protocoloGeradorClasseResiduos: [],\r\n protocoloGeradorLocais: [],\r\n protocoloGeradorLocaisArmazenagem: [],\r\n protocoloGerador_Id: 0,\r\n protocolo_Id: 0,\r\n quantidadeLeitosAtivos: null,\r\n quantidadeLeitosInativos: null,\r\n ramoAtividade: \"\",\r\n razaoSocial: \"\",\r\n subPrefeitura_Id: 0,\r\n telefone: \"\",\r\n tipoDocumentoResponsavelTecnico: \"\",\r\n tipoEstabelecimento_Id: 1,\r\n tipoIndustriaComercio: \"\",\r\n uf: \"\"\r\n }\r\n ],\r\n protocoloJustificativas: [],\r\n protocoloTransportador: null,\r\n protocolo_Id: 0,\r\n requerimento: [],\r\n segmentoProtocolo: null,\r\n senha: \"\",\r\n setupSolicitacaoAcaoNovoCadastro: {\r\n acao: \"Novo Cadastro\",\r\n acaoDocumentos: null,\r\n codigoCobranca: \"\",\r\n enquadramentoObrigatorio: true,\r\n prazoVencimentoCobrancaEmDias: 5,\r\n publicaDiarioOficial: false,\r\n setupSolicitacao: {\r\n cabecalhoCertificado: \"\",\r\n categoria: {\r\n categoria_Id: 3,\r\n descricao: 'RSS',\r\n sigla: 'RSS',\r\n classeIcone: 'fas fa-hospital',\r\n corIcone: 'text-danger'\r\n },\r\n categoria_Id: 3,\r\n dataCadastro: moment().format(),\r\n dataDeletado: null,\r\n dataUltimaAlteracao: moment().format(),\r\n deletado: null,\r\n descricao: \"Geradores de Resíduos dos Serviços de Saúde - RSSS (Resíduos Infectantes) - PJ\",\r\n descricaoDeclaracao: \"Como responsável técnico, declaro estar ciente do conteúdo da Lei Municipal 13.478/2002 e demais Leis e normas específicas que regulamentam a atividade e que as informações prestadas neste formulário são verdadeiras.\",\r\n legislacaoCertificado: \"\",\r\n notificacao1RenovacaoEmDias: 0,\r\n notificacao2RenovacaoEmDias: 0,\r\n notificacao3RenovacaoEmDias: 0,\r\n permiteCadastroDuplicado: true,\r\n pessoa: \"Jurídica\",\r\n segmento: \"Grande Gerador\",\r\n setupSolicitacao_Id: 6,\r\n solicitacaoAcoes: [],\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: 0,\r\n vigenciaEmMeses: 0\r\n },\r\n setupSolicitacaoAcao_Id: 19,\r\n setupSolicitacao_Id: 6,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: 0,\r\n valorGuia: 129.4\r\n },\r\n setupSolicitacaoAcaoNovoCadastro_Id: 19,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: null\r\n}\r\n\r\nexport default function ManutencaoGeradorRSSLista({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(false);\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const [list_table, set_list_table] = useState([]);\r\n const [setupSolicitacao, setSetupSolicitacao] = useState(location.state?.setupSolicitacao ?? []);\r\n const [addNovoGerador, setAddNovoGerador] = useState(false)\r\n\r\n const handleAdd = () => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\") {\r\n inititialGeradorRss.setupSolicitacaoAcaoNovoCadastro.usuarioUltimaAlteracao_Id = session.usuario_Id;\r\n inititialGeradorRss.usuarioUltimaAlteracao_Id = session.usuario_Id;\r\n\r\n set_rowEdit(inititialGeradorRss);\r\n set_showDetail(true);\r\n set_permiteEditar(true);\r\n setAddNovoGerador(true);\r\n }\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocoloGerador/' + rowData.protocolo_Id)\r\n .then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocoloGerador/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`)\r\n .then(result => { set_list_table(result.data); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarGerador\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Novo Gerador\r\n \r\n\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n Options={table_style}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, UncontrolledTooltip } from \"reactstrap\";\r\n\r\n//helpers\r\nimport { formateDateApi } from \"../../../helpers/formats.js\";\r\nimport { ValidaEmail } from \"../../../helpers/email\";\r\nimport { onlyAlphaNumericAndSpace, onlyNumber } from \"../../../helpers/valid.js\";\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputCPF, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { isValidDate } from \"../../../helpers/valid.js\";\r\nimport { EnviaProtocoloWithProtocoloDestino, EnviaRequerimentoDestino } from \"../../../services/protocolo_destino_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Identificacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Cancelado\", label: \"Cancelado\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n { value: \"Pendente\", label: \"Pendente\" },\r\n { value: \"Vencido\", label: \"Vencido\" }\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // E-Mail\r\n const [email, set_email] = React.useState(\"\");\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n set_email(event.target.value);\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n const handleRetornoValidaEmail = (result) => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n set_email(\"\");\r\n }\r\n else {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-Mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n set_email(\"\");\r\n }\r\n }\r\n }\r\n\r\n // Nome Fantasia\r\n const handleFantasia = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"fantasia\", result);\r\n }\r\n\r\n // Razão Social\r\n const handleRazaoSocial = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"razaoSocial\", result);\r\n }\r\n\r\n // Nome do Solicitante\r\n const handleSolicitante = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"nomeSolicitante\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (isValidDate(input_date) == false) {\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Tipo de Pessoa\r\n const optionsTipoPessoa = [\r\n { value: \"Física\", label: \"Pessoa Física\" },\r\n { value: \"Jurídica\", label: \"Pessoa Jurídica\" }\r\n ];\r\n const [tipoPessoa, set_tipoPessoa] = useState(\"Jurídica\");\r\n const handleTipoPessoa = (value) => {\r\n set_tipoPessoa(value.value);\r\n setValue(\"tipoPessoa\", value.value, true);\r\n clearErrors(\"tipoPessoa\");\r\n }\r\n\r\n // Licença de Operação\r\n const handleLicencaOperacao = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numeroLicensaOperacao\", result);\r\n }\r\n\r\n // Número Endereço\r\n const handleNumeroEndereco = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numEndereco\", result);\r\n }\r\n\r\n // cep\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n clearErrors(\"cep\");\r\n\r\n if (event.target.value.replace(/[^0-9]/g, '').trim().length < 8) {\r\n setValue(\"cep\", \"\");\r\n showMessage(\"Aviso\", \"Cep inválido. só é permitido preencher com números\", 'error', null);\r\n return;\r\n }\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = useState(null);\r\n\r\n // Classes de Resíduo\r\n const [classesResiduo, set_classesResiduo] = useState([]);\r\n const [optionsClassesResiduo, set_OptionsClassesResiduo] = useState([]);\r\n const loadOptionsClassesResiduo = (categoria_Id) => {\r\n api_GET(`ClasseResiduo/GetListAtivosByCategoria/${categoria_Id}`)\r\n .then(result => {\r\n set_OptionsClassesResiduo(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloDestino.length > 0 && item.protocoloDestino[0].protocoloDestinoClasseResiduos != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.protocoloDestino[0].protocoloDestinoClasseResiduos.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoDestino.length > 0 && item.requerimentoDestino[0].requerimentoDestinoClasseResiduos != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.requerimentoDestino[0].requerimentoDestinoClasseResiduos.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleClassesResiduo = event => {\r\n set_classesResiduo(event);\r\n }\r\n\r\n // Classes de Resíduo\r\n const [transportadores, set_transportadores] = useState([]);\r\n const [optionsTransportadores, set_optionsTransportadores] = useState([]);\r\n const loadOptionsTransportadores = () => {\r\n api_GET(`ProtocoloTransportador/GetListProtocoloTransportador`)\r\n .then(result => {\r\n set_optionsTransportadores(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloDestino.length > 0 && item.protocoloDestino[0].protocoloDestinoTransportadores != null) {\r\n let _transportadores = [];\r\n result.data.map(m => {\r\n if (item.protocoloDestino[0].protocoloDestinoTransportadores.filter(f => f.protocoloTransportador_Id == m.protocoloTransportador_Id).length > 0)\r\n _transportadores.push(m);\r\n })\r\n set_transportadores(_transportadores);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoDestino.length > 0 && item.requerimentoDestino[0].requerimentoDestinoTransportadores != null) {\r\n let _transportadores = [];\r\n result.data.map(m => {\r\n if (item.requerimentoDestino[0].requerimentoDestinoTransportadores.filter(f => f.protocoloTransportador_Id == m.protocoloTransportador_Id).length > 0)\r\n _transportadores.push(m);\r\n })\r\n set_transportadores(_transportadores);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleTransportadores = event => {\r\n set_transportadores(event);\r\n }\r\n\r\n // Tipo de Destino\r\n const [tipoDestino, set_tipoDestino] = React.useState(\"\");\r\n const [options_tipoDestino, set_optionsTipoDestino] = React.useState([]);\r\n\r\n const LoadTiposDestino = () => {\r\n if ((item.setupSolicitacaoAcao != null && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\")\r\n || (item.setupSolicitacaoAcaoNovoCadastro != null && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n api_GET('TipoDestino')\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.tbTipoDestino_Descricao,\r\n value: m.tbTipoDestino_Descricao\r\n }));\r\n set_optionsTipoDestino(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n set_optionsTipoDestino([\r\n { value: \"Área de Aterro\", label: \"Área de Aterro\" },\r\n { value: \"Área de Triagem e Transbordo\", label: \"Área de Triagem e Transbordo\" },\r\n { value: \"Área de Reciclagem\", label: \"Área de Reciclagem\" },\r\n { value: \"Outros Resíduos\", label: \"Outros Resíduos\" }\r\n ]);\r\n }\r\n }\r\n\r\n const handleTipoDestino = (value) => {\r\n set_tipoDestino(value);\r\n setValue(\"tipoDestino\", value, true);\r\n clearErrors(\"tipoDestino\");\r\n }\r\n\r\n // Tipo de Destino\r\n const [comprovacaoDestinacao, set_comprovacaoDestinacao] = React.useState(\"Não\");\r\n const [options_comprovacaoDestinacao] = React.useState([\r\n { value: \"Não\", label: \"Não\" },\r\n { value: \"Sim\", label: \"Sim\" }\r\n ]);\r\n const handleComprovacaoDestinacao = (value) => {\r\n set_comprovacaoDestinacao(value);\r\n setValue(\"comprovacaoDestinacao\", value, true);\r\n clearErrors(\"comprovacaoDestinacao\");\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n if (item != null) {\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.requerimentoDestino != null && item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcao.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcao.setupSolicitacao.categoria_Id);\r\n loadOptionsTransportadores();\r\n if (item.cpf_Cnpj.length == 11)\r\n set_tipoPessoa(\"Física\");\r\n if (item.requerimentoDestino != null && item.requerimentoDestino.length > 0) {\r\n setValue(\"fantasia\", item.requerimentoDestino[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.requerimentoDestino[0].razaoSocial);\r\n setValue(\"inscricaoMunicipal\", item.requerimentoDestino[0].inscricaoMunicipal);\r\n setValue(\"ccm\", item.requerimentoDestino[0].ccm);\r\n setValue(\"telefone\", item.requerimentoDestino[0].telefone);\r\n setValue(\"celular\", item.requerimentoDestino[0].celular);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.requerimentoDestino[0].cep);\r\n setValue(\"logradouro\", item.requerimentoDestino[0].logradouro);\r\n setValue(\"bairro\", item.requerimentoDestino[0].bairro);\r\n setValue(\"numEndereco\", item.requerimentoDestino[0].numEndereco);\r\n setValue(\"complemento\", item.requerimentoDestino[0].complemento);\r\n setValue(\"cidade\", item.requerimentoDestino[0].cidade);\r\n setValue(\"uf\", item.requerimentoDestino[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"numeroLicensaOperacao\", item.requerimentoDestino[0].numeroLicensaOperacao);\r\n set_tipoDestino(item.requerimentoDestino[0].tipoDestino);\r\n setValue(\"tipoDestino\", item.requerimentoDestino[0].tipoDestino, true);\r\n }\r\n }\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n if (item != null) {\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.protocoloDestino != null && item.protocoloDestino.length > 0 ? item.protocoloDestino[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria_Id);\r\n loadOptionsTransportadores();\r\n if (item.cpf_Cnpj.length == 11)\r\n set_tipoPessoa(\"Física\");\r\n if (item.protocoloDestino.length > 0) {\r\n setValue(\"fantasia\", item.protocoloDestino[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.protocoloDestino[0].razaoSocial);\r\n setValue(\"inscricaoMunicipal\", item.protocoloDestino[0].inscricaoMunicipal);\r\n setValue(\"ccm\", item.protocoloDestino[0].ccm);\r\n setValue(\"codigoCadastro\", item.codigoCadastro);\r\n setValue(\"telefone\", item.protocoloDestino[0].telefone);\r\n setValue(\"celular\", item.protocoloDestino[0].celular);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.protocoloDestino[0].cep);\r\n setValue(\"logradouro\", item.protocoloDestino[0].logradouro);\r\n setValue(\"bairro\", item.protocoloDestino[0].bairro);\r\n setValue(\"numEndereco\", item.protocoloDestino[0].numEndereco);\r\n setValue(\"complemento\", item.protocoloDestino[0].complemento);\r\n setValue(\"cidade\", item.protocoloDestino[0].cidade);\r\n setValue(\"uf\", item.protocoloDestino[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"numeroLicensaOperacao\", item.protocoloDestino[0].numeroLicensaOperacao);\r\n setValue(\"observacao\", item.protocoloDestino[0].observacaoManutencao);\r\n set_tipoDestino(item.protocoloDestino[0].tipoDestino);\r\n setValue(\"tipoDestino\", item.protocoloDestino[0].tipoDestino, true);\r\n set_comprovacaoDestinacao(item.protocoloDestino[0].requerComprovacaoDestinacao == true ? \"Sim\" : \"Não\");\r\n setValue(\"comprovacaoDestinacao\", item.protocoloDestino[0].requerComprovacaoDestinacao == true ? \"Sim\" : \"Não\", true);\r\n }\r\n }\r\n }\r\n\r\n const loadDefaultValues = (field) => {\r\n if (item == null)\r\n return \"\";\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].celular : \"\";\r\n case \"CEP\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].cep : \"\";\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item.requerimentoDestino != null) {\r\n switch (field) {\r\n case \"Telefone\": return item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].telefone : \"\";\r\n case \"Celular\": return item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].celular : \"\";\r\n case \"CEP\": return item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].cep : \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n LoadTiposDestino()\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\" && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(false);\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n\r\n if (email == null || email.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"E-Mail não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (isValidDate(data.dataFimVigencia) == false) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let numeroEndereco = onlyNumber(data.numEndereco);\r\n if (numeroEndereco.length == \"\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Número de endereço inválido, ou, não informado. Só é permitido o preenchimento de dígitos numéricos.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloWithProtocoloDestino(json, handleRetornoSubmit)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoDestino(json, handleRetornoSubmit)\r\n }\r\n else {\r\n handleProximoStep(item);\r\n }\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let requerimentoDestinoClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n requerimentoDestinoClasseResiduo.push({\r\n requerimentoDestinoClasseResiduo_Id: 0,\r\n requerimentoDestino_Id: item != null ? item.requerimentoDestino_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let requerimentoDestinoTransportadores = [];\r\n transportadores.map(m => {\r\n requerimentoDestinoTransportadores.push({\r\n requerimentoDestinoTransportador_Id: 0,\r\n requerimentoDestino_Id: item != null ? item.requerimentoDestino_Id : 0,\r\n protocoloTransportador_Id: m.protocoloTransportador_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n requerimentoDestino_Id: item != null && item.requerimentoDestino != null && item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].requerimentoDestino_Id : 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n cpf_Cnpj: tipoPessoa == \"Jurídica\" ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n inscricaoMunicipal: data.inscricaoMunicipal,\r\n nomeResponsavel: data.responsavel,\r\n cCM: data.ccm,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n numeroLicensaOperacao: data.numeroLicensaOperacao,\r\n tipoDestino: tipoDestino,\r\n requerimentoDestinoClasseResiduos: requerimentoDestinoClasseResiduo,\r\n requerimentoDestinoTransportadores: requerimentoDestinoTransportadores\r\n }\r\n\r\n return json_submit;\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let protocoloDestinoClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n protocoloDestinoClasseResiduo.push({\r\n protocoloDestinoClasseResiduo_Id: 0,\r\n protocoloDestino_Id: item != null ? item.protocoloDestino_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let protocoloDestinoTransportadores = [];\r\n transportadores.map(m => {\r\n protocoloDestinoTransportadores.push({\r\n protocoloDestinoTransportador_Id: 0,\r\n protocoloDestino_Id: item != null ? item.protocoloDestino_Id : 0,\r\n protocoloTransportador_Id: m.protocoloTransportador_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n numeroProtocolo: item != null ? item.numeroProtocolo : \"\",\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n email: data.email,\r\n cpf_Cnpj: tipoPessoa == \"Jurídica\" ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n status: (item != null && status == \"\") ? item.status : status,\r\n dataFimVigencia: session != null && session.tipoAcesso == \"AreaRestrita\" ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n codigoCadastro: (data != null && data.codigoCadastro != \"\") ? data.codigoCadastro : ((item != null && item.protocoloDestino.length > 0) ? item.codigoCadastro : \"0\"),\r\n etapaCadastro: 1,\r\n protocoloDestino: [{\r\n protocoloDestino_Id: (item != null && item.protocoloDestino.length > 0) ? item.protocoloDestino[0].protocoloDestino_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n cpf_Cnpj: tipoPessoa == \"Jurídica\" ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n inscricaoMunicipal: data.inscricaoMunicipal,\r\n nomeResponsavel: data.responsavel,\r\n cCM: data.ccm,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n numeroLicensaOperacao: data.numeroLicensaOperacao,\r\n tipoDestino: data.tipoDestino,\r\n requerComprovacaoDestinacao: comprovacaoDestinacao == \"Sim\" ? true : false,\r\n bloquearRecebimentoCapacidadeExcedida: item.protocoloDestino.length > 0 ? item.protocoloDestino[0].bloquearRecebimentoCapacidadeExcedida : 0,\r\n observacaoManutencao: session != null && session.tipoAcesso == \"AreaRestrita\" ? data.observacao : \"\",\r\n protocoloDestinoClasseResiduos: protocoloDestinoClasseResiduo,\r\n protocoloDestinoTransportadores: protocoloDestinoTransportadores\r\n }]\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleRetornoSubmit = (result) => {\r\n setLoading(false);\r\n handleProximoStep(result.data)\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

Identificação

\r\n
{categoria && categoria.descricao}
\r\n \r\n \r\n \r\n
\r\n

Dados de Identificação

\r\n \r\n \r\n \r\n \r\n obj.value === tipoPessoa)}\r\n onChange={(value) => handleTipoPessoa(value)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoPessoa\" },\r\n { required: false })\r\n }\r\n isDisabled={true}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsavel && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n {tipoPessoa == \"Jurídica\" &&\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoPessoa == \"Jurídica\" &&\r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.nomeSolicitante && * Campo Obrigatório}\r\n \r\n \r\n {tipoPessoa == \"Jurídica\" &&\r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoPessoa == \"Física\" &&\r\n \r\n \r\n \r\n \r\n {errors.cpf && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.inscricaoMunicipal && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n * \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { handleTipoDestino(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={tipoDestino != \"\" && options_tipoDestino.find(obj => obj.value === tipoDestino)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoDestino\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.tipoDestino && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n (item.setupSolicitacaoAcao != null && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\")\r\n || (item.setupSolicitacaoAcaoNovoCadastro != null && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\") &&\r\n < Col md=\"4\">\r\n \r\n \r\n { handleComprovacaoDestinacao(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={comprovacaoDestinacao != \"\" && options_comprovacaoDestinacao.find(obj => obj.value === comprovacaoDestinacao)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"comprovacaoDestinacao\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.comprovacaoDestinacao && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n descricao}\r\n getOptionValue={({ classeResiduo_Id }) => classeResiduo_Id}\r\n name=\"classeResiduo\"\r\n isMulti={true}\r\n value={optionsClassesResiduo.filter(({ classeResiduo_Id }) => classesResiduo.filter(f => f.classeResiduo_Id == classeResiduo_Id).length > 0)}\r\n onChange={(value) => handleClassesResiduo(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classeResiduo\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.classeResiduo && * Campo Obrigatório}\r\n \r\n \r\n {categoria != null && categoria.classificacao == \"Banco Manejo\" &&\r\n \r\n \r\n \r\n nome_Fantasia}\r\n getOptionValue={({ protocoloTransportador_Id }) => protocoloTransportador_Id}\r\n name=\"transportadores\"\r\n isMulti={true}\r\n value={optionsTransportadores.filter(({ protocoloTransportador_Id }) => transportadores.filter(f => f.protocoloTransportador_Id == protocoloTransportador_Id).length > 0)}\r\n onChange={(value) => handleTransportadores(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"transportadores\" },\r\n { required: false })\r\n }\r\n\r\n />\r\n {errors.transportadores && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.dataFimVigencia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Endereço

\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_GETExternal } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloDestinoLocal, EnviaRequerimentoDestinoLocal } from \"../../../services/protocolo_destino_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Locais({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais_Destinacao, set_locais_Destinacao] = React.useState([]);\r\n\r\n const [modalOpen, set_modalOpen] = React.useState(false);\r\n const [localizacaoConfirmada, set_localizacaoConfirmada] = useState(false);\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloDestino[0].protocoloDestinoLocais != null) {\r\n set_locais_Destinacao(item.protocoloDestino[0].protocoloDestinoLocais);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoDestinoLocais != null) {\r\n set_locais_Destinacao(item.requerimentoDestinoLocais);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" }\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // CEP \r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else {\r\n set_editarEndereco(true);\r\n\r\n let chave = result.data.logradouro.replaceAll(\" \", \"+\") + \",\" + result.data.bairro.replaceAll(\" \", \"+\") + result.data.localidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n });\r\n }\r\n const handleNumeroChange = (value) => {\r\n let data = getValues();\r\n let chave = data.logradouro.replaceAll(\" \", \"+\") + \",\" + value + \",\" + data.bairro.replaceAll(\" \", \"+\") + data.cidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n\r\n const UpdatePositionEndereco = (chave) => {\r\n setLoading(true);\r\n var url = `https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=${chave}&key=AIzaSyBo2Y9Gr1UakCHwOfmyS_TM2K24_eTLvpk`\r\n api_GETExternal(url)\r\n .then(result => {\r\n setLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n else {\r\n try {\r\n setCenterMap([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n setpositionMarker([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n }\r\n catch {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Mapa \r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const markerRef = useRef(null)\r\n const handleMarkerPosition = useMemo(\r\n () => ({\r\n dragend() {\r\n const marker = markerRef.current\r\n if (marker != null) {\r\n let position = marker.getLatLng();\r\n setpositionMarker([position.lat, position.lng]);\r\n }\r\n },\r\n }),\r\n [],\r\n )\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalClose = () => {\r\n set_modalOpen(false);\r\n set_localizacaoConfirmada(true);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_localizacaoConfirmada(false);\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"identificacao\", rowData.identificacao);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n setValue(\"capacidade\", rowData.capacidade);\r\n setValue(\"status\", rowData.status, true);\r\n set_status(rowData.status);\r\n setValue(\"observacao\", rowData.observacao);\r\n\r\n if (rowData.geoLocalizacao && rowData.geoLocalizacao.split(\";\").length > 1) {\r\n setCenterMap([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoDestino/PostRemoverDestinoLocalRequerimento/' + rowData.requerimentoDestinoLocal_Id)\r\n .then(result => { showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimento_Id) }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n api_GET('requerimentoDestino/GetLocaisRequerimentoDestino/' + reloadId)\r\n .then(result => set_locais_Destinacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (item?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.classificacao == \"Banco Manejo\" && data.capacidade > 1000) {\r\n showMessage(\"Aviso\", \"O limite máximo de capacidade de recepção é de 1000m³. Por favor, altere o valor\", 'error', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && locais_Destinacao.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de destinação neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (!localizacaoConfirmada) {\r\n set_modalOpen(true);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloDestinoLocal(json, confirmaAddLocais)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoDestinoLocal(json, confirmaAddLocais)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloDestinoLocal_Id: rowEdit == null ? 0 : rowEdit.protocoloDestinoLocal_Id,\r\n protocoloDestino_Id: item.protocoloDestino[0].protocoloDestino_Id,\r\n identificacao: data.identificacao,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n capacidade: data.capacidade,\r\n status: status,\r\n observacao: data.observacao\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoDestinoLocal_Id: rowEdit == null ? 0 : rowEdit.requerimentoDestinoLocal_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n identificacao: data.identificacao,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n capacidade: data.capacidade\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocais = (result) => {\r\n setLoading(false);\r\n set_localizacaoConfirmada(false);\r\n\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_Destinacao.map(m => {\r\n if (m.protocoloDestinoLocal_Id != local.protocoloDestinoLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloDestino[0].protocoloDestinoLocais = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_Destinacao.map(m => {\r\n if (m.requerimentoDestinoLocal_Id != local.requerimentoDestinoLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoDestinoLocais = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_Destinacao(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n setValue(\"capacidade\", \"\");\r\n setValue(\"identificacao\", \"\");\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_Destinacao.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de destinação\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Locais de Destinação

\r\n
\r\n
\r\n \r\n {tipoCadastro == \"Protocolo\" &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.identificacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n handleNumeroChange(e.target.value)} />\r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidade && * Campo Obrigatório}\r\n \r\n \r\n {tipoCadastro == \"Protocolo\" &&\r\n \r\n \r\n \r\n \r\n {errors.observacao && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n {permiteEditar &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n rowData.status != null ? rowData.status : \"Ativo\" }\r\n ]}\r\n data={locais_Destinacao}\r\n isLoading={false}\r\n actions={actions}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Confirme o Local no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from '../../../views/Shared/Destino/Locais';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoDestinoForm({ item, handleReturn }) {\r\n\r\n const {setLoading} = useAuth();\r\n\r\n\r\n const [protocolo, set_protocolo] = React.useState(item);\r\n const [opcao, set_opcao] = React.useState({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Destino Final\",\r\n categoria: { sigla: \"RCC\" }\r\n });\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_protocolo) => {\r\n if ((step == 2 && opcao.categoria.sigla != \"RGG\") || (step == 1 && opcao.categoria.sigla == \"RGG\"))\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n const [permiteManutencao, set_permiteManutencao] = React.useState(false);\r\n const handleVerificaPermissaoManutencao = () => {\r\n setLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id).then(result => {\r\n set_permiteManutencao(result.data.sucesso);\r\n if (!result.data.sucesso) {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro. \" + result.data.mensagem, 'warning', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Destino Final\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n set_protocolo(item);\r\n if (item)\r\n handleVerificaPermissaoManutencao();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (protocolo != null) {\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {opcao != null &&\r\n
\r\n \r\n \r\n \r\n {step == 0 && }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport Switch from \"react-switch\";\r\n\r\n// reactstrap components\r\nimport {\r\n Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav, NavItem,\r\n NavLink, TabPane, TabContent, InputGroup, InputGroupAddon, InputGroupText,\r\n Modal, ModalHeader, ModalBody, ModalFooter, CustomInput\r\n} from \"reactstrap\";\r\n\r\n// helpers\r\nimport { transformValueFloattoFormated } from \"../../helpers/formats.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nexport default function CadastroSolicitacaoForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [setupSolicitacao_Id, set_setupSolicitacao_Id] = React.useState(0);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Segmento\r\n const [segmento, set_segmento] = React.useState(\"\");\r\n const [options_segmento] = React.useState([\r\n { value: \"Destino Final\", label: \"Destino Final\" },\r\n { value: \"Grande Gerador\", label: \"Grande Gerador\" },\r\n { value: \"Transportador\", label: \"Transportador\" },\r\n ]);\r\n const handleSegmento = (value) => {\r\n set_segmento(value);\r\n setValue(\"segmento\", value, true);\r\n clearErrors(\"segmento\");\r\n loadOptionsCategoria(value);\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = React.useState(null);\r\n const [options_categoria, set_options_categoria] = React.useState([]);\r\n const loadOptionsCategoria = (_segmento) => {\r\n api_GET(`Categoria/GetListBySegmento/${_segmento}`)\r\n .then(result => set_options_categoria(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleCategoria = (value) => {\r\n set_categoria(value);\r\n setValue(\"categoria\", value, true);\r\n clearErrors(\"categoria\");\r\n }\r\n\r\n // Tipo Pessoa\r\n const [tipoPessoa, set_tipoPessoa] = React.useState(\"\");\r\n const [options_tipoPessoa] = React.useState([\r\n { value: \"Física\", label: \"Pessoa Física\" },\r\n { value: \"Jurídica\", label: \"Pessoa Jurídica (Privado)\" },\r\n { value: \"Pública\", label: \"Pessoa Jurídica (Público)\" },\r\n { value: \"Ambos\", label: \"Ambos\" },\r\n ]);\r\n const handleTipoPessoa = (value) => {\r\n set_tipoPessoa(value);\r\n setValue(\"tipoPessoa\", value, true);\r\n clearErrors(\"tipoPessoa\");\r\n }\r\n\r\n const [permiteCadastroDuplicado, set_permiteCadastroDuplicado] = React.useState(false);\r\n const handleChangePermiteCadastroDuplicado = (checked) => {\r\n set_permiteCadastroDuplicado(checked);\r\n }\r\n\r\n // Ações\r\n const [acao, set_acao] = React.useState(\"\");\r\n const [options_acao] = React.useState([\r\n { value: \"Alteração\", label: \"Alteração de Cadastro\" },\r\n { value: \"Alteração de Identificação\", label: \"Alteração de Identificação\" },\r\n { value: \"Alteração de Equipamentos\", label: \"Alteração de Equipamentos\" },\r\n { value: \"Aumento de Capacidade\", label: \"Aumento de Capacidade\" },\r\n { value: \"Cancelamento\", label: \"Cancelamento\" },\r\n { value: \"Exclusão\", label: \"Exclusão\" },\r\n { value: \"Inclusão\", label: \"Inclusão\" },\r\n { value: \"Novo Cadastro\", label: \"Novo Cadastro\" },\r\n { value: \"Renovação\", label: \"Renovação\" }\r\n ]);\r\n\r\n const handleAcao = (value) => {\r\n set_acao(value);\r\n setValue(\"acao\", value, true);\r\n clearErrors(\"acao\");\r\n }\r\n\r\n // Status Ação\r\n const [statusAcao, set_statusAcao] = React.useState(\"\");\r\n const [options_statusAcao] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatusAcao = (value) => {\r\n set_statusAcao(value);\r\n setValue(\"statusAcao\", value, true);\r\n clearErrors(\"statusAcao\");\r\n }\r\n\r\n // Enquadramento Obrigatório\r\n const [enquadramentoObg, set_enquadramentoObg] = React.useState(\"\");\r\n const [options_enquadramentoObg] = React.useState([\r\n { value: \"true\", label: \"Sim\" },\r\n { value: \"false\", label: \"Não\" },\r\n ]);\r\n const handleEnquadramentoObg = (value) => {\r\n set_enquadramentoObg(value);\r\n setValue(\"enquadramentoObg\", value, true);\r\n clearErrors(\"enquadramentoObg\");\r\n }\r\n\r\n // Cancelar Requerimentos\r\n const [cancelarRequerimentos, set_cancelarRequerimentos] = React.useState(\"\");\r\n const [options_cancelarRequerimentos] = React.useState([\r\n { value: \"true\", label: \"Sim\" },\r\n { value: \"false\", label: \"Não\" },\r\n ]);\r\n const handleCancelarRequerimentos = (value) => {\r\n set_cancelarRequerimentos(value);\r\n setValue(\"cancelarRequerimentos\", value, true);\r\n clearErrors(\"cancelarRequerimentos\");\r\n }\r\n\r\n // Diário Oficial\r\n const [diarioOficial, set_diarioOficial] = React.useState(\"\");\r\n const [options_diarioOficial] = React.useState([\r\n { value: \"true\", label: \"Sim\" },\r\n { value: \"false\", label: \"Não\" },\r\n ]);\r\n const handleDiarioOficial = (value) => {\r\n set_diarioOficial(value);\r\n setValue(\"diarioOficial\", value, true);\r\n clearErrors(\"diarioOficial\");\r\n }\r\n\r\n // Modal Documentos\r\n const [optionsDocumentos, set_optionsDocumentos] = React.useState([]);\r\n const [optionsDocumentosSelected, set_optionsDocumentosSelected] = React.useState([]);\r\n const loadOptionsDocumentos = () => {\r\n api_GET('documento/ativos')\r\n .then(result => set_optionsDocumentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const toggleModalDocumentos = () => {\r\n setModal(!modal);\r\n }\r\n const confirmarModalDocumentos = () => {\r\n setModal(false);\r\n }\r\n const handleDocumentoChange = (value, documento_Id) => {\r\n let _documentos = optionsDocumentosSelected;\r\n\r\n if (value)\r\n _documentos.push(documento_Id);\r\n else\r\n _documentos = _documentos.filter(f => f != documento_Id);\r\n\r\n set_optionsDocumentosSelected(_documentos);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table_acoes, set_list_table_acoes] = React.useState([]);\r\n\r\n const handleEditarAcao = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_acao(rowData.acao);\r\n setValue(\"acao\", rowData.acao, true);\r\n set_statusAcao(rowData.status);\r\n setValue(\"statusAcao\", rowData.status, true);\r\n set_enquadramentoObg(rowData.enquadramentoObrigatorio.toString())\r\n setValue(\"enquadramentoObg\", rowData.enquadramentoObrigatorio.toString(), true);\r\n set_cancelarRequerimentos(rowData.cancelarRequerimentos.toString());\r\n setValue(\"cancelarRequerimentos\", rowData.cancelarRequerimentos.toString(), true);\r\n set_diarioOficial(rowData.publicaDiarioOficial.toString());\r\n setValue(\"diarioOficial\", rowData.publicaDiarioOficial.toString(), true);\r\n setValue(\"codigoCobranca\", rowData.codigoCobranca);\r\n setValue(\"identificacao\", rowData.identificacao);\r\n setValue(\"valor\", rowData.valorGuia);\r\n setValue(\"prazoCobranca\", rowData.prazoVencimentoCobrancaEmDias);\r\n\r\n let _documentos = [];\r\n rowData.acaoDocumentos.map(m => {\r\n _documentos.push(m.documento_Id);\r\n })\r\n set_optionsDocumentosSelected(_documentos);\r\n }\r\n\r\n // Adicionar Ação\r\n const confirmacaoAcaoAdicionada = (item) => {\r\n let new_list = [];\r\n list_table_acoes.map(m => {\r\n if (m.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)\r\n new_list.push(item);\r\n else\r\n new_list.push(m);\r\n });\r\n if (list_table_acoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id).length == 0)\r\n new_list.push(item);\r\n\r\n set_list_table_acoes(new_list);\r\n\r\n set_rowEdit(null);\r\n set_acao(\"\");\r\n setValue(\"acao\", \"\", false);\r\n set_statusAcao(\"\");\r\n setValue(\"statusAcao\", \"\", false);\r\n set_enquadramentoObg(\"\")\r\n setValue(\"enquadramentoObg\", \"\", false);\r\n set_cancelarRequerimentos(\"\");\r\n setValue(\"cancelarRequerimentos\", \"\", false);\r\n set_diarioOficial(\"\");\r\n setValue(\"diarioOficial\", \"\", false);\r\n setValue(\"valor\", \"\");\r\n setValue(\"prazoCobranca\", \"\");\r\n set_optionsDocumentosSelected([]);\r\n }\r\n\r\n const handleAdicionarAcao = () => {\r\n let data = getValues();\r\n let error = false;\r\n\r\n if (acao == \"\" || statusAcao == \"\" || enquadramentoObg == \"\" || diarioOficial == \"\" || data.valor == \"\" || data.prazoCobranca == \"\")\r\n error = true;\r\n\r\n if (error) {\r\n showMessage(\"Aviso\", \"Preencha todos os campos\", 'error', null);\r\n return;\r\n }\r\n\r\n let documentos = [];\r\n optionsDocumentosSelected.map(m => {\r\n if (documentos.filter(f => f.documento_Id == m).length == 0) {\r\n documentos.push({\r\n setupSolicitacaoAcao_Id: rowEdit != null ? rowEdit.setupSolicitacaoAcao_Id : 0,\r\n documento_Id: m\r\n });\r\n }\r\n });\r\n\r\n let json_submit = {\r\n setupSolicitacaoAcao_Id: rowEdit != null ? rowEdit.setupSolicitacaoAcao_Id : 0,\r\n setupSolicitacao_Id: setupSolicitacao_Id,\r\n acao: acao,\r\n enquadramentoObrigatorio: enquadramentoObg,\r\n cancelarRequerimentos: cancelarRequerimentos,\r\n publicaDiarioOficial: diarioOficial,\r\n valorGuia: data.valor,\r\n codigoCobranca: data.codigoCobranca,\r\n prazoVencimentoCobrancaEmDias: data.prazoCobranca,\r\n status: statusAcao,\r\n acaoDocumentos: documentos,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n identificacao: data.identificacao\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.setupSolicitacaoAcao_Id == 0) {\r\n api_POST('SetupSolicitacao/PostAcao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoAcaoAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('SetupSolicitacao/PutAcao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoAcaoAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n // Remover Ação\r\n const handleDeleteAcao = (rowData) => {\r\n showQuestion(\"Aviso\", \"Tem certeza que quer deletar o registro?\", 'question', function (retorno) {\r\n if (retorno) {\r\n setLoading(true);\r\n api_POST('SetupSolicitacao/DeleteAcao', rowData).then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n let new_list = list_table_acoes.filter(f => f.setupSolicitacaoAcao_Id != rowData.setupSolicitacaoAcao_Id);\r\n set_list_table_acoes(new_list)\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n });\r\n }\r\n\r\n const [tooltipOpen, setTooltipOpen] = React.useState(false);\r\n const toggleTip = () => setTooltipOpen(!tooltipOpen);\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = React.useState(\"ht1\");\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const loadItem = () => {\r\n setValue(\"acao\", \"\", false);\r\n setValue(\"statusAcao\", \"\", false);\r\n setValue(\"enquadramentoObg\", \"\", false);\r\n setValue(\"diarioOficial\", \"\", false);\r\n if (item != null) {\r\n set_setupSolicitacao_Id(item.setupSolicitacao_Id);\r\n setValue(\"descricao\", item.descricao);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_segmento(item.segmento);\r\n setValue(\"segmento\", item.segmento, true);\r\n loadOptionsCategoria(item.segmento);\r\n set_categoria(item.categoria_Id);\r\n setValue(\"categoria\", item.categoria_Id, true);\r\n set_tipoPessoa(item.pessoa);\r\n setValue(\"tipoPessoa\", item.pessoa, true);\r\n setValue(\"vigencia\", item.vigenciaEmMeses);\r\n setValue(\"primeiraNotificacao\", item.notificacao1RenovacaoEmDias);\r\n setValue(\"segundaNotificacao\", item.notificacao2RenovacaoEmDias);\r\n setValue(\"terceiraNotificacao\", item.notificacao3RenovacaoEmDias);\r\n setValue(\"declaracao\", item.descricaoDeclaracao);\r\n set_permiteCadastroDuplicado(item.permiteCadastroDuplicado);\r\n set_list_table_acoes(item.solicitacaoAcoes);\r\n setValue(\"cabecalhoCertificado\", item.cabecalhoCertificado);\r\n setValue(\"legislacaoCertificado\", item.legislacaoCertificado);\r\n }\r\n else {\r\n set_setupSolicitacao_Id(0);\r\n setValue(\"descricao\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_segmento(\"\");\r\n setValue(\"segmento\", \"\", false);\r\n set_categoria(\"\");\r\n set_options_categoria([]);\r\n setValue(\"categoria\", null, false);\r\n set_tipoPessoa(\"\");\r\n setValue(\"tipoPessoa\", \"\", false);\r\n setValue(\"vigencia\", \"\");\r\n setValue(\"primeiraNotificacao\", \"\");\r\n setValue(\"segundaNotificacao\", \"\");\r\n setValue(\"terceiraNotificacao\", \"\");\r\n setValue(\"declaracao\", \"\");\r\n set_permiteCadastroDuplicado(false);\r\n setValue(\"cabecalhoCertificado\", \"\");\r\n setValue(\"legislacaoCertificado\", \"\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroSolicitacao.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsDocumentos();\r\n loadItem();\r\n }, [item]);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n setupSolicitacao_Id: setupSolicitacao_Id,\r\n descricao: data.descricao,\r\n segmento: segmento,\r\n categoria_Id: categoria,\r\n pessoa: tipoPessoa,\r\n vigenciaEmMeses: data.vigencia,\r\n notificacao1RenovacaoEmDias: data.primeiraNotificacao,\r\n notificacao2RenovacaoEmDias: data.segundaNotificacao,\r\n notificacao3RenovacaoEmDias: data.terceiraNotificacao,\r\n descricaoDeclaracao: data.declaracao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id,\r\n permiteCadastroDuplicado: permiteCadastroDuplicado,\r\n cabecalhoCertificado: data.cabecalhoCertificado,\r\n legislacaoCertificado: data.legislacaoCertificado\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.setupSolicitacao_Id == 0) {\r\n api_POST('SetupSolicitacao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_setupSolicitacao_Id(result.data.setupSolicitacao_Id) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('SetupSolicitacao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\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\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleSegmento(e.value) }}\r\n value={segmento != \"\" && options_segmento.find(obj => obj.value === segmento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"segmento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.segmento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipoPessoa(e.value) }}\r\n value={tipoPessoa != \"\" && options_tipoPessoa.find(obj => obj.value === tipoPessoa)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoPessoa\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipoPessoa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.categoria_Id}\r\n onChange={(e) => { handleCategoria(e.categoria_Id) }}\r\n value={categoria != null && options_categoria.find(obj => obj.categoria_Id === categoria)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"categoria\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.categoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Meses\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Dias\r\n \r\n \r\n \r\n \r\n \r\n Permite cadastro duplicado no CNPJ/CPF  \r\n handleChangePermiteCadastroDuplicado(event)} checked={permiteCadastroDuplicado} height={20} width={35} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n { handleAcao(e.value) }}\r\n value={acao != \"\" && options_acao.find(obj => obj.value === acao)}\r\n placeholder=\"Selecione\"\r\n ref={e => register({ name: \"acao\" })}\r\n isDisabled={(rowEdit != null && rowEdit.setupSolicitacaoAcao_Id != null) ? true : false}\r\n />\r\n {errors.acao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.identificacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatusAcao(e.value) }}\r\n value={statusAcao != \"\" && options_statusAcao.find(obj => obj.value === statusAcao)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"statusAcao\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.statusAcao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleEnquadramentoObg(e.value) }}\r\n value={enquadramentoObg != \"\" && options_enquadramentoObg.find(obj => obj.value == enquadramentoObg)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"enquadramentoObg\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.enquadramentoObg && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleCancelarRequerimentos(e.value) }}\r\n value={cancelarRequerimentos != \"\" && options_cancelarRequerimentos.find(obj => obj.value == cancelarRequerimentos)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"cancelarRequerimentos\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.enquadramentoObg && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleDiarioOficial(e.value) }}\r\n value={diarioOficial != \"\" && options_diarioOficial.find(obj => obj.value == diarioOficial)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"diarioOficial\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.diarioOficial && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.codigoCobranca && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n R$\r\n \r\n \r\n {errors.valor && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.prazoCobranca && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n rowData.enquadramentoObrigatorio ? \"Sim\" : \"Não\" },\r\n { title: 'Publição para o Diario Oficial', field: 'publicaDiarioOficial', render: (rowData) => rowData.publicaDiarioOficial ? \"Sim\" : \"Não\" },\r\n { title: 'Código de Cobrança', field: 'codigoCobranca' },\r\n { title: 'Valor', field: 'valorGuia', render: (rowData) => transformValueFloattoFormated(rowData.valorGuia), type: 'numeric', cellStyle: { textAlign: \"right\" } },\r\n { title: 'Prazo Vencimento Cobrança', field: 'prazoVencimentoCobrancaEmDias', type: 'numeric', cellStyle: { textAlign: \"right\" } },\r\n { title: 'Status', field: 'status' }\r\n ]}\r\n data={list_table_acoes}\r\n isLoading={false}\r\n options={{\r\n headerStyle: {\r\n fontFamily: 'Montserrat, Helvetica Neue, Arial, sans-serif',\r\n fontWeight: '700',\r\n color: '#888'\r\n },\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEditarAcao(rowData)\r\n },\r\n {\r\n icon: 'delete',\r\n tooltip: 'Deletar Registro',\r\n onClick: (event, rowData) => handleDeleteAcao(rowData)\r\n }\r\n ]}\r\n localization={{\r\n header: {\r\n actions: ''\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n cancelTooltip: \"Cancelar\",\r\n saveTooltip: \"Salvar\"\r\n },\r\n deleteTooltip: \"Excluir\",\r\n editTooltip: \"Editar\"\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: 'Primeira página',\r\n previousTooltip: 'Página anterior',\r\n nextTooltip: 'Próxima página',\r\n lastTooltip: 'Última página'\r\n }\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n ×} className=\"md-hd\"> Documentos\r\n \r\n
\r\n {optionsDocumentos.map(item => (\r\n \r\n \r\n f == item.documento_Id).length > 0}\r\n name=\"customSwitch\"\r\n label={item.descricao}\r\n onChange={(event) => handleDocumentoChange(event.target.checked, item.documento_Id)}\r\n />\r\n \r\n \r\n {item.orientacao != null && item.orientacao != \"\" && showMessage(item.orientacao, \"\", null, null)}>}\r\n \r\n \r\n ))}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport {\r\n Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Nav,\r\n NavItem, NavLink, TabPane, TabContent\r\n} from \"reactstrap\";\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\nimport CardHeader from \"reactstrap/lib/CardHeader\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function CadastroFluxoForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [fluxoCadastro_Id, set_fluxoCadastro_Id] = React.useState(0);\r\n\r\n // Configuração de Solicitação\r\n const [optionsSetupSolicitacao, set_OptionsSetupSolicitacao] = useState([]);\r\n const [setupSolicitacao, set_setupSolicitacao] = useState(null);\r\n const loadOptionsSetupSolicitacao = () => {\r\n let endpoint = \"setupsolicitacao\";\r\n if (item == null)\r\n endpoint += \"/GetListByFluxoCadastro\";\r\n api_GET(endpoint)\r\n .then(result => set_OptionsSetupSolicitacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleSetupSolicitacao = (value) => {\r\n set_setupSolicitacao(value);\r\n setValue(\"setupSolicitacao\", value, true);\r\n clearErrors(\"setupSolicitacao\");\r\n }\r\n\r\n // Ação\r\n const [setupSolicitacaoAcao, set_setupSolicitacaoAcao] = useState(null);\r\n const handleSetupSolicitacaoAcao = (value) => {\r\n set_setupSolicitacaoAcao(value);\r\n setValue(\"setupSolicitacaoAcao\", value, true);\r\n clearErrors(\"setupSolicitacaoAcao\");\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table_etapas, set_list_table_etapas] = React.useState([]);\r\n\r\n // Status Etapa\r\n const [statusEtapa, set_statusEtapa] = React.useState(\"\");\r\n const handleStatusEtapa = (value) => {\r\n set_statusEtapa(value);\r\n clearErrors(\"statusEtapa\");\r\n }\r\n\r\n // Tipo\r\n const [tipo, set_tipo] = React.useState(\"\");\r\n const [options_tipo] = React.useState([\r\n { value: \"Aguardando Análise\", label: \"Aguardando Análise\" },\r\n { value: \"Aguardando Aprovação\", label: \"Aguardando Aprovação\" },\r\n { value: \"Aguardando Compensação\", label: \"Aguardando Compensação\" },\r\n { value: \"Aguardando Aprovação de Guia\", label: \"Aguardando Aprovação de Guia\" },\r\n { value: \"Aguardando Fiscalização\", label: \"Aguardando Fiscalização\" },\r\n { value: \"Aguardando Diário Oficial\", label: \"Aguardando Diário Oficial\" },\r\n { value: \"Emissão de Guia\", label: \"Emissão de Guia\" },\r\n { value: \"Publicar Diário Oficial\", label: \"Publicar Diário Oficial\" },\r\n { value: \"Vistoria\", label: \"Vistoria\" },\r\n //{value: \"Solicitar Fiscalização\", label: \"Solicitar Fiscalização\"},\r\n { value: \"Aguardando Enquadramento\", label: \"Aguardando Enquadramento\" },\r\n ]);\r\n const handleTipo = (value) => {\r\n set_tipo(value);\r\n clearErrors(\"tipo\");\r\n }\r\n\r\n const handleEditarEtapa = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_tipo(rowData.tipo);\r\n set_statusEtapa(rowData.status);\r\n setValue(\"ordemEtapa\", rowData.ordem);\r\n setValue(\"descricaoEtapa\", rowData.descricao);\r\n setValue(\"responsividadeEtapa\", rowData.prazoResponsividade);\r\n }\r\n\r\n // Adicionar Etapa\r\n const confirmaEtapaAdicionada = (item) => {\r\n let new_list = [];\r\n list_table_etapas.map(m => {\r\n if (m.fluxoCadastroEtapa_Id == item.fluxoCadastroEtapa_Id)\r\n new_list.push(item);\r\n else\r\n new_list.push(m);\r\n });\r\n if (list_table_etapas.filter(f => f.fluxoCadastroEtapa_Id == item.fluxoCadastroEtapa_Id).length == 0)\r\n new_list.push(item);\r\n\r\n set_list_table_etapas(new_list);\r\n\r\n set_rowEdit(null);\r\n\r\n set_tipo(\"\");\r\n\r\n set_statusEtapa(\"\");\r\n setValue(\"statusEtapa\", \"\", false);\r\n setValue(\"ordemEtapa\", \"\");\r\n setValue(\"descricaoEtapa\", \"\");\r\n setValue(\"responsividadeEtapa\", \"\");\r\n }\r\n\r\n const handleAdicionarEtapa = () => {\r\n let data = getValues();\r\n\r\n if (fluxoCadastro_Id == 0) {\r\n showMessage(\"Aviso\", \"Efetue o cadastro da primeira aba antes de adicionar as etapas!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.ordemEtapa == \"\" || tipo == \"\" || data.descricaoEtapa == \"\" || data.responsividadeEtapa == \"\" || statusEtapa == \"\") {\r\n showMessage(\"Aviso\", \"Preencha todos os campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (list_table_etapas != null && list_table_etapas.filter(f => f.tipo == tipo\r\n && (rowEdit == null || (rowEdit != null && f.fluxoCadastroEtapa_Id != rowEdit.fluxoCadastroEtapa_Id))).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe outra etapa adicinada com o tipo informado!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (list_table_etapas != null && list_table_etapas.filter(f => f.ordem == data.ordemEtapa\r\n && (rowEdit == null || (rowEdit != null && f.fluxoCadastroEtapa_Id != rowEdit.fluxoCadastroEtapa_Id))).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe outra etapa adicinada com esta ordem!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n fluxoCadastroEtapa_Id: rowEdit != null ? rowEdit.fluxoCadastroEtapa_Id : 0,\r\n fluxoCadastro_Id: fluxoCadastro_Id,\r\n tipo: tipo,\r\n descricao: data.descricaoEtapa,\r\n ordem: data.ordemEtapa,\r\n prazoResponsividade: data.responsividadeEtapa,\r\n status: statusEtapa,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.fluxoCadastroEtapa_Id == 0) {\r\n api_POST('FluxoCadastro/PostEtapa', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmaEtapaAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('FluxoCadastro/PutEtapa', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmaEtapaAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n // Remover Etapa\r\n const handleDeleteEtapa = (rowData) => {\r\n showQuestion(\"Aviso\", \"Tem certeza que quer deletar o registro?\", 'question', function (retorno) {\r\n if (retorno) {\r\n setLoading(true);\r\n api_POST('FluxoCadastro/DeleteEtapa', rowData).then(result => () => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null)\r\n let new_list = list_table_etapas.filter(f => f.fluxoCadastroEtapa_Id != rowData.fluxoCadastroEtapa_Id);\r\n set_list_table_etapas(new_list);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n });\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_rowEdit(null);\r\n if (item != null) {\r\n set_fluxoCadastro_Id(item.fluxoCadastro_Id);\r\n set_setupSolicitacao(item.setupSolicitacaoAcao.setupSolicitacao);\r\n setValue(\"setupSolicitacao\", item.setupSolicitacaoAcao.setupSolicitacao, true);\r\n set_setupSolicitacaoAcao(item.setupSolicitacaoAcao);\r\n setValue(\"setupSolicitacaoAcao\", item.setupSolicitacaoAcao, true);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_list_table_etapas(item.fluxoCadastroEtapas);\r\n }\r\n else {\r\n set_fluxoCadastro_Id(0);\r\n set_setupSolicitacao(null);\r\n setValue(\"setupSolicitacao\", \"\", false);\r\n set_setupSolicitacaoAcao(null);\r\n setValue(\"setupSolicitacaoAcao\", \"\", false);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_list_table_etapas([]);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroFluxo.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsSetupSolicitacao();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n fluxoCadastro_Id: fluxoCadastro_Id,\r\n setupSolicitacaoAcao_Id: setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.fluxoCadastro_Id == 0) {\r\n api_POST('FluxoCadastro', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_fluxoCadastro_Id(result.data.fluxoCadastro_Id) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('FluxoCadastro', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\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\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.setupSolicitacao_Id}\r\n name=\"setupSolicitacao\"\r\n onChange={(e) => { handleSetupSolicitacao(e) }}\r\n value={setupSolicitacao}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item != null && item.fluxoCadastro_Id != null) ? true : false}\r\n ref={e => register(\r\n { name: \"setupSolicitacao\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.setupSolicitacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.identificacao}\r\n getOptionValue={option => option.setupSolicitacaoAcao_Id}\r\n name=\"setupSolicitacaoAcao\"\r\n onChange={(e) => { handleSetupSolicitacaoAcao(e) }}\r\n value={setupSolicitacaoAcao}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item != null && item.fluxoCadastro_Id != null) ? true : false}\r\n ref={e => register(\r\n { name: \"setupSolicitacaoAcao\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.setupSolicitacaoAcao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.ordemEtapaErro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipo(e.value) }}\r\n value={tipo != \"\" && options_tipo.find(obj => obj.value === tipo)}\r\n placeholder=\"Selecione\"\r\n style={{ zIndex: \"9999\" }}\r\n isDisabled={rowEdit != null ? true : false}\r\n />\r\n {errors.tipo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.descricaoEtapa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsividadeEtapa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n { handleStatusEtapa(e.value) }}\r\n value={statusEtapa != \"\" && options_status.find(obj => obj.value === statusEtapa)}\r\n placeholder=\"Selecione\"\r\n />\r\n {errors.statusEtapa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleEditarEtapa(rowData)\r\n },\r\n {\r\n icon: 'delete',\r\n tooltip: 'Deletar Registro',\r\n onClick: (event, rowData) => handleDeleteEtapa(rowData)\r\n }\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n cancelTooltip: \"Cancelar\",\r\n saveTooltip: \"Salvar\"\r\n },\r\n deleteTooltip: \"Excluir\",\r\n editTooltip: \"Editar\"\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: 'Primeira página',\r\n previousTooltip: 'Página anterior',\r\n nextTooltip: 'Próxima página',\r\n lastTooltip: 'Última página'\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav, NavItem, NavLink, TabPane, TabContent } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth.js';\r\n\r\nexport default function CadastroClassesResiduosForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [classeResiduo_Id, set_classeResiduo_Id] = React.useState(0);\r\n\r\n // Status \r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = React.useState(null);\r\n const [options_categoria, set_options_categoria] = React.useState([]);\r\n const loadOptionsCategoria = (_segmento) => {\r\n api_GET(`Categoria`)\r\n .then(result => set_options_categoria(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n const handleCategoria = (value) => {\r\n set_categoria(value);\r\n setValue(\"categoria\", value, true);\r\n clearErrors(\"categoria\");\r\n }\r\n\r\n // Status Resíduo\r\n const [statusResiduo, set_statusResiduo] = React.useState(\"\");\r\n const [options_statusResiduo] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatusResiduo = (value) => {\r\n set_statusResiduo(value);\r\n setValue(\"statusResiduo\", value, true);\r\n clearErrors(\"statusResiduo\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table_residuos, set_list_table_residuos] = React.useState([]);\r\n const handleEditarResiduo = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_statusResiduo(rowData.status);\r\n setValue(\"statusResiduo\", rowData.status, true);\r\n setValue(\"descricaoResiduo\", rowData.descricao);\r\n }\r\n // Adicionar Resíduo\r\n const confirmacaoResiduoAdicionado = (item) => {\r\n let new_list = [];\r\n list_table_residuos.map(m => {\r\n if (m.residuo_Id == item.residuo_Id)\r\n new_list.push(item);\r\n else\r\n new_list.push(m);\r\n });\r\n if (list_table_residuos.filter(f => f.residuo_Id == item.residuo_Id).length == 0)\r\n new_list.push(item);\r\n\r\n set_list_table_residuos(new_list);\r\n\r\n set_rowEdit(null);\r\n set_statusResiduo(\"\");\r\n setValue(\"statusResiduo\", \"\", false);\r\n setValue(\"descricaoResiduo\", \"\");\r\n }\r\n\r\n const handleAdicionarResiduo = () => {\r\n if (classeResiduo_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve o cadastro da classe na primeira aba antes de incluir os resíduos!\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n let error = false;\r\n\r\n if (data.descricaoResiduo == \"\" || statusResiduo == \"\")\r\n error = true;\r\n\r\n if (error) {\r\n showMessage(\"Aviso\", \"Preencha todos os campos\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n residuo_Id: rowEdit != null ? rowEdit.residuo_Id : 0,\r\n classeResiduo_Id: classeResiduo_Id,\r\n descricao: data.descricaoResiduo,\r\n status: statusResiduo,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.residuo_Id == 0) {\r\n api_POST('classeResiduo/PostResiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoResiduoAdicionado(result.data); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n else {\r\n api_PUT('classeResiduo/PutResiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoResiduoAdicionado(result.data); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_rowEdit(null);\r\n setValue(\"descricaoResiduo\", \"\");\r\n setValue(\"statusResiduo\", \"\", false);\r\n set_statusResiduo(\"\");\r\n if (item != null) {\r\n set_classeResiduo_Id(item.classeResiduo_Id);\r\n setValue(\"descricao\", item.descricao);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_list_table_residuos(item.residuos);\r\n set_categoria(item.categoria_Id);\r\n }\r\n else {\r\n set_classeResiduo_Id(0);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_list_table_residuos([]);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroClassesResiduos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsCategoria();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n classeResiduo_Id: classeResiduo_Id,\r\n descricao: data.descricao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n categoria_Id: categoria\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.classeResiduo_Id == 0) {\r\n api_POST('classeresiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_classeResiduo_Id(result.data.classeResiduo_Id); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n else {\r\n api_PUT('classeresiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\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\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.categoria_Id}\r\n onChange={(e) => { handleCategoria(e.categoria_Id) }}\r\n value={categoria != null && options_categoria.find(obj => obj.categoria_Id === categoria)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"categoria\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.categoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricaoResiduo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatusResiduo(e.value) }}\r\n value={statusResiduo != \"\" && options_statusResiduo.find(obj => obj.value === statusResiduo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"statusResiduo\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.statusResiduo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n handleEditarResiduo(rowData)\r\n }\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n cancelTooltip: \"Cancelar\",\r\n saveTooltip: \"Salvar\"\r\n },\r\n deleteTooltip: \"Excluir\",\r\n editTooltip: \"Editar\"\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: 'Primeira página',\r\n previousTooltip: 'Página anterior',\r\n nextTooltip: 'Próxima página',\r\n lastTooltip: 'Última página'\r\n }\r\n }}\r\n Options={{\r\n headerStyle: {\r\n fontFamily: 'Montserrat, Helvetica Neue, Arial, sans-serif',\r\n fontWeight: '700',\r\n color: '#888'\r\n }\r\n }}\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport {\r\n Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav,\r\n NavItem, NavLink, TabPane, TabContent\r\n} from \"reactstrap\";\r\nimport Select from 'react-select'\r\nimport Switch from \"react-switch\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function PerfilForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [perfil_Id, set_perfil_Id] = React.useState(0);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Tipo\r\n const [tipo, set_tipo] = React.useState(\"\");\r\n const [options_tipo] = React.useState([\r\n { value: \"Gestor\", label: \"Gestor\" },\r\n { value: \"Responsável\", label: \"Responsável\" }\r\n ]);\r\n const handleTipo = (value) => {\r\n set_tipo(value);\r\n setValue(\"tipo\", value, true);\r\n clearErrors(\"tipo\");\r\n }\r\n\r\n // Permissões de Acesso às telas\r\n const [list_funcionalidades, set_list_funcionalidades] = React.useState([]);\r\n const loadListFuncionalidades = () => {\r\n api_GET('usuario/getfuncionalidades')\r\n .then(result => {\r\n let funcionalidades = result.data;\r\n if (item != null) {\r\n for (var i in funcionalidades) {\r\n for (var j in funcionalidades[i].funcionalidadeAcoes) {\r\n if (item.perfilFuncionalidadeAcao.filter(f => f.autorizado == true\r\n && f.funcionalidadeAcao_Id == funcionalidades[i].funcionalidadeAcoes[j].funcionalidadeAcao_Id).length > 0) {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n set_list_funcionalidades(funcionalidades);\r\n\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeFuncionalidadeAcao = (funcionalidadeAcao, checked) => {\r\n funcionalidadeAcao.autorizado = checked;\r\n let funcionalidade = list_funcionalidades.filter(f => f.funcionalidade_Id == funcionalidadeAcao.funcionalidade_Id)[0];\r\n\r\n let new_funcionalidadeAcao = [];\r\n funcionalidade.funcionalidadeAcoes.map(m => {\r\n if (m.fucionalidadeAcao_Id == funcionalidadeAcao.funcionalidadeAcao_Id)\r\n new_funcionalidadeAcao.push(funcionalidadeAcao);\r\n else\r\n new_funcionalidadeAcao.push(m);\r\n });\r\n\r\n funcionalidade.funcionalidadeAcoes = new_funcionalidadeAcao;\r\n\r\n let new_list = [];\r\n list_funcionalidades.map(m => {\r\n if (m.funcionalidade_Id == funcionalidade.funcionalidade_Id)\r\n new_list.push(funcionalidade);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_funcionalidades(new_list);\r\n }\r\n const handleSalvarPermissoes = () => {\r\n if (perfil_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do perfil antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let perfil_permissoes = [];\r\n\r\n list_funcionalidades.map(f => {\r\n if (f.funcionalidadeAcoes != null) {\r\n f.funcionalidadeAcoes.map(a => {\r\n if (a.autorizado) {\r\n perfil_permissoes.push({\r\n perfil_Id: perfil_Id,\r\n funcionalidadeAcao_Id: a.funcionalidadeAcao_Id,\r\n autorizado: a.autorizado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n if (perfil_permissoes.length == 0) {\r\n showMessage(\"Aviso\", \"Informe pelo menos uma permissão de acesso!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n perfil_Id: perfil_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n perfilFuncionalidadeAcao: perfil_permissoes\r\n }\r\n\r\n setLoading(true);\r\n api_POST('perfil/PostPermissoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Permissões de Acesso ao Setup Solicitação Ação\r\n const [list_setupsolicitacao, set_list_setupsolicitacao] = React.useState([]);\r\n const loadListSetupSolicitacaoAcao = () => {\r\n api_GET('setupsolicitacao')\r\n .then(result => {\r\n let setup = result.data;\r\n if (item != null) {\r\n for (var i in setup) {\r\n for (var j in setup[i].solicitacaoAcoes) {\r\n if (item.perfilSetupSolicitacaoAcao.filter(f => f.liberado == true\r\n && f.setupSolicitacaoAcao_Id == setup[i].solicitacaoAcoes[j].setupSolicitacaoAcao_Id).length > 0) {\r\n setup[i].solicitacaoAcoes[j].liberado = true;\r\n }\r\n }\r\n }\r\n }\r\n set_list_setupsolicitacao(setup);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeSetupSolicitacao = (setupSolicitacaoAcao, checked) => {\r\n setupSolicitacaoAcao.liberado = checked;\r\n let setup = list_setupsolicitacao.filter(f => f.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)[0];\r\n\r\n let new_setupSolicitacaoAcao = [];\r\n setup.solicitacaoAcoes.map(m => {\r\n if (m.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n new_setupSolicitacaoAcao.push(setupSolicitacaoAcao);\r\n else\r\n new_setupSolicitacaoAcao.push(m);\r\n });\r\n\r\n setup.solicitacaoAcoes = new_setupSolicitacaoAcao;\r\n\r\n let new_list = [];\r\n list_setupsolicitacao.map(m => {\r\n if (m.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)\r\n new_list.push(setup);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_setupsolicitacao(new_list);\r\n }\r\n const handleSalvarSetupSolicitacao = () => {\r\n if (perfil_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do perfil antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let perfil_setupsolicitacaoacao = [];\r\n\r\n list_setupsolicitacao.map(f => {\r\n if (f.solicitacaoAcoes != null) {\r\n f.solicitacaoAcoes.map(a => {\r\n if (a.liberado) {\r\n perfil_setupsolicitacaoacao.push({\r\n perfil_Id: perfil_Id,\r\n setupSolicitacaoAcao_Id: a.setupSolicitacaoAcao_Id,\r\n liberado: a.liberado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n let json_submit = {\r\n perfil_Id: perfil_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n perfilSetupSolicitacaoAcao: perfil_setupsolicitacaoacao\r\n }\r\n\r\n setLoading(true);\r\n api_POST('perfil/PostSetupSolicitacaoAcoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_list_funcionalidades([]);\r\n if (item != null) {\r\n set_perfil_Id(item.perfil_Id);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_tipo(item.tipo);\r\n setValue(\"tipo\", item.tipo, true);\r\n setValue(\"descricao\", item.descricao);\r\n }\r\n else {\r\n set_perfil_Id(0);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_tipo(\"\");\r\n setValue(\"tipo\", \"\", false);\r\n setValue(\"descricao\", \"\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Perfis.Editar\", function (result) { set_permiteEditar(result) });\r\n loadListFuncionalidades();\r\n loadListSetupSolicitacaoAcao();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n perfil_Id: perfil_Id,\r\n descricao: data.descricao,\r\n tipo: tipo,\r\n status: status,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.perfil_Id == 0) {\r\n api_POST('perfil', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_perfil_Id(result.data.perfil_Id) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('perfil', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\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\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipo(e.value) }}\r\n value={tipo != \"\" && options_tipo.find(obj => obj.value === tipo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {list_funcionalidades != null && list_funcionalidades.map((f, key) => {\r\n return \r\n \r\n \r\n {f.funcionalidadeAcoes != null && f.funcionalidadeAcoes.map((a, akey) => {\r\n return \r\n {a.descricao + \" \"} \r\n handleChangeFuncionalidadeAcao(a, event)} checked={a.autorizado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {list_setupsolicitacao != null && list_setupsolicitacao.map((f, key) => {\r\n return \r\n \r\n \r\n {f.solicitacaoAcoes != null && f.solicitacaoAcoes.map((a, akey) => {\r\n return \r\n {a.acao + \" \"} \r\n handleChangeSetupSolicitacao(a, event)} checked={a.liberado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav, NavItem, NavLink, TabPane, TabContent } from \"reactstrap\";\r\nimport Select from 'react-select'\r\nimport Switch from \"react-switch\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function UsuarioForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [usuario_Id, set_usuario_Id] = React.useState(0);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Perfil\r\n const [perfil, set_perfil] = React.useState(null);\r\n const [options_perfil, set_options_perfil] = React.useState([]);\r\n const loadOptionsPerfil = () => {\r\n api_GET('perfil')\r\n .then(result => {\r\n set_options_perfil(result.data);\r\n if (item != null) {\r\n let _perfil = result.data.filter(f => f.perfil_Id == item.perfil.perfil_Id)[0];\r\n set_perfil(_perfil);\r\n setValue(\"perfil\", _perfil, true);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n };\r\n const handlePerfil = (value) => {\r\n set_perfil(value);\r\n setValue(\"perfil\", value, true);\r\n clearErrors(\"perfil\");\r\n }\r\n useEffect(() => {\r\n loadListFuncionalidades();\r\n loadListSetupSolicitacaoAcao();\r\n }, [perfil]);\r\n\r\n // Permissões de Acesso às telas\r\n const [list_funcionalidades, set_list_funcionalidades] = React.useState([]);\r\n const loadListFuncionalidades = () => {\r\n api_GET('usuario/getfuncionalidades')\r\n .then(result => {\r\n let funcionalidades = result.data;\r\n\r\n if (perfil != null) {\r\n for (var i in funcionalidades) {\r\n for (var j in funcionalidades[i].funcionalidadeAcoes) {\r\n if (perfil.perfilFuncionalidadeAcao.filter(f => f.funcionalidadeAcao_Id == funcionalidades[i].funcionalidadeAcoes[j].funcionalidadeAcao_Id\r\n && f.autorizado == true).length > 0) {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = true;\r\n funcionalidades[i].funcionalidadeAcoes[j].disabled = true;\r\n }\r\n else {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = false;\r\n funcionalidades[i].funcionalidadeAcoes[j].disabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (item != null) {\r\n for (var i in funcionalidades) {\r\n for (var j in funcionalidades[i].funcionalidadeAcoes) {\r\n if (item.usuarioFuncionalidadeAcoes.filter(f => f.autorizado == true\r\n && f.funcionalidadeAcao_Id == funcionalidades[i].funcionalidadeAcoes[j].funcionalidadeAcao_Id).length > 0) {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n set_list_funcionalidades(funcionalidades);\r\n\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeFuncionalidadeAcao = (funcionalidadeAcao, checked) => {\r\n funcionalidadeAcao.autorizado = checked;\r\n let funcionalidade = list_funcionalidades.filter(f => f.funcionalidade_Id == funcionalidadeAcao.funcionalidade_Id)[0];\r\n\r\n let new_funcionalidadeAcao = [];\r\n funcionalidade.funcionalidadeAcoes.map(m => {\r\n if (m.fucionalidadeAcao_Id == funcionalidadeAcao.funcionalidadeAcao_Id)\r\n new_funcionalidadeAcao.push(funcionalidadeAcao);\r\n else\r\n new_funcionalidadeAcao.push(m);\r\n });\r\n\r\n funcionalidade.funcionalidadeAcoes = new_funcionalidadeAcao;\r\n\r\n let new_list = [];\r\n list_funcionalidades.map(m => {\r\n if (m.funcionalidade_Id == funcionalidade.funcionalidade_Id)\r\n new_list.push(funcionalidade);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_funcionalidades(new_list);\r\n }\r\n const handleSalvarPermissoes = () => {\r\n if (usuario_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do usuário antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let usuario_permissoes = [];\r\n\r\n list_funcionalidades.map(f => {\r\n if (f.funcionalidadeAcoes != null) {\r\n f.funcionalidadeAcoes.map(a => {\r\n if (a.autorizado && a.disabled != true) {\r\n usuario_permissoes.push({\r\n usuario_Id: usuario_Id,\r\n funcionalidadeAcao_Id: a.funcionalidadeAcao_Id,\r\n autorizado: a.autorizado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n let json_submit = {\r\n usuario_Id: usuario_Id,\r\n email: \"\",\r\n login: \"\",\r\n nome: \"\",\r\n senha: \"\",\r\n status: \"\",\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n usuarioFuncionalidadeAcoes: usuario_permissoes\r\n }\r\n\r\n setLoading(true);\r\n api_POST('usuario/PostPermissoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Permissões de Acesso ao Setup Solicitação Ação\r\n const [list_setupsolicitacao, set_list_setupsolicitacao] = React.useState([]);\r\n const loadListSetupSolicitacaoAcao = () => {\r\n api_GET('setupsolicitacao')\r\n .then(result => {\r\n let setup = result.data;\r\n if (perfil != null) {\r\n for (var i in setup) {\r\n for (var j in setup[i].solicitacaoAcoes) {\r\n if (perfil.perfilSetupSolicitacaoAcao.filter(f => f.setupSolicitacaoAcao_Id == setup[i].solicitacaoAcoes[j].setupSolicitacaoAcao_Id\r\n && f.liberado == true).length > 0) {\r\n setup[i].solicitacaoAcoes[j].liberado = true;\r\n setup[i].solicitacaoAcoes[j].disabled = true;\r\n }\r\n else {\r\n setup[i].solicitacaoAcoes[j].liberado = false;\r\n setup[i].solicitacaoAcoes[j].disabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (item != null && item.usuarioSetupSolicitacaoAcoes != null) {\r\n for (var i in setup) {\r\n for (var j in setup[i].solicitacaoAcoes) {\r\n if (item.usuarioSetupSolicitacaoAcoes.filter(f => f.liberado == true\r\n && f.setupSolicitacaoAcao_Id == setup[i].solicitacaoAcoes[j].setupSolicitacaoAcao_Id).length > 0) {\r\n setup[i].solicitacaoAcoes[j].liberado = true;\r\n }\r\n }\r\n }\r\n }\r\n set_list_setupsolicitacao(setup);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeSetupSolicitacao = (setupSolicitacaoAcao, checked) => {\r\n setupSolicitacaoAcao.liberado = checked;\r\n let setup = list_setupsolicitacao.filter(f => f.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)[0];\r\n\r\n let new_setupSolicitacaoAcao = [];\r\n setup.solicitacaoAcoes.map(m => {\r\n if (m.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n new_setupSolicitacaoAcao.push(setupSolicitacaoAcao);\r\n else\r\n new_setupSolicitacaoAcao.push(m);\r\n });\r\n\r\n setup.solicitacaoAcoes = new_setupSolicitacaoAcao;\r\n\r\n let new_list = [];\r\n list_setupsolicitacao.map(m => {\r\n if (m.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)\r\n new_list.push(setup);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_setupsolicitacao(new_list);\r\n }\r\n const handleSalvarSetupSolicitacao = () => {\r\n if (usuario_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do usuário antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let usuario_setupsolicitacaoacao = [];\r\n\r\n list_setupsolicitacao.map(f => {\r\n if (f.solicitacaoAcoes != null) {\r\n f.solicitacaoAcoes.map(a => {\r\n if (a.liberado && a.disabled != true) {\r\n usuario_setupsolicitacaoacao.push({\r\n usuario_Id: usuario_Id,\r\n setupSolicitacaoAcao_Id: a.setupSolicitacaoAcao_Id,\r\n liberado: a.liberado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n let json_submit = {\r\n usuario_Id: usuario_Id,\r\n email: \"\",\r\n login: \"\",\r\n nome: \"\",\r\n senha: \"\",\r\n status: \"\",\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n usuarioSetupSolicitacaoAcoes: usuario_setupsolicitacaoacao\r\n }\r\n\r\n setLoading(true);\r\n api_POST('usuario/PostSetupSolicitacaoAcoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_list_funcionalidades([]);\r\n if (item != null) {\r\n set_usuario_Id(item.usuario_Id);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n setValue(\"login\", item.login);\r\n setValue(\"nome\", item.nome);\r\n setValue(\"email\", item.email);\r\n }\r\n else {\r\n set_usuario_Id(0);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_perfil(null);\r\n setValue(\"perfil\", \"\", false);\r\n setValue(\"login\", \"\");\r\n setValue(\"nome\", \"\");\r\n setValue(\"email\", \"\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Usuarios.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsPerfil();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n usuario_Id: usuario_Id,\r\n login: data.login,\r\n nome: data.nome,\r\n email: data.email,\r\n perfil_Id: perfil.perfil_Id,\r\n status: status,\r\n senha: Math.random().toString(36).slice(-8),\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.usuario_Id == 0) {\r\n api_POST('usuario', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n set_usuario_Id(result.data.usuario_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('usuario', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\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\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.login && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.nome && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.perfil_Id}\r\n name=\"perfil\"\r\n onChange={(e) => { handlePerfil(e) }}\r\n value={perfil != null && options_perfil.find(obj => obj.perfil_Id === perfil.perfil_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"perfil\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.perfil && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {list_funcionalidades != null && list_funcionalidades.map((f, key) => {\r\n return \r\n \r\n \r\n {f.funcionalidadeAcoes != null && f.funcionalidadeAcoes.map((a, akey) => {\r\n return \r\n {a.descricao + \" \"} \r\n handleChangeFuncionalidadeAcao(a, event)} checked={a.autorizado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {list_setupsolicitacao != null && list_setupsolicitacao.map((f, key) => {\r\n return \r\n \r\n \r\n {f.solicitacaoAcoes != null && f.solicitacaoAcoes.map((a, akey) => {\r\n return \r\n {a.acao + \" \"} \r\n handleChangeSetupSolicitacao(a, event)} checked={a.liberado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport XlsxPopulate from 'xlsx-populate';\r\nimport { saveAs } from 'file-saver';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { formateDateApi, formateDateandTime, formateDate, formateDateSemBarra } from 'helpers/formats';\r\n\r\n// services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function RelatorioFichaRequerimentoGeradorRSS({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [relatorio, set_relatorio] = useState(null);\r\n\r\n const [lista, set_lista] = useState(Object);\r\n\r\n // Tipo de Requerimento\r\n const [tipoRequerimento, set_tipoRequerimento] = React.useState(\"\");\r\n const [subprefeitura, set_Subprefeitura] = React.useState([]);\r\n\r\n const [options_tipoRequerimento] = React.useState([\r\n { value: \"Novo Cadastro\", label: \"Novo Cadastro\" },\r\n { value: \"Alteração\", label: \"Alteração\" },\r\n { value: \"Cancelamento\", label: \"Cancelamento\" },\r\n ]);\r\n const handleTipoRequerimento = (value) => {\r\n set_tipoRequerimento(value);\r\n setValue(\"tipoRequerimento\", value, true);\r\n clearErrors(\"tipoRequerimento\");\r\n }\r\n\r\n const [options_subprefeitura, set_OptionsSubPrefeitura] = React.useState([]);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n\r\n const handleSubprefeitura = (value) => {\r\n set_Subprefeitura(value);\r\n setValue(\"subprefeitura\", value, true);\r\n }\r\n\r\n useEffect(() => {\r\n api_GET('subprefeitura')\r\n .then(result => set_OptionsSubPrefeitura(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n const handleExcel = (data) => {\r\n set_showDetail(true);\r\n };\r\n\r\n const [filtro, set_filtro] = useState(null);\r\n\r\n const onSubmit = (data) => {\r\n // enviar um array de nomes, caso nao tenha nada sera atribuido um valor (Null) as subprefeituras;\r\n const validadacaoSubPrefeitura = subprefeitura && subprefeitura.length > 0 ?\r\n subprefeitura.map(x => x.nome) :\r\n null;\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n acao: tipoRequerimento,\r\n subprefeitura: validadacaoSubPrefeitura\r\n }\r\n\r\n setLoading(true);\r\n api_POST('relatorio/RelatorioRequerimentoGeradorRSS', json_submit)\r\n .then(result => {\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_relatorio(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (relatorio != null) {\r\n api_POST('relatorio/ExportToExcel', relatorio)\r\n .then(resultExcel => set_lista(resultExcel.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }, [relatorio]);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n //adicionar todas as subprefeituras ao clica no botao\r\n const handleTakeSubprefeituras = () => {\r\n set_Subprefeitura(options_subprefeitura);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n {relatorio != null && !showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {relatorio == null &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Requerimento de Geradores de RSS

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.dataInicial && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dataFinal && * Campo Obrigatório}\r\n \r\n\r\n \r\n \r\n \r\n \r\n { handleTipoRequerimento(e.value) }}\r\n value={tipoRequerimento != \"\" && options_tipoRequerimento.find(obj => obj.value === tipoRequerimento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoRequerimento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipoRequerimento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.nome}\r\n getOptionValue={option => option.subPrefeitura_Id}\r\n name=\"subprefeitura\"\r\n onChange={(e) => { handleSubprefeitura(e) }}\r\n value={subprefeitura}\r\n placeholder=\"Selecione\"\r\n isMulti\r\n ref={e => register(\r\n { name: \"subprefeitura\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n }\r\n {!showDetail && relatorio &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {showDetail && relatorio && lista.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\nexport const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n return (\r\n
\r\n
\r\n
\r\n

Requerimento de Geradores de RSS

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{formateDate(filtro.inicio) + \" a \" + formateDate(filtro.fim)}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n Tipo Requerimento
{filtro.acao}\r\n
\r\n
\r\n }\r\n {relatorio != null && relatorio.map((m, key) => (\r\n
\r\n
{m.geradores.length > 0 ? m.subprefeitura : ''}
\r\n {m.geradores.map((n, key2) => (\r\n
\r\n
\r\n
\r\n Tipo: {\" \" + n.tipo}\r\n
\r\n
\r\n Código: {\" \" + n.codigo}\r\n
\r\n
\r\n Razão Social: {\" \" + n.razaoSocial}\r\n
\r\n
\r\n CNPJ: {\" \" + n.cnpj}\r\n
\r\n
\r\n CEP: {\" \" + n.cep}\r\n
\r\n
\r\n Logradouro: {\" \" + n.logradouro}\r\n
\r\n
\r\n Nº: {\" \" + n.numero}\r\n
\r\n
\r\n Complemento: {\" \" + n.complemento}\r\n
\r\n
\r\n Bairro: {\" \" + n.bairro}\r\n
\r\n
\r\n Fone: {\" \" + n.fone}\r\n
\r\n
\r\n Celular: {\" \" + n.celular}\r\n
\r\n
\r\n Responsável Técnico: {\" \" + n.responsavelTecnico}\r\n
\r\n
\r\n Data de Validação : {\" \" + formateDate(n.dataValidacao)}\r\n
\r\n
\r\n Classificação: {\" \" + n.classificacao}\r\n
\r\n {n.locaisColeta.map((l, key3) => (\r\n
\r\n Local de Coleta: {\" \" + l.logradouro + \", \" + l.numero + \", \" + l.complemento + \" - \" + l.bairro}\r\n
\r\n ))}\r\n {n.caracterizacaoResiduos.length > 0 &&\r\n <>\r\n
\r\n Resíduos (Grupo / Código / Tipo): \r\n
\r\n {n.caracterizacaoResiduos.map((c, key3) => (\r\n
\r\n {\" \" + c.grupo + \" / \" + c.codigo + \" / \" + c.tipo}\r\n
\r\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 const ComponentToExcel = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n const x = relatorio.map(function (val) {\r\n var array = Object.values(val);\r\n var columns = Object.keys(val);\r\n array.splice(14, 1);\r\n array.splice(14, 1);\r\n array.splice(15, 1);\r\n array[14] = formateDateSemBarra(array[14]);\r\n return array;\r\n });\r\n\r\n function getSheetData(data, header) {\r\n var fields = Object.keys(data[0]);\r\n var sheetData = data.map(function (row) {\r\n return fields.map(function (fieldName) {\r\n return row[fieldName] ? row[fieldName] : \"\";\r\n });\r\n });\r\n sheetData.unshift(header);\r\n return sheetData;\r\n }\r\n\r\n\r\n async function saveAsExcel() {\r\n let header = [\"SubPrefeitura\", \"Tipo\", \"Código\", \"Razão Social\", \"CNPJ\", \"CEP\", \"Logradouro\",\r\n \"Nº\", \"Complemento\", \"Bairro\", \"Fone\", \"Celular\", \"Responsável Técnico\", \"Classificação\",\r\n \"Data de Validação\", \"Resíduos (Grupo / Código / Tipo)\"];\r\n\r\n XlsxPopulate.fromBlankAsync().then(async (workbook) => {\r\n const dia = new Date();\r\n const sheet1 = workbook.sheet(0).name(\"RSS\");\r\n const sheetData = getSheetData(x, header);\r\n const totalColumns = sheetData[0].length;\r\n\r\n sheet1.cell(\"A1\").value(sheetData);\r\n const range = sheet1.usedRange();\r\n const endColumn = String.fromCharCode(64 + totalColumns);\r\n sheet1.row(1).style(\"bold\", true);\r\n sheet1.range(\"A1:\" + endColumn + \"1\");\r\n return workbook.outputAsync().then((res) => {\r\n saveAs(res, \"RelatorioRSS_\" + dia.getDate() + (dia.getMonth() + 1) + dia.getFullYear() + \".xlsx\");\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
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {relatorio.map(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\n \r\n \r\n \r\n ))}\r\n \r\n
SubPrefeituraTipoCódigoRazão SocialCNPJCEPLogradouroComplementoBairroFoneCelularResponsável TécnicoData de ValidaçãoClassificaçãoResíduos (Grupo / Código / Tipo)
{item.subprefeitura}{item.tipo}{item.codigo}{item.razaoSocial}{item.cnpj}{item.cep}{item.logradouro}{item.numero}{item.complemento}{item.bairro}{item.fone}{item.celular}{item.responsavelTecnico}{formateDateSemBarra(item.dataValidacao)}{item.classificacao}{item.caracterizacaoResiduos}
\r\n
\r\n
\r\n
\r\n \r\n );\r\n});","export const nomeclaturas = {\r\n CodigoCadastro: \"Código Cadastro\",\r\n DataFimVigencia: \"Data de Fim Vigência\",\r\n Status: \"Status\",\r\n NomeSolicitante: \"Nome Solicitante\",\r\n Email: \"Email\",\r\n CodigoSistemaPrefeitura: \"Código Sistema Prefeitura\",\r\n ProtocoloDestino: \"Protocolo Destino\",\r\n Cpf_Cnpj: \"CPF/CNPJ\",\r\n InscricaoMunicipal: \"Inscrição Municipal\",\r\n Nome_Fantasia: \"Nome Fantasia\",\r\n RazaoSocial: \"Razão Social\",\r\n NomeResponsavel: \"Nome Responsável\",\r\n NomeResponsavelTecnico: \"Nome Responsável Técnico\",\r\n TipoDocumentoResponsavelTecnico: \"Tipo Documento Responsável Técnico\",\r\n NumeroDocumentoResponsavelTecnico: \"Número Documento Responsável Técnico\",\r\n CCM: \"CCM\",\r\n CEP: \"CEP\",\r\n Logradouro: \"Logradouro\",\r\n NumEndereco: \"Número\",\r\n Complemento: \"Complemento\",\r\n Bairro: \"Bairro\",\r\n Cidade: \"Cidade\",\r\n Telefone: \"Telefone\",\r\n Celular: \"Celular\",\r\n RamoAtividade: \"Ramo de Atividade\",\r\n UF: \"UF\",\r\n TipoIndustriaComercio: \"Tipo Indústria/Comércio\",\r\n ProtocoloGerador: \"Protocolo Gerador\",\r\n GeoLocalizacao: \"Geolocalização\",\r\n Usuario: \"Usuário\",\r\n DataAlteracao: \"Data Alteração\",\r\n CNPJ: \"CNPJ\",\r\n NomeFantasia: \"Nome Fantasia\",\r\n SubPrefeitura: \"Subprefeitura\",\r\n Tipo: \"Tipo\",\r\n CapacidadeCarga: \"Capacidade de Carga\",\r\n Tara: \"Tara\",\r\n AnoFabricacao: \"Ano de Fabricação\",\r\n NumeroRenavam: \"Número Renavam\",\r\n ArquivoRenavam: \"Arquivo Renavam\",\r\n ArquivoRenavamBase64: \"Arquivo Renavam\",\r\n ArquivoInspecaoInmetro: \"Arquivo Inspeção Inmetro\",\r\n ArquivoInspecaoInmetroBase64: \"Arquivo Inspeção Inmetro\",\r\n ArquivoComprovanteTara: \"Arquivo Comprovante Tara\",\r\n ArquivoComprovanteTaraBase64: \"Arquivo Comprovante Tara\",\r\n ArquivoComodato: \"Arquivo Comodato\",\r\n ArquivoComodatoBase64: \"Arquivo Comodato\",\r\n DataVistoria: \"Data de Vistoria\",\r\n DataValidadeVistoria: \"Data Validade Vistoria\",\r\n AnoFabricacaoEquipamento: \"Ano de Fabricação Equipamento\",\r\n ProprietarioOuLocado: \"Proprietário ou Locado\",\r\n Cor: \"Cor\",\r\n Volume: \"Volume\",\r\n PlacaAntiga: \"Placa Antiga\",\r\n QuantidadeLeitosEstimada: \"Quantidade Leitos Estimada\",\r\n Descricao: \"Descrição\",\r\n UsuarioAlteracao: \"Usuário de Alteração\"\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Spinner } from \"reactstrap\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport Select from 'react-select';\r\nimport moment from \"moment\";\r\n\r\n//Services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage } from '../../../services/message';\r\n\r\n//Helpers\r\nimport { formateDate } from '../../../helpers/formats';\r\nimport { formateDateandTime, formateDateApi } from '../../../helpers/formats';\r\nimport { nomeclaturas } from '../../../helpers/nomeclaturas';\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nfunction RelatorioManutecaoGeradorRSS({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n\r\n const [logs, setLogs] = useState([]);\r\n\r\n const [categoria, setCategoria] = useState(null);\r\n\r\n const [filtro, set_filtro] = useState({\r\n inicio: \"\",\r\n fim: \"\",\r\n nome: \"\",\r\n categoria: null\r\n });\r\n\r\n const verificarIndex = (object, vetor) => {\r\n let indice = -1;\r\n vetor.map((v, index) => {\r\n if (v.id === object.idRegistro) {\r\n indice = index;\r\n }\r\n })\r\n\r\n return (indice === -1 ? -1 : indice);\r\n }\r\n\r\n const formataDados = (dados) => {\r\n return dados ? dados.toString().replaceAll(\"_\", \"\").replaceAll(\"-\", \"\").trim() : \"\";\r\n }\r\n\r\n const geraRelatorio = (data) => {\r\n const vetor = [];\r\n\r\n data.map((info, index) => {\r\n vetor.push({\r\n id: info.idRegistro,\r\n usuario: info.usuario,\r\n data: formateDateandTime(info.dataAlteracao),\r\n cnpj: info.cnpj,\r\n nomeFantasia: info.nomeFantasia,\r\n camposEditados: []\r\n });\r\n\r\n const json_antigo = JSON.parse(info.jsonAntigo);\r\n const json_novo = JSON.parse(info.jsonNovo);\r\n\r\n Object.keys(json_antigo).map(x => {\r\n if (formataDados(json_antigo[x]) !== formataDados(json_novo[x]) && !Array.isArray(json_antigo[x]) && !Array.isArray(json_novo[x])) {\r\n if (x === \"Arquivo\") {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: `${x} (${json_novo[\"NomeArquivo\"]})`, texto: `${json_novo[\"NomeArquivo\"]}` });\r\n } else {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: x, texto: { antigo: json_antigo[x], novo: json_novo[x] } });\r\n }\r\n } else if (Array.isArray(json_antigo[x]) && Array.isArray(json_novo[x])) {\r\n json_antigo[x].map(antigo => {\r\n json_novo[x].map(novo => {\r\n Object.keys(novo).map(comp => {\r\n if (formataDados(antigo[comp]) !== formataDados(novo[comp])) {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: comp, texto: { antigo: antigo[comp], novo: novo[comp] } });\r\n }\r\n })\r\n })\r\n })\r\n }\r\n })\r\n })\r\n\r\n setLogs(vetor);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (categoria == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a categoria.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n categoria: categoria?.value\r\n }\r\n\r\n setLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoGeradores\", json_submit)\r\n .then(result => {\r\n if (result?.data?.length == 0) {\r\n set_showDetail(false);\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Não existem registros para os filtros informados.\", 'warning', null);\r\n return;\r\n }\r\n geraRelatorio(result.data);\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_showDetail(true);\r\n setLoading(false);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {logs.length > 0 && showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {logs.length === 0 &&\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Manutenção de Geradores

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"categoria\"\r\n onChange={(e) => setCategoria(e)}\r\n value={categoria}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n {\r\n logs.length > 0 && showDetail &&\r\n <>\r\n \r\n \r\n \r\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 const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n\r\n function isDate(value) {\r\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?)?$/;\r\n return dateRegex.test(value);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Manutenção de Geradores {filtro?.categoria}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{`${formateDate(filtro.inicio)} a ${formateDate(filtro.fim)}`}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n }\r\n
Cadastros Atualizados
\r\n {\r\n relatorio != null && relatorio.map((value, key) => (\r\n
\r\n {value.camposEditados && value.camposEditados.length > 0 && (\r\n <>\r\n
\r\n
\r\n
\r\n Razão Social:{value.nomeFantasia === null || value.nomeFantasia === undefined ? \" Sem Razão Social\" : \" \" + value.nomeFantasia}\r\n
\r\n
\r\n CNPJ:{value.cnpj === null || value.cnpj === undefined ? \" Sem CNPJ\" : \" \" + value.cnpj}\r\n
\r\n
\r\n Usuário de Modificação:{\" \" + value.usuario}\r\n
\r\n
\r\n Data de Alteração:{\" \" + value.data}\r\n
\r\n
\r\n
\r\n {\r\n value.camposEditados && value.camposEditados.map((atualizado, key2) => (\r\n <>\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o Nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.antigo) ? moment(atualizado.texto.antigo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.antigo}\r\n
\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.novo) ? moment(atualizado.texto.novo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.novo}\r\n
\r\n \r\n ))\r\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 RelatorioManutecaoGeradorRSS;","import React, { useState } from 'react';\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col } from \"reactstrap\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport Select from 'react-select';\r\nimport moment from \"moment\";\r\n\r\n//Services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage } from '../../../services/message';\r\n\r\n//Helpers\r\nimport { formateDate } from '../../../helpers/formats';\r\nimport { formateDateandTime, formateDateApi } from '../../../helpers/formats';\r\nimport { nomeclaturas } from '../../../helpers/nomeclaturas';\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nfunction RelatorioManutecaoTransportadores({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n\r\n const [logs, setLogs] = useState([]);\r\n\r\n const [categoria, setCategoria] = useState(null);\r\n\r\n const [filtro, set_filtro] = useState({\r\n inicio: \"\",\r\n fim: \"\",\r\n nome: \"\",\r\n categoria: null\r\n });\r\n\r\n const verificarIndex = (object, vetor) => {\r\n let indice = -1;\r\n vetor.map((v, index) => {\r\n if (v.id === object.idRegistro) {\r\n indice = index;\r\n }\r\n })\r\n\r\n return (indice === -1 ? -1 : indice);\r\n }\r\n\r\n const formataDados = (dados) => {\r\n return dados ? dados.toString().replaceAll(\"_\", \"\").replaceAll(\"-\", \"\").trim() : \"\";\r\n }\r\n\r\n const geraRelatorio = (data) => {\r\n const vetor = [];\r\n\r\n data.map((info, index) => {\r\n vetor.push({\r\n id: info.idRegistro,\r\n usuario: info.usuario,\r\n data: formateDateandTime(info.dataAlteracao),\r\n cnpj: info.cnpj,\r\n nomeFantasia: info.nomeFantasia,\r\n camposEditados: []\r\n });\r\n\r\n const json_antigo = JSON.parse(info.jsonAntigo);\r\n const json_novo = JSON.parse(info.jsonNovo);\r\n\r\n Object.keys(json_antigo).map(x => {\r\n if (formataDados(json_antigo[x]) !== formataDados(json_novo[x]) && !Array.isArray(json_antigo[x]) && !Array.isArray(json_novo[x])) {\r\n if (x === \"Arquivo\") {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: `${x} (${json_novo[\"NomeArquivo\"]})`, texto: `${json_novo[\"NomeArquivo\"]}` });\r\n } else {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: x, texto: { antigo: json_antigo[x], novo: json_novo[x] } });\r\n }\r\n } else if (Array.isArray(json_antigo[x]) && Array.isArray(json_novo[x])) {\r\n json_antigo[x].map(antigo => {\r\n json_novo[x].map(novo => {\r\n Object.keys(novo).map(comp => {\r\n if (formataDados(antigo[comp]) !== formataDados(novo[comp])) {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: comp, texto: { antigo: antigo[comp], novo: novo[comp] } });\r\n }\r\n })\r\n })\r\n })\r\n }\r\n })\r\n })\r\n\r\n setLogs(vetor);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (categoria == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a categoria.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n categoria: categoria?.value\r\n }\r\n\r\n setLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoTransportadores\", json_submit)\r\n .then(result => {\r\n if (result?.data?.length == 0) {\r\n set_showDetail(false);\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Não existem registros para os filtros informados.\", 'warning', null);\r\n return;\r\n }\r\n geraRelatorio(result.data);\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_showDetail(true);\r\n setLoading(false);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {logs.length > 0 && showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {logs.length === 0 &&\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Manutenção de Transpordores

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"categoria\"\r\n onChange={(e) => setCategoria(e)}\r\n value={categoria}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n {\r\n logs.length > 0 && showDetail &&\r\n <>\r\n \r\n \r\n \r\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 const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n function isDate(value) {\r\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?)?$/;\r\n return dateRegex.test(value);\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Manutenção de Transpordores {filtro?.categoria}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{`${formateDate(filtro.inicio)} a ${formateDate(filtro.fim)}`}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n }\r\n
Cadastros Atualizados
\r\n {\r\n relatorio != null && relatorio.map((value, key) => (\r\n
\r\n {value.camposEditados && value.camposEditados.length > 0 && (\r\n <>\r\n
\r\n
\r\n
\r\n Razão Social:{value.nomeFantasia === null || value.nomeFantasia === undefined ? \" Sem Razão Social\" : \" \" + value.nomeFantasia}\r\n
\r\n
\r\n CNPJ:{value.cnpj === null || value.cnpj === undefined ? \" Sem CNPJ\" : \" \" + value.cnpj}\r\n
\r\n
\r\n Usuário de Modificação:{\" \" + value.usuario}\r\n
\r\n
\r\n Data de Alteração:{\" \" + value.data}\r\n
\r\n
\r\n
\r\n {\r\n value.camposEditados && value.camposEditados.map((atualizado, key2) => (\r\n <>\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.antigo) ? moment(atualizado.texto.antigo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.antigo}\r\n
\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.novo) ? moment(atualizado.texto.novo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.novo}\r\n
\r\n \r\n ))\r\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 RelatorioManutecaoTransportadores;","import React, { useState } from 'react';\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Spinner } from \"reactstrap\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport Select from 'react-select';\r\nimport moment from \"moment\";\r\n\r\n//Services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage } from '../../../services/message';\r\n\r\n//Helpers\r\nimport { formateDate } from '../../../helpers/formats';\r\nimport { formateDateandTime, formateDateApi } from '../../../helpers/formats';\r\nimport { nomeclaturas } from '../../../helpers/nomeclaturas';\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nfunction RelatorioManutecaoDestinos({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n\r\n const [logs, setLogs] = useState([]);\r\n\r\n const [categoria, setCategoria] = useState(null);\r\n\r\n const [filtro, set_filtro] = useState({\r\n inicio: \"\",\r\n fim: \"\",\r\n nome: \"\",\r\n categoria: null\r\n });\r\n\r\n const verificarIndex = (object, vetor) => {\r\n let indice = -1;\r\n vetor.map((v, index) => {\r\n if (v.id === object.idRegistro) {\r\n indice = index;\r\n }\r\n })\r\n\r\n return (indice === -1 ? -1 : indice);\r\n }\r\n\r\n const formataDados = (dados) => {\r\n return dados ? dados.toString().replaceAll(\"_\", \"\").replaceAll(\"-\", \"\").trim() : \"\";\r\n }\r\n\r\n const geraRelatorio = (data) => {\r\n const vetor = [];\r\n\r\n data.map((info, index) => {\r\n vetor.push({\r\n id: info.idRegistro,\r\n usuario: info.usuario,\r\n data: formateDateandTime(info.dataAlteracao),\r\n cnpj: info.cnpj,\r\n nomeFantasia: info.nomeFantasia,\r\n camposEditados: []\r\n });\r\n\r\n const json_antigo = JSON.parse(info.jsonAntigo);\r\n const json_novo = JSON.parse(info.jsonNovo);\r\n\r\n Object.keys(json_antigo).map(x => {\r\n if (formataDados(json_antigo[x]) !== formataDados(json_novo[x]) && !Array.isArray(json_antigo[x]) && !Array.isArray(json_novo[x])) {\r\n if (x === \"Arquivo\") {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: `${x} (${json_novo[\"NomeArquivo\"]})`, texto: `${json_novo[\"NomeArquivo\"]}` });\r\n } else {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: x, texto: { antigo: json_antigo[x], novo: json_novo[x] } });\r\n }\r\n } else if (Array.isArray(json_antigo[x]) && Array.isArray(json_novo[x])) {\r\n json_antigo[x].map(antigo => {\r\n json_novo[x].map(novo => {\r\n Object.keys(novo).map(comp => {\r\n if (formataDados(antigo[comp]) !== formataDados(novo[comp])) {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: comp, texto: { antigo: antigo[comp], novo: novo[comp] } });\r\n }\r\n })\r\n })\r\n })\r\n }\r\n })\r\n })\r\n\r\n setLogs(vetor);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (categoria == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a categoria.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n categoria: categoria?.value\r\n }\r\n\r\n setLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoDestinos\", json_submit)\r\n .then(result => {\r\n if (result?.data?.length == 0) {\r\n set_showDetail(false);\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Não existem registros para os filtros informados.\", 'warning', null);\r\n return;\r\n }\r\n geraRelatorio(result.data);\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_showDetail(true);\r\n setLoading(false);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {logs.length > 0 && showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {logs.length === 0 &&\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Manutenção de Destino

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"categoria\"\r\n onChange={(e) => setCategoria(e)}\r\n value={categoria}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n {\r\n logs.length > 0 && showDetail &&\r\n <>\r\n \r\n \r\n \r\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 const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n function isDate(value) {\r\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?)?$/;\r\n return dateRegex.test(value);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Manutenção de Destino {filtro?.categoria}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{`${formateDate(filtro.inicio)} a ${formateDate(filtro.fim)}`}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n }\r\n
Cadastros Atualizados
\r\n {\r\n relatorio != null && relatorio.map((value, key) => (\r\n
\r\n {value.camposEditados && value.camposEditados.length > 0 && (\r\n <>\r\n
\r\n
\r\n
\r\n Razão Social:{value.nomeFantasia === null || value.nomeFantasia === undefined ? \" Sem Razão Social\" : \" \" + value.nomeFantasia}\r\n
\r\n
\r\n CNPJ:{value.cnpj === null || value.cnpj === undefined ? \" Sem CNPJ\" : \" \" + value.cnpj}\r\n
\r\n
\r\n Usuário de Modificação:{\" \" + value.usuario}\r\n
\r\n
\r\n Data de Alteração:{\" \" + value.data}\r\n
\r\n
\r\n
\r\n {\r\n value.camposEditados && value.camposEditados.map((atualizado, key2) => (\r\n <>\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o AlteraCampos*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.antigo) ? moment(atualizado.texto.antigo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.antigo}\r\n
\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.novo) ? moment(atualizado.texto.novo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.novo}\r\n
\r\n \r\n ))\r\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 RelatorioManutecaoDestinos;"," const cpfMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 6) {\r\n value = num.replace(/(\\d{3})(\\d{1,3})/g, '$1.$2')\r\n } else if (value.length <= 9) {\r\n value = num.replace(/(\\d{3})(\\d{3})(\\d{1,3})/g, '$1.$2.$3')\r\n } else {\r\n value = num.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{1,2})/g, '$1.$2.$3-$4')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cnpjMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '');\r\n if (!noMask) {\r\n if (value.length <= 5) {\r\n value = num.replace(/(\\d{2})(\\d{1,3})/g, '$1.$2')\r\n } else if (value.length <= 8) {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{1,3})/g, '$1.$2.$3')\r\n } else if (value.length <= 12) {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{1,4})/g, '$1.$2.$3/$4')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{1,4})(\\d{1,2})/g, '$1.$2.$3/$4-$5')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cpfcnpjMask = (_value = \"\", noMask = false) => {\r\n let value = _value != null ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '');\r\n if (!noMask) {\r\n const tamanho = num.length;\r\n if (tamanho <= 11) {\r\n value = cpfMask(num);\r\n return value;\r\n } else if (tamanho <= 14) {\r\n value = cnpjMask(num);\r\n return value;\r\n } else {\r\n return value.substr(0, 18);\r\n }\r\n }\r\n return num;\r\n}\r\nconst celularMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 7) {\r\n value = num.replace(/(\\d{1,2})(\\d{1,5})/g, '($1)$2')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{5})(\\d{1,4})/g, '($1)$2-$3')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst telefoneMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 6) {\r\n value = num.replace(/(\\d{1,2})(\\d{1,4})/g, '($1)$2')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{4})(\\d{1,4})/g, '($1)$2-$3')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cepMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 5) {\r\n value = num.replace(/(\\d{1,5})/g, '$1')\r\n } else {\r\n value = num.replace(/(\\d{5})(\\d{1,3})/g, '$1-$2')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst horaMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"00:00\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 2) {\r\n value = num.replace(/(\\d{1,2})/g, '$1')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{1,2})/g, '$1:$2')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst floatMask = (_value) => {\r\n let value = _value ? _value : \"0,00\";\r\n value = value.toString();\r\n if (value.length == 1) {\r\n value = value + \"00\"\r\n }\r\n\r\n value = value.replace(/\\D/g, '');\r\n if (value === '') {\r\n value = '0.00'\r\n }\r\n value = (parseFloat(value) / 100).toFixed(2) + '';\r\n\r\n value = value.replace(\".\", \",\");\r\n\r\n value = value.replace(/(d)(d{3})(d{3}),/g, \"$1.$2.$3,\");\r\n\r\n value = value.replace(/(d)(d{3}),/g, \"$1.$2,\");\r\n\r\n value = value;\r\n\r\n return value\r\n}\r\nconst numeroMask = (_value = \"\") => {\r\n\r\n let value = _value ? _value.toString() : \"\";\r\n if (value) {\r\n const v = value.replace(/\\D/g, \"\")\r\n value = v\r\n }\r\n\r\n return value\r\n}\r\nconst ufMask = (_value) => {\r\n let value = _value ? _value : \"\";\r\n const v = value.replace(/[^a-zA-Z]/g, '');\r\n value = v;\r\n return value;\r\n}\r\nconst placaMask = (_value) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^0-9a-zA-Z]/g, '');\r\n if (value.length <= 3) {\r\n value = num.replace(/(\\w{1,3})/g, '$1');\r\n } else {\r\n value = num.replace(/(\\w{3})(\\w{1,4})/g, '$1-$2');\r\n }\r\n return value\r\n}\r\n\r\nexport default { cpfMask, cnpjMask, cpfcnpjMask, celularMask, telefoneMask, cepMask, horaMask, floatMask, numeroMask, ufMask, placaMask }\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { Promise } from \"xlsx-populate\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Nav, NavItem, NavLink, TabPane, TabContent, Container } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { isValidCPF, isValidCNPJ } from \"../../helpers/valid.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { InputCNPJ } from \"../../services/mask.js\";\r\nimport TextField from \"../../components/TextField/TextField.jsx\";\r\nimport mascaras from \"../../helpers/mascaras.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function DadosPrimarios({ opcao }) {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n\r\n const [cpf_cnpj, setCpf_cnpj] = useState({\r\n valor: \"\"\r\n });\r\n\r\n const [errorCpfCnpj, setErrorCpf_cnpj] = useState(false);\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"PJ\");\r\n const [setupSolicitacaoAcaoPJ, set_setupSolicitacaoAcaoPJ] = React.useState(null);\r\n const [setupSolicitacaoAcaoPF, set_setupSolicitacaoAcaoPF] = React.useState(null);\r\n const [setupSolicitacaoAcaoPB, set_setupSolicitacaoAcaoPB] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n useEffect(() => {\r\n const options_h1 = [{\r\n option: \"PJ\",\r\n set: (data) => set_setupSolicitacaoAcaoPJ(data)\r\n }, {\r\n option: \"PB\",\r\n set: (data) => set_setupSolicitacaoAcaoPB(data)\r\n }, {\r\n option: \"PF\",\r\n set: (data) => set_setupSolicitacaoAcaoPF(data)\r\n }];\r\n\r\n Promise.all([\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Jurídica`).catch(err => null),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Pública`).catch(err => null),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Física`).catch(err => null)\r\n ]).then((values) => {\r\n let index_h1 = -1;\r\n for (let index = 0; index < values.length; index++) {\r\n if (values[index] && values[index].status === 200 && values[index].data != null) {\r\n options_h1[index].set(values[index].data);\r\n if (index_h1 === -1) {\r\n index_h1 = index;\r\n }\r\n }\r\n }\r\n\r\n if (index_h1 !== -1) {\r\n set_h1_tab(options_h1[index_h1].option);\r\n }\r\n })\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.email != data.confirmarEmail) {\r\n showMessage(\"Aviso\", \"O email e a confirmação de email não conferem!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (h1_tab != \"PF\" && !isValidCNPJ(data.cnpj)) {\r\n showMessage(\"Aviso\", \"CNPJ inválido!\", 'error', null);\r\n return;\r\n }\r\n\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.trim().length == 0) {\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.length > 11 && !isValidCNPJ(cpf_cnpj.valor)) {\r\n showMessage(\"Aviso\", \"CNPJ inválido!\", 'error', null);\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.length <= 11 && !isValidCPF(cpf_cnpj.valor)) {\r\n showMessage(\"Aviso\", \"CPF inválido!!\", 'error', null);\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n requerimento_Id: 0,\r\n nomeSolicitante: h1_tab == \"PF\" ? data.nome : data.fantasia,\r\n email: data.email,\r\n cpf_Cnpj: h1_tab == \"PF\" ? cpf_cnpj.valor : data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n protocolo_Id: 0,\r\n setupSolicitacaoAcao_Id: h1_tab == \"PJ\" ? setupSolicitacaoAcaoPJ.setupSolicitacaoAcao_Id : (h1_tab == \"PB\" ? setupSolicitacaoAcaoPB.setupSolicitacaoAcao_Id : setupSolicitacaoAcaoPF.setupSolicitacaoAcao_Id),\r\n tipoPessoa: h1_tab == \"PJ\" ? \"Pessoa Jurídica (Privado)\" : h1_tab == \"PB\" ? \"Pessoa Jurídica (Público)\" : \"Pessoa Física / MEI\",\r\n protocolo: {\r\n numeroProtocolo: \"\",\r\n nomeSolicitante: h1_tab == \"PF\" ? data.nome : data.fantasia,\r\n email: data.email,\r\n cpf_Cnpj: h1_tab == \"PF\" ? cpf_cnpj.valor : data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n tipoPessoa: h1_tab == \"PJ\" ? \"Pessoa Jurídica (Privado)\" : h1_tab == \"PB\" ? \"Pessoa Jurídica (Público)\" : \"Pessoa Física / MEI\",\r\n status: \"Pendente\",\r\n senha: Math.random().toString(36).slice(-8),\r\n }\r\n }\r\n\r\n setLoading(true);\r\n api_POST('Requerimento/PostRequerimentoProtocolo', json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n set_protocolo(result.data);\r\n showMessage(\"Aviso\", \"Sua solicitação de cadastro foi criada com sucesso! Enviamos um e-mail contendo o link para completar o cadastro.\", 'success', null);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onChange = (e) => {\r\n const { name, value } = e.target;\r\n setCpf_cnpj({ [name]: value });\r\n setErrorCpf_cnpj(false)\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n {protocolo == null &&\r\n \r\n
\r\n

Dados Primários

\r\n
{opcao.descricao}
\r\n \r\n \r\n \r\n {(h1_tab == \"PJ\" && setupSolicitacaoAcaoPJ != null) &&\r\n \r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.confirmarEmail && * Campo Obrigatório}\r\n \r\n \r\n {opcao.sigla == \"RGG\" &&\r\n \r\n Atenção: \r\n Informe o e-mail do {opcao && opcao.segmento?.toLowerCase()}. Esta informação é ultilizada para acesso e operação no sistema.\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n {(h1_tab == \"PB\" && setupSolicitacaoAcaoPB != null) &&\r\n \r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.confirmarEmail && * Campo Obrigatório}\r\n \r\n \r\n {opcao.sigla == \"RGG\" &&\r\n \r\n Atenção: \r\n Informe o e-mail do {opcao && opcao.segmento?.toLowerCase()}. Esta informação é ultilizada para acess0 e operação no sistema.\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n
\r\n {(h1_tab == \"PF\" && setupSolicitacaoAcaoPF != null) &&\r\n \r\n \r\n \r\n \r\n \r\n {errorCpfCnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.nome && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.confirmarEmail && * Campo Obrigatório}\r\n \r\n \r\n {opcao.sigla == \"RGG\" &&\r\n \r\n Atenção: \r\n Informe o e-mail do Gerador. Esta informação é ultilizada para acesso e operação no sistema.\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n {protocolo != null &&\r\n \r\n \r\n \r\n

\r\n Solicitação enviada com Sucesso\r\n

\r\n
\r\n

Verifique sua caixa de email
para darmos continuidade no cadastro.

\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Card, CardHeader, CardBody, CardFooter, Row, Col, Button, Tooltip } from \"reactstrap\";\r\n\r\nexport default function CardOpcaoCadastro({ opcao, handleClickOpcao, indice }) {\r\n const [tooltipOpen, setTooltipOpen] = useState(false);\r\n return (\r\n <>\r\n \r\n \r\n
\r\n \r\n ?\r\n \r\n
\r\n \r\n {opcao.descricao == \"RSS\" ? opcao.segmento.replace(\"Grande\", \"\") : opcao.segmento}\r\n
\r\n {opcao.descricao}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n { setTooltipOpen(!tooltipOpen) }}\r\n >\r\n {opcao.detalhes}\r\n \r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport { Card, CardHeader, CardBody, CardFooter, Col, Button } from \"reactstrap\";\r\n\r\n\r\nexport default function CardIntegracao({ integracao, handleClickIntegacao }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {integracao == \"RCC\" ? : integracao == \"RSS\" ? : }\r\n {integracao == \"RCC\" ? \"Cadastro de RCC\" : integracao == \"RGG\" ? \"Cadastro de RGG\" : \"Cadastro de RSS\"}\r\n \r\n
\r\n \r\n {integracao == \"RCC\" ? \"Cadastramento de geradores, transportadoras e destinos final da construção civil\" : integracao == \"RGG\" ? \"Cadastramento de Grandes Geradores, transportadoras e destinatário da coleta privada\" : \"Cadastramento de geradores de resíduos de saúde\"}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n }","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_POST, api_GET } from \"../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function Declaracao({ item, handleFinalizarCadastro, handleStepAnterior }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [declaracao, set_declaracao] = React.useState(\"\");\r\n\r\n useEffect(() => {\r\n set_requerimento(item);\r\n api_GET('setupsolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => set_declaracao(result.data.descricaoDeclaracao))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.checkDeclaracao != true) {\r\n showMessage(\"Aviso\", \"Você não pode confirmar o cadastro sem aceitar a declaração!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = requerimento;\r\n json_submit.protocolo = null;\r\n json_submit.textoDeclaracao = declaracao;\r\n\r\n setLoading(true);\r\n api_POST('requerimento/PostConfirmarDeclaracao ', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Seu cadastro foi concluído e será analisado por \" + setupSistema?.identificacao + \". Você receberá todas as informações por email.\", 'success', function () { handleFinalizarCadastro(requerimento) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n

Declaração

\r\n \r\n \r\n \r\n {declaracao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function ListaVeiculosExclusao({ item, protocolo, handleProximoStep }) {\r\n const {setLoading} = useAuth();\r\n\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [veiculos, set_veiculos] = React.useState([]);\r\n const [veiculosExcluir, setVeiculosExcluir] = React.useState([]);\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (protocolo != null && protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo != null) {\r\n set_veiculos(protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo);\r\n }\r\n if (item != null && item.requerimentoTransportadorVeiculo != null) {\r\n setVeiculosExcluir(item.requerimentoTransportadorVeiculo);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItemRequerimento();\r\n }, [protocolo]);\r\n\r\n const handleAvancar = () => {\r\n if (veiculosExcluir.length > 1 && item?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RGG\" && item?.setupSolicitacaoAcao?.acao == \"Exclusão\") {\r\n showMessage(\"Aviso\", \"Selecione apenas um veículo para excluir!\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (veiculosExcluir.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os veículos que deseja excluir!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n veiculosExcluir.map(m => {\r\n json_submit.push(m.protocoloTransportadorVeiculo_Id);\r\n })\r\n\r\n setLoading(true);\r\n api_POST(`requerimentoTransportador/PostRequerimentoTransportadorExclusaoVeiculo/${registro.requerimento_Id}`, json_submit)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Veículos

\r\n
\r\n \r\n \r\n setVeiculosExcluir(rows)}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != null &&\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function ListaVeiculosExclusao({ item, protocolo, handleProximoStep }) {\r\n const { setLoading } = useAuth();\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais, set_locais] = React.useState([]);\r\n const [locaisExcluir, setLocaisExcluir] = React.useState([]);\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (protocolo != null && protocolo.protocoloGerador[0].protocoloGeradorLocais != null) {\r\n set_locais(protocolo.protocoloGerador[0].protocoloGeradorLocais);\r\n }\r\n if (item != null && item.requerimentoGeradorLocal != null) {\r\n setLocaisExcluir(item.requerimentoGeradorLocal);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItemRequerimento();\r\n }, [protocolo]);\r\n\r\n const handleAvancar = () => {\r\n if (locaisExcluir.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os locais que deseja excluir!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n locaisExcluir.map(m => {\r\n json_submit.push(m.protocoloGeradorLocal_Id);\r\n })\r\n\r\n setLoading(true);\r\n api_POST(`requerimentoGerador/PostRequerimentoGeradorExclusaoLocal/${registro.requerimento_Id}`, json_submit)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Locais de Coleta

\r\n
\r\n \r\n \r\n setLocaisExcluir(rows)}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != null &&\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function ListaLocaisExclusao({ item, protocolo, handleProximoStep }) {\r\n const {setLoading} = useAuth();\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais, set_locais] = React.useState([]);\r\n const [locaisExcluir, setLocaisExcluir] = React.useState([]);\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (protocolo != null && protocolo.protocoloDestino[0].protocoloDestinoLocais != null) {\r\n set_locais(protocolo.protocoloDestino[0].protocoloDestinoLocais);\r\n }\r\n if (item != null && item.requerimentoDestinoLocais != null) {\r\n setLocaisExcluir(item.requerimentoDestinoLocais);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItemRequerimento();\r\n }, [protocolo]);\r\n\r\n const handleAvancar = () => {\r\n if (locaisExcluir.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os locais que deseja excluir!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n locaisExcluir.map(m => {\r\n json_submit.push(m.protocoloDestinoLocal_Id);\r\n })\r\n\r\n setLoading(true);\r\n api_POST(`requerimentoDestino/PostRequerimentoDestinoExclusaoLocal/${registro.requerimento_Id}`, json_submit)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Locais

\r\n
\r\n \r\n \r\n setLocaisExcluir(rows)}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != null &&\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useState } from 'react';\r\n\r\nfunction Legislacao() {\r\n const [legislacoes, setLegislacoes] = useState([\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 17.433/20 - criou a Agência Reguladora de Serviços Públicos do Município de São Paulo – SP Regula,\r\n sob a forma de autarquia em regime especial vinculada ao Gabinete do Prefeito, que possui autonomia administrativa,\r\n financeira e orçamentária, sendo responsável pela regulação e fiscalização dos serviços delegados da cidade de São Paulo,\r\n e ainda os Decretos 60.173/2021, 61.425/2022; 60.941/2021 e 61.036/2022,\r\n que estabelecem dentre outras as competências e atribuições para os serviços de limpeza urbana bem como as posturas municipais.\r\n

\r\n

\r\n A SP REGULA cabe a fiscalização dos serviços delegados, autorizados consoante a Lei 17.433/20 bem como os decretos regulamentadores 60.173/2021; 61.425/2022; 60.941/2021 e 61.036/2022\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 13.478/2002 - Dispõe sobre a organização do Sistema de Limpeza Urbana do Município de São Paulo;\r\n cria e estrutura seu órgão regulador;\r\n autoriza o Poder Público a delegar a execução dos serviços públicos mediante concessão ou permissão; institui a Taxa de Resíduos Sólidos Domiciliares - TRSD,\r\n a Taxa de Resíduos Sólidos de Serviços de Saúde - TRSS e a Taxa de Fiscalização dos Serviços de Limpeza Urbana - FISLURB;\r\n cria o Fundo Municipal de Limpeza Urbana - FMLU, e dá outras providências.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 17.433/2020 - Dispõe sobre a reorganização da Administração Pública Municipal Indireta, incluindo a criação da Agência Reguladora de Serviços Públicos do Município de São Paulo – SP Regula.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 14.803/2008 - Dispõe sobre o Plano Integrado de Gerenciamento dos Resíduos da Construção Civil e Resíduos Volumosos e seus componentes, o Programa Municipal de Gerenciamento e Projetos de Gerenciamento de Resíduos da Construção Civil conforme previstos na Resolução CONAMA nº 307/2002, disciplina a ação dos geradores e transportadores destes resíduos no âmbito do Sistema de Limpeza Urbana do Município de São Paulo e dá outras providências.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 60.941/2021 - Dispõe sobre a inventariança e a transferência de direitos, obrigações e de bens da Autoridade Municipal de Limpeza Urbana - AMLURB, especifica as competências definidas no Decreto nº 60.353, de 30 de junho de 2021, e altera disposições.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 61.425/2022 - Dispõe sobre o Regimento Interno da Agência Reguladora de Serviços Públicos do Município de São Paulo - SP Regula.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 61.036/2022 - Dispõe sobre a reorganização da Secretaria Executiva de Planejamento e Entregas Prioritárias – SEPEP, da Secretaria de Governo Municipal, e a criação e organização da Secretaria Executiva de Limpeza Urbana – SELIMP, na Secretaria Municipal das Subprefeituras, bem como altera a denominação e a lotação dos cargos de provimento em comissão que especifica.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 46.594/2005 - REGULAMENTA, DE ACORDO COM A RESOLUÇÃO CONAMA Nº 307, DE 5 DE JULHO DE 2002, A COLETA, O TRANSPORTE, O TRATAMENTO E A DISPOSIÇÃO FINAL DOS RESÍDUOS DA CONSTRUÇÃO CIVIL, DE QUE TRATA A LEI Nº 13.478, DE 30 DE DEZEMBRO DE 2002, COM AS ALTERAÇÕES POSTERIORES. (Redação dada pelo Decreto nº 57.662/2017).\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 57.662/2017 - Introduz alterações no Decreto nº 46.594, de 3 de novembro de 2005, que regulamenta a coleta, o transporte, o tratamento e a disposição final de resíduos inertes, de que trata a Lei nº 14.478, de 30 de dezembro de 2002, com suas alterações subsequentes.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 58.701/2019 - Regulamenta os artigos 123, 140, 141 e 142 da Lei nº 13.478, de 30 de dezembro de 2002, que dispõe sobre a organização do Sistema de Limpeza Urbana do Município de São Paulo, fixa competências voltadas à fiscalização das posturas municipais e à aplicação das respectivas penalidades previstas na referida lei, bem como revoga os decretos que especifica.\r\n

\r\n
\r\n )\r\n }\r\n ]);\r\n\r\n return
\r\n {legislacoes.map((value, index) => {\r\n const Component = value.texto;\r\n return
\r\n \r\n
\r\n })}\r\n
\r\n}\r\n\r\nexport default Legislacao;","import { useAuth } from 'context/auth'\r\nimport React from 'react'\r\n\r\nexport default function LogoSistema({ identificacaoLogo, width, style = {}, className = \"\" }) {\r\n const { setupSistema } = useAuth();\r\n\r\n return (\r\n <>\r\n {identificacaoLogo == \"logotipo\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logoSecundario\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logotipoBranco\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logoSecretariaBranco\" &&\r\n \r\n }\r\n \r\n )\r\n}","//Área Restrita\r\nimport Login from \"../views/Auth/Login.jsx\";\r\nimport EsqueceuSenha from \"../views/Auth/EsqueceuSenha.jsx\";\r\nimport TrocarSenha from \"../views/Auth/TrocarSenha.jsx\";\r\nimport Inicio from \"../views/Acompanhamento/Inicio.jsx\";\r\nimport Dashboard from '../views/Dashboard/Dashboard.jsx'\r\nimport ManutencaoForm from \"../views/Manutencao/ManutencaoForm.jsx\";\r\nimport AgendamentoVistoriaLista from \"../views/Acompanhamento/AgendamentoVistoriaLista.jsx\";\r\nimport ExportacaoLauda from \"../views/Acompanhamento/ExportacaoLauda.jsx\";\r\nimport ConsultaCadastro from \"../views/Consulta/ConsultaCadastro.jsx\";\r\nimport ConsultaVeiculo from \"../views/Consulta/ConsultaVeiculo.jsx\"\r\nimport ManutencaoTransportadorLista from \"../views/Manutencao/Transportador/ManutencaoTransportadorLista.jsx\";\r\nimport ManutencaoGeradorLista from \"../views/Manutencao/Gerador/ManutencaoGeradorLista.jsx\";\r\nimport ManutencaoGeradorRSSLista from \"../views/Manutencao/GeradorRSS/ManutencaoGeradorRSSLista.jsx\";\r\nimport ManutencaoDestinoLista from \"../views/Manutencao/Destino/ManutencaoDestinoLista.jsx\";\r\nimport CadastroEnquadramento from \"../views/Cadastros/CadastroEnquadramento.jsx\";\r\nimport CadastroDocumentos from \"../views/Cadastros/CadastroDocumentos.jsx\";\r\nimport CadastroSolicitacaoLista from \"../views/Cadastros/CadastroSolicitacaoLista.jsx\";\r\nimport CadastroFluxoLista from \"../views/Cadastros/CadastroFluxoLista.jsx\";\r\nimport CadastroSubPrefeitura from \"../views/Cadastros/CadastroSubPrefeitura.jsx\";\r\nimport CadastroClassesResiduosLista from \"../views/Cadastros/CadastroClassesResiduosLista.jsx\";\r\nimport CadastroSetupAgendaVistoria from \"../views/Cadastros/CadastroSetupAgendaVistoria.jsx\";\r\nimport CadastroDiasNaoUteis from \"../views/Cadastros/CadastroDiasNaoUteis.jsx\";\r\nimport PerfilLista from \"../views/Seguranca/PerfilLista.jsx\";\r\nimport UsuarioLista from \"../views/Seguranca/UsuarioLista.jsx\";\r\nimport RelatoriosLista from \"../views/Relatorios/RelatoriosLista.jsx\";\r\n\r\n// Potal\r\nimport PortalOpcoes from \"../views/Portal/Opcoes.jsx\";\r\nimport RequerimentoCancelamento from \"../views/Portal/RequerimentoCancelamento.jsx\";\r\nimport ConsultaRequerimento from \"../views/Consulta/ConsultaRequerimento.jsx\";\r\nimport AnexoComprovantePagamento from \"../views/Portal/AnexoComprovantePagamento.jsx\";\r\nimport AgendamentoVistoriaPortal from \"../views/Portal/AgendamentoVistoriaPortal.jsx\";\r\nimport ImplantacaoDatasys from \"../views/Layouts/ImplantacaoDatasys.jsx\";\r\n\r\n// Portal Transportador\r\nimport TransportadorRequerimentoNovoCadastro from \"../views/Portal/Transportador/RequerimentoNovoCadastro.jsx\";\r\nimport TransportadorRequerimentoRenovacaoCadastro from \"../views/Portal/Transportador/RequerimentoRenovacaoCadastro.jsx\";\r\nimport TransportadorRequerimentoInclusaoVeiculo from \"../views/Portal/Transportador/RequerimentoInclusaoVeiculo.jsx\";\r\nimport TransportadorRequerimentoExclusaoVeiculo from \"../views/Portal/Transportador/RequerimentoExclusaoVeiculo.jsx\";\r\nimport TransportadorRequerimentoAlteracao from \"../views/Portal/Transportador/RequerimentoAlteracao.jsx\";\r\nimport TransportadorRequerimentoAlteracaoEquipamentos from \"../views/Portal/Transportador/RequerimentoAlteracaoEquipamentos.jsx\";\r\nimport TransportadorRequerimentoAlteracaoIdentificacao from \"../views/Portal/Transportador/RequerimentoAlteracaoIdentificacao.jsx\";\r\nimport MeuCadastro from \"../views/Portal/MeuCadastro.jsx\";\r\n\r\n\r\n// Portal Gerador\r\nimport GeradorRequerimentoNovoCadastro from \"../views/Portal/Gerador/RequerimentoNovoCadastro.jsx\";\r\nimport GeradorRequerimentoRenovacaoCadastro from \"../views/Portal/Gerador/RequerimentoRenovacaoCadastro.jsx\";\r\nimport GeradorRequerimentoInclusaoLocal from \"../views/Portal/Gerador/RequerimentoInclusaoLocal.jsx\";\r\nimport GeradorRequerimentoExclusaoLocal from \"../views/Portal/Gerador/RequerimentoExclusaoLocal.jsx\";\r\nimport GeradorRequerimentoAlteracaoCadastro from \"../views/Portal/Gerador/RequerimentoAlteracaoCadastro.jsx\";\r\n\r\n// Portal Gerador RSS\r\nimport GeradorRSSRequerimentoNovoCadastro from \"../views/Portal/GeradorRSS/RequerimentoNovoCadastro.jsx\";\r\nimport GeradorRSSRequerimentoAlteracao from \"../views/Portal/GeradorRSS/RequerimentoAlteracao.jsx\";\r\n\r\n// Portal Destino\r\nimport DestinoRequerimentoNovoCadastro from \"../views/Portal/Destino/RequerimentoNovoCadastro.jsx\";\r\nimport DestinoRequerimentoInclusaoLocal from \"../views/Portal/Destino/RequerimentoInclusaoLocal.jsx\";\r\nimport DestinoRequerimentoRenovacao from \"../views/Portal/Destino/RequerimentoRenovacaoCadastro.jsx\";\r\nimport DestinoRequerimentoExclusaoLocal from \"../views/Portal/Destino/RequerimentoExclusaoLocal.jsx\";\r\nimport DestinoRequerimentoAlteracao from \"../views/Portal/Destino/RequerimentoAlteracao.jsx\";\r\nimport DestinoRequerimentoAumentoCapacidade from \"../views/Portal/Destino/RequerimentoAumentoCapacidade.jsx\";\r\n\r\nimport Duvidas from \"../views/Portal/Duvidas\";\r\nimport Legislacao from \"../views/Portal/Legislacao/index.jsx\";\r\nimport AtualizarContato from '../views/Shared/AtualizarContato.jsx';\r\n\r\n//Carterinhas\r\nimport CarteirinhaVeiculo from \"../views/Carteirinha/CarteirinhaVeiculo.jsx\";\r\nimport CarteirinhaGG from \"../views/Carteirinha/CarteirinhaGG.jsx\";\r\nimport CertificadoTransportador from \"../views/Carteirinha/CertificadoTransportador.jsx\";\r\nimport CertificadoRSS from \"../views/Carteirinha/CertificadoRSS.jsx\";\r\nimport CertificadoTransportadorUnificado from \"../views/Carteirinha/CertificadoTransportadorUnificado.jsx\";\r\nimport CertificadoDestino from \"../views/Carteirinha/CertificadoDestino.jsx\";\r\nimport CertificadoDestinoRGG from \"../views/Carteirinha/CertificadoDestinoRGG.jsx\";\r\nimport QrCodeLocalidadeRGG from \"../views/Carteirinha/QrCodelocalidadeRGG.jsx\";\r\n\r\nvar routes = [\r\n {\r\n path: \"/login\",\r\n name: \"Login\",\r\n icon: \"fas fa-chart-line\",\r\n component: Login,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/esqueceusenha\",\r\n name: \"EsqueceuSenha\",\r\n icon: \"\",\r\n component: EsqueceuSenha,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/trocarsenha\",\r\n name: \"TrocarSenha\",\r\n icon: \"\",\r\n component: TrocarSenha,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/inicio\",\r\n name: \"Inicio\",\r\n icon: \"fas fa-chart-line\",\r\n component: Inicio,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/dashboard\",\r\n name: \"Dashboard\",\r\n codigoPermissaoAcesso: \"Dashboard\",\r\n icon: \"fas fa-file-contract\",\r\n component: Dashboard,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Manutencao\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção\",\r\n icon: \"fas fa-pen\",\r\n component: ManutencaoForm,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/ConsultaCadastro\",\r\n codigoPermissaoAcesso: \"ConsultaCadastro\",\r\n name: \"Consulta Cadastro\",\r\n icon: \"fas fa-search\",\r\n component: ConsultaCadastro,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/ConsultaVeiculos\",\r\n codigoPermissaoAcesso: \"ConsultaVeiculo\",\r\n name: \"Consulta Veículos\",\r\n icon: \"fas fa-car\",\r\n component: ConsultaVeiculo,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/AgendamentoVistoria\",\r\n codigoPermissaoAcesso: \"AgendaVistoria\",\r\n name: \"Agenda de Vistoria\",\r\n icon: \"fas fa-calendar-alt\",\r\n component: AgendamentoVistoriaLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/ExportacaoLauda\",\r\n codigoPermissaoAcesso: \"ExportacaoLauda\",\r\n name: \"Exportação de Lauda\",\r\n icon: \"fas fa-file-export\",\r\n component: ExportacaoLauda,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/manutencaotransportador\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Transportador\",\r\n icon: \"fas fa-truck\",\r\n component: ManutencaoTransportadorLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/manutencaogerador\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Gerador\",\r\n icon: \"fas fa-store-alt\",\r\n component: ManutencaoGeradorLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/manutencaogeradorrss\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Gerador RSS\",\r\n icon: \"fas fa-store-alt\",\r\n component: ManutencaoGeradorRSSLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/manutencaodestino\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Destino Final\",\r\n icon: \"fas fa-store-alt\",\r\n component: ManutencaoDestinoLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CadastroEnquadramento\",\r\n codigoPermissaoAcesso: \"CadastroEnquadramento\",\r\n name: \"Enquadramentos\",\r\n icon: \"fas fa-puzzle-piece\",\r\n component: CadastroEnquadramento,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroDocumentos\",\r\n codigoPermissaoAcesso: \"CadastroDocumentos\",\r\n name: \"Documentos\",\r\n icon: \"fas fa-file-alt\",\r\n component: CadastroDocumentos,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroSolicitacao\",\r\n codigoPermissaoAcesso: \"CadastroSolicitacao\",\r\n name: \"Configuração Solicitação\",\r\n icon: \"fas fa-cog\",\r\n component: CadastroSolicitacaoLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroFluxo\",\r\n codigoPermissaoAcesso: \"CadastroFluxo\",\r\n name: \"Fluxo de Cadastro\",\r\n icon: \"fas fa-sitemap\",\r\n component: CadastroFluxoLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroSubPrefeitura\",\r\n codigoPermissaoAcesso: \"CadastroSubPrefeitura\",\r\n name: \"SubPrefeitura\",\r\n icon: \"fas fa-university\",\r\n component: CadastroSubPrefeitura,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroClassesResiduos\",\r\n codigoPermissaoAcesso: \"CadastroClassesResiduos\",\r\n name: \"Classes e Resíduos\",\r\n icon: \"fas fa-recycle\",\r\n component: CadastroClassesResiduosLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroSetupAgendaVistoria\",\r\n codigoPermissaoAcesso: \"SetupAgenda\",\r\n name: \"Setup Agenda\",\r\n icon: \"fas fa-calendar\",\r\n component: CadastroSetupAgendaVistoria,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroDiasNaoUteis\",\r\n codigoPermissaoAcesso: \"CadastroDiasNaoUteis\",\r\n name: \"Dias Não Úteis\",\r\n icon: \"far fa-calendar-times\",\r\n component: CadastroDiasNaoUteis,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Perfis\",\r\n codigoPermissaoAcesso: \"Perfis\",\r\n name: \"Cadastro de Perfil\",\r\n icon: \"fas fa-users\",\r\n component: PerfilLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Usuarios\",\r\n codigoPermissaoAcesso: \"Usuarios\",\r\n name: \"Cadastro de Usuários\",\r\n icon: \"fas fa-user\",\r\n component: UsuarioLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Relatorios\",\r\n codigoPermissaoAcesso: \"Relatorios\",\r\n name: \"Relatórios\",\r\n icon: \"fas fa-file-alt\",\r\n component: RelatoriosLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Opcoes\",\r\n name: \"Opções\",\r\n component: PortalOpcoes,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/duvidas\",\r\n name: \"Duvidas\",\r\n component: Duvidas,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/legislacoes\",\r\n name: \"Legislação\",\r\n component: Legislacao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimento\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoRenovacao\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoRenovacaoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoInclusaoVeiculo\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoInclusaoVeiculo,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoExclusaoVeiculo\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoExclusaoVeiculo,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoAlteracao\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoAlteracao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoAlteracaoIdentificacao\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoAlteracaoIdentificacao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/AtualizarContato\",\r\n name: \"Atualizar Contato\",\r\n component: AtualizarContato,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoAlteracaoEquipamentos\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoAlteracaoEquipamentos,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/MeuCadastro\",\r\n name: \"Meu Cadastro\",\r\n component: MeuCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/ConsultaRequerimento\",\r\n name: \"Consulta de Requerimento\",\r\n icon: \"fas fa-search\",\r\n component: ConsultaRequerimento,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CarteirinhaVeiculo\",\r\n name: \"Carteirinha\",\r\n icon: \"\",\r\n component: CarteirinhaVeiculo,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimento\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoRenovacao\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoRenovacaoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoInclusaoLocal\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoInclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoExclusaoLocal\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoExclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoAlteracaoCadastro\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoAlteracaoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CarteirinhaGG\",\r\n name: \"Carteirinha\",\r\n icon: \"\",\r\n component: CarteirinhaGG,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/QrCodelocalidadeRGG\",\r\n name: \"Carteirinha\",\r\n icon: \"\",\r\n component: QrCodeLocalidadeRGG,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRSSRequerimento\",\r\n name: \"Gerador\",\r\n component: GeradorRSSRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRSSRequerimentoAlteracao\",\r\n name: \"Gerador\",\r\n component: GeradorRSSRequerimentoAlteracao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimento\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoInclusaoLocal\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoInclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoRenovacao\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoRenovacao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoExclusaoLocal\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoExclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoAlteracao\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoAlteracao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoAumentoCapacidade\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoAumentoCapacidade,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoRSS\",\r\n name: \"CertificadoRSS\",\r\n icon: \"\",\r\n component: CertificadoRSS,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoTransportador\",\r\n name: \"CertificadoTransportador\",\r\n icon: \"\",\r\n component: CertificadoTransportador,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoTransportadorUnificado\",\r\n name: \"CertificadoTransportadorUnificado\",\r\n icon: \"\",\r\n component: CertificadoTransportadorUnificado,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoDestino\",\r\n name: \"CertificadoDestino\",\r\n icon: \"\",\r\n component: CertificadoDestino,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CateirinhaDestinoRGG\",\r\n name: \"CertificadoDestinoRGG\",\r\n icon: \"\",\r\n component: CertificadoDestinoRGG,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/RequerimentoCancelamento\",\r\n name: \"Cancelamento\",\r\n component: RequerimentoCancelamento,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/ComprovantePagamento\",\r\n name: \"Comprovante de Pagamento\",\r\n icon: \"\",\r\n component: AnexoComprovantePagamento,\r\n layout: \"/external\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/AgendamentoVistoria\",\r\n name: \"Agendamento de Vistoria\",\r\n icon: \"\",\r\n component: AgendamentoVistoriaPortal,\r\n layout: \"/external\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/prototipo\",\r\n name: \"Implantação Datasys\",\r\n icon: \"\",\r\n component: ImplantacaoDatasys,\r\n layout: \"/external\",\r\n sidebar: false\r\n },\r\n\r\n];\r\nexport default routes;\r\n","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Nav } from \"reactstrap\";\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\n\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\nvar ps;\r\n\r\n\r\nclass Sidebar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.activeRoute.bind(this);\r\n this.sidebar = React.createRef();\r\n }\r\n activeRoute(routeName) {\r\n return this.props.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"\";\r\n }\r\n componentDidMount() {\r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps = new PerfectScrollbar(this.sidebar.current, {\r\n suppressScrollX: true,\r\n suppressScrollY: false,\r\n });\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps.destroy();\r\n }\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n Gestão de Cadastros\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Sidebar;\r\n","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport Navbar from \"components/Navbars/Navbar\";\r\nimport Footer from \"components/Footer/Footer\";\r\nimport Sidebar from \"components/Sidebar/Sidebar\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\n\r\nvar ps;\r\n\r\nclass Admin extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n backgroundColor: \"black\",\r\n activeColor: \"info\",\r\n };\r\n this.mainPanel = React.createRef();\r\n }\r\n componentDidMount() {\r\n this.validaPermissaoAcesso(); \r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps = new PerfectScrollbar(this.mainPanel.current);\r\n document.body.classList.toggle(\"perfect-scrollbar-on\");\r\n }\r\n }\r\n componentWillUnmount() { \r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps.destroy();\r\n document.body.classList.toggle(\"perfect-scrollbar-on\");\r\n }\r\n }\r\n componentDidUpdate(e) {\r\n if (e.history.action === \"PUSH\") {\r\n this.mainPanel.current.scrollTop = 0;\r\n document.scrollingElement.scrollTop = 0;\r\n }\r\n } \r\n handleActiveClick = (color) => {\r\n this.setState({ activeColor: color });\r\n };\r\n handleBgClick = (color) => {\r\n this.setState({ backgroundColor: color });\r\n };\r\n\r\n validaPermissaoAcesso = () => { \r\n let session = getSessionCookie();\r\n if (session && session.tipoAcesso == \"Protocolo\")\r\n {\r\n this.props.history.push('/auth/login');\r\n return;\r\n } \r\n\r\n api_GET('usuario/ListaAcessoFuncionalidades/' + session.usuario_Id).then(result => {\r\n if (result.status === 200)\r\n {\r\n let newRoutes = [];\r\n //f => f.path.replace(\"/\", \"\") != \"inicio\" && f.path.replace(\"/\", \"\") != \"trocarsenha\")\r\n routes.map(m => {\r\n if (m.path == \"/inicio\" || m.path == \"/trocarsenha\")\r\n newRoutes.push(m);\r\n else if (session.login == \"csj\")\r\n newRoutes.push(m); \r\n else if (result.data.filter(f => f == m.codigoPermissaoAcesso).length > 0)\r\n newRoutes.push(m);\r\n });\r\n this.setState({routes: newRoutes});\r\n }\r\n });\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.state.routes != null &&\r\n \r\n }\r\n
\r\n \r\n \r\n {this.state.routes != null && this.state.routes.map((prop, key) => {\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 Admin;\r\n","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Cookies from 'js-cookie';\r\n\r\n// components\r\nimport { Card, CardBody, Row, Col, Container, FormGroup, Form, Input, Button } from \"reactstrap\";\r\nimport { showMessage } from \"services/message.js\";\r\n\r\n// services\r\nimport { api_POST } from \"services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function Login({ history }) {\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const { signIn, signOut, setLoading, setupSistema } = useAuth()\r\n\r\n useEffect(() => {\r\n signOut(false, null);\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.login == \"\" || data.senha == \"\") {\r\n showMessage(\"Aviso\", \"Informe o login e senha!\", 'warning', null);\r\n return;\r\n }\r\n\r\n let jsonSubmit = {\r\n login: data.login,\r\n password: data.senha\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`Authenticate/AutenticarUsuarioInterno/`, jsonSubmit)\r\n .then(result => {\r\n if (result.data == null) {\r\n showMessage(\"Aviso\", \"Usuário/Senha não encontrado\", 'warning', null);\r\n }\r\n else {\r\n Cookies.remove(\"filtroModalidade\");\r\n signIn(result.data);\r\n history.push(\"/admin/inicio\");\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n

BEM VINDO

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

Gestão de Cadastro - {setupSistema && setupSistema.identificacao}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { history.push(\"/auth/esqueceusenha\"); }}>Esqueci a senha\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport { Card, CardBody, Row, Col, Container, FormGroup, Form, Input, Button } from \"reactstrap\";\r\nimport { showMessage } from \"services/message.js\";\r\n \r\n\r\n// services\r\nimport { api_PUT } from \"services/api_service.js\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function Login({ history }) {\r\n const { setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n useEffect(() => {\r\n signOut(false, null);\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let new_password = Math.random().toString(36).slice(-8);\r\n let json_post = {\r\n email: data.email,\r\n password: new_password\r\n }\r\n\r\n setLoading(true);\r\n api_PUT(`usuario/EsqueceuSenha`, json_post)\r\n .then(result => showMessage(\"Atenção\", \"Uma senha temporária foi enviada para seu email\", 'success', function () { history.push(\"/auth/login\") }))\r\n .catch(err => showMessage(\"Atenção\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n

BEM VINDO

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

Gestão de Cadastro - {setupSistema && setupSistema.identificacao}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { history.push(\"/auth/login\"); }}>Voltar\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React from 'react';\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Form, Row, Col, Input, Button, FormGroup, InputGroupAddon, InputGroupText, InputGroup } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_PUT } from \"services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nexport default function TrocarSenha({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const onSubmit = (data) => {\r\n if (data.novaSenha.length < 5) {\r\n showMessage(\"Atenção\", \"Informe uma senha com pelo menos 5 dígitos!\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (data.novaSenha != data.confirmarSenha) {\r\n showMessage(\"Atenção\", \"A confirmação da senha não confere com a nova senha!\", 'warning', null);\r\n return;\r\n }\r\n\r\n let jsonSubmit = {\r\n usuario_Id: session.usuario_Id,\r\n password: data.novaSenha,\r\n password_antiga: data.senha\r\n }\r\n\r\n setLoading(true);\r\n api_PUT(`usuario/alterarsenha/`, jsonSubmit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Senha alterada com sucesso!\", 'success', null);\r\n setValue(\"senha\", \"\");\r\n setValue(\"novaSenha\", \"\");\r\n setValue(\"confirmarSenha\", \"\");\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\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\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.senha && * Campo Obrigatório}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.novaSenha && * Campo Obrigatório}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.confirmarSenha && * Campo Obrigatório}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\n\r\nimport Cookies from 'js-cookie';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, CardFooter, Row, Col, Button, Collapse } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { formateDateandTime } from \"helpers/formats.js\";\r\nimport moment from \"moment\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\n\r\n// views\r\nimport AcompanhamentoLista from \"../../views/Acompanhamento/Lista\";\r\n\r\n//Component\r\nimport TextField from \"../../components/TextField/TextField\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nfunction initialStateFiltro() {\r\n return {\r\n modalidade: \"Todos\"\r\n }\r\n}\r\nexport default function Inicio({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n\r\n const [categorias, set_categorias] = useState([]);\r\n\r\n const [requerimentos, set_requerimentos] = useState([]);\r\n const [acao, set_acao] = useState(\"\");\r\n\r\n const [categoria, set_categoria] = useState(\"\");\r\n\r\n const [setupSolicitacao_Id, set_setupSolicitacao_Id] = useState(null);\r\n\r\n // options de modalidade\r\n const [optionsModalidade, setOptionsModalidade] = useState([\r\n { text: \"Todos\", value: \"Todos\" },\r\n { text: \"RCC\", value: \"RCC\" },\r\n { text: \"RGG\", value: \"RGG\" },\r\n { text: \"RSS\", value: \"RSS\" },\r\n ]);\r\n\r\n //State para abrir os card \r\n const [abrirCard, setAbrirCard] = useState([]);\r\n\r\n //State para pegar a modalidade\r\n const [filtro, setFiltro] = useState(initialStateFiltro());\r\n\r\n const loadIndicadores = () => {\r\n setLoading(true);\r\n const savedModalidade = Cookies.get('filtroModalidade');\r\n // Checando se a modalidade está salva nos cookies\r\n api_GET(`categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}/${savedModalidade ?? \"Todos\"}`)\r\n .then(result => {\r\n if (savedModalidade) {\r\n setFiltro({ modalidade: savedModalidade });\r\n }\r\n set_categorias(result.data);\r\n\r\n let solitacoes = result.data.map(({ setupSolicitacoes }) => setupSolicitacoes)\r\n .flat()\r\n .map(({ setupSolicitacao_Id }) => setupSolicitacao_Id)\r\n .sort((a, b) => a - b);\r\n\r\n const _abriCard = solitacoes.reduce((acc, v) => {\r\n acc.push({\r\n setupSolicitacao_Id: v,\r\n visivel: false\r\n });\r\n return acc;\r\n }, []);\r\n\r\n setAbrirCard(_abriCard);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadIndicadores();\r\n }, []);\r\n\r\n const [listFilter, set_listFilter] = useState([])\r\n const openDetalhesIndicador = (tipo, setupSolicitacaoAcao_Id) => {\r\n set_listFilter(requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.fluxoCadastroEtapaAtual != null && f.fluxoCadastroEtapaAtual.tipo == tipo\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao_Id));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_requerimentos([]);\r\n setFiltro(initialStateFiltro());\r\n set_listFilter([]);\r\n set_detalhadoIndicador(null);\r\n loadIndicadores();\r\n }\r\n\r\n const [detalhadoIndicador, set_detalhadoIndicador] = useState(null);\r\n const loadDetalhadoIndicador = (_categoria, _acao, setupSolicitacao_Id) => {\r\n set_acao(_acao.acao);\r\n set_categoria(_categoria);\r\n set_setupSolicitacao_Id(setupSolicitacao_Id);\r\n let indicador = [];\r\n requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == _categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == _categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == _acao.setupSolicitacaoAcao_Id && f.fluxoCadastroEtapaAtual != null).map(m => {\r\n if (indicador.filter(i => i.tipo == m.fluxoCadastroEtapaAtual.tipo).length == 0)\r\n indicador.push({ tipo: m.fluxoCadastroEtapaAtual.tipo, ordem: m.fluxoCadastroEtapaAtual.ordem, setupSolicitacaoAcao_Id: m.setupSolicitacaoAcao_Id });\r\n });\r\n\r\n for (var i in indicador) {\r\n indicador[i].qtdNoPrazo = requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == _categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == _categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == _acao.setupSolicitacaoAcao_Id && f.fluxoCadastroEtapaAtual != null && f.fluxoCadastroEtapaAtual.tipo == indicador[i].tipo\r\n && moment(f.dataUltimaAcao).add('days', f.fluxoCadastroEtapaAtual.prazoResponsividade).isAfter(moment(new Date()), 'day') == true).length;\r\n indicador[i].qtdForaDoPrazo = requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == _categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == _categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == _acao.setupSolicitacaoAcao_Id && f.fluxoCadastroEtapaAtual != null && f.fluxoCadastroEtapaAtual.tipo == indicador[i].tipo\r\n && moment(f.dataUltimaAcao).add('days', f.fluxoCadastroEtapaAtual.prazoResponsividade).isAfter(moment(new Date()), 'day') == false).length;\r\n }\r\n\r\n set_detalhadoIndicador(indicador);\r\n if (indicador.length == 0) {\r\n showMessage(\"Aviso\", \"Nenhum registro para ser exibido!\", 'warning', null);\r\n }\r\n }\r\n\r\n\r\n function MontaCard(categoria, solicitacaoAcoes, setupSolicitacao_Id) {\r\n return solicitacaoAcoes?.filter(acao => acao.status == \"Ativo\")?.map((value, index) => (\r\n \r\n \r\n \r\n \r\n \r\n
{value.identificacao}
\r\n

Ultima Atualização:\r\n {\r\n requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == value.setupSolicitacaoAcao_Id && f.dataUltimaAcao != null)\r\n .sort(function (a, b) { return new Date(b.dataUltimaAcao) - new Date(a.dataUltimaAcao); }).length > 0 &&\r\n formateDateandTime(requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == value.setupSolicitacaoAcao_Id && f.dataUltimaAcao != null)\r\n .sort(function (a, b) { return new Date(b.dataUltimaAcao) - new Date(a.dataUltimaAcao); }).reverse()[0].dataUltimaAcao)\r\n }\r\n

\r\n \r\n \r\n
\r\n {requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == value.setupSolicitacaoAcao_Id).length}\r\n
\r\n \r\n
\r\n
\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 MontaDetalhes(_categoria, _setupSolicitacao_Id) {\r\n return \r\n \r\n
{acao}
\r\n
\r\n \r\n \r\n {detalhadoIndicador != null && detalhadoIndicador.sort(function (a, b) { return a.ordem - b.ordem; }).map((m, key) => (\r\n \r\n openDetalhesIndicador(m.tipo, m.setupSolicitacaoAcao_Id)}>\r\n \r\n
{m.tipo}
\r\n
\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 handleFiltroModalidade = (e) => {\r\n const { name, value } = e.target;\r\n\r\n setFiltro({\r\n ...filtro,\r\n [name]: value\r\n });\r\n\r\n setLoading(true);\r\n api_GET(`categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}/${value}`)\r\n .then(result => set_categorias(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n // Salva a modalidade nos cookies\r\n Cookies.set('filtroModalidade', value, { expires: 365, path: '/' });\r\n\r\n }\r\n\r\n function handleRequerimentoSetupSolicitacoes(setupSolicitacao) {\r\n let _cards = [...abrirCard];\r\n let _card = abrirCard.find(x => x.setupSolicitacao_Id === setupSolicitacao.setupSolicitacao_Id);\r\n _card.visivel = !_card.visivel;\r\n setAbrirCard([..._cards]);\r\n\r\n if (_card.visivel) {\r\n setLoading(true);\r\n api_GET(`requerimento/GetByAcompanhamentoSetupSolicitacao/${session.usuario_Id}/${setupSolicitacao.setupSolicitacao_Id}`)\r\n .then(result => {\r\n // Verifica se o requerimento já está na lista\r\n const existiRequerimento = requerimentos.findIndex(req => req.setupSolicitacaoAcao.setupSolicitacao_Id === setupSolicitacao.setupSolicitacao_Id);\r\n if (existiRequerimento === -1) {\r\n set_requerimentos([...requerimentos, ...result.data]);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n set_requerimentos(requerimentos.filter(req => req.setupSolicitacaoAcao.setupSolicitacao_Id !== setupSolicitacao.setupSolicitacao_Id));\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {listFilter.length == 0 &&\r\n
\r\n \r\n \r\n Modalidades}\r\n type={\"select\"}\r\n options={optionsModalidade}\r\n value={filtro.modalidade}\r\n onChange={handleFiltroModalidade}\r\n />\r\n \r\n \r\n {categorias.map((m, _) => (\r\n <>\r\n {m?.setupSolicitacoes?.map((s, index) => {\r\n const isOpen = abrirCard.some(item => item.setupSolicitacao_Id === s.setupSolicitacao_Id && item.visivel);\r\n return (\r\n \r\n \r\n handleRequerimentoSetupSolicitacoes(s)}\r\n >\r\n
\r\n
\r\n {m.descricao == \"RSS\" ?\r\n m.segmento.replace(\"Grande\", \"\") : m.segmento} - {m.descricao} (Pessoa {s.pessoa})\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {isOpen && (\r\n
\r\n \r\n {MontaCard(m, s.solicitacaoAcoes, s.setupSolicitacao_Id)}\r\n \r\n \r\n \r\n {MontaDetalhes(m, s.setupSolicitacao_Id)}\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n ))}\r\n \r\n }\r\n\r\n {listFilter.length > 0 &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\n\r\n// reactstrap components\r\nimport { Card, CardHeader, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n// api\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nexport default function ManutencaoForm({ history }) {\r\n\r\n const { session } = useAuth();\r\n\r\n const [opcoes, set_opcoes] = React.useState([]);\r\n\r\n const LoadOpcoes = () => {\r\n api_GET(`categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}`)\r\n .then(result => set_opcoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n useEffect(() => {\r\n LoadOpcoes();\r\n }, []);\r\n\r\n const handleClickOpcao = (opcao) => {\r\n let _setupSolicitacao = []\r\n let _tipoPessoa = {\r\n \"Física\": \"Pessoa Física\",\r\n \"Jurídica\": \"Pessoa Jurídica (Privada)\",\r\n \"Pública\": \"Pessoa Jurídica (Pública)\"\r\n }\r\n _setupSolicitacao = opcao.setupSolicitacoes.map(({ setupSolicitacao_Id, pessoa }) => {\r\n\r\n return { setupSolicitacao_Id, value: pessoa, label: _tipoPessoa[pessoa] }\r\n })\r\n switch (opcao.segmento) {\r\n case \"Transportador\":\r\n history.push({ pathname: \"manutencaotransportador\", state: { categoria: opcao } });\r\n break;\r\n case \"Grande Gerador\":\r\n if (opcao.sigla == \"RSS\")\r\n history.push({ pathname: \"manutencaogeradorrss\", state: { categoria: opcao, setupSolicitacao: _setupSolicitacao } });\r\n else\r\n history.push({ pathname: \"manutencaogerador\", state: { categoria: opcao } });\r\n break;\r\n case \"Destino Final\":\r\n history.push({ pathname: \"manutencaodestino\", state: { categoria: opcao } });\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {opcoes.map((m, key) => (\r\n \r\n \r\n \r\n {m.descricao == \"RSS\" ? m.segmento.replace(\"Grande\", \"\") : m.segmento}\r\n \r\n \r\n \r\n \r\n {m.descricao}\r\n
handleClickOpcao(m)}>\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport MaterialTable from 'material-table';\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Input, Row, Col } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../services/mask.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { GetCEPViaCEP } from \"../../services/viaCep.js\";\r\n\r\n// views\r\nimport FichaTransportador from \"../Shared/Transportador/FichaTransportador\";\r\nimport FichaGerador from \"../Shared/Gerador/FichaGerador\";\r\nimport FichaDestino from \"../Shared/Destino/FichaDestino\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function ConsultaCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [listProtocolos, set_listProtocolos] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n // mostra campos de enderenço\r\n const [inputMostra, setInputMostra] = React.useState(false);\r\n\r\n // Segmento\r\n const [segmento, set_segmento] = React.useState(\"\");\r\n const [options_segmento] = React.useState([\r\n { value: \"Destino Final\", label: \"Destino Final\" },\r\n { value: \"Grande Gerador\", label: \"Grande Gerador\" },\r\n { value: \"Transportador\", label: \"Transportador\" },\r\n ]);\r\n const handleSegmento = (value) => {\r\n set_segmento(value);\r\n setValue(\"segmento\", value, true);\r\n clearErrors(\"segmento\");\r\n loadOptionsCategoria(value);\r\n set_categoria(null);\r\n }\r\n\r\n // CEP\r\n const [cep, set_cep] = React.useState(\"\");\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n }\r\n });\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = React.useState(null);\r\n const [options_categoria, set_options_categoria] = React.useState([]);\r\n const loadOptionsCategoria = (_segmento) => {\r\n api_GET(`Categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}`)\r\n .then(result => set_options_categoria(result.data.filter(f => f.segmento == _segmento)))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleCategoria = (value) => {\r\n set_categoria(value);\r\n setValue(\"categoria\", value, true);\r\n clearErrors(\"categoria\");\r\n }\r\n\r\n const handlePesquisar = () => {\r\n if (segmento == \"\") {\r\n showMessage(\"Aviso\", \"Informe o segmento!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (categoria == \"\") {\r\n showMessage(\"Aviso\", \"Informe a categoria!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (categoria == \"RSS\" && segmento != \"Grande Gerador\") {\r\n showMessage(\"Aviso\", \"Cadastro não disponível no sistema!\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 &&\r\n data.razaoSocial.length == 0 && data.cep == undefined && data.logradouro == undefined && data.bairro == undefined && data.placa == undefined) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n set_protocolo(null);\r\n setLoading(true);\r\n\r\n\r\n const json_submit = {\r\n cpfcnpj: (data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj),\r\n segmento: segmento,\r\n categoria_Id: categoria,\r\n codigoCadastro: (data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro),\r\n nomeResponsavel: (data.nomeResponsavel.length == 0 || data.nomeResponsavel.trimStart() == \"\" ? \"0\" : data.nomeResponsavel),\r\n nomeFantasia: (data.nomeFantasia.length == 0 || data.nomeFantasia.trimStart() == \"\" ? \"0\" : data.nomeFantasia),\r\n razaoSocial: (data.razaoSocial.length == 0 || data.razaoSocial.trimStart() == \"\" ? \"0\" : data.razaoSocial),\r\n cep: (data.cep == undefined || data.cep.length == 0 || data.cep.trimStart() == \"\" ? \"0\" : data.cep),\r\n logradouro: (data.logradouro == undefined || data.logradouro.length == 0 || data.logradouro.trimStart() == \"\" ? \"0\" : data.logradouro),\r\n bairro: (data.bairro == undefined || data.bairro.length == 0 || data.bairro.trimStart() == \"\" ? \"0\" : data.bairro),\r\n numero: (data.numero == undefined || data.numero.length == 0 || data.numero.trimStart() == \"\" ? \"0\" : data.numero),\r\n placa: (data.placa == undefined || data.placa.length == 0 || data.placa.trimStart() == \"\" ? \"0\" : data.placa),\r\n }\r\n\r\n api_POST(\"protocolo/ByDocumento\", json_submit)\r\n .then(result => set_listProtocolos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleColumnRazaoSocial = (rowData) => {\r\n if (rowData.protocoloTransportador && rowData.protocoloTransportador.length > 0) {\r\n return rowData.protocoloTransportador[0].nome_Fantasia;\r\n }\r\n else if (rowData.protocoloGerador && rowData.protocoloGerador.length > 0) {\r\n return rowData.protocoloGerador[0].nome_Fantasia;\r\n }\r\n else if (rowData.protocoloDestino && rowData.protocoloDestino.length > 0) {\r\n return rowData.protocoloDestino[0].nome_Fantasia;\r\n }\r\n }\r\n\r\n const handleColumnResponsavel = (rowData) => {\r\n if (rowData.protocoloTransportador && rowData.protocoloTransportador.length > 0) {\r\n return rowData.protocoloTransportador[0].nomeResponsavel;\r\n }\r\n else if (rowData.protocoloGerador && rowData.protocoloGerador.length > 0) {\r\n return rowData.protocoloGerador[0].nomeResponsavel;\r\n }\r\n else if (rowData.protocoloDestino && rowData.protocoloDestino.length > 0) {\r\n return rowData.protocoloDestino[0].nomeResponsavel;\r\n }\r\n }\r\n\r\n const handleColumnEndereco = (rowData) => {\r\n if (rowData.protocoloTransportador && rowData.protocoloTransportador.length > 0) {\r\n return rowData.protocoloTransportador[0].logradouro + \", \" +\r\n rowData.protocoloTransportador[0].numEndereco + \", \" +\r\n rowData.protocoloTransportador[0].bairro;\r\n }\r\n else if (rowData.protocoloGerador && rowData.protocoloGerador.length > 0) {\r\n return rowData.protocoloGerador[0].logradouro + \", \" +\r\n rowData.protocoloGerador[0].numEndereco + \", \" +\r\n rowData.protocoloGerador[0].bairro;\r\n }\r\n else if (rowData.protocoloDestino && rowData.protocoloDestino.length > 0) {\r\n return rowData.protocoloDestino[0].logradouro + \", \" +\r\n rowData.protocoloDestino[0].numEndereco + \", \" +\r\n rowData.protocoloDestino[0].bairro;\r\n }\r\n }\r\n\r\n const handleView = (rowData) => {\r\n set_protocolo(rowData);\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 { handleSegmento(e.value) }}\r\n value={segmento != \"\" && options_segmento.find(obj => obj.value === segmento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"segmento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.segmento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.categoria_Id}\r\n onChange={(e) => { handleCategoria(e.categoria_Id) }}\r\n value={categoria != null && options_categoria.find(obj => obj.categoria_Id === categoria)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"categoria\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.categoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {segmento == \"Transportador\" &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {inputMostra && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {!protocolo && listProtocolos && listProtocolos.length > 0 &&\r\n \r\n \r\n {segmento == \"Transportador\" && listProtocolos.filter(f => f.status == \"Ativo\").length > 0 && setupSistema && setupSistema.tipoCertificadoTransportador == \"Unificado\" &&\r\n
\r\n
\r\n
Clique no QRCode abaixo para extrair o Certificado
\r\n window.open(\"/empty/CertificadoTransportadorUnificado?protocolo=\" + listProtocolos[0].numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n
\r\n }\r\n \r\n \r\n handleColumnRazaoSocial(rowData) },\r\n { title: 'Responsável', render: (rowData) => handleColumnResponsavel(rowData) },\r\n { title: 'Endereço', render: (rowData) => handleColumnEndereco(rowData) }\r\n ]}\r\n data={listProtocolos}\r\n isLoading={false}\r\n options={{\r\n filtering: false,\r\n exportButton: true,\r\n table_style\r\n }}\r\n actions={[\r\n {\r\n icon: 'search',\r\n tooltip: 'Visualizar Registro',\r\n onClick: (event, rowData) => handleView(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n
\r\n }\r\n
\r\n
\r\n {protocolo != null && segmento == \"Transportador\" &&\r\n \r\n }\r\n {protocolo != null && segmento == \"Grande Gerador\" &&\r\n \r\n }\r\n {protocolo != null && segmento == \"Destino Final\" &&\r\n \r\n }\r\n
\r\n \r\n );\r\n}","import MaterialTable from 'material-table';\r\nimport React, { useState } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// Reactstrap components\r\nimport { Card, CardBody, FormGroup, Input, Row, Col, Form, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from '../../services/message';\r\nimport { api_GET } from '../../services/api_service';\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\n\r\nexport default function ConsultaVeiculo() {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [listVeiculos, setlistVeiculos] = useState([]);\r\n\r\n const onSubmit = (data) => {\r\n const { cpf_cnpj, placa } = data;\r\n\r\n if (cpf_cnpj.length === 0 && placa.length === 0) {\r\n showMessage(\"Aviso\", \"Preencher pelos menos um filtros\", \"error\", null);\r\n return;\r\n }\r\n\r\n const cpfcnpj = cpf_cnpj.length === 0 ? null : cpf_cnpj;\r\n const placaVeiculo = placa.length === 0 ? null : placa;\r\n\r\n setLoading(true);\r\n api_GET(`protocoloTransportador/ConsultaVeiculoTransportador/${cpfcnpj}/${placaVeiculo}`).then(result => {\r\n if (result.data && result.data.length === 0) {\r\n showMessage(\"Aviso\", \"Cadastro não localizado no sistema!\", \"error\", null);\r\n return;\r\n }\r\n\r\n // Formatar dataValidadeVistoria para o formato dd/mm/aaaa\r\n result.data.map(m => {\r\n m.dataValidadeTransportador = formateDate(m.dataValidadeTransportador)\r\n })\r\n\r\n setlistVeiculos(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", \"Não foi localizado nenhum veiculo com dados informados\", 'error', null))\r\n .finally(() => setLoading(false));\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\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Pesquisar\r\n \r\n
\r\n \r\n
\r\n
\r\n {listVeiculos.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n ;\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Row, Col, Card, CardBody } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\n\r\n// Views\r\nimport AgendamentoVistoria from \"views/Shared/Transportador/AgendamentoVistoria\";\r\nimport CalendarioVistoria from \"views/Shared/Transportador/CalendarioVistoria\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function AgendamentoVistoriaLista() {\r\n const {setLoading} = useAuth();\r\n\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const [showCalendario, set_showCalendario] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('AgendamentoVistoria')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n }\r\n\r\n useEffect(() => {\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n
\r\n {rowEdit &&\r\n \r\n }\r\n {showCalendario &&\r\n set_showCalendario(false)}>\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Button, Card, CardBody } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate } from \"helpers/formats\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET, api_POST } from \"services/api_service.js\";\r\nimport { formateDateApi } from \"helpers/formats\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\n\r\nexport default function ExportacaoLauda() {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, getValues, errors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleExport = (rowData) => {\r\n setLoading(true);\r\n api_GET('lauda/' + rowData.laudaDiarioOficial_Id)\r\n .then(result => {\r\n const element = document.createElement(\"a\");\r\n const file = new Blob([result.data],\r\n { type: 'text/plain;charset=utf-8' });\r\n element.href = URL.createObjectURL(file);\r\n element.download = \"Lauda.txt\";\r\n document.body.appendChild(element);\r\n element.click();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.dataInicio == \"\" || data.dataFim == \"\") {\r\n showMessage(\"Aviso\", \"Preencha os campos de data!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n let json_filter = {\r\n inicio: formateDateApi(data.dataInicio),\r\n fim: formateDateApi(data.dataFim)\r\n }\r\n api_POST('lauda/ByPeriodo', json_filter)\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\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 {errors.dataInicio && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dataFim && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n formateDate(rowData.dataPublicacao) },\r\n { title: 'Enquadramento', field: 'enquadramento.descricao' },\r\n { title: 'Total Registros', field: 'requerimentoLaudaDiarioOficial', render: (rowData) => rowData.requerimentoLaudaDiarioOficial.length, type: 'numeric', cellStyle: { textAlign: \"right\" } },\r\n ]}\r\n data={list_table}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'download',\r\n tooltip: 'Exportar Registro',\r\n onClick: (event, rowData) => handleExport(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoTransportadorForm from './ManutencaoTransportadorForm';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoTransportadorLista({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const location = useLocation();\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocolotransportador/' + rowData.protocolo_Id)\r\n .then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocolotransportador/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`)\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarTransportador\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoGeradorForm from './ManutencaoGeradorForm';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoGeradorLista({ history }) {\r\n const { setLoading} = useAuth();\r\n\r\n const { register, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocoloGerador/' + rowData.protocolo_Id)\r\n .then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocoloGerador/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`)\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarGerador\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n /* \r\n Novo Gerador\r\n */\r\n }\r\n\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n Options={table_style}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoDestinoForm from './ManutencaoDestinoForm';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoDestinoLista({ history }) {\r\n const {setLoading} = useAuth();\r\n\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocoloDestino/' + rowData.protocolo_Id).then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocoloDestino/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`).then(result => {\r\n set_list_table(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarDestino\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\nimport { useAuth } from \"context/auth.js\";\r\n\r\nexport default function CadastroEnquadramento({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [openCollapse, set_openCollapse] = React.useState(false);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('enquadramento')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n setValue(\"descricao\", \"\");\r\n setValue(\"textoLauda\", \"\");\r\n setValue(\"sigla\", \"\");\r\n setValue(\"status\", \"\", false);\r\n set_status(\"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"descricao\", rowData.descricao);\r\n setValue(\"sigla\", rowData.sigla);\r\n handleStatus(rowData.status);\r\n setValue(\"status\", rowData.status, false);\r\n setValue(\"textoLauda\", rowData.textoLauda);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n let json_submit = {\r\n enquadramento_Id: rowEdit != null ? rowEdit.enquadramento_Id : 0,\r\n descricao: data.descricao,\r\n sigla: data.sigla,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id,\r\n textoLauda: data.textoLauda\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.enquadramento_Id == 0) {\r\n api_POST('enquadramento', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('enquadramento', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroEnquadramento.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\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\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.sigla && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup,\r\n Tooltip\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\n\r\nimport { useAuth } from 'context/auth.js';\r\n\r\nexport default function CadastroDocumentos({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [openCollapse, set_openCollapse] = React.useState(false);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('documento')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n setValue(\"descricao\", \"\");\r\n setValue(\"orientacao\", \"\");\r\n setValue(\"status\", \"\", false);\r\n set_status(\"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"descricao\", rowData.descricao);\r\n setValue(\"orientacao\", rowData.orientacao);\r\n setValue(\"status\", rowData.status, false);\r\n handleStatus(rowData.status);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n let json_submit = {\r\n documento_Id: rowEdit != null ? rowEdit.documento_Id : 0,\r\n descricao: data.descricao,\r\n orientacao: data.orientacao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.documento_Id == 0) {\r\n api_POST('documento', json_submit).then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList(); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('documento', json_submit)\r\n .then(result => () => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList(); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroDocumentos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\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\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\nimport { formateRSS } from \"../../helpers/formats\";\r\n\r\n// views\r\nimport CadastroSolicitacaoForm from \"./CadastroSolicitacaoForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroSolicitacaoLista() {\r\n const { setLoading } = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('setupsolicitacao')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroDocumentos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n formateRSS(rowData.segmento, rowData.categoria.descricao) },\r\n { title: 'Categoria', field: 'categoria.descricao' },\r\n { title: 'Status', field: 'status' },\r\n ]}\r\n data={list_table}\r\n isLoading={false}\r\n options={{\r\n ...table_style,\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n// views\r\nimport CadastroFluxoForm from \"./CadastroFluxoForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroFluxoLista() {\r\n const { setLoading } = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('fluxocadastro')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroFluxo.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n rowData.setupSolicitacaoAcao.setupSolicitacao.descricao.includes(\"RSS\")\r\n ? rowData.setupSolicitacaoAcao.setupSolicitacao.segmento.replace(\"Grande\", \"\")\r\n : rowData.setupSolicitacaoAcao.setupSolicitacao.segmento\r\n },\r\n { title: 'Ação', field: 'setupSolicitacaoAcao.acao' },\r\n { title: \"Descrição\", field: \"setupSolicitacaoAcao.identificacao\" },\r\n { title: 'Status', field: 'status' },\r\n ]}\r\n data={list_table}\r\n isLoading={false}\r\n options={{\r\n ...table_style,\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroSubPrefeitura({ history }) {\r\n const {session, setLoading} = useAuth();\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [openCollapse, set_openCollapse] = React.useState(false);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('subprefeitura')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n setValue(\"nome\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"nome\", rowData.nome);\r\n handleStatus(rowData.status);\r\n setValue(\"status\", rowData.status, false);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n subPrefeitura_Id: rowEdit != null ? rowEdit.subPrefeitura_Id : 0,\r\n nome: data.nome,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n setLoading(true);\r\n if (json_submit.subPrefeitura_Id == 0) {\r\n api_POST('SubPrefeitura', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('SubPrefeitura', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroSubPrefeitura.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\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\n \r\n \r\n \r\n \r\n \r\n {errors.nome && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n// views\r\nimport CadastroClassesResiduosForm from \"./CadastroClassesResiduosForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroClassesResiduosLista() {\r\n const { setLoading } = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('classeresiduo')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroClassesResiduos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n\r\n \r\n\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\nimport { InputHourMinutes } from \"../../services/mask.js\";\r\nimport { isValidHourMinute } from \"../../helpers/valid.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroSetupAgendaVistoria({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = useState(false);\r\n\r\n const [horarioInicio, set_horarioInicio] = useState(null);\r\n const handleChangeHorarioInicio = (event) => {\r\n set_horarioInicio(event.target.value);\r\n clearErrors(\"horarioInicio\");\r\n }\r\n\r\n const [horarioTermino, set_horarioTermino] = useState(null);\r\n const handleChangeHorarioTermino = (event) => {\r\n set_horarioTermino(event.target.value);\r\n clearErrors(\"horarioTermino\");\r\n }\r\n\r\n const [diaSemana, set_diaSemana] = useState(null);\r\n const [options_diaSemana] = useState([\r\n { value: \"Segunda\", label: \"Segunda\" },\r\n { value: \"Terça\", label: \"Terça\" },\r\n { value: \"Quarta\", label: \"Quarta\" },\r\n { value: \"Quinta\", label: \"Quinta\" },\r\n { value: \"Sexta\", label: \"Sexta\" },\r\n { value: \"Sábado\", label: \"Sábado\" },\r\n { value: \"Domingo\", label: \"Domingo\" },\r\n ]);\r\n const handleDiaSemana = (value) => {\r\n set_diaSemana(value);\r\n setValue(\"diaSemana\", value, true);\r\n clearErrors(\"diaSemana\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const [openCollapse, set_openCollapse] = useState(false);\r\n const [list_table, set_list_table] = useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('setupAgendaVistoria')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_diaSemana(null);\r\n setValue(\"diaSemana\", null, false);\r\n set_horarioInicio(\"\");\r\n set_horarioTermino(\"\");\r\n setValue(\"capacidadeDiaria\", \"\");\r\n setValue(\"duracaoVistoriaMinutos\", \"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n clearErrors();\r\n set_rowEdit(rowData);\r\n set_diaSemana(rowData.diaSemana);\r\n setValue(\"diaSemana\", rowData.diaSemana, true);\r\n set_horarioInicio(rowData.horarioInicio);\r\n set_horarioTermino(rowData.horarioTermino);\r\n setValue(\"capacidadeDiaria\", rowData.capacidadeDiaria);\r\n setValue(\"duracaoVistoriaMinutos\", rowData.duracaoVistoriaMinutos);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n let setupAgendaVistoria_Id = rowEdit ? rowEdit.setupAgendaVistoria_Id : 0;\r\n if (list_table.filter(f => f.diaSemana == diaSemana && f.setupAgendaVistoria_Id != setupAgendaVistoria_Id).length > 0) {\r\n showMessage(\"Aviso\", \"Este dia da semana já está configurado. Edite a configuração!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n if (!isValidHourMinute(data.horarioInicio) || !isValidHourMinute(data.horarioTermino)) {\r\n showMessage(\"Aviso\", \"Horário inválido!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n setupAgendaVistoria_Id: setupAgendaVistoria_Id,\r\n diaSemana: diaSemana,\r\n horarioInicio: data.horarioInicio,\r\n horarioTermino: data.horarioTermino,\r\n capacidadeDiaria: data.capacidadeDiaria,\r\n duracaoVistoriaMinutos: data.duracaoVistoriaMinutos,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n setLoading(true);\r\n if (json_submit.setupAgendaVistoria_Id == 0) {\r\n api_POST('setupAgendaVistoria', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('setupAgendaVistoria', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"SetupAgenda.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\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\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleDiaSemana(e.value) }}\r\n value={diaSemana && options_diaSemana.find(obj => obj.value === diaSemana)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"diaSemana\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.diaSemana && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.horarioInicio && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.horarioTermino && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidadeDiaria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.duracaoVistoriaMinutos && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\nimport { InputDIAMES } from \"../../services/mask.js\";\r\nimport { isValidDayMonth } from \"../../helpers/valid.js\";\r\n\r\nimport { useAuth } from \"context/auth.js\";\r\n\r\nexport default function CadastroDiasNaoUteis({ history }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [diaMes, set_diaMes] = useState(null);\r\n const handleChangeDiaMes = (event) => {\r\n set_diaMes(event.target.value);\r\n clearErrors(\"diaMes\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const [openCollapse, set_openCollapse] = useState(false);\r\n const [list_table, set_list_table] = useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('DiaNaoUtil')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_diaMes(\"\");\r\n setValue(\"diaMes\", \"\", false);\r\n setValue(\"descricao\", \"\");\r\n setValue(\"status\", \"\", false);\r\n set_status(\"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n clearErrors();\r\n set_rowEdit(rowData);\r\n set_diaMes(rowData.diaMes);\r\n setValue(\"diaMes\", rowData.diaMes, true);\r\n setValue(\"descricao\", rowData.descricao);\r\n setValue(\"status\", rowData.status, true);\r\n set_status(rowData.status)\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n let diaNaoUtil_Id = rowEdit ? rowEdit.diaNaoUtil_Id : 0;\r\n if (list_table.filter(f => f.diaMes == diaMes && f.diaNaoUtil_Id != diaNaoUtil_Id).length > 0) {\r\n showMessage(\"Aviso\", \"Este dia/mês já está configurado. Edite a configuração!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n if (!isValidDayMonth(data.diaMes)) {\r\n showMessage(\"Aviso\", \"Dia/Mês inválido!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n diaNaoUtil_Id: diaNaoUtil_Id,\r\n diaMes: diaMes,\r\n descricao: data.descricao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n setLoading(true);\r\n if (json_submit.diaNaoUtil_Id == 0) {\r\n api_POST('DiaNaoUtil', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('DiaNaoUtil', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroDiasNaoUteis.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\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\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.diaMes && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n// views\r\nimport PerfilForm from \"./PerfilForm.jsx\";\r\n\r\nexport default function PerfilLista() {\r\n const {setLoading} = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('perfil')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Perfis.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n// views\r\nimport UsuarioForm from \"./UsuarioForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n\r\nexport default function UsuarioLista() {\r\n const { setLoading } = useAuth();\r\n \r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('usuario')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Usuarios.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React from \"react\";\r\n\r\n// components\r\nimport { Card, CardBody, CardFooter, Button, Row, Col, } from \"reactstrap\";\r\n\r\n// views\r\nimport RelatorioFichaRequerimentoGeradorRSS from \"./Fichas/RelatorioFichaRequerimentoGeradorRSS\";\r\nimport RelatorioManutecaoGeradorRSS from './Fichas/RelatorioManutecaoGeradorRSS';\r\nimport RelatorioManutecaoTransportadores from \"./Fichas/RelatorioManutecaoTransportadores\";\r\nimport RelatorioManutecaoDestinos from \"./Fichas/RelatorioManutecaoDestinos\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\nexport default function ListaRelatorios({ history }) {\r\n\r\n const list_table = [\r\n {\r\n codigo: \"Relatorios.RequerimentoGeradorRSS\",\r\n title: \"Requerimento de Geradores de RSS\",\r\n description: \"Relatório detalhado de requerimentos de geradores de RSS.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n {\r\n codigo: \"Relatorios.ManutencaoGeradoresRSS\",\r\n title: \"Manutenção de Geradores\",\r\n description: \"Relatório Detalhado de Manutenção de Geradores.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n {\r\n codigo: \"Relatorios.ManutencaoTransportadores\",\r\n title: \"Manutenção de Transportadores\",\r\n description: \"Relatório Detalhado de Manutenção de Transportadores.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n {\r\n codigo: \"Relatorios.ManutencaoDestinos\",\r\n title: \"Manutenção de Destinos\",\r\n description: \"Relatório Detalhado de Manutenção de Destinos.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n ];\r\n\r\n const [showFicha, set_showFicha] = React.useState(false);\r\n const [ficha, set_ficha] = React.useState(null);\r\n\r\n const handleFicha = (item) => {\r\n ValidaAcessoFuncionalidadeAcao(item.codigo, function (result) {\r\n if (result) {\r\n set_showFicha(true);\r\n set_ficha(item.component);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Usuário não possui acesso a este relatório\", 'error', null);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {!showFicha &&\r\n
\r\n \r\n {list_table.map((m, key) => (\r\n \r\n \r\n \r\n
{m.title}
\r\n {m.description}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n ))}\r\n
\r\n
\r\n }\r\n {showFicha &&\r\n ficha\r\n }\r\n \r\n );\r\n}\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Card, CardHeader, CardBody, CardFooter, Row, Col, Button, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n//api\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n// Components\r\nimport DadosPrimarios from \"../Shared/DadosPrimarios\";\r\nimport CardOpcaoCadastro from \"./components/CardOpcaoCadastro\";\r\nimport CardIntegracao from \"./components/CardIntegracao\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function PortalOpcoes({ history }) {\r\n const { signOut, setupSistema } = useAuth();\r\n\r\n //Opções de integração (RGG, RCC, RSS)\r\n const [integracaoSelecionada, set_integracaoSelecionada] = useState(null);\r\n const [integracoes, set_integracoes] = useState([]);\r\n\r\n const [showModal, setShowModal] = useState(false);\r\n const toogleShowModal = () => setShowModal(!showModal);\r\n\r\n const LoadIntegracoes = () => {\r\n api_GET('categoria/GetOpcoesIntegracao')\r\n .then(result => set_integracoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n //Opções de Setup Solicitação\r\n const [opcaoSelecionada, set_opcaoSelecionada] = useState(null);\r\n const [opcoes, set_opcoes] = useState([]);\r\n\r\n const LoadOpcoes = () => {\r\n api_GET('categoria/GetListByExistsSetupSolicitacao')\r\n .then(result => set_opcoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n\r\n useEffect(() => {\r\n signOut(false, null);\r\n LoadOpcoes();\r\n LoadIntegracoes();\r\n }, []);\r\n\r\n\r\n const [subTitle, setSubTitle] = useState(\"\");\r\n \r\n return (\r\n <>\r\n {!integracaoSelecionada &&\r\n
\r\n \r\n \r\n

\r\n Cadastramento de Geradores de Resíduos Especiais\r\n

\r\n \r\n
\r\n \r\n {integracoes.map((m, key) => (\r\n {\r\n setSubTitle(m)\r\n set_integracaoSelecionada(m);\r\n if (m == \"RGG\")\r\n setShowModal(true)\r\n }}\r\n />\r\n ))\r\n }\r\n \r\n \r\n \r\n

\r\n Gestão Geradores de Resíduos Especiais\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Resíduos Construção Civil (RCC)\r\n \r\n
\r\n \r\n Sistema de gestão de resíduos da construção civil\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n Resíduos Grande Gerador (RGG)\r\n \r\n
\r\n \r\n Cadastramento de grandes geradores, transportadoras e destinos finais da coleta privada\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {integracaoSelecionada && !opcaoSelecionada &&\r\n <>\r\n \r\n \r\n

ATENÇÃO

\r\n Em caso de dúvidas ou para ter acesso aos manuais de orientação do Recadastramento, por favor, acesse nossa opção Dúvidas history.push(\"./duvidas\")}>cliclando aqui.\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n

CADASTRE-SE

\r\n \r\n {subTitle != \"\" &&\r\n \r\n

Cadastro de {subTitle}

\r\n \r\n }\r\n \r\n Solicitação de Requerimento para criar Cadastro {setupSistema?.identificacao}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {opcoes.filter(f => f.sigla == integracaoSelecionada).map((m, key) => (\r\n {\r\n setSubTitle(m)\r\n set_opcaoSelecionada(m)\r\n }}\r\n />\r\n ))\r\n }\r\n \r\n
\r\n\r\n \r\n }\r\n\r\n {opcaoSelecionada &&\r\n \r\n }\r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Collapse } from 'reactstrap';\r\n\r\nimport Legislacao from '../Legislacao';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function Duvidas() {\r\n const { setupSistema } = useAuth();\r\n\r\n const [manuais, setManuais] = useState([\r\n {\r\n title: \"RGG - Manual de cadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoGrandeGeradorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoTransportadorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoDestinoFinalRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoDestinoFinal_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoGrandeGerador_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoTransportador_RGG.pdf\"\r\n },\r\n ])\r\n\r\n const [informacoes, setInformacoes] = useState([\r\n {\r\n title: \"Qual o custo para o cadastro?\",\r\n texto: () => (\r\n
\r\n

\r\n Para o estabelecimento grande gerador, é devido o pagamento de preço público de R$ 286,50 (atualização anual dos valores por decreto) e tem validade de um ano.\r\n

\r\n

\r\n Os tratamentos são diferenciados para o Grande e para o Pequeno Gerador.\r\n

\r\n

\r\n Para o Pequeno Gerador, não é cobrado taxa ou o Preço Público e nem a obrigatoriedade de realização de cadastro, e não há previsão legal de multa.\r\n

\r\n

\r\n Para o Grande Gerador as obrigações estão discriminadas na legislação vigente Lei 13.478/02 e decreto 58.701/19 e estes não podem utilizar da coleta publica\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Qual a penalidade para quem não se cadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Quem não estiver cadastrado e for enquadrado pela Prefeitura após fiscalização como um grande gerador de lixo\r\n – acima de 200 litros por dia – estará sujeito a multa de R$ 1.639,60 (valores reajustáveis)\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Quem precisa se cadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Grandes Geradores - Estabelecimentos com geração de resíduos acima de 200 litros por dia.\r\n

\r\n

\r\n Condomínio Não Residencial ou Misto - cuja soma dos resíduos sólidos totalize o volume médio diário igual ou superior a 1.000 (mil) litros; privada para a remoção desses resíduos.\r\n

\r\n

\r\n Transportadores de Resíduos – Com SEDE ou FILIAL aberta no município de São Paulo.\r\n

\r\n

\r\n Áreas de Transbordo e Destino Final – Áreas licenciadas para a recepção de resíduos Classe II A (Resíduos Orgânicos)\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Como saber se sou um grande gerador?\",\r\n texto: () => (\r\n
\r\n

\r\n De acordo com a LEI 13.478/02 e suas alterações e os Decretos regulamentadores, estando estes em consonância com o PGIRS - Plano de Gestão Integrada de Resíduos Sólidos, todos os estabelecimentos com geração de resíduos acima de 200 litros por dia.\r\n

\r\n

\r\n Os condomínios de edifícios não-residenciais ou de uso misto cuja soma dos resíduos sólidos, caracterizados como resíduos da Classe 2 pela NBR 10.004, da ABNT, gerados pelas unidades autônomas que os compõem, totalize o volume médio diário igual ou superior a 1.000 (mil) litros; são considerados Grandes Geradores e devem contratar coleta privada para a remoção desses resíduos.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Sou um transportador com sede em outro município, mas transporto resíduos na capital. Devo me cadastrar no sistema CTR-E RGG?\",\r\n texto: () => (\r\n
\r\n

\r\n Para os transportadores é obrigatório que os mesmos tenham SEDE ou FILIAL aberta no município de São Paulo bem como o Ato de registro de funcionamento emitido pela Subprefeitura local e demais documentos exigidos no momento do cadastro sendo essa uma condição indispensável para poder prestar os serviços na capital.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Qual o custo de inscrição no CTR-E RGG?\",\r\n texto: () => (\r\n
\r\n

\r\n Não há custo para o uso do sistema CTR-E RGG. Porém há cobrança do preço público para a realização do cadastro na SP REGULA que já era aplicado no processo de cadastramento físico. Por exemplo, os grandes geradores deverão pagar uma taxa anual estabelecida pelo Decreto de Preços Público atualizada anualmente de: R$ 286,50 e para os Transportadores o valor de R$ 146,90 e para os Veículos R$58,20.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Qual é a validade do cadastro pago para a SP REGULA?\",\r\n texto: () => (\r\n
\r\n

\r\n A validade do cadastro na SP REGULA é de 1 ano, para todos os entes envolvidos na cadeia de resíduos sólidos. Após esse período é preciso realizar o renovação cadastral no sistema CTR-E RGG.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Minha empresa gera resíduos, mas ainda não tenho uma empresa de transportes para enviá-los para um destino autorizado. Como posso contratar este serviço?\",\r\n texto: () => (\r\n
\r\n

\r\n Você pode buscar a lista de transportadores licenciados na SP REGULA no site www.spregula.sp.gov.br.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Como ficam as emissões de CTR, agora com a integração com SIGOR (Estadual) e o SINIR (Federal)?\",\r\n texto: () => (\r\n
\r\n

\r\n Conforme acordado entre os órgãos das esferas Municipal, Estadual e Federal, os Geradores situados nos municípios que já possuem o sistema CTR-E, devem utilizar deste sistema para a emissão dos seus CTRs. Os sistemas estão sendo integrados e todas as emissões serão compartilhadas entre os órgãos de fiscalização e controle. Portanto, todos devem continuar a emitir seus CTRs. A Transferência de dados é de responsabilidade da SP REGULA, CETESB e SINIR.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n ]);\r\n\r\n const [informacoesRecadastramentro, setInformacoesRecadastramentro] = useState([\r\n {\r\n title: \"Quem precisa se recadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Todos os Grandes Geradores, Transportadoras e Destinos Finais. Em resumo, todas as empresas\r\n que participam da cadeia de geração, coleta e destinação dos resíduos de Grandes Geradores\r\n do município de São Paulo, e que já possuem cadastro ativo.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Será necessário pagar o preço público novamente?\",\r\n texto: () => (\r\n
\r\n

\r\n Não! Se a sua empresa possui atualmente um cadastro ativo, não será gerada nenhuma cobrança adicional.\r\n

\r\n

\r\n Porém será necessário informar a vigência do cadastro atual e enviar o comprovante de pagamento para análise.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"A validade do meu cadastro atual será mantida?\",\r\n texto: () => (\r\n
\r\n

\r\n A vigência do cadastro ativo será mantida, mas será necessário que seja preenchido corretamente a data de vencimento e submetida o comprovante de pagamento.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Eu sou um Grande Gerador, como farei para vincular meu contrato com a minha Transportadora?\",\r\n texto: () => (\r\n
\r\n

\r\n O cadastro é efetuado em algumas etapas e o vínculo do contrato com a empresa de transporte será solicitado ao Grande Gerador na etapa de Locais de Coleta.\r\n

\r\n

\r\n Para maiores dúvidas, consulte o manual de recadastramento de Grandes Geradores clicando aqui.\r\n

\r\n

\r\n Importante: Nessa etapa, o Grande Gerador terá que selecionar o seu Transportador em uma lista que será exibida para ele. Só serão exibidos os Transportadores que realizaram o Recadastramento,\r\n caso seu Transportador não retorne é porque ele ainda não se recadastrou.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Os Pequenos Geradores precisam se recadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Não!\r\n

\r\n

\r\n O Recadastramento será apenas para os Grandes Geradores Privados, Condomínio Misto, Público (Estadual/Federal) e Público Municipal, além dos Transportadores e Destinos Finais.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Será necessário imprimir as etiquetas de QR Code novamente?\",\r\n texto: () => (\r\n
\r\n

\r\n Sim, será necessário a impressão de uma nova etiqueta de identificação em cada estabelecimento.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Quando posso começar a utilizar somente o novo sistema?\",\r\n texto: () => (\r\n
\r\n

\r\n O novo sistema irá trabalhar em paralelo com o antigo CTRE (ctre.com.br) durante 30 dias, com inicio no dia 20/12/2023, quando será liberado o recadastramento dos grandes geradores, até o dia 20/01/2024.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Sou Transportador, como cadastro meus veículos?\",\r\n texto: () => (\r\n
\r\n

\r\n O cadastro dos veículos será feito em 2 etapas.\r\n

\r\n

\r\n Durante o cadastro do Transportador é obrigatório o cadastramento de ao menos 1 veículo. Após esta etapa, poderá adicionado todos os outros.\r\n

\r\n

\r\n Todos os itens com cadastro atual ativo, incluindo veículos, não terão cobrança.\r\n

\r\n

\r\n Para maiores dúvidas, consulte o manual de recadastramento de Transportadores clicando aqui.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n ]);\r\n\r\n //State para mostrar legislação\r\n const [mostrarLegislacao, setMostrarLegislacao] = useState(false);\r\n const [mostrarManual, setMostrarManual] = useState(false);\r\n\r\n const handleMostrarTexto = (index) => {\r\n setInformacoes(prevState => {\r\n const _mensagens = [...prevState];\r\n _mensagens[index] = { ..._mensagens[index], collapse: !_mensagens[index].collapse };\r\n return _mensagens;\r\n });\r\n }\r\n\r\n const handleMostrarRecadastramentoTexto = (index) => {\r\n setInformacoesRecadastramentro(prevState => {\r\n const _mensagens = [...prevState];\r\n _mensagens[index] = { ..._mensagens[index], collapse: !_mensagens[index].collapse };\r\n return _mensagens;\r\n });\r\n }\r\n\r\n return
\r\n {/* cabeçalho */}\r\n
\r\n
\r\n
Dúvidas sobre coleta e destinação de resíduos?
\r\n
\r\n
\r\n \r\n
\r\n ?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* Topicos */}\r\n
\r\n\r\n
\r\n
\r\n
Manuais
\r\n
\r\n
\r\n\r\n setMostrarManual(!mostrarManual)}\r\n >\r\n
Mostrar todos os manuais
\r\n \r\n
\r\n {mostrarManual &&\r\n manuais.map((value, index) => {\r\n return
\r\n
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n
\r\n })\r\n }\r\n
\r\n\r\n
\r\n
\r\n
Grandes Geradores de Resíduos Sólidos
\r\n
\r\n
\r\n {/* Conteudo */}\r\n {informacoes.map((value, index) => {\r\n if(value.link == null)\r\n {\r\n const Component = value.texto;\r\n return
\r\n
handleMostrarTexto(index)}\r\n >\r\n
{value.title}
\r\n {informacoes[index].collapse ? : }\r\n
\r\n \r\n \r\n \r\n
\r\n } else {\r\n return
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n }\r\n })}\r\n \r\n
Recadastramento de Grandes Geradores
\r\n
\r\n {informacoesRecadastramentro.map((value, index) => {\r\n if (value.link == null) {\r\n const Component = value.texto;\r\n return
\r\n
handleMostrarRecadastramentoTexto(index)}\r\n >\r\n
{value.title}
\r\n {informacoesRecadastramentro[index].collapse ? : }\r\n
\r\n \r\n \r\n \r\n
\r\n } else {\r\n return
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n }\r\n })}\r\n \r\n\r\n
\r\n
\r\n
Legislações
\r\n
\r\n
\r\n\r\n setMostrarLegislacao(!mostrarLegislacao)}\r\n >\r\n
Mostrar todas as legislações
\r\n \r\n
\r\n {mostrarLegislacao &&\r\n \r\n }\r\n \r\n\r\n \r\n\r\n ;\r\n\r\n}","import React, { useEffect } from 'react';\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Transportador/Identificacao\";\r\nimport Veiculos from \"../../../views/Shared/Transportador/Veiculos\";\r\nimport LocaisGuarda from \"../../../views/Shared/Transportador/LocaisGuarda\";\r\nimport LocaisDestinacao from \"../../../views/Shared/Transportador/LocaisDestinacao\";\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 7 && opcao.categoria.sigla != \"RGG\") || (step == 4 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null)\r\n set_step(result.data.etapaCadastro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Veiculos', 'Guarda de Veiculos', 'Destinação', 'Equipamentos', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 4 && opcao.categoria.sigla == \"RGG\") || (step < 7 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 &&\r\n : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 2 &&\r\n : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 3 &&\r\n : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 5 && \r\n :\r\n step == 1 && }\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 6 && \r\n :\r\n step == 2 && }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && (step == 7 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Transportador/Identificacao\";\r\nimport Veiculos from \"../../../views/Shared/Transportador/Veiculos\";\r\nimport LocaisGuarda from \"../../../views/Shared/Transportador/LocaisGuarda\";\r\nimport LocaisDestinacao from \"../../../views/Shared/Transportador/LocaisDestinacao\";\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\nimport { useAuth } from 'context/auth';\r\n\r\nexport default function TransportadorRequerimentoRenovacaCadastro({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 7 && opcao.categoria.sigla != \"RGG\") || (step == 4 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Veiculos', 'Guarda de Veiculos', 'Destinação', 'Equipamentos', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\")\r\n && ((step < 4 && opcao.categoria.sigla == \"RGG\") || (step < 7 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 &&\r\n : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 2 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ? step == 3 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 5 &&\r\n \r\n :\r\n step == 1 && }\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 6 &&\r\n \r\n :\r\n step == 2 && }\r\n
\r\n }\r\n {requerimento != null && opcao != null && (step == 7 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"../../../components/ProgressBar/StepperProgress.jsx\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Veiculos from \"../../Shared/Transportador/Veiculos\";\r\nimport Documentos from \"../../Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth.js';\r\n\r\nexport default function TransportadorRequerimentoInclusaoVeiculo({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Veículos\", \"Documentos\"]);\r\n else\r\n set_steps([\"Veículos\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n x.status == \"Ativo\").length}\r\n handleProximoStep={steps.length > 1 ? handleProximoStep : handleFinalizarRequerimento}\r\n />\r\n }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col,\r\n Container,\r\n Card, CardBody\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport ListaVeiculosExclusao from \"../../../views/Shared/Transportador/ListaVeiculosExclusao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoExclusaoVeiculo({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Veículos\", \"Documentos\"]);\r\n else\r\n set_steps([\"Veículos\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloTransportador/' + protocolo_Id)\r\n .then(result => set_protocolo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n 1 ? handleProximoStep : handleFinalizarRequerimento}\r\n />\r\n }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Button,\r\n Container\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"../../../components/ProgressBar/StepperProgress.jsx\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Veiculos from \"../../Shared/Transportador/Veiculos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth.js';\r\n\r\nexport default function TransportadorRequerimentoAlteracao({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [veiculosAlteracao, setVeiculosAlteracao] = React.useState([]);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n\r\n const steps = ['Seleção do Veículo', 'Alteração'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (veiculosAlteracao.length > 1 && requerimento?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RGG\" && requerimento?.setupSolicitacaoAcao?.acao == \"Alteração\") {\r\n showMessage(\"Aviso\", \"Você deve selecionar um veículo que deseja alterar!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (step == 0) {\r\n if (veiculosAlteracao.length == 0) {\r\n showMessage(\"Aviso\", \"Você deve selecionar o(s) veículo(s) que deseja alterar!\", 'error', null);\r\n return;\r\n }\r\n else {\r\n setLoading(true);\r\n var vRequerimentoTransportadorVeiculo_Id = 0;\r\n let RequerimentoTransportadorVeiculo = new Array();\r\n\r\n for (let veiculo of veiculosAlteracao) {\r\n vRequerimentoTransportadorVeiculo_Id = 0;\r\n if (requerimento.requerimentoTransportadorVeiculo.length > 0) {\r\n var retVeiculoPorPlaca = requerimento.requerimentoTransportadorVeiculo.find(x => x.placaAntiga === veiculo.placa);\r\n if (!!retVeiculoPorPlaca) {\r\n vRequerimentoTransportadorVeiculo_Id = retVeiculoPorPlaca.requerimentoTransportadorVeiculo_Id;\r\n }\r\n }\r\n\r\n let requerimentoTransportadorVeiculoModalidade = [];\r\n veiculo.protocoloTransportadorVeiculoModalidades.map(m => {\r\n requerimentoTransportadorVeiculoModalidade.push({\r\n requerimentoTransportadorVeiculoModalidade_Id: 0,\r\n requerimentoTransportadorVeiculo_Id: vRequerimentoTransportadorVeiculo_Id,\r\n modalidade: m.modalidade\r\n });\r\n })\r\n\r\n let item = {\r\n requerimentoTransportadorVeiculo_Id: vRequerimentoTransportadorVeiculo_Id,\r\n requerimento_Id: requerimento.requerimento_Id,\r\n placa: veiculo.placa,\r\n placaAntiga: veiculo.placa,\r\n marca: veiculo.marca == null ? \"\" : veiculo.marca,\r\n tipo: veiculo.tipo == null ? \"\" : veiculo.tipo,\r\n capacidadeCarga: veiculo.capacidadeCarga == null ? \"\" : veiculo.capacidadeCarga,\r\n cor: veiculo.cor == null ? \"\" : veiculo.cor,\r\n tara: veiculo.tara == null ? \"\" : veiculo.tara,\r\n anoFabricacao: veiculo.anoFabricacao == null ? \"\" : veiculo.anoFabricacao,\r\n anoFabricacaoEquipamento: veiculo.anoFabricacaoEquipamento == null ? \"\" : veiculo.anoFabricacaoEquipamento,\r\n numeroRenavam: veiculo.numeroRenavam == null ? \"\" : veiculo.numeroRenavam,\r\n proprietarioOuLocado: veiculo.proprietarioOuLocado == null ? \"\" : veiculo.proprietarioOuLocado,\r\n arquivoRenavam: veiculo.arquivoRenavam,\r\n arquivoInspecaoInmetro: veiculo.arquivoInspecaoInmetro,\r\n arquivoComprovanteTara: veiculo.arquivoComprovanteTara,\r\n status: veiculo.status,\r\n volume: veiculo.volume,\r\n requerimentoTransportadorVeiculoModalidade: requerimentoTransportadorVeiculoModalidade\r\n };\r\n\r\n RequerimentoTransportadorVeiculo.push(item);\r\n };\r\n\r\n if (!!RequerimentoTransportadorVeiculo) {\r\n // Excluir veículos antes de adicionar os novos selecionados \r\n api_POST('requerimentoTransportador/PostRemoverVeiculosRequerimento/' + requerimento.requerimento_Id)\r\n .then(result => {\r\n let _requerimento = requerimento;\r\n _requerimento.requerimentoTransportadorVeiculo = new Array();\r\n _requerimento.requerimentoTransportadorVeiculo = RequerimentoTransportadorVeiculo;\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n };\r\n }\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n loadProtocolo(location.state.protocolo.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n loadProtocolo(location.state.protocolo.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloTransportador/' + protocolo_Id)\r\n .then(result => set_protocolo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n var TodosAlteracao = true;\r\n\r\n if (!!requerimento.requerimentoTransportadorVeiculo) {\r\n for (var validaAlteracao of requerimento.requerimentoTransportadorVeiculo) {\r\n if ((!!validaAlteracao.Alteracao) && (TodosAlteracao)) {\r\n TodosAlteracao = true;\r\n }\r\n else {\r\n TodosAlteracao = false;\r\n }\r\n }\r\n }\r\n\r\n if (TodosAlteracao == false) {\r\n showQuestion(\"Aviso\", \"Existem veículos que ainda não foram alterados. Deseja criar o requerimento mesmo assim? Com a confirmação, os veículos pendentes serão ignorados\", \"question\", function (retorno) {\r\n if (retorno) {\r\n finalizaSolicitacaoRequerimento();\r\n }\r\n });\r\n }\r\n else {\r\n finalizaSolicitacaoRequerimento();\r\n }\r\n\r\n }\r\n\r\n const finalizaSolicitacaoRequerimento = () => {\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () {\r\n history.push(\"/auth/meucadastro\");\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && protocolo != null &&\r\n \r\n \r\n \r\n

Lista de Veículos

\r\n
\r\n \r\n \r\n {\r\n setVeiculosAlteracao(rows)\r\n }}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != null &&\r\n Próxima Etapa \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n step == 1 &&\r\n \r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Container\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from '../../../views/Shared/Transportador/Identificacao';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoAlteracao({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const steps = ['Identificação', 'Documentos'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Transportador\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport {\r\n Button,\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Form,\r\n FormGroup,\r\n Input\r\n} from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { InputTELEFONE } from \"../../services/mask.js\";\r\nimport { api_PUT } from \"../../services/api_service.js\";\r\n\r\n//helpers\r\nimport { ValidaEmail } from \"../../helpers/email\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\n\r\nexport default function AtualizarContato({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const location = useLocation();\r\n\r\n const [step, set_step] = React.useState(0);\r\n\r\n const loadDefaultValues = (field) => {\r\n var item = location.state.protocolo;\r\n\r\n if (item == null)\r\n return \"\";\r\n\r\n if (item.segmentoProtocolo == 'Grande Gerador' || item.segmentoProtocolo == 'Gerador') {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].celular : \"\";\r\n case \"Email\": return item.email ? item.email : \"\";\r\n }\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Transportador') {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].celular : \"\";\r\n case \"Email\": return item.email ? item.email : \"\";\r\n }\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Destino Final') {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].celular : \"\";\r\n case \"Email\": return item.email ? item.email : \"\";\r\n }\r\n }\r\n\r\n }\r\n // E-Mail\r\n const [email, set_email] = React.useState(location.state.protocolo.email);\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n set_email(event.target.value);\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n const handleRetornoValidaEmail = (result) => {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n set_email(\"\");\r\n }\r\n }\r\n\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n let item = location.state.protocolo;\r\n let controller = '';\r\n\r\n if (email == null || email.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"E-mail não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.telefone == null || data.telefone.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Telefone não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.password != '' || data.password.length > 0) {\r\n if (data.password.length < 5) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"A senha precisa conter no mínimo 5 caracteres\", 'error', null);\r\n return;\r\n }\r\n if (data.passwordRpt == null || data.passwordRpt == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"É necessário repetir a senha\", 'error', null);\r\n return;\r\n } else if (data.passwordRpt != data.password) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"As senhas não conferem\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n var itemAtualizado = JSON.parse(JSON.stringify(item));;\r\n\r\n itemAtualizado.email = data.email.length > 0 || data.email != '' ? data.email : item.email;\r\n itemAtualizado.senha = data.password.length > 0 || data.password != '' ? data.password : item.senha;\r\n\r\n if (item.segmentoProtocolo == 'Grande Gerador' || item.segmentoProtocolo == 'Gerador') {\r\n itemAtualizado.protocoloGerador[0].telefone = data.telefone.length > 0 || data.telefone != '' ? data.telefone : item.protocoloGerador[0].telefone;\r\n itemAtualizado.protocoloGerador[0].celular = data.celular.length > 0 || data.celular != '' ? data.celular : item.protocoloGerador[0].celular;\r\n controller = \"protocoloGerador\";\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Transportador') {\r\n itemAtualizado.protocoloTransportador[0].telefone = data.telefone.length > 0 || data.telefone != '' ? data.telefone : item.protocoloTransportador[0].telefone;\r\n itemAtualizado.protocoloTransportador[0].celular = data.celular.length > 0 || data.celular != '' ? data.celular : item.protocoloTransportador[0].celular\r\n controller = \"protocoloTransportador\";\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Destino Final') {\r\n itemAtualizado.protocoloDestino[0].telefone = data.telefone.length > 0 || data.telefone != '' ? data.telefone : item.protocoloDestino[0].telefone;\r\n itemAtualizado.protocoloDestino[0].celular = data.celular.length > 0 || data.celular != '' ? data.celular : item.protocoloDestino[0].celular\r\n controller = \"protocoloDestino\";\r\n }\r\n\r\n\r\n api_PUT(`${controller}/PutContatoProtocolo`, itemAtualizado)\r\n .then(result => {\r\n setLoading(false);\r\n history.push({\r\n pathname: '/auth/MeuCadastro',\r\n })\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {step == 0 &&\r\n <>\r\n \r\n \r\n
\r\n

Dados de Contato

\r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n {errors.emailInvalido && E-mail Inválido}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n

Senha de Acesso

\r\n \r\n \r\n \r\n \r\n \r\n {errors.password && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.password && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n }\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoAlteracaoEquipamento({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([\"Equipamentos\", \"Documentos\"]);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento).then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n \r\n }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, CardFooter, FormGroup, Input, Row, Col, Container, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../services/message.js\";\r\nimport { CancelarRequerimentoByProtocolo } from \"../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaTransportador from \"../Shared/Transportador/FichaTransportador\";\r\nimport FichaGerador from \"../Shared/Gerador/FichaGerador\";\r\nimport FichaDestino from \"../Shared/Destino/FichaDestino\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function MeuCadastro({ history }) {\r\n const { session, setLoading, signIn, signOut, setupSistema } = useAuth();\r\n const { register, errors, setError, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [protocolo, set_protocolo] = useState(null);\r\n const [meuCadastro, set_MeuCadastro] = useState();\r\n const [itemMeuCadastro, set_itemMeuCadastro] = useState(null);\r\n\r\n const handleClickConsultar = () => {\r\n setLoading(true);\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj == \"\") {\r\n showMessage(\"Atenção\", \"Informe o CNPJ/CPF para acessar MEU CADASTRO!\", 'warning', null);\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n api_GET('protocolo/MeuCadastro/' + data.cpf_cnpj)\r\n .then(result => set_MeuCadastro(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleCard = (item, key) => {\r\n return (\r\n \r\n \r\n \r\n {item.categoria_Descricao == \"RSS\" ? item.segmento.replace(\"Grande\", \"\") : item.segmento}\r\n
\r\n \r\n
\r\n Responsável: {item.nomeResponsavel}
\r\n Endereço: {item.endereco}\r\n
\r\n
\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.mensagemBloqueioNovoCadastro != null &&\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n }\r\n {item.mensagemBloqueioNovoCadastro == null &&\r\n \r\n }\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n const handleCancelarRequerimento = (item) => {\r\n showQuestion('Atenção', 'Deseja cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n CancelarRequerimentoByProtocolo(item.protocolo_Id, function (result) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () { window.location.reload() })\r\n })\r\n }\r\n })\r\n }\r\n\r\n const [esqueceuSenha, set_esqueceuSenha] = useState(false);\r\n const [recuperarRequerimento, set_recuperarRequerimento] = useState(false);\r\n\r\n const [modal, setModal] = useState(false);\r\n const openModal = (item) => {\r\n set_itemMeuCadastro(item);\r\n set_esqueceuSenha(false);\r\n setModal(!modal);\r\n }\r\n\r\n const loadProtocolo = (sessionData = null) => {\r\n let paramentros = { protocolo_Id: null, senha: null }\r\n\r\n if (sessionData) {\r\n paramentros.protocolo_Id = sessionData.protocolo_Id;\r\n paramentros.senha = sessionData.senha;\r\n } else {\r\n let data = getValues();\r\n paramentros.senha = data.senhaModal;\r\n paramentros.protocolo_Id = itemMeuCadastro.protocolo_Id;\r\n }\r\n\r\n set_protocolo(null);\r\n setLoading(true);\r\n api_POST(\"Authenticate/AutenticarUsuarioProtocolo\", { protocolo_Id: paramentros.protocolo_Id, password: paramentros.senha })\r\n .then(responseToken => {\r\n setModal(false);\r\n if (responseToken.data?.accessToken) {\r\n api_GET('protocolo/ByDocumentoProtocolo/' + paramentros.protocolo_Id)\r\n .then(response => {\r\n if (response.data.status == \"Pendente\") {\r\n if (response.data.requerimento.filter(f => f.status == \"Em Andamento\" || f.status == \"Pendente\" || f.status == \"Divergente\").length == 0) {\r\n showMessage(\"Atenção\", \"Não foi localizado o requerimento do seu protocolo!\", 'warning', null);\r\n return;\r\n }\r\n else {\r\n setTimeout(function () {\r\n let _requerimento = response.data.requerimento.filter(f => f.status == \"Em Andamento\" || f.status == \"Pendente\" || f.status == \"Divergente\")[0];\r\n history.push({ pathname: \"/auth/ConsultaRequerimento\", state: { protocolo: response.data, requerimento: _requerimento } });\r\n }, 500)\r\n }\r\n }\r\n else {\r\n responseToken.data.senha = paramentros.senha;\r\n signIn(responseToken.data);\r\n set_protocolo(response.data);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const confirmaSenha = () => {\r\n let data = getValues();\r\n\r\n if (!data.senhaModal) {\r\n showMessage(\"Atenção\", \"Informe a senha para acessar MEU CADASTRO!\", 'warning', null);\r\n return;\r\n }\r\n\r\n loadProtocolo(null);\r\n }\r\n\r\n const recuperarSenha = () => {\r\n clearErrors();\r\n let data = getValues();\r\n\r\n if (data.novoEmail.length == 0 || data.codigoCadastro.length == 0) {\r\n if (data.novoEmail.length == 0)\r\n setError(\"novoEmail\", { type: \"focus\" }, { shouldFocus: false });\r\n if (data.codigoCadastro.length == 0)\r\n setError(\"codigoCadastro\", { type: \"focus\" }, { shouldFocus: false });\r\n return;\r\n }\r\n\r\n let new_password = Math.random().toString(36).slice(-8);\r\n let json_post = {\r\n protocolo_Id: itemMeuCadastro.protocolo_Id,\r\n novaSenha: new_password,\r\n email: data.novoEmail,\r\n codigoCadastro: data.codigoCadastro\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`protocolo/PostAtualizarSenha`, json_post)\r\n .then(result => showMessage(\"Atenção\", \"Uma nova senha foi enviada para seu email.\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleRecuperarRequerimento = (item) => {\r\n openModal(item);\r\n set_recuperarRequerimento(true);\r\n }\r\n\r\n const confirmarRecuperarRequerimento = () => {\r\n clearErrors();\r\n let data = getValues();\r\n\r\n if (data.novoEmail.length == 0) {\r\n if (data.novoEmail.length == 0)\r\n setError(\"novoEmail\", { type: \"focus\" }, { shouldFocus: false });\r\n return;\r\n }\r\n\r\n let json_post = {\r\n protocolo_Id: itemMeuCadastro.protocolo_Id,\r\n email: data.novoEmail\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`protocolo/PostRecuperarRequerimento`, json_post)\r\n .then(result => showMessage(\"Atenção\", \"Enviado o Requerimento para E-Mail informado.\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (session && session.tipoAcesso != \"Protocolo\") {\r\n signOut(false);\r\n window.location.reload();\r\n }\r\n if (session && (new Date(session.expiration) < new Date())) {\r\n signOut(false);\r\n window.location.reload();\r\n } \r\n if (session && session.tipoAcesso == \"Protocolo\" && protocolo == null)\r\n loadProtocolo(session);\r\n }, [session]);\r\n\r\n return (\r\n <>\r\n
\r\n {protocolo == null &&\r\n \r\n \r\n \r\n {!meuCadastro &&\r\n

Meu Cadastro {setupSistema?.identificacao}

\r\n }\r\n {meuCadastro &&\r\n

Bem-vindo

\r\n }\r\n {meuCadastro && meuCadastro.segmentos.filter(f => f.statusProtocolo == \"Ativo\").length > 0 && setupSistema && setupSistema.tipoCertificadoTransportador == \"Unificado\" &&\r\n
\r\n
\r\n
Clique no QRCode abaixo para extrair seu Certificado
\r\n window.open(\"/empty/CertificadoTransportadorUnificado?protocolo=\" + meuCadastro.segmentos[0].numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n
\r\n }\r\n
\r\n \r\n {!meuCadastro &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n {meuCadastro != null && meuCadastro.segmentos.length > 0 &&\r\n \r\n {meuCadastro.segmentos.map((item, key) => {\r\n return handleCard(item, key);\r\n })}\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n setModal(false)}>\r\n setModal(false)}>×}\r\n className=\"md-hd\"> Acesso de {itemMeuCadastro && itemMeuCadastro.nomeResponsavel}\r\n \r\n \r\n \r\n {!esqueceuSenha && !recuperarRequerimento &&\r\n \r\n \r\n \r\n \r\n \r\n set_esqueceuSenha(true)}>Esqueci a Senha\r\n \r\n \r\n \r\n }\r\n {esqueceuSenha &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.novoEmail && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n ATENÇÃO!\r\n Caso você seja Grande Gerador de Resíduo Comum (RGG), o seu Código Cadastro - SP Regula se encontra abaixo do QR-Code escaneado durante as coletas.\r\n Insira o código sem as letras e com a barra.\r\n Exemplo: 1234567/2024\r\n Para os demais resíduos como RCC e RSS favor entrar em contato com a SP-REGULA\r\n \r\n \r\n \r\n }\r\n {recuperarRequerimento &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.novoEmail && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {!esqueceuSenha && !recuperarRequerimento &&\r\n \r\n }\r\n {esqueceuSenha && !recuperarRequerimento &&\r\n \r\n }\r\n {!esqueceuSenha && recuperarRequerimento &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n {protocolo != null && protocolo.protocoloTransportador != null && protocolo.protocoloTransportador.length > 0 && protocolo.status !== \"Pendente\" &&\r\n \r\n }\r\n {protocolo != null && protocolo.protocoloGerador != null && protocolo.protocoloGerador.length > 0 && protocolo.status !== \"Pendente\" &&\r\n \r\n }\r\n {protocolo != null && protocolo.protocoloDestino != null && protocolo.protocoloDestino.length > 0 && protocolo.status !== \"Pendente\" &&\r\n \r\n }\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n\r\n\r\n// services\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n// views\r\nimport FichaRequerimentoTransportador from \"../../views/Shared/Transportador/FichaRequerimento\"\r\nimport FichaRequerimentoGerador from \"../../views/Shared/Gerador/FichaRequerimento\"\r\nimport FichaRequerimentoDestino from \"../../views/Shared/Destino/FichaRequerimento\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function ConsultaRequerimento({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n useEffect(() => {\r\n if (location.state.requerimento != null) {\r\n set_requerimento(null);\r\n setLoading(true);\r\n getRequerimento(location.state.requerimento.numeroRequerimento, location.state.protocolo.senha);\r\n }\r\n }, []);\r\n\r\n const getRequerimento = (numeroRequerimento, senha) => {\r\n api_GET('requerimento/ByNumeroRequerimentoSenha/' + numeroRequerimento + \"/\" + senha).then(result => {\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Transportador\") {\r\n api_GET('protocolotransportador/' + result.data.protocolo_Id)\r\n .then(result_protocolo => handleOpenRequerimentoTransportador(result_protocolo.data, result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\") {\r\n api_GET('protocologerador/' + result.data.protocolo_Id)\r\n .then(result_protocolo => handleOpenRequerimentoGerador(result_protocolo.data, result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Destino Final\") {\r\n api_GET('protocolodestino/' + result.data.protocolo_Id)\r\n .then(result_protocolo => handleOpenRequerimentoDestino(result_protocolo.data, result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimentoTransportador = (protocolo, rowData) => {\r\n if (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n window.location = '/auth/TransportadorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoInclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoExclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n set_requerimento(rowData);\r\n }\r\n }\r\n\r\n const handleOpenRequerimentoGerador = (protocolo, rowData) => {\r\n if (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\":\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RCC\" || protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")\r\n window.location = '/auth/GeradorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n else\r\n window.location = '/auth/GeradorRSSRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RCC\" || protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n else\r\n history.push({\r\n pathname: '/auth/GeradorRSSRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n set_requerimento(rowData);\r\n }\r\n }\r\n\r\n const handleOpenRequerimentoDestino = (protocolo, rowData) => {\r\n if (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\":\r\n window.location = '/auth/DestinoRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n set_requerimento(rowData);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n\r\n {requerimento != null && requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Transportador\" &&\r\n \r\n }\r\n {requerimento != null && requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\" &&\r\n \r\n }\r\n {requerimento != null && requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Destino Final\" &&\r\n \r\n }\r\n\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function CarteirinhaVeiculo({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n const [titleCard, setTitleCard] = useState(\"Transportador de Entulho\")\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('protocolotransportador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n if (result.data.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")\r\n setTitleCard(\"Transportador de Grandes Geradores\")\r\n\r\n let protocolo = result.data;\r\n let _carteirinha = {\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n placa: protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo.filter(f => f.protocoloTransportadorVeiculo_Id == params.veiculo)[0].placa,\r\n documento: protocolo.cpf_Cnpj,\r\n nome: protocolo.protocoloTransportador[0].razaoSocial,\r\n endereco: protocolo.protocoloTransportador[0].logradouro + \", \" + protocolo.protocoloTransportador[0].numEndereco + \", \" + protocolo.protocoloTransportador[0].bairro,\r\n protocolo: params.protocolo,\r\n veiculo: params.veiculo\r\n }\r\n set_dadoscarteirinha(_carteirinha);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{titleCard}

\r\n \r\n \r\n \r\n \r\n \r\n Código Cadastro - {setupSistema?.identificacao}:
{dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade:
{formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n Placa:
{dadoscarteirinha.placa}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"Razão Social\" : \"Nome\"}: {dadoscarteirinha.nome}\r\n \r\n \r\n Endereço: {dadoscarteirinha.endereco}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport queryString from 'query-string';\r\nimport MaterialTable from 'material-table';\r\n\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container, Modal, ModalBody, Button, ModalFooter } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Residuos from \"../../../views/Shared/Gerador/Residuos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\nimport CaracterizacaoResiduos from 'views/Shared/Gerador/CaracterizacaoResiduos';\r\n\r\n//Contants\r\nimport { table_translate, table_style } from '../../../constants/MaterialTable';\r\n\r\n//Helpers\r\nimport mascaras from '../../../helpers/mascaras';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n // State para pega a opção do cadastro\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n // State para definir o passa a passa do formulário\r\n const [steps, setSteps] = useState([]);\r\n\r\n //State para modal\r\n const [isModal, setIsModal] = useState(false);\r\n\r\n //Função para alterar o state do modal\r\n const toggle = () => setIsModal(!isModal);\r\n\r\n //State para pegar os transportadores no sistema de cadastro do tipo RGG\r\n const [list_transportadoresRGG, set_list_transportadores] = useState([]);\r\n\r\n //State para controlar o botão para aparecer ou não a olista dos transportadores\r\n const [visualizarTransportadores, setVisualizarTransportadoes] = useState(false);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadTransportadoresRGG = () => {\r\n api_GET('ProtocoloTransportador/GetListTransportadoresRGG').then(result => {\r\n set_list_transportadores(result.data.map(value => {\r\n value.telefone = mascaras.telefoneMask(value.telefone);\r\n return value;\r\n }))\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n const loadRequerimento = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n setIsModal(false);\r\n } else {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n if (result.data.requerimentoGeradorLocal.length == 0) {\r\n loadTransportadoresRGG();\r\n }\r\n setIsModal(true)\r\n }\r\n set_requerimento(result.data);\r\n\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null)\r\n set_step(result.data.etapaCadastro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n\r\n return (\r\n <>\r\n {isModal && step == 0 &&\r\n \r\n \r\n \r\n \r\n

Você já possui contrato de coleta privada?

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

\r\n Caso possua, pode prosseguir para a próxima etapa, onde você deverá informar o endereço de coleta e incluir o contrato que possui com o Transportador.\r\n

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

\r\n Caso não possua, verifique abaixo a lista dos Transportadores credenciados na SP Regula. Para prosseguir com seu cadastro, você terá que contratar a coleta privada primeiro, pois será necessário incluir o contrato de prestação de serviços na solicitação de cadastro.\r\n

\r\n \r\n
\r\n {list_transportadoresRGG.length > 0 &&\r\n \r\n \r\n setVisualizarTransportadoes(!visualizarTransportadores)}\r\n >\r\n Visualizar transportadores\r\n \r\n \r\n {visualizarTransportadores &&\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n\r\n {opcao.categoria.sigla != \"RGG\" && step == 2 &&\r\n \r\n\r\n }\r\n\r\n {opcao.categoria.sigla == \"RGG\" && step == 2 &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n \r\n }\r\n\r\n {step == 4 &&\r\n \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && step == 5 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Residuos from \"../../../views/Shared/Gerador/Residuos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\nimport CaracterizacaoResiduos from '../../../views/Shared/Gerador/CaracterizacaoResiduos';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoRenovacaoCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n // State para pega a opção do cadastro\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n // State para definir o passa a passa do formulário\r\n const [steps, setSteps] = useState([]);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n } else {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n }\r\n\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n {step == 2 && opcao.categoria.sigla != \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 2 && opcao.categoria.sigla == \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n \r\n }\r\n\r\n {step == 4 &&\r\n \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && step == 5 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoInclusaoLocal({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Coleta\", \"Documentação\"]);\r\n else\r\n set_steps([\"Locais de Coleta\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport ListaLocaisColetaExclusao from \"../../../views/Shared/Gerador/ListaLocaisColetaExclusao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoExclusaoLocal({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Coleta\", \"Documentos\"]);\r\n else\r\n set_steps([\"Locais de Coleta\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloGerador/' + protocolo_Id).then(result => {\r\n set_protocolo(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n\r\n// API\r\nimport { api_GET, api_POST } from \"../../../services/api_service\";\r\n\r\n//Helpers\r\nimport { showMessage } from \"../../../services/message\";\r\n\r\n//Views\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport Residuos from \"../../../views/Shared/Gerador/Residuos\";\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\n\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function RequerimentoAlteracaoCadastro({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n // State para pega a opção do cadastro\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n // State para definir o passa a passa do formulário\r\n const [steps, setSteps] = useState([]);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n } else {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n }\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n\r\n {step == 2 && opcao.categoria.sigla != \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 2 && opcao.categoria.sigla == \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n \r\n }\r\n\r\n {step == 4 &&\r\n \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && step == 5 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\n//Components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema.jsx\";\r\n\r\nexport default function CarteirinhaGG({ history }) {\r\n\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = React.useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n\r\n // array dos locais\r\n const _enderencosLocais = protocolo.protocoloGerador && protocolo.protocoloGerador[0].protocoloGeradorLocais\r\n\r\n let _carteirinha = {\r\n sigla: protocolo?.setupSolicitacaoAcaoNovoCadastro?.setupSolicitacao?.categoria?.sigla,\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n documento: protocolo.cpf_Cnpj,\r\n nome: protocolo.protocoloGerador[0].razaoSocial,\r\n endereco: _enderencosLocais,\r\n protocolo: params.protocolo,\r\n }\r\n set_dadoscarteirinha(_carteirinha);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Grandes Geradores de Resíduos {dadoscarteirinha.sigla == \"RGG\" ? \"Sólidos\" : \"Inertes\"}

\r\n \r\n \r\n \r\n \r\n \r\n Nº de Cadastro:
{dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade:
{formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"Razão Social\" : \"Nome\"}: {dadoscarteirinha.nome}\r\n \r\n {dadoscarteirinha.endereco.length > 0 && dadoscarteirinha.endereco.map((value, index) => (\r\n \r\n Endereço{dadoscarteirinha.endereco.length > 1 ? `(${index + 1}):` : \":\"} {value.logradouro + \", \" + value.numEndereco + \", \" + value.bairro}\r\n \r\n ))}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport queryString from 'query-string';\r\nimport { useReactToPrint } from \"react-to-print\";\r\n\r\n// reactstrap components\r\nimport { Button } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n//Logos\r\nimport ImageLogo from \"../../assets/img/logoSPRegula.png\";\r\nimport logoFooterSPRegula from \"../../assets/img/logoFooterSPRegula.png\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function QrCodeLocalidadeRGG({ history }) {\r\n const { setLoading } = useAuth();\r\n const [localidades, setLocalidades] = useState([]);\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const componentRef = useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n if (protocolo) {\r\n api_GET('RGG/GetLocalidadesGeradoresTAG/' + protocolo.cpf_Cnpj).then(result => {\r\n if (result.data?.length > 0 && result.data.filter(x => x.contratos.length > 0).length == 0) {\r\n showMessage(\"Aviso\", \"Você não possuir contratos!\", 'warning', null);\r\n return;\r\n }\r\n setLocalidades(result.data)\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n showMessage(\"Error\", \"Error ao consultar QrCodes do contratos.\", 'error', null);\r\n return;\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {localidades.length > 0 && localidades.filter(x => x.contratos.length > 0).length > 0 &&\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n {localidades.map((local, key) => (\r\n local.contratos.map((contrato, keyContrato) => (\r\n
\r\n
\r\n {!!ImageLogo && \"Logo\"}\r\n
\r\n
\r\n \r\n
\r\n

{contrato.modalidade}

\r\n

Gerador: {local.identificacao}

\r\n

Transportador: {contrato.nomeFantasiaTransportador}

\r\n\r\n
\r\n {!!logoFooterSPRegula &&\r\n \"Footer\r\n }\r\n

Endereço: {local.logradouro}, {local.numero}, {local.bairro}{local.complemento ? ` - ${local.complemento}` : \"\"}, {local.cidade} - {local.uf}

\r\n
\r\n
\r\n ))\r\n ))}\r\n
\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport LocaisArmazenagem from \"../../../views/Shared/Gerador/LocaisArmazenagem\";\r\nimport LocaisColeta from '../../../views/Shared/Gerador/LocaisColeta';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRSSRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n let _classificacaoGG = [\"EGRS 1\", \"EGRS 2\", \"EGRS 3\", \"EGRS 4\", \"EGRS 5\", \"EGRS 6\"]\r\n\r\n const steps = ['Identificação', 'Caracterização dos Resíduos', 'Armazenagem dos Resíduos', 'Pontos de Coleta', 'Documentação'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 6) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n if (step == 2 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step + 2);\r\n else\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n if (step == 4 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step - 2);\r\n else\r\n set_step(step - 1);\r\n }\r\n\r\n useEffect(() => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null) {\r\n if (result.data.etapaCadastro == 3 && _classificacaoGG.filter(f => f == result.data.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(4);\r\n else\r\n set_step(result.data.etapaCadastro);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && step < 6 &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {step == 1 && }\r\n {step == 2 && }\r\n {step == 3 && }\r\n {step == 4 && }\r\n {step == 5 && }\r\n
\r\n }\r\n\r\n {requerimento != null && step == 6 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport LocaisArmazenagem from \"../../../views/Shared/Gerador/LocaisArmazenagem\";\r\nimport LocaisColeta from '../../../views/Shared/Gerador/LocaisColeta';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRSSRequerimentoNovoCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const location = useLocation();\r\n let _classificacaoGG = [\"EGRS 1\", \"EGRS 2\", \"EGRS 3\", \"EGRS 4\", \"EGRS 5\", \"EGRS 6\"]\r\n\r\n const steps = ['Identificação', 'Caracterização dos Resíduos', 'Armazenagem dos Resíduos', 'Pontos de Coleta', 'Documentação'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 6) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n if (step == 2 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step + 2);\r\n else\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n if (step == 4 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step - 2);\r\n else\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && step < 6 &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {step == 1 && }\r\n {step == 2 && }\r\n {step == 3 && }\r\n {step == 4 && }\r\n {step == 5 && }\r\n
\r\n }\r\n\r\n {requerimento != null && step == 6 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from '../../../views/Shared/Destino/Locais';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 3 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n useEffect(() => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null)\r\n set_step(result.data.etapaCadastro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }, []);\r\n\r\n const steps = [];\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 3 && opcao.categoria.sigla == \"RGG\") || (step < 4 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 3 && \r\n :\r\n step == 2 && \r\n }\r\n
\r\n }\r\n {requerimento != null && opcao != null && (step == 4 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Locais from \"../../../views/Shared/Destino/Locais\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoInclusaoLocal({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id).then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Destinação\", \"Documentação\"]);\r\n else\r\n set_steps([\"Locais de Destinação\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit).then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET, api_POST } from \"services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from \"../../../views/Shared/Destino/Locais\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoRenovacaoCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 3 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 3 && opcao.categoria.sigla == \"RGG\") || (step < 4 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 3 && \r\n :\r\n step == 2 && \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && (step == 4 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col,\r\n Container,\r\n Card, CardBody\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport ListaLocaisExclusao from \"../../../views/Shared/Destino/ListaLocaisExclusao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoExclusaoLocal({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Destinação\", \"Documentos\"]);\r\n else\r\n set_steps([\"Locais de Destinação\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloDestino/' + protocolo_Id)\r\n .then(result => set_protocolo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\"); }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from \"../../../views/Shared/Destino/Locais\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoAlteracao({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 3 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimentoDestino/PostRequerimentoDestinoAlteracaoCompleta ', json_submit).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 3 && opcao.categoria.sigla == \"RGG\") || (step < 4 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 3 && \r\n :\r\n step == 2 && \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && (step == 4 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport MaterialTable from 'material-table';\r\nimport Documentos from 'views/Shared/Documentos';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Button, Modal, ModalHeader, ModalBody, ModalFooter, Form, Input, Container } from \"reactstrap\";\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoAumentoCapacidade({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = useState(null);\r\n const [locais, set_locais] = useState([]);\r\n const [capacidadeAtualizada, set_capacidadeAtualizada] = useState('');\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [localDestinoAtual, set_LocalDestinoAtual] = useState({\r\n identificacao: \"\",\r\n cep: \"\",\r\n logradouro: \"\",\r\n numEndereco: \"\",\r\n complemento: \"\",\r\n bairro: \"\",\r\n cidade: \"\",\r\n uf: \"\",\r\n geoLocalizacao: \"\",\r\n capacidadeAntiga: \"\",\r\n capacidadeNova: \"\"\r\n });\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0) {\r\n set_steps([\"Locais de Destinação\", \"Documentação\"]);\r\n }\r\n else {\r\n set_steps([\"Locais de Destinação\"]);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const [modal, setModal] = useState(false);\r\n const toggle = (rowData) => {\r\n set_LocalDestinoAtual({\r\n identificacao: rowData.identificacao,\r\n cep: rowData.cep,\r\n bairro: rowData.bairro,\r\n cidade: rowData.cidade,\r\n complemento: rowData.complemento,\r\n geoLocalizacao: rowData.geoLocalizacao,\r\n logradouro: rowData.logradouro,\r\n numEndereco: rowData.numEndereco,\r\n uf: rowData.uf,\r\n capacidadeAntiga: rowData.capacidade\r\n });\r\n\r\n setModal(!modal);\r\n };\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.protocolo != null && location.state.protocolo.protocoloDestino[0].protocoloDestinoLocais.length > 0) {\r\n set_locais(location.state.protocolo.protocoloDestino[0].protocoloDestinoLocais)\r\n }\r\n\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento', json_submit)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n disabled: location.state.edit,\r\n onClick: (event, rowData) => {\r\n toggle(rowData);\r\n }\r\n }\r\n ]);\r\n\r\n const handleAumentoCapacidade = (event) => {\r\n set_capacidadeAtualizada(event.target.value);\r\n }\r\n\r\n const handleFinalizarAumento = () => {\r\n\r\n if (capacidadeAtualizada === \"\") {\r\n showMessage(\"Aviso\", \"Por favor preencha o campo!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (capacidadeAtualizada <= localDestinoAtual.capacidadeAntiga) {\r\n showMessage(\"Aviso\", \"A Capacidade alterada tem que ser maior!\", 'error', null);\r\n return;\r\n }\r\n\r\n const json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id,\r\n identificacao: localDestinoAtual.identificacao,\r\n cep: localDestinoAtual.cep,\r\n logradouro: localDestinoAtual.logradouro,\r\n numEndereco: localDestinoAtual.numEndereco,\r\n complemento: localDestinoAtual.complemento,\r\n bairro: localDestinoAtual.bairro,\r\n cidade: localDestinoAtual.cidade,\r\n uf: localDestinoAtual.uf,\r\n geoLocalizacao: localDestinoAtual.geoLocalizacao,\r\n capacidadeAntiga: localDestinoAtual.capacidadeAntiga,\r\n capacidadeNova: capacidadeAtualizada\r\n }\r\n\r\n setLoading(true);\r\n api_POST('RequerimentoDestino/PostRequerimentoDestinoAumentoCapacidade', json_submit)\r\n .then(result => {\r\n if (steps.length == 1) {\r\n handleFinalizarRequerimento();\r\n } else {\r\n set_step(step + 1);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro!\", 'success', function () { history.push(\"/auth/meucadastro\") }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && (\r\n <>\r\n \r\n \r\n Capacidade\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n rowData.status != null ? rowData.status : \"Ativo\" }\r\n ]}\r\n data={locais}\r\n isLoading={false}\r\n actions={actions}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n )\r\n }\r\n\r\n {steps.length > 1 && step == 1 && }\r\n
\r\n }\r\n\r\n\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoRSS({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n const d = new Date();\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n let _carteirinha = {\r\n codCadastro: protocolo.codigoCadastro,\r\n dataCadastro: protocolo.dataCadastro,\r\n nome: protocolo.protocoloGerador[0].razaoSocial != null && protocolo.protocoloGerador[0].razaoSocial != \"\" ? protocolo.protocoloGerador[0].razaoSocial : protocolo.protocoloGerador[0].nome_Fantasia,\r\n cpfCnpj: protocolo.cpf_Cnpj,\r\n endereco: protocolo.protocoloGerador[0].logradouro,\r\n numero: protocolo.protocoloGerador[0].numEndereco,\r\n complemento: protocolo.protocoloGerador[0].complemento,\r\n bairro: protocolo.protocoloGerador[0].bairro,\r\n cep: protocolo.protocoloGerador[0].cep,\r\n telefone: protocolo.protocoloGerador[0].telefone,\r\n tipoEstabelecimento: protocolo.protocoloGerador[0].tipoEstabelecimento != null ? protocolo.protocoloGerador[0].tipoEstabelecimento.descricao : \"\",\r\n protocolo: params.protocolo\r\n }\r\n set_dadoscarteirinha(_carteirinha);\r\n }\r\n )\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Agência Reguladora de Serviços Públicos
\r\n
do Município de São Paulo
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Certificado de Cadastramento

\r\n
Coleta de Resíduos de Serviços de Saúde
\r\n \r\n
\r\n \r\n \r\n Código do Gerador:\r\n \r\n \r\n {dadoscarteirinha.codCadastro}\r\n \r\n \r\n Nome do Estabelecimento:\r\n \r\n \r\n {dadoscarteirinha.nome}\r\n \r\n \r\n CPF / CNPJ:\r\n \r\n \r\n {dadoscarteirinha.cpfCnpj}\r\n \r\n \r\n Endereço:\r\n \r\n \r\n {dadoscarteirinha.endereco}\r\n \r\n \r\n Número:\r\n \r\n \r\n {dadoscarteirinha.numero}\r\n \r\n \r\n Complemento:\r\n \r\n \r\n {dadoscarteirinha.complemento}\r\n \r\n \r\n Bairro:\r\n \r\n \r\n {dadoscarteirinha.bairro}\r\n \r\n \r\n CEP:\r\n \r\n \r\n {dadoscarteirinha.cep}\r\n \r\n \r\n Telefone:\r\n \r\n \r\n {dadoscarteirinha.telefone}\r\n \r\n \r\n Tipo de Estabelecimento:\r\n \r\n \r\n {dadoscarteirinha.tipoEstabelecimento}\r\n \r\n \r\n Data de Cadastro:\r\n \r\n \r\n {formateDate(dadoscarteirinha.dataCadastro)}\r\n \r\n \r\n \r\n \r\n

O estabelecimento citado encontra-se cadastrado junto a Agência Reguladora de Serviços Públicos do Município de São Paulo - SP REGULA\r\n para a Coleta de Resíduos de Serviços de Saúde e deverá obedecer todas as exigências legais próprias deste serviço (Decreto Municipal 37066/97).\r\n

\r\n \r\n \r\n São Paulo, {formateDate(d.toDateString())}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Exigências Mínimas:

\r\n

1. Apresentar para a coleta somente resíduos infectantes;

\r\n

2. Adicionar todos os resíduos em sacos plásticos branco-leitosos, padrão ABNT NBR-9190.
\r\n Utilizar até 2/3 do volume da embalagem que deve ser fechada e apresentada sem vazamentos;

\r\n

3. Acondicionar os materiais perfurocortantes em embalagens rígidas, previamente em saco plástico branco-leitoso;

\r\n

4. Os abrigos para os resíduos devem apresentar o padrão ABNT NBR-12809 e ser desinfetados e lavados periodicamente;

\r\n

5. Fácil acesso dos veículos coletores ao abrigo de resíduos;

\r\n

6. Respeito aos funcionários da coleta.

\r\n \r\n
\r\n \r\n \r\n Solicitações, Reclamações ou Sugestões na prestação de serviços, favor acessar o Portal 156.\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate, transformValueFloattoFormated } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoTransportador({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = React.useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('protocolotransportador/GetCertificadoTransportador/' + params.protocolo)\r\n .then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n set_dadoscarteirinha(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {Parser(dadoscarteirinha.cabecalho)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CERTIFICADO DE CREDENCIAMENTO PARA TRANSPORTE DE RESÍDUOS

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

Protocolo: {dadoscarteirinha.protocolo}

\r\n

Validade: {formateDate(dadoscarteirinha.validadeCadastro)}

\r\n
\r\n
\r\n
\r\n
\r\n {Parser(dadoscarteirinha.legislacao)}\r\n

CNPJ: {dadoscarteirinha.cnpj}

\r\n

Razão Social: {dadoscarteirinha.razaoSocial}

\r\n

Endereço: {dadoscarteirinha.enderecoCompleto}

\r\n

Os veículos credenciados (citados na tabela \"Quadro Demonstrativo da Frota\" deste certificado) deverão ser de uso exclusivo dos serviços de coleta e transporte de resíduos requeridos, sendo vedada a sua utilização para outras modalidades.

\r\n

Este certificado de credenciamento tem validade até {formateDate(dadoscarteirinha.validadeCadastro)}, e sua renovação dependerá de requerimento do interessado, desde que haja o cumprimento das exigências conferidas na legislação municipal, estadual e federal acerca do tema.

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

Quadro Demonstrativo da Frota

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadoscarteirinha.veiculos.map((m, key) => {\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\n \r\n
PlacaPróprio ou LocadoMarca e Modelo do ChassiAno de Fab. do ChassiCap. de Carga (KG)Tara (KG)Tipo de EquipamentoAno de Fab. do Equip.CorVolume (m³)
{m.placa}{m.proprioOuLocado}{m.marcaModelo}{m.anoFabricacao}{m.capacidadeCarga}{m.tara}{m.tipoEquipamento}{m.anoFabricacaoEquipamento}{m.cor}{transformValueFloattoFormated(m.volume)}
\r\n
\r\n
\r\n



\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate, transformValueFloattoFormated } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoTransportadorUnificado({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = React.useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('protocolotransportador/GetCertificadoTransportadorUnificado/' + params.protocolo)\r\n .then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n set_dadoscarteirinha(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {Parser(dadoscarteirinha.cabecalho)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CERTIFICADO DE CREDENCIAMENTO PARA TRANSPORTE DE RESÍDUOS SÓLIDOS

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

Processo de Credenciamento: {dadoscarteirinha.codigoSistemaPrefeitura}

\r\n

Validade: {formateDate(dadoscarteirinha.validadeCadastro)}

\r\n
\r\n
\r\n
\r\n
\r\n {Parser(dadoscarteirinha.legislacao)}\r\n

CNPJ: {dadoscarteirinha.cnpj}

\r\n

Razão Social: {dadoscarteirinha.razaoSocial}

\r\n

Endereço: {dadoscarteirinha.enderecoCompleto}

\r\n

Os veículos credenciados (citados na tabela \"Quadro Demonstrativo da Frota\" deste certificado) deverão ser de uso exclusivo dos serviços de coleta e transporte de resíduos requeridos, sendo vedada a sua utilização para outras modalidades.

\r\n

Este certificado de credenciamento tem validade até {formateDate(dadoscarteirinha.validadeCadastro)}, e sua renovação dependerá de requerimento do interessado, desde que haja o cumprimento das exigências conferidas na legislação municipal, estadual e federal acerca do tema.

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {dadoscarteirinha.categorias.map((m, key) => (\r\n
\r\n
\r\n

{m.categoria_Descricao}

\r\n
Quadro Demonstrativo da Frota
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {m.veiculos.map((m, key2) => {\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\n \r\n
PlacaPróprio ou LocadoMarca e Modelo do ChassiAno de Fab. do ChassiCap. de Carga (KG)Tara (KG)Tipo de EquipamentoAno de Fab. do Equip.CorVolume
{m.placa}{m.proprioOuLocado}{m.marcaModelo}{m.anoFabricacao}{m.capacidadeCarga}{m.tara}{m.tipoEquipamento}{m.anoFabricacaoEquipamento}{m.cor}{transformValueFloattoFormated(m.volume)}
\r\n
\r\n
\r\n ))}\r\n



\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n\r\nexport default function CertificadoDestino({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('protocolodestino/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n\r\n let local = protocolo.protocoloDestino[0].protocoloDestinoLocais.filter(f => f.protocoloDestinoLocal_Id == params.local)[0];\r\n\r\n let _carteirinha = {\r\n cabecalho: protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.cabecalhoCertificado,\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n documento: protocolo.cpf_Cnpj,\r\n nome: local.identificacao,\r\n endereco: local.logradouro + \", \" + local.numEndereco + \", \" + local.bairro,\r\n protocolo: params.protocolo,\r\n localId: local.protocoloDestinoLocal_Id\r\n }\r\n\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao == \"Destino Final de RCC\") {\r\n _carteirinha.endereco = protocolo.protocoloDestino[0].logradouro + \", \" +\r\n protocolo.protocoloDestino[0].numEndereco + \", \" +\r\n protocolo.protocoloDestino[0].bairro;\r\n _carteirinha.nome = protocolo.protocoloDestino[0].razaoSocial;\r\n }\r\n\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao == \"Banco de Manejo - Até 1.000m³\") {\r\n _carteirinha.nome = protocolo.protocoloDestino[0].razaoSocial;\r\n }\r\n\r\n set_dadoscarteirinha(_carteirinha)\r\n\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {Parser(dadoscarteirinha.cabecalho)}\r\n \r\n \r\n \r\n \r\n ÁREA DE DESTINAÇÃO DOS RESÍDUOS DA CONSTRUÇÃO CIVIL\r\n \r\n \r\n Código Cadastro - {setupSistema?.identificacao}: {dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade: {formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"Razão Social\" : \"Nome\"}: {dadoscarteirinha.nome}\r\n \r\n \r\n Endereço: {dadoscarteirinha.endereco}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoDestinoRGG({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('protocolodestino/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n let protocolo = result.data;\r\n const { logradouro, numEndereco, bairro, razaoSocial } = protocolo.protocoloDestino[0];\r\n\r\n let _carteirinha = {\r\n cabecalho: protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.cabecalhoCertificado ?? \"cabeçalho TESTE\",\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n documento: protocolo.cpf_Cnpj,\r\n razaoSocial: razaoSocial,\r\n endereco: logradouro + \", \" + numEndereco + \", \" + bairro,\r\n protocolo: protocolo\r\n }\r\n\r\n set_dadoscarteirinha(_carteirinha);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {Parser(dadoscarteirinha.cabecalho)}\r\n \r\n \r\n \r\n \r\n ÁREA DE DESTINAÇÃO DOS RESÍDUOS DE GRANDES GERADORES\r\n \r\n \r\n Código Cadastro - {setupSistema?.identificacao}: {dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade: {formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n Razão Social: {dadoscarteirinha?.razaoSocial}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n Endereço: {dadoscarteirinha.endereco}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\n\r\n// views\r\nimport Documentos from \"../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n\r\nexport default function RequerimentoCancelamento({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n set_opcao({ tipoCadastro: \"Requerimento\", segmento: result.data.segmento, categoria: result.data.categoria });\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Motivo\", \"Documentos\"]);\r\n else\r\n set_steps([\"Motivo\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n if (result.data.requerimentoMotivoCancelamento.length > 0)\r\n setValue(\"motivo\", result.data.requerimentoMotivoCancelamento[0].motivo);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (data.motivo == \"\") {\r\n showMessage(\"Aviso\", \"Preencha a descrição do motivo do cancelamento!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n requerimentoMotivoCancelamento_Id: requerimento.requerimentoMotivoCancelamento.length > 0 ? requerimento.requerimentoMotivoCancelamento[0].requerimentoMotivoCancelamento_Id : 0,\r\n requerimento_Id: requerimento.requerimento_Id,\r\n motivo: data.motivo\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.requerimentoMotivoCancelamento_Id == 0) {\r\n api_POST('Requerimento/PostRequerimentoMotivoCancelamento', json_submit)\r\n .then(result => {\r\n if (steps.length > 1)\r\n handleProximoStep(result.data);\r\n else\r\n handleFinalizarRequerimento();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('Requerimento/PutRequerimentoMotivoCancelamento', json_submit)\r\n .then(result => {\r\n if (steps.length > 1)\r\n handleProximoStep(result.data);\r\n else\r\n handleFinalizarRequerimento()\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado pela {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n \r\n \r\n
\r\n

Motivo do Cancelamento

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n {step == 1 && }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport queryString from 'query-string';\r\n\r\n// components\r\nimport { Button, Row, Col, Card, CardBody, Form } from \"reactstrap\";\r\nimport InputPDF from \"../../components/Input/InputPDF\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateApi } from \"../../helpers/formats.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function AnexoComprovantePagamento({ history }) {\r\n const { setLoading} = useAuth();\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n const [dadosComprovantePagamento, set_dadosComprovantePagamento] = useState(null)\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.hash != null) {\r\n setLoading(true);\r\n api_GET(`Requerimento/GetRequerimentoCobranca/${params.hash}`)\r\n .then(result => {\r\n setLoading(false);\r\n set_dadosComprovantePagamento(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n const [arquivo, set_arquivo] = useState(null);\r\n const handleFile = (file, callback) => {\r\n if (file == null) {\r\n return;\r\n }\r\n\r\n set_arquivo(file);\r\n callback();\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (!arquivo) {\r\n showMessage(\"Aviso\", \"Selecione um arquivo para importação!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n requerimentoCobranca_Id: dadosComprovantePagamento.requerimentoCobranca_Id,\r\n dataImportacao: formateDateApi(new Date()),\r\n arquivo: arquivo.name,\r\n arquivoBase64: arquivo.base64\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`AnaliseRequerimento/PostRequerimentoCobrancaComprovante/${dadosComprovantePagamento.requerimento_Id}`, json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Comprovante enviado com sucesso\", 'success', function () {\r\n window.location.reload();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n

Dados do Requerimento

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

Documento: {dadosComprovantePagamento && dadosComprovantePagamento.requerimento.cpf_Cnpj}

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

Tipo Requerimento: {dadosComprovantePagamento && dadosComprovantePagamento.requerimento.setupSolicitacaoAcao.acao}

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

Responsável: {dadosComprovantePagamento && dadosComprovantePagamento.requerimento.nomeSolicitante}

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

Data Requerimento: {dadosComprovantePagamento && formateDate(dadosComprovantePagamento.requerimento.dataCriacaoRequerimento)}

\r\n \r\n
\r\n {dadosComprovantePagamento && dadosComprovantePagamento.status == \"Confirmado\" &&\r\n \r\n \r\n

Seu comprovante de pagamento já foi enviado.

\r\n \r\n
\r\n }\r\n {dadosComprovantePagamento && dadosComprovantePagamento.status == \"Pendente\" &&\r\n <>\r\n \r\n \r\n

Anexar Comprovante de Pagamento

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n// Views\r\nimport AgendamentoVistoria from \"../../views/Shared/Transportador/AgendamentoVistoria\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function AgendamentoVistoriaPortal({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const loadItem = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null && params.requerimento != null) {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetItemListByProtocoloAndRequerimento/${params.protocolo}/${params.requerimento}`)\r\n .then(result => set_rowEdit(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"URL inválida!\", 'error', null);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {rowEdit &&\r\n \r\n }\r\n \r\n );\r\n}","import React from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport { Row, Col, Card, CardBody, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\nexport default function ImplantacaoDatasys({ history }) {\r\n\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const steps = ['Lojas', 'Usuários', 'Fornecedores', 'Produtos', 'Clientes', 'Importação de Saldo'];\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = () => {\r\n set_step(step + 1);\r\n }\r\n const handleStepAnterior = () => {\r\n set_step(step - 1);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n {step == 0 &&\r\n \r\n \r\n \r\n

Cadastro de Lojas

\r\n
\r\n \r\n
\r\n \r\n \r\n Selecione o arquivo para importar as lojas no sistema
\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n {step == 1 &&\r\n \r\n \r\n \r\n

Cadastro de Usuários

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 2 &&\r\n \r\n \r\n \r\n

Cadastro de Fornecedores

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 3 &&\r\n \r\n \r\n \r\n

Cadastro de Produtos

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 4 &&\r\n \r\n \r\n \r\n

Cadastro de Clientes

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 5 &&\r\n \r\n \r\n \r\n

Importação de Saldo

\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n );\r\n}","import React from \"react\";\r\nimport {\r\n Collapse,\r\n Navbar,\r\n NavbarToggler,\r\n NavbarBrand,\r\n Nav,\r\n Dropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n Container\r\n} from \"reactstrap\";\r\n\r\nimport { getSessionCookie } from \"services/session.js\";\r\n\r\nimport routes from \"../../routes/routes\";\r\n\r\nclass Header extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n dropdownOpen: false,\r\n color: \"transparent\",\r\n };\r\n this.toggle = this.toggle.bind(this);\r\n this.dropdownToggle = this.dropdownToggle.bind(this);\r\n this.sidebarToggle = React.createRef();\r\n this.session = getSessionCookie();\r\n }\r\n toggle() {\r\n if (this.state.isOpen) {\r\n this.setState({\r\n color: \"transparent\",\r\n });\r\n } else {\r\n this.setState({\r\n color: \"dark\",\r\n });\r\n }\r\n this.setState({\r\n isOpen: !this.state.isOpen,\r\n });\r\n }\r\n dropdownToggle(e) {\r\n this.setState({\r\n dropdownOpen: !this.state.dropdownOpen,\r\n });\r\n }\r\n\r\n getIcon() {\r\n let iconName = \"\";\r\n routes.map((prop, key) => {\r\n if (window.location.href.indexOf(prop.layout + prop.path) !== -1) {\r\n iconName = prop.icon;\r\n }\r\n return null;\r\n });\r\n return iconName;\r\n }\r\n\r\n getBrand() {\r\n let brandName = \"Default Brand\";\r\n routes.map((prop, key) => {\r\n if (window.location.href.indexOf(prop.layout + prop.path) !== -1) {\r\n brandName = prop.name;\r\n }\r\n return null;\r\n });\r\n return brandName;\r\n }\r\n openSidebar() {\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n this.sidebarToggle.current.classList.toggle(\"toggled\");\r\n }\r\n updateColor() {\r\n if (window.innerWidth < 993 && this.state.isOpen) {\r\n this.setState({\r\n color: \"dark\",\r\n });\r\n } else {\r\n this.setState({\r\n color: \"transparent\",\r\n });\r\n }\r\n }\r\n componentDidMount() {\r\n window.addEventListener(\"resize\", this.updateColor.bind(this));\r\n }\r\n componentDidUpdate(e) {\r\n if (\r\n window.innerWidth < 993 &&\r\n e.history.location.pathname !== e.location.pathname &&\r\n document.documentElement.className.indexOf(\"nav-open\") !== -1\r\n ) {\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n this.sidebarToggle.current.classList.toggle(\"toggled\");\r\n }\r\n }\r\n render() {\r\n return (\r\n // add or remove classes depending if we are on full-screen-maps page or not\r\n \r\n \r\n
\r\n
\r\n this.openSidebar()}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n {this.getBrand()}\r\n
\r\n \r\n \r\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 Header;\r\n","import React from \"react\";\r\nimport { Container, Row } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nclass Footer extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n © {1900 + new Date().getYear()},\r\n \r\n CSJ Sistemas\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nFooter.propTypes = {\r\n default: PropTypes.bool,\r\n fluid: PropTypes.bool,\r\n};\r\n\r\nexport default Footer;\r\n","import React, { useState } from 'react';\r\nimport {\r\n UncontrolledPopover,\r\n UncontrolledCollapse,\r\n PopoverHeader,\r\n PopoverBody,\r\n Button\r\n} from 'reactstrap';\r\nimport { useHistory } from \"react-router\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nfunction Popover({ id = \"UncontrolledPopover\" }) {\r\n const { setupSistema } = useAuth();\r\n\r\n const history = useHistory();\r\n const [manuais, setManuais] = useState([\r\n {\r\n title: \"RGG - Manual de cadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoGrandeGeradorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoTransportadorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoDestinoFinalRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoDestinoFinal_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoGrandeGerador_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoTransportador_RGG.pdf\"\r\n },\r\n ])\r\n\r\n const [mensagens, setMensagens] = useState([\r\n {\r\n title: \"Manuais\",\r\n texto: () => (\r\n manuais.map((value, index) => {\r\n return
\r\n
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n
\r\n })\r\n\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"O que é o Controle de Transporte de Resíduos (CTR)?\",\r\n texto: () => (\r\n
\r\n

O Controle de Transporte de Resíduos (CTR) é o documento numerado que fornece informações sobre a geração, o transporte e o destinação final dos resíduos dos estabelecimentos grandes gerador à SP REGULA\r\n A implementação do Controle de Transporte de Resíduos (CTR-E RGG) se deu por meio da resolução no 130/AMLURB/2019, visando preservar as regras que regem o segmento, sem alteração na legislação atual, criando mecanismos de controle e monitoramento.

\r\n\r\n

O Controle de Transporte de Resíduos (CTR-E) é uma ferramenta de fiscalização e rastreabilidade criado para cadastrar todos os entes privados (geradores, transportadores, cooperativas e destinos finais),\r\n que fazem parte dos sistemas de limpeza urbana e que geram mais de 200L/ díade resíduos. A tecnologia permite que a Prefeitura Municipal de São Paulo,\r\n por meio da SP REGULA, saiba como o resíduo é coletado, transportado e por fim, destinado. Com isto, espera se melhorias na zeladoria urbana, na saúde pública,\r\n além de economia de recursos públicos.

\r\n\r\n

De acordo com a Legislação Vigente todos os estabelecimentos privados que geram mais de 200 litros / dia de resíduos devem realizar seu cadastro perante à SP REGULA,\r\n a partir de autodeclaração, sendo os mesmos sujeitos às sanções e responsabilidades, de acordo com o ART. 299 do Código Penal.

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Quem deve se cadastrar?\",\r\n texto: () => (\r\n
\r\n

Todos os estabelecimentos considerados pela LEI como grande geradores, ou seja, geram mais de 200 litros / dia de resíduos devem realizar seu cadastro perante à SP REGULA,

\r\n\r\n

No caso dos transportadores, é obrigatório que os mesmos tenham SEDE ou FILIAL aberta no município de São Paulo bem como o Ato de registro de funcionamento emitido pela Subprefeitura local e demais documentos exigidos no momento do cadastro sendo essa uma condição indispensável para poder prestar os serviços na capital.

\r\n\r\n

A coleta domiciliar do Município é realizada pelas Concessionarias LOGA e ECOURBIS e é destinada exclusivamente para as residências, logo, de acordo com a legislação vigente, todos os estabelecimentos privados que geram mais de 200 litros de resíduos, precisam contratar uma empresa privada para fazer a coleta, transporte, tratamento e destinação ambientalmente correta dos seus resíduos.

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Por que devo me cadastrar no CTR-E RGG?\",\r\n texto: () => (\r\n
\r\n

A Prefeitura de São Paulo, por meio da SP REGULA, em cumprimento as Políticas Publicas dentre elas o PGIRS – Plano de Gestão Integrada de Resíduos Sólidos da Cidade de São Paulo, almeja melhorias contínuas com o gerenciamento dos resíduos sólidos gerados na cidade.

\r\n\r\n

A iniciativa pretende diminuir os impactos na coleta publica bem como melhorar as ações de zeladoria da cidade e aumentar o controle das etapas do sistema, além de minimizar a proliferação de pragas urbanas (roedores, aves e insetos) a partir da melhoria do sistema de coleta e destinação dos resíduos.\r\n Portanto, o cadastramento dos estabelecimentos considerados grandes geradores é fundamental para o controle efetivo de todos os entes envolvidos.

\r\n
\r\n ),\r\n collapse: false\r\n }\r\n ]);\r\n\r\n const handleCollapse = (index) => {\r\n setMensagens(prevState => {\r\n const _mensagens = [...prevState];\r\n _mensagens[index] = { ..._mensagens[index], collapse: !_mensagens[index].collapse };\r\n return _mensagens;\r\n });\r\n }\r\n\r\n return \r\n \r\n \r\n
\r\n ?\r\n
\r\n \r\n

Dúvidas?

\r\n
\r\n\r\n \r\n {mensagens.map((value, index) => {\r\n const Component = value.texto;\r\n\r\n return
\r\n
handleCollapse(index)}\r\n >\r\n
{value.title}
\r\n {mensagens[index].collapse ? : }\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n })}\r\n
\r\n
\r\n history.push(\"/auth/duvidas\")}\r\n >\r\n Saiba Mais\r\n \r\n
\r\n ;\r\n}\r\n\r\nexport default Popover;","import React from 'react';\r\nimport {\r\n Navbar,\r\n NavbarBrand,\r\n NavbarToggler,\r\n Collapse,\r\n Nav,\r\n NavItem,\r\n NavLink\r\n} from 'reactstrap';\r\nimport Popover from './components/Popover';\r\n\r\nimport LogoSistema from '../../components/LogoSistema/LogoSistema';\r\n\r\nclass Navigation extends React.Component {\r\n constructor(props) {\r\n\r\n super(props);\r\n this.toggle = this.toggle.bind(this);\r\n this.state = {\r\n isOpen: false\r\n };\r\n }\r\n toggle() {\r\n this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n }\r\n\r\n render() {\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\n GESTÃO RESÍDUOS SÓLIDOS ESPECIAIS\r\n \r\n\r\n \r\n \r\n \r\n {window.location.pathname != \"/auth/duvidas\" &&\r\n <>\r\n \r\n
\r\n Dúvidas\r\n
\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\nexport default Navigation;","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport Navigation from \"components/Navbars/Navigation\";\r\nimport { Container } from \"reactstrap\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\nimport LogoSistema from \"../components/LogoSistema/LogoSistema\";\r\n\r\nclass Auth extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n if (!localStorage.getItem('firstAccess')) {\r\n localStorage.setItem('firstAccess', 'true');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n {routes.map((prop, key) => {\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\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Auth;\r\n","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport { Container } from \"reactstrap\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\n\r\nclass Empty extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n {routes.map((prop, key) => {\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 Empty;\r\n","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport { Container } from \"reactstrap\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\n\r\nclass External extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n
\r\n \r\n \r\n {routes.map((prop, key) => {\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 External;\r\n","import React from 'react'\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\r\n\r\nexport default function Loading() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nimport { createBrowserHistory } from \"history\";\r\nimport { Router, Route, Switch, Redirect } from \"react-router-dom\";\r\n\r\n\r\nimport AdminLayout from \"layouts/Admin\";\r\nimport AuthLayout from \"layouts/Auth\";\r\nimport EmptyLayout from \"layouts/Empty\";\r\nimport ExternalLayout from \"layouts/External\";\r\n\r\n//Context\r\nimport { useAuth } from \"../context/auth\";\r\n\r\n\r\nimport Loading from \"../components/Loading/Loading\";\r\n\r\nconst hist = createBrowserHistory();\r\n\r\nexport default function RoutesComponent() {\r\n const { session, loading } = useAuth();\r\n return (\r\n \r\n {loading && }\r\n \r\n } />\r\n } />\r\n } />\r\n } />\r\n {session && session.tipoAcesso == \"AreaRestrita\" &&\r\n } />\r\n }\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport AuthProvider from './context/auth';\r\nimport RoutesComponent from '../src/routes/RoutesComponent';\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\n\r\nimport \"bootstrap/dist/css/bootstrap.css\";\r\nimport \"assets/scss/paper-dashboard.scss?v=1.2.0\";\r\nimport \"assets/demo/demo.css\";\r\nimport \"perfect-scrollbar/css/perfect-scrollbar.css\";\r\nimport \"assets/css/default.css\";\r\nimport \"assets/css/loading.css\";\r\n\r\nimport App from './App';\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n"],"sourceRoot":""}