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

Esse conteúdo é antigo

Secretário-executivo do MEC exonera ex-assessores especiais de Weintraub

Ministério da Educação exonera ex-assessores especiais do ex-ministro Abraham Weintraub - Divulgação
Ministério da Educação exonera ex-assessores especiais do ex-ministro Abraham Weintraub Imagem: Divulgação

Do UOL, em São Paulo

27/07/2020 18h36

Secretário-executivo do MEC (Ministério da Educação), Victor Godoy Veiga exonerou em decisão publicada hoje no DOU (Diário Oficial da União) quatro ex-assessores especiais do ex-ministro Abraham Weintraub. Auro Hadano Tanaka, Eduardo André Brito Celino, Sérgio Henrique Cabral Sant'ana e Victor Sarfatis Metta foram dispensados de seus cargos.

Weintraub anunciou sua saída do MEC em 18 de junho e recebeu indicação para ser diretor-executivo da Constituency do Brasil no Banco Mundial. Sua agem pelo governo Bolsonaro rendeu uma série de polêmicas que culminaram em investigações da Polícia Federal.

Na reunião ministerial de 22 de abril, o ex-ministro atacou o STF (Supremo Tribunal Federal) e disse que colocaria os ministros da corte na cadeia. No depoimento à PF, acabou permanecendo em silêncio.

Também prestou depoimento após postagens em sua conta no Twitter em referência à China, onde publicou uma imagem do personagem "Cebolinha" da "Turma da Mônica" que troca a letra "R" pela "L", exemplificando o sotaque de chineses quando se comunicam na Língua Portuguesa. Weintraub alegou que utilizou "elementos de humor". A Embaixada da China no Brasil considerou às declarações de cunho racista.

Após a saída de Weintraub, o presidente Jair Bolsonaro (sem partido) indiciou o professor Carlos Alberto Decotelli da Silva para o MEC. Porém, este foi exonerado antes de assumir a pasta por uma série de inconsistências em seu currículo.

A Universidade de Rosário, na Argentina, confirmou que Decotelli não tinha concluído sua tese de doutorado na instituição. A Universidade de Wuppertal, na Alemanha, também afirmou que ele não havia feito pós-doutorado no estabelecimento de ensino.

Em 10 de julho, Bolsonaro nomeou o professor e pastor da Igreja Presbiteriana Milton Ribeiro. Teólogo e Advogado, Ribeiro é ex-vice reitor da Universidade Presbiteriana Mackenzie. Hoje, o ministro se recupera após ser diagnosticado com a covid-19.