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

Fluminense

Fluminense brilha, vence River Plate e vai às oitavas da Libertadores em 1º

Caio Blois

Do UOL, no Rio de Janeiro

25/05/2021 21h09

O jogo era enorme, e o Fluminense teve uma atuação digna de seus 119 anos. Fora de casa, o Tricolor mandou no jogo contra o River Plate, venceu por 3 a 1, gols de Caio Paulista, Nenê e Yago, e saiu do Monumental de Núñez classificado às oitavas de final da Libertadores com o primeiro lugar do grupo D.

No fim, o sofrimento da última rodada, sem que a vaga no mata-mata estivesse garantida, compensou. Mesmo com um a mais durante grande parte do segundo tempo após a expulsão de Maidana, o Flu sofreu um gol no fim do jogo, de Girotti, e teve que lidar com a pressão dos argentinos. Aos 47, entretanto, Yago aproveitou a tranquilidade e belo e de Abel Hernández para deslocar Armani e dar números finais ao jogo.

Mudanças funcionam, e Flu pressiona no início

Os primeiros 45 minutos deram razão a Roger Machado, criticado durante a semana pelas escalações e mudanças na equipe. Com Caio Paulsita e Gabriel Teixeira incomodando na frente e os laterais bem postados, o Fluminense começou o jogo sólido e com boa atuação. A pressão na saída de bola do River Plate funcionou, e o Tricolor teve boas chances para abrir o placar desde o início.

Maduro, gol sai com dedo de Roger

Os tricolores quase soltaram o grito de gol com Nino, aos 9, em cabeçada que tirou tinta da trave. E tomaram um susto aos 11, quando Borré obrigou Marcos Felipe a fazer duas defesas no mesmo lance. Aos 21, porém, o sistema funcionou desde o começo da jogada: Samuel Xavier roubou bola na defesa e puxou contra-ataque. Fred recebeu aberto na direita e cruzou com perfeição para Caio Paulista abrir o placar. Roger queria que Caio jogasse em profundidade. Deu certo.

Pouco tempo depois, aos 25, perigo: Carrascal fez grande jogada pela esquerda e soltou uma bomba na trave. Mas ficou só no susto.

Fred vira garçom, e Nenê aumenta placar

Acostumado a balançar as redes, Fred teve noite de garçom no Monumental de Núñez. Depois de cruzar para o gol de Caio Paulista, o camisa 9 deu um bolão de cavadinha para Nenê pegar de voleio e contar com desvio para aumentar. Belo lance da dupla de veteranos, por vezes questionada no Fluminense, mostrando que nada substitui o talento.

Flu faz melhor 1º tempo de 2021

O Fluminense de 2021 tem um problema crônico: resolve pouco no primeiro tempo e costuma entrar em campo desconcentrado. No Monumental de Núñez, isso não aconteceu. O Tricolor fez seus melhores 45 minutos da temporada no jogo mais importante do ano. Prova de que as ideias de Roger Machado — que costuma ter estrela nas substituições — estavam corretas.

Gallardo mexe, e River melhora

Atrás no placar, o River Plate voltou diferente do intervalo. O técnico Marcelo Gallardo não quis saber de esperar o segundo tempo e fez três mexidas. Os argentinos trocaram Lecanda, Simón e Carrascal por Rojas, Palavecino e Suárez. As mudanças fizeram o time da casa melhorar no jogo: os primeiros 15 minutos foram de mais posse de bola e ocupação do campo de ataque do Tricolor, que em vantagem, se postava para sair em contra-ataque.

Argentinos perdem a cabeça, e Maidana é expulso

Quando era melhor no jogo apesar do placar adverso, aos 20 do segundo tempo, o River Plate ficou em desvantagem também numérica. Depois de Matías Suárez acertar Luccas Claro em jogada morta na linha de fundo e tomar um cartão amarelo, o zagueiro Maidana deixou o cotovelo no rosto de Caio Paulista e acabou expulso pelo uruguaio Esteban Ostojich.

Girotti diminui para o River

Com um a mais em campo e novas peças na equipe após as substituições de Roger Machado, o Fluminense sofreu pressão. Precisando do resultado, o River Plate foi para cima e diminuiu o marcador com Girotti, que se antecipou a Luccas Claro e deslocou Marcos Felipe em cruzamento da direita aos 40 do segundo tempo.

Yago sacramenta vitória

Aos 47, quando era pressionado, o Fluminense sacramentou a vitória épica no Monumental de Núñez. Yago aproveitou a tranquilidade e belo e de Abel Hernández para deslocar Armani e dar números finais ao jogo.

Motivação 'extra' antes do jogo

O Flu entrou em campo em Buenos Aires com "motivação extra": a diretoria pagou os salários e direitos de imagem do elenco de abril e se colocou em dia com o elenco.

FICHA TÉCNICA

RIVER PLATE 1x3 FLUMINENSE

Data: 25/05/2021, terça-feira
Horário: às 19h15 (de Brasília)
Local: Monumental de Nuñez, Buenos Aires (ARG)
Árbitro: Esteban Ostojich (URU)
Assistentes: Nicolas Tarán (URU) e Martin Soppi (URU)

Gols: Caio Paulista, aos 21 minutos do 1ºtempo (FLU), Nene, aos 28 minutos do 1º tempo (FLU), Girotti, aos 40 minutos do 2º tempo (RIV) e Yago, aos 46 minutos do 2º tempo (FLU).

Cartões amarelos: De La Cruz, Martinez, Suárez (RIV), Martinelli, Samuel Xavier, Caio Paulista (FLU)
Cartões vermelhos: Maidana (RIV)

RIVER PLATE: Armani; Lecanda (Robert Rojas), Maidana, Martinez e Casco; Biafore Peña, Santiago Simon (Matías Suárez), Carrascal (Palavecino) e De La Cruz; Borré (Girotti) e Alvarez. Técnico: Marcelo Gallardo.

FLUMINENSE: Marcos Felipe; Samuel Xavier (Calegari), Nino, Luccas Claro e Egídio; Yago Felipe, Martinelli (Wellington) e Nenê (Cazares); Gabriel Teixeira, Fred (Abel Hernández) e Caio Paulista (Luiz Henrique). Técnico: Roger Machado.

Fluminense