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

Moro defende manutenção do Coaf no Ministério da Justiça

MARCELO FONSECA/ESTADÃO CONTEÚDO
Imagem: MARCELO FONSECA/ESTADÃO CONTEÚDO

Carlos Eduardo Cherem

Colaboração para o UOL, em Belo Horizonte

26/04/2019 14h37

O ministro da Justiça e Segurança Pública, Sergio Moro, defendeu hoje que o Coaf (Conselho de Controle de Atividades Financeiras) seja mantido na sua pasta. Ontem, o presidente Jair Bolsonaro (PSL) afirmou não se opor à possibilidade de o órgão voltar à gestão do Ministério da Economia.

"O Coaf está melhor no Ministério da Justiça do que no Ministério da Economia. O ministro Paulo Guedes é extremamente competente. Ele já deu mostra disso. É indubitável. Mas o foco da economia é a política macroeconômica", explicou Moro que participou de encontro com empresários na manhã de hoje.

O órgão pertencia ao então Ministério da Fazenda até o início deste ano e, com a Medida Provisória 870, que reduziu o número de ministérios do governo, ou a estar subordinado ao Ministério da Justiça e Segurança Pública. O Coaf era um dos pedidos de Moro para assumir a pasta. Porém a MP precisa ser aprovada até 3 de junho.

"O Coaf é um óculos de prevenção e inteligência. Tem muitas conexões com os órgãos de segurança pública. E não se combate hoje uma organização criminosa sem o foco na lavagem de dinheiro. Não adianta só prender os membros da organização criminosa. Você precisa retirar os recursos que essa organização se dispõe para refinanciar atividade criminosa", disse Moro.

Na avaliação de Moro, o Coaf tem se fortalecido sob a gestão do Ministério da Justiça, mas disse que respeitará a decisão do Congresso. "A decisão evidentemente pertence ao Congresso Nacional. O presidente é aberto a decisão que vai ser tomada no congresso. Igualmente eu sou aberto a qualquer decisão que venha a ser tomada no Congresso, o que não me impede de buscar convencer os parlamentares disso", afirmou.

Moro respeita decisão do STJ sobre Lula

O ministro também foi indagado sobre a decisão do STJ (Superior Tribunal de Justiça) de reduzir a pena do ex-presidente Luiz Inácio Lula da Silva de 12 anos e um mês para oito anos e dez meses pelo caso do tríplex em Guarujá, no litoral de São Paulo.

"A dosimetria da fixação da pena varia muito de juiz para juiz. Eu estabeleci uma pena e o Tribunal outra. Isso acontece em vários casos, não só do ex-presidente Lula", apontou.

Quando era juiz federal no Paraná, ele condenou Lula a nove anos e seis meses, em novembro de 2017. Posteriormente, o TRF-4 (Tribunal Regional Federal da 4ª Região) subiu a pena para 12 anos e um mês, mas o STJ decidiu reduzi-la para oito anos e dez meses.

Questionado a comentar a decisão do STJ, Moro voltou a afirmar que o assunto Lula não é mais tarefa que cabe a ele. "O ex-presidente Lula pertence ao meu ado. Vamos olhar para frente", repetindo frase dita outras vezes.