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

Após promessa de dobrar recursos, governo corta orçamento do Meio Ambiente

Jair Bolsonaro durante discurso na Cúpula do Clima - Reprodução/YouTube
Jair Bolsonaro durante discurso na Cúpula do Clima Imagem: Reprodução/YouTube

André Borges

Brasília

23/04/2021 17h10

Um dia depois de o presidente da República, Jair Bolsonaro, prometer a líderes de 40 países que iria dobrar os rees públicos para as áreas de fiscalização ambiental, o governo federal anunciou um corte de R$ 240 milhões no orçamento geral dedicado ao Ministério do Meio Ambiente (MMA). Os vetos publicados por Bolsonaro afetam programas cruciais que são tocados pelo Ibama e pelo Instituto Chico Mendes de Biodiversidade (ICMBio), os dois órgãos federais que cumprem a missão de proteger o meio ambiente.

No Ibama, os vetos somam R$ 19,4 milhões. Justamente as ações de controle e fiscalização ambiental realizadas pelo órgão foram as que mais perderam recursos, com corte de R$ 11,6 milhões.

Em pleno início do período de seca na maior parte do País, quando começam a se alastrar os incêndios, o governo também não poupou as ações de "prevenção e controle de incêndios florestais", com retirada de R$ 6 milhões dessa área.

No ICMBio, o orçamento previsto para criação, gestão e implementação das unidades de conservação foi reduzido em R$ 7 milhões. Até mesmo o Fundo Nacional sobre Mudança do Clima, tema que pauta a cúpula iniciada na quinta-feira, 22, e comandada pelo presidente dos Estados Unidos, Joe Biden, teve um corte de R$ 4,5 milhões.

O maior corte feito na área ocorreu dentro do programa para melhoria da qualidade ambiental urbana, que é tocado pelo próprio MMA, com redução de R$ 203 milhões.

Após a publicação da reportagem, o ministro do Meio Ambiente, Ricardo Salles, informou ao jornal O Estado de S. Paulo que vai tratar do assunto com o Ministério da Economia. "Essa parte de adequação dos valores precisaremos ver com o ministro Paulo Guedes", declarou.

Sobre o fato de o governo executar um corte severo sobre aquilo que, até a quinta, tinha prometido que dobraria, Salles respondeu: "Deveríamos zerar qualquer corte e fazer o ajuste pelo dobro do previsto."

Na quinta, Salles reafirmou a declaração dada por Bolsonaro, de que o governo iria dobrar os recursos destinados à fiscalização ambiental, mas não detalhou valores ou prazos para isso. "Os recursos estão sendo estabelecidos agora, por ocasião da aprovação do Orçamento, junto ao Congresso Nacional", disse Salles, em coletiva de imprensa realizada no Palácio do Planalto.

O recurso destinado à prevenção e controle de incêndios florestais nas áreas federais prioritárias, por exemplo, que em 2019 foi de R$ 49 milhões no Ibama, caiu para R$ 40 milhões em 2020 e previa R$ 37 milhões para este ano. Agora, sofre um corte adicional de R$ 6 milhões.

O limite original previsto para o ICMBio neste ano é de R$ 177 milhões, o que representa uma redução de aproximadamente R$ 72 milhões comparado a 2020, um corte aproximado de 30%. Agora, fica com R$ 170 milhões.

Se comparado com 2019, o corte é mais significativo, alcançando mais de 40% de redução, ante R$ 289,4 milhões liberados dois anos atrás. Para ter condições mínimas de operação, o ICMBio pedia um aumento de R$ 60 milhões no orçamento.