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

Guerra da Rússia-Ucrânia

Notícias do conflito entre Rússia e Ucrânia


Campo de concentração e tensão na Moldávia: o 62º dia de Rússia x Ucrânia

Do UOL, em São Paulo

26/04/2022 21h20

A denúncia da existência de um campo de concentração em Vovchanks, na Ucrânia, marcou esta terça-feira (26), 62º dia da invasão da Rússia ao país. Segundo autoridades ucranianas, há civis presos por militares russos em uma fábrica na cidade.

"É um verdadeiro campo de concentração, onde as pessoas são submetidas a torturas e obrigadas a colaborar com as Forças Armadas da Federação Russa", disse o governador da região de Kharkiv, Oleg Syniehubov.

Também hoje, a presidente da Moldávia, Maia Sandu, convocou uma reunião de segurança para tratar de uma série de explosões que ocorreram na Transnístria, região separatista pró-Rússia que fica na fronteira com a Ucrânia. A Rússia mantém tropas permanentes baseadas no país desde a dissolvição da União Soviética.

A Transnítria é controlada por separatistas desde a década de 1990. Segundo a agência russa TASS, há planos entre as autoridades russas para criar um corredor terrestre entre Donbass e a Crimeia, ando pela região.

A Ucrânia acusa a Rússia de tentar desestabilizar a Moldávia. "Más notícias: se a Ucrânia cair amanhã, as tropas russas estarão nas portas de Chisinau [capital da Moldávia]", escreveu Mikhailo Podoliak, conselheiro da presidência ucraniana, no Twitter.

O Kremlin divulgou estar acompanhando de perto as notícias sobre a região.

Receio de novo acidente nuclear

O diretor-geral da AIEA (Agência Internacional de Energia Atômica), Rafael Grossi, informou hoje que a radioatividade na usina de Chernobyl atingiu um nível "anormal".

A usina foi tomada pelas tropas russas no primeiro dia da invasão à Ucrânia e ficou ocupada por pouco mais de um mês.

"Sobre o nível de radioatividade, eu diria que é anormal. Houve momentos em que os níveis subiram, devido à movimentação de equipamento pesado que as forças russas trouxeram para cá e quando saíram. Temos feito monitoramento diário", declarou.

O pior acidente nuclear da história ocorreu no local há exatos 36 anos. Grossi visitou a usina acompanhando de Volodymyr Zelensky, presidente da Ucrânia, que criticou o líder russo Vladimir Putin pela ocupação da área.

"O mundo esteve novamente à beira da catástrofe, porque, para o exército russo, a região e a central de Chernobyl constituíam um território normal de operações militares", disse Zelensky.

Mais cedo, dois mísseis russos sobrevoaram a central nuclear de Zaporizhzhia, no sudeste da Ucrânia. Petro Kotin, CEO da estatal de energia Energoatom, afirmou que o sobrevoo ocorreu em baixa altitude e representou um enorme risco.

"Os mísseis podem atingir uma ou mais instalações nucleares, é uma ameaça de catástrofe nuclear e radioativa para todo o mundo", disse.

ONU: pior crise de refugiados

A ONU (Organização das Nações Unidas) declarou que a guerra entre os países pode provocar a pior crise de refugiados no continente, com ao menos 8,3 milhões de ucranianos deixando o país. A projeção foi divulgada nesta tarde; atualmente, a contagem oficial é de 5,2 milhões de refugiados.

Também hoje foram registrados:

  • 35 ataques aéreos a Azovstal, usina metalúrgica em Mariupol que abriga resistência às tropas russas;
  • 500 mortes de soldados ucranianos, segundo a Rússia, em instalações militares de Kurulka e Novaya Dmitrovka, na região de Kharkiv;
  • Um bombardeio em Kharkiv que, de acordo com o governador local, deixou três mortos e sete feridos;
  • Três mortes em Popasna (região de Lugansk) após um ataque de mísseis russos;
  • Dois mortos e sete feridos em Donetsk durante ataques aéreos;
  • Um hospital, uma escola e prédios residenciais atingidos por bombardeios aéreos em Avdvka.

Mapa Rússia invade a Ucrânia - 26.02.2022 - Arte UOL - Arte UOL
Imagem: Arte UOL

Com informações da AFP, ANSA e Reuters