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

Randolfe: 'Carlos Bolsonaro tem paixão reprimida e precisa sair do armário'

Senador Randolfe Rodrigues após sessão da I da Covid - Leopoldo Silva/Agência Senado
Senador Randolfe Rodrigues após sessão da I da Covid Imagem: Leopoldo Silva/Agência Senado

Do UOL, em São Paulo

17/06/2021 23h51

O vice-presidente da I da Covid, senador Randolfe Rodrigues (Rede-AP), lançou hoje insinuações sobre orientação sexual do vereador Carlos Bolsonaro (Republicanos-RJ), filho do presidente Jair Bolsonaro (sem partido), e o aconselhou a "sair do armário" para viver "mais feliz".

"O Carlos... vocês sabem o quanto esse moço me xinga, eu acho que ele tem uma paixão reprimida por mim. Eles tinham que se libertar, sair do armário, eles seriam mais felizes assim. Ele e o pai, [Jair] Bolsonaro, têm essa obsessão por nós", ironizou Randolfe, em transmissão ao vivo para o canal "Salve", do Porta dos Fundos, na plataforma Twitch.

"Do ponto de vista pessoal eu poderia ter todos os motivos para chegar até ele, de tanto que ele tem obsessão por nós, mas nós não podemos trazer nossas questões figadais, nossos instintos primitivos para a investigação, porque contamina a investigação", completou, em seguida.

Durante a transmissão, Randolfe rebateu ainda xingamentos proferidos por Bolsonaro, em sua live semanal, nas redes sociais —o chefe do Executivo chamou o parlamentar de "gazela saltitante e fala fino". Ao rebater, Randolfe citou a compra da mansão no valor de R$ 6 milhões em Brasília, feita pelo senador Flávio Bolsonaro (Patriota-RJ), filho do presidente.

"Gazela saltitante e fala fino... Pode continuar. Se começar a me chamar de miliciano eu vou ficar preocupado. Se alguém vier me acusar de ter comprado uma mansão de R$ 6 milhões em Brasília com salário de senador, aí o negócio vai pegar", afirmou Randolfe, em transmissão ao vivo, na plataforma Twitch.

Relatório final da I

Questionado sobre o relatório final da I da Covid, que investiga ações e omissões do governo federal em meio à crise sanitária, Randolfe Rodrigues citou o nome do presidente da Câmara, Arthur Lira (PP-AL) e a sua ligação com Bolsonaro. Lira foi eleito ao cargo em fevereiro desde ano, e contou com apoio da família Bolsonaro.

"Aí já chegou na fase final da I, que é o relatório. O que eu tenho debatido com o relator é a gente construir um relatório com três grandes partes. A primeira parte é a responsabilidade política, o crime de responsabilidade. Esse a gente não tem muita expectativa porque o presidente da Câmara é Arthur Lira", ressaltou.

"A segunda parte é a responsabilização criminal. Aí tem uma série de crimes cogitados no código penal, não somente do presidente da República, mas para os atores que participaram com ele desse morticínio que estamos vivendo no Brasil. Essa responsabilidade criminal tem um detalhe, ela persegue o cara que for responsabilizado não somente agora, também depois do mandato. E a terceira consequência por eventual crime de lesa-humanidade é a responsabilização no Tribunal Penal Internacional".