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

Caso Coaf: MP-RJ arquiva investigação sobre deputado estadual tucano

O deputado estadual do Rio Luiz Paulo Corrêa da Rocha (PSDB)  - Reprodução Facebook
O deputado estadual do Rio Luiz Paulo Corrêa da Rocha (PSDB) Imagem: Reprodução Facebook

Caio Sartori

Rio

13/07/2019 21h05

O Ministério Público do Rio de Janeiro arquivou a investigação sobre o deputado estadual Luiz Paulo Corrêa da Rocha (PSDB) no âmbito do caso Coaf, o mesmo que recai sobre o senador e ex-deputado Flávio Bolsonaro (PSL-RJ).

O tucano foi um dos nove deputados da Alerj (Assembleia Legislativa do Rio) que tiveram sigilo quebrado pela Justiça a fim de apurar as movimentações financeiras atípicas detectadas por relatórios do órgão federal.

O deputado afirmou ao jornal que já esperava que o caso fosse arquivado e que recebeu a notícia "com satisfação", apesar de lamentar o desgaste causado pela história. Disse ainda que entregou ao Ministério Público, em dezembro de 2018, diversas informações financeiras e bancárias para ajudar na investigação.

No meu gabinete não tem 'rachadinha'. E nunca tive patrimônio incompatível com a minha renda

Luiz Paulo Corrêa da Rocha, deputado estadual do Rio

As investigações iniciadas com base nos relatórios financeiros correm sob segredo de Justiça. Luiz Paulo não foi informado oficialmente sobre o arquivamento, noticiado hoje pelo colunista Lauro Jardim, do jornal O Globo, e confirmado pela assessoria do Ministério Público estadual.

Os holofotes dos trabalhos do MP-RJ estão sobre a investigação que apura a suposta prática dos crimes de peculato, lavagem de dinheiro e organização criminosa no gabinete de Flávio Bolsonaro.

A Justiça fluminense autorizou em abril a quebra dos sigilos bancário e fiscal de 86 pessoas e nove empresas ligadas ao senador. O período abarcado é de 2007 a 2018.

Os promotores acusam o ex-assessor Fabricio Queiroz de operar o esquema denunciado - os relatórios do Coaf mostraram que ele movimentou, no período de um ano, R$ 1,2 milhão, valor considerado atípico para seus rendimentos. A história foi revelada pelo Estado em dezembro do ano ado.

Na próxima terça-feira, 16, o plenário do Tribunal de Justiça do Rio julgará um habeas corpus apresentado pela defesa do filho do presidente Jair Bolsonaro, que considera ilegal a sua quebra de sigilo.