{"id":815895,"date":"2025-02-20T16:20:16","date_gmt":"2025-02-20T21:20:16","guid":{"rendered":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/"},"modified":"2025-02-20T16:20:16","modified_gmt":"2025-02-20T21:20:16","slug":"altair-announces-fourth-quarter-and-full-year-2024-financial-results","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/","title":{"rendered":"Altair Announces Fourth Quarter and Full Year 2024 Financial Results"},"content":{"rendered":"<div class=\"mw_release\">\n<p align=\"left\">TROY, Mich., Feb.  20, 2025  (GLOBE NEWSWIRE) &#8212; <a href=\"https:\/\/www.globenewswire.com\/Tracker?data=SntVyfn9Sb27XeSzcy10L0iWmSyHtTRJtRrbCUeQTYfUKmNV2gfPza8tdbE6K5C3YAKp1JYeoqIhIfIQ5JKH6g==\" rel=\"nofollow\" target=\"_blank\"><u>Altair<\/u><\/a> (Nasdaq: ALTR), a global leader in computational intelligence, today released its financial results for the fourth quarter and full year ended December 31, 2024.<\/p>\n<p>\n        <strong>Fourth Quarter 2024 Financial Highlights <\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt\">Software revenue was $179.4 million compared to $155.9 million for the fourth quarter of 2023, an increase of 15.0% in reported currency and 16.5% in constant currency<\/li>\n<li>Total revenue was $192.6 million compared to $171.5 million for the fourth quarter of 2023, an increase of 12.3% in reported currency and 13.8% in constant currency<\/li>\n<li>Net income was $1.0 million compared to $19.7 million for the fourth quarter of 2023, a decrease in earnings of $18.7 million. Net income per share, diluted was $0.01 based on 89.3 million diluted weighted average common shares outstanding, compared to net income per share, diluted of $0.22 for the fourth quarter of 2023, based on 89.0 million diluted weighted average common shares outstanding. Net income margin was 0.5% compared to net income margin of 11.5% for the fourth quarter of 2023<\/li>\n<li>Non-GAAP net income was $47.4 million, compared to non-GAAP net income of $41.1 million for the fourth quarter of 2023, an increase of $6.3 million. Non-GAAP net income per share, diluted was $0.52 based on 92.6 million non-GAAP diluted common shares outstanding, compared to non-GAAP net income per share, diluted of $0.47 for the fourth quarter of 2023, based on 89.0 million non-GAAP diluted common shares outstanding<\/li>\n<li>Adjusted EBITDA was $61.0 million compared to $53.6 million for the fourth quarter of 2023, an increase of 13.9%. Adjusted EBITDA margin was 31.7% compared to 31.2% for the fourth quarter of 2023<\/li>\n<li>Cash provided by operating activities was $37.5 million, compared to $21.7 million for the fourth quarter of 2023<\/li>\n<li>Free cash flow was $33.2 million, compared to $19.3 million for the fourth quarter of 2023.<\/li>\n<\/ul>\n<p>\n        <strong>Full Year 2024 Financial Highlights <\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt\">Software revenue was $611.9 million compared to $550.0 million for the full year of 2023, an increase of 11.3% in reported currency and 12.5% in constant currency<\/li>\n<li>Total revenue was $665.8 million compared to $612.7 million for the full year of 2023, an increase of 8.7% in reported currency and 9.8% in constant currency<\/li>\n<li>Net income was $14.2 million compared to a net loss of $(8.9) million for the full year of 2023, an improvement in earnings of $23.1 million. Net income per share, diluted was $0.16 based on 88.6 million diluted weighted average common shares outstanding, compared to net loss per share, diluted of $(0.11) for the full year of 2023, based on 80.6 million diluted weighted average common shares outstanding. Net income margin was 2.1% compared to net loss margin of -1.5% for the full year of 2023<\/li>\n<li>Non-GAAP net income was $119.6 million, compared to non-GAAP net income of $98.8 million for the full year of 2023, an increase of $20.8 million. Non-GAAP net income per share, diluted was $1.35 based on 91.8 million non-GAAP diluted common shares outstanding, compared to non-GAAP net income per share, diluted of $1.17 for the full year of 2023, based on 84.4 million non-GAAP diluted common shares outstanding<\/li>\n<li>Adjusted EBITDA was $149.9 million compared to $129.1 million for the full year of 2023, an increase of 16.1%, Adjusted EBITDA margin was 22.5% compared to 21.1% for the full year of 2023<\/li>\n<li>Cash provided by operating activities was $154.1 million, compared to $127.3 million for the full year of 2023<\/li>\n<li>Free cash flow was $140.0 million, compared to $117.1 million for the full year of 2023.<\/li>\n<\/ul>\n<p>\n        <strong>Pending Transaction with Siemens and Conference Call Information<\/strong>\n      <\/p>\n<p>On January 22, 2025, Altair\u2019s stockholders approved the previously announced merger agreement providing for the acquisition of Altair by Siemens Industry Software Inc. (&#8220;Siemens&#8221;). Completion of the pending transaction remains subject to certain customary closing conditions. Altair now anticipates that this transaction may close in the first half of 2025. In light of the pending transaction with Siemens, Altair is suspending quarterly financial results conference calls and its quarterly and annual guidance.<\/p>\n<p>\n        <strong>Non-GAAP Financial Measures <\/strong>\n      <\/p>\n<p>This press release contains the following non-GAAP financial measures: Non-GAAP Net Income, Non-GAAP Net Income Per Share, Billings, Adjusted EBITDA, Free Cash Flow, Non-GAAP Gross Profit and Non-GAAP Operating Expense.<\/p>\n<p>Altair believes that these non-GAAP measures of financial results provide useful information to management and investors regarding certain financial and business trends relating to its financial condition and results of operations. The Company\u2019s management uses these non-GAAP measures to compare the Company\u2019s performance to that of prior periods for trend analysis, for purposes of determining executive and senior management incentive compensation and for budgeting and planning purposes. The Company also believes that the use of these non-GAAP financial measures provides an additional tool for investors to use in evaluating ongoing operating results and trends and in comparing the Company\u2019s financial measures with other software companies, many of which present similar non-GAAP financial measures to investors.<\/p>\n<p>\n        <em>Non-GAAP net income <\/em>excludes stock-based compensation, amortization of intangible assets related to acquisitions, asset impairment charges, non-cash interest expense, other special items as identified by management and described elsewhere in this press release, and the impact of non-GAAP tax rate to income tax expense, which approximates our tax rate excluding discrete items and other specific events that can fluctuate from period to period.<\/p>\n<p>\n        <em>Non-GAAP diluted common shares<\/em> is calculated using the treasury stock method to calculate the effect of dilutive securities, stock options, restricted stock units and employee stock purchase plan shares and using the if-converted method to calculate the effect of convertible instruments. This is the same methodology that is used when calculating GAAP diluted shares. However, the determination of whether the shares are dilutive or antidilutive is made independently on a GAAP and non-GAAP net income (loss) basis and therefore the number of diluted shares outstanding for GAAP and non-GAAP may be different.<\/p>\n<p>\n        <em>Billings <\/em>consists of total revenue plus the change in deferred revenue, excluding deferred revenue from acquisitions.<\/p>\n<p>\n        <em>Adjusted EBITDA<\/em> represents net income adjusted for income tax expense, interest expense, interest income and other, depreciation and amortization, stock-based compensation expense, asset impairment charges and other special items as identified by management and described elsewhere in this press release.<\/p>\n<p>\n        <em>Free cash flow<\/em> consists of cash flow from operations less capital expenditures.<\/p>\n<p>\n        <em>Non-GAAP gross profit <\/em>represents gross profit adjusted for stock-based compensation expense and other special items as identified by management and described elsewhere in this press release.<\/p>\n<p>\n        <em>Non-GAAP operating expense<\/em> represents operating expense excluding stock-based compensation expense, amortization, asset impairment charges and other special items as identified by management and described elsewhere in this press release.<\/p>\n<p>Company management does not consider these non-GAAP measures in isolation or as an alternative to financial measures determined in accordance with GAAP. The principal limitation of these non-GAAP financial measures is that they exclude significant expenses and income that are required by GAAP to be recorded in the Company\u2019s financial statements. In addition, they are subject to inherent limitations as they reflect the exercise of judgment by management about which expenses and income are excluded or included in determining these non-GAAP financial measures. Altair urges investors to review the reconciliation of its non-GAAP financial measures to the comparable GAAP financial measures, which it includes in press releases announcing quarterly financial results, including this press release, and not to rely on any single financial measure to evaluate the Company\u2019s business.<\/p>\n<p>Reconciliation tables of the most comparable GAAP financial measures to the non-GAAP financial measures used in this press release are included with the financial tables at the end of this release.<\/p>\n<p>\n        <strong>About Altair<\/strong>\n      <\/p>\n<p>Altair is a global leader in computational intelligence that provides software and cloud solutions in simulation, high-performance computing, data analytics and AI. Altair enables organizations across all industries to compete more effectively and drive smarter decisions in an increasingly connected world \u2013 all while creating a greener, more sustainable future. To learn more, please visit <a href=\"https:\/\/www.globenewswire.com\/Tracker?data=JGzeu-plop9nls4jzzDgmUxFQchk2TYLTXq1yrpG2ioxyFJedSgwL5wlnpc_fhsSeM9ompOgBRgOpV6vwiGsU_Hsjmfybu_Qt6ljfvQ356c=\" rel=\"nofollow\" target=\"_blank\"><u>https:\/\/www.altair.com<\/u><\/a>.<\/p>\n<p>\n        <strong>Forward-Looking Statements <\/strong>\n      <\/p>\n<p>This communication contains \u201cforward-looking statements\u201d within the Private Securities Litigation Reform Act of 1995. Any statements contained in this communication that are not statements of historical fact, including statements regarding the proposed transaction, including the expected timing and closing of the proposed transaction; Altair\u2019s ability to consummate the proposed transaction; the expected benefits of the proposed transaction and other considerations taken into account by the Altair Board of Directors in approving the proposed transaction; the amounts to be received by stockholders and expectations for Altair prior to and following the closing of the proposed transaction, may be deemed to be forward-looking statements. All \u00a0such forward-looking statements are intended to provide management\u2019s current expectations for the future of Altair based on current expectations and assumptions relating to Altair\u2019s business, the economy and other future conditions. Forward-looking statements generally can be identified through the use of words such as \u201cbelieves,\u201d \u201canticipates,\u201d \u201cmay,\u201d \u201cshould,\u201d \u201cwill,\u201d \u201cplans,\u201d \u201cprojects,\u201d \u201cexpects,\u201d \u201cexpectations,\u201d \u201cestimates,\u201d \u201cforecasts,\u201d \u201cpredicts,\u201d \u201ctargets,\u201d \u201cprospects,\u201d \u201cstrategy,\u201d \u201csigns,\u201d and other words of similar meaning in connection with the discussion of future performance, plans, actions or events. Because forward-looking statements relate to the future, they are subject to inherent risks, uncertainties and changes in circumstances that are difficult to predict. Such risks and uncertainties include, among others: (i)\u00a0the timing to consummate the pending merger transaction with Siemens Industry Software Inc. (the \u201cMerger\u201d), (ii)\u00a0the risk that a condition of closing of the pending Merger transaction may not be satisfied or that the closing of the proposed transaction might otherwise not occur, (iii)\u00a0the risk that a regulatory approval that may be required for the pending Merger transaction is not obtained or is obtained subject to conditions that are not anticipated, (iv)\u00a0the diversion of management time on transaction-related issues, (v)\u00a0risks related to disruption of management time from ongoing business operations due to the pending Merger transaction, (vi)\u00a0the risk that any announcements relating to the proposed transaction could have adverse effects on the market price of the common stock of Altair, (vii)\u00a0the risk that the pending Merger transaction and its announcement could have an adverse effect on the ability of Altair to retain customers and retain and hire key personnel and maintain relationships with its suppliers and customers, (viii)\u00a0the occurrence of any event, change or other circumstance or condition that could give rise to the termination of the Merger Agreement, dated October\u00a030, 2024, with Siemens Industry Software Inc. (the \u201cMerger Agreement\u201d), (ix)\u00a0business uncertainties and contractual restrictions on our operations while the proposed Merger transaction is pending, (x)\u00a0unexpected costs, charges or expenses resulting from the pending Merger transaction, (xi)\u00a0potential litigation relating to the pending Merger transaction that could be instituted against the parties to the Merger Agreement or their respective directors, managers or officers, including the effects of any outcomes related thereto, (xii)\u00a0worldwide economic or political changes that affect the markets that Altair\u2019s businesses serve which could have an effect on demand for Altair\u2019s products and impact Altair\u2019s profitability, and (xiii)\u00a0disruptions in the global credit and financial markets, including diminished liquidity and credit availability, changes in international trade agreements, including tariffs and trade restrictions, cyber-security vulnerabilities, foreign currency volatility, swings in consumer confidence and spending, raw material pricing and supply issues, retention of key employees, increases in fuel prices, and outcomes of legal proceedings, claims and investigations. Accordingly, actual results may differ materially from those contemplated by these forward-looking statements. Investors, therefore, are cautioned against relying on any of these forward-looking statements. They are neither statements of historical fact nor guarantees or assurances of future performance. Additional information regarding the factors that may cause actual results to differ materially from these forward-looking statements is available in Altair\u2019s filings with the SEC, including the risks and uncertainties identified in Part I, Item 1A &#8211; Risk Factors of Altair\u2019s Annual Report on Form\u00a010-K\u00a0for the year ended December\u00a031, 2024 and in Altair\u2019s other filings with the SEC. The list of factors is not intended to be exhaustive. These forward-looking statements speak only as of the date of this communication, and Altair does not assume any obligation to update or revise any forward-looking statement made in this communication or that may from time to time be made by or on behalf of Altair.<\/p>\n<p>\n        <strong>Media Relations<\/strong><br \/>\n        <br \/>Altair<br \/>Jennifer Ristic<br \/>216-849-3109<br \/>jristic@altair.com<\/p>\n<p>\n        <strong>Investor Relations<\/strong><br \/>\n        <br \/>Altair<br \/>Stephen Palmtag<br \/>669-328-9111<br \/>spalmtag@altair.com<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"8\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>ALTAIR ENGINEERING INC. AND SUBSIDIARIES<\/strong><br \/>\n            <br \/>\n            <strong>CONSOLIDATED BALANCE SHEETS<\/strong><br \/>\n            <br \/>\n            <strong>(Unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" 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<\/tr>\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>December 31,<\/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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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 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: bottom\">CURRENT ASSETS<\/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:73%;width:73%;min-width:73%;vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Cash and cash equivalents<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">561,898<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">467,459<\/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: 10.0px;vertical-align: bottom\">Accounts receivable, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">173,509<\/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\">190,461<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Income tax receivable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">21,513<\/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\">16,650<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Prepaid expenses and other current assets<\/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\">28,058<\/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\">26,053<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Total current assets<\/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\">784,978<\/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\">700,623<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Property and equipment, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">41,008<\/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\">39,803<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating lease right of use assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">31,117<\/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\">30,759<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Goodwill<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">462,459<\/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\">458,125<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other intangible assets, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">72,937<\/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,550<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Deferred tax assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">8,770<\/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,955<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other long-term assets<\/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\">44,378<\/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\">40,678<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">TOTAL ASSETS<\/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,445,647<\/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\">1,363,493<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>LIABILITIES AND STOCKHOLDERS\u2019 EQUITY<\/strong>\n          <\/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: bottom\">CURRENT LIABILITIES<\/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: 10.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,316<\/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\">8,995<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accrued compensation and benefits<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">50,328<\/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\">45,081<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Current portion of operating lease liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,876<\/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,825<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Other accrued expenses and current liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">56,058<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">48,398<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred revenue<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">139,085<\/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\">131,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: 10.0px;vertical-align: bottom\">Current portion of convertible senior notes, net<\/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\">227,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\">81,455<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Total current liabilities<\/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\">487,769<\/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\">324,110<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Convertible senior notes, net<\/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\">225,929<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating lease liabilities, net of current portion<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">24,141<\/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\">22,625<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Deferred revenue, non-current<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">28,531<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">32,347<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other long-term liabilities<\/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\">48,017<\/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\">47,151<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">TOTAL LIABILITIES<\/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\">588,458<\/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\">652,162<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Commitments and contingencies<\/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: bottom\">STOCKHOLDERS\u2019 EQUITY<\/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: bottom\">Preferred stock ($0.0001 par value), authorized 45,000 shares, none issued or outstanding<\/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: bottom\">Common stock ($0.0001 par value)<\/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: 10.0px;vertical-align: bottom\">Class A common stock, authorized 513,797 shares, issued and outstanding 60,181<br \/>and 55,240 shares as of December 31, 2024 and 2023, respectively<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">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\">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: 10.0px;vertical-align: bottom\">Class B common stock, authorized 41,203 shares, issued and outstanding 25,394<br \/>and 26,814 shares as of December 31, 2024 and 2023, respectively<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">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\">3<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Additional paid-in capital<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,010,789<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">864,135<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accumulated deficit<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(116,328<\/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\">(130,503<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accumulated other comprehensive loss<\/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\">(37,281<\/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\">(22,309<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">TOTAL STOCKHOLDERS\u2019 EQUITY<\/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\">857,189<\/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\">711,331<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">TOTAL LIABILITIES AND STOCKHOLDERS\u2019 EQUITY<\/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,445,647<\/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\">1,363,493<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\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\">\u00a0<\/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\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"16\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>ALTAIR ENGINEERING INC. AND SUBSIDIARIES<\/strong><br \/>\n            <br \/>\n            <strong>CONSOLIDATED STATEMENTS OF OPERATIONS<\/strong><br \/>\n            <br \/>(Unaudited)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" 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 style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" 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<\/tr>\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<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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 per share data)<\/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>2024<\/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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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\">Revenue<\/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<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:45%;width:45%;min-width:45%;vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">License<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">131,943<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">113,172<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">435,288<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">393,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: 20.0px;vertical-align: bottom\">Maintenance and other services<\/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\">47,433<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">42,761<\/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\">176,612<\/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\">156,830<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Total software<\/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\">179,376<\/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\">155,933<\/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\">611,900<\/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\">549,974<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Engineering services and other<\/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,255<\/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\">15,570<\/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\">53,888<\/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\">62,727<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Total revenue<\/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\">192,631<\/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\">171,503<\/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\">665,788<\/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\">612,701<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cost of revenue<\/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<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: 20.0px;vertical-align: bottom\">License<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">4,662<\/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,200<\/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\">15,099<\/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\">15,088<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Maintenance and other services<\/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\">17,604<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14,340<\/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\">64,014<\/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\">56,094<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Total software *<\/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\">22,266<\/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\">17,540<\/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\">79,113<\/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\">71,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: 10.0px;vertical-align: bottom\">Engineering services and other<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">11,113<\/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\">11,633<\/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\">45,690<\/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\">50,609<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Total cost of revenue<\/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\">33,379<\/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\">29,173<\/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\">124,803<\/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\">121,791<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Gross profit<\/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\">159,252<\/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\">142,330<\/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\">540,985<\/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\">490,910<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating expenses:<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"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: 10.0px;vertical-align: bottom\">Research and development *<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">57,147<\/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\">52,519<\/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\">221,161<\/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\">212,645<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Sales and marketing *<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">47,812<\/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\">43,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\">184,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\">176,138<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">General and administrative *<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">35,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\">17,096<\/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\">90,150<\/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\">70,887<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Amortization of intangible assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">8,709<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,708<\/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\">33,022<\/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\">30,851<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Other operating (income) expense, net<\/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\">(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\">(1,178<\/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\">(5,313<\/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\">146<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Total operating expenses<\/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\">148,287<\/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\">119,740<\/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\">523,300<\/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\">490,667<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Operating income<\/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\">10,965<\/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\">22,590<\/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\">17,685<\/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\">243<\/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=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,339<\/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,533<\/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,836<\/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,116<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other income, net<\/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\">(316<\/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,794<\/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,781<\/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,492<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Income before income taxes<\/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\">9,942<\/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\">29,851<\/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\">32,630<\/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\">12,619<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Income tax expense<\/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,946<\/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\">10,176<\/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\">18,455<\/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\">21,545<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Net income (loss)<\/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\">996<\/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\">19,675<\/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\">14,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: 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\">(8,926<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Earnings (loss) per share, basic<\/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<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: 10.0px;vertical-align: bottom\">Earnings (loss) per share<\/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\">\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.24<\/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.17<\/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.11<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Weighted average shares<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">85,289<\/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\">81,760<\/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\">84,085<\/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\">80,596<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Earnings (loss) per share, diluted<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"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: 10.0px;vertical-align: bottom\">Earnings (loss) per share<\/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\">\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.22<\/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.16<\/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.11<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Weighted average shares<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">89,346<\/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\">88,977<\/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\">88,558<\/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\">80,596<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"16\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"16\" style=\"vertical-align: bottom\">*\u00a0 \u00a0 \u00a0Amounts include stock-based compensation expense as follows (in thousands):<\/td>\n<\/tr>\n<tr>\n<td colspan=\"16\" 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=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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:45%;width:45%;min-width:45%;vertical-align: bottom\">Cost of revenue \u2013 software<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">2,167<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">2,303<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">8,397<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">10,095<\/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\">Research and development<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">6,274<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,332<\/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\">25,630<\/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\">33,842<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Sales and marketing<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">4,784<\/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,271<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">19,459<\/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,376<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">General and administrative<\/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,745<\/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\">3,252<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14,194<\/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,268<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Total stock-based compensation expense<\/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\">16,970<\/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\">19,158<\/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\">67,680<\/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\">85,581<\/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\">\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\">\u00a0<\/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\">\u00a0<\/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\">\u00a0<\/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\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"12\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>ALTAIR ENGINEERING INC. AND SUBSIDIARIES<\/strong><br \/>\n            <br \/>\n            <strong>CONSOLIDATED STATEMENTS OF CASH FLOW<\/strong><br \/>\n            <br \/>(Unaudited)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"10\" 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<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"10\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year\u00a0Ended\u00a0December\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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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>2022<\/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\">OPERATING ACTIVITIES:<\/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<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:59%;width:59%;min-width:59%;vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Net income (loss)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">14,175<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">(8,926<\/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:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">(43,429<\/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: 10.0px;vertical-align: bottom\">Adjustments to reconcile net income (loss) to net cash provided by<br \/>operating activities:<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"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: 20.0px;vertical-align: bottom\">Depreciation and amortization<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">42,164<\/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\">39,124<\/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,504<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">67,680<\/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\">85,581<\/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\">84,787<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Deferred income taxes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(707<\/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,319<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(4,164<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Loss (gain) on mark-to-market adjustment of contingent consideration<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">476<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">5,706<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(7,153<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Expense on repurchase of convertible senior notes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-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,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: 20.0px;vertical-align: bottom\">Other, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,015<\/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,943<\/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,179<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Changes in assets and liabilities:<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"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: 20.0px;vertical-align: bottom\">Accounts receivable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">14,560<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(19,141<\/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\">(34,175<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Prepaid expenses and other current assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(7,622<\/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,915<\/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,014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Other long-term assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,431<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(52<\/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,852<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(2,127<\/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,878<\/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,771<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Accrued compensation and benefits<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,013<\/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,783<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">280<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Other accrued expenses and current liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,791<\/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,068<\/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\">(59,463<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Deferred revenue<\/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,235<\/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\">18,333<\/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\">40,946<\/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: bottom\">Net cash provided by operating activities<\/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\">154,084<\/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\">127,307<\/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\">39,570<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">INVESTING ACTIVITIES:<\/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<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: 10.0px;vertical-align: bottom\">Payments for acquisition of businesses, net of cash acquired<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(27,070<\/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,236<\/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\">(134,541<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Capital expenditures<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(14,086<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(10,193<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(9,648<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Other investing activities, net<\/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,974<\/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\">(2,423<\/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\">(10,322<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net cash used in investing activities<\/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\">(46,130<\/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\">(15,852<\/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\">(154,511<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">FINANCING ACTIVITIES:<\/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<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: 10.0px;vertical-align: bottom\">Settlement of convertible senior notes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(81,729<\/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<td style=\"vertical-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: 10.0px;vertical-align: bottom\">Proceeds from the exercise of common stock options<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">65,537<\/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,140<\/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,577<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Proceeds from employee stock purchase plan contributions<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">9,157<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,978<\/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,976<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Payments for repurchase and retirement of common stock<\/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\">(6,255<\/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\">(19,659<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Proceeds from issuance of convertible senior notes,<br \/>net of underwriters&#8217; discounts and commissions<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">224,265<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Repurchase of convertible senior notes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(192,422<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Payments for issuance costs of convertible senior notes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-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,523<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Other financing activities<\/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\">\u2014<\/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\">(97<\/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\">(233<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net cash (used in) provided by financing activities<\/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\">(7,035<\/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\">37,766<\/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\">22,981<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Effect of exchange rate changes on cash, cash equivalents and restricted cash<\/td>\n<td style=\"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\">(6,453<\/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\">1,397<\/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\">(5,094<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net increase (decrease) in cash, cash equivalents and restricted cash<\/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\">94,466<\/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\">150,618<\/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\">(97,054<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash, cash equivalents and restricted cash at beginning of year<\/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\">467,576<\/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\">316,958<\/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\">414,012<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash, cash equivalents and restricted cash at end of period<\/td>\n<td style=\"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\">562,042<\/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\">467,576<\/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\">316,958<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\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\">\u00a0<\/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\">\u00a0<\/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\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        <strong>Change in Presentation of Revenue and Cost of Revenue<\/strong>\n      <\/p>\n<p>Effective in the first quarter of 2024, the Company changed the presentation of revenue and cost of revenue in its Consolidated Statements of Operations to combine the financial statement line items (\u201cFSLIs\u201d) labeled \u201cSoftware related services\u201d, \u201cClient engineering services\u201d and \u201cOther\u201d into one FSLI labeled \u201cEngineering services and other\u201d. The change in presentation has been applied retrospectively and does not affect the software revenue, total revenue, software cost of revenue or total cost of revenue amounts previously reported or have any effect on segment reporting.<\/p>\n<p>\n        <strong>Financial Results<\/strong>\n      <\/p>\n<p>The following table provides a reconciliation of Non-GAAP net income and Non-GAAP net income per share \u2013 diluted, to net income (loss) and net income (loss) per share \u2013 diluted, the most comparable GAAP financial measures:<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<strong>(in thousands, except per share amounts)<\/strong><\/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>2024<\/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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"max-width:1%;min-width:1%;vertical-align: bottom\">\u00a0Net income (loss)<\/td>\n<td style=\"max-width:1%;min-width:1%;border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">996<\/td>\n<td style=\"max-width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;min-width:1%;border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">19,675<\/td>\n<td style=\"max-width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;min-width:1%;border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14,175<\/td>\n<td style=\"max-width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;min-width:1%;border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(8,926<\/td>\n<td style=\"max-width:1%;min-width:1%;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Stock-based compensation expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">16,970<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">19,158<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">67,680<\/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\">85,581<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Amortization of intangible assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">8,709<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7,708<\/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\">33,022<\/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\">30,851<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Non-cash interest expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">310<\/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\">470<\/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,514<\/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,869<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Impact of non-GAAP tax rate<sup>(1)<\/sup><\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(6,842<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(4,261<\/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\">(21,406<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(13,158<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Special adjustments and other<sup>(2)<\/sup><\/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\">27,219<\/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\">(1,659<\/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\">24,597<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">2,553<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">\u00a0Non-GAAP net income<\/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\">47,362<\/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\">41,091<\/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\">119,582<\/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\">98,770<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">\u00a0\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<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 colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Net income (loss) per share, diluted<\/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\">\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.22<\/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.16<\/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.11<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Non-GAAP net income per share, diluted<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">0.52<\/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.47<\/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.35<\/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.17<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">\u00a0\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0GAAP diluted shares outstanding:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">89,346<\/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\">88,977<\/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\">88,558<\/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\">80,596<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0Non-GAAP diluted shares outstanding:<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">92,555<\/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\">88,977<\/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\">91,767<\/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\">84,433<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"17\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:1%;min-width:1%;vertical-align: top\">(1)\u00a0<\/td>\n<td colspan=\"16\" style=\"max-width:44%;min-width:44%;vertical-align: top\">For the three months and year ended December 31, 2024, the Company used a non-GAAP effective tax rate of 25%. For the three months and year ended December 31, 2023, the Company used a non-GAAP effective tax rate of 26%.<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">(2)\u00a0<\/td>\n<td colspan=\"16\" style=\"vertical-align: top\">The three months ended December 31, 2024, includes $22.3 million of expenses related to the pending Merger transaction, $4.7 million of currency losses on acquisition-related intercompany loans and a $0.3 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions. The three months ended December 31, 2023, includes $2.9 million of currency gains on acquisition-related intercompany loans and a $1.2 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions. The year ended December 31, 2024, includes $22.3 million of expenses related to the pending Merger transaction, $1.9 million of currency losses on acquisition-related intercompany loans and a $0.5 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions. The year ended December 31, 2023, includes a $5.7 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions and $3.2 million of currency gains on acquisition-related intercompany loans.<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:44%;width:44%;min-width:44%;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:11%;width:11%;min-width:11%;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\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;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\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;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\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"start\">The following table provides a reconciliation of Adjusted EBITDA to net income (loss), the most comparable GAAP financial measure:<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>(in thousands)<\/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>2024<\/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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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:45%;width:45%;min-width:45%;text-align: left;vertical-align: middle;vertical-align: bottom\">Net income (loss)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">996<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">19,675<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">14,175<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(8,926<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Income tax expense<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">8,946<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">10,176<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">18,455<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">21,545<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">16,970<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">19,158<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">67,680<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">85,581<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Interest expense<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,339<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1,533<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">5,836<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">6,116<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Depreciation and amortization<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">11,044<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">9,853<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">42,164<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">39,124<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Special adjustments, interest income and other<sup>(1)<\/sup><\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">21,746<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(6,822<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">1,602<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,302<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Adjusted EBITDA<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">61,041<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">53,573<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">149,912<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">129,138<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"max-width:2%;width:2%;min-width:2%;vertical-align: top\">(1)<\/td>\n<td style=\"max-width:98%;width:98%;min-width:98%;text-align: left;vertical-align: middle;vertical-align: top\">The three months ended December 31, 2024, includes $22.3 million of expenses related to the pending Merger transaction, $4.7 million of currency losses on acquisition-related intercompany loans, a $0.3 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions, and $5.5 million of interest income. The three months ended December 31, 2023, includes $2.9 million of currency gains on acquisition-related intercompany loans, a $1.2 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions, and $5.2 million of interest income. The year ended December 31, 2024, includes $22.3 million of expenses related to the pending Merger transaction, $1.9 million of currency losses on acquisition-related intercompany loans, a $0.5 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions, and $23.0 million of interest income. The year ended December 31, 2023, includes a $5.7 million loss from the mark-to-market adjustment of contingent consideration associated with acquisitions, $3.2 million of currency gains on acquisition-related intercompany loans, and $16.9 million of interest income.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: top\">\u00a0<\/td>\n<td style=\"max-width:99%;width:99%;min-width:99%;text-align: left;vertical-align: middle;vertical-align: top\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"start\">\u00a0The following table provides a reconciliation of Free Cash Flow to net cash provided by operating activities, the most comparable GAAP financial measure:<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong> December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong> December 31,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>(in thousands)<\/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>2024<\/strong><br \/>\n            <sup><br \/>\n              <strong> (1)<\/strong><br \/>\n            <\/sup>\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: left;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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;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>2024<\/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: left;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>2023<\/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:45%;width:45%;min-width:45%;text-align: left;vertical-align: middle;vertical-align: bottom\">Net cash provided by operating activities<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">37,530<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">21,651<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">154,084<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">127,307<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Capital expenditures<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,347<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,311<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,086<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">(10,193<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Free Cash Flow<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">33,183<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">19,340<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">139,998<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: left;vertical-align: middle;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\">117,114<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"max-width:2%;width:2%;min-width:2%;vertical-align: top\">(1)<\/td>\n<td style=\"max-width:98%;width:98%;min-width:98%;text-align: left;vertical-align: middle;vertical-align: top\">Free Cash Flow for the year ended December 31, 2024, was adversely impacted by approximately $13.2 million of expenses paid related to the pending Merger transaction.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: top\">\u00a0<\/td>\n<td style=\"max-width:99%;width:99%;min-width:99%;text-align: left;vertical-align: middle;vertical-align: top\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>The following table provides a reconciliation of Non-GAAP gross profit to gross profit, the most comparable GAAP financial measure, and a comparison of Non-GAAP gross margin (Non-GAAP gross profit as a percentage of total revenue) to gross margin (gross profit as a percentage of total revenue), the most comparable GAAP financial measure:<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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:45%;width:45%;min-width:45%;vertical-align: bottom\">Gross profit<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">159,252<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">142,330<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">540,985<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">490,910<\/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\">Stock-based compensation expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">2,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\">2,303<\/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,397<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">10,095<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Pending merger expenses<\/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,155<\/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\">\u2014<\/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\">1,155<\/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\">\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: 10.0px;vertical-align: bottom\">Non-GAAP gross profit<\/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\">162,574<\/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\">144,633<\/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\">550,537<\/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\">501,005<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;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<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: 10.0px;vertical-align: bottom\">Gross profit margin<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">82.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">83.0<\/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\">81.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\">80.1<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Non-GAAP gross margin<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">84.4<\/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\">84.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\">82.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">81.8<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>The following table provides a reconciliation of Non-GAAP operating expense to Total operating expense, the most comparable GAAP financial measure:<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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:45%;width:45%;min-width:45%;vertical-align: bottom\">Total operating expense<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">148,287<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">119,740<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">523,300<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">490,667<\/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\">Stock-based compensation expense<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(14,803<\/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,855<\/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\">(59,283<\/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\">(75,486<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Amortization<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(8,709<\/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\">(7,708<\/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\">(33,022<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(30,851<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Loss on mark-to-market adjustment of<br \/>contingent consideration<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(287<\/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,212<\/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\">(476<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(5,706<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Pending merger expenses<\/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\">(21,095<\/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\">\u2014<\/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\">(21,095<\/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\">\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: 10.0px;vertical-align: bottom\">Non-GAAP operating expense<\/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\">103,393<\/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\">93,965<\/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\">409,424<\/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\">378,624<\/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\">\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\">\u00a0<\/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\">\u00a0<\/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\">\u00a0<\/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\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>The following table provides the calculation of non-GAAP diluted common shares and non-GAAP net income per share, diluted:<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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\">Numerator:<\/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<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:45%;width:45%;min-width:45%;vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Non-GAAP net income<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">47,362<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">41,091<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">119,582<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;text-align: right;vertical-align: middle;vertical-align: bottom\">98,770<\/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: 10.0px;vertical-align: bottom\">Interest expense related to convertible notes, net of tax<\/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,006<\/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\">1,006<\/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,024<\/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\">\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: 10.0px;vertical-align: bottom\">Numerator for non-GAAP diluted income per share<\/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\">48,368<\/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\">42,097<\/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-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\">123,606<\/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-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\">98,770<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Denominator:<\/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<td style=\"border-top: solid black 1pt;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=\"border-top: solid black 1pt;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: 10.0px;vertical-align: bottom\">Weighted average shares outstanding, basic<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">85,289<\/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\">81,760<\/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\">84,085<\/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\">80,596<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Effect of dilutive shares<\/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,266<\/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\">7,217<\/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\">7,682<\/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\">3,837<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Non-GAAP diluted shares outstanding<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">92,555<\/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\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">88,977<\/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\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">91,767<\/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\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">84,433<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Non-GAAP net income per share, diluted<\/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.52<\/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\">0.47<\/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\">1.35<\/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\">1.17<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/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;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/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;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/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;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>The following table provides a reconciliation of Billings to revenue, the most comparable GAAP financial measure:<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"14\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/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\">\u00a0<\/td>\n<td colspan=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31,<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December\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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/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>2023<\/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:45%;width:45%;min-width:45%;vertical-align: bottom\">Revenue<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">192,631<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">171,503<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">665,788<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">612,701<\/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\">Ending deferred revenue<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">167,616<\/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\">163,703<\/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\">167,616<\/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\">163,703<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Beginning deferred revenue<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(140,835<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">(138,933<\/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\">(163,703<\/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\">(144,460<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Deferred revenue acquired<\/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\">\u2014<\/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\">(149<\/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\">(1,825<\/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\">(149<\/td>\n<td style=\"vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Billings<\/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\">219,412<\/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\">196,124<\/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\">667,876<\/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\">631,795<\/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\">\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\">\u00a0<\/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\">\u00a0<\/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\">\u00a0<\/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\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>The following table provides Software revenue, Total revenue, Billings and Adjusted EBITDA on a constant currency basis:<\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"22\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"10\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31, 2024<\/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>Three Months Ended December 31, 2023<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Increase\/<\/strong><br \/>\n            <br \/>\n            <strong>(Decrease) %<\/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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>As reported<\/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>Currency <br \/>changes<\/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>As adjusted for <br \/>constant <br \/>currency<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>As reported<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>As reported<\/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>As adjusted for <br \/>constant <br \/>currency<\/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:17%;width:17%;min-width:17%;vertical-align: bottom\">Software revenue<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">179.4<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">2.3<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">181.7<\/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:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">155.9<\/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\">\u00a0<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">15.0<\/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\">\u00a0<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">16.5<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Total revenue<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">192.6<\/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\">2.6<\/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\">195.2<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">171.5<\/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.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\">13.8<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Billings<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">219.4<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">3.6<\/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\">223.0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">196.1<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">11.9<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">13.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted EBITDA<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">61.0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">1.3<\/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\">62.3<\/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\">53.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\">13.9<\/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.2<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"22\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">(Unaudited)<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"10\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31, 2024<\/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>Year Ended<\/strong><br \/>\n            <br \/>\n            <strong>December 31, 2023<\/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=\"6\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Increase\/<\/strong><br \/>\n            <br \/>\n            <strong>(Decrease) %<\/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 colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>As reported<\/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>Currency <br \/>changes<\/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>As adjusted for <br \/>constant <br \/>currency<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>As reported<\/strong>\n          <\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>As reported<\/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>As adjusted for <br \/>constant <br \/>currency<\/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\">Software revenue<\/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\">611.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\">6.8<\/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\">618.7<\/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\">550.0<\/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\">11.3<\/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\">12.5<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Total revenue<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">665.8<\/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\">7.2<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">673.0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">612.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\">8.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">9.8<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Billings<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">667.9<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">8.1<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">676.0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">631.8<\/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.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">7.0<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted EBITDA<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">149.9<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">4.6<\/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\">154.5<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">$<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">129.1<\/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\">16.1<\/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\">19.7<\/td>\n<td style=\"vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>      <img decoding=\"async\" alt=\"\" class=\"__GNW8366DE3E__IMG\" src=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=\" \/><br \/>\n      <br \/>\n      <img decoding=\"async\" alt=\"\" src=\"https:\/\/ml.globenewswire.com\/media\/OTg5ZmJkNGQtNTBjNy00NmVlLTljODQtOTAwNTBkMjRmMDdiLTEwOTM3Njg=\/tiny\/Altair-Engineering-Inc-.png\" \/>\n    <\/div>\n<div class=\"mw_contactinfo\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>TROY, Mich., Feb. 20, 2025 (GLOBE NEWSWIRE) &#8212; Altair (Nasdaq: ALTR), a global leader in computational intelligence, today released its financial results for the fourth quarter and full year ended December 31, 2024. Fourth Quarter 2024 Financial Highlights Software revenue was $179.4 million compared to $155.9 million for the fourth quarter of 2023, an increase of 15.0% in reported currency and 16.5% in constant currency Total revenue was $192.6 million compared to $171.5 million for the fourth quarter of 2023, an increase of 12.3% in reported currency and 13.8% in constant currency Net income was $1.0 million compared to $19.7 million for the fourth quarter of 2023, a decrease in earnings of $18.7 million. Net income per share, diluted was &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Altair Announces Fourth Quarter and Full Year 2024 Financial 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-815895","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>Altair Announces Fourth Quarter and Full Year 2024 Financial 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\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Altair Announces Fourth Quarter and Full Year 2024 Financial Results - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"TROY, Mich., Feb. 20, 2025 (GLOBE NEWSWIRE) &#8212; Altair (Nasdaq: ALTR), a global leader in computational intelligence, today released its financial results for the fourth quarter and full year ended December 31, 2024. Fourth Quarter 2024 Financial Highlights Software revenue was $179.4 million compared to $155.9 million for the fourth quarter of 2023, an increase of 15.0% in reported currency and 16.5% in constant currency Total revenue was $192.6 million compared to $171.5 million for the fourth quarter of 2023, an increase of 12.3% in reported currency and 13.8% in constant currency Net income was $1.0 million compared to $19.7 million for the fourth quarter of 2023, a decrease in earnings of $18.7 million. Net income per share, diluted was &hellip; Continue reading &quot;Altair Announces Fourth Quarter and Full Year 2024 Financial Results&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-20T21:20:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=\" \/>\n<meta name=\"author\" content=\"Newsdesk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Newsdesk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"Altair Announces Fourth Quarter and Full Year 2024 Financial Results\",\"datePublished\":\"2025-02-20T21:20:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/\"},\"wordCount\":3469,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/\",\"name\":\"Altair Announces Fourth Quarter and Full Year 2024 Financial Results - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=\",\"datePublished\":\"2025-02-20T21:20:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=\",\"contentUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Altair Announces Fourth Quarter and Full Year 2024 Financial 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":"Altair Announces Fourth Quarter and Full Year 2024 Financial 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\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/","og_locale":"en_US","og_type":"article","og_title":"Altair Announces Fourth Quarter and Full Year 2024 Financial Results - Market Newsdesk","og_description":"TROY, Mich., Feb. 20, 2025 (GLOBE NEWSWIRE) &#8212; Altair (Nasdaq: ALTR), a global leader in computational intelligence, today released its financial results for the fourth quarter and full year ended December 31, 2024. Fourth Quarter 2024 Financial Highlights Software revenue was $179.4 million compared to $155.9 million for the fourth quarter of 2023, an increase of 15.0% in reported currency and 16.5% in constant currency Total revenue was $192.6 million compared to $171.5 million for the fourth quarter of 2023, an increase of 12.3% in reported currency and 13.8% in constant currency Net income was $1.0 million compared to $19.7 million for the fourth quarter of 2023, a decrease in earnings of $18.7 million. Net income per share, diluted was &hellip; Continue reading \"Altair Announces Fourth Quarter and Full Year 2024 Financial Results\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/","og_site_name":"Market Newsdesk","article_published_time":"2025-02-20T21:20:16+00:00","og_image":[{"url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"Altair Announces Fourth Quarter and Full Year 2024 Financial Results","datePublished":"2025-02-20T21:20:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/"},"wordCount":3469,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/","name":"Altair Announces Fourth Quarter and Full Year 2024 Financial Results - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=","datePublished":"2025-02-20T21:20:16+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/#primaryimage","url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc=","contentUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTM2MjExNSM2NzYxMDY1IzIwODIxOTc="},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/altair-announces-fourth-quarter-and-full-year-2024-financial-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"Altair Announces Fourth Quarter and Full Year 2024 Financial 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\/815895","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=815895"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/815895\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=815895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=815895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=815895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}