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

Chico Alves: Bolsonaro usou Daniel Silveira para queda de braço com STF

Colaboração para o UOL, em São Paulo

04/05/2023 18h56Atualizada em 04/05/2023 19h46

O ex-presidente Jair Bolsonaro (PL) utilizou o ex-deputado federal Daniel Silveira (PTB) para uma queda de braço com o STF (Supremo Tribunal Federal), na opinião do colunista do UOL Chico Alves. Hoje, o Supremo formou maioria —seis votos a dois— para derrubar o decreto presidencial que concedeu indulto a Silveira.

Completamente injustificado esse indulto de Bolsonaro. Foi concedido naquele momento de debate mais agudo com o STF e Bolsonaro, com atitudes e palavras fortes, expressão irada, reclamou da punição a Daniel Silveira, seu aliado inclusive para campanha golpista."
Chico Alves, colunista do UOL

Para o colunista, o "Estado de direito está se restabelecendo e as coisas estão voltando aos lugares". "Porque não tinha nenhuma justificativa para esse indulto ser concedido", disse no UOL News.

Cid pode ter prevaricado se não reportou proposta de golpe, diz professor

O tenente-coronel do Exército Mauro Cid, ex-ajudante de ordens de Jair Bolsonaro (PL), pode ter prevaricado por não ter reportado a proposta de golpe, disse Wallace Corbo, professor de Direito da FGV Rio. Reportagem da CNN apontou que Cid e Ailton Barros trocaram mensagens sobre um golpe de estado.

Para o professor, as mensagens não necessariamente incriminam Cid com relação à tentativa de golpe, já que teria de ser provado que de fato ele participou do crime de atentado contra o estado democrático de direito.

Se e ele recebe essa notícia e ele não faz nada? Ele não reponde? Ok. Mas ele também não encaminha isso para uma Corregedoria, para o Ministério Público, algum órgão de controle, de fato a gente pode ter no mínimo um crime de prevaricação, um crime de deixar de atuar nos termos que a lei impõe."
Wallace Corbo, professor de Direito

"Isso pode incriminá-lo. Não necessariamente nos crimes contra o Estado democrático de direito, mas pode incriminá-lo com relação ao descumprimento de um dever legal", completou.

Prisão de Cid ofuscou almoço de Lula no Exército, diz Carla Araújo

A colunista do UOL Carla Araújo afirmou que o almoço realizado ontem pelo presidente Lula (PT) com o comandante do Exército, general Tomás Paiva, e outros generais de quatro estrelas foi ofuscado pela prisão do tenente-coronel Mauro Cid.

Estava todo mundo falando em clima ameno até que a fonte fala: 'ai, Carla, hoje o dia foi péssimo. Essa prisão do Cid ofuscou nosso almoço'. Não foi tema do almoço em si, no almoço o comandante apresentou as demandas do Exército, onde o Exército pode trabalhar em crimes fronteiriços, necessidade de investimento, outras coisas mais."
Carla Araújo, colunista do UOL

"O presidente Lula falou que quer voltar a investir nas forças armadas, foi um clima bem ameno. Mas no pé de ouvido um de outro, o assunto era a prisão do Cid", completou.

***

O UOL News vai ao ar de segunda a sexta-feira em três edições: às 8h, às 12h e às 18h. O programa é sempre ao vivo.

Quando: de segunda a sexta, às 8h, às 12h e 18h.

Onde assistir: Ao vivo na home UOL, UOL no YouTube e Facebook do UOL.

Veja a íntegra do programa: