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

'Chicago boy', Levy transitou por petismo e bolsonarismo, e foi alvo dos 2

Joaquim Levy, pediu demissão da presidência do BNDES - Pilar Olivares/Reuters
Joaquim Levy, pediu demissão da presidência do BNDES Imagem: Pilar Olivares/Reuters

Alessandra Monnerat

São Paulo

16/06/2019 13h53

Após o presidente Jair Bolsonaro declarar que estava "por aqui" com Joaquim Levy, o economista pediu demissão da presidência do BNDES (Banco Nacional de Desenvolvimento Econômico e Social) depois de cinco meses no cargo. Na istração pública, ele já havia ocupado postos-chave nos governos de Fernando Henrique Cardoso, Luiz Inácio Lula da Silva, Sérgio Cabral e Dilma Rousseff.

Um "Chicago boy" assim como o ministro da Fazenda, Paulo Guedes, Levy é um nome conhecido do mercado --ele já foi diretor geral e financeiro do Banco Mundial entre 2016 e 2018 e diretor superintendente do Bradesco entre 2010 e 2014.

Economista ortodoxo, ele possui doutorado pela Universidade de Chicago, considerado centro do pensamento liberal. No governo de Bolsonaro, sua nomeação foi tida como um sinal de vitória dessa visão econômica sobre o pensamento um pouco mais estatizante do núcleo militar.

O estopim da demissão de Levy foi a nomeação do advogado Marcos Barbosa Pinto para o cargo de diretor de Mercado de Capitais do BNDES. Barbosa Pinto trabalhou como assessor do banco de fomento durante o governo petista, de 2005 a 2007, o que irritou Bolsonaro. No entanto, o próprio Levy foi ministro da Fazenda de Dilma Rousseff em 2015, e também trabalhou no governo de Lula entre 2003 e 2006.

A presidente cassada Dilma anunciou Levy para o ministério da Fazenda em novembro de 2014, parte de uma equipe econômica montada para fazer um aceno ao mercado. O economista ortodoxo assumiu o posto com um plano austero de ajuste fiscal.

No entanto, ele ficaria menos de um ano no cargo: foi demitido em dezembro de 2015 após enfrentar resistência do PT e o fogo amigo do governo. A saída de Levy já tinha sido acertada com Dilma mais de uma vez.

O ex-ministro da Fazenda já tinha ficado conhecido como "mãos de tesoura" em sua primeira agem em um governo petista, entre 2003 e 2006, quando foi secretário do Tesouro Nacional na equipe de Antônio Palocci e teve como missão pôr em ordem as contas do governo.

Com a entrada de Guido Mantega na Fazenda, Levy deixou o ministério para assumir a vice-presidência de Finanças e istração do Banco Interamericano de Desenvolvimento (BID), cargo que ocupou em 2006.

Em 2007, ele aceitou o convite do então governador do Rio de Janeiro, Sérgio Cabral, para assumir a Secretaria de Fazenda do Estado. Levy ocupou o posto até 2010, quando assumiu a diretoria de gestão estratégica da Bradesco Asset Management (Bram).

Sua primeira agem por um governo foi em 2000, quando foi economista-chefe da Assessoria Econômica do Ministério do Planejamento de Fernando Henrique Cardoso. Ele foi mantido no processo de transição entre o governo FHC e Lula.

Presidente do BNDES está com "cabeça a prêmio", diz Bolsonaro

UOL Notícias