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

MMA


Alex 'Poatan' nocauteia Strickland no UFC 276 e se aproxima de 'title shot'

Alex Poatan nocauteia Sean Strickland no UFC 276 - Alejandro Salazar/Px Images
Alex Poatan nocauteia Sean Strickland no UFC 276 Imagem: Alejandro Salazar/Px Images

Ag. Fight

03/07/2022 00h33

Após vencer seus dois primeiros compromissos no octógono mais famoso do mundo, Alex 'Poatan' Pereira voltou ao cage neste sábado (2), no card principal do UFC 276, em Las Vegas (EUA), para enfrentar Sean Strickland e se aproximar de uma disputa de título na divisão dos médios (84 kg), dominada atualmente por Israel Adesanya, antigo rival do brasileiro na época em que ambos competiam no kickboxing.

Provando que é um dos maiores strikers do mundo, como seu currículo de bicampeão do Glory Kickboxing já evidenciavam, Poatan mais uma vez utilizou seu poderoso cruzado de esquerda para nocautear mais um adversário, desta vez Sean Strickland. Com a vitória, o brasileiro, que não estava sequer dentro do top 15 da divisão, deve ser catapultado para o topo do ranking, já que o americano ocupava, até então, o quarto lugar na lista.

Além disso, Poatan pode ter garantido a chance de disputar o cinturão até 84 kg do UFC já na sua próxima luta. As duas vitórias sobre Israel Adesanya, atual campeão da categoria, e a rivalidade entre eles, somado ao bom início de trajetória no Ultimate, pode levar o paulista ao 'title shot'. Resta saber se 'Izzy' defenderá seu título na luta principal da edição 276, quando enfrentará Jared Cannonier.

A luta

O primeiro round iniciou com ambos atletas se respeitando e estudando cada movimento. O brasileiro, com vantagem na envergadura, acertava os melhores golpes, mas ainda sem a pressão de sempre. Sempre calmo, Poatan foi se soltando e, com o seu já tradicional cruzado de esquerda, levou o rival à lona.

Confira os resultados do UFC 276:

Alex 'Poatan' venceu Sean Strickland por nocaute
Bryan Barberena venceu Robbie Lawler por nocaute técnico
Pedro Munhoz vs Sean O'Malley terminou sem decisão
Jalin Turner venceu Brad Riddell por finalização
Jim Miller venceu Donald Cerrone por finalização
Ian Garry venceu Gabriel Green por decisão unânime dos juízes
Dricus du Plessis venceu Brad Tavares por decisão unânime dos juízes
André 'Sergipano' venceu Uriah Hall por decisão unânime dos juízes
Maycee Barber venceu Jessica Eye por decisão unânime dos juízes
Julija Stoliarenko venceu Jessica-Rose Clark por finalização