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

Presidente do Ipea prevê queda de 3% do PIB e prepara plano para retomada

Carlos von Doellinger comparou o planejamento para a retomada com o Plano Marshall - Fátima Meira/Futura Press/Estadão Conteúdo
Carlos von Doellinger comparou o planejamento para a retomada com o Plano Marshall Imagem: Fátima Meira/Futura Press/Estadão Conteúdo

Do UOL, em São Paulo

17/04/2020 10h56Atualizada em 17/04/2020 11h15

O economista Carlos Von Doellinger tem projeções mais pessimistas do que algumas do mercado financeiro para o abalo que a economia brasileira sofrerá por conta da crise do coronavírus. O presidente do Ipea (Instituto de Pesquisa Econômica Aplicada) acredita que o PIB (Produto Interno Bruto) brasileiro deve recuar de 2% até 3%.

Como resposta para a crise, Doellinger prevê que o governo possa elaborar um plano de ajuda para a economia na ordem dos bilhões de dólares. "Os Estados Unidos fecharam em US$ 2 trilhões, a Alemanha fala em mais de US$ 800 bilhões. Nós vamos poder fazer um pacote na casa dos bilhões", afirmou o economista em entrevista ao jornal Valor Econômico.

O presidente do Ipea revelou que o instituto está mobilizado na análise dos efeitos da crise e que deve entregar os primeiros relatórios nas próximas semanas, finalizando posteriormente um documento que chegará ao ministro da Economia, Paulo Guedes, no início de julho.

Doellinger comparou as recomendações do órgão ao Plano Marshall. O planejamento foi elaborado pelos Estados Unidos no período pós Segunda Guerra Mundial e começou a ser aplicado a partir de 1947 em algumas das principais nações europeias. O resultando foi um grande crescimento, que chegou a ser da ordem de 35% na atividade industrial.

O plano do Ipea será baseado em quatro conjuntos de ações principais: crédito para setores mais comprometidos, como indústria e serviços; linhas de crédito voltadas à exportação, na tentativa de voltar aos níveis pré-crise; investimentos em infraestrutura e para o setor privado bancados pelo BNDES (Banco Nacional de Desenvolvimento Econômico e Social), focados na remodelação das PPPs (Parceria Público-Privada), principalmente em áreas como saneamento básico e habitação; e por último reforçar programa sociais com foco na geração de empregos.

"O governo pode ou não acolher todas as nossas ideias, mas a nossa missão é oferecer um planejamento sólido para a reconstrução da economia quando tudo isso acabar", disse o economista, que prevê uma taxa de desemprego entre 13% e 14% nos próximos meses.

Para Doellinger, o plano poderá começar a ser colocado em prática em torno de 60 dias, quando a pior fase da epidemia no país já deve ter ado. No entanto, o presidente do Ipea reforça que as medidas têm que ser concluídas ainda neste ano, para que o crescimento econômico dos próximos anos também não seja afetado.

"Não se pode, em hipótese alguma criar gastos permanentes. É o que os estados querem impor com a proposta de recomposição de receitas. Isso é inviável, vai contra o que o governo fez até aqui", disse o economista, citando a suspensão no pagamento da dívida dos estados como melhor alternativa.