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

Trump mantém apoio a príncipe saudita acusado de ordenar assassinato

14.mar.2017 - O príncipe Mohammed Bin Salman, então ministro da Defesa da Arábia Saudita, se encontra com o presidente americano, Donald Trump, na Casa Branca, em Washington - Stephen Crowley/The New York Times
14.mar.2017 - O príncipe Mohammed Bin Salman, então ministro da Defesa da Arábia Saudita, se encontra com o presidente americano, Donald Trump, na Casa Branca, em Washington Imagem: Stephen Crowley/The New York Times

12/12/2018 08h52

O presidente dos Estados Unidos, Donald Trump, disse na terça-feira (11) que continua apoiando o príncipe herdeiro da Arábia Saudita, apesar da avaliação da CIA de que ele ordenou o assassinato do jornalista Jamal Khashoggi e de apelos de senadores para que o presidente repreenda o governante de fato do reino.

Trump se recusou a comentar se o príncipe herdeiro Mohammed bin Salman foi cúmplice do assassinato, mas deu talvez sua demonstração mais explícita de apoio ao príncipe desde a morte de Khashoggi, quase dois meses atrás.

"Ele é o líder da Arábia Saudita. Eles têm sido ótimos aliados", disse Trump em entrevista no Salão Oval da Casa Branca.

Questionado pela Reuters se apoiar o reino significa apoiar o príncipe, conhecido como MbS, Trump respondeu: "Bem, neste momento, certamente sim".

Alguns membros da família governante saudita estão se mobilizando para impedir que MbS se torne rei, disseram à Reuters fontes próximas à corte real, e acreditam que os Estados Unidos e Trump podem desempenhar um papel decisivo nesta questão.

"Eu simplesmente não ouvi nada sobre isso", disse Trump. "Honestamente, não posso comentar porque não ouvi nada sobre isso. Na verdade, se ouvi algo é que ele está muito estável no poder".

Embora Trump tenha repudiado o assassinato de Khashoggi, morador dos Estados Unidos e colunista do jornal Washington Post que muitas vezes criticava MbS, o presidente norte-americano deu o benefício da dúvida ao príncipe, com quem tem cultivado um relacionamento próximo.

Na terça-feira Trump voltou a reiterar que o "príncipe herdeiro nega veementemente" ter envolvimento com o crime que provocou revolta em todo o mundo.

Trump tem sido fortemente criticado por colegas republicanos no Senado, especialmente depois que Gina Haspel, diretora da CIA, se reuniu com eles. No mês ado a CIA avaliou que MbS ordenou o assassinato, em uma conclusão que Trump classificou como "muito prematura".

"Você tem que estar intencionalmente cego para não chegar à conclusão de que isto foi orquestrado e organizado por pessoas sob o comando de MbS", afirmou o senador republicano Lindsey Graham, aliado de Trump, na semana ada.