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

Fazenda diz que greve dos caminhoneiros tirou 1,2 ponto porcentual do PIB

Fábio Motta/Estadão Conteúdo
Imagem: Fábio Motta/Estadão Conteúdo

Eduardo Laguna

São Paulo

15/10/2018 18h29

A secretária-executiva do Ministério da Fazenda, Ana Paula Vescovi, disse nesta segunda-feira (15) que a greve dos caminhoneiros, responsável por uma crise de abastecimento sem precedentes em maio, tirou 1,2 ponto porcentual de crescimento do PIB (Produto Interno Bruto) deste ano.

A secretária citou a paralisação dos caminhoneiros ao explicar, durante seminário na capital paulista, o crescimento apenas modesto da economia, na esteira de dois anos de recessão.

Leia também:

"Houve durante a greve a destruição da possibilidade de se ter atividade produtiva. Teríamos percepção de crescimento mais engatado do que temos hoje não fosse a greve, que tirou parte importante da recuperação cíclica de 2018", comentou Ana Paula.

A secretária frisou que o crescimento sustentável do PIB depende do enfrentamento da crise fiscal --o que a pela reforma da Previdência, classificada por ela como "urgente e essencial"--, bem como da melhora da produtividade da economia, esta dependente de abertura comercial e reforma tributária.

Teto dos gastos

Ela aproveitou ainda o seminário, promovido pela Internews, para defender a manutenção da regra, bastante criticada durante as eleições, que fixou um teto aos gastos públicos. Além de permitir maior realismo orçamentário, dando fim aos contingenciamentos bilionários de orçamento, a regra, sustentou, representa uma sinalização a investidores de que o Brasil conseguirá estabilizar sua dívida num futuro próximo.

Ao mesmo tempo, observou Ana Paula, a norma prevê um ajuste fiscal feito de forma gradual com corte de despesas, tirando da sociedade a pressão por aumento de carga tributária.

Segundo ela, o Ministério da Fazenda está preparando um documento sobre a viabilidade do regime de teto dos gastos públicos no próximo governo. "Nosso papel é fazer o convencimento sobre a regra, já que ela foi bastante atacada nas eleições", disse a secretária.

Meta de rombo nas contas públicas

Além de reforçar que a meta que limita em R$ 159 bilhões o rombo das contas públicas será alcançada com folga neste ano, ela destacou que o próximo governo receberá um orçamento que lhe permitirá "rodar bem" em 2019, com cumprimento tanto da regra do teto quando da regra de ouro.

No caso dessa última norma, que proíbe a União de contrair dívidas para custear despesas correntes, Ana Paula reforçou que o lucro do Banco Central com a valorização das reservas internacionais representará uma fonte de recursos para garantir a regra de ouro no ano que vem. "Entregamos um 2019 bem organizado, com todas as metas fiscais sendo cumpridas", declarou a secretária.

Entenda o que é o PIB e como ele é calculado

UOL Notícias