{"id":955233,"date":"2026-04-28T07:07:02","date_gmt":"2026-04-28T11:07:02","guid":{"rendered":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/"},"modified":"2026-04-28T07:07:02","modified_gmt":"2026-04-28T11:07:02","slug":"ceco-environmental-reports-first-quarter-2026-results","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/","title":{"rendered":"CECO Environmental Reports First Quarter 2026 Results"},"content":{"rendered":"<div class=\"mw_release\">\n<p align=\"center\">\n        <em>Strong First Quarter Results Highlighted by Orders up 97 Percent and Backlog Eclipsing $1B<\/em><br \/>\n        <br \/>\n        <em>Largest\u00a0Natural Gas\u00a0Power\u00a0Order\u00a0in Company\u00a0History\u00a0Booked in April 2026<\/em><br \/>\n        <br \/>\n        <em>Company\u00a0Raises Full Year 2026 Guidance<\/em>\n      <\/p>\n<p align=\"justify\">ADDISON, Texas, April  28, 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 first quarter of 2026 <em>\u2013 <\/em>as well as an update for the proposed merger transaction with Thermon Group Holdings, Inc. (&#8220;Thermon&#8221;).<\/p>\n<p>\n        <strong><br \/>\n          <u>Highlights for the Quarter<\/u><br \/>\n        <\/strong><br \/>\n        <sup><br \/>\n          <strong>(1)<\/strong><br \/>\n        <\/sup>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt\">Orders of $449.5 million, up 97 percent<\/li>\n<li style=\"margin-top:6pt\">Backlog of $1,035.1 million, up 72 percent<\/li>\n<li style=\"margin-top:6pt\">Revenue of $205.9 million, up 17 percent<\/li>\n<li style=\"margin-top:6pt\">Gross profit of $63.9 million, up 3 percent; Gross margin of 31.0 percent<\/li>\n<li style=\"margin-top:6pt\">Net loss of $(0.4) million, down 101 percent; non-GAAP net income of $13.9 million, up 297 percent<\/li>\n<li style=\"margin-top:6pt\">GAAP EPS (diluted) of $(0.01); non-GAAP EPS (diluted) of $0.36<\/li>\n<li style=\"margin-top:6pt\">Adjusted EBITDA of $20.4 million, up 46 percent<\/li>\n<li style=\"margin-top:6pt\">Free cash flow of $(15.7) million, down 4 percent<\/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 Chief Executive Officer commented, \u201cI am pleased to highlight the tremendous topline growth and steady EBITDA margin expansion we continue to deliver at CECO. This is the first time our quarter-end backlog has eclipsed $1 billion, which reflects our incredible 2.2 book-to-bill ratio during the first quarter. We continue to secure strategic, large-scale projects to enable natural gas power generation expansion in support of a tremendous global investment in electrical power demand for data centers, artificial intelligence computing, industrial reshoring and electrification. This strong momentum continued into April 2026 as we have already booked approximately over $450 million in new orders including the largest ever order in the Natural Gas Power market, setting our second quarter bookings on a course to materially exceed the record we just set in the first quarter.\u201d<\/p>\n<p align=\"justify\">First quarter operating income was $1.9 million, down $60.0 million or 97 percent when compared to $61.9 million in the first quarter 2025. On an adjusted basis, non-GAAP operating income was $17.9 million, up $9.3 million or 108 percent when compared to $8.6 million in the first quarter of 2025. Net loss was $(0.4) million in the quarter, down $36.4 million or 101 percent when compared to net income of $36.0 million in the first quarter of 2025. Non-GAAP net income was $13.9 million, up $10.4 million or 297 percent when compared to $3.5 million in the first quarter of 2025. Adjusted EBITDA of $20.4 million, reflecting a margin of 9.9 percent, was up $6.4 million or 46 percent compared to $14.0 million in the first quarter of 2025. Free cash flow in the quarter was $(15.7) million, down $0.6 million or 4 percent compared to $(15.1) million in the first quarter of 2025.<\/p>\n<p align=\"justify\">\u201cOur adjusted EBITDA margin expansion of almost 200 basis points reflects our improving volume conversion and the early, positive results of early implementation of our 80\/20 programs \u2013 which are designed to improve efficiencies and provide operating benefits from commercial and operational simplification. While gross margins did experience contraction in Q1, this was anticipated given last year\u2019s sale of the higher margin but non-strategic global pump business combined with the timing of lower margin jobs booked in early 2025. As we progress throughout 2026 our backlog profile reflects higher margin projects, thus we expect higher gross margins in Q2 and throughout the remainder of the year. Currently, we see no material impact from the Iran War or higher inflation, but we are monitoring the situation and are strategically prepared with additional price and cost actions, if appropriate,\u201d added Gleason.<\/p>\n<p align=\"justify\">\n        <br \/>\n        <strong><br \/>\n          <u>2026 Full Year Guidance Update<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p align=\"justify\">The Company\u00a0raises\u00a0its\u00a0full year outlook for 2026\u00a0to reflect\u00a0revenue\u00a0between\u00a0$940\u00a0million and\u00a0$1\u00a0billion, up approximately 25\u00a0percent at the midpoint of the range when compared to 2025 and increases full year Adjusted EBITDA between $120\u00a0and $140\u00a0million, up approximately\u00a045\u00a0percent at the midpoint of the range. This compares to the previous guidance range of revenue between $925 and $975 million, and adjusted EBITDA between $115 and $135 million. The Company\u00a0reiterates its\u00a0full year free cash flow of\u00a0at least\u00a050% of Adjusted EBITDA.\u00a0\u00a0The Company\u2019s full year outlook excludes\u00a0the\u00a0impact of the transaction with Thermon.\u00a0\u00a0\u00a0<\/p>\n<p>&#8220;Given another strong start to the year with our record backlog and accelerating orders pace, we are raising our full year 2026 outlook. We now expect organic revenues to grow 25 percent, and adjusted EBITDA to grow almost 45 percent. Separately, the acquisition of Thermon remains very much on track for a second quarter close. Just a few weeks ago, Thermon issued a press release highlighting exciting orders with their liquid load bank solution, which is a new product for data center markets. The combination of CECO and Thermon will yield a double-digit growth company with attractive margins and operating cash flows. We remain confident the combination will also unlock at least $40 million in cost synergies and meaningful commercial opportunities. I look forward to sharing more updates and a combined company financial outlook soon,\u201d concluded Gleason.<\/p>\n<p align=\"justify\">\n        <strong><br \/>\n          <u>Thermon Transaction Update <\/u><br \/>\n        <\/strong>\n      <\/p>\n<p align=\"justify\">CECO and Thermon continue to progress toward completion of the previously announced merger. The registration statement on Form S-4 has been declared effective by the SEC, and CECO and Thermon have mailed the definitive joint proxy statement\/prospectus to their respective stockholders. Stockholder votes are expected to take place on May 27, 2026, as described in the joint proxy statement\/prospectus. The transaction is expected to close in June.<\/p>\n<p align=\"center\">\n        <strong>EARNINGS CONFERENCE CALL<\/strong>\n      <\/p>\n<p align=\"justify\">\n        <br \/>A conference call is scheduled for today at 8:30 a.m. ET to discuss the first quarter 2026 financial results. Please visit the Investor Relations portion of the website (https:\/\/investors.cecoenviro.com) to listen to the call via webcast. The conference call may also be accessed by visiting https:\/\/edge.media-server.com\/mmc\/p\/o4vmw7mt. <\/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:\/\/edge.media-server.com\/mmc\/p\/o4vmw7mt.<\/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 business 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, 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 \/>888-990-6670<br \/>investor.relations@onececo.com<\/p>\n<p>Investor Relations Contact:<\/p>\n<p align=\"justify\">Steven Hooser and Jean Marie Young<br \/>Three Part Advisors, LLC<br \/>214-872-2710<br \/>investor.relations@onececo.com<\/p>\n<p><strong>No Offer or Solicitation<\/strong><\/p>\n<p align=\"justify\">This communication is for informational purposes only and is not intended to and shall not constitute an offer to buy or sell or the solicitation of an offer to buy or sell any securities, or a solicitation of any vote or approval, nor shall there be any sale of securities in any jurisdiction in which such offer, solicitation or sale would be unlawful prior to registration or qualification under the securities laws of any such jurisdiction. No offering of securities shall be made, except by means of a prospectus meeting the requirements of Section 10 of the Securities Act of 1933, as amended.<\/p>\n<p align=\"justify\">\n        <strong>Additional Information and Where to Find It<\/strong>\n      <\/p>\n<p align=\"justify\">This communication relates to the proposed merger transaction (the \u201cProposed Transaction\u201d) involving Thermon and CECO, among other things. The issuance of shares of CECO common stock in connection with the Proposed Transaction is being submitted to the stockholders of CECO for their consideration, and the Proposed Transaction is being submitted to the stockholders of Thermon for their consideration. In connection therewith, CECO filed with the SEC a registration statement on Form S-4 (the \u201cRegistration Statement\u201d) that included a joint proxy statement\/prospectus (the \u201cJoint Proxy Statement\/Prospectus\u201d), and the Registration Statement has been declared effective by the SEC. CECO and Thermon have mailed the definitive Joint Proxy Statement\/Prospectus to their respective stockholders. Each of CECO and Thermon may also file other relevant documents with the SEC regarding the Proposed Transaction. This communication is not a substitute for the Joint Proxy Statement\/Prospectus or any other document that CECO or Thermon, as applicable, has filed or may file with the SEC in connection with the Proposed Transaction. BEFORE MAKING ANY VOTING OR INVESTMENT DECISION, INVESTORS AND SECURITY HOLDERS OF CECO AND THERMON ARE URGED TO READ THE JOINT PROXY STATEMENT\/PROSPECTUS AND ANY OTHER RELEVANT DOCUMENTS THAT HAVE BEEN OR MAY BE FILED WITH THE SEC, AS WELL AS ANY AMENDMENTS OR SUPPLEMENTS TO THESE DOCUMENTS, CAREFULLY AND IN THEIR ENTIRETY BECAUSE THEY CONTAIN IMPORTANT INFORMATION ABOUT CECO, THERMON, THE PROPOSED TRANSACTION AND RELATED MATTERS. Investors and security holders may obtain free copies of the definitive Joint Proxy Statement\/Prospectus, as well as other filings containing important information about CECO, Thermon and the Proposed Transaction, through the website maintained by the SEC at https:\/\/www.sec.gov. Copies of the documents filed with the SEC by CECO are available free of charge on CECO\u2019s website at https:\/\/investors.cecoenviro.com. Copies of the documents filed with the SEC by Thermon are available free of charge on Thermon\u2019s website at https:\/\/ir.thermon.com. The information included on, or accessible through, CECO\u2019s or Thermon\u2019s website is not incorporated by reference into this communication.<\/p>\n<p align=\"justify\">\n        <strong>Participants in the Solicitation<\/strong>\n      <\/p>\n<p align=\"justify\">CECO, Thermon and certain of their respective directors and executive officers may be deemed to be participants in the solicitation of proxies in respect of the Proposed Transaction.<\/p>\n<p align=\"justify\">Information about the directors and executive officers of CECO, <u>including<\/u> a description of their direct or indirect interests, by security holdings or otherwise, is set forth in (i) the definitive Joint Proxy Statement\/Prospectus filed by CECO (and which is available at <u><a href=\"https:\/\/www.globenewswire.com\/Tracker?data=sm3vJjnqpzCEPgDYytmtDRtnnMqqo2-IEzV637GEOuDveeSNW3YDs1DJYsbeTorrk-2v20Vzey1GTiHzrUGg8M2ICra6W67hiydlb8-kOSzhoz4Me6MNvvYhNZVz8MwUYv_r-BXoXo8cY-hZlcQiJh9Lc1_PeCK2iA-UlIhximzV6eccPIMJJNC_3FRZQL19IT8EVNrG3ujmXzkgzVklnfKZIxjoSgDMsR4eifh1VtG-KY2v5w-iVk1lTc87sdy56Fygk3yKYGRxyybY3Xk7kw==\" rel=\"nofollow\" target=\"_blank\">https:\/\/www.sec.gov\/Archives\/edgar\/data\/3197\/000110465926047714\/tm2611145-7_424b3.htm<\/a><\/u>) and (ii) to the extent holdings of CECO\u2019s securities by the directors or executive officers of CECO have changed since the amounts set forth in the definitive Joint Proxy Statement\/Prospectus, such changes have been or will be reflected on Initial Statement of Beneficial Ownership of Securities on Form 3, Statement of Changes in Beneficial Ownership on Form 4, or Annual Statement of Changes in Beneficial Ownership on Form 5 filed with the SEC, which are available at <u><a href=\"https:\/\/www.globenewswire.com\/Tracker?data=sm3vJjnqpzCEPgDYytmtDRHIJ5sx1dZKuX5sAzEvIBL4uxsuM-r2XQqS5PFgMh9LqgmMTt8CSWvZHq0IinLZa_7Ox5CGTAbHQGsoRmuFNMtjUDMnEl7i3cY6XUMg4s4ldxK_zvzZ6mzpevczusBIWjh9ix092vXmFqfQG6UD21Yzt8LuQD2GwxNLqWOCrlLCMAu9VQchXZHhcwmbu-rla83ld-kvTqP_cvb1VzIapSw=\" rel=\"nofollow\" target=\"_blank\">https:\/\/www.sec.gov\/cgi-bin\/own-disp?action=getissuer&amp;CIK=0000003197<\/a><\/u>.<\/p>\n<p align=\"justify\">Information about the directors and executive officers of Thermon, including a description of their direct or indirect interests, by security holdings or otherwise, is set forth in (i) Thermon\u2019s proxy statement for its 2025 Annual Meeting of Stockholders, which was filed with the SEC on June 18, 2025 (and which is available at https:\/\/www.sec.gov\/Archives\/edgar\/data\/1489096\/000148909625000097\/thr-20250618.htm), (ii) the definitive Joint Proxy Statement\/Prospectus filed by Thermon (and which is available at <u><a href=\"https:\/\/www.globenewswire.com\/Tracker?data=sm3vJjnqpzCEPgDYytmtDRtnnMqqo2-IEzV637GEOuDveeSNW3YDs1DJYsbeTorrJDVSlbNXs5xqwgHpqemgTSyB5pQsj3d3gdRkV0dvO7zjZIkPFbcExXyc9yqLa2ov3IkBLCOD9Q0dOeEetzBw8ol_mwuC445j6Jgb8e_Py0Q8QA0DU9jRmdYZIAkZ3CdGUuuZapg9LTgTDMfHqQ9N4vz5poh1y6VvZKohWgsQ-_kKZx0ROBff89g7j723qsNs3BMpz8PSuRwHo5LaPzORQQ==\" rel=\"nofollow\" target=\"_blank\">https:\/\/www.sec.gov\/Archives\/edgar\/data\/1489096\/000110465926047723\/tm2612301-1_defm14a.htm<\/a><\/u>) and (iii) to the extent holdings of Thermon\u2019s securities by the directors or executive officers of Thermon have changed since the amounts set forth in the definitive Joint Proxy Statement\/Prospectus, such changes have been or will be reflected on Initial Statement of Beneficial Ownership of Securities on Form 3, Statement of Changes in Beneficial Ownership on Form 4, or Annual Statement of Changes in Beneficial Ownership on Form 5 filed with the SEC, which are available at <u><a href=\"https:\/\/www.globenewswire.com\/Tracker?data=sm3vJjnqpzCEPgDYytmtDRHIJ5sx1dZKuX5sAzEvIBL4uxsuM-r2XQqS5PFgMh9LqgmMTt8CSWvZHq0IinLZa02H_uDVoahk-nCipOG7CHo0KNbGoY1tVUQLrAqpUd6-awMUkuXRMU8uzuYYncXc7jUhso45Ksbt2RKsnSGkCPkUeMlIjWHMdmumrlm06Xab_Lc4QjNi5tJFIPpmYIAgE5DlC-AtmuJqY4nFZhd-uxM=\" rel=\"nofollow\" target=\"_blank\">https:\/\/www.sec.gov\/cgi-bin\/own-disp?action=getissuer&amp;CIK=0001489096<\/a><\/u>.<\/p>\n<p align=\"justify\">Investors should read the Joint Proxy Statement\/Prospectus carefully before making any voting or investment decisions. You may obtain free copies of these documents from CECO and Thermon using the sources indicated above.<\/p>\n<p>\n        <strong>Forward-Looking Statements<\/strong>\n      <\/p>\n<p align=\"justify\">This communication contains \u201cforward-looking statements\u201d within the meaning of Section 27A of the Securities Act and Section 21E of the Exchange Act. All statements, other than statements of historical fact, included in this Form 8-K that address events, or developments that CECO and Thermon expect, believe, or anticipate will or may occur in the future are forward-looking statements. The words \u201cintend,\u201d \u201cexpect,\u201d and similar expressions are intended to identify forward-looking statements. Forward-looking statements in this communication, but are not limited to, statements regarding the Proposed Transaction, pro forma descriptions of the combined company and its operations, integration and transition plans, synergies, opportunities and anticipated future performance. However, the absence of these words or similar expressions does not mean that a statement is not forward-looking.<\/p>\n<p align=\"justify\">There are a number of risks and uncertainties that could cause actual results to differ materially from the forward-looking statements included in this communication. These include the expected timing and likelihood of completion of the Proposed Transaction, including the timing, receipt and terms and conditions of any required governmental and regulatory approvals of the Proposed Transaction that could reduce anticipated benefits or cause the parties to abandon the Proposed Transaction, the ability to successfully integrate the businesses, the occurrence of any event, change or other circumstances that could give rise to the termination of the Merger Agreement, the possibility that stockholders of CECO or Thermon may not approve the Proposed Transaction, the risk that the parties may not be able to satisfy the conditions to the Proposed Transaction in a timely manner or at all, risks related to disruption of management time from ongoing business operations due to the Proposed Transaction, the risk that any announcements relating to the Proposed Transaction could have adverse effects on the market price of CECO\u2019s common stock or Thermon\u2019s common stock, the risk that the Proposed Transaction and its announcement could have an adverse effect on the ability of CECO and Thermon to retain customers and retain and hire key personnel and maintain relationships with their suppliers and customers and on their operating results and businesses generally, the risk the pending Proposed Transaction could distract management of both entities and they will incur substantial costs, the risk that problems may arise in successfully integrating the businesses of the companies, 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 synergies or it may take longer than expected to achieve those synergies and other important factors that could cause actual results to differ materially from those projected. All such factors are difficult to predict and are beyond CECO\u2019s or Thermon\u2019s control, including those detailed in CECO\u2019s annual reports on Form 10-K, quarterly reports on Form 10-Q and current reports on Form 8-K that are available on its website at https:\/\/investors.cecoenviro.com and on the SEC\u2019s website at https:\/\/www.sec.gov, and those detailed in Thermon\u2019s annual reports on Form 10-K, quarterly reports on Form 10-Q and current reports on Form 8-K that are available on Thermon\u2019s website at https:\/\/ir.thermon.com and on the SEC\u2019s website at <u><a href=\"https:\/\/www.globenewswire.com\/Tracker?data=sm3vJjnqpzCEPgDYytmtDeE4Yi_vtB_-uy7zZsGbJJH4wNyFe9o63uGlQTJvFnUX-wJhnVjSWrZIYSM2JApMcBJzxSKAvIJBtqOvSUiwRxg=\" rel=\"nofollow\" target=\"_blank\">https:\/\/www.sec.gov<\/a><\/u>.<\/p>\n<p align=\"justify\">All forward-looking statements are based on assumptions that CECO or Thermon believe to be reasonable but that may not prove to be accurate. Such forward-looking statements are based on assumptions and analyses made by CECO and Thermon in light of their perceptions of current conditions, expected future developments, and other factors that CECO and Thermon believe are appropriate under the circumstances. These statements are subject to a number of known and unknown risks and uncertainties. Forward-looking statements are not guarantees of future performance and actual events may be materially different from those expressed or implied in the forward-looking statements. The forward-looking statements in this communication speak as of the date of this communication.<\/p>\n<p>Neither CECO nor Thermon undertakes, and each of them expressly disclaims, any duty to update any forward-looking statement whether as a result of new information, future events or otherwise, except as required by law. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as the date hereof.<\/p>\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\">\n            <strong>CECO ENVIRONMENTAL CORP.<br \/>CONSOLIDATED BALANCE SHEETS<\/strong><br \/>\n            <strong><br \/>\n              <br \/>\n            <\/strong><br \/>\n            <strong><br \/>\n              <br \/>\n            <\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td 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>March\u00a031, 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 style=\"vertical-align: bottom\">\n            <strong>ASSETS<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;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=\"border-top: solid black 1pt;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: top\">Current assets:<\/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:68%;width:68%;min-width:68%;vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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:13%;width:13%;min-width:13%;text-align: right;vertical-align: middle;vertical-align: bottom\">45,411<\/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:13%;width:13%;min-width:13%;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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">96<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">Accounts receivable, net of allowances of $5,306 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\">278,528<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">103,720<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">60,175<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">40,739<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">10,564<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: top\">Total current assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">539,233<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;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 style=\"vertical-align: top\">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\">48,092<\/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 style=\"vertical-align: top\">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\">29,181<\/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 style=\"vertical-align: top\">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\">291,128<\/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 style=\"vertical-align: top\">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\">99,167<\/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 style=\"vertical-align: top\">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,678<\/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 style=\"vertical-align: top\">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 style=\"vertical-align: top\">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\">10,896<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: top\">Total assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1,027,375<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;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 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=\"border-top: double black 3pt;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=\"border-top: double black 3pt;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: top\">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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">5,340<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">137,594<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">71,212<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">184,223<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">7,424<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: top\">Total current liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">405,793<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;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 style=\"vertical-align: top\">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\">7,033<\/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 style=\"vertical-align: top\">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\">247,907<\/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 style=\"vertical-align: top\">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\">26,336<\/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 style=\"vertical-align: top\">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\">23,106<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: top\">Total liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">710,175<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;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 style=\"vertical-align: top\">Commitments and contingencies (See Note 14)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;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=\"border-top: solid black 1pt;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: top\">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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">Common stock, $0.01 par value; 100,000,000 shares authorized, 35,840,781 and<br \/>35,644,537 shares issued and outstanding at March\u00a031, 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\">357<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">264,595<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">56,223<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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\">(8,976<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: top\">Total CECO shareholders&#8217; equity<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">312,199<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;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 style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: top\">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,001<\/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 style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: top\">Total shareholders&#8217; equity<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">317,200<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;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 style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: top\">Total liabilities and shareholders&#8217; equity<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1,027,375<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;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<\/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\">\n            <strong>CECO ENVIRONMENTAL CORP.<br \/>CONSOLIDATED STATEMENTS OF INCOME<br \/>(unaudited)<\/p>\n<p><\/strong>\n          <\/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 March\u00a031,<\/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-top: solid black 1pt;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:74%;width:74%;min-width:74%;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%;border-top: solid black 1pt;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\">205,919<\/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%;border-top: solid black 1pt;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\">176,697<\/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\">142,000<\/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\">114,535<\/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=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">63,919<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">62,162<\/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\">46,091<\/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,542<\/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\">4,003<\/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,096<\/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\">10,280<\/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\">8,143<\/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\">(64,502<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other operating 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\">1,670<\/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\">13<\/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 from operations<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1,875<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">61,870<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other 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,392<\/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\">594<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/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\">4,230<\/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,217<\/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=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,747<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">55,059<\/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\">(3,499<\/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\">18,617<\/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=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(248<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">36,442<\/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\">150<\/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\">458<\/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-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(398<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">35,984<\/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=\"border-top: solid black 1pt;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=\"border-top: solid black 1pt;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\">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.01<\/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\">1.03<\/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-top: double black 3pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.01<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">0.98<\/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=\"border-top: double black 3pt;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=\"border-top: double black 3pt;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\">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\">35,690,813<\/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,028,301<\/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\">35,690,813<\/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,689,320<\/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\">\n            <strong>CECO ENVIRONMENTAL CORP. <br \/>CONSOLIDATED STATEMENTS OF CASH FLOWS<\/p>\n<p><\/strong>\n          <\/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 March\u00a031,<\/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-top: solid black 1pt;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: top\">Cash flows from operating activities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;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=\"border-top: solid black 1pt;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:74%;width:74%;min-width:74%;vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: top\">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:10%;width:10%;min-width:10%;text-align: right;vertical-align: middle;vertical-align: bottom\">(248<\/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%;text-align: right;vertical-align: middle;vertical-align: bottom\">36,442<\/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: top\">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: top\">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\">6,104<\/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\">5,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: 25.0px;vertical-align: top\">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\">624<\/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,142<\/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: top\">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: top\">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\">(219<\/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\">(15<\/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: top\">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\">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\">206<\/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: top\">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\">440<\/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,356<\/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: top\">(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,517<\/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\">819<\/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: top\">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,082<\/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\">92<\/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: top\">Deferred income tax (benefit) 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,152<\/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\">166<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">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: top\">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\">(103,137<\/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\">16,215<\/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: top\">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\">11,612<\/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\">(12,270<\/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: top\">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\">(6,851<\/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,416<\/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: top\">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\">(17,016<\/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\">(17,652<\/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: top\">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\">1,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\">(971<\/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: top\">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\">19,649<\/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,633<\/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: top\">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\">12,681<\/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\">8,865<\/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: top\">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\">60,667<\/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\">5,933<\/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: top\">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\">2,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\">17,220<\/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: top\">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\">(252<\/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,524<\/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: top\">Net cash used in operating activities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(13,100<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(11,696<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Cash flows from investing activities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;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=\"border-top: solid black 1pt;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: top\">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\">(2,589<\/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\">(3,385<\/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: top\">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: top\">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\">(6,616<\/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,646<\/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: top\">Net cash (used in) provided by investing activities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(9,205<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">4,829<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Cash flows from financing activities:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;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=\"border-top: solid black 1pt;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: top\">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\">57,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\">148,100<\/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: top\">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\">(14,500<\/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\">(27,600<\/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: top\">Repayments of 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\">(435<\/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\">(420<\/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: top\">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\">(234<\/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: top\">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\">(2,156<\/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: top\">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: top\">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\">(5,166<\/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,688<\/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: top\">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: top\">Net cash provided by financing activities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">34,640<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">115,756<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">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-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(56<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(414<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Net increase in cash, cash equivalents and restricted cash<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">12,280<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">108,475<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">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: top\">Cash, cash equivalents and restricted cash at end of period<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">45,507<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">146,676<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Cash paid during the period for:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: double black 3pt;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=\"border-top: double black 3pt;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: top\">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\">4,037<\/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\">3,987<\/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: top\">Income taxes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">486<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">2,405<\/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\">\n            <strong>CECO ENVIRONMENTAL CORP.<br \/>RECONCILIATION OF GAAP TO NON-GAAP MEASURES<\/p>\n<p><\/strong>\n          <\/td>\n<\/tr>\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 March\u00a031,<\/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, except share data)<\/strong>\n          <\/td>\n<td style=\"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>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:74%;width:74%;min-width:74%;vertical-align: top\">Net (loss) income as reported in accordance with GAAP<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: top\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;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\">(0.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%;border-top: solid black 1pt;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\">36.0<\/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\">Amortization expenses<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">4.0<\/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.1<\/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\">Acquisition and integration expenses<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">10.3<\/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\">8.1<\/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: top\">\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.5<\/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\">Other operating expense<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1.7<\/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: top\">Foreign currency remeasurement<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1.6<\/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\">0.6<\/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: top\">Tax (benefit) expense of adjustments<\/td>\n<td style=\"vertical-align: top\">\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.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\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">20.2<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Non-GAAP net income<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">13.9<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">3.5<\/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: top\">Depreciation<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2.2<\/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.0<\/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: top\">Non-cash stock compensation<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">0.4<\/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.4<\/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: top\">Other income<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(0.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\">\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: top\">Interest expense<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">4.2<\/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.2<\/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: top\">Income tax benefit<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(0.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\">(1.6<\/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: top\">Noncontrolling interest<\/td>\n<td style=\"vertical-align: top\">\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\">0.2<\/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\">0.5<\/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: top\">Adjusted EBITDA<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">20.4<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14.0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: top\">\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: top\">Earnings per share:<\/td>\n<td style=\"vertical-align: top\">\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: top\">Basic<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(0.01<\/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\">1.03<\/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: top\">Diluted<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(0.01<\/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\">0.98<\/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: top\">\u00a0<\/td>\n<td style=\"vertical-align: top\">\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: top\">Non-GAAP net income per share:<\/td>\n<td style=\"vertical-align: top\">\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: top\">Basic<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">0.39<\/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\">0.10<\/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: top\">Diluted<\/td>\n<td style=\"vertical-align: top\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">0.36<\/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\">0.10<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/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 March\u00a031,<\/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-top: solid black 1pt;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:75%;width:75%;min-width:75%;vertical-align: bottom\">Net cash used in operating activities<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;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\">(13.1<\/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%;border-top: solid black 1pt;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\">(11.7<\/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: middle;text-align: left;padding-left: 25.0px;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\">(2.6<\/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.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-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(15.7<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(15.1<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<\/table>\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 earnings per basic and diluted 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 earnings per basic and diluted share, adjusted EBITDA and free cash flow stated in the tables above are reconciled to the most directly comparable GAAP financial measures.<\/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>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 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. 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\u00a031, 2025 and may be included in subsequently filed Quarterly Reports on Form 10-Q, and include, but are not limited to: risks related to the Proposed Transaction with Thermon described herein above; dependence on fixed price contracts and the risks associated therewith, including actual costs exceeding estimates and method of accounting for revenue; 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 on-going 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 our strategic transactions and our ability to repay or refinance it or incur additional debt in the future; 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; unpredictability and severity of catastrophic events, including cybersecurity threats, acts of terrorism or outbreak 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. Many of these risks are beyond management&#8217;s 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=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=\" \/><br \/>\n      <br \/>\n      <img decoding=\"async\" alt=\"\" src=\"https:\/\/ml.globenewswire.com\/media\/MjI0YzJiOTItNmI2Yy00YzUyLWIwNWYtODY2OTgzNGI4MGVjLTEwMTcwNzktMjAyNi0wNC0yOC1lbg==\/tiny\/CECO-Environmental-Corp-.png\" \/>\n    <\/div>\n<div class=\"mw_contactinfo\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Strong First Quarter Results Highlighted by Orders up 97 Percent and Backlog Eclipsing $1B Largest\u00a0Natural Gas\u00a0Power\u00a0Order\u00a0in Company\u00a0History\u00a0Booked in April 2026 Company\u00a0Raises Full Year 2026 Guidance ADDISON, Texas, April 28, 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 first quarter of 2026 \u2013 as well as an update for the proposed merger transaction with Thermon Group Holdings, Inc. (&#8220;Thermon&#8221;). Highlights for the Quarter (1) Orders of $449.5 million, up 97 percent Backlog of $1,035.1 million, up 72 percent Revenue of $205.9 million, up 17 percent Gross profit of $63.9 million, up 3 percent; Gross margin of &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;CECO Environmental Reports First 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-955233","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CECO Environmental Reports First 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-first-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 First Quarter 2026 Results - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"Strong First Quarter Results Highlighted by Orders up 97 Percent and Backlog Eclipsing $1B Largest\u00a0Natural Gas\u00a0Power\u00a0Order\u00a0in Company\u00a0History\u00a0Booked in April 2026 Company\u00a0Raises Full Year 2026 Guidance ADDISON, Texas, April 28, 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 first quarter of 2026 \u2013 as well as an update for the proposed merger transaction with Thermon Group Holdings, Inc. (&#8220;Thermon&#8221;). Highlights for the Quarter (1) Orders of $449.5 million, up 97 percent Backlog of $1,035.1 million, up 72 percent Revenue of $205.9 million, up 17 percent Gross profit of $63.9 million, up 3 percent; Gross margin of &hellip; Continue reading &quot;CECO Environmental Reports First Quarter 2026 Results&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-28T11:07:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=\" \/>\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=\"23 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-first-quarter-2026-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"CECO Environmental Reports First Quarter 2026 Results\",\"datePublished\":\"2026-04-28T11:07:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/\"},\"wordCount\":4541,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/\",\"name\":\"CECO Environmental Reports First Quarter 2026 Results - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=\",\"datePublished\":\"2026-04-28T11:07:02+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=\",\"contentUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/ceco-environmental-reports-first-quarter-2026-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CECO Environmental Reports First 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 First 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-first-quarter-2026-results\/","og_locale":"en_US","og_type":"article","og_title":"CECO Environmental Reports First Quarter 2026 Results - Market Newsdesk","og_description":"Strong First Quarter Results Highlighted by Orders up 97 Percent and Backlog Eclipsing $1B Largest\u00a0Natural Gas\u00a0Power\u00a0Order\u00a0in Company\u00a0History\u00a0Booked in April 2026 Company\u00a0Raises Full Year 2026 Guidance ADDISON, Texas, April 28, 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 first quarter of 2026 \u2013 as well as an update for the proposed merger transaction with Thermon Group Holdings, Inc. (&#8220;Thermon&#8221;). Highlights for the Quarter (1) Orders of $449.5 million, up 97 percent Backlog of $1,035.1 million, up 72 percent Revenue of $205.9 million, up 17 percent Gross profit of $63.9 million, up 3 percent; Gross margin of &hellip; Continue reading \"CECO Environmental Reports First Quarter 2026 Results\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/","og_site_name":"Market Newsdesk","article_published_time":"2026-04-28T11:07:02+00:00","og_image":[{"url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"23 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"CECO Environmental Reports First Quarter 2026 Results","datePublished":"2026-04-28T11:07:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/"},"wordCount":4541,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/","name":"CECO Environmental Reports First Quarter 2026 Results - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=","datePublished":"2026-04-28T11:07:02+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/#primaryimage","url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY=","contentUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTcwODIyOSM3NTY5NTI5IzIwMDU1MDY="},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/ceco-environmental-reports-first-quarter-2026-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"CECO Environmental Reports First 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\/955233","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=955233"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/955233\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=955233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=955233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=955233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}