;(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
Topo

Bolsonaro erra nome de favela e diz que evento com Lula só tinha traficante

Do UOL, em São Paulo, no Rio e em Brasília*

16/10/2022 20h48Atualizada em 16/10/2022 22h34

O presidente Jair Bolsonaro (PL) afirmou que o ex-presidente Luiz Inácio Lula da Silva (PT) foi a um evento em uma comunidade do Rio de Janeiro onde havia "só traficante". Logo depois de dizer que "conhece" o estado, o chefe do Executivo disse que o petista foi ao Complexo do Salgueiro, em São Gonçalo (RJ), quando Lula esteve, na verdade, no Complexo do Alemão, na capital fluminense.

"Eu conheço o Rio de Janeiro, o senhor esteve no Complexo do Salgueiro. Não tinha um policial do seu lado, só traficante. Tanto é verdade sua afinidade com traficantes e bandidos que nos presídios do Brasil, cada cinco votos, você teve quatro votos", disse Bolsonaro.

O presidente também tentou colar à imagem do petista suposta ligação com Marcola, líder do PCC (Primeiro Comando da Capital), citando gravação telefônica grampeada envolvendo o traficante. "Ele diz ali, chama o senhor de um palavrão, diz que prefere o senhor do que a mim. Fazer presídio e deixar amigos soltos em outro presídio, comandando crime, isso é um crime, seu Lula."

Lula rebateu e disse que se orgulha de ser o "único candidato a presidente da República que tem coragem de entrar em uma favela".

"Eu ia sabe por que? Porque eu acredito no povo. Eu fui no complexo do Alemão, povo extraordinário, trabalhador. Fizemos uma eata extraordinária, exuberante. E ali não tinha bandido na eata. Tinha mulher e homem que trabalham, que levantam cinco horas da manhã para trabalhar", disse Lula.

"Os bandidos você sabe onde estava. Tinha um vizinho seu que tinha 100 armas dentro de casa, o senhor sabe. Esse não era da favela do Complexo do Alemão. Esse morava em um apartamento na Avenida Copacabana. É achar que só os bandidos estão no lugar dos pobres? Os grandes bandidos estão no lugar dos ricos. Os pobres são grandes trabalhadores", continuou o petista.

Nas redes, houve reação à fala de Bolsonaro.

Lula foi ao Complexo do Alemão na última quarta. Pela manhã, reuniu-se com lideranças comunitárias para tratar de projetos sociais, política de armas, cultura e segurança pública. Depois, fez uma caminhada de cerca de 1 hora pela Estrada de Itararé.

Com o prefeito Eduardo Paes (PSD) e do deputado Marcelo Freixo (PSB-RJ), candidato derrotado ao governo do estado, o cortejo andou por quase 2km com um dos maiores públicos do petista nas diferentes idas ao estado. Ao final, no trio, ao lado da família da ex-vereadora assassinada Marielle Franco (PSOL), ele relacionou a morte aos "milicianos que Bolsonaro apoia".

O estado se tornou uma das prioridades de Lula neste segundo turno, junto a São Paulo e Minas Gerais. O objetivo da campanha é tentar diminuir a distância de mais de dez pontos a favor de Bolsonaro.

*Participaram desta cobertura:
Em São Paulo: Ana Paula Bimbati, Beatriz Gomes, Caê Vasconcelos, Felipe Pereira, Herculano Barreto Filho, Isabela Aleixo, Juliana Arreguy, Letícia Mutchnik, Lucas Borges Teixeira, Stella Borges, Saulo Pereira Guimarães e Wanderley Preite Sobrinho.
No Rio de Janeiro: Lola Ferreira.
Em Brasília: Camila Turtelli, Leonardo Martins e Paulo Roberto Netto.
Colaboração para o UOL: Amanda Araújo e Pedro Villas Boas.