;(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();
})();
"Quero justiça, peço justiça para todos, por todos, nós somos mães, eles são pais de família, então nós estamos sofrendo", declarou à AFP Edeluze, de 67 anos, ao enterrar o filho Márcio Bezerra, que deixou três filhos e dois netos.
Segundo reportagens da imprensa, outras cinco pessoas foram sepultadas neste sábado em dois cemitérios do Rio em meio a cenas de dor. Hoje, outras 13 serão enterradas.
Jacarezinho: Enterro de Cleyton da Silva Freitas de Lima, no Cemitério Inhaúma
A Polícia Civil, responsável pela operação, afirmou que todos os mortos eram "criminosos" e divulgou ontem os nomes dos 27 suspeitos.
A corporação garante que a operação no Jacarezinho, considerado um bastião do grupo criminoso Comando Vermelho, buscou desmantelar uma quadrilha que recrutava crianças e adolescentes para o crime.
Funeral de Jonathan Araújo da Silva no Cemitério de Inhaúma
Imagem: Rai Aquino/UOL
A operação, realizada nas primeiras horas da quinta-feira, transformou o Jacarezinho em um campo de batalha, com cadáveres espalhados e poças de sangue nas ruas estreitas, segundo testemunhas.
O procurador-geral da República, Augusto Aras, pediu ao governador do Rio de Janeiro, Cláudio Castro (PSC), "que esclareça as circunstâncias da operação" diante do possível "descumprimento" da decisão do STF de suspender esse tipo de ação nas favelas durante a pandemia.
A polícia garante que respeitou todos os protocolos e que disparou para se defender.
Operação no Jacarezinho (RJ) deixa dezenas de mortos
1 / 20
Fuga
Homens pulam entre casas durante operação da Polícia Civil contra o tráfico de drogas na comunidade do Jacarezinho, no Rio de Janeiro. A ação deixou dezenas de mortos
Grande apreensão de armas, drogas e munição é levada para a Cidade da Polícia, no Rio de Janeiro, nesta quinta-feira. A apreensão é resultado da operação realizada na favela do Jacarezinho, na zona norte do Rio. A ação policial na favela do Jacarezinho deixou dezenas de mortos na manhã de hoje.
Policial durante a operação da Polícia Civil contra o tráfico de drogas no Jacarezinho, nesta quinta feira; um policial civil que participava da operação, chamado André Leonardo de Mello Frias, morreu após ser atingido na cabeça
Leia maisREGINALDO PIMENTA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO
6 / 20
Buracos na parede da comunidade do Jacarezinho nesta quinta feira (06) após operação policial contra o tráfico de drogas na região
Leia maisREGINALDO PIMENTA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO
7 / 20
Policial durante operação contra o tráfico na comunidade do Jacarezinho, no Rio, que deixou dezenas de mortos
Leia maisREGINALDO PIMENTA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO
8 / 20
Medo
Pessoa aparentemente em situação de rua tenta se proteger durante a operação da Polícia Civil no Jacarezinho, que deixou dezenas de mortos e feriu ageiros que estavam em composições do metrô da cidade
Leia maisREGINALDO PIMENTA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO
9 / 20
Armamento pesado
Policiais utilizam armamento pesado durante operação da Polícia Civil no Jacarezinho, nesta quinta feira, que culminou na morte de dezenas de pessoas
Leia maisREGINALDO PIMENTA/AGÊNCIA O DIA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO
10 / 20
Desespero
Mãe e familiares de um dos homens mortos na operação no Jacarezinho em desespero e chorando em frente a emergência de um hospital no RJ; operação deixou dezenas de mortos
"O energúmeno poderia, além de citar os direitos dos bandidos, nos informar onde eles conseguiram porte de arma de fogo", atacou o presidente no Twitter, junto com um curto vídeo de um analista do canal CNN Brasil que comentava a operação policial.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.