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

PF ouve 9 militares do GSI que aparecem em imagens no 8/1; veja quem são

Imagens da câmera de segurança mostram golpistas próximos ao gabinete de Lula - Reprodução
Imagens da câmera de segurança mostram golpistas próximos ao gabinete de Lula Imagem: Reprodução

Do UOL, em São Paulo

23/04/2023 12h38Atualizada em 23/04/2023 12h48

A PF (Polícia Federal) ouve neste domingo (23) nove militares do GSI (Gabinete de Segurança Institucional) da Presidência identificados em imagens de câmeras de segurança do Palácio do Planalto nos atos golpistas de 8 janeiro.

O que você precisa saber

Os depoimentos são realizados após decisão de Alexandre de Moraes. O ministro do STF (Supremo Tribunal Federal), relator do inquérito que investiga possível omissão de autoridades nos ataques às sedes dos Três Poderes, determinou na sexta-feira (21) que os servidores do GSI fossem ouvidos pela Polícia Federal.

A lista com os nomes dos militares foi entregue ao STF pelo ministro interino do GSI, Ricardo Cappelli. Os servidores foram identificados após ordem de Moraes.

O UOL conseguiu a lista dos depoimentos com uma fonte próxima ao GSI. A participação ou omissão deles nos atos ainda será investigada pela PF. Confira abaixo os nomes e os horários:

  • General Carlos Feitosa Rodrigues - 10h
  • Coronel Wanderli Baptista da Silva Junior - 10h
  • Coronel Alexandre Santos de Amorim - 10h
  • Coronel André Garcia Furtado - 10h
  • Tenente-coronel Alex Marcos Barbosa Santos - 10h
  • Tenente-coronel Marcus Vinicius Bras de Camargo - 14h
  • Major José Eduardo Natale de Paula Pereira - 14h
  • Capitão Adilson Rodrigues da Silva - 14h
  • Sargento Laércio da Costa Júnior - 14h

Também na sexta, Moraes ordenou a quebra de sigilo das imagens da invasão de 8 de janeiro. O material estava em posse do GSI e foi entregue ao STF neste domingo.

O STF agiu após a CNN divulgar imagens que mostraram o ex-ministro do GSI, Gonçalves Dias, junto a golpistas. Ele aparece conversando e caminhando ao lado de um grupo de extremistas. Após essa revelação, Dias pediu demissão do cargo, mas diz que não foi omisso e que não tem responsabilidade sobre os atos.

Dias declarou que tentava tirar manifestantes do terceiro e do quarto andar do Planalto. Em entrevista, ele afirmou que o seu objetivo seria levar essas pessoas ao segundo andar, para que elas fossem presas.

Antes da decisão, o GSI negava todos os pedidos de liberação via LAI (Lei de o à Informação). Moraes afirmou, no entanto, que a justificativa do órgão não se aplica às imagens da invasão à Praça dos Três Poderes.

A presente hipótese não caracteriza qualquer excepcionalidade às necessárias publicidade e transparência, não sendo possível, com base na Lei de o à Informação, a manutenção da vedação de divulgação de todas - ABSOLUTAMENTE TODAS - as imagens verificadas na ocasião do nefasto e criminoso atentado à Democracia e ao Estado de Direito, ocorrido em 08/01/2023".
Ministro Alexandre de Moraes, do STF