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

Marcel Rizzo

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.

Bem avaliado, Wilton Pereira depende do Brasil para apitar finais da Copa

Wilton Pereira Sampaio, árbitro brasileiro, apitou o jogo entre Holanda x EUA pelas oitavas de final da Copa do Mundo do Qatar - Patrick Smith - FIFA/FIFA via Getty Images
Wilton Pereira Sampaio, árbitro brasileiro, apitou o jogo entre Holanda x EUA pelas oitavas de final da Copa do Mundo do Qatar Imagem: Patrick Smith - FIFA/FIFA via Getty Images

Colunista do UOL

08/12/2022 10h00

A comissão de arbitragem da Fifa avaliou como muito boa a participação do árbitro brasileiro Wilton Pereira Sampaio na Copa do Qatar. Ele foi classificado entre os oito melhores, ao lado, por exemplo, do holandês Danny Makkelie, do polonês Szymon Marciniak, do norte-americano Ismail Elfath e do inglês Michael Oliver.

Não será surpresa se Sampaio for escalado em uma das quartas de final do sábado — Portugal e Marrocos se enfrentam às 12h de Brasília, e Inglaterra e França às 16h — a Fifa anuncia ainda nesta quinta-feira a equipe de arbitragem dessas partidas. A nota do brasileiro, no momento, o credencia a apitar semifinais e até uma final, mas aí dependerá da seleção brasileira.

Se o Brasil vencer a Croácia nesta sexta-feira, e avançar entre os quatro melhores da Copa, Sampaio não deve mais trabalhar na competição — a comissão de arbitragem opta por profissionais de países não envolvidos nas semifinais. Com Polônia e EUA já eliminados do Mundial, Marciniak e Elfath aprecem com boas chances de participarem dos confrontos finais.

Brasil x Croácia, que terá início às 12h de Brasília, será apitado pelo inglês Michael Oliver, também bem avaliado. Se for bem, ele tem chance de aparecer nas finais, já que a Espanha caiu nas oitavas de final para Marrocos. Argentina x Holanda, às 16h do sábado, terá o comando do espanhol Antonio Mateu.

Sampaio trabalhou em três jogos nesta Copa: Holanda x Senegal e Polônia x Arábia Saudita, na fase de grupos, e Holanda x EUA, pelas oitavas de final. O outro árbitro brasileiro convocado, Raphael Claus, esteve em Inglaterra x Irã e Marrocos x Canadá.

Claus e os auxiliares Bruno Boschilia, Danilo Simon, Bruno Pires, Rodrigo Figueiredo e Neuza Back continuam no Qatar e também podem aparecer em escalas.

Em 2018, na Copa da Rússia, com a Argentina eliminada nas oitavas de final, o argentino Nestor Pitana, que arbitrou a abertura entre Rússia e Arábia Saudita, esteve na final entre França e Croácia.

O italiano Daniele Orsato, que apitou o jogo inaugural de 2022 entre Qatar e Equador, continua no Qatar como opção para as finais. A sa Stephanie Frappart, primeira mulher a apitar um jogo da Copa masculina (Alemanha x Costa Rica), também permanece na equipe.

Errata: este conteúdo foi atualizado
Diferentemente do que foi informado, Antonio Mateu vai apitar a partida entre Holanda e Argentina e Michael Oliver comandará o jogo entre Brasil e Croácia. Os erros já foram corrigidos.