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

Zanetti bate o pé e fica fora de treino decisivo antes da estreia em Tóquio

Demétrio Vecchioli

Colunista do UOL, em Tóquio

21/07/2021 07h46

Duas vezes medalhista olímpico, Arthur Zanetti não participou hoje (21) do treino de pódio da Olimpíada de Tóquio, uma espécie de simulação do que os ginastas vão apresentar na classificatória, no sábado (24). O veterano machucou o pé durante o aquecimento mas, de acordo com ele próprio e com o técnico Marcos Goto, não preocupa para a competição.

"Lá dentro dei uma topadinha no dedo, nada de tão sério. O objetivo não foi de treinar aqui dentro, pelo fato de o treino mais forte ter sido ontem", explicou Zanetti. "Ele é muito experiente, não precisa de treinamento de pódio para verificar ginásio ou aparelho. Sentiu o pé, acabou machucando o pé, então falei para ele ir descansar. Amanhã (22) o treino é a 48 horas da competição e ele treina forte", reforçou Goto.

O treino de pódio é importante na ginástica por ser a única oportunidade para os ginastas simularem a competição, testando a firmeza dos aparelhos e executando exercícios de maior risco de lesão que costumam ser evitados nos treinos do dia a dia. Nas argolas, é quando os ginastas identificam pontos de referência no ginásio que ajudam a acertar o tempo das rotações.

Zanetti, porém, minimizou a ausência. "Tudo que eu faço é sensação corporal. Subi (na argola) para ver iluminação, mas vi que ela é igual nos dois lados do ginásio, então isso não vai fazer diferença, não vai atrapalhar", disse o ginasta, que nem tirou o uniforme de eio durante o treino. Inscrito só no individual, Zanetti irá competir apenas nas argolas em Tóquio.

Arthur Nory, o outro medalhista olímpico da equipe, também foi poupado no treinamento, porque se tudo correr bem será assim também na Olimpíada. Generalista, ou seja, um ginasta que costuma competir nos seis aparelhos, ele vai se dedicar só ao solo, em que foi medalhista na Rio-2016, e à barra fixa, em que é o atual campeão mundial.

O Brasil classificou a equipe completa para Tóquio e, na fase de classificação, todos os quatro integrantes do time podem se apresentar, valendo as três melhores notas. Mas, para preservar o ombro de Nory, ele será sempre o último a competir, depois de Caio Souza, Chico Barretto e Diogo Soares. Se os três cravarem suas séries em determinado aparelho, Nory nem se apresenta.

Com séries bem mais simples que os colegas, Nory só será acionado nos quatro primeiros aparelhos — cavalo, argolas, salto e barras paralelas — se um dos três que se apresentarem antes errarem e for necessário melhorar a nota geral. Tudo para Nory chegar descansado aos últimos dois aparelhos — barra fixa e solo, respectivamente —, em que briga por final e, se tudo der certo, por medalha.

A comissão técnica também definiu que Caio Souza vai realizar dois saltos, o que significa que ele vai tentar classificação para a final desse aparelho. De resto, o foco é na prova por equipes. "Se conseguir uma boa nota para a equipe, a final no aparelho vai ser consequência", justificou Goto.

O otimismo é tanto que Zanetti saiu do treino dizendo que o Brasil treinou "muito melhor" que as equipes do "top5" — Rússia, China, EUA, Japão e Grã-Bretanha, a elite da modalidade. O Brasil, aliás, está na mesma subdivisão que japoneses e britânicos, além da Suíça, na subdivisão 2, que começará a competir às 2h30 do dia 24 (sábado).