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

Polícia identifica responsável por atacar Rushdie e cita facada no abdome

Salman Rushdie na Flip de 2010 - Leandro Moraes/ Uol
Salman Rushdie na Flip de 2010 Imagem: Leandro Moraes/ Uol

Colaboração para Splash, em São Paulo

12/08/2022 18h18Atualizada em 12/08/2022 18h46

Salman Rushdie, 75 anos, foi esfaqueado ao menos uma vez no pescoço e outra no abdômen, de acordo com a polícia de Nova York em uma coletiva de imprensa na tarde de hoje. O escritor ainda está ando por uma cirurgia após ser levado de helicóptero para um hospital da região. Ele foi atacado quando estava prestes a dar uma palestra no Chautauqua Institution.

As autoridades também identificaram o suspeito de atacar Rushdie: Hadi Matar, um homem de 24 anos do distrito de Fairview, em Nova Jersey (EUA). Ele foi levado imediatamente sob custódia por um policial que trabalhava no local, e a polícia ainda está determinando quais serão as acusações contra Matar.

De acordo com o major Eugene Staniszewski, Hadi Matar tinha um ingresso para ar o evento e entrou na instituição normalmente, como os outros espectadores. Ainda não há indicação do que motivou o crime e acredita-se que o suspeito agiu sozinho.

Um esquadrão antibomba também esteve no local após o ataque e determinou que a instituição está segura. A polícia está trabalhando com o FBI e o Gabinete do Xerife do Condado de Chautauqua nas investigações.

Salman Rushdie recebeu atendimento no local por uma médica que estava na plateia antes de ser levado ao hospital. Rita Landman, uma médica endocrinologista, falou ao New York Times sobre o caso. Ela afirmou o autor tinha várias facadas, "incluindo uma no lado direito do pescoço, e que havia uma poça de sangue sob seu corpo". Ela reforçou, contudo, que ele parecia estar vivo e que as pessoas afirmavam que ele ainda "estava com pulso".

O mediador do evento, que também foi atacado pelo suspeito, foi levado para o hospital para tratar um ferimento no rosto.

O ataque

Salman Rushdie, 75, autor anglo-indiano que foi ameaçado de morte no Irã na década de 80 devido a suas publicações, foi esfaqueado hoje quando estava prestes a dar uma palestra no oeste de Nova York.

O ataque foi testemunhado por um repórter da Associated Press, que viu um homem invadir o palco da instituição onde Salman palestraria e começar a socá-lo e esfaqueá-lo, no momento em que o autor era apresentado, segundo a BBC.

Testemunhas afirmaram que o autor conseguiu sair do palco com ajuda e o agressor foi contido.

Salman participava de uma discussão sobre os Estados Unidos como asilo para escritores e outros artistas no exílio e como um lar para a liberdade de expressão criativa.

O livro "Versos Satânicos" do autor foi proibido no Irã desde 1988, pois muitos muçulmanos o consideram uma blasfêmia. Um ano depois, o falecido líder do Irã, o aiatolá Ruhollah Khomeini pediu a morte de Salman, com uma recompensa sendo oferecida.