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

Exército reforçará operações para conter mancha de óleo, diz Mourão

Barril encontrado em praia com óleo derramado está sendo investigado por autoridades no Nordeste - Adema
Barril encontrado em praia com óleo derramado está sendo investigado por autoridades no Nordeste Imagem: Adema

Mateus Vargas

Brasília

21/10/2019 17h04

O Exército colocará à disposição das operações de limpeza das praias do Nordeste, atingidas por manchas de óleo, tropas da 10ª Brigada de Infantaria Motorizada, sediada em Recife. Os militares também devem oferecer equipamentos para apoio a órgãos de defesa civil dos Estados.

A informação foi dada nesta segunda-feira, 21, pelo presidente em exercício, o general Hamilton Mourão, após reunião no Ministério da Defesa sobre as ações para conter o avanço da mancha. Segundo o general, ficarão à disposição entre 4 a 5 mil homens do Exército.

Segundo Mourão, foram recolhidas até agora cerca de 700 toneladas de óleo, misturado com areia e outras substâncias. O material está sendo entregue para aproveitamento em fábricas de cimento, disse o general.

Não há previsão do governo sobre quando irá cessar o avanço do óleo, mas o volume que chega às praias está diminuindo, disse Mourão. "Vamos aguardar investigações, usando todos os sistemas de inteligência, não só nosso, mas também internacional. Esse acidente é inédito no mundo", disse Mourão.

Os ministros do governo Jair Bolsonaro (PSL) têm agenda no Nordeste para tratar da crise ambiental. O Ministro do Desenvolvimento Regional (MDR), Gustavo Canuto, está na Bahia e terá reunião com o governador Rui Costa (PT) nesta segunda-feira, 21. No dia seguinte, Canuto deve viajar ao Sergipe. Já o ministro da Defesa, Fernando Azevedo e Silva, irá a Recife e Salvador a partir de terça-feira, 22.

Falha na comunicação

O general Mourão disse que o governo acionou, ainda no começo de setembro, protocolos para conter o avanço das manchas de óleo sobre o litoral do Nordeste, mas reconheceu que houve falha na comunicação sobre as ações tomadas.

Segundo Mourão, a Justiça já mostrou que o governo "acionou protocolos" em 2 de setembro contra o derramamento de óleo. "Apenas, mais uma vez, nos faltou comunicar mais isso aí", disse o presidente em exercício.

A Justiça Federal do Sergipe afirmou, em decisão assinada no domingo, 20, que a União já acionou o Plano Nacional de Contingência para Incidentes de Poluição por Óleo em Águas sob Jurisdição Nacional. No mesmo documento, a Justiça afirma que órgãos do governo "vinham atuando desde os primeiros sinais deste acidente ambiental", mesmo antes de acionar o plano.