XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies (Details - Earning per share) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Accounting Policies [Abstract]      
Numerator for basic and diluted earnings per share $ 45,343 $ 85,983 $ 47,524
Denominator for basic earnings per share - weighted average number of common shares outstanding during the year 20,896 20,958 22,562
Incremental common shares attributable to exercise of outstanding options and warrants 4,322 5,631 3,218
Denominator for diluted earnings per share 25,218 26,589 25,780
Basic earnings per share $ 2.17 $ 4.10 $ 2.11
Diluted earnings per share $ 1.80 $ 3.23 $ 1.84