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

Alexandre de Moraes aprova prisão domiciliar para Roberto Jefferson

26.fev.2021 - O então presidente nacional do PTB, Roberto Jefferson, em Curitiba (PR) - Eduardo Matysiak/Futura Press/Estadão Conteúdo
26.fev.2021 - O então presidente nacional do PTB, Roberto Jefferson, em Curitiba (PR) Imagem: Eduardo Matysiak/Futura Press/Estadão Conteúdo

Do UOL, em São Paulo

24/01/2022 20h45Atualizada em 25/01/2022 15h53

O ministro Alexandre de Moraes, do STF (Supremo Tribunal Federal), concedeu hoje prisão domiciliar para o ex-deputado federal Roberto Jefferson (PTB). Até então, Jefferson estava cumprindo prisão preventiva e, no dia 18 de janeiro, foi liberado temporariamente para fazer exames.

A informação foi confirmada pelo advogado de Jefferson ao UOL. Ele também informou que Jefferson já deixou o presídio e está em casa. Com covid-19 pela segunda vez e outras complicações de saúde, a defesa do ex-deputado argumentou que o cliente sofria risco de vida na prisão preventiva.

No despacho, o ministro do STF afirmou que Roberto Jefferson rejeitou a vacina e foi infectado pela covid no presídio. Apesar de liberar a prisão domiciliar, Moraes, estabeleceu algumas medidas que o ex-deputado deverá cumprir: usar tornozeleira eletrônica, se apresentar à Justiça periodicamente e não se comunicar com outros investigados. O ex-parlamentar também está proibido de sair de casa à noite.

Caso uma dessas regras seja descumprida, o STF poderá prender Jefferson preventivamente de novo. O regime domiciliar será cumprido em Comendador Levy Gasparian, no Rio de Janeiro.

Milícia digital

Jefferson está detido desde agosto de 2021 por determinação de Moraes por suspeita de envolvimento com uma milícia digital que atua contra a democracia.

Em dezembro, o ministro já havia negado um pedido de soltura do ex-deputado sob o argumento de que a manutenção da prisão é "necessária e imprescindível à garantia da ordem pública e à instrução criminal".

Jefferson já teve outros pedidos negados pelo Supremo, mas Moraes não apenas manteve a prisão do ex-deputado, como também o afastamento do político da presidência do PTB, determinado em novembro e válido por 180 dias.