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

Após 12 anos, reencontro com Haiti expõe que Brasil perdeu astros e líderes

Danilo Lavieri e Guilherme Palenzuela

Do UOL, em Orlando (EUA)

08/06/2016 06h00

Brasil e Haiti se enfrentam nesta quarta-feira (8), às 20h30 (de Brasília), em Orlando, pela segunda rodada do Grupo B na Copa América. A seleção de Dunga precisa da vitória e nem o técnico adversário acredita que o resultado poderá ser outro. O respeito do Haiti não se deve apenas à inferioridade óbvia, mas também à devoção do país pela seleção brasileira pelo papel que teve em 2004, quando realizou um amistoso em prol da campanha de desarmamento em plena guerra civil. Devoção construída por protagonistas que hoje não existem.

A seleção brasileira chegou ao amistoso realizado em 18 de agosto de 2004 como então campeã do mundo. Além de ter os melhores do mundo, tinha jogadores que eram protagonistas em seus clubes, decisivos, que se mostravam os grandes líderes técnicos das equipes em que atuavam.

Só no time que começou aquele amistoso havia cinco exemplos: Roberto Carlos, já considerado ídolo do Real Madrid; Gilberto Silva, que 12 meses depois começaria a revezar como capitão do Arsenal; Juninho Pernambucano na melhor fase da carreira pelo Olympique de Lyon; Ronaldinho Gaúcho, então melhor do mundo e craque do Barcelona; e Ronaldo, que depois de três anos convivendo com lesões voltava a ser artilheiro por um clube.

TABELINHA: PARA PVC, LUCAS LIMA MERECE MAIS MINUTOS ENTRE TITULARES, E GABIGOL TOMARÁ VAGA DE JONAS

Dessa geração, nem Neymar é protagonista em seu clube. No Barcelona, a liderança de influência é de Andrés Iniesta e a liderança técnica é de Lionel Messi e Luis Suárez. Aqueles que mais se aproximam do protagonismo em grandes clubes nessa seleção de Dunga são Willian, no Chelsea, e Philippe Coutinho, no Liverpool, mas sem grande destaque.

A devoção que o Haiti tem pelo Brasil foi cunhada a partir de grandes protagonistas, como aqueles que disputaram o amistoso de 2004 na capital Porto Príncipe em meio à guerra civil que havia começado sete meses antes. Adversário nesta quarta-feira, o meia Jean Marc Alexandre afirmou que se sente abençoado por poder jogar contra a mesma seleção que ele assistiu em 2004 pela TV e que seu país aprendeu a adorar. "É uma bênção, é um sonho virando realidade. Lembro de vermos pela TV, nunca pensamos chegar a um estágio desse", falou. Para entrar no Jogo da Paz, como ficou conhecido, bastava trocar uma arma por um ingresso.

A seleção de Dunga mais uma vez não contará com o capitão Miranda, e precisa vencer o jogo que parece ter resultado óbvio nesta quarta-feira. O resultado e 0 a 0 contra o Equador na estreia e a vitória do Peru sobre o Haiti na primeira rodada do Grupo B fazem com que um empate nesta quarta complique as chances de classificação do Brasil às quartas de final - a última rodada, contra o Peru, acontece domingo, em Boston. 

FICHA TÉCNICA
BRASIL X HAITI
 
Local: Estádio Camping World (Citrus Bowl), em Orlando (EUA)
Data: 8 de junho de 2016
Horário: 20h30 (de Brasília)
Árbitro: Mark Geiger (USA)
Auxiliares: Joseph Fletcher (CAN) e Charles Morgante (USA)
 
BRASIL: Alisson; Daniel Alves, Marquinhos, Gil e Filipe Luis; Casemiro; Willian, Elias, Renato Augusto e Philippe Coutinho; Jonas. 
 
HAITI: Placide; Goreux, Genevois. Mechack Jérôme e Jaggy; La, Jean Marc Alexandre, Marcelin e Jeff Louis; Guerrier e Nazon - Técnico: Patrice Neveu.