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

Pacheco: 'Temos confiança na preservação do estado democrático de direito'

Rodrigo Pacheco, presidente do Senado, disse que enxerga trocas nos ministérios com naturalidade - Reprodução/Youtube-Canal Livre
Rodrigo Pacheco, presidente do Senado, disse que enxerga trocas nos ministérios com naturalidade Imagem: Reprodução/Youtube-Canal Livre

Do UOL, em São Paulo

30/03/2021 17h21

O presidente do Senado, Rodrigo Pacheco (DEM-MG), comentou hoje sobre a reforma ministerial feita ontem pelo presidente Jair Bolsonaro e o pedido de demissão dos chefes das Forças Armadas. Neste cenário de incerteza, Pacheco disse ter confiança na preservação do estado democrático de direito.

"Temos plena e absoluta confiança nisso, nesse amadurecimento civilizatório do Brasil de preservação absoluta do Estado Democrático de Direito do qual fazem parte as Forças Armada", disse em entrevista coletiva na tarde de hoje.

O presidente do Senado disse que enxerga com naturalidade as trocas, que ele definiu como "comuns no governo". Ele também afirmou que não se permite especular que elas tenham sido feitas por qualquer motivo que não "o aprimoramento do governo".

Especificamente sobre a saída dos comandantes do Exército, da Marinha e da Aeronáutica, Pacheco disse: "Isso precisa ser tratado dentro de um universo próprio que é o da Defesa, sem nenhum tipo de especulação que não seja de uma troca de comando".

Pandemia deve ser o foco

Perguntado sobre o projeto de lei do deputado Vitor Hugo (PSL-GO), que pretendia dar poderes típicos de situações de guerra ao presidente Bolsonaro, Pacheco disse que não o conhece a fundo. Ele também defendeu que o foco do Congresso neste momento deve ser o combate à pandemia de covid-19.

"O nosso foco no Congresso Nacional é de maneira absoluta o enfrentamento à pandemia, a redução do número de mortos no Brasil, a melhora no atendimento médico e hospitalar dessas pessoas e a ampliação da vacinação", afirmou.

"Não nos permitamos que fatos paralelos possam estabelecer uma cortina de fumaça em relação ao nosso grande problema nacional de hoje, que é a pandemia que nos assola de maneira muito severa", insistiu.

Pacheco defendeu que as forças de segurança e os professores devem ser priorizados na vacinação.

Ele também confirmou a reunião do comitê de combate à covid-19 para amanhã, mas não explicou se representantes dos governadores participarão.