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

Aposentado, Ozil construiu império de R$ 630 mi com eSports e criptomoedas

Mesut Ozil é dono da M10 eSports, entre vários outros investimentos  - Reprodução/Twitter/MesutOzil1088
Mesut Ozil é dono da M10 eSports, entre vários outros investimentos Imagem: Reprodução/Twitter/MesutOzil1088

Colaboração para o UOL, em Aracaju

23/03/2023 04h00

Aposentado do futebol aos 34 anos, Mesut Ozil construiu um "império" estimado em cerca de R$ 630 milhões.

O que aconteceu

  • Ozil tem um patrimônio líquido de 98 milhões de libras, de acordo com o jornal "The Sun".
  • O alemão ancorou seus investimentos na empresa M10. A marca começou como grife de roupas, rendeu 1 milhão de euros no primeiro ano e depois se estendeu para o ramo de chuteiras, segundo o "Marca".
  • Ozil também investiu nos eSports. Ele comprou uma equipe de Dusseldorf, na Alemanha, e a rebatizou de M10 Esports.
  • Seus negócios se entenderam até as criptomoedas. Em 2022, Ozil ou a utilizar a M10 para realizar transações relacionadas ao seu NFT (sigla para Token Não Fungível) - uma espécie de Certificado Digital de Propriedade.
  • O alemão aplicou seu dinheiro em diversas áreas: cosméticos, cafeterias, suplementos alimentares, imóveis e até ações do Necaxa, clube de futebol da primeira divisão mexicana.

Carreira vitoriosa e racismo

  • Ozil foi campeão mundial com a Alemanha em 2014. Ele fez parte da equipe que aplicou o histórico 7 a 1 sobre o Brasil na semifinal no Mineirão.
  • De família turca, o ex-jogador afirmou que sofreu racismo em seu país natal. "Quando ganho, sou alemão, quando perco, sou imigrante", desabafou Ozil em 2018, quando foi criticado na Alemanha por tirar uma foto com Recep Tayyip Erdogan, presidente da Turquia.
  • Arsenal (254 jogos) e Real Madrid (159) foram os clubes que Ozil mais defendeu. Ao longo da carreira, ele também jogou por times como Schalke 04, Werder Bremen e Fenerbahçe.
  • Ozil estava no Istanbul Basaksehir desde o ano ado, mas jogou apenas sete partidas pelo time turco.
  • O meia alemão marcou 119 gols e deu mais de 190 assistências em 697 jogos, segundo o site "O Gol".

O que ele disse

Foi uma jornada incrível, cheia de momentos e emoções inesquecíveis" Ozil em sua carta de aposentadoria