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

Projeto de Lei Anticrime será enviado ao Congresso na terça, diz Bolsonaro

O presidente Jair Bolsonaro - Alan Santos/PR
O presidente Jair Bolsonaro Imagem: Alan Santos/PR

Flávio Costa*

Em São Paulo

16/02/2019 08h17

O presidente Jair Bolsonaro (PSL) afirmou que o projeto de lei anticrime será apresentado ao Congresso Nacional na próxima terça-feira (19). A informação foi divulgada em perfil na rede social Twitter, na manhã de hoje.

"Na próxima terça-feira apresentaremos projeto de lei Anticrime ao Congresso. Elaborado pelo ministro Sérgio Moro o mesmo visa endurecer as penas contra assassinos, líderes de gangues e corruptos", afirmou Bolsonaro.

Nesta semana, o ministro da Justiça e Segurança Pública, Sérgio Moro, havia afirmado que o governo estava aguardando o retorno do presidente, que ou 17 dias hospitalizado em São Paulo e voltou na última quarta-feira (13) a Brasília.

No período de ausência de Bolsonaro, Moro divulgou publicamente e apresentou a parlamentares e governadores a sua proposta. Alterou, até, alguns pontos, observando críticas e sugestões feitas por governadores e também pelo ministro Celso de Mello, do Supremo Tribunal Federal. Segundo ele, isso permitiu que o projeto fosse aprimorado.

"O projeto de lei deve ser apresentado provavelmente semana que vem ao Congresso. Esperamos a volta do presidente. Antecipamos a publicidade e isso foi salutar. Permitiu que aprimorássemos o projeto", disse Moro anteontem, durante um evento na capital federal.

Moro defende projeto

Durante um debate promovido pela Enfam (Escola Nacional de Formação e Aperfeiçoamento de Magistrados) sobre as propostas legislativas, Moro defendeu propostas do projeto como a execução da pena após a condenação em segunda instância e o cumprimento imediato da sentença do júri. 

Moro disse ainda que a proposta que amplia a possibilidade de isentar pessoas de culpa por homicídios não representa uma carta branca para matar.

"Tem gerado certa polêmica da legitima defesa. Não, o projeto não dá licença para matar, não autoriza nada disso", disse o ministro.

Segundo Moro, agentes da área de segurança pública reclamam que praticam atos de legítima defesa, mas ficam expostos a processo ou condenação. 

"Apenas colocamos duas situações que entendemos que claramente configuram legítima defesa, mas essas situações vão ser verificadas nos casos concretos pelos magistrados", disse.

Moro defendeu também a ampliação da chamada "excludente de ilicitude", que pode levar a absolvição de pessoas que matarem.

"A excludente de ilicitude leva a absolvição, mas o agente responde pelo excesso doloso ou culposo. Acrescentamos um parágrafo de que poderia haver (a excludente) se o crime for cometido sobre "escusável" medo, emoção. Escusável", ressaltou, lembrando que caberá ao juiz analisar.

O ministro disse que não está "pensando aqui necessariamente em agentes policiais, mas em pessoas comuns que não são robôs que em circunstâncias extremas pode se exceder".

"Eu vi que isso pode aumentar violência doméstica, mas não vejo como. Isso está associado ao excludente de ilicitude, legítima defesa, estado de necessidade. Se houver excesso, aí sim, o magistrado pode aplicar esse dispositivo", disse Moro.

*Com informações do Estadão Conteúdo*

MORO APRESENTA PROJETO ANTICRIME

Band Notí­cias