;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Ciro Nogueira defende poder sobre Orçamento: 'Sou para-raios de Guedes'

Do UOL, em São Paulo

26/01/2022 15h41Atualizada em 26/01/2022 20h13

O ministro-chefe da Casa Civil, Ciro Nogueira, defendeu o decreto assinado pelo presidente Jair Bolsonaro (PL) que, na prática, tirou parte do poder de decisão do Ministério da Economia em questões relacionadas ao Orçamento. Segundo Nogueira, a mudança foi aprovada previamente pelo ministro Paulo Guedes, com quem a a dividir a "responsabilidade de dizer 'sim' e 'não'".

"Achamos que era muito melhor tanto para ele [Guedes] quanto para a Casa Civil. Levamos esse pleito ao presidente. O que acontece é que o Paulo Guedes sempre ficava encarregado de dar o 'não' para alguns pleitos dos ministérios. Além de amortecedor, agora eu sou um para-raios do 'Posto Ipiranga'", explicou o ministro em entrevista a O Globo.

Editado no último dia 13, o decreto em questão determina que atos relacionados à gestão do Orçamento precisarão de aval prévio da Casa Civil. Ações como remanejamento de recursos, alterações de despesas e abertura de créditos extraordinários, por exemplo, devem ser feitas pelo Ministério da Economia, mas "condicionadas à manifestação prévia favorável" de Ciro Nogueira — um dos principais nomes do centrão.

A mudança chegou em um momento de acirramento da disputa entre as equipes de Guedes e auxiliares do Palácio do Planalto, e representa uma tentativa de Bolsonaro de ganhar mais apoio político em ano de eleição, com o objetivo de fazer frente ao ex-presidente Luiz Inácio Lula da Silva (PT), que aparece à frente do atual mandatário nas pesquisas de intenção de voto.

Questionado pelo Globo, porém, Nogueira disse confiar na reeleição de Bolsonaro.

"Ele vai ganhar. O país nunca deixou de reeleger um presidente. Quem reelege o presidente é a economia, e a vida das pessoas vai melhorar", afirmou. "Acho que a arrogância do PT está sendo importante para que as pessoas aprendam a identificar e separar. As pessoas não querem esse grupo do PT de volta ao comando do país."

O Lula hoje está, em certo ponto, um pouco arrogante. O Lula que vi outro dia, parecia que estava dando entrevista para o Granma, aquele jornal lá de Cuba, sem contestação. E o Lula se tornou juiz. A que ponto que chegamos: o Lula, que teve o seu processo anulado, ser juiz, dizendo que tem centrão do bem e centrão do mal. Lula tem condições de ser juiz em nosso país? Acho um pouco demais.
Ciro Nogueira, ao Globo

Reajuste a servidores

O Orçamento de 2022, sancionado nesta semana por Bolsonaro, destina R$ 1,7 bilhão para o reajuste salarial de servidores públicos federais. A verba foi negociada para atender aos policiais federais, grupo estratégico para o presidente nas eleições, e causou reação de outras categorias do funcionalismo público, que também cobram aumento.

Ao Globo, Ciro Nogueira disse que existe uma "determinação" de Bolsonaro e que o governo quer, sim, dar reajuste a todos os servidores, mas tem as contas públicas a serem respeitadas.

"Não somos irresponsáveis. Senão, nós iríamos dar com uma mão e tirar com a outra, principalmente da parcela da população que precisa. Não vai acontecer nenhum tipo de aumento sem respeitarmos as contas públicas. Por mim, daria aumento para todos. Acho que temos que ter um reconhecimento dessas categorias de policiais, que são muito importantes. Mas defendo que seja dado para todos os servidores", declarou.

(Com Estadão Conteúdo)