;(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();
})();
Em uma das dinâmicas, Sthe Matos caiu no choro ao falar sobre Rico Melquiades, o fazendeiro da semana: "O que eu mais quebro a cara na vida, é que eu acredito muito nas pessoas e isso é o que acaba comigo (...) Quando a pessoa fala comigo, me pede desculpas, eu já acho que tá tudo bem e eu posso acreditar e acabo me decepcionando", começou a influenciadora.
Ele [Rico] foi uma dessas pessoas, que me deixou muito mal, foi a pessoa que mais fez eu me sentir mal aqui dentro. A presença dele me faz eu me sentir mal, as coisas que ele me fala me faz sentir mal. Eu acho que ele é muito desnecessário em várias coisas, em várias palavras. Sthe Matos
Depois, Sthe disse que o choro é por conta da saudade que sente do filho: "Eu nunca fiquei longe do meu filho por tanto tempo. Eu estou em um estado que está me fazendo mal ficar longe dele", desabafou.
Ele me fala tanta coisa, que só faz me deixar, sei lá... Sthe Matos
Rico, então, pediu a palavra e disse que todos estão com muita saudade: "Está todo mundo com o emocional muito abalado", iniciou.
Se ela não quisesse ouvir a verdade relacionada ao jogo, ela não fazia as atitudes que eu vejo aqui. Tudo o que eu julgo ela é do que eu vejo no jogo. Se ela não estivesse preparada para vir, não viesse. Rico Melquiades
'A Fazenda 13': Os peões que foram eliminados ou saíram do reality rural
1 / 16
Dynho e Sthe saíram juntos
A Fazenda 2021: Dynho e Sthefane foram eliminados na segunda roça especial
Reprodução/PlayPlus
2 / 16
Medrado: 1ª desistência
A Fazenda 20020: Medrado é a primeira a deixar a sede, pedindo para sair
Reprodução/Playplus
3 / 16
Liziane: 1ª eliminada
A Fazenda 20020: Liziane foi a primeira eliminada do programa
Reprodução/Playplus
4 / 16
Nego do Borel: 1º expulso
A Fazenda 20020: Nego do Borel foi expulso da competição
Reprodução/Playplus
5 / 16
Mussunzinho: 2º eliminado
A Fazenda 2021: Mussunzinho faz discurso antes do resultado da segunda roça
Reprodução/PlayPlus
6 / 16
Erika Schneider: 3ª eliminada
A Fazenda 2021: Erika Schneider na formação da terceira roça
Reprodução/PlayPlus
7 / 16
Victor Pecoraro: 4º eliminado
A Fazenda 2021: Victor Pecoraro na noite da quarta eliminação
Reprodução/PlayPlus
8 / 16
Lary Bottino: 5º eliminada
A Fazenda 2021: Lary Bottino durante a eliminação na quinta roça
Reprodução/Playplus
9 / 16
Tati: 6ª eliminada
A Fazenda 2021: Tati Quebra Barraco é a sexta eliminada do jogo
Reprodução/Playplus
10 / 16
Erasmo Viana: 7º eliminado
A Fazenda 2021: Erasmo Viana na sétima roça da edição
Reprodução/Playplus
11 / 16
Tiago Piquilo: 8º eliminado
A Fazenda 2021: Tiago Piquilo na noite da oitava eliminação
Reprodução/PlayPlus
12 / 16
Valentina: 9º eliminada
A Fazenda 2021: Valentina Francavilla na nona roça
Reprodução/Playplus
13 / 16
Gui Araujo: 10º eliminado
A Fazenda 2021: Gui Araujo na noite da décima eliminação
Reprodução/PlayPlus
14 / 16
Dayane Mello: 11º eliminada
A Fazenda 2021: Dayane Mello na décima primeira roça
Reprodução/Playplus
15 / 16
Mileide Mihaile: 12º eliminada
A Fazenda 2021: Mileide Mihaile na noite da 12ª eliminação
Reprodução/PlayPlus
16 / 16
Aline e MC Gui saíram juntos
A Fazenda 2021: MC Gui e Aline Mineiro são eliminados na semifinal
Reprodução/PlayPlus
Após saída de Dayane Mello, quem merece vencer o reality?