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

Sakamoto: Como golpismo não se desmobilizará do nada, prisões minam atos

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

17/01/2023 13h30Atualizada em 17/01/2023 15h03

O colunista do UOL Leonardo Sakamoto disse, durante o UOL News, que as prisões não acabarão com o golpismo, mas os atos serão afetados por essas detenções.

Essas prisões de quem ajudou a financiar os atos golpistas, seja de pequenos ou grandes financiadores, tem potencial de ajudar a desestimular novas ações como essa. Sem o dinheiro desses financiamentos, que banca alimentação, transporte e outros gastos golpistas, não teria havido aqueles atos terroristas".

Sakamoto afirma que é importante mostrar para os golpistas o que acontecerá caso atos como o do dia 8 se repitam.

O problema é que você não vai desmobilizar esse comportamento golpista de uma hora pra outra, mas você pode reduzir enormemente mostrando pra eles o que acontece. O que acontece agora é: uma grande quantidade de pessoas presa por destruição do patrimônio público e um outro grupo que está sendo preso agora pelo financiamento dessa destruição".

Primo de Ustra é prova de que Bolsonaro transformou governo em cabide para militares, diz Joel

O comentarista Joel Pinheiro afirmou durante o programa que Bolsonaro "recheou" o governo de militares.

"Bolsonaro transformou o Governo Federal em um verdadeiro cabide onde podia e não podia, recheou tudo de militares. Chegando o Lula, naturalmente, vai querer colocar pessoas de sua confiança e tirar esse bando de militares que o Bolsonaro encheu para todos os lados. A maioria deles, deve sim, deixar seus cargos".

Sakamoto: Após barulho nas eleições, Forças Armadas silenciam sobre atos golpistas

Sakamoto também criticou o silêncio das Forças Armadas sobre os ataques do dia 8.

"As Forças Armadas não soltaram uma nota oficial repudiando os atos terroristas contra a sede dos três Poderes e nenhum desagravo para os três Poderes que foram atacados, e isso é grave. Se for no site do Ministério da Defesa, você vai ver que a última nota é sobre urnas eletrônicas e a possibilidade de fraude".

Ele também comentou sobre a regra de que os militares não possam participar de atos políticos. "Quem vai para um ato desse está apertando o dane-se para as possibilidades de punição, uma vez que não é cabível que militares participem de atos políticos.

"Esse regramento virou papel de embrulhar peixe quando o general Pazuello participou de um ato político no Rio de Janeiro em prol de Jair Bolsonaro e o comando do Exército não puniu Pazuello. Isso mandou um recado muito sério do tipo: 'Pode ir. Se é um ato pró-bolsonarismo, a gente acoberta. Essa foi a mensagem ada pela impunidade de Pazuello'"

Para ele, as Forças Armadas devem explicações. "Seria inocência da nossa parte achar que as Forças Armadas são polo ivo nessa história. As Forças Armadas contribuíram para que a gente chegasse ao ponto onde estamos. No ano ado, elas participaram daquele papel ativo em questionamento das urnas eletrônicas, que acabou desaguando no que vimos no último domingo".

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: