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

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Zambelli é retrato do bolsonarismo organizado que não sumirá se Lula ganhar

Manifestação em Brasília em apoio ao presidente Jair Bolsonaro (PL): flexibilização de porte e posse de armas foi bandeira de governo - Sergio Lima/AFP via Getty Images
Manifestação em Brasília em apoio ao presidente Jair Bolsonaro (PL): flexibilização de porte e posse de armas foi bandeira de governo Imagem: Sergio Lima/AFP via Getty Images
Rosana Pinheiro-Machado

Colaboração para Universa

30/10/2022 04h00

Desde a apuração dos votos do primeiro turno, ficou muito claro que o bolsonarismo é mais resiliente do que muitos podiam imaginar. O movimento está além do mandato do presidente, que foi capaz de aglutinar pulsões políticas que outrora estavam dispersas. Agora, essas pulsões estão coesas, fortalecidas e formando aquilo que nas ciências sociais chamamos de racionalidade: uma espécie de identidade que dispensa a ordem de cima para baixo de um governante e que já opera de baixo para cima, de forma incorporada, como um autodisciplinamento no qual sujeitos se sentem soldados responsáveis pela manutenção dessa identidade.

Sabemos que a força do bolsonarismo será forte no Congresso —e o quanto isso será um dos maiores desafios dos próximos anos em uma possível vitória de Lula (PT), tal qual tem ocorrido nos Estados Unidos. A senadora eleita Damares Alves (Republicanos-DF), por exemplo, será um núcleo duro e estridente do ultraconservadorismo e fundamentalismo, tentando barrar todo e qualquer avanço das pautas dos direitos reprodutivos.

Mas o que preocupa, acima de qualquer coisa, é o antipetismo cego que já não pode mais ser descrito por parâmetros racionais. A cena de ontem da deputada Carla Zambelli (PL-SP) correndo armada contra um cidadão comum é distópica de um mundo que veio para ficar: um mundo de soldados armados, ensandecidos e inconformados com o fato de que, apesar do auê verde e amarelo, não são maioria.

O bolsonarismo, de movimento bizarro de nicho, virou a mainstream: eles representam parte da renovação dos grupos evangélicos com seus pastores e políticos "pop" e descolados. O bolsonarismo está normalizado entre os influencers de moda, gamers, sertanejo, investidores e coaches motivacionais. No topo desse estilo de vida estão casais heterossexuais e brancos "perfeitos", com seus filhinhos "perfeitos", em seus carros enormes e casas deslumbrantes. Corpos esculpidos, lábios com preenchimento.

O trabalhador precário, que representa uma parte imensa da população brasileira que recebe entre dois a cinco salários mínimos, enche a boca para se autointitular empresário e rechaçar a identidade de trabalhador de direitos. É um fenômeno alastrado no país para o qual nenhum político à esquerda consegue fazer um discurso que cole.

Foi a hashtag #comércioaberto e não a #fiqueemcasa a que capturou boa parte desse precariado. E esse sujeito raivoso prefere seguir acreditando apenas no mérito e culpabilizando os mais pobres ainda pela dureza de sua vida. Isso veio para ficar e é apenas a ponta do iceberg de uma sociedade composta de pessoas empobrecidas que desprezam aqueles que ganham benefícios sociais para sobreviver. A exceção, é claro, é quando eles próprios ganham benefício como o Auxílio Brasil. Aí não é esmola.

Para muitos, nada disso soa racional ou lógico. Mas é assim que o bolsonarismo age: pelas entranhas de ressentimentos e recalques múltiplos. Está entre os pobres que desprezam os mais pobres; está entre os ricos ou falsos ricos que possuem horror à pobreza. Tudo isso em nome de "Deus, pátria e família", fazendo um suco de autoritarismo, conservadorismo e neoliberalismo.

O tecido social brasileiro foi fraturado de forma irreversível. Não acredito em nenhum político que diga que vai trazer de volta a paz e o amor para o Brasil (ainda que minha opção seja por votar naqueles que acreditam nisso, já que palavras de líderes importam, machucam e matam). O Brasil que muitos de nós conhecíamos não existe mais. E isso não é necessariamente ruim.

O Brasil, na verdade, sempre foi o país que mais matou pessoas trans no mundo. Líder em feminicídio. Dizimou a população indígena e sempre matou jovens negros periféricos. Nunca foi bom. O bolsonarismo só deu nome e organizou essa violência toda. É melhor que tenha vindo à tona e esteja aí, escancarado para que a gente nunca mais finja ser outra coisa.

Sei que, até aqui, esta coluna pode ter soado pessimista em pleno dia de eleição. Mas não é. Quando li "Pedagogia da Esperança" (ed. Paz & Terra), de Paulo Freire, aprendi que não se pode esperançar sem um diagnóstico concreto e duro da realidade. Não é possível achar que uma vitória de Lula apagará tudo isso. Não apagará, e o desafio das próximas décadas é enorme. Mas estou cheia de esperança e profundamente emocionada.

Sei que a saída de Bolsonaro do poder não resolve nossos problemas mais profundos, mas é o primeiro o. E, na situação em que estamos, esse primeiro o é gigante. Se isso se concretizar, há muito trabalho para reconstruir o Brasil. Reconstruir não significa voltar para o lugar de segregação social e racial no qual sempre estivemos, mas, com a ajuda dos movimentos sociais e uma pitada de imaginação política, ousar ser uma nação fraterna.