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

Pan 2019

COB comemora 2º lugar no Pan com serenidade: "Olimpíada é outro nível"

Ouro de Darlan Romani no arremesso de peso é um dos resultados que fazem o COB sorrir - Luis Acosta / AFP
Ouro de Darlan Romani no arremesso de peso é um dos resultados que fazem o COB sorrir Imagem: Luis Acosta / AFP

Demétrio Vecchioli

Do UOL, em Lima (Peru)

11/08/2019 17h00

O Comitê Olímpico do Brasil (COB) atingiu seu objetivo nos Jogos Pan-Americanos de Lima, ao repetir a edição de 1963, em casa, e terminar em segundo no quadro de medalhas. Além disso, o Time Brasil bateu seu próprio recorde absoluto no total de medalhas e no total de ouros - 167 e 55, respectivamente, até o momento em que foi fechado o balanço do comitê. São dados que seus dirigentes podem comemorar. Mas eles são os primeiros a dizer que as medalhas conquistadas na capital peruana não valem como "sinal verde" a nenhuma modalidade ou atleta quando o assunto é Olimpíada.

"Para a gente é bastante importante como objetivo alcançado. Alcançar o segundo lugar era um dos objetivos que nós tínhamos traçado. Conseguimos uma evolução em 18 modalidades e aumentamos o número de modalidades que contribuem para o quadro de medalhas. Estamos muito satisfeitos com o segundo lugar no quadro de medalhas e com os resultados", comentou o diretor de Esportes do COB, Jorge Bichara, em entrevista coletiva no começo da tarde deste domingo em Lima. Neste Pan, 41 modalidades ganharam medalha, contra 32 em Toronto.

O tom do balanço feito pelo comitê foi de satisfação pelas metas alcançadas, mas também de pés no chão. Bichara e o chefe de missão, o vice-presidente Marco La Porta, deixaram claro que, a partir desta noite, a "chave muda", e o COB a a pensar em Tóquio. La Porta vai embarcar já amanhã (12) para o Japão, enquanto o diretor viajará no fim da semana.

"Temos completa consciência da realidade do Pan. Alcançamos nossos objetivos aqui. Vamos avaliar tudo que tem que ser feito para chegar a Tóquio em condições de competir em alta performance. Sabemos o degrau em que estamos e as dificuldades que vamos enfrentar para Tóquio", ressaltou Bichara.

A derrota dolorosa da seleção masculina de handebol na semifinal para o Chile, impedindo que a equipe ficasse com a vaga olímpica destinada ao campeão, atrapalhou na meta de somar um alto número de classificações a Tóquio pelo Pan. Em Lima foram obtidas 29 vagas, em nove esportes: 14 com a seleção de handebol feminino, nove com as equipes de adestramento, CCE e saltos do hipismo, uma com o pentatlo moderno feminino (Maria Iêda Guimarães), uma com o tênis masculino (João Menezes), uma com tênis de mesa (Hugo Calderano), uma com o tiro com arco (Marcus Vinícius D'Almeida) e duas na vela (classe 49er).

Pan é Pan, Olimpíada é Olimpíada

O COB sabe que o resultado do Pan foi bom, mas não quer se deixar enganar. Perguntando sobre as modalidades que deixam o "sinal amarelo" ligado pensando em Tóquio, Bichara fez questão de ressaltar que não há nenhum sinal verde. Todo mundo ainda tem muito trabalho para frente.

"O sinal amarelo está em tudo. A chave muda para Tóquio, onde o nível de competitividade é extremamente alto. Não temos sinal verde para ninguém. Temos sinal de alerta para todo mundo. Precisa ser muito trabalhado esse último ano, que é muito complexo", ressaltou.

Ele citou uma preocupação principalmente com a ginástica artística, onde é sabido que o Brasil tem atletas de alto nível, mas em pequeno número. Com Rebeca Andrade, sua melhor ginasta, machucada, a equipe perdeu qualquer gordura que poderia ter. "As lesões têm impacto muito grande nos resultados pela diferença de potencial com a mudança de atletas", comentou.

Mas, claro, que há modalidades que arrancam um sorriso do dirigente. Entre elas está o atletismo. Darlan Romani (arremesso de peso), Alison Brendom (400m com barreiras) e Andressa de Morais (lançamento de disco) fizeram apresentações de nível de medalha olímpica. O taekwondo também teve resultados relevantes internacionalmente, no entender de Bichara, enquanto a natação, apesar de não ter marcado tempos expressivos, cumpriu bem seu papel. "A gente veio conquistar medalhas com a natação e isso foi alcançado".