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

Caixa anuncia presidente interina até a posse de Daniella Marques

Daniella Marques Consentino, assessora de Paulo Guedes, ainda não pode assumir a presidência da Caixa - Divulgação/Ministério da Economia
Daniella Marques Consentino, assessora de Paulo Guedes, ainda não pode assumir a presidência da Caixa Imagem: Divulgação/Ministério da Economia

Colaboração para o UOL, em Brasília

30/06/2022 19h14

A Caixa Econômica Federal anunciou hoje o nome de Henriete Bernabé como presidente interina até posse de Daniella Marques, indicada ontem pelo presidente Jair Bolsonaro (PL) para substituir o economista Pedro Guimarães, que pediu demissão depois de o site Metrópoles ter divulgado relatos de funcionárias que afirmam terem sido vítimas de assédio sexual por parte dele. O MPF (Ministério Público Federal) investiga o caso.

"O Conselho de istração da Caixa registra que condutas ilícitas não são toleradas, em especial as de assédio sexual ou de qualquer natureza, e, se comprovadamente praticadas por agentes da instituição, receberão o devido tratamento previsto na legislação e nas normas internas da empresa", afirmou o banco estatal em nota.

Bernabé é vice-presidente de Habitação do banco estatal e vai ficar no cargo até que sejam concluídos os procedimentos internos de elegibilidade da nova escolhida pelo governo. O banco estatal informou ainda que, em reunião extraordinária realizada hoje, determinou o prosseguimento da apuração dos relatos pela corregedoria da instituição da instituição financeira e autorizou a contratação de empresa independente para promover investigações complementares sobre o caso.

Leia a íntegra do que diz a Caixa

"O Conselho de istração da caixa informa que tomou conhecimento da possível existência de procedimento apuratório no âmbito do Ministério Público Federal contra o ex-presidente da instituição no dia 28 de junho.

No mesmo dia, o Presidente do Conselho de istração solicitou formalmente ao Comitê de Auditoria que, preliminarmente, buscasse informações sobre a existência de apuração quanto aos mesmos fatos no âmbito interno da Caixa, para que o Conselho pudesse tomar ciência do tema e deliberar as próximas medidas que deveriam ser adotadas, providência que foi comunicada aos demais membros do Conselho na manhã do dia 29."