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

Toffoli manda Aras se posicionar sobre ataques de Bolsonaro às eleições

Aras durante a sabatina no Senado para assumir a PGR, em 2019 - Pedro França/Pedro França/Agência Senado
Aras durante a sabatina no Senado para assumir a PGR, em 2019 Imagem: Pedro França/Pedro França/Agência Senado

Rafael Neves

Do UOL, em Brasília

12/08/2021 17h13

O procurador-geral da República, Augusto Aras, foi cobrado hoje para dar parecer em um processo no STF (Supremo Tribunal Federal) sobre os ataques do presidente Jair Bolsonaro (sem partido) ao sistema eleitoral. A exigência foi feita pelo ministro Dias Toffoli, relator do caso.

O processo nasceu de um pedido do senador Alessandro Vieira (Cidadania-SE) para que Bolsonaro comprove suas "reiteradas declarações" de que as eleições de 2018 foram fraudadas e que ele venceu a disputa ainda no primeiro turno. Protocolada no dia 21 de julho, a petição de Vieira enumera falas de Bolsonaro contra as urnas eletrônicas desde outubro daquele ano, ainda antes de ser eleito.

Aras foi intimado a se manifestar seis dias depois, no dia 27, e respondeu em 4 de agosto. Na resposta, porém, o PGR diz apenas estar ciente de uma decisão da ministra Rosa Weber determinando que o processo não está em situação de urgência. Weber despachou enquanto vice-presidente do Supremo, durante o recesso do Judiciário.

Toffoli, porém, cobrou do PGR uma posição sobre o pedido de Alessandro Vieira contra Bolsonaro. "Considerando a alusão na inicial a crimes em que a Procuradoria-Geral da República atua como dominus litis [titular da ação] e como custos legis [guardião da lei], entendo imprescindível colher sua manifestação", escreveu o ministro.

Procurada pelo UOL, a PGR afirma que Aras não se manifestou sobre o mérito do caso porque não houve pedido nesse sentido. "A PGR deu ciência dessa decisão [da ministra Rosa Weber]. Ou seja, não se manifestou no mérito porque sequer houve pedido do relator", afirma a instituição em nota.