;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL

Morre Bruno Covas

Nascido e criado na política, prefeito istrou SP e ganhou eleição enquanto lutava contra o câncer

Lucas Borges Teixeira Do UOL, em São Paulo Valéria Gonçalvez/Estadão Conteúdo

O prefeito de São Paulo, Bruno Covas (PSDB-SP), morreu hoje, aos 41 anos, vítima de um câncer que surgiu entre o esôfago e o estômago e se espalhou por outras partes do corpo. Ele estava internado no Hospital Sírio-Libanês, na região central da capital.

Covas descobriu a doença em outubro de 2019 ao ser internado para tratar de uma infecção de pele. O tumor chegou a diminuir em 2020, mas outros reapareceram em novos pontos do fígado em fevereiro deste ano. Em abril, foram identificados também nos ossos.

Em sua trajetória política, inspirada no avô Mário Covas, o ex-prefeito foi deputado estadual por dois mandatos, deputado federal por dois anos, secretário de Geraldo Alckmin (PSDB) e vice-prefeito da capital. Em 2018, quando o então prefeito João Doria (PSDB) lançou-se ao governo, assumiu a prefeitura, para a qual foi reeleito em 2020.

Durante a maior parte do tratamento, Covas seguiu à frente da Prefeitura de São Paulo. Ele deixa um filho de 15 anos.

Acervo pessoal Acervo pessoal

Nascido e criado na política

Covas nasceu em abril de 1980 em Santos, no litoral paulista. Filho do engenheiro Pedro Mauro Lopes e de Renata Covas Lopes, ele era mais lembrado por ser neto de Mário Covas, ex-governador de São Paulo (1995-2001).

Em Santos, estudou em dois dos principais colégios particulares da cidade, até se mudar para a capital em 1995. Cursou direito no Largo São Francisco, pela USP (Universidade de São Paulo), e economia pela PUC-SP (Pontifícia Universidade Católica de São Paulo). Formou-se nas duas, mas não exerceu nenhuma das profissões para seguir os os do avô, engajando-se na política.

Divulgação
Bruno (esq.), com o avô Mário Covas

Pai de um filho adolescente, Tomás —que apareceu em diversos eventos públicos com ele no último ano —, Covas era divorciado desde 2014 e morava em um flat na Barra Funda, zona oeste da capital. Em 2017, decidiu mudar radicalmente de estilo de vida e de visual: emagreceu quase 20 quilos, raspou o cabelo e deixou a barba crescer.

Era tido por amigos e familiares como um homem bem-humorado, muito família e esforçado. Antes da pandemia do coronavírus, além das corridas no Parque Ibirapuera e das idas à academia, ele deixava parte do seu tempo livre para ir a festas e eventos culturais.

Lucas Lima/UOL Lucas Lima/UOL
VIDAL CAVALCANTE/AE

O jovem tucano

Covas se envolveu com política desde jovem. Em 1998, ao completar 18 anos, filiou-se ao PSDB, fundado pelo avô e sigla do então presidente da República, Fernando Henrique Cardoso. Logo ingressou na Juventude Tucana, ala jovem do partido, da qual foi presidente nacional entre 2007 e 2011.

Enfrentou a primeira campanha em 2004, aos 24 anos, como vice da chapa puro-sangue de Raul Christiano à Prefeitura de Santos. Acabou em quarto lugar. Nos dois anos seguintes, foi assessor do PSDB na Alesp (Assembleia Legislativa do Estado de São Paulo), local onde ocuparia o primeiro cargo público.

SEBASTIÃO MOREIRA/AE SEBASTIÃO MOREIRA/AE
Alesp

O deputado

Covas foi eleito deputado estadual por São Paulo em 2006 e reeleito em 2010, com 236 mil apoiadores, maior votação no estado naquele ano. Na Alesp, integrou as comissões de Direitos Humanos e de Defesa dos Direitos do Consumidor, quando ajudou a aprovar a Nota Fiscal Paulista.

Em 2011, deixou a Alesp para assumir a Secretaria do Meio Ambiente do governo Geraldo Alckmin (PSDB), cargo que ocupou até 2014, quando concorreu a deputado federal e foi, mais uma vez, eleito.

Na Câmara dos Deputados, em Brasília, apoiou ativamente o processo de impeachment da presidente Dilma Rosseff (PT), em abril de 2016, e, cinco meses depois, ajudou a compor a base do governo Michel Temer (MDB) ao votar a favor da PEC do Teto de Gastos.

HÉLVIO ROMERO/ESTADAO CONTEUDO HÉLVIO ROMERO/ESTADAO CONTEUDO
Lucas Lima/UOL

O prefeito

Em 2016, Covas mais uma vez deixou o cargo de deputado, no mandato que acabaria em 2018. Ele foi eleito vice-prefeito de São Paulo na chapa de João Doria (PSDB). Nas prévias, o empresário era uma aposta ousada de Alckmin e só ganhou o apoio de Bruno no segundo turno, depois de derrotar Ricardo Tripoli.

Covas acabou assumindo a prefeitura em abril de 2018, no dia em que completou 38 anos, quando Doria decidiu concorrer ao governo do estado. No início da gestão, procurou seguir os os do antecessor na postura econômica, mas procurou estabelecer uma relação mais próxima e humana com as subprefeituras.

Em junho do ano ado, quando já enfrentava o câncer, Covas foi diagnosticado com covid-19 e permaneceu isolado.

Mesmo com o tratamento agressivo, concorreu à reeleição e foi ativo no debate. Acabou reeleito no segundo turno, com 59% dos votos sobre Guilherme Boulos (PSOL).

Covas deixa a prefeitura com marca de construtor. Em 2020, ano eleitoral, transformou a cidade em um canteiro de manutenção de calçadas e ruas. Também acabou 12 CEUs (Centros Educativos Unificados) que estavam parados desde 2015 e transformou o largo do Anhangabaú em uma área concretada de multieventos.

Arquivo Arquivo

A doença

Covas foi internado pela primeira vez no Hospital Sírio-Libanês, região central da capital paulista, na tarde do dia 23 de outubro de 2019 para tratar de uma infecção de pele. Ele foi diagnosticado com erisipela, uma inflamação causada por bactérias que infectam ferimentos como picadas de insetos e micoses.

Exames logo revelaram um quadro de trombose venosa das veias fibulares e, dois dias depois, foi encontrado um tumor maligno no quadro digestivo, entre o esôfago e o estômago, com uma metástase única no fígado.

O prefeito ou a fazer quimioterapia, em um total de oito sessões, no fim de outubro e, segundo os boletins médicos, reagia bem ao tratamento. Em dezembro de 2019, no entanto, ele teve uma hemorragia interna no fígado e foi encaminhado a UTI (Unidade de Tratamento Intensivo) do Sírio-Libanês.

Com a quimio, o tumor chegou a diminuir. Em novembro do ano ado, pouco antes de sua reeleição como prefeito, Covas comentou que já havia realizado oito sessões de quimioterapia que fizeram "sumir" dois dos seus três tumores, e ou para a imunoterapia (tratamento para fortalecer o sistema imune).

Em fevereiro deste ano, exames de rotina indicaram o surgimento de novos tumores em outro ponto do fígado, que se alastraram também para os ossos em um exame identificado em abril. Com isso, a imunoterapia também foi adicionada ao tratamento.

Neste ano, Covas chegou a ficar internado nos períodos de quimio, e despachava do hospital. No dia 2 de maio, porém, ele decidiu tirar licença de 30 dias, seguindo orientação médica.

Topo