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

Esse conteúdo é antigo

Ucrânia promete manter aberto espaço aéreo apesar da ameaça russa

"O espaço aéreo ucraniano permanece aberto", disse o Ministério da Infraestrutura - iStock
"O espaço aéreo ucraniano permanece aberto", disse o Ministério da Infraestrutura Imagem: iStock

Do UOL, em São Paulo*

13/02/2022 09h47Atualizada em 13/02/2022 10h46

A Ucrânia prometeu, hoje, manter seu espaço aéreo aberto para viagens internacionais, apesar das advertências americanas de que tropas russas, em manobras perto da fronteira, podem invadir seu território a qualquer momento.

"O espaço aéreo ucraniano permanece aberto, e o Estado está trabalhando para prevenir os riscos para as companhias aéreas", disse o Ministério da Infraestrutura em um comunicado divulgado no Facebook.

Diante do aumento da tensão, a companhia aérea holandesa KLM anunciou, na véspera, que estava suspendendo todos os seus voos no espaço aéreo ucraniano até novo aviso.

Um avião ucraniano SkyUP que voava da Ilha da Madeira, Portugal, para Kiev teve de aterrissar em Chinisau, na Moldávia, ontem, depois que o proprietário do avião proibiu sua entrada no espaço aéreo ucraniano.

"O fechamento do espaço aéreo é um direito soberano da Ucrânia e nenhuma decisão foi tomada nesse sentido", completou o comunicado do Ministério, após uma reunião na presença de funcionários da Presidência, dos aeroportos e das companhias aéreas ucranianas.

A maioria das companhias aéreas continua operando, de acordo com o Ministério, acrescentando que, hoje, 29 companhias aéreas internacionais operam voos de 34 países.

O Ministério itiu, porém, que o problema pode partir das seguradoras.

"Se for necessário, o Estado garantirá o retorno de todos os cidadãos ucranianos do exterior", disse o ministro de Infraestrutura, Oleksandre Kubrakov, em uma nota.

Os Estados Unidos obtiveram informações que a Rússia está discutindo a próxima quarta-feira (16) como a data prevista para o início da ação militar na Ucrânia, disseram autoridades ouvidas pelo jornal The New York Times. Os oficiais reconheceram, no entanto, a possibilidade de que mencionar uma data específica possa ser parte de um esforço russo de desinformação.

Os presidentes Vladimir Putin, da Rússia, e Joe Biden, dos Estados Unidos, conversaram por telefone ontem depois que Washington disse que a Rússia havia reunido soldados suficientes perto da Ucrânia para lançar uma grande invasão, que provavelmente começaria com um ataque aéreo.

Biden advertiu Putin sobre "custos severos" que a Rússia enfrentaria se invadisse a Ucrânia. Putin, por sua vez, disse que a suspeita de um ataque era uma "especulação provocativa".

A possibilidade de uma guerra levou vários países ocidentais a recomendarem a seus cidadãos que deixassem a Ucrânia.

O presidente da Ucrânia, Volodymyr Zelensky, disse ontem que os comentários dos EUA eram muito alarmistas, embora reconhecesse o risco de uma invasão.

A crise surgiu depois da mobilização de mais de 100 mil militares russos para a fronteira com a Ucrânia há várias semanas.

Moscou tem negado reiteradamente que queira atacar a antiga república soviética, mas exige certas garantias na questão da segurança, entre elas que a Otan (Organização do Tratado do Atlântico Norte) não ita entre seus membros a Ucrânia, um ponto inegociável para o Ocidente.

Inteligência dos EUA alerta que Rússia planeja pretexto

Agências de inteligência dos Estados Unidos alertaram o governo Biden sobre uma nova operação russa destinada a criar um pretexto para a invasão da Ucrânia, segundo reportagens dos jornais The New York Times e Washington Post, citando pessoas que tiveram o ao material.

Conforme os relatos, neste mês, altos funcionários do governo disseram que a Rússia planejava criar um vídeo falso mostrando um ataque de ucranianos em território russo. Nos últimos dias, autoridades relataram que novas informações apontavam para outra chamada "operação bandeira falsa", mas os detalhes, incluindo o momento em que iria ocorrer, não eram claros.

Na sexta-feira (11), Jake Sullivan, conselheiro de segurança nacional, disse que os EUA estavam denunciando publicamente os planos russos de criar um pretexto para que o mundo soubesse que a Rússia não tinha uma causa legítima para entrar em território ucraniano.

* Com informações da AFP