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

Relatores da ONU cobram resposta de Bolsonaro sobre morte de Marielle

A vereadora Marielle Franco (PSOL) - Márcia Foletto/Agência O Globo
A vereadora Marielle Franco (PSOL) Imagem: Márcia Foletto/Agência O Globo

Jamil Chade

Genebra

08/01/2019 16h13

O governo de Jair Bolsonaro (PSL) recebeu, em seu primeiro dia no cargo, uma carta enviada por relatores da Organização das Nações Unidas (ONU) que cobraram dele respostas urgentes para esclarecer a morte de Marielle Franco (PSOL). O assassinato da vereadora e de seu motorista, Anderson Gomes, completa 300 dias sem que ninguém tenha sido detido.

Mantida em total confidencialidade até março, a comunicação foi emitida no dia 31 de dezembro de 2018 em Genebra, e chegou ao gabinete do novo governo em seu primeiro dia de trabalho.

Apesar do sigilo do material, o jornal "O Estado de S. Paulo" apurou com três fontes diferentes que o texto da carta cobra do governo explicações sobre o andamento das investigações sobre a morte da vereadora do Rio de Janeiro e pergunta o motivo pelo silêncio sobre os resultados do inquérito.

O texto ainda faz um alerta ao governo: os relatores, apesar do sigilo, poderiam considerar fazer uma declaração pública à imprensa internacional para alertar sobre a queixa dirigida ao Brasil.

O sigilo na carta será suspenso em março, quando a queixa e a eventual resposta do governo brasileiro serão publicadas nos sites da ONU. A reportagem apurou que, por enquanto, nem o Palácio do Planalto e nem o Itamaraty deram uma resposta à cobrança feita pelos relatores.

Mas o documento foi interpretado como um sinal por parte dos especialistas internacionais de que irão acompanhar de perto a aplicação da política de segurança e de direitos humanos do novo governo.

Entre os relatores, os comentários de Bolsonaro sobre a forma de lidar com a violência no Brasil e seu questionamento sobre direitos humanos tem sido alvo de extrema preocupação.

No final do ano ado, a viúva de Marielle, Mônica Benício, esteve na ONU para também pedir o apoio da entidade no que se refere à falta de esclarecimentos na morte da vereadora.

Essa não é a primeira vez que os relatores da ONU questionam o Brasil no que se refere ao assassinato. Marielle foi morta no dia 14 de março de 2018. No dia 22 daquele mês, dez relatores da ONU se uniram para emitir uma carta dura às autoridades brasileiras, pedindo que a intervenção federal no Rio de Janeiro fosse repensada e exigindo respostas diante do assassinato de Marielle Franco.

Os peritos ainda enviaram uma carta ao governo brasileiro e deram 60 dias para que esclarecimentos sejam apresentados. Não se trata de uma obrigação legal. Mas, dentro da ONU, ignorar um pedido de um relator é interpretado como um gesto político de que um governo não dá a devida legitimidade a um sistema que ele mesmo criou.

"Uma preocupação muita grave é expressada na morte de Marielle Franco e seu motorista, que pode ser relacionada como o exercício legítimo de seu direito de liberdade de expressão, sua participação na vida política e pública", declaram na carta os relatores em março de 2018.

Ao solicitar investigações "independentes, imparciais, transparentes e efetivas", os relatores apresentaram uma lista de cinco solicitações às autoridades brasileiras, entre elas a divulgação de detalhes das investigações sobre o assassinato.

O grupo ainda pediu que fossem explicadas as medidas que existem no Brasil para "garantir que os defensores de direitos humanos possam realizar seu trabalho legítimo sem ameaças ou atos de intimidação". Para completar, os relatores solicitaram que fossem fornecidas "informações detalhadas sobre as medidas tomadas por autoridades para proteger aqueles que participam da vida pública e política contra a violência".

Resposta

À reportagem, o Itamaraty confirmou que está trabalhando em uma resposta aos relatores. "O governo brasileiro recebeu a comunicação conjunta do Escritório da Alta Comissária para os Direitos Humanos (EACDH) em 2 de janeiro e responderá à comunicação dos procedimentos especiais do Conselho de Direitos Humanos ao longo desta semana, tão logo esteja concluída a versão das informações a uma das línguas de trabalho das Nações Unidas", indicou a chancelaria, por meio de uma nota.

"Na referida comunicação, os titulares dos procedimentos especiais fazem referência a informações já fornecidas pelo governo brasileiro em março e setembro ados, assim como solicitam esclarecimentos adicionais sobre o assassinato de Marielle Franco", esclareceu.

"A comunicação informa, ainda, que seu teor e o de eventual resposta do governo brasileiro serão publicados, dentro de 60 dias, na página eletrônica do EACDH", completou o Itamaraty.