;(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
OPINIÃO

Kennedy: Múcio foi moderado demais; discurso contra golpistas precisa mudar

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

03/01/2023 20h43

O ministro da Defesa José Múcio afirmou que os acampamentos bolsonaristas com teor golpista eram uma "manifestação da democracia", mas precisará mudar o tom de seu discurso para conseguir encerrar esse episódio que já dura mais de dois meses.

O colunista do UOL Kennedy Alencar destacou durante participação no UOL News que o presidente Lula (PT) deu uma missão para Múcio, que é agir de forma moderada em relação às Forças Armadas. Mas que o novo ministro está sendo moderado demais.

Múcio precisará mudar um pouco esse discurso dele, porque essa fala moderada demais dele não está ajudando a encerrar esse episódio [das manifestações golpistas]. Kennedy Alencar

ando a mão na cabeça de golpistas. Kennedy ainda destacou que as manifestações pedem a intervenção das Forças Armadas para derrubar um presidente eleito, e portanto não são democráticas. Ele ainda afirmou que, ao tentar agradar a cúpula das Forças Armadas em seu discurso, ao se colocar como um nome moderado dentro do atual governo, Múcio acaba "ando a mão na cabeça de golpistas".

Kennedy: Com discurso irretocável, Silvio Almeida tem trabalhão pela frente

Kennedy ainda afirmou que o discurso de posse do novo ministro de Direitos Humanos, Silvio Almeida, foi "irretocável" e "o mais bonito" que viu em sua vida. Kennedy destacou a fala do ministro de que todas as pessoas são valiosas, apesar de serem invisibilizadas algumas vezes, mas também ressaltou que Silvio Almeida terá muito trabalho.

"Um discurso como esse do Silvio Almeida é um belíssimo começo de governo nessa área. Acho irretocável e emocionante. Ele é preparado e acho que vamos ter boas notícias aí, mas tem um trabalhão a ser feito (...) e acho que é a pessoa certa, no lugar certo, na hora certa", disse.

Maierovitch: Zambelli faz diversionismo após ação acertada de Gilmar Mendes

"Essa fala dela [Zambelli] é mero diversionismo, então ela procura deslocar o foco. Em segundo lugar ela foi indiciada em um inquérito apuratório que já foi para o Supremo e isso está em andamento em razão do foro privilegiado que ela tem", afirmou o jurista e colunista do UOL Wálter Maierovitch.

Ele também classificou a decisão do ministro do STF (Supremo Tribunal Federal) Gilmar Mendes como acertada ao determinar busca e apreensão de armas da deputada federal Carla Zambelli (PL-SP) e destacou um decreto assinado ontem pelo novo governo que diz que a pessoa que é investigada em um inquérito ou que tem contra si uma ação penal deve ter o porte de arma cassado imediatamente.

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

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

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

Veja a íntegra do programa: