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

Paes resiste a ataques de Crivella na reta final e mantém vantagem no Rio

27.nov.2020 - Eduardo Paes e Marcelo Crivella no último dia de campanha na rua - Arte/UOL
27.nov.2020 - Eduardo Paes e Marcelo Crivella no último dia de campanha na rua Imagem: Arte/UOL

Igor Mello

Do UOL, no Rio

29/11/2020 00h01

O ex-prefeito Eduardo Paes (DEM) chega ao final do 2º turno das eleições no Rio com ampla vantagem sobre o atual prefeito Marcelo Crivella (Republicanos), conforme mostraram as últimas pesquisas Ibope e Datafolha. Apesar disso, o democrata tenta evitar o clima de "já ganhou" entre apoiadores.

Tanto no Ibope quanto no Datafolha, Paes aparece com 68% dos votos válidos contra 32% de Crivella. A diferença entre os dois praticamente não oscilou durante todo o 2º turno. Os candidatos encerram ontem (28) a campanha após disputa marcada por trocas de acusações e pela difusão de fake news por Crivella.

Diante da desvantagem, Crivella apostou em uma estratégia agressiva para tentar desconstruir o rival com denúncias de corrupção e até mesmo afirmando que Paes não estava pronto para lidar com uma eventual segunda onda da pandemia de covid-19.

Em seus programas eleitorais e nos dois debates na TV aberta —realizados pela Band, em 19 de novembro, e pela Rede Globo, nesta sexta (27)—, Crivella ou a chamar Paes de corrupto.

Também destacou condenações de aliados do adversário, como o ex-governador Sérgio Cabral —com penas que somam 322 anos de prisão— e de seu ex-secretário de Obras, Alexandre Pinto, que pegou 76 anos de prisão.

"Eduardo Paes vai ser preso, e digo isso com o coração partido. E vai porque cometeu os mesmos erros de Cabral e Pezão. Ele vai ser preso", afirmou Crivella no debate da TV Globo.

Crivella também tem apelado para ataques em temas morais, inclusive com fake news. Nesta semana, sua campanha distribuiu panfletos afirmando que Paes havia se aliado ao PSOL e que apoiaria a distribuição de "kit gay nas escolas".

O kit gay é uma notícia falsa criada em 2011, ao distorcer o que seria a cartilha Escola Sem Homofobia. O material não tinha como público-alvo estudantes e nunca chegou a ser implementado pelo Ministério da Educação.

Em um vídeo gravado com o deputado federal bolsonarista Otoni de Paula (PSC-RJ), Crivella fez referência sem qualquer prova a uma suposta aliança entre Paes e o PSOL. Ele afirmou que, se o adversário ganhasse a eleição, haveria "pedofilia nas escolas".

Por conta dessas manifestações, a Procuradoria Regional Eleitoral denunciou Crivella e sua vice, Andréa Firmo (Republicanos), por difamação eleitoral e propaganda falsa em campanha.

Acenos ao eleitorado no último dia de campanha

Paes seguiu enfatizando a má istração de Crivella —desaprovada por mais de 60% dos cariocas— e o acusando de governar pensando no seu grupo religioso —o prefeito é bispo licenciado da Igreja Universal do Reino de Deus.

Para rebater as acusações, também tem chamado o adversário de "pai da mentira" —em alusão à forma como o diabo é citado no Evangelho de João, na Bíblia.

O ex-prefeito fechou a campanha fazendo um gesto simbólico em contraponto a Crivella: participou de um ato na quadra da Mocidade Independente de Padre Miguel.

Lá afirmou que o adversário —que destaca o fato de ter cortado recursos do carnaval— é o "prefeito do preconceito" e que "não consegue entender os cariocas". "O Rio é uma cidade muito diversa para ter um prefeito preconceituoso. Esse tipo de coisa não cabe no Rio de Janeiro. A cidade é muito maior do que esse nicho do Marcelo Crivella".

Na noite deste sábado, Paes disparou a aliados uma mensagem de WhatsApp pedindo que se evite o clima de vitória antecipada: "Se abster ou anular o voto só ajuda o Crivella. Eleição se decide na urna", escreveu.

Já Crivella fez carreatas pela zona oeste do Rio. Segundo o jornal O Globo, pela manhã também se reuniu com pastores evangélicos em Santa Cruz, também na zona oeste, onde chamou Paes de "covarde, núbio e corrupto". Os núbios foram um povo africano de pele negra, que chegou a ser dominado pelo Império Egípcio na Antiguidade.

Você utiliza a Alexa? O UOL é o parceiro oficial da assistente de voz da Amazon, com boletins de notícias e dados atualizados das últimas pesquisas eleitorais e dos resultados do 2º turno. Para saber sobre a eleição na sua cidade com a credibilidade do UOL, pergunte: "Alexa, qual é o resultado da pesquisa eleitoral em São Paulo?", por exemplo, ou "Alexa, quem ganhou a eleição no Rio de Janeiro?". Nos encontramos lá!