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

Em apoio a Damares, Michelle cita 'lobos em pele de cordeiro'

Do UOL, em São Paulo

23/09/2022 15h28

A primeira-dama Michelle Bolsonaro reafirmou apoio durante evento de campanha da ex-ministra da Mulher, Família e Direitos Humanos Damares Alves (Republicanos), que concorre ao Senado pelo Distrito Federal e, sem citar nomes, disse aos presentes para terem "muito cuidado com os lobos vestidos em pele de cordeiro".

"O meu voto e da minha família é de Damares Alves, e os meus candidatos são os candidatos do meu marido Jair Messias Bolsonaro. Não mexam com ela. Se mexer com ela, você está mexendo comigo", disse, antes de complementar: "Tenham muito cuidado com os lobos que estão vestidos em pele de cordeiro"

Apesar de dizer que o apoio da família é para o nome de Damares, o presidente Jair Bolsonaro (PL) ainda não endossou publicamente Damares. Flávia Arruda (PL), ex-ministra da Secretaria de Governo, é o nome do partido do presidente e do candidato à reeleição ao governo do DF, Ibaneis Rocha (PL), para disputar a única vaga disponível no Senado.

Segundo as últimas pesquisas eleitorais, Flávia está à frente na disputa, mas é seguida de perto por Damares. A candidata do PL apareceu com 28% das intenções de voto na última pesquisa Ipec, enquanto a ex-ministra apoiada por Michelle ficou com 21%.

Michelle está ativa na campanha eleitoral. A primeira-dama já havia anunciado anteriormente que não deixaria de apoiar Damares, a quem considera uma amiga próxima.

Considerada "trunfo" da campanha do marido para tentar diminuir a rejeição das mulheres a Bolsonaro, Michelle entrou de vez nos compromissos eleitorais desde o início oficial das campanhas.

Ontem, por exemplo, criticou o uso do sobrenome "Bolsonaro" por candidatos que "tentam subir na vida". Ela fazia campanha para o irmão, que tenta uma vaga na Câmara dos Deputados. Ela declarou que Eduardo Torres (PL) é o "nosso" único candidato a deputado distrital pelo Distrito Federal.

Na sequência, a primeira-dama escreveu: "Não existe apoio a nenhum outro candidato. Fica o alerta para 'os alpinistas' que estão tentando subir na vida, usando o nosso sobrenome".

Uma das ex-esposas de Bolsonaro, Ana Cristina Siqueira Valle (Progressistas), mãe de Jair Renan, está usando o nome "Cristina Bolsonaro" na disputa ao cargo de deputada distrital do DF — assim como o irmão de Michelle. Ana Cristina é investigada por suspeita de envolvimento com o esquema de "rachadinha", entrega ilegal dos salários de funcionários dos gabinetes da família.