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

Advogado de Moro diz que AGU omitiu 'trechos relevantes' de reunião

O ex-ministro da Justiça Sergio Moro pediu ao STF a divulgação do vídeo com a reunião ministerial - Ueslei Marcelino
O ex-ministro da Justiça Sergio Moro pediu ao STF a divulgação do vídeo com a reunião ministerial Imagem: Ueslei Marcelino

Felipe Amorim

Do UOL, em Brasília

14/05/2020 21h24Atualizada em 14/05/2020 21h26

O advogado do ex-ministro da Justiça Sergio Moro afirmou que a AGU (Advocacia-Geral da União) omitiu "trechos relevantes" para a compreensão correta das falas do presidente Jair Bolsonaro (sem partido) na reunião ministerial de 22 de abril.

Hoje, a AGU revelou em manifestação ao STF (Supremo Tribunal Federal) trechos do que disse o presidente no encontro. Moro acusa Bolsonaro de tentar interferir politicamente na Polícia Federal e indicou a reunião como prova de suas afirmações.

Na reunião, Bolsonaro afirmou que não estava recebendo informações da Polícia Federal e iria "interferir" e também que não iria esperar "f. minha família" para fazer trocas na "segurança", segundo transcrição feita pela AGU.

A manifestação da AGU foi entregue no inquérito que apura as acusações feitas por Moro contra Bolsonaro. O ministro Celso de Mello, do STF, é o relator da investigação e deverá decidir em breve sobre se mantém o sigilo sobre o vídeo com o registro da reunião.

Ao Supremo, a AGU reforça o argumento de que Bolsonaro fazia referência possivelmente à sua segurança pessoal, sob a responsabilidade do GSI (Gabinete de Segurança Institucional), e não da Polícia Federal, quando fala em trocas na "segurança" no Rio de Janeiro.

"Eu não vou esperar f. minha família toda de sacanagem, ou amigo meu, porque eu não posso trocar alguém da segurança na ponta da linha que pertence à estrutura", disse Bolsonaro na reunião, segundo a transcrição da AGU.

Segundo o advogado Rodrigo Rios, que representa Moro no processo, a AGU omitiu trechos relevantes para a compreensão desse momento da reunião.

"A petição contém transcrições literais de trechos das declarações do presidente, mas com omissão do contexto e de trechos relevantes para a adequada compreensão do que ocorreu na reunião -inclusive, na parte da 'segurança do RJ', do trecho imediatamente precedente', diz Rios, em nota divulgada na noite de hoje.

Para o advogado, os acontecimentos posteriores à reunião, como a demissão do diretor-geral da PF, confirmariam que Bolsonaro se referia à Polícia Federal e não ao GSI.

"De todo modo, mesmo o trecho literal, comparado com fatos posteriores, como a demissão do diretor-geral da PF, a troca do superintendente da PF e a exoneração do ministro da Justiça, confirma que as referências diziam respeito à PF e não ao GSI", diz o advogado.

"A transcrição parcial busca apenas reforçar a tese da defesa do presidente, mas reforça a necessidade urgente de liberação do vídeo na íntegra", afirma o advogado.