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

Constança Rezende

Aras recorrerá da decisão que suspendeu entrega de dados da Lava Jato à PGR

Procurador-geral da República, Augusto Aras - ADRIANO MACHADO
Procurador-geral da República, Augusto Aras Imagem: ADRIANO MACHADO

Colunista do UOL

03/08/2020 21h16

O procurador-geral da República, Augusto Aras, anunciou que irá recorrer da decisão que impediu o compartilhamento de dados de investigações das forças-tarefas da Operação Lava Jato com a Procuradoria-Geral da República (PGR).

A decisão foi tomada nesta segunda-feira (3), pelo ministro Edson Fachin, do Supremo Tribunal Federal (STF), e revogou a autorização que havia sido dada pelo presidente da corte, Dias Toffoli, durante o recesso.

A medida foi tomada em ação protocolada pelo vice-procurador Humberto Jacques de Medeiros pedindo os dados, após as forças-tarefas se negarem.

A PGR argumentou que todo o material probatório obtido pelas forças-tarefas de procuradores da Lava Jato pertence à instituição. Toffoli concordou, reforçando a tese de que a procuradoria "hierarquicamente, detém competência istrativa para requisitar o intercâmbio institucional de informações".

Fachin, que é relator do caso, lembrou outra decisão da corte que comparou o "princípio da unidade do Ministério Público" com a forma da qual se reveste o estado brasileiro, "uma vez que nela as unidades federadas são dotadas de autonomia organizacional, respeitados os limites estabelecidos na Constituição Federal".

"Diante da inexistência de relação de subordinação ou hierarquia entre os entes federados ou seus respectivos poderes é que se delimitou a incidência do Princípio da Unidade do Ministério Público ao órgão constituído e organizado no âmbito de cada Unidade da Federação", disse.

Nos bastidores, integrantes da Força-Tarefa de Curitiba ainda não sabem o que irá acontecer com o material que já havia sido coletado pela PGR no órgão. Técnicos da procuradoria-geral estão há duas semanas fazendo cópias do material. Procuradores estimam que eles devem parar o trabalho, assim que chegar a intimação.

A PGR informou que os desdobramentos da decisão de Fachin ainda "estão em análise". Porém, há uma avaliação de que decisões na primeira instância da Justiça que determinam o compartilhamento integral dos dados continuam vigentes, especificamente em relação a Curitiba.

O pedido da PGR para o compartilhamento de dados acirrou os conflitos entre o procurador-geral Augusto Aras e as forças-tarefas da operação. No último dia 28, Aras disse que a força-tarefa em Curitiba "tem mais dados armazenados que todo o sistema único do Ministério Público Federal".

"Não se pode imaginar que uma unidade institucional se faça com segredos, com caixas de segredos", afirmou.

A declaração fez com que procuradores da 5ª Câmara de Coordenação e Revisão (Combate à Corrupção) do MPF enviassem um ofício pedindo a proteção dos grupos de força-tarefa.