| Earnings Per Share [Text Block] |
17. Net Income Per Share
Basic net income per share is computed by dividing total net income by the weighted average common shares outstanding for the period. In computing diluted net income per share, the Company adjusts the denominator, subject to anti-dilution requirements, to include the dilution from potential shares of common stock resulting from outstanding share-based payment awards and warrants.
| | | Three Months Ended June 30, | | | Six Months Ended June 30, | |
| | | 2026 | | | 2025 | | | 2026 | | | 2025 | |
| | | (in thousands, except per share amounts) | |
| Net income per share available to common stockholders | | | | | | | | | | | | | | | | |
| Numerator: | | | | | | | | | | | | | | | | |
| Net income | | $ | 27,570 | | | $ | 2,893 | | | $ | 42,820 | | | $ | 6,459 | |
| Net income attributable to noncontrolling interest | | | — | | | | (195 | ) | | | — | | | | (321 | ) |
| Total net income available to common stockholders | | $ | 27,570 | | | $ | 2,698 | | | $ | 42,820 | | | $ | 6,138 | |
| Denominator: | | | | | | | | | | | | | | | | |
| Weighted average common shares outstanding | | | 210,204 | | | | 205,068 | | | | 211,727 | | | | 201,516 | |
| Effect of dilutive securities | | | | | | | | | | | | | | | | |
| Stock options | | | 9,012 | | | | 16,553 | | | | 9,744 | | | | 16,679 | |
| RSUs | | | 1,640 | | | | 5,618 | | | | 2,046 | | | | 5,957 | |
| Warrants | | | — | | | | 1,940 | | | | — | | | | 2,799 | |
| Weighted average diluted shares | | | 220,856 | | | | 229,179 | | | | 223,517 | | | | 226,951 | |
| | | | | | | | | | | | | | | | | |
| Basic net income per share available to common stockholders | | $ | 0.13 | | | $ | 0.01 | | | $ | 0.20 | | | $ | 0.03 | |
| Diluted net income per share available to common stockholders | | $ | 0.12 | | | $ | 0.01 | | | $ | 0.19 | | | $ | 0.03 | |
The following table includes the total potentially dilutive securities for the three and six months ended June 30, 2026 and 2025, which have been excluded from the computation of diluted net income per share as their effect is anti-dilutive:
| | | Three Months Ended June 30, | | | Six Months Ended June 30, | |
| | | 2026 | | | 2025 | | | 2026 | | | 2025 | |
| | | (in thousands) | |
| Stock options | | | — | | | | 82 | | | | 180 | | | | 53 | |
| RSUs | | | 588 | | | | 2 | | | | 391 | | | | 1 | |
| Total | | | 588 | | | | 84 | | | | 571 | | | | 54 | |
|