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

Eliminatórias Europeias

Como a Ucrânia se preparou para tentar vaga na Copa com país em guerra

Seleção da Urânia se preparou para jogos durante período na Eslovênia - Reprodução/Instagram
Seleção da Urânia se preparou para jogos durante período na Eslovênia Imagem: Reprodução/Instagram

Marinho Saldanha

Do UOL, em Porto Alegre

01/06/2022 04h00

A Ucrânia vai a campo hoje (1º). Ainda que o país siga sob invasão russa, a seleção de futebol ucraniana encara a Escócia, em Glasgow, às 15h45 (de Brasília), em busca de uma vaga na Copa do Mundo do Qatar. Por conta da guerra, 16 jogadores não atuam em partidas oficiais desde o ano ado e o selecionado do leste europeu só fez amistosos em 2022.

Quem vencer o duelo eliminatório ainda terá mais uma etapa até o Mundial. No domingo (5), o lugar na principal competição de futebol do planeta será decidido contra o País de Gales, em Cardiff.

Mas como a seleção ucraniana se preparou para estes jogos tão importantes com o futebol nacional paralisado e sem condições de reunir um grupo de atletas para treinar? O grupo precisou deixar o país e enfrentou três times durante o período.

O último jogo oficial da seleção nacional aconteceu em novembro de 2021, uma vitória por 2 a 0 sobre a Bósnia e Herzegovina que garantiu lugar nos playoffs da Uefa pelas últimas vagas no Mundial.

No entanto, o conflito tomou o país no início de 2022 e as atividades foram totalmente paralisadas. Sem poder realizar seus jogos, a seleção teve partidas adiadas e remarcadas posteriormente.

Os homens com mais de 18 anos foram, inicialmente, impedidos de deixar o país e serviriam ao exército. Contudo, os atletas receberam autorização especial e temporária para cruzarem a fronteira. O grupo, então, se reuniu na Eslovênia, no início de maio, e deu início à preparação para os jogos.

Dos 26 convocados pelo técnico Oleksandr Petrakov, 16 atuam no futebol local e, por isso, não disputaram partidas oficiais neste ano. O grupo é completo por atletas que atuam fora e estão em atividade, sendo liberados de seus clubes com o encerramento da temporada europeia, como Zinchenko, do Manchester City, e Yaremchuk, do Benfica.

Foram três amistosos contra clubes durante a preparação. A equipe ucraniana venceu o Borussia Monchengladbach, da Alemanha, por 2 a 1, bateu o Empoli, da Itália, por 3 a 1, e empatou com o Rijeka, da Croácia, em 1 a 1.

Mesmo com a ausência de calendário, o período de reunião foi visto como valioso para o entrosamento, ainda que seja difícil criar um ambiente tranquilo para o grupo.

"Falei com cada um deles para lhes perguntar onde está a sua família, como estão agora os seus pais, mães, esposas, filhos. Antes, quando havia paz, falávamos apenas de futebol. Mas agora, por exemplo, temos um massagista cujo pai esteve em Mariupol [cidade tomada pelos russos] e ainda não há notícias dele. Muitos pais de jogadores aderiram ao exército. É por isso que temos de treinar e falar sobre futebol, mas também sobre esta situação", disse o técnico ucraniano, em entrevista coletiva.

Um jogo de fortes emoções

Até mesmo os rivais esperam um jogo emocionante. Não apenas pelo aspecto esportivo, mas por tudo que a Ucrânia a neste momento.

"Provavelmente, todos no mundo querem que a Ucrânia vença. Se fosse qualquer outro país, provavelmente quereria que eles ganhassem, mas, infelizmente, vão jogar contra o meu país e temos de nos colocar no seu caminho", disse o lateral escocês Andrew Robertson, do Liverpool, à BBC.

"É o jogo de futebol mais importante da história da Ucrânia", garantiu Oleksandr Pikhalyonok, meia do Dnipro, ao jornal El País.