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

Brasileirão - 2022

CBF levou menos de 30 minutos para punir árbitros de Flamengo x Santos

André Luiz de Freitas Castro foi o árbitro de Flamengo x Santos - Thiago Ribeiro/AGIF
André Luiz de Freitas Castro foi o árbitro de Flamengo x Santos Imagem: Thiago Ribeiro/AGIF

Do UOL, no Rio de Janeiro

26/10/2022 16h32

Quando André Luiz de Freitas Castro apitou para terminar o jogo entre Flamengo e Santos, no Maracanã, o destino do VAR Adriano Milczvski e do próprio árbitro de campo já estava praticamente traçado. A sentença formal viria em menos de meia hora.

O intervalo foi de exatos 40 minutos entre a conclusão da partida pelo Brasileirão e a publicação da nota no site da CBF que informou o afastamento de André e Adriano das escalas da arbitragem. A partida terminou às 23h48. Mas o documento em formato PDF assinado pelo presidente da comissão de arbitragem, Wilson Seneme, foi gerado às 0h12. Ou seja, 24 minutos depois do apito final.

Os árbitros foram incluídos no Programa de Assistência ao Desempenho do Árbitro (Pada), um nome formal para o que o mundo do futebol classifica como "geladeira". Pelo tempo em que geralmente os árbitros ficam no Pada, cerca de um mês, a dupla não deve mais atuar na Série A neste ano.

Em paralelo, o Santos divulgou — assim que o jogo acabou — uma carta aberta do presidente Andrés Rueda ao presidente da CBF, Ednaldo Rodrigues. O protesto foi veemente contra a não marcação de um pênalti para o time paulista na jogada que antecedeu o primeiro gol do Flamengo, anotado por Pedro. Se a penalidade tivesse sido marcada, não haveria gol rubro-negro. O jogo terminou 3 a 2 para o Fla.

A decisão foi considerada tão fora da curva — negativamente —, que o presidente da comissão de arbitragem, Wilson Seneme, nem esperou amanhecer para anunciar o afastamento dos árbitros. A punição mostra que a responsabilidade ficou compartilhada entre quem não viu o lance ao vivo, no campo, e quem ignorou a obstrução do lateral-direito Matheuzinho na perna de Camacho.

Normalmente, os árbitros são comunicados de decisões desse tipo em reuniões chamadas de devolutivas, realizadas na manhã seguinte aos jogos. Dessa vez, Seneme quis agir rápido.

Ele não estava no Maracanã. Mas tudo foi coordenado com o presidente da CBF, Ednaldo Rodrigues, e o departamento de comunicação da CBF para dar uma resposta rápida à opinião pública e tentar amenizar as críticas que já circulavam por conta do lance ocorrido no primeiro tempo.

Não foi preciso que Ednaldo pedisse a "cabeça" dos árbitros. A reação de Seneme foi considerada proporcional por quem atua na arbitragem da CBF. O procedimento de soltar notas para comunicar afastamento de árbitros não é novo na gestão Seneme. Ele trouxe essa prática dos tempos em que foi chefe dos árbitros na Conmebol. Os punidos são comunicados antes da publicação.

Ao verificar os áudios da checagem do VAR, é possível constatar como André Luiz e Adriano Milczvski interpretaram o lance.

"Ele está caindo. Ele (Camacho) faz o corte e está caindo. E o outro (Matheuzinho) está parado na frente dele", disse André Luiz.

"Aqui não vejo como penal, certo? A perna já está parada. O pé para do lado e ele tropeça no pé. Não vejo impacto nenhum. A perna já está parada", disse o VAR.

A CBF informou ao fim da manhã de hoje (26) que o assistente do VAR, Luciano Roggenbaum também estava "sob avaliação do desempenho técnico". É a "senha" para dizer que ele também entrou no Pada. Por consequência, houve alteração na escala do São Paulo x Atlético-GO, hoje à noite. A CBF precisou colocar Rodrigo Nunes de Sá e Silbert Faria Sisquim como VAR e AVAR, substituindo Adriano e Luciano.