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

Voluntários usam peneiras e materiais de jardinagem para recolher óleo no mar

Militares do Exército, voluntários e funcionários ligados ao meio ambiente realizam limpeza e retirada de óleo na Praia de Itapuama, em Cabo de Santo Agostinho, na Região Metropolitana do Recife  - Tiago Queiroz/Estadão Conteúdo
Militares do Exército, voluntários e funcionários ligados ao meio ambiente realizam limpeza e retirada de óleo na Praia de Itapuama, em Cabo de Santo Agostinho, na Região Metropolitana do Recife Imagem: Tiago Queiroz/Estadão Conteúdo

Priscila Mengue, enviada especial

Cabo de Santo Agostinho

23/10/2019 09h08

Peneira de macarrão, espátula de obra, itens de jardinagem e outros instrumentos domésticos foram algumas das ferramentas utilizadas pelas centenas de voluntários que foram ontem à Praia de Itapuama, em Cabo de Santo Agostinho, a 40 minutos do Recife. Aos voluntários, que atuam no local desde a chegada da mancha de óleo no domingo, somam-se integrantes da Marinha e, ainda, dezenas de militares que chegaram ontem.

O cenário pode até parecer um tanto confuso inicialmente, com a quantidade de trabalho feita simultaneamente. Como a parte mais "grossa" do óleo foi retirada, o foco estava nos "detalhes", isto é, em retirar pequenas quantidades de óleo ao peneirar a areia ou utilizar uma escova nas pedras.

As atividades podem parecer simples, mas exigiam esforço pela consistência de chiclete ou bala derretida da substância, como exemplificavam alguns voluntários. "Fica grudado demais nos buraquinhos. A gente só tira o excesso, não consegue tirar na integralidade", desabafa a advogada Gilmara Ribeiro, de 35 anos, que utilizava um instrumento de jardinagem já um tanto torto pelo esforço.

Como estava sem instrumentos, o empresário Danilo Araújo, de 27 anos, catou o excesso de óleo com as mãos, retirando-o de buracos entre as pedras. Sócio de uma academia de crossfit, estava de folga para participar do mutirão. "Fui criado no Cabo. Minha infância foi aqui, nesta praia", comentou. "Isto aqui é a casa da gente."

Já outros voluntários foram até dentro do mar, como a aluna de Engenharia Thamires Cavalcante, de 20 anos. Com a água até o pescoço, ela usava uma peneira atrás de pequenas quantidades de óleo, do tamanho de bolas de gude. Thamires já estava no segundo dia seguido na praia. "Não é fácil, a luva escorrega. O que me preocupa é deixar a praia assim."

A aposentada Ladjane Lima, de 58 anos, também lembra da situação antes dos mutirões. "Domingo eram placas imensas", diz ela, que usava uma grande peneira. "Mas agora também é preocupante, por causa dos peixinhos. Amo a natureza, feriu a alma ver um negócio desses."

Mergulho

"Eu ia tirando de dentro do mar, não tem muita gente para fazer isso, nem todo mundo está disposto", comenta o professor de surfe Henrique Almeida, de 25 anos, que vestia só a bermuda e estava com a pele cheia de fragmentos de óleo. "A gente puxa e vem trazendo."

Daniel Galvão, do Salve Macaraípe, ite a necessidade de mais itens de segurança para voluntários. "Mas é um momento de guerra. A gente usa o que dá."

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