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

Palmeiras

Locutor do Allianz Parque completa 200 jogos contra o adversário da estreia

Marcos Costi, locutor do Allianz Parque - Arquivo Pessoal
Marcos Costi, locutor do Allianz Parque Imagem: Arquivo Pessoal

28/11/2020 08h00

O torcedor do Palmeiras já se acostumou com o grito de gol vindo do sistema de som nos jogos como mandante. O "Tá Lá Dentro" virou marca registrada de Marcos Costi, locutor que completa 200 jogos do Verdão neste sábado (28), às 17h (de Brasília) contra o Athletico-PR, no Allianz Parque, pelo Campeonato Brasileiro.

O bordão que foi aderido até pelas redes sociais do clube, teve a primeira vez de uma maneira tensa, afinal o gol de Henrique Dourado, contra o mesmo Athletico em 2014, ajudou o clube a escapar do rebaixamento dias depois da volta para casa.

O primeiro tento saiu na estreia de Costi como locutor oficial do Palmeiras. Isso porque na estreia do estádio, contra o Sport em 19 de novembro de 2014, uma outra pessoa foi contratada e, mesmo na cabine, ele não trabalhou.

"Meio confuso tudo isso e sou uma pessoa de muita fé. Não creio em destino, mas em oportunidades. Você tem a chance de agarrar quando elas aparecerem e se cercar de pessoas boas para estar no lugar certo. Acredito em uma coisa acima", afirma Marcos Costi ao LANCE!/NOSSO PALESTRA.

O "Tá Lá Dentro" foi pensado anteriormente em um momento que não existia um grito de gol do sistema de som. Costi ou a ser a voz do torcedor palmeirense dentro do estádio e iniciou uma maneira diferente de informar.

Além da marca registrada, outras frases ganharam destaque ao longo dos seis anos de locuções no Allianz Parque, Pacaembu, Fonte Luminosa, Brinco de Ouro e até Morumbi.

O "Quem tem mais tem nove" foi adaptado para "Quem tem mais tem nove, quem não tem corre atrás" após o título brasileiro do rival, em 2017. O bordão ou por outra reforma depois do deca e desde então é gritado como: "Quem tem mais tem dez, quem não tem corre atrás".

Outra frase de destaque acontece na tradicional escalação dos times quando os reservas do Palmeiras são anunciados como "banco de titulares". Costi acredita que é uma forma respeitosa de valorizar os atletas do elenco.

"Tudo começou com o Felipão, na caminhada do título de 2018, quando ele montou um time para Libertadores e outro para o Brasileiro. Em uma conversa com amigos surgiu a expressão "banco de titulares" e faz total sentido mesmo. ei a adotar desde então", afirma Costi.

Nos seis anos de trabalho, as frases marcantes caíram no gosto do torcedor e de pequenos palestrinos, uma vez que crianças aram a adotar os termos.

"Já recebi um vídeo no Instagram de um pai filmando o filho palmeirense jogando bola na rede. Quando o menino faz o gol, ele solta o "Tá Lá Dentro". É muito legal ver tudo isso", completa o locutor.

A pedido do LANCE!/NOSSO PALESTRA, Marcos Costi selecionou seis momentos marcantes nos seis anos do Palmeiras no Allianz Parque, completados no último dia 19.

Palmeiras 1x1 Athletico-PR (2014): "É o primeiro gol, onde tudo começou".

Palmeiras 2x1 Santos (2015): "Fui comemorar o título da Copa do Brasil com os caras no gramado".

Palmeiras 1x0 Botafogo (2016): "Foi o jogo em que o Palmeiras cravou o título. O elenco em roda no gramado e torcida gritando. É uma das imagens da conquista".

Palmeiras 1x0 Chapecoense (2016): "Diversos motivos e a sensação entre alegria e a tristeza pela tragédia logo depois".

Palmeiras 2x1 Água Santa (2020): "Primeiro jogo sem torcida e um momento diferente. Ao mesmo tempo que não falei para ninguém no estádio, isso deu mais holofote para o meu trabalho. Está rolando ainda, mas não dá para acostumar com esta situação".

Palmeiras 1x1 Corinthians (2020): "Achei que teria um treco ali na hora do título. Estar sozinho sem torcida, Dia dos Pais no dia seguinte, problemas durante a pandemia. Foi um momento cheio de emoção com tudo e que estava envolvido".

Palmeiras