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

Esse conteúdo é antigo

Joice registra ocorrência contra senador: 'Não tenho medo de marmanjão'

Do UOL, em São Paulo

26/07/2021 17h15Atualizada em 26/07/2021 18h30

A deputada federal Joice Hasselmann (PSL-SP) declarou hoje que registrou um Boletim de Ocorrência contra o senador Styvenson Valentim (Podemos-RN). O parlamentar havia feito uma live insinuando que as agressões contra a deputada foram feitas ou pelo marido da deputada ou porque ela teria feito uso de drogas.

As declarações de Hasselmann sobre o caso foram dadas na saída da delegacia em que ela prestou depoimento, em Brasília.

Segundo Hasselmann, o senador Styvenson é um "marmanjão de músculos, metido a delegado" que está cumprindo recomendações de pessoas do governo federal.

Joice não citou diretamente o presidente Jair Bolsonaro (sem partido), mas durante a conversa com jornalistas transmitida pela GloboNews e CNN, ela afirmou que "não é de hoje" que se tornou um desafeto da gestão federal e seus apoiadores.

Além do crime de injúria, calunia e difamação, ele ta atribuindo a mim um ato criminoso. Ele ta dizendo que usei algum tipo de droga, ele fala em cocaína, e ele ta auxiliando essa narrativa que vem do governo, desvirtuando os fatos e me ofendendo de forma mais profunda, é mais que crime contra honra ele está me acusando de cometer crime. Então ele realmente vai responder por isso e não vai custar barato
Joice Hasselmann

Além do senador, outros parlamentares serão denunciados por Joice Hasselmann, que não revelou nomes. A política observou que preferiu que as investigações sobre as agressões sejam conduzidas pelo MPF (Ministério Público Federal) e pela Polícia Civil para evitar interferência de Bolsonaro, caso tramitassem na Polícia Federal.

Eu quero deixar muito claro meu respeito pela Polícia Federal, mas não confio na interferência do governo na Polícia Federal, como fez antes. Todos sabem que eu sou desafeto. Há história muito cabulosa, historia que vazou do GSI
Joice Hasselmann

Styvenson debochou das agressões contra Joice

Durante uma live que foi deletada das redes sociais, o senador Styvenson Valentim debochou da deputada federal Joice Hasselmann por conta das agressões que ela sofreu.

Um dos expectadores da live, transmitida no Instagram, perguntou sobre a parlamentar, ao que o senador respondeu: "E aquela deputada feminista que apareceu com oito fraturas na cara agora, querendo livrar a cara do marido?"

Na sequência, o senador afirmou, sem provas: "Aquilo ali, das duas uma. Ou duas de quinhentos [Styvenson leva as mãos à cabeça, fazendo chifres] ou uma carreira muito grande [inspira, como se cheirasse cocaína]. Aí ficou doida e pronto? saiu batendo em casa".

O UOL entrou em contato com a assessoria de imprensa de Joice Hasselmann para mais detalhes sobre o caso e também com o senador Styvenson Valentim. Até o momento da publicação desta matéria, não tivemos retorno dos dois.