;(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();
})();
'Falcão e o Soldado Invernal': Atores falam sobre legado do Capitão América
Do UOL, em São Paulo
19/03/2021 04h00
"Falcão e o Soldado Invernal", nova série que estreia hoje no Disney+, dá um merecido tempo de tela a duas figuras que já conhecemos há muito tempo dos filmes da Marvel: Sam Wilson (Anthony Mackie) e Bucky Barnes (Sebastian Stan).
Continua depois da publicidade
Cada um deles tem que lidar com problemas bem reais (e menos heroicos) nas vidas que levam após os eventos de "Vingadores: Ultimato". Enquanto Bucky tenta acertar as contas com seu ado como soldado controlado pela Hydra, Sam enfrenta os problemas familiares que deixou para trás.
Deixar a aventura mais pé no chão (mesmo com cenas de ação espetaculares) era um desejo desde o começo para o roteirista chefe da série, Malcom Spellman ("Empire").
Nós queríamos que eles tivessem histórias baseadas no que as pessoas vivem hoje. Se você quer ter heróis que representem nossa época, eles precisam enfrentar problemas atuais. Malcom Spellman, a Splash
Pôster de 'Falcão e o Soldado Invernal'
Imagem: Divulgação
E veio dessa vontade também o tom da série, que ainda é similar ao dos filmes do "Capitão América" no que diz respeito aos elementos de espionagem, mas se inspira mais em filmes de ação como "Máquina Mortífera" e "Bad Boys".
Continua depois da publicidade
"Foi nesses filmes que miramos", conta o roteirista. "É pé no chão, mas tem muita ação e diálogos afiados. Queríamos que parecesse real e que as pessoas olhassem para esses heróis e dissessem: 'eu o pelo mesmo'". E a série não evita os temas difíceis, abordando racismo e culpa já no seu início.
O legado do Capitão
A ausência do Capitão América (Chris Evans) também é bastante sentida em "Falcão e o Soldado Invernal". E não podia ser diferente, já que o herói era amigo tanto de Bucky quanto de Sam, a quem ou seu escudo após se aposentar em "Ultimato".
Mas Sam não está exatamente aberto a assumir o lugar deixado por Steve Rogers.
Steve é o amigo dele. Ele entrou nos Vingadores porque o Capitão América pediu. Então a ideia de ser o Capitão está um pouco estragada para ele, porque significa que ele não vai mais lutar com Steve. Anthony Mackie, a Splash
Continua depois da publicidade
Sam usa do escudo de Steve em cena do trailer da série
Imagem: Reprodução
Bucky, por outro lado, está em paz com a ausência do amigo, mas precisa descobrir como seguir em frente.
Ele está tentando descobrir o próximo momento, a próxima parte da vida dele. Por isso, ele está encarando coisas que não encarava há muito tempo o que nunca havia encarado devidamente. Agora ele precisa olhar para si e para o que ele tem a oferecer, sabe? Sebastian Stan
Mas e a relação de Bucky e Sam, como fica sem Steve?
Perguntado se eles iriam estreitar os laços, Anthony brincou: "Não, nem um pouco, ninguém consegue ter um laço forte com Bucky, porque ele te mataria".
Mas Sebastian respondeu a sério, tomando cuidado para não dar spoilers:
Agora, claro, porque eles precisam confiar um no outro. [Steve] é uma grande parte da situação que os aproxima.
Segundo Spellman, a forma como o relacionamento de Sam e Bucky se desenvolve ao longo dos seis episódios da série é um espelho para como o resto do mundo está lidando com a ausência do Capitão América e dos valores que ele simbolizava.
"Steve se foi, Thanos se foi, e metade da população do mundo está de volta. É um caos, um problema que só um herói como Steve saberia lidar, por causa do que representava", explica.
Nós destilamos esse problema no relacionamento desses dois caras que estão lidando com a perda de uma pessoa importante. Eles estão confrontando o fato de que podem nem ser amigos, podem ser só duas pessoas que perderam um melhor amigo em comum. E o mundo a por essa mesma jornada com eles.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.