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

Juiz que ordenou ação da PF contra Ciro absolveu homem que negou holocausto

Juiz federal Danilo Dias Vasconcelos de Almeida, que autorizou ação da PF contra Ciro Gomes - Roberta Mariz/JFCE
Juiz federal Danilo Dias Vasconcelos de Almeida, que autorizou ação da PF contra Ciro Gomes Imagem: Roberta Mariz/JFCE

Rafael Neves

Do UOL, em Brasília

15/12/2021 15h09

Deflagrada hoje contra o pré-candidato à Presidência Ciro Gomes (PDT), a operação Colosseum, da PF (Polícia Federal), foi autorizada pelo juiz Danilo Dias Vasconcelos de Almeida, da 32ª Vara Federal Criminal do Ceará. Assim que o nome de Almeida circulou nas redes sociais, durante a manhã, apoiadores de Ciro aram a chamar atenção para decisões controversas do magistrado.

Há pouco mais de um mês, no dia 9 de novembro, o juiz federal absolveu um homem que negou a existência do holocausto. Em uma publicação no Facebook, em março desse ano, o réu chamou de "falacioso" o extermínio cometido pelos nazistas na Segunda Guerra Mundial, e responsabilizou os judeus pela pandemia do coronavírus.

O MPF (Ministério Público Federal) denunciou o autor da postagem pelo crime de racismo, mas Almeida o inocentou. Segundo o magistrado, a negação de um fato histórico não é crime, e o réu não teve "intenção de dominação, exploração, escravização, eliminação, supressão ou redução de direitos fundamentais do diferente" com a postagem.

Procurada pelo UOL para comentar o caso, a Justiça Federal do Ceará não se manifestou. Já Almeida informou, por meio da JFCE, que sua posição sobre o caso foi publicado em um texto do site Conjur, no qual o magistrado defende sua decisão.

"Um sujeito publicou um texto no Facebook basicamente negando a ocorrência do holocausto e foi então acusado de cometer o crime de racismo. A sentença decidiu que negar um fato histórico não é crime e absolveu o réu. Simples assim", afirmou o magistrado no artigo.

Na sentença, Almeida alegou a necessidade de proteção da liberdade de expressão. "Vejo, com preocupação, inclusive no cenário nacional, a multiplicação de processos destinados a implementar censuras ou punir meras manifestações de pensamento", escreveu.

Para o magistrado, argumentos como o "discurso de ódio" estariam sendo usados para suprimir opiniões contrárias. "Não se pode naturalizar a censura ou se itir a perseguição penal daqueles que pensam o oposto de nós", completou o juiz.

A operação

Ciro Gomes e seus irmãos, Lúcio Gomes e o senador Cid Gomes (PDT), estão entre os alvos de uma investigação da PF sobre um suposto esquema de propinas ligado às obras no estádio Castelão, em Fortaleza, que foi reformado para a Copa do Mundo. Os crimes, segundo a PF, teriam ocorrido de 2010 a 2013.

Em resposta à ação da PF, Ciro Gomes afirmou que a PF está "subordinada a Bolsonaro", que estaria buscando danificar sua pré-candidatura à Presidência em 2022.

Segundo a PF, a operação apura "fraudes, exigências e pagamentos de propinas a agentes políticos e servidores públicos decorrentes de procedimento de licitação para obras no estádio Castelão" na época em que Cid Gomes, hoje senador, era governador do Ceará.

A investigação, que começou em 2017, indica o pagamento de R$ 11 milhões em propinas para direcionamento da licitação da Arena Castelão. Os valores teriam sido pagos em dinheiro ou disfarçados de doação eleitoral, de acordo com a PF.

Ao todo, 80 policiais cumpriram 14 mandados de busca e apreensão nas cidades de Fortaleza (CE), Meruoca (CE), Juazeiro do Norte (CE), São Paulo (SP), Belo Horizonte (MG) e São Luís (MA).