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

'O que há de mais leve em vídeo da reunião é questão da PF', diz jurista

Do UOL, em São Paulo

25/05/2020 15h48Atualizada em 25/05/2020 19h49

As menções a interferências na Polícia Federal são "o que há de mais leve" no vídeo de duas horas da reunião ministerial de 22 de abril, divulgado na última sexta-feira (22) pelo Supremo Tribunal Federal, acredita o professor de Direito Luiz Fernando Amaral, da FAAP.

"Eu imagino que esse ponto específico que Sergio Moro levantou [a interferência na PF] talvez seja o de menor grau naquele vídeo", disse, no UOL Debate. "Não há ali novos elementos que venham a corroborar a tese do ex-magistrado".

Amaral, no entanto, destaca que, apesar de o presidente ter a prerrogativa de trocar o diretor-geral da PF, cabe à Justiça analisar se esta ação serve ao interesse público ou ao interesse do agente público.

"A partir do instante em que Jair Bolsonaro fala, e ele fala mais do que deveria e fora da liturgia do cargo, pode haver a caracterização de um desvio de finalidade", aponta.

"Se Bolsonaro simplesmente trocasse o diretor-geral da PF, seria uma prerrogativa legal, mas diante do que soubemos pelo Moro e diante do que ouvimos neste vídeo da reunião, juridicamente dá a entender que essa mudança interessa à proteção maior de seus amigos, familiares, grupos políticos", explicou o professor.

O UOL Debate reuniu, além de Amaral, o colunista do UOL Reinaldo Azevedo, o advogado e jornalista Glenn Greenwald e a presidente do sindicato de delegados da PF Tânia Prado.

A presidente do sindicato de delegados da PF, Tânia Prado, completou, dizendo que "o vídeo agregou com mais informações", mas que "é imaturo dizer que há provas".

"[O vídeo] nos traz preocupação com credibilidade da PF. Todo agente público tem dever de probidade. Os atos têm que respeitar lei, constituição e princípios. As coisas da reunião, temos que ver qual é o dolo, se ele tinha intenção de fazer mudança para proteger algum com o delegado tem que entender o dolo. Tem que ser apurado isso a fundo. O vídeo agregou com mais informação, mas é prematuro dizer que ele prova".

A troca do diretor-geral da Polícia Federal foi o que desencadeou a atual crise política do Governo Federal. Bolsonaro tirou Maurício Valeixo do cargo e, em reação, o então ministro Sergio Moro pediu demissão publicamente, em uma entrevista coletiva em que apontava suposta interferência política do presidente na PF.

Há uma investigação em curso para saber se Bolsonaro interferiu na corporação para ter vantagens pessoais — o próprio presidente ite "receber informações". É no âmbito desta investigação que o ministro Celso de Mello, do STF, levantou o sigilo do vídeo da reunião ministerial do dia 22 de abril. Tanto Valeixo quanto Moro já depam à PF sobre o assunto.

O sucessor de Maurício Valeixo seria Alexandre Ramagem, mas a escolha deste foi suspensa pelo ministro Alexandre de Moraes, do STF. Na decisão, Moraes escreveu que a PF não é "órgão de inteligência da Presidência da República".

Luiz Fernando Amaral classifica a decisão de barrar a nomeação como "cautelosa".

"É evidente que a decisão do ministro é cautelosa no sentido de impedir aquilo que aparentemente, considerando o contexto da operação, era desvio de finalidade", afirmou. "O desvio de finalidade é acusado com base na prerrogativa exercida e na sua finalidade, se ela alinha mais à proteção do agente público do que ao interesse público".