| Schedule of calculation of basic and diluted weighted average shares outstanding and net income (loss) per share |
| | | | | | | | | | | | | | | Three months ended June 30, | | Six months ended June 30, | | | 2026 | | 2025 | | 2026 | | 2025 | Numerator: | | | | | | | | | | | | | Net income (loss) | | $ | 110,290 | | $ | 181,555 | | $ | (11,184,200) | | $ | 728,079 | Preferred dividends | | | (1,875) | | | (1,875) | | | (3,750) | | | (3,750) | Net income (loss) available to common shareholders | | $ | 108,415 | | $ | 179,680 | | $ | (11,187,950) | | $ | 724,329 | Denominator: | | | | | | | | | | | | | Weighted average shares - basic | | | 146,607,277 | | | 118,261,366 | | | 144,123,564 | | | 115,994,982 | Add - dilutive effect of stock options | | | 3,649,484 | | | 2,499,367 | | | — | | | 2,412,816 | Add - dilutive effect of RSUs | | | 1,379,394 | | | 1,210,001 | | | — | | | 1,150,838 | Add - dilutive effect of warrants | | | 118,017 | | | 5,252,701 | | | — | | | 4,784,999 | Weighted average shares - diluted | | | 151,754,172 | | | 127,223,435 | | | 144,123,564 | | | 124,343,635 | Net income (loss) per share: | | | | | | | | | | | | | Basic | | $ | nil | | $ | nil | | $ | (0.08) | | $ | 0.01 | Diluted | | $ | nil | | $ | nil | | $ | (0.08) | | $ | 0.01 |
|
| Schedule of antidilutive securities excluded from computation of earnings per share |
| | | | | | | | | | | Three months ended June 30, | | Six months ended June 30, | | | 2026 | | 2025 | | 2026 | | 2025 | Warrants | | — | | — | | 130,250 | | — | Stock options and RSU awards | | 14,675 | | 1,897,034 | | 6,089,471 | | 1,997,034 | Total possible share dilution | | 14,675 | | 1,897,034 | | 6,219,721 | | 1,997,034 |
|