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

Copa Libertadores - 2023

Athletico leva susto, mas vence Libertad e lidera grupo na Libertadores

Rômulo marcou o 1° gol da equipe brasileira, que virou com Alex Santana - Cesar Olmedo/Reuters
Rômulo marcou o 1° gol da equipe brasileira, que virou com Alex Santana Imagem: Cesar Olmedo/Reuters

Do UOL, em São Paulo

04/05/2023 22h54

O Athletico tomou um gol cedo e sofreu um apagão no 1° tempo, mas virou na etapa final após trocas de Paulo Turra e venceu o Libertad por 2 a 1 fora de casa, em jogo válido pelo Grupo G da Libertadores.

O resultado deixou a equipe brasileira com sete pontos e na liderança isolada da chave. O Alianza Lima aparece em seguida com quatro, e os paraguaios estão junto com o Atlético-MG com três pontos cada.

A metade inicial ficou marcada por um Athletico apático diante de um Libertad organizado. Logo aos dez minutos, Cardozo aproveitou bobeada de Bento e não perdoou. Apesar da tentativa de reação paranaense, o goleiro Martín Silva foi pouco acionado até o intervalo.

Na 2ª etapa, o cenário mudou completamente e resultou na virada brasileira. Rômulo, que entrou no lugar de Pablo, empatou antes dos dez minutos, e Alex Santana garantiu a vitória após cruzamento da esquerda.

Athletico e Libertad voltam a jogar pela Libertadores no próximo dia 23 — ambos fora de casa. Os brasileiros encaram o Atlético-MG, enquanto os paraguaios têm pela frente o Alianza Lima.

Gols e destaques

Bento erra, e experiente Cardozo não perdoa. O jogo começou equilibrado, mas uma falha castigou o Athletico: após erro de lançamento de Bento em tiro de meta, Villalba ficou com a bola e, em meio à desorganização defensiva dos brasileiros, tocou de lado para Cardozo. O veterano de 39 anos, já dentro da área, limpou a zaga e superou o goleiro com categoria: 1 a 0.

Athletico tenta acordar, mas quase toma mais um. O gol obrigou o time visitante a partir para o ataque em busca do empate — e as consequências foram os espaços abertos para contra-ataques. Sem ameaçar a meta de Martín Silva, os paranaenses viram Cardozo desperdiçar uma chance clara em finalização que ou longe das traves. O cenário, até o intervalo, não mudou muito.

Paulo Turra mexe e põe time para frente. O técnico da equipe brasileira voltou para o 2° tempo desfazendo a novidade da escalação: Rômulo entrou no lugar do amarelado (e apagado) Pablo. O atacante Thiago Andrade também acabou acionado e substituiu o meia Vitor Bueno.

Troca dá certo, e brasileiros empatam. Não demorou para uma das substituições do técnico do Athletico mudar o panorama do jogo. Aos sete minutos, em bola aérea, Pedro Henrique aproveitou leve desvio e tocou para o meio da área: Rômulo subiu mais do que todo mundo e, de cabeça, igualou o placar em 1 a 1.

Rômulo e Alex Santana comemoram gol do Athletico sobre o Libertad em jogo da Libertadores - Cesar Olmedo/Reuters - Cesar Olmedo/Reuters
Rômulo e Alex Santana comemoram gol do Athletico sobre o Libertad em jogo da Libertadores
Imagem: Cesar Olmedo/Reuters

Pressão e virada. Melhor na partida, o time visitante chegou ao segundo gol pouco depois. Terans cobrou escanteio e, depois de a zaga afastar, ficou com a bola novamente. Em novo lançamento do uruguaio, Alex Santana apareceu sozinho por trás dos zagueiros e só teve o trabalho de tocar para o fundo do gol: 2 a 1.

Libertad assusta, mas Athletico segura. A parte final do confronto ficou marcada por investidas dos donos da casa, que chegaram a ter o experientíssimo Roque Santa Cruz em campo. Apesar da presença do astro, foi Enso González quem levou mais perigo ao gol de Bento, que precisou trabalhar em duas oportunidades antes dos acréscimos e mais uma nos minutos finais. O placar, no entanto, não foi alterado.

FICHA TÉCNICA

LIBERTAD 1x2 ATHLETICO - 3ª rodada do grupo G da Libertadores

Data e horário: 4 de maio de 2023, às 21h (de Brasília)
Local: Defensores del Chaco, em Assunção (Paraguai)
Árbitro: Jhon Ospina (COL)
Assistentes: Alexander Guzman (COL) e Wilmar Navarro (COL)
VAR: Juan Lara (CHI)
Cartões amarelos: Campuzano (LIB); Pablo, Alex Santana, Thiago Heleno, Bento, Christian (ATH)
Cartões vermelhos: não houve
Gols: Óscar Cardozo (LIB), aos 10 min do 1° tempo; Rômulo (ATH), aos 7 min do 2° tempo; Alex Santana (ATH), aos 20 min do 2° tempo

LIBERTAD: Martín Silva; Piris, Diego Viera, Alexander Barboza e Néstor Giménez (Roque Santa Cruz); Campuzano, Sanabria (Espinoza), Diego Gomez (Ramírez Lezcano), Villalba (Iván Ramírez) e Enso González; Óscar Cardozo (Oviedo). Técnico: Daniel Garnero.

ATHLETICO: Bento; Khellven, Pedro Henrique, Thiago Heleno (Zé Ivaldo) e Pedrinho; Alex Santana (Erick), Fernandinho, Vitor Bueno (Thiago Andrade) e Terans (Christian); Vitor Roque e Pablo (Rômulo). Técnico: Paulo Turra.