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

Senadores entram com ação contra Lindôra, da PGR, por 'anistia' a Bolsonaro

Subprocuradora-geral da República Lindora Araújo - Gil Ferreira/Agência CNJ
Subprocuradora-geral da República Lindora Araújo Imagem: Gil Ferreira/Agência CNJ

Do UOL, em São Paulo

19/08/2021 17h09

O vice-presidente da I da Covid, Randolfe Rodrigues (Rede-AP), e o senador Humberto Costa (PT-PE) entraram com uma Reclamação Disciplinar ao CNMP (Corregedoria Nacional do Ministério Público) contra a subprocuradora-geral da República Lindôra Araújo pelo fato de ela alegar não ver crime do presidente Jair Bolsonaro (sem partido) em sair sem máscara e causar aglomeração em eventos públicos durante a pandemia.

Na avaliação dos senadores, o ato de Lindôra "revela-se de toda inadequada" por ser contrária à Constituição Federal, e, mesmo que há autonomia funcional do membro do Ministério Público, não é uma carta de livre arbítrio. Randolfe e Humberto pedem que a Corregedoria apure a conduta da subprocuradora para aplicar, sendo o caso, sanções legais cabíveis.

Ainda para os parlamentares, a atitude da subprocuradora contradiz decisão anterior dela ao pedir ao STJ (Superior Tribunal de Justiça) que o desembargador Eduardo Almeida Prado fosse investigado por ear numa praia de Santos, no litoral paulista, sem máscara.

Prado ficou conhecido ao ser gravado, em vídeo, insultando um guarda municipal que lhe multava por não usar máscara facial enquanto andava na praia.

Os pareceres foram enviados em duas ações movidas pela oposição: uma apresentada pelo PT após a rodada de motociatas de apoio ao governo organizadas no mês de maio e outra articulada por parlamentares do PSOL depois que o presidente abaixou a máscara de uma criança em um evento lotado no Rio Grande do Norte.

Nos dois casos, a subprocuradora defendeu o arquivamento das notícias-crimes por considerar que o comportamento do presidente teve 'baixa lesividade'.

Segundo Lindôra, não é possível confirmar a 'exata da eficácia da máscara de proteção como meio de prevenir a propagação do novo coronavírus', o que em sua avaliação impede o enquadramento do presidente pelo crime de infração a medida sanitária preventiva.