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

Cerca de 4 milhões de pessoas já fugiram da Venezuela, alerta a ONU

07/06/2019 12h50

A Organização Mundial para as Migrações (OIM) e a Agência das Nações Unidas para os refugiados informaram nesta sexta-feira (7) que o número de venezuelanos que deixaram o país já atinge 4 milhões. A Venezuela representa uma das nações com o maior volume de pessoas deslocadas e refugiadas no mundo.

De acordo com os últimos números, o ritmo do êxodo na Venezuela vem se acelerando. Se no final de 2015, 695 mil haviam deixado o país, desde novembro de 2018 mais de um milhão de pessoas cruzaram as fronteiras para fugir da crise, informa a OIM e a Acnur.

Segundo os dados divulgados pelas agências da ONU, os vizinhos latino-americanos são o principal destino para os migrantes venezuelanos. A Colômbia recebeu 1,3 milhões refugiados e o Peru acolheu 768 mil. Pelo menos 288 mil foram parar no Chile, 263 mil no Equador, 168 mil no Brasil e 130 mil na Argentina. México e países da América Central e Caribe também fazem parte da lista, mas em menor proporção.

Países vizinhos precisam de ajuda

"Esses números alarmantes reforçam a necessidade urgente de apoiar as comunidades que acolhem os migrantes nesses países", declarou Eduardo Stein, representante especial da Acnur et da OIM responsável pela questão do êxodo venezuelano. "Os países da América Latina e Caribe têm feito sua parte para responder a essa crise inédita, mas não podemos esperar que continuem a fazê-lo sem receberem ajuda internacional", insistiu.

Os governos dos países da região adotaram mecanismos para facilitar a inclusão legal, social e econômica dos cidadãos venezuelanos. A chamada Declaração de Quito, assinada em setembro de 2018 entre os vizinhos latino-americanos, mas também o Plano regional para a intervenção humanitária para os refugiados e migrantes (RMRP), lançado em dezembro, são os principais dispositivos existentes. No entanto, os programas são capazes de arcar com menos de um quarto das despesas necessárias para acolher os migrantes.

A Venezuela vive uma das piores crises de sua história. Além do contexto político incerto, com um presidente e um interino autoproclamado brigando pelo poder, os venezuelanos enfrentam há meses uma inflação galopante, com penúria de produtos básicos de consumo.