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

Manuela: Bolsonaro faz com que a sociedade aceite ataques contra mulheres

Do UOL, em São Paulo

03/12/2020 12h12

Alvo de fake news e de ataques nas redes sociais durante a campanha para a Prefeitura de Porto Alegre, a ex-deputada federal Manuela D'Àvila (PCdoB) disse que os conteúdos foram ainda mais violentos por ela ser mulher. Ela criticou a conivência por parte dos demais políticos e do governo do presidente Jair Bolsonaro (sem partido) no tema.

"No Parlamento nós avançamos. Nós não avançamos justamente no Poder Executivo. Para mim isso tem relação com a desconstrução das mulheres feitas pela máquina do ódio e pela autorização da violência política, inclusive por parte do presidente da República", afirmou ela ao comentar o desempenho das mulheres nas eleições municipais deste ano. Apenas uma mulher foi eleita para comandar uma capital.

"Mesmo que isso não tenha consequências diretas, ou seja, mesmo que ele tenha sido derrotado nas eleições, isso tem consequências para a sociedade, ou seja, a sociedade a a ser mais permissiva. E acredito nisso à medida que a gente tem a principal autoridade política do país autorizando toda a violência política contra as mulheres", completou ela ao falar do presidente Jair Bolsonaro (sem partido).

A disputa pela Prefeitura em Porto Alegre foi marcada por ofensas no primeiro e no segundo turno. Em outubro, durante um debate promovido pela Band, ela foi chamada de "traidora" e "sonsa" pelo então candidato Rodrigo Maroni (PROS).

No debate da Rádio Gaúcha, em novembro, ele voltou a atacá-la: "Tu é patricinha mimada". Em seu pedido de resposta, Manuela classificou os ataques como "violência de gênero".

No segundo turno, ela foi alvo de diversos conteúdos falsos divulgados na internet. De 10 ataques, segundo ela, nove tinham relação com o gênero.

Para a ex-deputada, tudo isso vem sendo permitido também pela omissão dos homens que estão na política sobre o tema.

"É mentira a ideia de que o atacado ganha alguma coisa com o ataque. Quem é atacado, é atacado, é vulnerabilizado. E é preciso falar sobre isso porque quando a gente não fala a gente trata como um problema pessoal. Eu quase fui prefeita da cidade e, em público, fui vítima de violência diante do silêncio dos homens públicos. Que exemplo isso dá para a nossa sociedade, para um país que ainda é recordista em feminicídio. Se os homens públicos se calam à violência a que uma mulher é submetida em público, imagina como as mulheres vão se animar para cargos públicos", declarou.

Sem cargo público, Manuela desconversou sobre os planos para a eleição de 2022 e disse que pretende se dedicar ao combate da violência de gênero na política. Ela avalia que as mulheres vêm se tornando um alvo prioritário desses ataques, ainda que não exclusivo, ao lado da questão da religiosidade e do racismo.

"Eu sempre soube que era difícil. Essa foi a minha oitava eleição. Mas não precisa ser tão difícil. O Brasil não pode assistir calado a humilhação que a uma mulher que quer entrar na vida pública".