CINXE.COM

Earnings Calendar

<!doctype html> <html > <head id="ctl00_Head1"><meta charset="utf-8" /><title> Earnings Calendar </title><meta id="metaDesc" name="description" content="Trading Economics provides data for 20 million economic indicators from 196 countries including actual values, consensus figures, forecasts, historical time series and news. Earnings Calendar - was last updated on Sunday, November 24, 2024." /><meta id="metaKeyword" name="keywords" content="Earnings Calendar, economic indicators, data, actual values, historical, time series, forecasts, news" /><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1" /><meta name="theme-color" content="#333333" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.2.3/css/bootstrap.min.css" integrity="sha512-SbiR/eusphKoMVVXysTKG/7VseWii+Y3FdHrt0EpKgpToZeemhqHeZeLWLhJutz/2ut2Vw1uQEj2MbRF+TVBUA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.2/font/bootstrap-icons.min.css" integrity="sha512-YFENbnqHbCRmJt5d+9lHimyEMt8LKSNTMLSaHjvsclnZGICeY/0KYEeiHwD1Ux4Tcao0h60tdcMv+0GljvWyHg==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link href="//d3fy651gv2fhd3.cloudfront.net/stylesheet.min.css?v=20241101b" rel="stylesheet" /> <script type="text/javascript">var TEChartSettings = {}; var TESymbol = ''; var TECountry = ''; var TECategory = ''; var TEFrequency = ''; var TELanguage = ''; var TELastUpdate = '20241031000000'; var TEChartVersion = ''; var symbol = ''; var symbolType = ''; var hasCalendar = false; var isLoggedIn = false; var TEAlertsName = ''; var TEChartsDatasource = 'https://d3ii0wo49og5mi.cloudfront.net'; var IsMobile = false; var TEChartsMeta = ''; var TEForecast = []; var TEAuthorization = ''; var TESecurify = ''; var TESecurifyUrl = ''; var TEType = ''; var TEChartUrl = '/earnings'; var TEComparable = 0; var isAlertsLoaded = false; var IsDarkMode = false; var isPakoLoaded = false; var TEChartsToken = '20240229:nazare'; var TEObfuscationkey = 'tradingeconomics-charts-core-api-key'; var isCopyright = false;</script> <script type="text/javascript">var DEBUG = false;if (window.location.host.indexOf('localhost') > -1) DEBUG = true;else if (window.location.href.indexOf('debug') > -1) DEBUG = true;if (!DEBUG) {if (!window.console) window.console = {};var methods = ["log", "debug", "info"];for (var i = 0; i < methods.length; i++) {console[methods[i]] = function () { };}}</script> <link rel="icon" href="//d3fy651gv2fhd3.cloudfront.net/favicon.ico" /><link rel="canonical" href="https://tradingeconomics.com/earnings" /></head> <body > <script>IsDarkMode=false;</script> <form method="post" action="/earnings" id="aspnetForm"> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="xNvg/vLvt+1stEMNedlr4OdDNQscGyM6TWabYD4U/JOvVQTNpQSxPpStpr1es3LwcPoCsA43Ys+dPC+VocBx9swRIdI=" /> </div> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="9ED6FB81" /> </div> <nav id="ctl00_NavigationUC1_ctl00_menu" class="navbar navbar-dark fixed-top" role="navigation"> <div class="container"> <div class="navbar-header navbar-header-search" id="searchMobileHeader"> <div class="d-flex justify-content-between"> <a class="navbar-brand" style="width: 100%"> <input type="text" placeholder="Search" id="thisIstheTinySearchBoxIdTag" autocomplete="off" class="nav-search-input-class navbar-search-2" /> </a> <ul id="thisIstheTinySearchResultsIdTag" class="dropdown-menu navbar-search-1"> <li> <div class="container-fluid"> <div id="dpSearch-resultCnt-tiny" class="dpTaResult"> </div> </div> </li> </ul> <div class="navbar-mobile-close-search"> <a noref class="navbar-mobile-item" id="thisIsTheTinyRemoveId"><i class="bi bi-x-lg"></i></a> </div> </div> </div> <div class="navbar-header navbar-collapse float-end" id="mainHeader"> <div class="d-flex"> <button type="button" class="navbar-toggler" data-bs-toggle="offcanvas" data-bs-target="#tesidemenu" aria-controls="tesidemenuoptions"> <span class="navbar-toggler-icon"></span> </button> <div class="logo-banner d-flex justify-content-between float-right"> <a class="navbar-brand" href="/"> <svg width="129" height="35" version="1.1" viewBox="0 0 34.131 9.2604" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" aria-label = "Trading Economics logo"> <g fill="#858585" stroke="#858585" stroke-width=".1" ><path d="m1.3315 8.5517v-3.7879h2.8086v0.64079h-2.0438v0.83974h1.9017v0.6382h-1.9017v1.0309h2.1162v0.6382z"/><path d="m7.2846 7.1591 0.74156 0.23513q-0.17053 0.62012-0.56844 0.92242-0.39532 0.29972-1.0051 0.29972-0.75448 0-1.2402-0.51418-0.48576-0.51676-0.48576-1.4108 0-0.94568 0.48834-1.4676 0.48834-0.52452 1.2842-0.52452 0.69505 0 1.1291 0.41083 0.25838 0.24288 0.38757 0.69763l-0.75706 0.18087q-0.067179-0.29456-0.28164-0.46509-0.21187-0.17053-0.51676-0.17053-0.42116 0-0.68471 0.30231-0.26097 0.30231-0.26097 0.97927 0 0.7183 0.25838 1.0232 0.25838 0.30489 0.67179 0.30489 0.30489 0 0.52452-0.19379 0.21962-0.19379 0.31523-0.60978z"/><path d="m8.5275 6.681q0-0.57878 0.17312-0.97152 0.12919-0.28939 0.3514-0.51935 0.22479-0.22996 0.49093-0.34106 0.35398-0.14986 0.81649-0.14986 0.83716 0 1.3384 0.51935 0.50385 0.51935 0.50385 1.4444 0 0.91726-0.49868 1.4366-0.49868 0.51676-1.3333 0.51676-0.84491 0-1.3436-0.51418-0.49868-0.51676-0.49868-1.4211zm0.78807-0.025838q0 0.64337 0.29714 0.97669 0.29714 0.33073 0.75448 0.33073 0.45734 0 0.74931-0.32815 0.29456-0.33073 0.29456-0.9896 0-0.65112-0.2868-0.97152-0.28422-0.32039-0.75706-0.32039-0.47284 0-0.76223 0.32556-0.28939 0.32298-0.28939 0.97669z"/><path d="m12.806 8.5517v-3.7879h0.74414l1.5503 2.5296v-2.5296h0.71055v3.7879h-0.7674l-1.527-2.4701v2.4701z"/><path d="m16.465 6.681q0-0.57878 0.17312-0.97152 0.12919-0.28939 0.3514-0.51935 0.22479-0.22996 0.49093-0.34106 0.35398-0.14986 0.81649-0.14986 0.83716 0 1.3384 0.51935 0.50384 0.51935 0.50384 1.4444 0 0.91726-0.49868 1.4366-0.49868 0.51676-1.3333 0.51676-0.84491 0-1.3436-0.51418-0.49868-0.51676-0.49868-1.4211zm0.78807-0.025838q0 0.64337 0.29714 0.97669 0.29714 0.33073 0.75448 0.33073t0.74931-0.32815q0.29456-0.33073 0.29456-0.9896 0-0.65112-0.2868-0.97152-0.28422-0.32039-0.75706-0.32039t-0.76223 0.32556q-0.28939 0.32298-0.28939 0.97669z"/><path d="m20.726 8.5517v-3.7879h1.1446l0.6873 2.5838 0.67955-2.5838h1.1472v3.7879h-0.71055v-2.9817l-0.75189 2.9817h-0.73639l-0.74931-2.9817v2.9817z"/><path d="m25.121 8.5517v-3.7879h0.76481v3.7879z"/><path d="m29.038 7.1591 0.74156 0.23513q-0.17053 0.62012-0.56844 0.92242-0.39532 0.29972-1.0051 0.29972-0.75448 0-1.2402-0.51418-0.48576-0.51676-0.48576-1.4108 0-0.94568 0.48834-1.4676 0.48834-0.52452 1.2842-0.52452 0.69505 0 1.1291 0.41083 0.25838 0.24288 0.38757 0.69763l-0.75706 0.18087q-0.06718-0.29456-0.28164-0.46509-0.21187-0.17053-0.51676-0.17053-0.42116 0-0.68471 0.30231-0.26097 0.30231-0.26097 0.97927 0 0.7183 0.25838 1.0232 0.25838 0.30489 0.67179 0.30489 0.30489 0 0.52452-0.19379 0.21962-0.19379 0.31523-0.60978z"/><path d="m30.242 7.3193 0.74414-0.072347q0.06718 0.37465 0.2713 0.55035 0.2067 0.1757 0.55552 0.1757 0.36949 0 0.55552-0.15503 0.18862-0.15761 0.18862-0.3669 0-0.13436-0.0801-0.22738-0.077514-0.095602-0.27388-0.16536-0.13436-0.046509-0.61237-0.16536-0.61495-0.15245-0.863-0.37465-0.34882-0.31264-0.34882-0.76223 0-0.28939 0.16278-0.54002 0.16536-0.25321 0.47284-0.38499 0.31006-0.13178 0.74672-0.13178 0.71314 0 1.0723 0.31264 0.36174 0.31264 0.37982 0.83457l-0.76481 0.03359q-0.04909-0.29197-0.21187-0.41858-0.1602-0.12919-0.48317-0.12919-0.33331 0-0.52193 0.13694-0.12144 0.08785-0.12144 0.23513 0 0.13436 0.11369 0.22996 0.14469 0.12144 0.7028 0.25321t0.82424 0.27389q0.26872 0.13953 0.41858 0.38499 0.15244 0.24288 0.15244 0.60203 0 0.32556-0.18087 0.60978-0.18087 0.28422-0.5116 0.42375-0.33073 0.13694-0.82424 0.13694-0.7183 0-1.1033-0.33073-0.38499-0.33331-0.45992-0.96893z"/></g> <g fill="#ddd" stroke="#ddd" stroke-width=".1" ><path d="m1.4629 4.2437v-2.8324h-1.0116v-0.57671h2.7091v0.57671h-1.0092v2.8324z"/><path d="m3.607 4.2437v-3.4091h1.4487q0.54648 0 0.79297 0.093018 0.24882 0.090692 0.39765 0.32556 0.14883 0.23487 0.14883 0.53718 0 0.3837-0.22557 0.63484-0.22557 0.24882-0.67438 0.31393 0.22324 0.13022 0.36742 0.28603 0.1465 0.1558 0.393 0.55345l0.41625 0.66508h-0.82321l-0.49764-0.74182q-0.2651-0.39765-0.36277-0.49997-0.097668-0.10464-0.20696-0.14185-0.1093-0.039532-0.34649-0.039532h-0.13953v1.4232zm0.68833-1.9673h0.50927q0.49532 0 0.61857-0.041858t0.19301-0.14418q0.069763-0.10232 0.069763-0.2558 0-0.17208-0.093018-0.27673-0.090692-0.10697-0.25812-0.13488-0.083716-0.011627-0.50229-0.011627h-0.53718z"/><path d="m10.118 4.2437h-0.74879l-0.29766-0.77437h-1.3627l-0.28138 0.77437h-0.73019l1.3278-3.4091h0.72786zm-1.2674-1.3488-0.46974-1.265-0.46044 1.265z"/><path d="m10.481 0.8346h1.2581q0.42556 0 0.6488 0.065112 0.29998 0.088367 0.51392 0.31393 0.21394 0.22557 0.32556 0.55345 0.11162 0.32556 0.11162 0.8046 0 0.4209-0.10464 0.72554-0.1279 0.37207-0.36509 0.60229-0.17906 0.17441-0.48369 0.27208-0.22789 0.072089-0.60926 0.072089h-1.2953zm0.68833 0.57671v2.258h0.51392q0.28835 0 0.41625-0.032556 0.16743-0.041858 0.27673-0.14185 0.11162-0.099994 0.18138-0.32789 0.06976-0.23022 0.06976-0.62554t-0.06976-0.60694-0.19534-0.33021q-0.12557-0.1186-0.31858-0.16046-0.14418-0.032556-0.56508-0.032556z"/><path d="m13.902 4.2437v-3.4091h0.68833v3.4091z"/><path d="m15.253 4.2437v-3.4091h0.66973l1.3953 2.2766v-2.2766h0.6395v3.4091h-0.69066l-1.3743-2.2231v2.2231z"/><path d="m20.271 2.9903v-0.57438h1.4836v1.3581q-0.21627 0.20929-0.62787 0.36974-0.40928 0.15813-0.83018 0.15813-0.53485 0-0.9325-0.22324-0.39765-0.22557-0.59764-0.64182-0.19999-0.41858-0.19999-0.90925 0-0.53253 0.22324-0.94645 0.22324-0.41393 0.65345-0.63484 0.32789-0.16976 0.81623-0.16976 0.63484 0 0.99064 0.26743 0.35812 0.2651 0.46044 0.73484l-0.68368 0.1279q-0.072088-0.25115-0.27208-0.39532-0.19766-0.1465-0.49532-0.1465-0.45114 0-0.71856 0.28603-0.2651 0.28603-0.2651 0.84879 0 0.60694 0.26975 0.91157 0.26975 0.30231 0.70693 0.30231 0.21627 0 0.43253-0.083716 0.21859-0.086041 0.3744-0.20696v-0.43253z"/></g> </svg> </a> <div class="d-flex align-items-center nav-options"> <div class="d-flex align-items-center nav-entry-link-group"> <a class="nav-entry-link d-none d-md-block" href="/calendar"><span>Calendar</span></a> <a class="nav-entry-link d-none d-md-block" href="/stream"><span>News</span></a> <div class="dropdown"> <a href="#" class="dropdown d-flex nav-entry-link d-none d-md-block" data-bs-toggle="dropdown"><span>Markets</span></a> <ul class="dropdown-menu nav-dropdown-menu"> <li class='dropdown-item nav-dropdown-item'><a href="/commodities">Commodities</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/currencies">Currencies</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/stocks">Stocks</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/bonds">Bonds</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/crypto">Crypto</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/earnings">Earnings</a></li> </ul> </div> <a class="nav-entry-link d-none d-lg-block" href="/indicators"><span>Indicators</span></a> <a class="nav-entry-link d-none d-xl-block" href="/countries"><span >Countries</span></a> <div class="dropdown"> <a href="#" class="dropdown d-flex nav-entry-link d-none d-md-block" data-bs-toggle="dropdown"><span>Forecasts</span></a> <ul class="dropdown-menu nav-dropdown-menu"> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/commodity">Commodities</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/currency">Currencies</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/stock-market">Stocks</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/government-bond-10y">Bonds</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/crypto">Crypto</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecasts">Countries</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/indicators?g=forecast">Indicators</a></li> </ul> </div> </div> <div class="search-li d-none d-lg-block"> <a noref id="thisIsTheSearchPlaceholderId" class="nav-searchbox-class stickydropdown d-block" title="Search"> <div id="thisIsTheSearchBoxWrapperId" class="typeahead-searchbox-glyphicon-wrapper d-flex "> <input type="text" placeholder="Search" aria-label="Search" id="thisIstheSearchBoxIdTag" autocomplete="off" class="d-none d-md-block nav-search-input-class"> </div> </a> <ul id="thisIstheSearchResultsIdTag" class="dropdown-menu nav-dropdown-menu typeahead-wrapper"> <li> <div class="container"> <div id="dpSearch-resultCnt" class="dpTaResult"> </div> </div> </li> </ul> </div> <div> <a class="d-block d-lg-none navbar-mobile-item" id="thisIsTheTinyGlyphiconId"><i class="bi bi-search me-2"></i></a> </div> <div class="dropdown dropdown-notification-list"> <button class="btn btn-notification-list" type="button" id="dropdownNotificationList" data-bs-toggle="offcanvas" data-bs-target="#offcanvasTop"> <svg xmlns="http://www.w3.org/2000/svg" width="21px" height="21px" viewBox="0 0 24 24" id="notification-empty" style="vertical-align:middle !important" data-name="notification-empty"><rect id="view-box" width="24" height="24" fill="none"/><path id="Shape" d="M6,17v-.5H2.25A2.253,2.253,0,0,1,0,14.25v-.382a2.542,2.542,0,0,1,1.415-2.289A1.248,1.248,0,0,0,2.1,10.572l.446-4.91a6.225,6.225,0,0,1,12.4,0l.446,4.91a1.26,1.26,0,0,0,.686,1.005,2.547,2.547,0,0,1,1.418,2.29v.382a2.252,2.252,0,0,1-2.25,2.25H11.5V17A2.75,2.75,0,0,1,6,17Zm1.5,0A1.25,1.25,0,0,0,10,17v-.5H7.5ZM4.045,5.8,3.6,10.708A2.738,2.738,0,0,1,2.089,12.92a1.055,1.055,0,0,0-.589.949v.382A.751.751,0,0,0,2.25,15h13A.751.751,0,0,0,16,14.25v-.382a1.054,1.054,0,0,0-.586-.948A2.739,2.739,0,0,1,13.9,10.708L13.456,5.8a4.725,4.725,0,0,0-9.411,0Z" transform="translate(3.25 2.25)" fill="#ddd"/></svg> <svg xmlns="http://www.w3.org/2000/svg" width="21px" height="21px" viewBox="0 0 24 24" id="notification-new" style="vertical-align:middle !important; display:none" data-name="notification-new"><rect id="view-box" width="24" height="24" fill="none" /><path id="Shape" d="M6,17v-.5H2.25A2.253,2.253,0,0,1,0,14.25v-.382a2.542,2.542,0,0,1,1.415-2.289A1.247,1.247,0,0,0,2.1,10.572l.446-4.91A6.227,6.227,0,0,1,10.618.286a5.477,5.477,0,0,0-.635,1.374A4.794,4.794,0,0,0,8.75,1.5,4.7,4.7,0,0,0,4.045,5.8L3.6,10.708A2.739,2.739,0,0,1,2.089,12.92a1.055,1.055,0,0,0-.589.949v.382A.751.751,0,0,0,2.25,15h13A.751.751,0,0,0,16,14.25v-.382a1.053,1.053,0,0,0-.586-.948A2.739,2.739,0,0,1,13.9,10.708l-.2-2.18a5.473,5.473,0,0,0,1.526.221l.166,1.822a1.26,1.26,0,0,0,.686,1.005,2.547,2.547,0,0,1,1.418,2.29v.382a2.252,2.252,0,0,1-2.25,2.25H11.5V17A2.75,2.75,0,0,1,6,17Zm1.5,0A1.25,1.25,0,0,0,10,17v-.5H7.5ZM15.047,6.744A3.486,3.486,0,0,1,13.5,6.28L13.456,5.8a4.7,4.7,0,0,0-1.648-3.185,3.5,3.5,0,0,1,.61-1.417A6.221,6.221,0,0,1,14.95,5.662l.1,1.081v0Z" transform="translate(3.25 2.25)" fill="#ddd" /> <path id="Shape-2" data-name="Shape" d="M3.5,7A3.5,3.5,0,1,1,7,3.5,3.5,3.5,0,0,1,3.5,7Z" transform="translate(15 2)" fill="#4287f5" /> </svg> </button> <div class="offcanvas offcanvas-top notification-list container custom-offcanvas" tabindex="-1" id="offcanvasTop" data-bs-scroll="true" aria-labelledby="offcanvasTopLabel" style="top:50px !important; border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);"> <div class="empty-notificationlist"> <div class="empty-notificationlist-content"> <span>You have no new notifications</span> <br> <i class="bi bi-bell-slash-fill"></i> <br> <div><a href="/stream" title="Show all news" class="empty-notificationlist-more"><div class="btn btn-outline-secondary">All News</div></a></div> </div> </div> </div> </div> <div class="userOptionsMenu"> <a title="" data-bs-toggle="offcanvas" href="#offcanvasGuest" role="button" aria-controls="offcanvasGuest"><i class="bi bi-person"></i></a> </div> </div> </div> </div> </div> <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasGuest" aria-labelledby="offcanvasGuestLabel"> <div class="offcanvas-header"> <h5 class="offcanvas-title" id="offcanvasGuestLabel"><b>Members</b></h5> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body user-offcanvas-body"> <div class="list-group list-group-user"> <a href="/analytics/pricing.aspx?source=menu " class="user-item list-group-item"> <b class="list-group-item-heading"><i class="bi bi-save2-fill me-2"></i>&nbsp;DATA PLANS</b><br> <span class="list-group-item-text">Download historical data for 20 million indicators using your browser.</span> </a> <div class="user-item list-group-item"> <div class="navbar-user-link"> <a href="/analytics/pricing.aspx?source=menu" class="navbar-te-link mx-1">Subscription Plans</a> | <a href="/analytics/features.aspx?source=menu" class="navbar-te-link mx-1">Features</a> </div> </div> </div> <div class="list-group list-group-user"> <a href="/api/" class="user-item list-group-item"> <b class="list-group-item-heading"><i class="bi bi-phone mx-1 me-2"></i>API GATEWAY</b><br> <span class="list-group-item-text mx-1">Direct access to our data from your apps using any programing language.</span> </a> <div class="user-item list-group-item"> <div> <a href="https://docs.tradingeconomics.com/" target="_blank" class="navbar-te-link mx-1">Docs</a> | <a href="/api/?source=menu" class="navbar-te-link mx-1">Features</a> | <a href="https://developer.tradingeconomics.com/" class="navbar-te-link mx-1">Developer</a> </div> </div> </div> <div class="list-group list-group-user"> <a class="user-item list-group-item" href="https://sso.tradingeconomics.com/sso/login?returnurl=https://tradingeconomics.com/earnings"><i class="bi bi-person-fill"></i> Already a user? <b>Login</b></a> </div> <style> .form-switch { width: 3.5em !important; height: 2em !important } .bi-sun-fill { font-size: 12px; color: #ddd !important; } .bi-moon-fill { font-size: 10px; color: #333 !important; } .darkmode-toggle-container { width: auto; padding: 0px; margin-left: 0px; margin-top: 0px; border: none; } .form-check-div-sun { width: 20px; margin-bottom: 3px; margin-left: -54px; position: relative } .form-check-div-moon { width: 20px; margin-bottom: 3px; margin-left: 3px; position: relative } .dk-switch-right-menu{ padding-left:10px; } </style> <div class="list-group list-group-user dk-switch-right-menu"> <div class="d-flex align-items-center darkmode-toggle-container"> <div class="form-check form-switch darkmode-form-switch user-item"> <input class="form-check-input p-1" type="checkbox" role="button" id="flexSwitchCheckChecked"> </div> <div class="form-check-div-sun"> <label class="form-check-label form-check-label-sun p-1 d-inline" for="flexSwitchCheckChecked"><i class="bi bi-sun-fill"></i></label> </div> <div class="form-check-div-moon"> <label class="form-check-label form-check-label-moon p-1 d-inline" for="flexSwitchCheckChecked"><i class="bi bi-moon-fill"></i></label> </div> </div> </div> <script> function SetTheme(isDark) { console.log('Changing theme', isDark); if (IsDarkMode != isDark) { IsDarkMode = isDark; document.body.classList.toggle("dark-theme"); // Set cookie const d = new Date(); d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000)); let expires = "expires=" + d.toUTCString(); document.cookie = "IsDarkMode" + "=" + IsDarkMode + ";" + expires + ";path=/"; IsDarkMode ? ga('event', 'te_darkmode_on') : ga('event', 'te_darkmode_off'); window.location.reload(); } } document.addEventListener('DOMContentLoaded', function () { let checkbox = document.getElementById("flexSwitchCheckChecked"); let sundiv = document.getElementsByClassName("form-check-label-sun")[0]; let moondiv = document.getElementsByClassName("form-check-label-moon")[0]; if (IsDarkMode) { sundiv.classList.add("d-none"); moondiv.classList.remove("d-none"); } else { moondiv.classList.add("d-none"); sundiv.classList.remove("d-none"); } checkbox.checked = IsDarkMode; }); document.getElementById("flexSwitchCheckChecked").addEventListener("change", function () { SetTheme(!IsDarkMode) }); </script> </div> </div> <div class="offcanvas offcanvas-start" tabindex="-1" id="tesidemenu" aria-labelledby="tesidemenuoptions"> <div class="offcanvas-header"> <h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel"></h5> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body"> <div class="row navbar-nav-scroll" style="--bs-scroll-height: 95vh;"> <div class="accordion" id="accordionNavbar"> <div class="accordion-item"> <div class="accordion-header menu-main-option"><a class="nav-link accordion-button navmenu-mobile-item" href="/calendar" target="_self"><i class="bi bi-calendar3 me-2"></i>Calendar</a></div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option"><a class="nav-link accordion-button navmenu-mobile-item" href="/stream" target="_self"><i class="bi bi-layout-text-sidebar me-2"></i>News</a></div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMarkets" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-arrow-down-up me-2"></i>Markets <i class="bi bi-caret-up-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseMarkets" class="accordion-collapse collapse show" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/currencies" target="_self">Currencies</a></li> <li><a class="navmobile-link nav-link" href="/stocks" target="_self">Stocks</a></li> <li><a class="navmobile-link nav-link" href="/commodities" target="_self">Commodities</a></li> <li><a class="navmobile-link nav-link" href="/bonds" target="_self">Bonds</a></li> <li><a class="navmobile-link nav-link" href="/crypto" target="_self">Crypto</a></li> <li><a class="navmobile-link nav-link" href="/earnings" target="_self">Earnings</a></li> <li><a class="navmobile-link nav-link" href="/holidays" target="_self">Holidays</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCountries" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-globe me-2"></i>Countries<i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseCountries" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/united-states/indicators" target="_self">United States</a></li> <li><a class="navmobile-link nav-link" href="/united-kingdom/indicators" target="_self">United Kingdom</a></li> <li><a class="navmobile-link nav-link" href="/euro-area/indicators" target="_self">Euro Area</a></li> <li><a class="navmobile-link nav-link" href="/australia/indicators" target="_self">Australia</a></li> <li><a class="navmobile-link nav-link" href="/canada/indicators" target="_self">Canada</a></li> <li><a class="navmobile-link nav-link" href="/japan/indicators" target="_self">Japan</a></li> <li><a class="navmobile-link nav-link" href="/china/indicators" target="_self">China</a></li> <li><a class="navmobile-link nav-link" href="/brazil/indicators" target="_self">Brazil</a></li> <li><a class="navmobile-link nav-link" href="/russia/indicators" target="_self">Russia</a></li> <li><a class="navmobile-link nav-link" href="/india/indicators" target="_self">India</a></li> <li><a class='navmobile-link nav-link' href="/countries" target="_self"><i class="bi bi-plus-square me-2"></i>More Countries</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseIndicators" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-bar-chart-fill me-2"></i>Indicators <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseIndicators" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/country-list/interest-rate" target="_self">Interest Rate</a></li> <li><a class="navmobile-link nav-link" href="/country-list/inflation-rate" target="_self">Inflation Rate</a></li> <li><a class="navmobile-link nav-link" href="/country-list/unemployment-rate" target="_self">Unemployment Rate</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gdp-growth-rate" target="_self">GDP Growth</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gdp-per-capita" target="_self">GDP per Capita</a></li> <li><a class="navmobile-link nav-link" href="/country-list/current-account-to-gdp" target="_self">Current Account</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gold-reserves" target="_self">Gold Reserves</a></li> <li><a class="navmobile-link nav-link" href="/country-list/government-debt-to-gdp" target="_self">Government Debt</a></li> <li><a class="navmobile-link nav-link" href="/country-list/crude-oil-production" target="_self">Crude Oil Production</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gasoline-prices" target="_self">Gasoline Prices</a></li> <li><a class="navmobile-link nav-link" href="/country-list/rating" target="_self">Credit Rating</a></li> <li><a class='navmobile-link nav-link' href="/indicators" target="_self"><i class="bi bi-plus-square me-2"></i>More Indicators</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseForecasts" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-graph-down-arrow me-2"></i>Forecasts <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseForecasts" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li class="d-block d-sm-none"><a class="navmobile-link nav-link" href="/indicators?g=forecast" target="_self">Markets & Indicators</a></li> <li class="d-block d-sm-none"><a class="navmobile-link nav-link" href="/forecasts" target="_self">Countries</a></li> <li class="d-none d-sm-block"><a class='navmobile-link nav-link' href="/forecasts">Countries</a></li> <li class="d-none d-sm-block"><a class='navmobile-link nav-link' href="/indicators?g=forecast">Indicators</a></li> <li class="d-none d-sm-block"><a class='navmobile-link nav-link' href="/forecast/currency">Currencies</a></li> <li class="d-none d-sm-block"><a class='navmobile-link nav-link' href="/forecast/stock-market">Stocks</a></li> <li class="d-none d-sm-block"><a class='navmobile-link nav-link' href="/forecast/commodity">Commodities</a></li> <li class="d-none d-sm-block"><a class='navmobile-link nav-link' href="/forecast/government-bond-10y">Bonds</a></li> <li class="d-none d-sm-block"><a class='navmobile-link nav-link' href="/forecast/crypto">Crypto</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSolutions" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-code-square me-2"></i>Solutions <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseSolutions" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/analytics/features.aspx" title="Register">Data Subscriptions</a></li> <li><a class="navmobile-link nav-link" href="/api/" title="Register">API Access</a></li> <li><a class="navmobile-link nav-link" href="/analytics/pricing.aspx?source=nav">Pricing</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseApps" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-phone me-2"></i>Apps <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseApps" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="https://itunes.apple.com/us/app/trading-economics/id1142178921?mt=8" target="_self">App Store</a></li> <li><a class="navmobile-link nav-link" href="https://play.google.com/store/apps/details?id=com.tradingeconomics.calendar" target="_self">Google Play</a></li> <li><a class="navmobile-link nav-link" href="https://www.twitter.com/teconomics" target="_self">Twitter</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMore" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-question-circle me-2"></i>About <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseMore" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/api/customers.aspx" target="_self">Customers</a></li> <li><a class="navmobile-link nav-link" href="/investors.aspx" target="_self">Investors</a></li> <li><a class="navmobile-link nav-link" href="/careers.aspx" target="_self">Careers</a></li> <li><a class="navmobile-link nav-link" href="/about-te.aspx" target="_self">About us</a></li> <li><a class="navmobile-link nav-link" href="/contact.aspx" target="_self">Contact</a></li> </ul> </div> </div> </div> <div class="accordion-item d-block d-md-none" style="border: none"> <div class="accordion-header menu-main-option accordion-last-item" style="padding: 30px 0px !important;"></div> </div> </div> </div> </div> </div> </div> </nav> <script> document.addEventListener('DOMContentLoaded', function () { let accordionHeaders = document.querySelectorAll('.menu-main-option'); accordionHeaders.forEach(function (header) { header.addEventListener('click', function () { let caretIcon = header.querySelector('.caret-toggle'); let allCaretIcons = document.querySelectorAll('.menu-main-option .caret-toggle'); allCaretIcons.forEach(function (icon) { if (icon !== caretIcon) { icon.classList.remove('bi-caret-up-fill'); icon.classList.add('bi-caret-down-fill'); } }); caretIcon.classList.toggle('bi-caret-down-fill'); caretIcon.classList.toggle('bi-caret-up-fill'); }); }); }); </script> <div class="container"> <div class="row"> <div class='col-xl-12' role="main"> <style>.te-title-footer {border: 1px solid #dddd;padding:10px; background-color: #f5f5f5;font-size: 16px;}.te-description-footer {border: 1px solid #dddd;padding:20px; margin-top: 20px;}</style> <style> .flag { width: 16px; height: 11px; background:url("https://d3fy651gv2fhd3.cloudfront.net/css/flags.png?v=20230412") no-repeat; } .flag.flag-ad {background-position: -16px 0} .flag.flag-ae {background-position: -32px 0} .flag.flag-af {background-position: -48px 0} .flag.flag-ag {background-position: -64px 0} .flag.flag-ai {background-position: -80px 0} .flag.flag-al {background-position: -96px 0} .flag.flag-am {background-position: -112px 0} .flag.flag-an {background-position: -128px 0} .flag.flag-ao {background-position: -144px 0} .flag.flag-ar {background-position: -160px 0} .flag.flag-as {background-position: -176px 0} .flag.flag-at {background-position: -192px 0} .flag.flag-au {background-position: -208px 0} .flag.flag-aw {background-position: -224px 0} .flag.flag-az {background-position: -240px 0} .flag.flag-ba {background-position: 0 -11px} .flag.flag-bb {background-position: -16px -11px} .flag.flag-bd {background-position: -32px -11px} .flag.flag-be {background-position: -48px -11px} .flag.flag-bf {background-position: -64px -11px} .flag.flag-bg {background-position: -80px -11px} .flag.flag-bh {background-position: -96px -11px} .flag.flag-bi {background-position: -112px -11px} .flag.flag-bj {background-position: -128px -11px} .flag.flag-bm {background-position: -144px -11px} .flag.flag-bn {background-position: -160px -11px} .flag.flag-bo {background-position: -176px -11px} .flag.flag-br {background-position: -192px -11px} .flag.flag-bs {background-position: -208px -11px} .flag.flag-bt {background-position: -224px -11px} .flag.flag-bv {background-position: -240px -11px} .flag.flag-bw {background-position: 0 -22px} .flag.flag-by {background-position: -16px -22px} .flag.flag-bz {background-position: -32px -22px} .flag.flag-ca {background-position: -48px -22px} .flag.flag-catalonia {background-position: -64px -22px} .flag.flag-cd {background-position: -80px -22px} .flag.flag-cf {background-position: -96px -22px} .flag.flag-cg {background-position: -112px -22px} .flag.flag-ch {background-position: -128px -22px} .flag.flag-ci {background-position: -144px -22px} .flag.flag-ck {background-position: -160px -22px} .flag.flag-cl {background-position: -176px -22px} .flag.flag-cm {background-position: -192px -22px} .flag.flag-cn {background-position: -208px -22px} .flag.flag-co {background-position: -224px -22px} .flag.flag-cr {background-position: -240px -22px} .flag.flag-cu {background-position: 0 -33px} .flag.flag-cv {background-position: -16px -33px} .flag.flag-cw {background-position: -32px -33px} .flag.flag-cy {background-position: -48px -33px} .flag.flag-cz {background-position: -64px -33px} .flag.flag-de {background-position: -80px -33px} .flag.flag-dj {background-position: -96px -33px} .flag.flag-dk {background-position: -112px -33px} .flag.flag-dm {background-position: -128px -33px} .flag.flag-do {background-position: -144px -33px} .flag.flag-dz {background-position: -160px -33px} .flag.flag-ec {background-position: -176px -33px} .flag.flag-ee {background-position: -192px -33px} .flag.flag-eg {background-position: -208px -33px} .flag.flag-eh {background-position: -224px -33px} .flag.flag-england {background-position: -240px -33px} .flag.flag-er {background-position: 0 -44px} .flag.flag-es {background-position: -16px -44px} .flag.flag-et {background-position: -32px -44px} .flag.flag-eu {background-position: -48px -44px} .flag.flag-ea {background-position: -48px -44px} .flag.flag-emu {background-position: -48px -44px} .flag.flag-fi {background-position: -64px -44px} .flag.flag-fj {background-position: -80px -44px} .flag.flag-fk {background-position: -96px -44px} .flag.flag-fm {background-position: -112px -44px} .flag.flag-fo {background-position: -128px -44px} .flag.flag-fr {background-position: -144px -44px} .flag.flag-ga {background-position: -160px -44px} .flag.flag-gb {background-position: -176px -44px} .flag.flag-gd {background-position: -192px -44px} .flag.flag-ge {background-position: -208px -44px} .flag.flag-gf {background-position: -224px -44px} .flag.flag-gg {background-position: -240px -44px} .flag.flag-gh {background-position: 0 -55px} .flag.flag-gi {background-position: -16px -55px} .flag.flag-gl {background-position: -32px -55px} .flag.flag-gm {background-position: -48px -55px} .flag.flag-gn {background-position: -64px -55px} .flag.flag-gp {background-position: -80px -55px} .flag.flag-gq {background-position: -96px -55px} .flag.flag-gr {background-position: -112px -55px} .flag.flag-gs {background-position: -128px -55px} .flag.flag-gt {background-position: -144px -55px} .flag.flag-gu {background-position: -160px -55px} .flag.flag-gw {background-position: -176px -55px} .flag.flag-gy {background-position: -192px -55px} .flag.flag-hk {background-position: -208px -55px} .flag.flag-hm {background-position: -224px -55px} .flag.flag-hn {background-position: -240px -55px} .flag.flag-hr {background-position: 0 -66px} .flag.flag-ht {background-position: -16px -66px} .flag.flag-hu {background-position: -32px -66px} .flag.flag-ic {background-position: -48px -66px} .flag.flag-id {background-position: -64px -66px} .flag.flag-ie {background-position: -80px -66px} .flag.flag-il {background-position: -96px -66px} .flag.flag-im {background-position: -112px -66px} .flag.flag-in {background-position: -128px -66px} .flag.flag-io {background-position: -144px -66px} .flag.flag-iq {background-position: -160px -66px} .flag.flag-ir {background-position: -176px -66px} .flag.flag-is {background-position: -192px -66px} .flag.flag-it {background-position: -208px -66px} .flag.flag-je {background-position: -224px -66px} .flag.flag-jm {background-position: -240px -66px} .flag.flag-jo {background-position: 0 -77px} .flag.flag-jp {background-position: -16px -77px} .flag.flag-ke {background-position: -32px -77px} .flag.flag-kg {background-position: -48px -77px} .flag.flag-kh {background-position: -64px -77px} .flag.flag-ki {background-position: -80px -77px} .flag.flag-km {background-position: -96px -77px} .flag.flag-kn {background-position: -112px -77px} .flag.flag-kp {background-position: -128px -77px} .flag.flag-kr {background-position: -144px -77px} .flag.flag-kurdistan {background-position: -160px -77px} .flag.flag-kw {background-position: -176px -77px} .flag.flag-ky {background-position: -192px -77px} .flag.flag-kz {background-position: -208px -77px} .flag.flag-la {background-position: -224px -77px} .flag.flag-lb {background-position: -240px -77px} .flag.flag-lc {background-position: 0 -88px} .flag.flag-li {background-position: -16px -88px} .flag.flag-lk {background-position: -32px -88px} .flag.flag-lr {background-position: -48px -88px} .flag.flag-ls {background-position: -64px -88px} .flag.flag-lt {background-position: -80px -88px} .flag.flag-lu {background-position: -96px -88px} .flag.flag-lv {background-position: -112px -88px} .flag.flag-ly {background-position: -128px -88px} .flag.flag-ma {background-position: -144px -88px} .flag.flag-mc {background-position: -160px -88px} .flag.flag-md {background-position: -176px -88px} .flag.flag-me {background-position: -192px -88px} .flag.flag-mg {background-position: -208px -88px} .flag.flag-mh {background-position: -224px -88px} .flag.flag-mk {background-position: -240px -88px} .flag.flag-ml {background-position: 0 -99px} .flag.flag-mm {background-position: -16px -99px} .flag.flag-mn {background-position: -32px -99px} .flag.flag-mo {background-position: -48px -99px} .flag.flag-mp {background-position: -64px -99px} .flag.flag-mq {background-position: -80px -99px} .flag.flag-mr {background-position: -96px -99px} .flag.flag-ms {background-position: -112px -99px} .flag.flag-mt {background-position: -128px -99px} .flag.flag-mu {background-position: -144px -99px} .flag.flag-mv {background-position: -160px -99px} .flag.flag-mw {background-position: -176px -99px} .flag.flag-mx {background-position: -192px -99px} .flag.flag-my {background-position: -208px -99px} .flag.flag-mz {background-position: -224px -99px} .flag.flag-na {background-position: -240px -99px} .flag.flag-nc {background-position: 0 -110px} .flag.flag-ne {background-position: -16px -110px} .flag.flag-nf {background-position: -32px -110px} .flag.flag-ng {background-position: -48px -110px} .flag.flag-ni {background-position: -64px -110px} .flag.flag-nl {background-position: -80px -110px} .flag.flag-no {background-position: -96px -110px} .flag.flag-np {background-position: -112px -110px} .flag.flag-nr {background-position: -128px -110px} .flag.flag-nu {background-position: -144px -110px} .flag.flag-nz {background-position: -160px -110px} .flag.flag-om {background-position: -176px -110px} .flag.flag-pa {background-position: -192px -110px} .flag.flag-pe {background-position: -208px -110px} .flag.flag-pf {background-position: -224px -110px} .flag.flag-pg {background-position: -240px -110px} .flag.flag-ph {background-position: 0 -121px} .flag.flag-pk {background-position: -16px -121px} .flag.flag-pl {background-position: -32px -121px} .flag.flag-pm {background-position: -48px -121px} .flag.flag-pn {background-position: -64px -121px} .flag.flag-pr {background-position: -80px -121px} .flag.flag-ps {background-position: -96px -121px} .flag.flag-pt {background-position: -112px -121px} .flag.flag-pw {background-position: -128px -121px} .flag.flag-py {background-position: -144px -121px} .flag.flag-qa {background-position: -160px -121px} .flag.flag-re {background-position: -176px -121px} .flag.flag-ro {background-position: -192px -121px} .flag.flag-rs {background-position: -208px -121px} .flag.flag-ru {background-position: -224px -121px} .flag.flag-rw {background-position: -240px -121px} .flag.flag-sa {background-position: 0 -132px} .flag.flag-sb {background-position: -16px -132px} .flag.flag-sc {background-position: -32px -132px} .flag.flag-scotland {background-position: -48px -132px} .flag.flag-sd {background-position: -64px -132px} .flag.flag-se {background-position: -80px -132px} .flag.flag-sg {background-position: -96px -132px} .flag.flag-sh {background-position: -112px -132px} .flag.flag-si {background-position: -128px -132px} .flag.flag-sk {background-position: -144px -132px} .flag.flag-sl {background-position: -160px -132px} .flag.flag-sm {background-position: -176px -132px} .flag.flag-sn {background-position: -192px -132px} .flag.flag-so {background-position: -208px -132px} .flag.flag-somaliland {background-position: -224px -132px} .flag.flag-sr {background-position: -240px -132px} .flag.flag-ss {background-position: 0 -143px} .flag.flag-st {background-position: -16px -143px} .flag.flag-sv {background-position: -32px -143px} .flag.flag-sx {background-position: -48px -143px} .flag.flag-sy {background-position: -64px -143px} .flag.flag-sz {background-position: -80px -143px} .flag.flag-tc {background-position: -96px -143px} .flag.flag-td {background-position: -112px -143px} .flag.flag-tf {background-position: -128px -143px} .flag.flag-tg {background-position: -144px -143px} .flag.flag-th {background-position: -160px -143px} .flag.flag-tj {background-position: -176px -143px} .flag.flag-tk {background-position: -192px -143px} .flag.flag-tl {background-position: -208px -143px} .flag.flag-tm {background-position: -224px -143px} .flag.flag-tn {background-position: -240px -143px} .flag.flag-to {background-position: 0 -154px} .flag.flag-tr {background-position: -16px -154px} .flag.flag-tt {background-position: -32px -154px} .flag.flag-tv {background-position: -48px -154px} .flag.flag-tw {background-position: -64px -154px} .flag.flag-tz {background-position: -80px -154px} .flag.flag-ua {background-position: -96px -154px} .flag.flag-ug {background-position: -112px -154px} .flag.flag-um {background-position: -128px -154px} .flag.flag-us {background-position: -144px -154px} .flag.flag-uy {background-position: -160px -154px} .flag.flag-uz {background-position: -176px -154px} .flag.flag-va {background-position: -192px -154px} .flag.flag-vc {background-position: -208px -154px} .flag.flag-ve {background-position: -224px -154px} .flag.flag-vg {background-position: -240px -154px} .flag.flag-vi {background-position: 0 -165px} .flag.flag-vn {background-position: -16px -165px} .flag.flag-vu {background-position: -32px -165px} .flag.flag-wales {background-position: -48px -165px} .flag.flag-wf {background-position: -64px -165px} .flag.flag-ws {background-position: -80px -165px} .flag.flag-ye {background-position: -96px -165px} .flag.flag-yt {background-position: -112px -165px} .flag.flag-za {background-position: -128px -165px} .flag.flag-zanzibar {background-position: -144px -165px} .flag.flag-zm {background-position: -160px -165px} .flag.flag-zw {background-position: -176px -165px} .flag.flag-xk {background-position: -192px -165px} </style> <style> .te-positive-better { font-weight: bold; color: green; } .te-positive-worst { font-weight: bold; color: darkorange } .te-negative-worst { font-weight: bold; color: darkred; } .te-negative-better{ font-weight: bold; color: red; } .te-name-3 { font-weight: bold; } .te-th { text-align: center } .te-td { text-align: center } .te-tr { /*white-space: nowrap;*/ } .te-tr-3 { background-color: #fafafa } .te-alert-bell { /*font-size: 0.8em;*/ color: #dedede; } .te-alert-clicker { cursor: pointer; } .align-right { text-align: right; } .table > tbody + tbody { border-top: none; } .te-earnings-pre { font-size: 10px; color: darkgoldenrod } .te-earnings-after { font-size: 10px; color: #333; } .glyphicon-star-empty { color: #ddd } .glyphicon-star-full { color: #808080; } body.dark-theme .glyphicon-star-empty { color: #000 } body.dark-theme .glyphicon-star-full { color: #ddd } .table > tbody > tr:nth-of-type(odd) { background-color: #fafafa; } .td-name { max-width: 200px; overflow: hidden; white-space: nowrap; } .te-session { /*font-size: 14px;*/ } .te-fiscal { /*font-size: 14px;*/ } .te-flag { vertical-align: middle !important; } .te-eps { max-width: 75px; } .te-revenue { max-width: 75px; } .te-date { font-weight: bold; } .table-header { } .te-td-split { border-left: solid 1px #ddd; } .te-th-split { border-left: solid 1px #ddd; } .te-date-split { border-top: solid 3px #ddd; } .table-header { border-top: 1px solid #ddd; } .btn-group-vertical>.btn, .btn-group>.btn{ position: relative; flex: 0 0 auto; } /* .dropdown-item { border-top: none; padding-top: 5px; padding-bottom: 5px } .dropdown-item:hover { background-color: #ddd } .dropdown-item > a { text-decoration: none }*/ /* .te-th-eps { background-color: #337ab7; color: #fff; } .te-th-revenues { background-color: #5cb85c; color: #fff; } .te-th-date{ text-align: left; background-color: #5bc0de; color: #fff; } .te-th-other{ background-color: #dc3545; color: #fff; }*/ </style> <script> console.log("/controls/earningsuc") var COUNTRIES_COOKIE_NAME = "earn-countries"; var RANGE_COOKIE_NAME = "earn-range"; var IMPORTANCE_COOKIE_NAME = "earn-importance"; var CUSTOM_RANGE_COOKIE_NAME = "te-custom-range-importance"; var selected_countries = ['arg','aus','bra','can','che','chn','eun','fra','deu','ind','ita','jpn','mex','sau','zaf','kor','esp','tur','gbr','usa']; var WORLD_ISOS = ['afg','alb','aut','cyp','nga','ukr','hun','dza','asm','and','ago','aia','atg','arg','arm','abw','aus','aze','bhs','bgd','brb','blr','bel','blz','ben','bmu','btn','bol','bih','bwa','bra','brn','bfa','bdi','khm','cmr','can','cpv','cym','caf','tcd','chi','chl','chn','cxr','ccc','com','cod','cok','cri','null','cub','dnk','dji','dma','dom','eap','tls','ecu','egy','slv','gnq','eri','eth','eca','eun','flk','fro','fji','fin','null','fra','pyf','gab','gmb','geo','deu','gha','gib','grc','grl','grd','gum','gtm','gin','gnb','guy','hti','hpc','hic','noc','oec','hnd','hkg','isl','ind','idn','irn','irq','irl','imy','isr','ita','civ','jam','jpn','kaz','ken','kir','unk','kgz','lao','lac','lva','ldc','lbn','lso','lbr','lby','lie','lmy','lic','lmc','lux','mkd','mdg','mwi','mys','mdv','mli','mhl','mrt','myt','mex','fsm','mna','mic','mda','mco','mng','mne','msr','moz','mmr','nam','npl','nld','ant','ncl','nzl','nic','ner','nfk','prk','mnp','nor','oth','pak','plw','pse','png','pry','per','phl','pcn','pol','prt','null','cog','reu','rou','rus','rwa','wsm','smr','stp','sau','sen','srb','syc','sle','sgp','svk','slb','som','zaf','sas','kor','ssd','esp','shn','kna','lca','spm','vct','ssa','sdn','sur','swz','swe','che','syr','twn','tjk','tza','tha','tgo','tkl','ton','tto','tun','tur','tkm','tuv','uga','are','gbr','usa','umc','ury','uzb','vut','vnm','vir','wlf','wbg','wld','yem','zmb','zwe']; var G20_ISOS = ['arg','aus','bra','can','che','chn','eun','fra','deu','ind','ita','jpn','mex','sau','zaf','kor','esp','tur','gbr','usa']; var AFRICA_ISOS = ['dza','ago','ben','bwa','bfa','bdi','cmr','cpv','caf','tcd','com','cod','dji','egy','gnq','eri','eth','gab','gmb','gha','gin','gnb','civ','ken','lso','lbr','lby','mdg','mwi','mli','mrt','myt','moz','nam','ner','cog','reu','rwa','stp','sen','syc','sle','som','zaf','ssd','shn','sdn','swz','tza','tgo','tun','uga','zmb','zwe']; var AMERICA_ISOS = ['aia','atg','arg','abw','bhs','brb','blz','bmu','bol','bra','can','cym','chl','cri','cub','dma','dom','ecu','slv','flk','grl','grd','gtm','guy','hti','hnd','jam','mex','msr','ant','nic','pry','per','kna','lca','spm','vct','sur','tto','usa','ury','vir']; var ASIA_ISOS = ['afg','arm','aze','bgd','btn','brn','khm','chn','cxr','tls','geo','hkg','ind','idn','irn','irq','isr','jpn','kaz','kgz','lao','lbn','mys','mdv','mng','mmr','npl','prk','mnp','pak','pse','phl','sau','sgp','kor','syr','twn','tjk','tha','tkm','are','uzb','vnm','wbg','yem']; var EUROPE_ISOS = ['alb','and','blr','bel','bih','chi','dnk','eun','fro','fin','fra','deu','gib','grc','isl','irl','imy','ita','unk','lva','lie','lux','mkd','mda','mco','mne','nld','nor','pol','prt','rou','rus','smr','srb','svk','esp','swe','che','tur','gbr']; var GLOBALS = ['world', 'g20', 'africa', 'america', 'asia', 'europe']; </script> <div id="UpdatePanel1"> <table style="width: 100%"> <tr class="d-flex justify-content-between"> <td> <div class="btn-group"> <button type="button" class="btn btn-outline-secondary" onclick="toggleMainCountrySelection();"><i class="bi bi-globe"></i><span class="d-none d-lg-inline ">&nbsp;Countries&nbsp;<span class="dropdown-toggle"></span></span></button> <div class="btn-group"> <button type="button" class="btn btn-outline-secondary" onclick="toggleMainCountrySelection('off');" data-bs-toggle="dropdown"> <i class="bi bi-calendar3"></i>&nbsp;Recent&nbsp;<span class="dropdown-toggle"></span> </button> <ul class="dropdown-menu"> <li class="dropdown-item te-c-option"> <a noref onclick="setCalendarRange('0')"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> Recent </a> </li> <li class="dropdown-item te-c-option "> <a noref onclick="setCalendarRange('1')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> Today </a> </li> <li class="dropdown-item te-c-option "> <a noref onclick="setCalendarRange('2')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> Tomorrow </a> </li> <li class="dropdown-item te-c-option "> <a noref onclick="setCalendarRange('3')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> This Week </a> </li> <li class="dropdown-item te-c-option "> <a noref onclick="setCalendarRange('4')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> Next Week </a> </li> <li class="dropdown-item te-c-option "> <a noref onclick="setCalendarRange('5')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> This Month </a> </li> <li class="dropdown-item te-c-option "> <a noref onclick="setCalendarRange('6')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> Next Month </a> </li> <li class="dropdown-divider"></li> <li class="dropdown-item te-c-option"> <a noref onclick="setCalendarRange('-1')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> Yesterday </a> </li> <li class="dropdown-item te-c-option "> <a noref onclick="setCalendarRange('-2')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> Previous Week </a> </li> <li class="dropdown-item te-c-option"> <a noref onclick="setCalendarRange('-3')"> <input type="checkbox" class="form-check-input" autocomplete="off" /> Previous Month </a> </li> <li class="dropdown-divider"></li> <li class="dropdown-item te-c-option"> <a noref data-bs-toggle="collapse" data-bs-target="#datesDiv"> <i class="bi bi-pencil"></i>&nbsp;Custom </a> </li> </ul> </div> <div class="btn-group"> <button id="ctl00_ContentPlaceHolder1_ctl00_Button1" type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" onclick="toggleMainCountrySelection(&#39;off&#39;);"> <i class='bi bi-star-fill'></i> &nbsp;<span class="d-none d-md-inline">Impact&nbsp;</span><span class="caret d-none d-md-inline"></span> </button> <ul class="dropdown-menu" style="min-width: 97px !important"> <li class="dropdown-item"> <a noref onclick="setCalendarImportance('0');" style="width: auto; display: inline-block;"> <i class="bi bi-star-fill glyphicon-star-empty"></i> <i class="bi bi-star-fill glyphicon-star-empty"></i> <i class="bi bi-star-fill glyphicon-star-empty"></i> </a> </li> <li class="dropdown-item"> <a noref onclick="setCalendarImportance('1');" style="width: auto; display: inline-block;"> <i class="bi bi-star-fill glyphicon-star-full"></i> <i class="bi bi-star-fill glyphicon-star-empty"></i> <i class="bi bi-star-fill glyphicon-star-empty"></i> </a> </li> <li class="dropdown-item"> <a noref onclick="setCalendarImportance('2');" style="width: auto; display: inline-block;"> <i class="bi bi-star-fill glyphicon-star-full"></i> <i class="bi bi-star-fill glyphicon-star-full"></i> <i class="bi bi-star-fill glyphicon-star-empty"></i> </a> </li> <li class="dropdown-item"> <a noref onclick="setCalendarImportance('3');" style="width: auto; display: inline-block;"> <i class="bi bi-star-fill glyphicon-star-full"></i> <i class="bi bi-star-fill glyphicon-star-full"></i> <i class="bi bi-star-fill glyphicon-star-full"></i> </a> </li> </ul> </div> </div> </td> <!--<td>&nbsp; <div class="btn-group float-end pull-down hidden-xs calendar-download"> </div> </td>--> <td> <div class="btn-group d-none d-md-block"> <a id="ctl00_ContentPlaceHolder1_ctl00_HyperLinkToDownload" class="btn btn-info" href="https://tradingeconomics.com/analytics/features.aspx?source=earnings" target="_blank" style="text-decoration:none;"><i class="bi bi-download"></i>&nbsp;Export</a> <a id="ctl00_ContentPlaceHolder1_ctl00_HyperLinkToAPI" class="btn btn-success" href="https://tradingeconomics.com/api/?source=earnings" target="_blank" style="text-decoration:none;"><i class="bi bi-grid-fill"></i>&nbsp;API</a> </div> </td> </tr> </table> <div id="datesDiv" class="collapse"> <br /> <div class="input-group"> <span class="input-group-text d-none d-md-block">From</span> <input type="text" id="startDate" class="form-control" value="2024-11-23 14:56" /> <span class="input-group-text d-none d-md-block">Until</span> <input type="text" id="endDate" class="form-control" value="2024-12-01 14:56" /> <span class="input-group-btn"> <button class="btn btn-success" onclick="setCustomDates(event);">Submit</button> </span> </div> </div> <div id="te-c-loading" class="d-none"> <img alt="Chart is Loading" src="https://d3fy651gv2fhd3.cloudfront.net/images/progress-wheel.gif" /> </div> <span id="te-c-main-countries" class="d-none small"> <br /> <div class="table-responsive" style="margin-bottom: 0px;"> <div class="btn-group d-flex flex-wrap" style="padding: 10px; z-index: 2;"> <span class="btn btn-outline-secondary te-c-option-world " onclick="calendarSelecting(this, event, 'World', true);"> <a noref target="_self">All</a> </span> <span class="btn btn-outline-secondary te-c-option-g20 " onclick="calendarSelecting(this, event, 'G20', true);"> <a noref target="_self">Major</a> </span> <span class="btn btn-outline-secondary te-c-option-africa " onclick="calendarSelecting(this, event, 'Africa', true);"> <a noref target="_self">Africa</a> </span> <span class="btn btn-outline-secondary te-c-option-america " onclick="calendarSelecting(this, event, 'America', true);"> <a noref target="_self">America</a> </span> <span class="btn btn-outline-secondary te-c-option-asia " onclick="calendarSelecting(this, event, 'Asia', true);"> <a noref target="_self">Asia</a> </span> <span class="btn btn-outline-secondary te-c-option-europe " onclick="calendarSelecting(this, event, 'Europe', true);"> <a noref target="_self">Europe</a> </span> </div> <div class="btn-group" style="padding: 10px; z-index: 2;"> <div class="btn-group"> <a noref class="btn btn-outline-secondary te-c-option" onclick="clearSelection();" style="text-decoration: none;">Clear</a> </div> <div class="btn-group d-none d-md-block"> <a noref class="btn btn-outline-secondary te-c-option" onclick="toggleMainCountrySelection();" style="text-decoration: none;">Close</a> </div> <div class="btn-group"> <a noref class="btn btn-success te-c-option" onclick="saveSelectionAndGO();" style="text-decoration: none;"><i class="bi bi-save2-fill"></i>&nbsp;Save</a> </div> </div> <div id="te-c-all" class="row" > <ul class="list-unstyled col-md-3 col-6"> <li class="te-c-option te-c-option-arg" onclick="calendarSelecting(this, event, 'ARG');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Argentina</a> </li> <li class="te-c-option te-c-option-aus" onclick="calendarSelecting(this, event, 'AUS');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Australia</a> </li> <li class="te-c-option te-c-option-aut" onclick="calendarSelecting(this, event, 'AUT');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Austria</a> </li> <li class="te-c-option te-c-option-bel" onclick="calendarSelecting(this, event, 'BEL');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Belgium</a> </li> <li class="te-c-option te-c-option-bmu" onclick="calendarSelecting(this, event, 'BMU');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Bermuda</a> </li> <li class="te-c-option te-c-option-bra" onclick="calendarSelecting(this, event, 'BRA');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Brazil</a> </li> <li class="te-c-option te-c-option-can" onclick="calendarSelecting(this, event, 'CAN');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Canada</a> </li> <li class="te-c-option te-c-option-chn" onclick="calendarSelecting(this, event, 'CHN');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>China</a> </li> <li class="te-c-option te-c-option-cyp" onclick="calendarSelecting(this, event, 'CYP');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Cyprus</a> </li> <li class="te-c-option te-c-option-dnk" onclick="calendarSelecting(this, event, 'DNK');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Denmark</a> </li> <li class="te-c-option te-c-option-fin" onclick="calendarSelecting(this, event, 'FIN');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Finland</a> </li> <li class="te-c-option te-c-option-fra" onclick="calendarSelecting(this, event, 'FRA');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>France</a> </li> <li class="te-c-option te-c-option-deu" onclick="calendarSelecting(this, event, 'DEU');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Germany</a> </li> </ul> <ul class="list-unstyled col-md-3 col-6"> <li class="te-c-option te-c-option-grc" onclick="calendarSelecting(this, event, 'GRC');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Greece</a> </li> <li class="te-c-option te-c-option-hkg" onclick="calendarSelecting(this, event, 'HKG');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Hong Kong</a> </li> <li class="te-c-option te-c-option-hun" onclick="calendarSelecting(this, event, 'HUN');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Hungary</a> </li> <li class="te-c-option te-c-option-ind" onclick="calendarSelecting(this, event, 'IND');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>India</a> </li> <li class="te-c-option te-c-option-idn" onclick="calendarSelecting(this, event, 'IDN');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Indonesia</a> </li> <li class="te-c-option te-c-option-irl" onclick="calendarSelecting(this, event, 'IRL');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Ireland</a> </li> <li class="te-c-option te-c-option-isr" onclick="calendarSelecting(this, event, 'ISR');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Israel</a> </li> <li class="te-c-option te-c-option-ita" onclick="calendarSelecting(this, event, 'ITA');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Italy</a> </li> <li class="te-c-option te-c-option-jpn" onclick="calendarSelecting(this, event, 'JPN');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Japan</a> </li> <li class="te-c-option te-c-option-lux" onclick="calendarSelecting(this, event, 'LUX');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Luxembourg</a> </li> <li class="te-c-option te-c-option-mys" onclick="calendarSelecting(this, event, 'MYS');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Malaysia</a> </li> <li class="te-c-option te-c-option-mex" onclick="calendarSelecting(this, event, 'MEX');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Mexico</a> </li> <li class="te-c-option te-c-option-mco" onclick="calendarSelecting(this, event, 'MCO');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Monaco</a> </li> </ul> <ul class="list-unstyled col-md-3 col-6"> <li class="te-c-option te-c-option-nld" onclick="calendarSelecting(this, event, 'NLD');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Netherlands</a> </li> <li class="te-c-option te-c-option-nzl" onclick="calendarSelecting(this, event, 'NZL');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>New Zealand</a> </li> <li class="te-c-option te-c-option-nga" onclick="calendarSelecting(this, event, 'NGA');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Nigeria</a> </li> <li class="te-c-option te-c-option-nor" onclick="calendarSelecting(this, event, 'NOR');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Norway</a> </li> <li class="te-c-option te-c-option-per" onclick="calendarSelecting(this, event, 'PER');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Peru</a> </li> <li class="te-c-option te-c-option-phl" onclick="calendarSelecting(this, event, 'PHL');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Philippines</a> </li> <li class="te-c-option te-c-option-pol" onclick="calendarSelecting(this, event, 'POL');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Poland</a> </li> <li class="te-c-option te-c-option-prt" onclick="calendarSelecting(this, event, 'PRT');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Portugal</a> </li> <li class="te-c-option te-c-option-rou" onclick="calendarSelecting(this, event, 'ROU');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Romania</a> </li> <li class="te-c-option te-c-option-rus" onclick="calendarSelecting(this, event, 'RUS');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Russia</a> </li> <li class="te-c-option te-c-option-sgp" onclick="calendarSelecting(this, event, 'SGP');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Singapore</a> </li> <li class="te-c-option te-c-option-zaf" onclick="calendarSelecting(this, event, 'ZAF');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>South Africa</a> </li> <li class="te-c-option te-c-option-kor" onclick="calendarSelecting(this, event, 'KOR');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>South Korea</a> </li> </ul> <ul class="list-unstyled col-md-3 col-6"> <li class="te-c-option te-c-option-esp" onclick="calendarSelecting(this, event, 'ESP');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Spain</a> </li> <li class="te-c-option te-c-option-swe" onclick="calendarSelecting(this, event, 'SWE');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Sweden</a> </li> <li class="te-c-option te-c-option-che" onclick="calendarSelecting(this, event, 'CHE');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Switzerland</a> </li> <li class="te-c-option te-c-option-twn" onclick="calendarSelecting(this, event, 'TWN');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Taiwan</a> </li> <li class="te-c-option te-c-option-tha" onclick="calendarSelecting(this, event, 'THA');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Thailand</a> </li> <li class="te-c-option te-c-option-tur" onclick="calendarSelecting(this, event, 'TUR');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>Turkey</a> </li> <li class="te-c-option te-c-option-ukr" onclick="calendarSelecting(this, event, 'UKR');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>Ukraine</a> </li> <li class="te-c-option te-c-option-are" onclick="calendarSelecting(this, event, 'ARE');"> <input type="checkbox" class="form-check-input" autocomplete="off" /> <a noref>United Arab Emirates</a> </li> <li class="te-c-option te-c-option-gbr" onclick="calendarSelecting(this, event, 'GBR');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>United Kingdom</a> </li> <li class="te-c-option te-c-option-usa" onclick="calendarSelecting(this, event, 'USA');"> <input type="checkbox" class="form-check-input" checked autocomplete="off" /> <a noref>United States</a> </li> </ul> </div> </div> </span> <br /> <!-- FIXED DOWNLOAD HEADER --> <div class="table-responsive card"> <table id="calendar" class="table table-hover table-condensed table-stripped"> <tbody> <thead id="ctl00_ContentPlaceHolder1_ctl00_Repeater1_ctl01_th1" class="table-header"> <tr> <td colspan="2" class='te-th-date'> <div class='te-date'> Monday Nov 25</div> </td> <td class='te-th te-th-eps'>EPS</td> <td class='te-th te-th-eps'> Consensus</td> <td class='te-th te-th-eps'>Previous</td> <td class='te-th te-th-revenues te-th-split'>Revenue</td> <td class='te-th te-th-revenues'>Consensus</td> <td class='te-th te-th-revenues'>Previous</td> <td class='te-th te-th-other te-th-split'>MarketCap</td> <td class='te-th te-th-other'>Fiscal</td> <td class='te-th te-th-other'>Time</td> <td class='te-th te-th-other'></td> <!--<td class='te-th te-th-other'><i class='bi bi-star-fill glyphicon-star-empty' title="Importance"></i></td>--> <td class='te-th-other'></td> </tr> </thead> <tr class="te-tr te-tr-3" data-url="gmexicob:mm:eps" data-iso2="MX" data-country="mexico" data-symbol='GMEXICOB:MM'> <td class='te-flag'> <div class='flag flag-mx' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/gmexicob:mm' class='te-name te-name-3'>Grupo Mexico </a> <span style="color: #808080; font-size: 11px;">GMEXICOB:MM </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/gmexicob:mm:eps' class=''></a> </td> <td class='te-td te-eps'>0.12</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/gmexicob:mm:eps'>0.09</a> </td> <td class='te-td te-revenue te-td-split'> <span></span> </td> <td class='te-td te-revenue'></td> <td class='te-td te-revenue'> </td> <td class='te-td te-td-split'>$39.61B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='GMEXICOB:MM' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-3" data-url="a:us:eps" data-iso2="US" data-country="united states" data-symbol='A:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/a:us' class='te-name te-name-3'>Agilent </a> <span style="color: #808080; font-size: 11px;">A:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/a:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.41</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/a:us:eps'>1.38</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/a:us:sales'></a> </td> <td class='te-td te-revenue'>1.67B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/a:us:sales'>1.69B</a> </td> <td class='te-td te-td-split'>$38.65B</td> <td class='te-td'><span class="te-fiscal">Q4</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='A:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="zm:us:eps" data-iso2="US" data-country="united states" data-symbol='ZM:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/zm:us' class='te-name te-name-2'>Zoom </a> <span style="color: #808080; font-size: 11px;">ZM:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/zm:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.31</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/zm:us:eps'>1.29</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/zm:us:sales'></a> </td> <td class='te-td te-revenue'>1.16B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/zm:us:sales'>1.14B</a> </td> <td class='te-td te-td-split'>$25.84B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='ZM:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="gfinburo:mm:eps" data-iso2="MX" data-country="mexico" data-symbol='GFINBURO:MM'> <td class='te-flag'> <div class='flag flag-mx' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/gfinburo:mm' class='te-name te-name-2'>Inbursa </a> <span style="color: #808080; font-size: 11px;">GFINBURO:MM </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/gfinburo:mm:eps' class=''></a> </td> <td class='te-td te-eps'>1.60</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/gfinburo:mm:eps'>1.13</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/gfinburo:mm:sales'></a> </td> <td class='te-td te-revenue'>16.14B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/gfinburo:mm:sales'>23.32B</a> </td> <td class='te-td te-td-split'>$13.5B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='GFINBURO:MM' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="wwd:us:eps" data-iso2="US" data-country="united states" data-symbol='WWD:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/wwd:us' class='te-name te-name-2'>Woodward </a> <span style="color: #808080; font-size: 11px;">WWD:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/wwd:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.26</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/wwd:us:eps'>0.84</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/wwd:us:sales'></a> </td> <td class='te-td te-revenue'>810.57M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/wwd:us:sales'>777M</a> </td> <td class='te-td te-td-split'>$10.44B</td> <td class='te-td'><span class="te-fiscal">Q4</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='WWD:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="bbwi:us:eps" data-iso2="US" data-country="united states" data-symbol='BBWI:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/bbwi:us' class='te-name te-name-1'>Bath And Body Works </a> <span style="color: #808080; font-size: 11px;">BBWI:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/bbwi:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.47</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/bbwi:us:eps'>0.48</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/bbwi:us:sales'></a> </td> <td class='te-td te-revenue'>1.58B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/bbwi:us:sales'>1.56B</a> </td> <td class='te-td te-td-split'>$6.93B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='BBWI:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="151:hk:eps" data-iso2="CN" data-country="china" data-symbol='151:HK'> <td class='te-flag'> <div class='flag flag-cn' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/151:hk' class='te-name te-name-1'>Want Want China</a> <span style="color: #808080; font-size: 11px;">151:HK</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/151:hk:eps' class=''></a> </td> <td class='te-td te-eps'>0.15</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/151:hk:eps'>0.146</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/151:hk:sales'></a> </td> <td class='te-td te-revenue'>11.44B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/151:hk:sales'>11.3B</a> </td> <td class='te-td te-td-split'>$6.9B</td> <td class='te-td'><span class="te-fiscal">H1</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='151:HK' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="njr:us:eps" data-iso2="US" data-country="united states" data-symbol='NJR:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/njr:us' class='te-name te-name-1'>New Jersey Resources </a> <span style="color: #808080; font-size: 11px;">NJR:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/njr:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.88</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/njr:us:eps'>0.30</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/njr:us:sales'></a> </td> <td class='te-td te-revenue'>406.97M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/njr:us:sales'>331.3M</a> </td> <td class='te-td te-td-split'>$4.96B</td> <td class='te-td'><span class="te-fiscal">Q4</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='NJR:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="smtc:us:eps" data-iso2="US" data-country="united states" data-symbol='SMTC:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/smtc:us' class='te-name te-name-1'>Semtech </a> <span style="color: #808080; font-size: 11px;">SMTC:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/smtc:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.23</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/smtc:us:eps'>0.02</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/smtc:us:sales'></a> </td> <td class='te-td te-revenue'>232.89M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/smtc:us:sales'>200.9M</a> </td> <td class='te-td te-td-split'>$3.32B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='SMTC:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="col:sm:eps" data-iso2="ES" data-country="spain" data-symbol='COL:SM'> <td class='te-flag'> <div class='flag flag-es' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/col:sm' class='te-name te-name-1'>Inmobiliaria</a> <span style="color: #808080; font-size: 11px;">COL:SM</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/col:sm:eps' class=''></a> </td> <td class='te-td te-eps'>0.07</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/col:sm:eps'>0.086</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/col:sm:sales'></a> </td> <td class='te-td te-revenue'>96.68M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/col:sm:sales'>96M</a> </td> <td class='te-td te-td-split'>$3.05B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='COL:SM' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="centa:us:eps" data-iso2="US" data-country="united states" data-symbol='CENTA:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/centa:us' class='te-name te-name-1'>Central Garden Pet </a> <span style="color: #808080; font-size: 11px;">CENTA:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/centa:us:eps' class=''></a> </td> <td class='te-td te-eps'>-0.22</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/centa:us:eps'>0.10</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/centa:us:sales'></a> </td> <td class='te-td te-revenue'>707.83M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/centa:us:sales'>750.15M</a> </td> <td class='te-td te-td-split'>$1.8B</td> <td class='te-td'><span class="te-fiscal">Q4</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='CENTA:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="uvv:us:eps" data-iso2="US" data-country="united states" data-symbol='UVV:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/uvv:us' class='te-name te-name-1'>Universal Corporation </a> <span style="color: #808080; font-size: 11px;">UVV:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/uvv:us:eps' class=''></a> </td> <td class='te-td te-eps'></td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/uvv:us:eps'>1.12</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/uvv:us:sales'></a> </td> <td class='te-td te-revenue'></td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/uvv:us:sales'>638.48K</a> </td> <td class='te-td te-td-split'>$1.39B</td> <td class='te-td'><span class="te-fiscal">Q2</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='UVV:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="phm:sm:eps" data-iso2="ES" data-country="spain" data-symbol='PHM:SM'> <td class='te-flag'> <div class='flag flag-es' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/phm:sm' class='te-name te-name-1'>Pharma Mar </a> <span style="color: #808080; font-size: 11px;">PHM:SM </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/phm:sm:eps' class=''></a> </td> <td class='te-td te-eps'>-0.09</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/phm:sm:eps'>0.08</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/phm:sm:sales'></a> </td> <td class='te-td te-revenue'>45.7M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/phm:sm:sales'>37.45M</a> </td> <td class='te-td te-td-split'>$1.34B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='PHM:SM' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="exai:us:eps" data-iso2="GB" data-country="united kingdom" data-symbol='EXAi:US'> <td class='te-flag'> <div class='flag flag-gb' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/exai:us' class='te-name te-name-1'>Exscientia Plc</a> <span style="color: #808080; font-size: 11px;">EXAi:US</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/exai:us:eps' class=''></a> </td> <td class='te-td te-eps'>-0.21</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/exai:us:eps'>-0.31</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/exai:us:sales'></a> </td> <td class='te-td te-revenue'>33.01M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/exai:us:sales'>10.8M</a> </td> <td class='te-td te-td-split'>$630.77M</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='EXAi:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <thead id="ctl00_ContentPlaceHolder1_ctl00_Repeater1_ctl15_th1" class="table-header"> <tr class='te-date-split'> <td colspan="2" class='te-th-date'> <div class='te-date'> Tuesday Nov 26</div> </td> <td class='te-th te-th-eps'>EPS</td> <td class='te-th te-th-eps'> Consensus</td> <td class='te-th te-th-eps'>Previous</td> <td class='te-th te-th-revenues te-th-split'>Revenue</td> <td class='te-th te-th-revenues'>Consensus</td> <td class='te-th te-th-revenues'>Previous</td> <td class='te-th te-th-other te-th-split'>MarketCap</td> <td class='te-th te-th-other'>Fiscal</td> <td class='te-th te-th-other'>Time</td> <td class='te-th te-th-other'></td> <!--<td class='te-th te-th-other'><i class='bi bi-star-fill glyphicon-star-empty' title="Importance"></i></td>--> <td class='te-th-other'></td> </tr> </thead> <tr class="te-tr te-tr-3" data-url="adi:us:eps" data-iso2="US" data-country="united states" data-symbol='ADI:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/adi:us' class='te-name te-name-3'>Analog Devices </a> <span style="color: #808080; font-size: 11px;">ADI:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/adi:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.64</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/adi:us:eps'>2.01</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/adi:us:sales'></a> </td> <td class='te-td te-revenue'>2.4B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/adi:us:sales'>2.72B</a> </td> <td class='te-td te-td-split'>$106.21B</td> <td class='te-td'><span class="te-fiscal">Q4</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='ADI:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-3" data-url="dell:us:eps" data-iso2="US" data-country="united states" data-symbol='DELL:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/dell:us' class='te-name te-name-3'>Dell Technologies </a> <span style="color: #808080; font-size: 11px;">DELL:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/dell:us:eps' class=''></a> </td> <td class='te-td te-eps'>2.07</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/dell:us:eps'>1.88</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/dell:us:sales'></a> </td> <td class='te-td te-revenue'>24.69B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/dell:us:sales'>22.3B</a> </td> <td class='te-td te-td-split'>$99.16B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='DELL:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-3" data-url="crwd:us:eps" data-iso2="US" data-country="united states" data-symbol='CRWD:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/crwd:us' class='te-name te-name-3'>CrowdStrike Holdings </a> <span style="color: #808080; font-size: 11px;">CRWD:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/crwd:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.81</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/crwd:us:eps'>0.82</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/crwd:us:sales'></a> </td> <td class='te-td te-revenue'>982.81M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/crwd:us:sales'>786M</a> </td> <td class='te-td te-td-split'>$87.52B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='CRWD:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-3" data-url="wday:us:eps" data-iso2="US" data-country="united states" data-symbol='WDAY:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/wday:us' class='te-name te-name-3'>Workday </a> <span style="color: #808080; font-size: 11px;">WDAY:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/wday:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.76</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/wday:us:eps'>1.53</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/wday:us:sales'></a> </td> <td class='te-td te-revenue'>2.13B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/wday:us:sales'>1.87B</a> </td> <td class='te-td te-td-split'>$70.62B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='WDAY:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-3" data-url="adsk:us:eps" data-iso2="US" data-country="united states" data-symbol='ADSK:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/adsk:us' class='te-name te-name-3'>Autodesk </a> <span style="color: #808080; font-size: 11px;">ADSK:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/adsk:us:eps' class=''></a> </td> <td class='te-td te-eps'>2.12</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/adsk:us:eps'>2.07</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/adsk:us:sales'></a> </td> <td class='te-td te-revenue'>1.56B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/adsk:us:sales'>1.41B</a> </td> <td class='te-td te-td-split'>$67.59B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='ADSK:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-3" data-url="hpq:us:eps" data-iso2="US" data-country="united states" data-symbol='HPQ:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/hpq:us' class='te-name te-name-3'>HP </a> <span style="color: #808080; font-size: 11px;">HPQ:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/hpq:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.93</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/hpq:us:eps'>0.90</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/hpq:us:sales'></a> </td> <td class='te-td te-revenue'>13.99B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/hpq:us:sales'>13.8B</a> </td> <td class='te-td te-td-split'>$37.48B</td> <td class='te-td'><span class="te-fiscal">Q4</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='HPQ:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="bby:us:eps" data-iso2="US" data-country="united states" data-symbol='BBY:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/bby:us' class='te-name te-name-2'>Best Buy </a> <span style="color: #808080; font-size: 11px;">BBY:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/bby:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.30</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/bby:us:eps'>1.29</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/bby:us:sales'></a> </td> <td class='te-td te-revenue'>9.64B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/bby:us:sales'>9.76B</a> </td> <td class='te-td te-td-split'>$19.19B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='BBY:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="burl:us:eps" data-iso2="US" data-country="united states" data-symbol='BURL:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/burl:us' class='te-name te-name-2'>Burlington Stores </a> <span style="color: #808080; font-size: 11px;">BURL:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/burl:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.54</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/burl:us:eps'>0.98</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/burl:us:sales'></a> </td> <td class='te-td te-revenue'>2.55B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/burl:us:sales'>2.29B</a> </td> <td class='te-td te-td-split'>$18.15B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='BURL:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="dks:us:eps" data-iso2="US" data-country="united states" data-symbol='DKS:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/dks:us' class='te-name te-name-2'>Dick's Sporting Goods </a> <span style="color: #808080; font-size: 11px;">DKS:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/dks:us:eps' class=''></a> </td> <td class='te-td te-eps'>2.67</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/dks:us:eps'>2.85</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/dks:us:sales'></a> </td> <td class='te-td te-revenue'>3.03B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/dks:us:sales'>3.04B</a> </td> <td class='te-td te-td-split'>$17.3B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='DKS:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="sjm:us:eps" data-iso2="US" data-country="united states" data-symbol='SJM:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/sjm:us' class='te-name te-name-2'>J.M. Smucker </a> <span style="color: #808080; font-size: 11px;">SJM:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/sjm:us:eps' class=''></a> </td> <td class='te-td te-eps'>2.50</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/sjm:us:eps'>2.59</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/sjm:us:sales'></a> </td> <td class='te-td te-revenue'>2.26B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/sjm:us:sales'>1.94B</a> </td> <td class='te-td te-td-split'>$12.08B</td> <td class='te-td'><span class="te-fiscal">Q2</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='SJM:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-2" data-url="htht:us:eps" data-iso2="CN" data-country="china" data-symbol='HTHT:US'> <td class='te-flag'> <div class='flag flag-cn' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/htht:us' class='te-name te-name-2'>Huazhu Limited </a> <span style="color: #808080; font-size: 11px;">HTHT:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/htht:us:eps' class=''></a> </td> <td class='te-td te-eps'>4.29</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/htht:us:eps'>4.23</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/htht:us:sales'></a> </td> <td class='te-td te-revenue'>6.53B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/htht:us:sales'>6.28B</a> </td> <td class='te-td te-td-split'>$11.45B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='HTHT:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="anf:us:eps" data-iso2="US" data-country="united states" data-symbol='ANF:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/anf:us' class='te-name te-name-1'>Abercrombie & Fitch </a> <span style="color: #808080; font-size: 11px;">ANF:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/anf:us:eps' class=''></a> </td> <td class='te-td te-eps'>2.38</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/anf:us:eps'>1.83</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/anf:us:sales'></a> </td> <td class='te-td te-revenue'>1.18B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/anf:us:sales'>1.1B</a> </td> <td class='te-td te-td-split'>$7.48B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='ANF:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="m:us:eps" data-iso2="US" data-country="united states" data-symbol='M:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/m:us' class='te-name te-name-1'>Macy's </a> <span style="color: #808080; font-size: 11px;">M:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/m:us:eps' class=''></a> </td> <td class='te-td te-eps'>-0.01</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/m:us:eps'>0.21</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/m:us:sales'></a> </td> <td class='te-td te-revenue'>4.74B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/m:us:sales'>5B</a> </td> <td class='te-td te-td-split'>$4.37B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='M:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="jwn:us:eps" data-iso2="US" data-country="united states" data-symbol='JWN:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/jwn:us' class='te-name te-name-1'>Nordstrom </a> <span style="color: #808080; font-size: 11px;">JWN:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/jwn:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.22</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/jwn:us:eps'>0.25</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/jwn:us:sales'></a> </td> <td class='te-td te-revenue'>3.33B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/jwn:us:sales'>3.3B</a> </td> <td class='te-td te-td-split'>$3.75B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='JWN:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="urbn:us:eps" data-iso2="US" data-country="united states" data-symbol='URBN:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/urbn:us' class='te-name te-name-1'>Urban Outfitters </a> <span style="color: #808080; font-size: 11px;">URBN:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/urbn:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.85</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/urbn:us:eps'>0.88</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/urbn:us:sales'></a> </td> <td class='te-td te-revenue'>1.34B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/urbn:us:sales'>1.28B</a> </td> <td class='te-td te-td-split'>$3.59B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='URBN:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="amba:us:eps" data-iso2="US" data-country="united states" data-symbol='AMBA:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/amba:us' class='te-name te-name-1'>Ambarella </a> <span style="color: #808080; font-size: 11px;">AMBA:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/amba:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.03</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/amba:us:eps'>-0.28</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/amba:us:sales'></a> </td> <td class='te-td te-revenue'>79.01M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/amba:us:sales'>50.6M</a> </td> <td class='te-td te-td-split'>$2.51B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='AMBA:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="arwr:us:eps" data-iso2="US" data-country="united states" data-symbol='ARWR:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/arwr:us' class='te-name te-name-1'>Arrowhead Research </a> <span style="color: #808080; font-size: 11px;">ARWR:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/arwr:us:eps' class=''></a> </td> <td class='te-td te-eps'>-0.97</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/arwr:us:eps'>-1.92</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/arwr:us:sales'></a> </td> <td class='te-td te-revenue'>55.07M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/arwr:us:sales'>240.73M</a> </td> <td class='te-td te-td-split'>$2.26B</td> <td class='te-td'><span class="te-fiscal">Q4</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='ARWR:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="kss:us:eps" data-iso2="US" data-country="united states" data-symbol='KSS:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/kss:us' class='te-name te-name-1'>Kohl's </a> <span style="color: #808080; font-size: 11px;">KSS:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/kss:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.31</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/kss:us:eps'>0.53</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/kss:us:sales'></a> </td> <td class='te-td te-revenue'>3.65B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/kss:us:sales'>3.84B</a> </td> <td class='te-td te-td-split'>$1.92B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='KSS:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="amwd:us:eps" data-iso2="US" data-country="united states" data-symbol='AMWD:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/amwd:us' class='te-name te-name-1'>American Woodmark </a> <span style="color: #808080; font-size: 11px;">AMWD:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/amwd:us:eps' class=''></a> </td> <td class='te-td te-eps'>2.37</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/amwd:us:eps'>2.36</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/amwd:us:sales'></a> </td> <td class='te-td te-revenue'>458.29M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/amwd:us:sales'>473.9M</a> </td> <td class='te-td te-td-split'>$1.5B</td> <td class='te-td'><span class="te-fiscal">Q2</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='AMWD:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="ges:us:eps" data-iso2="US" data-country="united states" data-symbol='GES:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/ges:us' class='te-name te-name-1'>Guess </a> <span style="color: #808080; font-size: 11px;">GES:US </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/ges:us:eps' class=''></a> </td> <td class='te-td te-eps'>0.37</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/ges:us:eps'>0.49</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/ges:us:sales'></a> </td> <td class='te-td te-revenue'>748.22M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/ges:us:sales'>651.2M</a> </td> <td class='te-td te-td-split'>$914M</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">PM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='GES:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <thead id="ctl00_ContentPlaceHolder1_ctl00_Repeater1_ctl35_th1" class="table-header"> <tr class='te-date-split'> <td colspan="2" class='te-th-date'> <div class='te-date'> Wednesday Nov 27</div> </td> <td class='te-th te-th-eps'>EPS</td> <td class='te-th te-th-eps'> Consensus</td> <td class='te-th te-th-eps'>Previous</td> <td class='te-th te-th-revenues te-th-split'>Revenue</td> <td class='te-th te-th-revenues'>Consensus</td> <td class='te-th te-th-revenues'>Previous</td> <td class='te-th te-th-other te-th-split'>MarketCap</td> <td class='te-th te-th-other'>Fiscal</td> <td class='te-th te-th-other'>Time</td> <td class='te-th te-th-other'></td> <!--<td class='te-th te-th-other'><i class='bi bi-star-fill glyphicon-star-empty' title="Importance"></i></td>--> <td class='te-th-other'></td> </tr> </thead> <tr class="te-tr te-tr-2" data-url="npn:sj:eps" data-iso2="ZA" data-country="south africa" data-symbol='NPN:SJ'> <td class='te-flag'> <div class='flag flag-za' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/npn:sj' class='te-name te-name-2'>Naspers</a> <span style="color: #808080; font-size: 11px;">NPN:SJ</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/npn:sj:eps' class=''></a> </td> <td class='te-td te-eps'></td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/npn:sj:eps'></a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/npn:sj:sales'></a> </td> <td class='te-td te-revenue'></td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/npn:sj:sales'></a> </td> <td class='te-td te-td-split'>$41.78B</td> <td class='te-td'><span class="te-fiscal">H1</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' title='Medium Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='NPN:SJ' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="gehc:us:eps" data-iso2="US" data-country="united states" data-symbol='GEHC:US'> <td class='te-flag'> <div class='flag flag-us' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/gehc:us' class='te-name te-name-1'>GE HealthCare Technologies </a> <span style="color: #808080; font-size: 11px;">GEHC:US</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/gehc:us:eps' class=''></a> </td> <td class='te-td te-eps'>1.05</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/gehc:us:eps'>0.99</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/gehc:us:sales'></a> </td> <td class='te-td te-revenue'>5.07B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/gehc:us:sales'>4.8B</a> </td> <td class='te-td te-td-split'>$36.81B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='GEHC:US' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="ezj:ln:eps" data-iso2="GB" data-country="united kingdom" data-symbol='EZJ:LN'> <td class='te-flag'> <div class='flag flag-gb' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/ezj:ln' class='te-name te-name-1'>Easyjet Plc</a> <span style="color: #808080; font-size: 11px;">EZJ:LN</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/ezj:ln:eps' class=''></a> </td> <td class='te-td te-eps'>95.29</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/ezj:ln:eps'>0.86</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/ezj:ln:sales'></a> </td> <td class='te-td te-revenue'>3.41B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/ezj:ln:sales'>3.12B</a> </td> <td class='te-td te-td-split'>$4.9B</td> <td class='te-td'><span class="te-fiscal">H2</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='EZJ:LN' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="chc:au:eps" data-iso2="AU" data-country="australia" data-symbol='CHC:AU'> <td class='te-flag'> <div class='flag flag-au' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/chc:au' class='te-name te-name-1'>Charter Hall</a> <span style="color: #808080; font-size: 11px;">CHC:AU</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/chc:au:eps' class=''></a> </td> <td class='te-td te-eps'></td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/chc:au:eps'></a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/chc:au:sales'></a> </td> <td class='te-td te-revenue'></td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/chc:au:sales'></a> </td> <td class='te-td te-td-split'>$4.76B</td> <td class='te-td'><span class="te-fiscal">H1</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='CHC:AU' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="ichb:mm:eps" data-iso2="MX" data-country="mexico" data-symbol='ICHB:MM'> <td class='te-flag'> <div class='flag flag-mx' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/ichb:mm' class='te-name te-name-1'>Industrias CH </a> <span style="color: #808080; font-size: 11px;">ICHB:MM </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/ichb:mm:eps' class=''></a> </td> <td class='te-td te-eps'></td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/ichb:mm:eps'>5.31</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/ichb:mm:sales'></a> </td> <td class='te-td te-revenue'></td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/ichb:mm:sales'>10.80B</a> </td> <td class='te-td te-td-split'>$3.95B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='ICHB:MM' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <tr class="te-tr te-tr-1" data-url="jmat:ln:eps" data-iso2="GB" data-country="united kingdom" data-symbol='JMAT:LN'> <td class='te-flag'> <div class='flag flag-gb' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/jmat:ln' class='te-name te-name-1'>Johnson Matthey</a> <span style="color: #808080; font-size: 11px;">JMAT:LN</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/jmat:ln:eps' class=''></a> </td> <td class='te-td te-eps'>74.50</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/jmat:ln:eps'>0.591</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/jmat:ln:sales'></a> </td> <td class='te-td te-revenue'>1.99B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/jmat:ln:sales'>6.53B</a> </td> <td class='te-td te-td-split'>$3.46B</td> <td class='te-td'><span class="te-fiscal">H1</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='JMAT:LN' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <thead id="ctl00_ContentPlaceHolder1_ctl00_Repeater1_ctl41_th1" class="table-header"> <tr class='te-date-split'> <td colspan="2" class='te-th-date'> <div class='te-date'> Thursday Nov 28</div> </td> <td class='te-th te-th-eps'>EPS</td> <td class='te-th te-th-eps'> Consensus</td> <td class='te-th te-th-eps'>Previous</td> <td class='te-th te-th-revenues te-th-split'>Revenue</td> <td class='te-th te-th-revenues'>Consensus</td> <td class='te-th te-th-revenues'>Previous</td> <td class='te-th te-th-other te-th-split'>MarketCap</td> <td class='te-th te-th-other'>Fiscal</td> <td class='te-th te-th-other'>Time</td> <td class='te-th te-th-other'></td> <!--<td class='te-th te-th-other'><i class='bi bi-star-fill glyphicon-star-empty' title="Importance"></i></td>--> <td class='te-th-other'></td> </tr> </thead> <tr class="te-tr te-tr-1" data-url="pay:ln:eps" data-iso2="GB" data-country="united kingdom" data-symbol='PAY:LN'> <td class='te-flag'> <div class='flag flag-gb' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/pay:ln' class='te-name te-name-1'>PayPoint</a> <span style="color: #808080; font-size: 11px;">PAY:LN</span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/pay:ln:eps' class=''></a> </td> <td class='te-td te-eps'></td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/pay:ln:eps'></a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/pay:ln:sales'></a> </td> <td class='te-td te-revenue'>47.14M</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/pay:ln:sales'></a> </td> <td class='te-td te-td-split'>$579.03M</td> <td class='te-td'><span class="te-fiscal">H1</span></td> <td class='te-td'> <span class="te-session"></span> </td> <td> <i class='bi bi-star-fill glyphicon-star-empty' title='Low Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='PAY:LN' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> <thead id="ctl00_ContentPlaceHolder1_ctl00_Repeater1_ctl42_th1" class="table-header"> <tr class='te-date-split'> <td colspan="2" class='te-th-date'> <div class='te-date'> Friday Nov 29</div> </td> <td class='te-th te-th-eps'>EPS</td> <td class='te-th te-th-eps'> Consensus</td> <td class='te-th te-th-eps'>Previous</td> <td class='te-th te-th-revenues te-th-split'>Revenue</td> <td class='te-th te-th-revenues'>Consensus</td> <td class='te-th te-th-revenues'>Previous</td> <td class='te-th te-th-other te-th-split'>MarketCap</td> <td class='te-th te-th-other'>Fiscal</td> <td class='te-th te-th-other'>Time</td> <td class='te-th te-th-other'></td> <!--<td class='te-th te-th-other'><i class='bi bi-star-fill glyphicon-star-empty' title="Importance"></i></td>--> <td class='te-th-other'></td> </tr> </thead> <tr class="te-tr te-tr-3" data-url="3690:hk:eps" data-iso2="CN" data-country="china" data-symbol='3690:HK'> <td class='te-flag'> <div class='flag flag-cn' ></div> </td> <td> <div class="td-name"> <a target='_blank' href='https://tradingeconomics.com/3690:hk' class='te-name te-name-3'>Meituan </a> <span style="color: #808080; font-size: 11px;">3690:HK </span> </div> </td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/3690:hk:eps' class=''></a> </td> <td class='te-td te-eps'>1.95</td> <td class='te-td te-eps'> <a target='_blank' href='https://tradingeconomics.com/3690:hk:eps'>0.91</a> </td> <td class='te-td te-revenue te-td-split'> <a target='_blank' href='https://tradingeconomics.com/3690:hk:sales'></a> </td> <td class='te-td te-revenue'>91.8B</td> <td class='te-td te-revenue'> <a target='_blank' href='https://tradingeconomics.com/3690:hk:sales'>76.47B</a> </td> <td class='te-td te-td-split'>$133.83B</td> <td class='te-td'><span class="te-fiscal">Q3</span></td> <td class='te-td'> <span class="te-session">AM</span> </td> <td> <i class='bi bi-star-fill glyphicon-star-full' style='color:red' title='High Market Impact'></i> </td> <td class="te-alert-clicker"> <span title='Create Alert' data-type='te-alert-hook' data-symbol='3690:HK' class='bi bi-bell-fill te-alert-bell'></span> </td> </tr> </tbody></table> </div> <br /> <br /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$hDate" id="ctl00_ContentPlaceHolder1_ctl00_hDate" /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$Countries" id="ctl00_ContentPlaceHolder1_ctl00_Countries" /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$Country" id="ctl00_ContentPlaceHolder1_ctl00_Country" /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$Category" id="ctl00_ContentPlaceHolder1_ctl00_Category" /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$Importance" id="ctl00_ContentPlaceHolder1_ctl00_Importance" value="1" /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$Event" id="ctl00_ContentPlaceHolder1_ctl00_Event" /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$IsDates" id="ctl00_ContentPlaceHolder1_ctl00_IsDates" value="0" /> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl00$Lookback" id="ctl00_ContentPlaceHolder1_ctl00_Lookback" value="24" /> <br /> <br /> </div> </div> </div> <br /> <br /> </div> <div class="container-fluid te-footer"> <footer> <div class="container"> <div class="row"> <div id="ctl00_Footer1_PanelFooter"> <style>.footer-spacer{padding: 4px}.footer-spacer-head{padding: 30px 4px 4px 4px;}@media only screen and (max-width:768px){.footer-icons{display: flex;margin-left: 50%;}.footer-icons a{padding: 0 12px 8px 0px; }}.footer-twitter{width: 50px; height: 50px;}.footer-github{width: 40px; height: 40px;}.footer-appstore{display: inline-block; overflow: hidden; background: url(//d3fy651gv2fhd3.cloudfront.net/images/appstore-lrg.svg?v=20171228) no-repeat; width: 135px; height: 40px; background-size: contain;}</style> <br /> <br /> <div class="container"> <div class="row"> <div class="col-lg-2 col-md-2 col-6"> <div class="footerHeader">Indicators</div> <a id="ctl00_Footer1_HyperLink6" class="footerItems" href="./">Homepage</a><br /> <a id="ctl00_Footer1_HyperLink17" class="footerItems" href="countries">Countries</a><br /> <a id="ctl00_Footer1_HyperLink18" class="footerItems" href="indicators">Indicators</a><br /> <a id="ctl00_Footer1_HyperLink1" class="footerItems" href="calendar">Calendar</a><br /> <a id="ctl00_Footer1_HyperLink2" class="footerItems" href="forecasts">Forecasts</a><br /> <a id="ctl00_Footer1_HyperLink11" class="footerItems" href="country-list/rating">Ratings</a> </div> <div class="col-lg-2 col-md-2 col-6"> <div class="footerHeader">Solutions</div> <a href="/analytics/features.aspx?source=footer"><span class="footerItems">Data Subscriptions</span></a><br /> <a href="/api/?source=footer"><span class="footerItems">API Access</span></a><br /> <a href="/analytics/excel.aspx"><span class="footerItems">Excel Add-In</span></a><br /> <a href="https://developer.tradingeconomics.com/" target="_blank"><span class="footerItems">Developer Account</span></a><br /> <a href="https://docs.tradingeconomics.com/" target="_blank"><span class="footerItems">Documentation</span></a><br /> <a href="/analytics/pricing.aspx?source=footer" target="_blank"><span class="footerItems">Pricing</span></a><br /> <br /> </div> <div class="col-lg-2 col-md-2 col-6"> <div class="footerHeader">About Us</div> <a id="ctl00_Footer1_HyperLink8" class="footerItems" href="api/customers.aspx">Customers</a><br /> <a id="ctl00_Footer1_HyperLink23" class="footerItems" href="careers.aspx">Careers</a><br /> <a id="ctl00_Footer1_HyperLink21" class="footerItems" href="investors.aspx">Investors</a><br /> <a id="ctl00_Footer1_HyperLink20" class="footerItems" href="advertise.aspx">Advertisers</a><br /> <a id="ctl00_Footer1_HyperLink19" class="footerItems" href="about-te.aspx">About us</a><br /> <a id="ctl00_Footer1_HyperLink9" class="footerItems" href="privacy-policy.aspx">Privacy</a> </div> <div class="col-lg-2 col-md-2 col-6"> <div class="footer-spacer-head"></div> <a href="https://itunes.apple.com/us/app/trading-economics/id1142178921?mt=8" class="footer-appstore"></a> <div class="footer-spacer"></div> <a href="https://play.google.com/store/apps/details?id=com.tradingeconomics.calendar"> <img alt="Android app on Google Play" src="https://d3fy651gv2fhd3.cloudfront.net/images/google-play.png" /></a> </div> </div> </div> <br /> <div class="footer-copyright"> <br /> <span>Copyright ©2024 TRADING ECONOMICS<br /> All Rights Reserved</span><br /> </div> <br /> <br /> </div> </div> </div> </footer> </div> </form> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.1/js/bootstrap.bundle.min.js"></script> <script>console.log("/js/calendar-settings")</script> <script>!function (a) { "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof exports ? a(require("jquery")) : a(jQuery) }(function (a) { function b(a) { return h.raw ? a : encodeURIComponent(a) } function c(a) { return h.raw ? a : decodeURIComponent(a) } function d(a) { return b(h.json ? JSON.stringify(a) : String(a)) } function e(a) { 0 === a.indexOf('"') && (a = a.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")); try { return a = decodeURIComponent(a.replace(g, " ")), h.json ? JSON.parse(a) : a } catch (b) { } } function f(b, c) { var d = h.raw ? b : e(b); return a.isFunction(c) ? c(d) : d } var g = /\+/g, h = a.cookie = function (e, g, i) { if (void 0 !== g && !a.isFunction(g)) { if (i = a.extend({}, h.defaults, i), "number" == typeof i.expires) { var j = i.expires, k = i.expires = new Date; k.setTime(+k + 864e5 * j) } return document.cookie = [b(e), "=", d(g), i.expires ? "; expires=" + i.expires.toUTCString() : "", i.path ? "; path=" + i.path : "", i.domain ? "; domain=" + i.domain : "", i.secure ? "; secure" : ""].join("") } for (var l = e ? void 0 : {}, m = document.cookie ? document.cookie.split("; ") : [], n = 0, o = m.length; o > n; n++) { var p = m[n].split("="), q = c(p.shift()), r = p.join("="); if (e && e === q) { l = f(r, g); break } e || void 0 === (r = f(r)) || (l[q] = r) } return l }; h.defaults = {}, a.removeCookie = function (b, c) { return void 0 === a.cookie(b) ? !1 : (a.cookie(b, "", a.extend({}, c, { expires: -1 })), !a.cookie(b)) } });</script> <script> if (location.pathname.indexOf('/calendar/') > -1) { console.log('Removing Path Specific Cookies'); document.cookie = "calendar-countries=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.tradingeconomics.com; path=" + location.pathname; document.cookie = "calendar-importance=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.tradingeconomics.com; path=" + location.pathname; document.cookie = "cal-timezone-offset=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.tradingeconomics.com; path=" + location.pathname; document.cookie = "calendar-range=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.tradingeconomics.com; path=" + location.pathname; } window.TEcreateCookie = function (name, value, days, path, domain) { console.log('TEcreateCookie', name, value); console.log('TEcreateCookie: Days', days, 'Path:', path, 'Domain:', domain); if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toUTCString(); console.log('TEcreateCookie Expires', expires); } else { var date = new Date(); var _adding = 5 * 60 * 1000; // Languages var nameSwitch = name; if (document.location.host.split(".")[0].length == 2) { nameSwitch = name.replace('-' + document.location.host.split(".")[0], ''); console.log('TEcreateCookie Name Switch', nameSwitch); } if (location.pathname.startsWith('/calendar')) { switch (nameSwitch) { case 'cal-timezone-offset': _adding = 365 * 24 * 60 * 60 * 1000; break; case 'calendar-countries': _adding = 31 * 24 * 60 * 60 * 1000; break; case 'calendar-importance': _adding = 24 * 60 * 60 * 1000; break; case 'calendar-range': _adding = 60 * 60 * 1000; break; } } if (location.pathname.startsWith('/earnings')) { switch (nameSwitch) { case 'earn-countries': _adding = 31 * 24 * 60 * 60 * 1000; break; case 'earn-importance': _adding = 24 * 60 * 60 * 1000; break; case 'earn-range': _adding = 60 * 60 * 1000; break; } } date.setTime(date.getTime() + _adding); var expires = "; expires=" + date.toUTCString(); console.log('TEcreateCookie Expires:', _adding); } if (typeof path == "undefined") { if (location.pathname.substr(0, 9) == '/calendar') path = '/calendar'; else path = location.pathname; } if (typeof domain == "undefined") domain = location.host; if (location.host == 'tradingeconomics.com') domain = '.tradingeconomics.com'; var _cookie = name + "=" + value + expires + "; path=" + path + "; Domain=" + domain + "; SameSite=None; Secure" console.log('TEcreateCookie ouptut:', name, _cookie); document.cookie = _cookie; /* var cookieOptions = { expires: date, path: path, domain: domain, secure: true, // To set the "Secure" attribute sameSite: "None" // To set the "SameSite" attribute }; $.cookie(name, value, cookieOptions); */ } window.TEreadCookie = function (name) { console.log('TEreadCookie', name); var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1, c.length); } if (c.indexOf(nameEQ) == 0) { return c.substring(nameEQ.length, c.length); } } return null; } window.TEeraseCookie = function (name, spec_domain) { window.TEcreateCookie(name, "", -1, null, spec_domain); // Sometimes the above does not work document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=" + location.host + "; path=" + location.pathname; } Array.prototype.differenceTE = function (a) { return this.filter(function (i) { return a.indexOf(i) < 0; }); }; function showCalendarModal(modalTitle, modalContent, modalFooter) { var modal = "<div class ='modal' id='downloadModal' tabindex='-1' role='dialog' aria-labelledby='myModalLabel'>"; modal += "<div class='modal-dialog modal-dialog-centered' role='document'>"; modal += "<div class='modal-content'>"; modal += "<div class='modal-header'><div class='modal-title' style='font-weight:bold'></div><button type='button' class ='btn-close' data-bs-dismiss='modal' aria-label='Close'></button></div>"; modal += "<div class='modal-body' style='text-align:justify;'></div>" modal += "<div class='modal-footer'></div>" modal += "</div></div></div>" var jModal = $(modal); $(jModal).find(".modal-title").html(modalTitle); // define the modal content if (modalContent) $(jModal).find(".modal-body").html(modalContent); else $(jModal).find(".modal-body").remove(); // define the modal footer if (modalFooter) $(jModal).find(".modal-footer").html(modalFooter); else $(jModal).find(".modal-footer").remove(); $(jModal).on('show.bs.modal', function (e) { $(".navbar").css("padding-right", "17px"); $(".pagemenu").css("padding-right", "17px"); $(".pagetabs").css("padding-right", "17px"); }); $(jModal).on('hide.bs.modal', function (e) { $(".navbar").css("padding-right", ""); $(".pagemenu").css("padding-right", ""); $(".pagetabs").css("padding-right", ""); }); $(jModal).modal("show"); } function setCustomDates(e) { e.stopPropagation(); e.preventDefault(); var startDate = $("#startDate").val(); var endDate = $("#endDate").val(); //console.log('startDate', startDate, 'endDate', endDate); var lifetime = .5 * 24 / 60 / 60; //five minutes in days //console.log('lifetime', lifetime); window.TEcreateCookie(CUSTOM_RANGE_COOKIE_NAME, startDate + "|" + endDate, lifetime); window.TEeraseCookie(RANGE_COOKIE_NAME); if (!isLoggedIn) { let start = new Date(startDate); let end = new Date(endDate); let timeDiff = end.getTime() - start.getTime(); let daysDiff = timeDiff / (1000 * 3600 * 24); let yearDiff = end.getFullYear() - start.getFullYear(); let monthDiff = (end.getMonth() + 1) - (start.getMonth() + 1); let totalMonthDiff = yearDiff * 12 + monthDiff; if (totalMonthDiff > 1 || (totalMonthDiff === 1 && end.getDate() > start.getDate())) { let modalTitle = `` let modalContent = `To unlock full access and remove limits on custom date requests, we invite you to register and subscribe today! As a guest, you're limited to requests within 1 month or 1,000 records but, by signing up you'll enjoy unlimited custom data and a host of premium features.` let modalFooter = "<div style='text-align:center'><div class='btn-group'><a class='btn btn-outline-secondary' href='https://tradingeconomics.com/analytics/pricing.aspx?source=calendar-rows-limit' target='_blank'>Get Started</a>"; modalFooter += "<a class='btn btn-outline-secondary' href='https://tradingeconomics.com/api/contact.aspx?subject=api+calendar' target='_blank'>Any question? <b>Contact us</b></a>"; modalFooter += "</div></div>"; showCalendarModal(modalTitle, modalContent, modalFooter) } else { location.reload(); } } else { location.reload(); } } function clearSelection(e) { var _options = $(".te-c-option").each(function (i, item) { //console.log('i', i, 'item', item); var _input = $(item).find('input'); _input.prop('checked', false); }); selected_countries = []; } function calendarSelecting(dom, e, _c, isGlobal) { //console.log('arguments', arguments); e.stopPropagation(); e.preventDefault(); if (isGlobal) { clearSelection(); selected_countries = []; switch (_c.toUpperCase()) { case 'G20': selected_countries = G20_ISOS.slice(); break; case 'WORLD': //console.log('SELECT', WORLD_ISOS); selected_countries = WORLD_ISOS.slice(); break; case 'AFRICA': selected_countries = AFRICA_ISOS.slice(); break; case 'ASIA': selected_countries = ASIA_ISOS.slice(); break; case 'AMERICA': selected_countries = AMERICA_ISOS.slice(); break; case 'EUROPE': selected_countries = EUROPE_ISOS.slice(); break; default: console.log('uncaught:', _c); } for (var wi in selected_countries) { //console.log('SELECT:', selected_countries[wi]); if (typeof selected_countries[wi] != 'string') { continue; } //console.log($('.te-c-option-' + WORLD_ISOS[wi]).length); if ($('.te-c-option-' + selected_countries[wi]).length) { var _input = $('.te-c-option-' + selected_countries[wi]).find('input'); _input.prop('checked', true); } } } var _input = $(dom).find('input'); var c = ''; if (_c) { c = _c.toLowerCase(); } if (selected_countries.indexOf(c) > -1) { selected_countries.splice(selected_countries.indexOf(c), 1); setTimeout(function () { _input.prop('checked', false) }, 100); } else { if (!isGlobal) { selected_countries.push(c); setTimeout(function () { _input.prop('checked', true) }, 100); } } highlightGroupsSelection(); } function highlightGroupsSelection() { //console.log('G20', selected_countries.differenceTE(G20_ISOS).length, G20_ISOS.differenceTE(selected_countries).length) if (selected_countries.differenceTE(G20_ISOS).length == 0 && selected_countries.differenceTE(G20_ISOS).length == G20_ISOS.differenceTE(selected_countries).length) { $(".te-c-option-g20").addClass("te-c-group-selected"); } else { $(".te-c-option-g20").removeClass("te-c-group-selected"); } if (selected_countries.differenceTE(WORLD_ISOS).length == 0 && selected_countries.differenceTE(WORLD_ISOS).length == WORLD_ISOS.differenceTE(selected_countries).length) { $(".te-c-option-world").addClass("te-c-group-selected"); } else { $(".te-c-option-world").removeClass("te-c-group-selected"); } if (selected_countries.differenceTE(AFRICA_ISOS).length == 0 && selected_countries.differenceTE(AFRICA_ISOS).length == AFRICA_ISOS.differenceTE(selected_countries).length) { $(".te-c-option-africa").addClass("te-c-group-selected"); } else { $(".te-c-option-africa").removeClass("te-c-group-selected"); } if (selected_countries.differenceTE(AMERICA_ISOS).length == 0 && selected_countries.differenceTE(AMERICA_ISOS).length == AMERICA_ISOS.differenceTE(selected_countries).length) { $(".te-c-option-america").addClass("te-c-group-selected"); } else { $(".te-c-option-america").removeClass("te-c-group-selected"); } if (selected_countries.differenceTE(ASIA_ISOS).length == 0 && selected_countries.differenceTE(ASIA_ISOS).length == ASIA_ISOS.differenceTE(selected_countries).length) { $(".te-c-option-asia").addClass("te-c-group-selected"); } else { $(".te-c-option-asia").removeClass("te-c-group-selected"); } if (selected_countries.differenceTE(EUROPE_ISOS).length == 0 && selected_countries.differenceTE(EUROPE_ISOS).length == EUROPE_ISOS.differenceTE(selected_countries).length) { $(".te-c-option-europe").addClass("te-c-group-selected"); } else { $(".te-c-option-europe").removeClass("te-c-group-selected"); } } function setCalendarImportance(str_imptt) { window.TEcreateCookie(IMPORTANCE_COOKIE_NAME, str_imptt); if (typeof forceSSORefresh != "undefined") { forceSSORefresh(); } location.reload(); } function setCalendarRange(str_range) { window.TEcreateCookie(RANGE_COOKIE_NAME, str_range); if (typeof forceSSORefresh != "undefined") { forceSSORefresh(); } //te-custom-range-importance window.TEeraseCookie(CUSTOM_RANGE_COOKIE_NAME); location.reload(); } function saveSelectionAndGO() { //console.log('START LOADING'); $("#te-c-loading").toggleClass("d-none"); //console.log('CLOSE DROPDOWN'); $('.te-c-dropdown-toggle').dropdown('toggle'); window.TEcreateCookie(COUNTRIES_COOKIE_NAME, selected_countries.join(",")); if (typeof forceSSORefresh != "undefined") { forceSSORefresh(); } var path = location.pathname; if (path.indexOf("earnings") !== -1) { console.log("contains earnings") window.location.href = '/earnings' + window.location.search; } else if (path.indexOf("/calendar/") !== -1) { console.log("contains calendar category") window.location.href = window.location.href; } else { console.log("does not contain earnings") window.location.href = '/calendar' + window.location.search; if(isLoggedIn) doSync(); } } function toggleMainCountrySelection(instruction) { if (instruction && instruction == 'off') { $("#te-c-main-countries").addClass("d-none"); return; } $("#te-c-main-countries").toggleClass("d-none"); } function toggleCountriesDisplay(direction) { $("#te-c-all").toggleClass("d-none"); } function SetCalendaSettings() { highlightGroupsSelection(); $("#te-c-dropdown").click(function (e) { e.stopPropagation(); e.preventDefault(); }); } $(function(){ SetCalendaSettings(); }); </script> <script> console.log('SSO OPTS SYNC'); var _sso_user_options_url = "https://sso.tradingeconomics.com/api/UserOptions"; var option_tags = [ "earn-countries", "earn-range", "earn-importance", "calendar-countries", "calendar-range", "calendar-importance" ]; var SYNC_TRACK_COOKIE_NAME = 'te_sso_sync_' + location.pathname; var createCookie = function (name, value, days, spec_path) { if (days) { var date = new Date(); var _adding = days * 24 * 60 * 60 * 1000; //console.log('adding', _adding) date.setTime(date.getTime() + _adding); var _expiring = date.toUTCString(); //console.log(name, '_expiring', _expiring); var expires = "; expires=" + _expiring; } else { var expires = ""; } document.cookie = name + "=" + value + expires + "; path=" + (spec_path || location.pathname); } var eraseCookie = function (name, spec_path) { console.log('eraseCookie'); createCookie(name, "", -1, spec_path); } var GetTECookie = function (name) { //console.log('READING COOKIE', name); var nameEQ = encodeURIComponent(name) + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) === ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); } return null; } var am_syncing = false; function forceSSORefresh() { console.log('forceSSORefresh', am_syncing) if (am_syncing) { clearTimeout(am_syncing); } eraseCookie(SYNC_TRACK_COOKIE_NAME, "/"); am_syncing = setTimeout(doSync, 5 * 1000); } var doSync = function () { var to_sync = []; var in_sync = GetTECookie(SYNC_TRACK_COOKIE_NAME); //console.log('in_sync:', in_sync); var _host = document.location.host console.log("_host " + _host) var lang = _host.split(".")[0] if (!in_sync) { for (var ts in option_tags) { if (typeof option_tags[ts] != 'string') { continue; } var _name = option_tags[ts] if (lang != 'tradingeconomics' && lang.length == 2) { console.log("It's Language site - " + lang) _name = option_tags[ts] += "-" + lang } //console.log('option_tags[ts]', option_tags[ts]); var temp_cookie = GetTECookie(option_tags[ts]); if (temp_cookie) { to_sync.push({ Host: document.location.host, Env: document.location.pathname, Name: _name, Value: temp_cookie, SameSite: 'Strict', Secure: true }) } } } console.log('s', to_sync && to_sync.length); if (to_sync && to_sync.length) { $.ajax({ url: _sso_user_options_url, dataType: "json", method: "POST", data: { list: to_sync }, xhrFields: { withCredentials: true }, complete: function (object, status) { console.log('status', status); createCookie(SYNC_TRACK_COOKIE_NAME, new Date(), null, "/"); } }); } } </script> <script> console.log("Countdown enabled") let countdownIntervals = []; let scheduledTimeouts = []; function getTodayDate(timezoneOffsetMinutes) { const now = new Date(); const utcNow = now.getTime() + (now.getTimezoneOffset() * 60000); const adjustedTime = new Date(utcNow + timezoneOffsetMinutes * 60000); const year = adjustedTime.getFullYear(); const month = String(adjustedTime.getMonth() + 1).padStart(2, '0'); const day = String(adjustedTime.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; } function parseEventTime(eventDateString, scheduleTimeString, timezoneMinutes) { const timeParts = scheduleTimeString.split(' '); const time = timeParts[0]; const period = timeParts[1]; let [hours, minutes] = time.split(':').map(Number); if (period === 'PM' && hours < 12) { hours += 12; } else if (period === 'AM' && hours === 12) { hours = 0; } const [year, month, day] = eventDateString.split('-').map(Number); const eventDate = new Date(Date.UTC(year, month - 1, day, hours, minutes, 0)); if (timezoneMinutes !== 0) { const utcTime = eventDate.getTime(); const adjustedTime = utcTime - (timezoneMinutes * 60000); return new Date(adjustedTime); } else { return eventDate; } } function startCountdown(eventTime, countdownElement) { const originalText = $("." + countdownElement).text().trim(); const countdownInterval = setInterval(() => { const now = new Date(); const timeDifference = eventTime - now; $("." + countdownElement).addClass("countdown-event") if (timeDifference <= 0) { $("." + countdownElement).removeClass("countdown-event") clearInterval(countdownInterval); $("." + countdownElement).text(originalText); return; } let minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60)); let seconds = Math.floor((timeDifference % (1000 * 60)) / 1000); if (seconds < 10) { seconds = `0${seconds}`; } if (minutes < 10) { minutes = `0${minutes}`; } $("." + countdownElement).text(` ${minutes}:${seconds} `); }, 1000); countdownIntervals.push(countdownInterval); } function scheduleCountdown(eventTime, countdownElement) { const now = new Date(); const timeDifference = eventTime - now; const twoMinutes = 5 * 60 * 1000; if (timeDifference > twoMinutes) { const eventTimeOut = setTimeout(() => { startCountdown(eventTime, countdownElement); }, timeDifference - twoMinutes); scheduledTimeouts.push(eventTimeOut); } else if (timeDifference > 0) { startCountdown(eventTime, countdownElement); } } function clearPreviousTimers() { countdownIntervals.forEach(interval => clearInterval(interval)); countdownIntervals = []; scheduledTimeouts.forEach(timeout => clearTimeout(timeout)); scheduledTimeouts = []; } function setupEventCountdowns() { clearPreviousTimers(); const timezoneMinutes = parseInt($('#DropDownListTimezone').val(), 10); const todayDate = getTodayDate(timezoneMinutes) const eventsAllowedLvl = 3 const allTodayTds = $("td").filter(function () { return $(this).hasClass(todayDate); }); allTodayTds.each(function () { const eventDate = $(this)[0].classList[0]; const eventSchedule = $(this).text().trim(); const eventNumber = $(this).find('span').attr('class').split(' ')[0]; const eventLvl = $(this).find('span').attr('class').split(' ')[1].split('-')[2]; if (eventDate != null && eventSchedule != null && eventNumber != null) { if (eventDate.length > 0 && eventSchedule.length > 0 && eventLvl >= eventsAllowedLvl) { const eventDateTime = parseEventTime(eventDate, eventSchedule, timezoneMinutes); scheduleCountdown(eventDateTime, eventNumber); } } }); } $('#DropDownListTimezone').on('change', setupEventCountdowns); document.addEventListener("DOMContentLoaded", setupEventCountdowns); </script> <script type="text/javascript" src="https://d107vmm87795sh.cloudfront.net/earnings/te-earns.js?v=20191014"></script> <script type="text/javascript" src="//d3fy651gv2fhd3.cloudfront.net/js/search.min.js?v=20240502" async></script> <script> TENotificationsHistorical = [] TENotificationsNews = [] //console.log('• Notifications Script Loaded - 20240701') setTimeout(() => { getNotificationsFromCookie() loadBellStatus() },1000) function loadBellStatus() { //console.log("• get bell status from cookie") var seenData = false const cookieData = document.cookie.split(';').find(item => item.trim().startsWith('TENewNotifications')); if (cookieData) { seenData = cookieData.split('TENewNotifications=')[1].split(',')[0] } if (seenData == 'true') { //console.log("new notification") $('#notification-new').show() $('#notification-empty').hide() } else { $('#notification-new').hide() $('#notification-empty').show() } } function setNotificationCookieStatus(status) { document.cookie = `TENewNotifications=${status.toString()}; expires=${createExpirationDate('eod')}; path=/`; } function changeIconStatus(isHover) { try { //console.log("change bell") if (TENotificationsHistorical.length > 0 && !isHover) { $('#notification-new').show() $('#notification-empty').hide() setNotificationCookieStatus(true) } else if (TENotificationsNews.length > 0 && !isHover) { $('#notification-new').show() $('#notification-empty').hide() setNotificationCookieStatus(true) } else { $('#notification-new').hide() $('#notification-empty').show() setNotificationCookieStatus(false) } } catch (e) { console.error(e) } } function timeAgo(datetime) { try { const now = new Date(); const diff = now - new Date(datetime); let seconds = Math.floor(diff / 1000); const minuteInSecs = 60; const hourInSecs = minuteInSecs * 60; let timeAgoString; if (seconds < minuteInSecs) { if (seconds == 0) { seconds = 1 } const plural = seconds == 1 ? '' : 's'; timeAgoString = `${seconds} second${plural} ago`; } else if (seconds < hourInSecs) { const minutes = Math.floor(seconds / minuteInSecs); timeAgoString = `${minutes} minutes ago`; } else { const hours = Math.floor(seconds / hourInSecs); const plural = hours > 1 ? 's' : ''; timeAgoString = `${hours} hour${plural} ago`; } return timeAgoString; } catch (e) { console.error(e) } } function createExpirationDate(span) { const expires = new Date(); if (span == '1d') { expires.setDate(expires.getDate() + 1) return expires.toUTCString() } else if (span == '1h') { expires.setHours(expires.getHours() + 1); return expires.toUTCString(); } else if (span == 'eod') { //end of day const expiresTime = new Date(expires.getTime()); expiresTime.setHours(23, 59, 59); return expiresTime.toUTCString(); } } function removeNotificationIndex(i) { try { if (TENotificationsHistorical.length == 0 && TENotificationsNews.length > 0) { TENotificationsNews.splice(i, 1); document.cookie = `TELastNews=${JSON.stringify(TENotificationsNews)}; path=/`; } if (TENotificationsHistorical.length > 0) { TENotificationsHistorical.splice(i, 1); } $('.notification-list').empty(); addNotificationCookie() if (TENotificationsNews.length == 0 || (TENotificationsNews.length == 0 && TENotificationsHistorical.length == 0)) { addEmptyContent() } if (TENotificationsHistorical.length > 0 || TENotificationsNews.length > 0) { upsertNotification(null, true, false) } } catch (e) { console.error(e) } } function addEmptyContent() { try { //console.log("Add Empty Content") const notificationList = $('.notification-list'); notificationList.empty(); //notificationList.append('<div style="display:flex;justify-content:space-between;align-itens:center"><span style="margin-left:18px"><b>Notifications</b></span></div>') let html = `<div class="empty-notificationlist"> <div class="empty-notificationlist-content"> <span>You have no new notifications</span> <br> <i class="bi bi-bell-slash-fill"></i> <br> <div><a href="/stream" title="Show all news" class="empty-notificationlist-more"><div class="btn btn-outline-secondary">All News</div></a></div> </div> </div>`; notificationList.append(html); } catch (e) { console.error(e) } } function addContent() { try { //console.log("AddContent") const notifiList = TENotificationsHistorical.length > 0 ? TENotificationsHistorical : TENotificationsNews; const notificationList = $('.notification-list'); notificationList.empty(); if (notifiList.length > 0) { notificationList.append('<div class="notificationList-first-title"><span style="margin-left:18px"><b>Notifications</b></span><span class="notifications-clean-all" title="Delete all notifications">Clear all</span></div>') for (let i = notifiList.length - 1; i >= 0; i--) { const notification = notifiList[i]; let html = `<div> <div class="card notificationlist-card" style="margin:0;"> <div class="card-body notificationlist-body"> <div class="notificationlist-header"> <div class="notificationlist-header-title"><a href="${notification.url}"><b>${notification.title}</b></a><span class="badge badge-notification-type" style="background-color:${notification.color}">${notification.type}</span></div> <span id="n-${i}" title="Delete" style="cursor:pointer"><i id="cleanIndividualNotif" class="bi bi-trash3"></i></span> </div> <span style="font-size:15px">${notification.text}</span> <div class="notificationlist-footer"> <p>${timeAgo(notification.datetime)}</p> </div> </div> </div> </div>`; notificationList.append(html); $(`#n-${i}`).on('click', function () { removeNotificationIndex(i) }) } notificationList.append('<div class="notificationlist-more-div"><a href="/stream" title="Show more streams" class="notificationlist-more"><div class="btn btn-outline-secondary">More News</div></a></div>') $('.notifications-clean-all').on('click', function () { //console.log("Clicked") notificationList.empty(); if (TENotificationsHistorical.length > 0) { document.cookie = "TENotifications=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/"; TENotificationsHistorical = [] } else if (TENotificationsNews.length > 0) { document.cookie = `TELastNews=[]; path=/`; TENotificationsNews = [] } upsertNotification(null, true, false) }); } } catch (e) { console.error(e) } } function fetchLastNews() { try { //console.log("• Fetch News") TENotificationsNews = [] const newsUrl = '/ws/stream.ashx?start=0&size=3' fetch(newsUrl) .then(response => { if (!response.ok) { console.error(`HTTP error! status: ${response.status}`); } return response.json(); }) .then(data => { for (let item of data) { if (item.description.length > 300) { item.description = item.description.substring(0, 300) + ' ...'; let lastPeriodIndex = Math.min(item.description.lastIndexOf('. '), 300); if (lastPeriodIndex !== -1) { item.description = item.description.substring(0, lastPeriodIndex + 1) + '..'; } else { item.description = item.description.substring(0, 300) + '...'; } } TENotificationsNews.unshift({ title: item.title, url: item.url, text: item.description, importance: item.importance, datetime: item.date, type: 'News', color: '#ddd' }) } document.cookie = `TELastNews=${JSON.stringify(TENotificationsNews)}; path=/`; // console.log("• Saved News on Cookies TELastNews") upsertNotification(null, true, false) }) .catch(error => { console.error('Error fetching last news:', error); }); } catch (e) { console.error(e) } } function getNotificationsFromCookie() { try { //console.log("• get Notifications From Cookie") const cookieData = document.cookie.split(';').find(item => item.trim().startsWith('TENotifications')); if (cookieData) { let encodedData = cookieData.split('TENotifications=')[1].split(',') //const decrompressedData = pako.inflate(encodedData, { to: 'string' }); try { TENotificationsHistorical = JSON.parse(encodedData); //console.log(TENotificationsHistorical) if (TENotificationsHistorical.length > 0) { upsertNotification(null, true, false) } } catch (error) { console.error("Error parsing existing cookie data:", error); } } } catch (e) { console.error(e) } } function estimateNotificationSize() { return JSON.stringify(TENotificationsHistorical).length; } function getCookieSize() { try { let safeLoop = 0 const cookies = document.cookie.split(';'); let total = 0 for (const cookie of cookies) { if (safeLoop == 50) { return 0; } const [key, value] = cookie.trim().split('='); if (key !== 'TENotifications') { total = total + JSON.stringify(cookie).length + 2 } safeLoop++ } return total; } catch (e) { console.error(e); } } function manageCookieSize(maxSize) { try { //console.log("• Check threshold of cookies size"); const currentCookieSize = getCookieSize(); const currentNotificationsSize = estimateNotificationSize(); let totalBytes = currentCookieSize + currentNotificationsSize; let nLoopCount = 0; //console.log("• Current Cookies Estimated Size: " + currentCookieSize); //console.log("• With Notifications Cookie Estimated Size: " + currentNotificationsSize); if (totalBytes > maxSize) { while (nLoopCount < 10 && totalBytes > maxSize) { //console.log("---------------------> nLoopCount: " + nLoopCount); TENotificationsHistorical.shift(); totalBytes = currentCookieSize + estimateNotificationSize(); //console.log(`• Notification removed to control cookie size. New size: ${totalBytes} bytes`); if (totalBytes <= maxSize) { //console.log(`• Cookie size is already within limit: ${totalBytes} bytes`); break; } nLoopCount++; } }// else { //console.log(`• Cookie size is within limit: ${totalBytes} bytes`); //} } catch (e) { console.error(e); } } function addNotificationCookie() { try { //console.log("• Add Notifications on Cookie"); const isEmptyNews = TENotificationsNews.length === 0; const isEmptyHistorical = TENotificationsHistorical.length === 0; document.cookie = `TELastNews=${isEmptyNews ? '[]' : JSON.stringify(TENotificationsNews)}; path=/`; manageCookieSize(3400); if (isEmptyHistorical) { document.cookie = `TENotifications=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/`; } else { document.cookie = `TENotifications=${JSON.stringify(TENotificationsHistorical)}; expires=${createExpirationDate('1d')}; path=/`; } } catch (e) { console.error(e); } } function createDefaultNotification(n) { return { ...n, datetime: new Date(), type: n.importance > 0 ? 'Calendar' : 'News', color: n.importance > 0 ? '#ffb3ba' : '#ddd', }; } function upsertNotification(n, cookie, fromStream) { try { //console.log("-----------------------------------------------> Start of upsert Notification on list flow"); //console.log(`• Dealing with ${JSON.stringify(n)}`); if (!cookie) { const newNotification = createDefaultNotification(n); const existingNotification = TENotificationsHistorical.find(item => item.text === newNotification.text); if (existingNotification) { TENotificationsHistorical.splice(TENotificationsHistorical.indexOf(existingNotification), 1); } TENotificationsHistorical.push(newNotification); } const notificationListContainer = $('.offcanvas-top.notification-list.container'); const notificationList = $('.notification-list'); if (!notificationList.length) { notificationListContainer.append(`<div class="offcanvas-header"></div>`); } if (TENotificationsHistorical.length > 0 || TENotificationsNews.length > 0) { if (fromStream == true) { changeIconStatus(false); setNotificationCookieStatus(true); } if (!cookie) { addNotificationCookie(); } addContent(); } else { addEmptyContent(); } } catch (e) { console.error(e); } } $('.btn-notification-list').on('click', function (event) { //console.log('click') event.preventDefault() let cookieNewsIsPresent = false //console.log("• Check if there is LastNews Cookie") const cookieData = document.cookie.split(';').find(item => item.trim().startsWith('TELastNews')); if (cookieData) { let cookieNews = cookieData.split('TELastNews=')[1].split(',') cookieNewsIsPresent = true TENotificationsNews = JSON.parse(cookieNews) } //console.log(cookieNewsIsPresent) if (TENotificationsHistorical.length == 0 && TENotificationsNews.length == 0 && !cookieNewsIsPresent) { //console.log("IF") $('.offcanvas-top').removeClass("show") $('.offcanvas-top').removeClass("showing") fetchLastNews() } else { if (TENotificationsNews.length > 0 || TENotificationsHistorical.length > 0) { upsertNotification(null, true, false) } else { addEmptyContent() } } changeIconStatus(true) }); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-SZ14JCTXWQ"></script> <script> window.dataLayer = window.dataLayer || []; function ga() { dataLayer.push(arguments); } ga('js', new Date()); ga('config', 'G-SZ14JCTXWQ', { 'allow_google_signals': false }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10