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

Caso Queiroz: Servidor alvo de operação é exonerado da Alerj

                                 Queiroz chega ao presídio de Bangu                              -                                 NELSON ALMEIDA/AFP
Queiroz chega ao presídio de Bangu Imagem: NELSON ALMEIDA/AFP

Igor Mello

Do UOL, no Rio

22/06/2020 20h00

A Alerj (Assembleia Legislativa do Rio) publicou no Diário Oficial de hoje a exoneração do servidor Matheus Azeredo Coutinho. Ele é um dos alvos da Operação Anjo, que resultou na prisão de Fabrício Queiroz, pivô do escândalo da suposta rachadinha no gabinete do senador Flávio Bolsonaro.

Matheus é acusado pelo MP-RJ (Ministério Público do Rio de Janeiro) de ter auxiliado uma ex-assessora de Flávio na Alerj a adulterar suas folhas de ponto. Nesta segunda, o UOL mostrou que um requerimento feito pela reportagem por meio da LAI (Lei de o à Informação) motivou a suposta fraude. No mesmo dia que a adulteração flagrada pelos promotores ocorreu, o governo Jair Bolsonaro editou um decreto alterando a LAI, restringindo a transparência de documentos e dados públicos.

Segundo o Diário Oficial, a exoneração de Matheus ocorreu a pedido —quando o próprio funcionário comissionado pede desligamento do cargo. Ele trabalhava no Departamento de Legislação de Pessoal da Alerj, setor ligado à área de Recursos Humanos. Foi justamente esse departamento que recebeu o pedido da reportagem do UOL para ter o às folhas de ponto de Luiza Souza Paes, uma das ex-assessoras de Flávio Bolsonaro que foram flagradas pelo Coaf (Conselho de Controle de Atividades Financeiras) reando parte de seu salário para Fabrício Queiroz.

Por conta de sua participação no que o MP-RJ classificou como fraude para obstruir as investigações, Matheus foi alvo de um mandado de busca e apreensão na última quinta. O juiz Flávio Itabaiana, da 27ª Vara Criminal do Rio, também havia determinado seu afastamento da função pública que ocupava na Alerj.

Ao ter o ao requerimento, Matheus procurou Luiza para que ela adulterasse as planilhas, que estavam em branco — um indício de que ela não trabalhava de fato no cargo para o qual foi nomeada.

Luiza relata ao pai, Fausto Antunes Paes, em uma mensagem de áudio que o contato de Matheus se deu por conta de pedidos de jornalistas. A informação teria sido apurada por Gustavo Botto, àquela altura advogado de Flávio Bolsonaro no inquérito da rachadinha. Tanto o o do advogado ao requerimento, quanto a iniciativa de pesquisar informações sobre o cidadão que o fez violam a Lei de o à Informação.

"Oi pai. O Gustavo me ligou agora. Ele falou que foi levantar a situação, né? A Pequena conversou com ele e esse cara que tá me ligando ele trabalha lá e parece que os jornalistas começaram a perturbar o juízo aí eles foram levantar o meu ponto e parece que tá faltando alguma informação, eu não sei. Parece que é falta de algum ponto que não tá assinado. Aí ele supostamente está querendo ajudar antes de entregar isso pra jornalista. Só que eu não lembro de não ter assinado algum ponto, entendeu?", disse a ex-assessora.

O pedido de informação ficou parado oito dias no setor de Matheus. Só foi liberado na tarde 24 de janeiro, poucas horas depois de Luiza ir na Alerj para preencher os pontos retroativamente.