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

Iraque - Após invasão, tropas americanas permanecem no Iraque

Do colégio Stockler

Após a transferência do governo do Iraque para a istração provisória nomeada pela ONU, em junho de 2004, os EUA, liderados por George W. Bush, deixaram, aos olhos da opinião pública mundial, a forte impressão de que já vão tarde.

Iniciada em março de 2003, a ocupação anglo-americana do Iraque foi uma verdadeira comédia de erros, com direito à ressurreição dos fantasmas do Vietnã e a uma queda vertiginosa da aprovação do ataque pelo próprio público norte-americano. Três motivos ajudam a explicar o descrédito por que aram os EUA nos momentos finais da guerra, e consolidado no final de junho, quando o xeque-presidente Ghazi Ajil al-Yawar assumiu o controle político do país.

Em primeiro lugar, o atropelo com que a decisão de atacar o Iraque foi tomada pela coalizão EUA-Inglaterra, apoiada na alegação, ainda não comprovada, de que Saddam Hussein tinha armas de destruição em massa. Para não mencionar que essa iniciativa ou por cima daquela que, teoricamente, seria a instância mundial maior na deliberação desse tipo de operação: o Conselho de Segurança da ONU.



O escândalo de Abu-Ghraib

Além disso, em meados de 2004, jornais do mundo inteiro dedicaram suas manchetes às notícias de que havia sido descoberta a prática de tortura na prisão de Abu-Ghraib, destino dos iraquianos presos pelas tropas americanas. Ironicamente, era lá que Saddam Hussein executava cerca de 6000 presos por ano, com requintes de crueldade.

Por último, para tornar ainda mais melancólica a retirada política dos EUA do Iraque - a ocupação militar continua até dezembro de 2005 -, a comissão que investiga os atentados de 11 de setembro de 2001 chegou à conclusão de que não há "provas confiáveis" de ligação entre Saddam e a rede terrorista Al Qaeda. Essa afirmação demole a segunda justificativa americana para os ataques, isto é, a alegação de que eles faziam parte de sua campanha global anti-terror.

Com tudo isso, o saldo dos ataques ao Iraque não poderia ser pior. E chega a ofuscar alguns méritos que, por incrível que possa parecer, a ofensiva militar obteve. Afinal, apesar de que pela força, os americanos retiraram Saddam do poder. Com a queda do ditador, o número de jornais - eram cinco, todos oficiais - saltou para 150 independentes. Além disso, aram a existir 12 partidos políticos, em contraste com o antigo sistema de partido único - o Baath.

Mas nem esses dados são suficientes para dizer que a guerra ao Iraque foi positiva. Até porque, com o fim da ditadura, os iraquianos tomaram gosto pela democracia. E isso fez com que eles se voltassem contra a presença americana, que se não é ditatorial, é arbitrária. Isso explica o lado negro da ocupação americana do Iraque. Por dia, a média de atentados à bomba no país é de 25, o que já matou 900 soldados da coalizão.