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

Em live de uma hora, Bolsonaro ignora prisão de deputado Daniel Silveira

O deputado federal Daniel Silveira (PSL-RJ), preso em 16/02/2021 após ataques a ministros do STF - Divulgação/Deputado Daniel Silveira
O deputado federal Daniel Silveira (PSL-RJ), preso em 16/02/2021 após ataques a ministros do STF Imagem: Divulgação/Deputado Daniel Silveira

Do UOL, em São Paulo

18/02/2021 20h23

O presidente Jair Bolsonaro (sem partido) acolheu o conselho de auxiliares e segue sem comentar a prisão do deputado federal Daniel Silveira (PSL-RJ). O assunto foi ignorado pelo presidente hoje em live que durou quase uma hora e foi transmitida pelas redes sociais.

O parlamentar bolsonarista foi preso anteontem em "flagrante delito" por incitar atos violentos contra ministros do STF (Supremo Tribunal Federal) e ameaçar o Estado Democrático de Direito, segundo decisão do ministro Alexandre de Moraes. O vídeo que resultou em seu mandato de prisão foi gravado com a intenção de impressionar Bolsonaro e seu entorno visando as eleições de 2022.

Segundo informações da colunista do UOL Juliana Dal Piva, Daniel Silveira "não andava tão bem" com o presidente e seus assessores mais próximos. As discussões em torno das eleições do ano que vem e as possíveis trocas de partido teriam motivado dúvidas sobre o quanto Silveira se manteria fiel ao bolsonarismo.

Segundo o jornal Folha de S. Paulo, Bolsonaro e outros integrantes da ala ideológica ficaram contrariados com a prisão que foi baseada em vídeo publicado nas redes sociais —eles temem que a decisão abra brecha para novas punições contra bolsonaristas que defendem a ditadura militar e ataques ao Supremo. Mesmo assim, a orientação é de que o presidente permaneça distante já que Silveira não é membro do governo e a prisão é discutida no Judiciário e Legislativo.

Ainda de acordo com a Folha, um dos aliados de Bolsonaro argumenta que qualquer posicionamento sobre o assunto transformaria o problema numa confrontação entre os Três Poderes, o que pode prejudicar a aprovação de pautas prioritárias do governo no Congresso.

Entre ontem e hoje, Bolsonaro se limitou a divulgar nas redes sociais uma operação da Polícia Federal que apreendeu cocaína e anunciou a diminuição do imposto de importação de bicicletas, sem comentar o caso do deputado, que teve ampla repercussão em Brasília.

Prisão foi mantida em audiência de custódia

Hoje, em audiência de custódia para avaliar eventuais ilegalidades na prisão, o juiz Aírton Vieira decidiu manter a prisão do deputado federal Daniel Silveira.

A defesa do parlamentar chegou a questionar "o estado de flagrância, bem como se crime houve, que não seria inafiançável, mas sim afiançável", mas tanto o juiz que conduziu a audiência quanto o Ministério Público entenderam que não houve irregularidades ou abuso em sua prisão e, por isso, decidiram pela manutenção da prisão do deputado bolsonarista.

Daniel Silveira foi transferido para um batalhão da Polícia Militar, que tem mais condições carcerárias. No vídeo, Silveira ataca ministros da Corte —em especial, a Edson Fachin, Gilmar Mendes e ao próprio Moraes. Ele foi preso em Petrópolis, cidade da região serrana do Rio, pela Polícia Federal.