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

Olhar Olímpico

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Confinado, Paulo André abre mão de dois Mundiais para estar no BBB

Paulo André Camilo comemora vitória em sua série semifinal pelos 100m em Lima, na véspera - Wander Roberto/COB
Paulo André Camilo comemora vitória em sua série semifinal pelos 100m em Lima, na véspera Imagem: Wander Roberto/COB

13/01/2022 17h45

A comissão técnica da Confederação Brasileira de Atletismo (CBAt) se reuniu ontem (13) à noite para fazer o planejamento da seleção brasileira neste início de temporada e incluiu planos para Paulo André Camilo, semifinalista olímpico dos 100m rasos. Ele estará na lista para o Sul-Americano Indoor, que será divulgada na semana que vem, e índice para o Mundial Indoor. A entidade não sabia que o objetivo dele, no momento, é outro.

Paulo André está confinado em um hotel do Rio de Janeiro para ser anunciado amanhã (14) como um dos participantes da próxima edição do Big Brother Brasil (BBB), que começa na segunda-feira (17). Fãs atentos notaram que uma das mãos divulgadas mais cedo pelo diretor do programa, Boninho, é muito parecida com a mão de Paulo André. E aí foi só ir ligando os pontos.

O corredor, principal nome do Brasil nas provas masculinas de velocidade nos últimos cinco anos, até postou um story no Instagram, com filtro, mas sem que esse filtro fosse identificado automaticamente. Razão: ele foi pré-gravado. Postagens polêmicas foram apagadas das redes sociais dele, assim como fotos da família, entre outras. O Olhar Olímpico confirmou com pessoas próximas e, de fato, Paulo André está confinado para o programa.

Para quem o conhece, nenhuma surpresa. Aliás, se alguém do atletismo tem a cara do Big Brother, esse alguém é Paulo André. Ele é jovem, bonito, fotogênico, e raramente tira o sorriso da cara. Também gosta de bagunça, e tem a auto estima lá em cima. Não à toa, quando ganha uma prova importante, bate no peito, aponta para o chão e deixa bem claro quem manda ali.

Há pouco mais de um ano, em dezembro de 2020, Paulo André ou uma noite praticamente em claro em meio ao Troféu Brasil. Naquele dia, ele havia vencido uma das semifinais dos 100m na competição disputada no Centro Olímpico, mas Felipe Bardi, do Sesi-SP, fez um tempo melhor na semifinal seguinte. Não havia torcida (como quase nunca há em eventos de atletismo no Brasil), mas toda a comunidade do atletismo que participava do evento parou para assistir e fez muita festa com o resultado de Bardi.

Paulo André entendeu que o recado era para ele. Já com uma derrota no GP Brasil, dias antes, entalada na garganta, voou na final do Troféu para vencer Bardi, que é seu amigo. Tão logo cruzou a linha de chegada, fez sinal pedindo silêncio, bateu no peito, e gritou que ele que é o campeão. Ninguém vaiou, mas ninguém gostou, e isso ficou claro nas mensagens que Paulo André recebeu nas redes sociais e que tiraram seu sono. No meio do atletismo, colou nele o rótulo de "desumilde". Contei essa história no começo do ano ado.

O agora futuro ex-BBB disse, na época, que não queria ser visto como o vilão do atletismo. Mas é claro que é ele o bad boy, o que, no esporte, só é permitido a quem é bom o suficiente para poder escolher o que quer ser.

É o caso de Paulo André, que escolheu perder dois Mundiais em um ciclo olímpico que terá apenas três — dois indoor, um outdoor. Sem fazer uma preparação adequada para a temporada 2021, o velocista já esteve na Farofa da GKay e agora vai ficar até, talvez, maio no BBB. Mesmo que saia logo, a carreira de ex-BBB recém-saído do programa é incompatível com a dedicação necessária para estar a ponto de bala para o Mundial de Oregon, em julho.