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

Molon: Rachadinha de Carlos Bolsonaro é 'filial' de esquema do pai

Colaboração para o UOL, no Rio

24/09/2021 09h24Atualizada em 24/09/2021 09h47

O deputado federal Alessandro Molon (PSB-RJ) disse hoje no UOL News que o suposto esquema de rachadinha montado no gabinete do vereador Carlos Bolsonaro (Republicanos-RJ) funciona como uma filial do modelo que pode ter sido iniciado na família pelo presidente Jair Bolsonaro (sem partido), quando era deputado federal (entre os anos de 1991 e 2018).

"Tudo indica que criou-se um certo modelo e que esse modelo foi replicado no gabinete dos filhos, em uma espécie de holding, de filiais que iam repetindo o mesmo esquema de arrecadação ilícita de recursos para enriquecimento sem causa da família", afirmou o deputado.

Assim como o irmão Flávio Bolsonaro (Patriota-RJ), Carlos Bolsonaro é alvo de uma investigação do MPRJ (Ministério Público do Rio) sobre a existência de um suposto esquema de ree ilegal de salários de assessores, chamado de rachinha. Além disso, o "02" da família Bolsonaro também é suspeito de ter nomeado "funcionários fantasmas" em seu gabinete na Câmara de Vereadores do Rio.

As suspeitas sobre rachadinha praticada pelo presidente da República foram reveladas com exclusividade pelo UOL no dia 5 de julho. Na ocasião, a colunista Juliana Dal Piva publicou gravações de áudio inéditas apontando o envolvimento direto de Bolsonaro no esquema ilegal de entrega de salários de assessores na época em que exerceu seguidos mandatos de deputado federal.

Assim que ele deixar a presidência, eventuais investigações sobre esquema de rachadinha envolvendo ele, a participação dele ou de pessoas do gabinete dele como deputado, portanto antes de ser presidente, podem voltar avançar. Por isso, ele costuma dizer que será preso, será morto ou vencerá (as eleições). Ele sempre exclui dessas possibilidades a derrota eleitoral, que será a prévia da sua prisão
Alessandro Molon

Molon afirma que os constantes ataques que o presidente faz ao STF (Supremo Tribunal Federal) são uma resposta às investigações do Judiciário sobre os supostos esquemas de rachadinha montados pela família. Para o deputado, Bolsonaro teria praticado outros crimes agora na Presidência da República.

"Esses crimes de peculato envolvendo a família (rachadinhas) são uma parte grave dos crimes, mas não são todos. A atuação dele como presidente da República no "enfrentamento à pandemia" é extremamente grave também pelas centenas de milhares de brasileiros mortos que tivemos como consequência do negacionismo, da sabotagem ao enfrentamento da pandemia e da receita de remédio sem eficácia, como ele continua fazendo", afirma Molon.