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

Esse conteúdo é antigo

Bretas libera mais de R$ 660 milhões apreendidos na Lava Jato

Ricardo Borges/Folhapress
Imagem: Ricardo Borges/Folhapress

07/02/2020 06h00

O juiz Marcelo Bretas, da 7ª Vara Federal Criminal, responsável pela Operação Lava Jato no Rio, autorizou a liberação de R$ 668,5 milhões, pagos por delatores na Lava Jato, para o governo do Rio e a União, como forma de restituir os valores saqueados dos cofres públicos em esquema de corrupção investigado pela força-tarefa do Ministério Público Federal. O pedido de liberação partiu da Procuradoria-Geral do Estado do Rio de Janeiro (PGE-RJ).

Pela decisão de Bretas, o governo do Rio ficará com R$ 208.983.575,27 e a União com R$ 459.593.650,27. A parcela a ser recebida desta vez pelo governo federal é maior porque o estado do Rio já havia recebido, entre outras restituições, R$ 250 milhões para pagar o décimo terceiro salário dos servidores públicos estaduais, em 2017. A Lava Jato já havia reado também R$ 15 milhões para a recuperação de escolas no Rio. Esta será a primeira vez que a União vai receber recursos da Lava Jato como forma de restituição.

De acordo com a PGE-RJ, a liberação ocorre depois que a própria Procuradoria fez um requerimento solicitando a transferência dos valores depositados por colaboradores em contas à disposição do Juízo. O estado alegou que os valores que vêm sendo depositados pelos delatores não eram alvo de nenhuma disputa ou questionamento sobre sua destinação. Sendo assim, poderiam ser destinados aos entes lesados. Bretas concordou com o argumento e acrescentou que, de fato, estava havendo uma diminuição gradual dos recursos, uma vez que eles sofrem os efeitos danosos da inflação.

Na decisão, o magistrado escreveu que "não se pode olvidar que a organização criminosa, desbaratada no âmbito da chamada Operação Lava Jato no Rio de Janeiro, causou prejuízos milionários, se não bilionários, ao estado em diversas áreas relevantes, como saúde e transporte, diretamente, e indiretamente a tantas outras, como segurança e educação, além do dano inquantificável dos muitos investimentos que não foram feitos pela falta de verba provocada pelos desvios criminosos".

Bretas disse ainda que "a restituição imediata, nos termos acordados pelas partes, é medida que se impõe, por estar em consonância com o interesse público e a fim de mitigar os danos sofridos pela população fluminense ao longo de tantos anos de má gestão e corrupção".

Ouça o podcast Baixo Clero, com análises políticas de blogueiros do UOL. Os podcasts do UOL estão disponíveis em uol.com.br/podcasts, no Spotify, Apple Podcasts, Google Podcasts e outras plataformas de áudio.