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

Brasileirão - 2021

John Kennedy brilha, e Fluminense vence o Flamengo pelo Brasileirão

Colaboração para o UOL, em São Paulo

23/10/2021 20h57Atualizada em 24/10/2021 11h02

Entre jogos pelo sub-17 e sub-20, John Kennedy, de apenas 19 anos, já tinha feito dez gols contra o Flamengo desde 2019. Na noite de hoje (23), o atacante fez seus dois primeiros gols no clássico com o time principal e garantiu a vitória do Fluminense por 3 a 1, no Maracanã, em jogo da 28ª rodada do Campeonato Brasileiro. Renê descontou para o clube da Gávea, e Abel Hernandéz marcou o outro para o time das Laranjeiras.

O Tricolor se mantém na oitava colocação do campeonato, agora com 39 pontos. Já o Mengão fica com 46 pontos, dez a menos que o líder Atlético-MG, e perde a vice-liderança para o Fortaleza, que chega aos 48.

As duas equipes voltam a campo nesta quarta-feira (27), por competições diferentes. Às 19h, o Fluminense visita o Santos na Vila Belmiro, em jogo atrasado da 23ª rodada do Brasileirão. Mais tarde, às 21h30, o Flamengo decide uma vaga para a final da Copa do Brasil em casa, contra o Athletico Paranaense.

Quem foi bem: John Kennedy

Ele tinha feito apenas dois gols na temporada e nenhum no Brasileirão. Mas, aproveitando as ausências de Fred e Bobadilla, John Kennedy correu muito enquanto aguentou e apareceu muito bem na área para marcar duas vezes pelo Tricolor. De maca, saiu de campo de aplaudido aos 32 do segundo tempo.

Quem foi mal: Diego

O experiente jogador teve um primeiro tempo muito apagado. O único momento em que apareceu no jogo foi ao levar cartão amarelo logo aos sete minutos, por falta dura em André. Como era o único pendurado do time, fica de fora do confronto com o líder Atlético-MG.

Posse improdutiva

O Rubro-Negro começou a partida encurralando o rival. Acuado, o Flu pouco trocava es e não conseguia sair da pressão. Matheuzinho, após desvio de Gustavo Henrique, testou no travessão de Marcos Felipe, perdendo grande oportunidade aos seis minutos. Pouco depois, Michael ainda teve outra chance.

Mas aquele velho ditado do futebol de "quem não faz, toma" provou seu valor. Quando o Tricolor desceu ao campo ofensivo, Marlon apareceu sozinho na esquerda e cruzou. A bola ou pelo miolo da área, e John Kenedy estava esperto para desviar. Diego Alves ainda defendeu, mas o centroavante também estava ligado e mandou para a rede após o rebote. Foi o primeiro gol dele na competição e o primeiro contra o Flamengo no time principal.

Gol não muda cenário

O clima deu uma leve esquentada com a vantagem do Tricolor, e David Braz e Michael chegaram a bater boca rapidamente. No entanto, o cenário em campo seguiu o mesmo de antes: o Fla dominava, mas sem conseguir penetrar na marcação do rival, que fechava muito bem os espaços próximos à área.

Aos 34, Vitor Gabriel aproveitou que a defesa adversária afastou mal e quase conseguiu o empate. O jovem centroavante bateu firme, e Marcos Felipe apenas amorteceu a bola, que foi de mansinho em direção o gol, mas o goleiro conseguiu segurar antes de ela chegar na linha.

História se repete

Renato Gaúcho tirou Diego, que já tinha cartão amarelo, e apostou em Vitinho para a segunda etapa. A entrada do jogador deu mais dinâmica ao ataque rubro-negro, que conseguiu levar mais perigo ao gol de Marcos Felipe. Andreas Pereira obrigou o goleiro a se esticar para evitar o gol com um minuto, e Everton Ribeiro bateu para fora aos quatro.

No entanto, quem mudou o placar foi John Kennedy, mais uma vez. No intervalo, ele tinha dito que espera fazer mais gols no Flamengo, e ele esperou apenas 15 minutos para conseguir. Dessa vez, o cruzamento veio da direita, de Luiz Henrique, e o jovem goleador foi mais rápido que Diego Alves, se jogando na bola para anotar o segundo.

Fla se lança e diminui

O Rubro-Negro seguiu indo cada vez mais ao ataque e, por isso, deu brechas na defesa. Aos 23 da segunda etapa, Martinelli rolou para trás, John Kennedy deixou ar, e Yago chegou inteiro para bater com força. Diego Alves conseguiu o desvio, e a bola ainda tocou a trave.

A recompensa veio com Renê. Ele tentou uma vez, e a bola ficou na zaga. No rebote, ele não pensou duas vezes e mandou um tiro forte, sem chance de reação para o goleiro Marcos Felipe.

Marcão acerta nas alterações

Após o gol do rival, o técnico Marcão realizou quatro alterações e conseguiu, além de pausar muito o jogo, controlar qualquer pressão. Mais do que isso, acertou até na saída de John Kennedy, já que Abel Hernández, que entrou em seu lugar, também marcou.

Aos 40 minutos, o uruguaio aproveitou vacilo de Gustavo Henrique e teve tempo para pensar e chutar. De chapa, ele colocou no ângulo e decretou o triunfo do Tricolor para delírio da torcida, que começou a cantar o nome de Renato Gaúcho, treinador do rival e ídolo do Fluminense.

Confusão no final

O clássico foi quente durante quase o tempo, mas esquentou de vez já aos 49 do segundo tempo. Vitinho chutou a bola em Abel Hernández, o que antecedeu alguns empurrões no meio-campo. O árbitro mostrou apenas um amarelo para o flamenguista e conseguiu conter os ânimos.

FICHA TÉCNICA
FLUMINENSE 3x1 FLAMENGO

Data: 23/10/2021
Local: Estádio do Maracanã, no Rio de Janeiro (RJ);
Hora: 19h (de Brasília);
Árbitro: Vinicius Gonçalves Dias Araújo (SP);
Auxiliares: Neuza Ines Back (SP) e Alex Ang Ribeiro (SP);
VAR: Rodrigo Guarizo Ferreira do Amaral (SP).

Gols: John Kennedy, aos 16' do primeiro e aos 15' do segundo tempo e Abel Hernandéz, aos 40' do segundo tempo para o Fluminense; Renê, aos 25' do segundo tempo, para o Flamengo.

Cartões amarelos: André, John Kennedy, David Braz, Samuel Xavier, Abel Hernandéz, Marcão (FLU), Diego, Everton Ribeiro, Vitinho (FLA).

Fluminense: Marcos Felipe; Samuel Xavier, David Braz, Luccas Claro e Marlon (Danilo Barcelos); André, Yago e Jhon Arias (Lucca); Caio Paulista (Martinelli), Luiz Henrique (Gustavo Apis) e John Kennedy (Abel Hernández). Técnico: Marcão.

Flamengo: Diego Alves; Matheuzinho, Rodrigo Caio, Gustavo Henrique e Renê (Ramon); Diego (Vitinho), Thiago Maia (Kenedy), Andreas Pereira (Willian Arão) e Everton Ribeiro; Michael e Vitor Gabriel. Técnico: Renato Gaúcho.

Errata: este conteúdo foi atualizado
Diferentemente do publicado inicialmente, o Fluminense soma agora 39 pontos, não 38. O erro foi corrigido no texto.