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

STF forma maioria para derrubar MP de Bolsonaro contra Lei Paulo Gustavo

Cármen Lúcia e Bolsonaro - Divulgação STF e PR
Cármen Lúcia e Bolsonaro Imagem: Divulgação STF e PR

Weudson Ribeiro

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

08/11/2022 08h23Atualizada em 08/11/2022 14h44

O STF (Supremo Tribunal Federal) formou maioria hoje para manter uma decisão em que Cármen Lúcia suspendeu uma medida provisória editada pelo presidente Jair Bolsonaro (PL) que, ao revogar trechos das leis Paulo Gustavo e Aldir Blanc 2, permitia o adiamento de pagamentos para o setor cultural. A MP também dificultava a transferência de R$ 6,9 bilhões a Estados e municípios ao condicioná-la à disponibilidade orçamentária.

Os ministros Alexandre de Moraes, Roberto Barroso, Dias Toffoli, Gilmar Mendes, Ricardo Lewadowski e Edson Fachin e a presidente da Corte, Rosa Weber, acompanham o entendimento da relatora. "A cultura compõe o núcleo essencial da dignidade humana, princípio central do direito contemporâneo", afirmou Cármen em seu voto.

Durante a análise, qualquer um dos três ministros que ainda não se manifestaram no processo pode pedir mais tempo para analisar o assunto. Nesse caso, a determinação de Cármen fica vigente até que o julgamento tenha um desfecho no STF.

A Lei Paulo Gustavo previa o ree de R$ 3,9 bilhões para Estados e municípios até novembro deste ano. Com a medida provisória, o governo Bolsonaro determinou que o montante fosse destinado "no exercício de 2023", sem especificar em qual mês.

No caso da Lei Aldir Blanc 2, a medida adiou para 2024 o início dos rees. Segundo o texto aprovado no Congresso Nacional, o governo federal deveria pagar aos entes federados R$ 3 bilhões, em parcela única, durante cinco anos, até 2027.

Com a medida de Bolsonaro, a transferência de recursos só seria concluída em 2028, sem a obrigatoriedade de os depósitos serem feitos de uma só vez em cada exercício.

MP de Bolsonaro é inconstitucional, diz ministra

Na avaliação de Cármen Lúcia, a medida provisória é inconstitucional por ter sido editada depois de o Congresso ter derrubado vetos do presidente sobre as duas leis, que foram promulgadas em seguida.

De acordo com a advogada Flávia Calado Pereira, que representa a Rede Sustentabilidade no STF, o presidente da República não tem competência para revogar decisões tomadas pelo Poder Legislativo.

"Se a pretensão do Presidente pudesse ser chancelada pelo ordenamento jurídico pátrio, seria melhor defender que o Congresso sequer legislasse mais, já que sua vontade estaria integralmente sujeita a um pretenso onipotente e unilateral poder", afirma a sigla na ação.