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

Governo julgava desnecessária atuação do Exército para limpar praias, diz ministro

Felipe Brasil/Instituto do Meio Ambiente de Alagoas / Divulgação
Imagem: Felipe Brasil/Instituto do Meio Ambiente de Alagoas / Divulgação

Eduardo Simões

Da Reuters, em São Paulo

22/10/2019 15h44

O governo do presidente Jair Bolsonaro não considerava necessária a entrada de homens do Exército nos trabalhos de limpeza das praias do Nordeste atingidas por manchas de petróleo, até que o produto começou a aparecer em maior quantidade e em mais localidades, disse o ministro da Defesa, Fernando Azevedo e Silva, nesta terça-feira.

Em coletiva de imprensa ao lado do governador de Pernambuco, Paulo Câmara (PSB), em Recife, o ministro disse que a Marinha vinha atuando desde o início da tragédia ambiental, mas que o governo só entendeu necessário empregar o Exército quando as manchas se tornaram maiores.

"Nós não julgávamos ser necessário empregar o Exército. Quando precisou, nós empregamos o Exército. Quando as manchas saíram de Salvador, recrudesceu, chegaram em Pernambuco nesses dias, aí sim", disse Azevedo e Silva, que discordou da avaliação de que o governo federal demorou a responder à catástrofe.

"Desde o início de setembro a Marinha está debruçada nisso com o efetivo possível, com os navios possíveis, com a parte técnica possível fazendo uma investigação em relação a isso, atuando em relação a isso", disse ele.

Em seguida, destacou o ministro, foi lançado o Plano Nacional de Contingência, "que está sendo seguido". "É lógico que no início de setembro, o aparecimento das manchas era pequeno, mas no início de outubro elas aumentaram, e providências estão sendo tomadas", afirmou.

As manchas de óleo já atingiram cerca de 200 praias nordestinas, de acordo com dados do Ibama. Segundo o governo federal, a operação já retirou 600 toneladas de óleo misturado com areia das praias. Esses resíduos estão sendo armazenadas e podem ter como destinação fabricantes de cimento que podem reutilizar esse material.

O emprego de entre 4 mil a 5 mil homens da 10ª Brigada de Infantaria Motorizada nos trabalhos de limpeza foi anunciado na véspera pelo presidente em exercício Hamilton Mourão.

Bolsonaro está em viagem ao Japão, onde participou nesta terça da entronização do novo imperador do país Naruhito.

O ministro da Defesa garantiu que Bolsonaro tem acompanhado os trabalhos de limpeza, assim como os esforços de investigação, que ainda não foram capazes de determinar a origem do petróleo que tem aparecido nas praias nordestinas.

"A autorização de empregar o Exército se possível fosse, se fosse necessário, foi dele (Bolsonaro), ratificada pelo presidente (em exercício) Mourão ontem. Então ele tem acompanhado, tem me ado mensagens sempre. Ele acompanha, me perguntou se o Exército já estava sendo empregado hoje. Hoje cinco da manhã significa cinco da tarde lá (no Japão)", disse o ministro.

Secretário do Meio Ambiente de PE fala sobre manchas de óleo

NE10