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

Patrocinadores repudiam fala nazista no Flow e encerram vínculo

Do UOL, em São Paulo

08/02/2022 12h21Atualizada em 08/02/2022 17h42

Após a repercussão da fala nazista e antissemita do podcaster Monark, um dos apresentadores do Flow Podcast, patrocinadores do programa vieram a público esclarecer que repudiam o discurso e que não apoiam mais o programa financeiramente. No final da tarde, os estúdios Flow anunciaram que Monark foi "desligado dos Estúdios Flow" — segundo a GQ Brasil, o podcaster também deixará de ser sócio da empresa.

"Discordamos e repudiamos veementemente as declarações e ideias expressadas durante o último Flow Podcast, transmitido nesta segunda-feira. Elucidamos ainda que não somos patrocinadores do podcast, tendo feito no ado somente uma ação pontual e isolada", diz a nota oficial publicada pela Puma, marca esportiva que aparece no site do podcast como uma das patrocinadoras.

O esclarecimento se dá em meio à repercussão negativa da fala de Monark, que defendeu a existência de um partido nazista no Brasil —algo proibido até na Alemanha, onde esta ideologia perseguiu, prendeu e assassinou ao menos 5 milhões de pessoas. "O nazista deveria ter o partido nazista reconhecido pela lei", afirmou. "Se o cara quer ser 'anti-judeu', ele tem o direito de ser."

Na verdade, não tem. No Brasil, é crime "praticar, induzir ou incitar a discriminação ou preconceito de raça, cor, etnia, religião ou procedência nacional", segundo o artigo 20 da Lei nº 7.716/89, que prevê até três anos de reclusão ao autor.

"Já havíamos pedido [ao Flow Podcast] para nosso logo ser retirado dos patrocinadores e reforçamos isso novamente", afirmou a marca no comunicado oficial.

Além da Puma, outras marcas esclareceram não patrocinar mais o podcast, como a Flash Benefícios, a Mondelez, detentora da marca Bis, o Ifood e o Ragazzo. A Ferj, federação de futebol do RJ, anunciou que o programa não poderá mais transmitir os jogos do Campeonato Carioca, como vinha fazendo na edição deste ano.

Zico, que ia participar hoje do Flow Sports Club, anunciou por intermédio do filho que não vai mais ao podcast. Já o apresentador Benjamin Back pediu para que o episódio no qual participou, no ano ado, fosse excluído das plataformas de podcast.

Após a repercussão negativa e a perda de patrocínio, Monark publicou um vídeo para se defender. Ele afirmou que estava bêbado durante o podcast e pediu desculpas pelas declarações. Não foi o suficiente. Em comunicado publicado nas redes sociais, a Flow afirmou quem em comprometimento com a democracia e os direitos humanos, retirou o episódio do ar e anunciou o desligamento de Monark dos Estúdios Flow.