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

Senado ameaça MP que permite venda da Eletrobras

Logo da Eletrobras em instalações da companhia no Rio de Janeiro - Pilar Olivares/Reuters
Logo da Eletrobras em instalações da companhia no Rio de Janeiro Imagem: Pilar Olivares/Reuters

Daniel Weterman, Amanda Pupo e Anne Warth; colaborou Marlla Sabino

Brasília

12/06/2021 08h14

O Senado aumentou a reação à medida provisória que abre caminho para a privatização da Eletrobras, maior empresa de energia da América Latina, e ameaça derrubar a proposta - aposta do governo federal para desencadear o processo de capitalização da estatal com foco em geração e transmissão.

Em reunião ontem, com o presidente do Senado, Rodrigo Pacheco (DEM-MG), líderes partidários deixaram claro a insatisfação e falaram em rejeitar ou, até mesmo, deixar de votar o texto. A MP perde a validade se não for aprovada pelo Congresso até o dia 22. O governo aposta em aprovação no Senado na próxima semana, mas com mudanças no texto, o que levaria a Câmara a fazer uma nova votação na semana seguinte.

O relator da MP na Câmara, deputado federal Elmar Nascimento (DEM-BA), diz que a Casa tem força política para retomar a proposta aprovada pelos deputados, caso o Senado modifique o texto. O parecer elaborado pelo parlamentar tem sido alvo de críticas de senadores e associações de diversos setores, que afirmam que os "jabutis" - como são chamados trechos estranhos ao projeto inicial - incluídos vão aumentar as tarifas de energia dos consumidores em até 20% e os custos do setor, em até R$ 67 bilhões.

Para Nascimento, os senadores devem fazer apenas "aperfeiçoamentos" no texto, mas não devem excluir integralmente os trechos que vêm sendo questionados. Em último caso, ele aposta na força da base do governo na Câmara, que garantiu 313 votos para aprovação do texto-base da MP. Para se ter ideia, a votação superou os 308 votos necessários para aprovar uma emenda constitucional, mas a redação final, com os jabutis, recebeu uma votação menor e foi aprovada por 297 votos a 143.

O presidente do Senado disse aos líderes que pretende pautar a MP na próxima semana no plenário do Senado. Três representantes de bancadas, porém, afirmaram ao Estadão/Broadcast que a MP deve cair - se esse cenário se concretizar, a privatização da estatal volta à estaca zero e o governo não pode enviar uma nova MP sobre o tema este ano. Nos bastidores, o movimento é visto como reação à articulação política do Palácio do Planalto, além de insatisfação com o protagonismo da Câmara na análise da proposta. O governo enfrenta desgaste no Senado em meio à I da Covid.

Entre os senadores, há um apelo para retirar todo o trecho referente às termelétricas. Isso faria com que o texto tivesse de voltar para a Câmara. Mas os senadores receberam sinais de que o governo não pretende se esforçar para manter a mudança no texto. Assim, o jabuti seria facilmente reinstituído pelos deputados e, por fim, seria enviado para sanção presidencial.

As informações são do jornal O Estado de S. Paulo.