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

Moraes manda Daniel Silveira voltar a usar tornozeleira eletrônica

Deputado também está proibido de deixar o Rio, exceto para idas a Brasília relacionadas ao mandato - Dida Sampaio/Estadão Conteúdo
Deputado também está proibido de deixar o Rio, exceto para idas a Brasília relacionadas ao mandato Imagem: Dida Sampaio/Estadão Conteúdo

Do UOL, em São Paulo

26/03/2022 12h56Atualizada em 26/03/2022 13h08

O ministro Alexandre de Moraes, do STF (Supremo Tribunal Federal), determinou que o deputado federal Daniel Silveira (PSL-RJ) volte a usar tornozoleira eletrônica. Moraes ainda proibiu Silveira de deixar o Rio de Janeiro, exceto para idas a Brasília que sejam relacionadas ao exercício do mandato na Câmara.

A decisão do ministro atende a um pedido feito pela subprocuradora-geral da República Lindôra Araújo, em manifestação enviada ontem (25) ao STF. No ofício, Lindôra afirmou que Silveira vem agindo contra a democracia e tem aproveitado aparições públicas para atacar o tribunal e seus membros —argumento acatado por Moraes.

"No caso em análise, está largamente demonstrada, diante das repetidas violações, por meio de repetidas entrevistas nas redes sociais e encontro com os investigados nos inquéritos mencionados, a inadequação das medidas cautelares em cessar o periculum libertatis [perigo da liberdade] do réu [Daniel Silveira], o que indica a necessidade de seu recrudescimento", escreveu o ministro no despacho.

As condutas ora noticiadas pela Procuradoria-Geral da República [representada por Lindôra] revelam-se como um desdobramento daquelas que foram objeto da denúncia que deu origem a esta ação penal e indicam que o réu mantém o seu total desrespeito ao Poder Judiciário, notadamente por meio da perpetuação dos ataques à Suprema Corte e a seus ministros."
Alexandre de Moraes, em decisão

A zona abrangida pela tornozoleira eletrônica será restrita a Petrópolis (RJ), município onde Silveira mora. Deslocamentos ao Distrito Federal serão autorizados "para os fins do exercício do mandato parlamentar", segundo determinou Moraes. Pedidos para alterações pontuais nessas limitações deverão ser enviados ao STF, "com as justificativas pertinentes".

O UOL entrou em contato com Daniel Silveira via Telegram para pedir um posicionamento sobre a decisão e aguarda retorno.

Ataques reiterados

Silveira foi preso em fevereiro de 2021, após divulgar um vídeo com ameaças aos ministros do STF. Entre idas e vindas no regime domiciliar, ele foi solto definitivamente em novembro, mas foi submetido a uma série de medidas cautelares, incluindo a proibição de o a redes sociais e de contato com outros investigados nos inquéritos das fake news e das milícias digitais.

Apesar das restrições, o deputado voltou a atacar o STF na semana ada. Em evento que reuniu conservadores, onde esteve com o empresário Otávio Fakhoury, que também é investigado no STF, Silveira disse que "está ficando complicado" para Moraes continuar vivendo no Brasil.

"As novas falas do parlamentar, assim como as anteriores manifestações já denunciadas, direcionam-se contra o regime democrático, as instituições republicanas e a separação de Poderes. (...) Somam-se, ainda, as incitações públicas para desafio ao sistema e alegação de que os membros do STF estão cruzando a linha do limite e que apenas o chefe do Poder Executivo pode deter isso", disse Lindôra na manifestação enviada ontem (25) ao STF.

(Com Estadão Conteúdo)