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

Barros: novo programa social está estruturado para análise de parlamentares

O líder do governo na Câmara, deputado Ricardo Barros (PP-PR), em Brasília - Reuters
O líder do governo na Câmara, deputado Ricardo Barros (PP-PR), em Brasília Imagem: Reuters

Luciana Amaral

Do UOL, em Brasília

27/09/2020 16h00

O líder do governo na Câmara, deputado Ricardo Barros (PP-PR), afirmou hoje que o novo programa social do governo de Jair Bolsonaro (sem partido) está estruturado e pronto para ser analisado pelos parlamentares.

O texto precisa ar pelo crivo dos líderes partidários no Congresso, com destaque para o centrão, antes de ser apresentado oficialmente e tramitar no Legislativo. Senão, a articulação em torno do tema pode ficar prejudicada e travar a iniciativa.

Barros se reuniu hoje com o ministro da Secretaria de Governo, Luiz Eduardo Ramos, responsável pela articulação política do Planalto com o Parlamento, o líder do governo no Congresso, Eduardo Gomes (MDB-TO), e o relator do Orçamento de 2021 e da PEC (Proposta de Emenda à Constituição) do pacto federativo, senador Márcio Bittar (MDB-AC).

O grupo tratou da formatação do programa social que deverá substituir o Bolsa Família e servir como uma espécie de continuação do auxílio emergencial. Bolsonaro quer imprimir uma ação social com a marca de sua gestão, especialmente após ter a popularidade alavancada com a distribuição do auxílio em meio à pandemia, visando a reeleição em 2022, segundo governistas.

"Foi ótimo. Resolvemos os problemas todos", afirmou Barros.

"Tratamos da estruturação do texto, das fontes, do teto, das coisas que são relevantes. São os paradigmas que estabelecemos, está tudo dentro do combinado. O senador [Bittar] vai apresentar aos líderes [partidários] o relatório dele, as premissas, amanhã. Aí os textos serão entregues depois da reunião. Ele vai ver se tem alguma modificação sugerida pelos líderes e vai entregar o texto", acrescentou.

O senador Márcio Bittar (MDB-AC), o deputado federal Ricardo Barros (PP-PR), o senador Eduardo Gomes (MDB-TO) e o ministro da Secretaria de Governo, Luiz Eduardo Ramos, em reunião - Ricardo Barros/Reprodução - Ricardo Barros/Reprodução
O senador Márcio Bittar (MDB-AC), o deputado federal Ricardo Barros (PP-PR), o senador Eduardo Gomes (MDB-TO) e o ministro da Secretaria de Governo, Luiz Eduardo Ramos, em reunião
Imagem: Ricardo Barros/Reprodução

Em vídeo, Bolsonaro disse ter proibido qualquer discussão sobre o novo programa social após má repercussão de estudos de medidas impopulares para bancá-lo.

Nos bastidores, a história é outra. Bittar já declarou ter recebido sinal verde de Bolsonaro para a criação do programa. Parlamentares e técnicos do governo afirmam que ele deve ser criado no âmbito da PEC do pacto federativo.

Segundo Barros, a reforma tributária também foi discutida na reunião e seguirá o mesmo caminho de articulação do texto do novo programa social. Haverá debate interno com o presidente Jair Bolsonaro, o presidente da Câmara, Rodrigo Maia (DEM-RJ) e líderes para, então, anunciar o que for decidido.