{"id":992581,"date":"2026-08-10T07:10:12","date_gmt":"2026-08-10T11:10:12","guid":{"rendered":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/"},"modified":"2026-08-10T07:10:12","modified_gmt":"2026-08-10T11:10:12","slug":"ceco-environmental-reports-second-quarter-2026-results","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/","title":{"rendered":"CECO Environmental Reports Second Quarter 2026 Results"},"content":{"rendered":"<div class=\"mw_release\">\n<p align=\"center\">\n        <em>Record-Setting Second Quarter Highlighted by Strong Orders, Up 191 Percent and Backlog Above $1.8 Billion<\/em><br \/>\n        <br \/>\n        <em>Thermon Integration Delivering Synergies Ahead of Plan<\/em><br \/>\n        <br \/>\n        <em>Company Raises Full Year Consolidated 2026 Outlook<\/em>\n      <\/p>\n<p align=\"justify\">ADDISON, Texas, Aug.  10, 2026  (GLOBE NEWSWIRE) &#8212; <strong>CECO Environmental Corp. (Nasdaq: CECO) (&#8220;CECO&#8221;)<\/strong>, a leading environmentally focused, diversified industrial company whose solutions protect people, the environment, and industrial equipment, today reported its financial results for the second quarter of 2026.<\/p>\n<p>\n        <strong><br \/>\n          <u>Highlights for the Quarter <\/u><br \/>\n          <sup>(1)<\/sup><br \/>\n        <\/strong>\n      <\/p>\n<p>\n        <em>First quarter as a combined company following the June 1, 2026 acquisition of Thermon <\/em>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">Orders of $798.5 million, up 191 percent; backlog of $1,819.1 million, up 164 percent<\/li>\n<li style=\"text-align:justify\">Revenue of $285.0 million, up 54 percent<\/li>\n<li style=\"text-align:justify\">Gross profit of $86.5 million, up 29 percent; gross margin of 30.3 percent<\/li>\n<li style=\"text-align:justify\">Non-GAAP gross profit of $96.0 million, up 43 percent; non-GAAP gross margin of 33.7 percent<\/li>\n<li style=\"text-align:justify\">Net loss of $(34.8) million, compared with net income of $9.5 million; non-GAAP net income of $21.5 million, up 147 percent<\/li>\n<li style=\"text-align:justify\">GAAP EPS (diluted) of $(0.80); non-GAAP EPS (diluted) of $0.47<\/li>\n<li style=\"text-align:justify\">Adjusted EBITDA of $40.2 million, up 73 percent<\/li>\n<li style=\"text-align:justify\">Free cash flow of $(24.3) million, a $(15.5) million decline; adjusted free cash flow of $53.2 million, a $56.2 million improvement, adjusted for cash payments relating to the Thermon transaction made during the quarter.<\/li>\n<\/ul>\n<p>\n        <sup>(1)<\/sup> All comparisons are versus the comparable prior year period, unless otherwise stated.<br \/>Reconciliations of GAAP (reported) to non-GAAP measures are in the attached financial tables.<\/p>\n<p align=\"justify\">Todd Gleason, CECO&#8217;s Chairman and Chief Executive Officer commented: \u201cWe delivered an exceptional second quarter, with numerous financial records led by tremendous growth in both orders and backlog. Our multi-year, high-performance growth and value creation model continues to demonstrate the power of our operating model and the growing demand for our leading solutions across diverse global end markets. Additionally, we are pleased to have closed the Thermon acquisition in early June and report that the integration activities are progressing extremely well.\u00a0 Early synergy capture is proceeding ahead of our pre-acquisition integration objectives, and we are driving strong execution across the combined organization.\u201d<\/p>\n<p align=\"justify\">Second quarter operating loss was $(33.2) million, compared with operating income of $18.1 million in the prior-year quarter. On an adjusted basis, non-GAAP operating income was $32.1 million, up $13.8 million or 75 percent compared with $18.3 million in the prior-year quarter. Net loss was $(34.8) million in the quarter, compared with net income of $9.5 million in the prior-year quarter. Non-GAAP net income was $21.5 million, an increase of $12.8 million, or 147 percent, from $8.7 million in the prior-year quarter. Adjusted EBITDA was $40.2 million, reflecting a margin of 14.1 percent, an increase of $16.9 million, or 73 percent, compared with $23.3 million in the prior-year quarter. Adjusted free cash flow in the quarter was $53.2 million, an improvement of $56.2 million compared with $(3.0) million in the prior-year quarter.<\/p>\n<p align=\"justify\">\u00a0\u201cOur quarterly results are impressive, and even more so when compared to the then record second quarter results we delivered last year. Our teams continue to deliver outstanding service and solutions to our global customers. The addition of Thermon and their industry-leading technologies and talented workforce helps to expand our record sales pipeline to over $8.5 billion. We expect our sales pipeline will continue to grow as we benefit from organic and inorganic investments to further expand into new markets and introduce new innovations and services. Our most compelling markets are very demanding and require leading partners with expertise and proven solutions. Given our trajectory and ability to invest in future growth, we continue to be confident in our long-term, double-digit growth outlook,\u201d added Gleason.<\/p>\n<p align=\"justify\">\n        <strong><br \/>\n          <u>2026 Full Year Guidance Update<br \/><\/u><br \/>\n        <\/strong>The Company is raising its full-year 2026 outlook as a result of the strong first half performance and record pipeline and backlog. The updated full year consolidated 2026 outlook is:<\/p>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">Revenue between $1.300 billion and $1.375 billion, up from $1.275 billion and $1.375 billion<\/li>\n<li style=\"text-align:justify\">Adjusted EBITDA between $200 million and $225 million, up from $195 million and $225 million<\/li>\n<li style=\"text-align:justify\">Free cash flow conversion of at least 55 percent of Adjusted EBITDA<\/li>\n<\/ul>\n<p align=\"justify\">\u201cOur confidence in our operating model and the robustness of our key growth markets, along with the positive trends from the Thermon integration, allows us to raise our full year outlook. Our third quarter has started very well \u2013 with no slowdown in booked projects and sales opportunity discussions proceeding as expected. We continue to monitor the situation in the Middle East as well as certain inflationary items, but we believe we are navigating these challenges with cost actions and solid performance. Our teams do an incredible job every day and as I get to know the Thermon organization it is simply another outstanding addition to our leading portfolio of businesses,\u201d concluded Gleason.<\/p>\n<p align=\"center\">\n        <strong>EARNINGS CONFERENCE CALL<\/strong>\n      <\/p>\n<p align=\"justify\">A conference call is scheduled for today at 8:30 a.m. ET to discuss the second quarter 2026 financial results. Please visit the Investor Relations section of the website (https:\/\/investors.cecoenviro.com) to listen to the call via webcast. The conference call may also be accessed by visiting\u00a0<a href=\"https:\/\/www.globenewswire.com\/Tracker?data=pyyQt4HIicuJo4bgD1erOnawlBSinjzHeXcu8Xx1uLa5H3LQTyAw-dmr-MuZRhk9VpI2IYotYGhDUwqI-q8PJgmVE7VUO3P3-YkkD4zfV1OS8TCYduK2C7-aRpFEmBFIe48dBL5wrptVa9GSYXnQCPDly92gGc6mn6unYynNclg=\" rel=\"nofollow\" target=\"_blank\">https:\/\/edge.media-server.com\/mmc\/p\/zdq77qcb\/<\/a>.<\/p>\n<p align=\"justify\">A replay of the conference call will be available on the Company\u2019s website for a period of one year. The replay may also be accessed by visiting https:\/\/investors.cecoenviro.com\/.<\/p>\n<p align=\"center\">\n        <br \/>\n        <strong>ABOUT CECO ENVIRONMENTAL<\/strong>\n      <\/p>\n<p align=\"justify\">CECO Environmental is a leading environmentally focused, diversified industrial company, serving the broad landscape of industrial air, industrial water and energy transition markets globally, providing innovative solutions and application expertise. CECO helps companies grow their businesses with safe, clean, and more efficient solutions that help protect people, the environment and industrial equipment.\u00a0 CECO solutions improve air and water quality, optimize emissions management, and increase energy efficiency for highly-engineered applications in power generation, midstream and downstream hydrocarbon processing and transport, electric vehicle production, polysilicon fabrication, semiconductor and electronics, battery production and recycling, specialty metals and steel production, beverage can production, and water\/wastewater treatment and a wide range of other industrial end markets. CECO is listed on Nasdaq under the ticker symbol &#8220;CECO.&#8221; Incorporated in 1966, CECO\u2019s global headquarters is in Addison, Texas. For more information, please visit www.cecoenviro.com.<\/p>\n<p>Company Contact:<br \/>Marcio Pinto<br \/>Vice President &#8211; Corporate Integration and Investor Relations<br \/>\u00a0888-990-6670<br \/>investor.relations@onececo.com<\/p>\n<p>Additional Investor Relations Contact:<br \/>Steven Hooser and Jean Marie Young<br \/>Three Part Advisors, LLC<br \/>214-872-2710<br \/>investor.relations@onececo.com<\/p>\n<p align=\"justify\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"10\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>CECO ENVIRONMENTAL CORP.<br \/>CONSOLIDATED BALANCE SHEETS<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td colspan=\"10\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\n            <strong>(in thousands, except per share data)<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>June\u00a030, 2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>December\u00a031, 2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\n            <strong>ASSETS<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\n            <strong>Current assets:<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"max-width:64%;width:64%;min-width:64%;vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Cash and cash equivalents<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:15%;width:15%;min-width:15%;text-align: right;vertical-align: middle;vertical-align: bottom\">61,066<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:15%;width:15%;min-width:15%;text-align: right;vertical-align: middle;vertical-align: bottom\">33,144<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Restricted cash<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,783<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">83<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accounts receivable, net of allowances of $7,834 and $9,866<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">458,990<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">172,909<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Costs and estimated earnings in excess of billings on uncompleted contracts<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">139,342<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">115,614<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Inventories<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">211,388<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">53,996<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Prepaid expenses and other current assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">76,814<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">29,450<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Prepaid income taxes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">29,250<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">4,986<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Total current assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">979,633<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">410,182<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Property, plant and equipment, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">175,741<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">47,808<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Right-of-use assets from operating leases<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">42,706<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">28,251<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Goodwill<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,501,199<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">288,163<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Intangible assets \u2013 finite life, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">999,431<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">96,966<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Intangible assets \u2013 indefinite life<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">9,645<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">9,705<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Deferred income taxes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">449<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Deferred charges and other assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">25,216<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">12,245<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Total assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">3,733,571<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">893,769<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\n            <strong>LIABILITIES AND SHAREHOLDERS\u2019 EQUITY<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Current liabilities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Current portion of debt<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">16,641<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,879<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">195,955<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">117,848<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accrued expenses<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">114,193<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">57,639<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Billings in excess of costs and estimated earnings on uncompleted contracts<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">323,920<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">123,726<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Income taxes payable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1,577<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">4,738<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Total current liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">652,286<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">305,830<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Other liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">17,625<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">3,317<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Debt, less current portion<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">711,065<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">210,559<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Deferred income tax liability, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">236,445<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">27,920<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Operating lease liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">35,012<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">22,961<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Total liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1,652,433<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">570,587<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Commitments and contingencies (See Note 13)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">Shareholders\u2019 equity:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Preferred stock, $0.01 par value; 10,000 shares authorized, none issued<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Common stock, $0.01 par value; 100,000,000 shares authorized, 58,444,845 and<br \/>35,644,537 shares issued and outstanding at June\u00a030, 2026 and December\u00a031, 2025, respectively<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">584<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">355<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Capital in excess of par value<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,069,492<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">269,453<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Retained earnings<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">21,455<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">56,621<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accumulated other comprehensive loss<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(15,673<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(8,901<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Total CECO shareholders&#8217; equity<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,075,858<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">317,528<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Noncontrolling interest<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">5,280<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">5,654<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Total shareholders&#8217; equity<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">2,081,138<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">323,182<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total liabilities and shareholders&#8217; equity<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">3,733,571<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">893,769<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"17\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>CECO ENVIRONMENTAL CORP.<\/strong><br \/>\n            <br \/>\n            <strong>CONSOLIDATED STATEMENTS OF INCOME<\/strong><br \/>\n            <br \/>\n            <strong>(unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td colspan=\"17\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>(in thousands, except share and per share data)<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:44%;width:44%;min-width:44%;vertical-align: bottom\">Net sales<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">284,961<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">185,391<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">490,880<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">362,088<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cost of sales<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">198,493<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">118,283<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">340,492<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">232,818<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Gross profit<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">86,468<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">67,108<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">150,388<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">129,270<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Selling and administrative expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">63,891<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">48,816<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">109,982<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">102,359<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Amortization expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,789<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,937<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">11,792<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">6,033<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Acquisition and integration expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">45,461<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">32<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">55,742<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">8,175<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Gain on sale of Global Pump Solutions business<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(64,502<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other operating expense (income)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">2,505<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,738<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">4,174<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,725<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Loss (income) from operations<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(33,178<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">18,061<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(31,302<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">79,930<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other loss (income)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,298<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(1,454<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">3,691<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(861<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Interest expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">9,102<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">4,898<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">13,332<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">11,115<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">(Loss) income before income taxes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(44,578<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">14,617<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(48,325<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">69,676<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Income tax (benefit) expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(10,089<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">4,511<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(13,589<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">23,127<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Net (loss) income<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(34,489<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">10,106<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(34,736<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">46,549<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Noncontrolling interest<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">279<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">596<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">430<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1,055<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Net (loss) income attributable to CECO Environmental Corp.<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(34,768<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">9,510<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(35,166<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">45,494<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">(Loss) earnings per share:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.80<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">0.27<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.89<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1.29<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.80<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">0.26<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.89<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1.24<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Weighted average number of common shares outstanding:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">43,310,506<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">35,286,065<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">39,521,709<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">35,157,514<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">43,310,506<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">36,558,493<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">39,521,709<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">36,624,237<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"9\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>CECO ENVIRONMENTAL CORP.<\/strong><br \/>\n            <br \/>\n            <strong>CONSOLIDATED STATEMENTS OF CASH FLOWS<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td colspan=\"9\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>(in thousands)<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash flows from operating activities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:64%;width:64%;min-width:64%;vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Net (loss) income<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:15%;width:15%;min-width:15%;text-align: right;vertical-align: middle;vertical-align: bottom\">(34,736<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:15%;width:15%;min-width:15%;text-align: right;vertical-align: middle;vertical-align: bottom\">46,549<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Adjustments to reconcile net (loss) income to net cash used in operating activities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Depreciation and amortization<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">18,120<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">10,157<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Unrealized foreign currency loss (gain)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">3,534<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(3,024<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Intangible asset impairment<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,927<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Inventory fair value adjustment<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">9,515<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Gain on sale of Global Pump Solutions business<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(64,502<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Fair value adjustment to earnout liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(7,403<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">(Gain) loss on sale of property and equipment<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">26<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(34<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Debt discount amortization<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">476<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">412<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Share-based compensation expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">12,848<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">6,234<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">(Recovery) allowance for credit loss<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(1,539<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,297<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Inventory obsolescence expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,496<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">192<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Deferred income tax benefit<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">891<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,335<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Changes in operating assets and liabilities, net of acquisitions and divestiture:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accounts receivable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(180,211<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">4,850<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Costs and estimated earnings in excess of billings on uncompleted contracts<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">3,502<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(19,635<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Inventories<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(9,835<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(8,853<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Prepaid expense and other current assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(60,692<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(13,865<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Deferred charges and other assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(3,155<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(1,512<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">40,998<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">11,884<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accrued expenses<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(11,917<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">9,973<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Billings in excess of costs and estimated earnings on uncompleted contracts<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">180,941<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,524<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Income taxes payable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(5,363<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">5,942<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Other liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">748<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(6,884<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Net cash used in operating activities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(32,426<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(19,363<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash flows from investing activities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Acquisitions of property and equipment<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(7,486<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(4,432<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Net cash proceeds for sale of Global Pump Solutions business<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">105,860<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Cash paid for acquisitions, net of cash acquired<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(436,871<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(97,615<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Net cash (used in) provided by investing activities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(444,357<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">3,813<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash flows from financing activities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Borrowings on revolving credit lines<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">384,700<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">162,000<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Repayments on revolving credit lines<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(96,300<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(142,300<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Borrowings on long-term debt<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">235,000<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Repayments on long-term debt<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(917<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(802<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Payments on finance leases and financing liability<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(393<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Deferred financing fees paid<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(7,664<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Deferred consideration paid for acquisitions<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(1,000<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Equity awards surrendered by employees for tax liability, net of proceeds from employee stock purchase plan and exercise of stock options<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(4,966<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(2,906<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Noncontrolling interest distributions<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(803<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(402<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Net cash provided by financing activities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">509,050<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14,197<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Effect of exchange rate changes on cash, cash equivalents and restricted cash<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,645<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">61<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net increase in cash, cash equivalents and restricted cash<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">30,622<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(1,292<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash, cash equivalents and restricted cash at beginning of period<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">33,227<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">38,201<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash, cash equivalents and restricted cash at end of period<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">63,849<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">36,909<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash paid during the period for:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Interest<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14,131<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">10,940<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Income taxes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14,509<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">18,642<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"17\" style=\"width:100.237%;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>CECO ENVIRONMENTAL CORP.<\/strong><br \/>\n            <br \/>\n            <strong>RECONCILIATION OF GAAP TO NON-GAAP MEASURES<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td colspan=\"17\" style=\"width:100.237%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"width:25.0791%;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"width:1.02848%;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"width:24.0506%;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"width:1.02848%;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: bottom\">\n            <strong>(in millions, except share data)<\/strong>\n          <\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"width:1.02848%;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"width:12.0253%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong><br \/>\n            \n          <\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"width:1.02848%;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"width:1.02848%;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:48%;width:48.0222%;min-width:48%;vertical-align: bottom\">Net (loss) income as reported in accordance with GAAP<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:9.96835%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(34.8<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:9.96835%;min-width:10%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9.5<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:9.96835%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(35.2<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:9.96835%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">45.5<\/td>\n<td style=\"max-width:1%;width:1.02848%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Amortization expense<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">7.8<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2.9<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">11.8<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">6.0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Acquisition and integration expenses<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">45.5<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">55.7<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">8.2<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Gain on sale of Global Pump Solutions business<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(64.5<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Other expense (income)<sup>1<\/sup><\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">12.0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2.7<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">13.7<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(2.6<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Foreign currency remeasurement<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">2.0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1.4<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">3.6<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.8<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Tax (benefit) expense of adjustments<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(11.0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.4<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(14.3<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">20.6<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: bottom\">Non-GAAP net income<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">21.5<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8.7<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">35.4<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">12.4<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Depreciation<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">4.2<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2.2<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">6.3<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">4.1<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Non-cash stock compensation<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">3.8<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2.9<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">4.3<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">6.2<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Other (income) \/ expense<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.3<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.1<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.1<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Interest expense<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">9.1<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4.9<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">13.3<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">11.1<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Income tax expense<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.9<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4.1<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.7<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">2.5<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Noncontrolling interest<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">0.3<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.6<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">0.4<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:9.96835%;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1.1<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Adjusted EBITDA<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">40.2<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23.3<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">60.5<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">37.3<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"width:12.0253%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: bottom\">Earnings per share:<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"width:12.0253%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.80<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.27<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.89<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">1.29<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.80<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.26<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.89<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">)<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">1.24<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"width:12.0253%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: bottom\">Non-GAAP net income per share:<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"width:12.0253%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"width:10.9968%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.50<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.25<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.90<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.35<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%;vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.47<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.24<\/td>\n<td style=\"width:1.02848%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.85<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">$<\/td>\n<td style=\"width:9.96835%;text-align: right;vertical-align: middle;vertical-align: bottom\">0.34<\/td>\n<td style=\"width:1.02848%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"width:48.0222%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:9.96835%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:9.96835%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:9.96835%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<td style=\"width:9.96835%\">\u00a0<\/td>\n<td style=\"width:1.02848%\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>(1) Includes $9.5 million related to the purchase accounting inventory valuation adjustment.<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>(in millions)<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:48%;width:48%;min-width:48%;vertical-align: bottom\">Gross profit as reported in accordance with GAAP<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">86.5<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">67.1<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">150.4<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">129.3<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Inventory valuation adjustment<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">9.5<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">&#8211;<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">9.5<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">&#8211;<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Non-GAAP gross profit<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">96.0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">67.1<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">159.9<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">129.3<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Gross profit margin in accordance with GAAP<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">30.3<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">36.2<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">30.6<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">35.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Non-GAAP gross profit margin<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">33.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">36.2<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">32.6<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">35.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six months ended June\u00a030,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>(in millions)<\/strong>\n          <\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:49%;width:49%;min-width:49%;vertical-align: bottom\">Net cash provided by (used in) operating activities<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(19.4<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(7.7<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(32.4<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(19.4<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjustments to operating cash flow<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">77.5<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">5.8<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">77.5<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">5.8<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net cash provided by (used in) operating activities, as adjusted<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">58.1<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(1.9<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">45.1<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(13.6<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Acquisitions of property and equipment<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(4.9<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(1.1<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(7.5<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(4.4<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Free Cash Flow<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(24.3<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(8.8<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(40.0<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(23.8<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted Free Cash Flow<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">53.2<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(3.0<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">37.5<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(18.0<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<p align=\"center\">\n        <strong>NOTE REGARDING NON-GAAP FINANCIAL MEASURES<\/strong>\n      <\/p>\n<p>CECO is providing certain non-GAAP historical financial measures as presented above as we believe that these figures are useful to investors and management in evaluating the Company&#8217;s ongoing financial performance, and we believe that they provide greater transparency to investors as supplemental information to its GAAP results. A &#8220;non-GAAP financial measure&#8221; is a numerical measure of a company&#8217;s historical financial performance that excludes amounts that are included in the most directly comparable measure calculated and presented in accordance with GAAP.<\/p>\n<p>Non-GAAP operating income, non-GAAP net income, non-GAAP operating margin, non-GAAP basic and diluted earnings per share, adjusted EBITDA, and free cash flow, as presented in the financial data included in this press release, have been adjusted to exclude the effects of acquisition and integration expenses; divestiture gains and expenses; amortization expenses for acquisition-related intangible assets; earn-out expenses (income); restructuring expenses; executive transition expenses; asbestos and other legal matter expenses; foreign currency remeasurement; and the associated tax benefit or cost of these items. Management believes that these items are not necessarily indicative of the Company\u2019s ongoing operations and their exclusion provides individuals with additional information to better compare the Company&#8217;s results over multiple periods. Management utilizes this information to evaluate its ongoing financial performance. Our financial statements may continue to be affected by items similar to those excluded in the non-GAAP adjustments described above, and exclusion of these items from our non-GAAP financial measures should not be construed as an inference that all such costs are unusual or infrequent.<\/p>\n<p>Non-GAAP operating income, non-GAAP net income, non-GAAP operating margin, Adjusted EBITDA and free cash flow are not calculated in accordance with GAAP, and should be considered supplemental to, and not as a substitute for, or superior to, financial measures calculated in accordance with GAAP. Non-GAAP financial measures have limitations in that they do not reflect all of the costs associated with the operations of our business as determined in accordance with GAAP. As a result, you should not consider these measures in isolation or as a substitute for analysis of CECO\u2019s results as reported under GAAP. Additionally, CECO cautions investors that non-GAAP financial measures used by the Company may not be comparable to similarly titled measures of other companies.<\/p>\n<p>In accordance with the requirements of Regulation G issued by the Securities and Exchange Commission, non-GAAP operating income, non-GAAP net income, non-GAAP operating margin, non-GAAP basic and diluted earnings per share, adjusted EBITDA and free cash flow stated in the tables above are reconciled to the most directly comparable GAAP financial measures.\u00a0\u00a0\u00a0\u00a0\u00a0<\/p>\n<p>Non-GAAP measures presented on a forward-looking basis were not reconciled to the comparable GAAP financial measures because the reconciliation could not be performed without unreasonable efforts. The GAAP measures are not accessible on a forward-looking basis because we are currently unable to predict with a reasonable degree of certainty the type and extent of certain items that would be expected to impact GAAP measures for these periods but would not impact the non-GAAP measures. Such items may include acquisition and integration expenses; divestiture gains and expenses; amortization expenses for acquisition-related intangible assets; earn-out expenses (income); restructuring expenses; executive transition expenses; asbestos and other legal matter expenses; foreign currency remeasurement; and the associated tax benefit or cost of these items.<\/p>\n<p align=\"center\">\n        <strong>SAFE HARBOR<\/strong>\n      <\/p>\n<p align=\"justify\">Any statements contained in this Press Release, other than statements of historical fact, including statements about management\u2019s beliefs and expectations, are forward-looking statements within the meaning of Section 27A of the Securities Act of 1933 and Section 21E of the Securities Exchange Act of 1934, both as amended, and are intended to be covered by the safe harbor for forward-looking statements provided by the Private Securities Litigation Reform Act of 1995, and should be evaluated as such. These statements are made on the basis of management\u2019s views and assumptions regarding future events and business performance. We use words such as \u201cbelieve,\u201d \u201cexpect,\u201d \u201canticipate,\u201d \u201cintends,\u201d \u201cestimate,\u201d \u201cforecast,\u201d \u201cproject,\u201d \u201cwill,\u201d \u201cplan,\u201d \u201cshould\u201d and similar expressions to identify forward-looking statements.<\/p>\n<p align=\"justify\">Forward-looking statements in this Press Release include, but are not limited to, statements regarding our full year 2026 guidance; expected revenue, margins, Adjusted EBITDA, earnings, cash flow, orders and backlog conversion; the integration of Thermon Group Holdings, Inc. (\u201cThermon\u201d), which the Company acquired on June 1, 2026; the anticipated benefits and synergies of the Thermon acquisition and the timing of their realization; and our strategic, operational and financial objectives.<\/p>\n<p align=\"justify\">Forward-looking statements involve risks and uncertainties that may cause actual results to differ materially from any future results, performance or achievements expressed or implied by such statements. Potential risks and uncertainties, among others, that could cause actual results to differ materially are discussed under \u201cPart I \u2013 Item 1A. Risk Factors\u201d of the Company\u2019s Annual Report on Form 10-K for the fiscal year ended December 31, 2025 and under \u201cPart II \u2013 Item 1A. Risk Factors\u201d of the Company\u2019s Quarterly Reports on Form 10-Q, including the Quarterly Report on Form 10-Q for the quarterly period ended June 30, 2026, and include, but are not limited to: the ability to successfully integrate the Thermon business with the Company\u2019s existing operations; risks that the integration of Thermon may divert management\u2019s attention from ongoing business operations and result in substantial integration and transaction-related costs; the ability of the combined company to retain customers and key personnel, hire qualified personnel and maintain relationships with its suppliers and customers following the Thermon acquisition, and the resulting effects on the combined company\u2019s operating results and business generally; the risk that problems may arise in successfully integrating the Thermon business, which may result in the combined company not operating as effectively and efficiently as expected; the risk that the combined company may be unable to achieve the synergies anticipated from the Thermon acquisition or that it may take longer than expected to achieve those synergies; risks associated with the preliminary purchase accounting for the Thermon acquisition, including changes resulting from the finalization of the purchase price allocation and the resulting effects on goodwill, intangible assets, amortization expense and other financial statement amounts; dependence on fixed price contracts and the risks associated therewith, including actual costs exceeding estimates and method of accounting for revenue; the concentration of our orders and backlog in large-scale power generation projects and the level of demand in the end markets we serve; our ability to convert backlog into revenue, including the timing of project execution and the right of customers to cancel or delay orders; the effect of growth on our infrastructure, resources and existing sales; the ability to expand operations in both new and existing markets; the potential for contract delay or cancellation as a result of ongoing or worsening supply chain challenges, or other customer-driven project delays relating to supply chain challenges or other customer considerations, including those related to the conflict in the Middle East; liabilities arising from faulty services or products that could result in significant professional or product liability, warranty or other claims; changes in or developments with respect to any litigation or investigation; failure to meet timely completion or performance standards that could result in higher cost and reduced profits or, in some cases, losses on projects; the potential for fluctuations in prices for manufactured components and raw materials, including as a result of tariffs and surcharges, and rising energy costs; inflationary pressures relating to rising raw material costs and the cost of labor; the substantial amount of debt incurred in connection with the Thermon acquisition and other strategic transactions, including borrowings under our senior secured credit facility, and our ability to service, repay or refinance that debt or incur additional debt in the future; changes in interest rates, our ability to comply with the financial and other restrictive covenants under our senior secured credit facility, and our ability to maintain sufficient borrowing availability thereunder; our ability to generate cash flow from operations and to manage working capital, including customer advance payments, progress billings and the timing of customer collections; fluctuations in foreign currency exchange rates; the impact of federal, state or local government regulations, including with respect to tax policy; our ability to repurchase shares of our common stock and the amounts and timing of repurchases, if any; our ability to successfully realize the expected benefits of our restructuring program; economic and political conditions generally; our ability to optimize our business portfolio by identifying acquisition targets, executing upon any strategic acquisitions or divestitures, integrating acquired businesses and realizing the synergies from strategic transactions; the unpredictability and severity of catastrophic events, including cybersecurity threats, acts of terrorism, outbreaks of war or hostilities or public health crises, as well as management\u2019s response to any of the aforementioned factors; and our ability to remediate our material weaknesses, or any other material weakness that we may identify in the future, that could result in material misstatements in our financial statements.<\/p>\n<p align=\"justify\">Many of these risks are beyond management\u2019s ability to control or predict. Should one or more of these risks or uncertainties materialize, or should any related assumptions prove incorrect, actual results may vary in material aspects from those currently anticipated. Investors are cautioned not to place undue reliance on such forward-looking statements as they speak only to our views as of the date the statement is made. Except as required under the federal securities laws or the rules and regulations of the Securities and Exchange Commission, we undertake no obligation to update or review any forward-looking statements, whether as a result of new information, future events or otherwise.<\/p>\n<p>      <img decoding=\"async\" alt=\"\" class=\"__GNW8366DE3E__IMG\" src=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=\" \/><br \/>\n      <br \/>\n      <img decoding=\"async\" alt=\"\" src=\"https:\/\/ml.globenewswire.com\/media\/YTZkZDVjN2ItYzk3Zi00NjIzLWI1ZjEtMWIwMjFmZGZiMzg4LTEwMTcwNzktMjAyNi0wOC0xMC1lbg==\/tiny\/CECO-Environmental-Corp-.png\" \/>\n    <\/div>\n<div class=\"mw_contactinfo\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Record-Setting Second Quarter Highlighted by Strong Orders, Up 191 Percent and Backlog Above $1.8 Billion Thermon Integration Delivering Synergies Ahead of Plan Company Raises Full Year Consolidated 2026 Outlook ADDISON, Texas, Aug. 10, 2026 (GLOBE NEWSWIRE) &#8212; CECO Environmental Corp. (Nasdaq: CECO) (&#8220;CECO&#8221;), a leading environmentally focused, diversified industrial company whose solutions protect people, the environment, and industrial equipment, today reported its financial results for the second quarter of 2026. Highlights for the Quarter (1) First quarter as a combined company following the June 1, 2026 acquisition of Thermon Orders of $798.5 million, up 191 percent; backlog of $1,819.1 million, up 164 percent Revenue of $285.0 million, up 54 percent Gross profit of $86.5 million, up 29 percent; gross margin &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;CECO Environmental Reports Second Quarter 2026 Results&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-992581","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CECO Environmental Reports Second Quarter 2026 Results - Market Newsdesk<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CECO Environmental Reports Second Quarter 2026 Results - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"Record-Setting Second Quarter Highlighted by Strong Orders, Up 191 Percent and Backlog Above $1.8 Billion Thermon Integration Delivering Synergies Ahead of Plan Company Raises Full Year Consolidated 2026 Outlook ADDISON, Texas, Aug. 10, 2026 (GLOBE NEWSWIRE) &#8212; CECO Environmental Corp. (Nasdaq: CECO) (&#8220;CECO&#8221;), a leading environmentally focused, diversified industrial company whose solutions protect people, the environment, and industrial equipment, today reported its financial results for the second quarter of 2026. Highlights for the Quarter (1) First quarter as a combined company following the June 1, 2026 acquisition of Thermon Orders of $798.5 million, up 191 percent; backlog of $1,819.1 million, up 164 percent Revenue of $285.0 million, up 54 percent Gross profit of $86.5 million, up 29 percent; gross margin &hellip; Continue reading &quot;CECO Environmental Reports Second Quarter 2026 Results&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-10T11:10:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=\" \/>\n<meta name=\"author\" content=\"Newsdesk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Newsdesk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"CECO Environmental Reports Second Quarter 2026 Results\",\"datePublished\":\"2026-08-10T11:10:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/\"},\"wordCount\":3343,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/\",\"name\":\"CECO Environmental Reports Second Quarter 2026 Results - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=\",\"datePublished\":\"2026-08-10T11:10:12+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=\",\"contentUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-second-quarter-2026-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CECO Environmental Reports Second Quarter 2026 Results\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\",\"name\":\"Market Newsdesk\",\"description\":\"Latest Business News in Real Time\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\",\"name\":\"Newsdesk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"caption\":\"Newsdesk\"},\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/author\\\/newsdesk\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CECO Environmental Reports Second Quarter 2026 Results - Market Newsdesk","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/","og_locale":"en_US","og_type":"article","og_title":"CECO Environmental Reports Second Quarter 2026 Results - Market Newsdesk","og_description":"Record-Setting Second Quarter Highlighted by Strong Orders, Up 191 Percent and Backlog Above $1.8 Billion Thermon Integration Delivering Synergies Ahead of Plan Company Raises Full Year Consolidated 2026 Outlook ADDISON, Texas, Aug. 10, 2026 (GLOBE NEWSWIRE) &#8212; CECO Environmental Corp. (Nasdaq: CECO) (&#8220;CECO&#8221;), a leading environmentally focused, diversified industrial company whose solutions protect people, the environment, and industrial equipment, today reported its financial results for the second quarter of 2026. Highlights for the Quarter (1) First quarter as a combined company following the June 1, 2026 acquisition of Thermon Orders of $798.5 million, up 191 percent; backlog of $1,819.1 million, up 164 percent Revenue of $285.0 million, up 54 percent Gross profit of $86.5 million, up 29 percent; gross margin &hellip; Continue reading \"CECO Environmental Reports Second Quarter 2026 Results\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/","og_site_name":"Market Newsdesk","article_published_time":"2026-08-10T11:10:12+00:00","og_image":[{"url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"CECO Environmental Reports Second Quarter 2026 Results","datePublished":"2026-08-10T11:10:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/"},"wordCount":3343,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/","name":"CECO Environmental Reports Second Quarter 2026 Results - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=","datePublished":"2026-08-10T11:10:12+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/#primaryimage","url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY=","contentUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTgwNjY1MCM3NzY3MTE1IzIwMDU1MDY="},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-second-quarter-2026-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"CECO Environmental Reports Second Quarter 2026 Results"}]},{"@type":"WebSite","@id":"https:\/\/www.marketnewsdesk.com\/#website","url":"https:\/\/www.marketnewsdesk.com\/","name":"Market Newsdesk","description":"Latest Business News in Real Time","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marketnewsdesk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979","name":"Newsdesk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","caption":"Newsdesk"},"url":"https:\/\/www.marketnewsdesk.com\/index.php\/author\/newsdesk\/"}]}},"_links":{"self":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/992581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/comments?post=992581"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/992581\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=992581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=992581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=992581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}