Date | 3/31/2024 | 12/31/2023 | 6/30/2023 | 3/31/2023 | 12/31/2022 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 6/30/2021 | 3/31/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 7/31/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 10/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 1/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 12/31/2014 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cash and Cash Equivalents | $150,050,000.00 | $149,896,000.00 | $254,647,000.00 | $246,906,000.00 | $229,425,000.00 | $256,209,000.00 | $254,382,000.00 | $314,642,000.00 | $408,301,000.00 | $453,792,000.00 | $373,903,000.00 | $377,007,000.00 | $256,292,000.00 | $263,154,000.00 | $39,342,000.00 | $94,086,000.00 | -- | $82,779,000.00 | $72,506,000.00 | $17,132,000.00 | $48,881,000.00 | $34,642,000.00 | $58,433,000.00 | $4,208,000.00 | -- | $27,621,000.00 | $24,864,000.00 | $29,912,000.00 | -- | $4,945,000.00 | $23,738,000.00 | -- | -- | $5,595,000.00 | $6,832,000.00 |
Accounts Receivable Net Current | $74,273,000.00 | $86,854,000.00 | $78,904,000.00 | $80,045,000.00 | $79,892,000.00 | $63,823,000.00 | $63,774,000.00 | $62,245,000.00 | $54,733,000.00 | $60,036,000.00 | $57,989,000.00 | $49,678,000.00 | $58,451,000.00 | $27,596,000.00 | $44,475,000.00 | $50,655,000.00 | -- | $57,437,000.00 | $58,021,000.00 | $50,735,000.00 | $38,875,000.00 | $45,075,000.00 | $41,739,000.00 | $43,193,000.00 | -- | $39,111,000.00 | -- | -- | -- | $34,370,000.00 | -- | -- | -- | -- | -- |
Inventory | $118,564,000.00 | $119,908,000.00 | $120,871,000.00 | $123,524,000.00 | $123,158,000.00 | $122,032,000.00 | $129,493,000.00 | $127,401,000.00 | $120,863,000.00 | $119,525,000.00 | $111,274,000.00 | $111,700,000.00 | $117,859,000.00 | $130,372,000.00 | $127,556,000.00 | $111,894,000.00 | -- | $105,660,000.00 | $111,936,000.00 | $116,022,000.00 | $99,280,000.00 | $94,909,000.00 | $93,678,000.00 | $91,151,000.00 | -- | $89,370,000.00 | -- | -- | -- | $87,064,000.00 | -- | -- | -- | -- | -- |
Prepaid Expenses and Other Current Assets | $36,025,000.00 | $40,012,000.00 | $39,865,000.00 | $36,004,000.00 | $41,361,000.00 | $34,999,000.00 | $32,821,000.00 | $28,306,000.00 | $24,466,000.00 | $23,597,000.00 | $23,484,000.00 | $17,050,000.00 | $20,520,000.00 | $20,095,000.00 | $23,266,000.00 | $22,014,000.00 | -- | $25,018,000.00 | $27,626,000.00 | $30,815,000.00 | $24,065,000.00 | $24,803,000.00 | $24,777,000.00 | $23,925,000.00 | -- | $22,688,000.00 | -- | -- | -- | $20,880,000.00 | -- | -- | -- | -- | -- |
Total Current Assets | $378,912,000.00 | $396,670,000.00 | $494,287,000.00 | $486,479,000.00 | $473,836,000.00 | $477,063,000.00 | $480,470,000.00 | $532,594,000.00 | $608,363,000.00 | $656,950,000.00 | $566,650,000.00 | $555,435,000.00 | $453,122,000.00 | $441,217,000.00 | $234,639,000.00 | $278,649,000.00 | -- | $270,894,000.00 | $270,089,000.00 | $214,704,000.00 | $211,101,000.00 | $199,429,000.00 | $218,627,000.00 | $162,477,000.00 | -- | $178,790,000.00 | -- | -- | -- | $147,259,000.00 | -- | -- | -- | -- | -- |
Property Plant and Equipement | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $372,069,000.00 | -- | $380,002,000.00 | $364,627,000.00 | $355,117,000.00 | $340,626,000.00 | $328,035,000.00 | $310,964,000.00 | $304,132,000.00 | -- | $290,656,000.00 | -- | -- | -- | $256,414,000.00 | -- | -- | -- | -- | -- |
Intangible Assets Net | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Goodwill | $717,544,000.00 | $717,544,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | -- | $777,613,000.00 | $777,613,000.00 | $777,613,000.00 | $792,744,000.00 | $792,744,000.00 | $792,744,000.00 | $792,744,000.00 | -- | $792,744,000.00 | -- | -- | -- | $793,229,000.00 | -- | -- | -- | $796,573,000.00 | -- |
Other Assets | $30,487,000.00 | $28,336,000.00 | $24,779,000.00 | $23,378,000.00 | $21,981,000.00 | $21,844,000.00 | $18,477,000.00 | $22,266,000.00 | $17,715,000.00 | $17,303,000.00 | $17,743,000.00 | $16,318,000.00 | $12,871,000.00 | $10,783,000.00 | $8,129,000.00 | $6,575,000.00 | -- | $6,265,000.00 | $7,092,000.00 | $8,876,000.00 | $9,052,000.00 | $9,970,000.00 | $10,863,000.00 | $10,988,000.00 | -- | $11,114,000.00 | -- | -- | -- | $12,330,000.00 | -- | -- | -- | -- | -- |
Total Assets | $2,155,368,000.00 | $2,172,511,000.00 | $2,333,928,000.00 | $2,312,366,000.00 | $2,291,246,000.00 | $2,291,736,000.00 | $2,278,343,000.00 | $2,325,487,000.00 | $2,369,216,000.00 | $2,419,845,000.00 | $2,333,498,000.00 | $2,307,513,000.00 | $2,219,037,000.00 | $2,218,746,000.00 | $2,032,725,000.00 | $2,078,424,000.00 | -- | $2,071,836,000.00 | $2,053,092,000.00 | $1,661,389,000.00 | $1,660,694,000.00 | $1,639,441,000.00 | $1,644,554,000.00 | $1,583,791,000.00 | -- | $1,588,862,000.00 | -- | -- | -- | $1,531,117,000.00 | -- | -- | -- | -- | -- |
Accounts Payable | $60,797,000.00 | $67,556,000.00 | $64,108,000.00 | $74,624,000.00 | $65,276,000.00 | $68,979,000.00 | $70,000,000.00 | $69,414,000.00 | $77,677,000.00 | $79,807,000.00 | $64,861,000.00 | $68,629,000.00 | $52,432,000.00 | $59,953,000.00 | $40,782,000.00 | $45,337,000.00 | -- | $47,100,000.00 | $45,087,000.00 | $43,642,000.00 | $30,885,000.00 | $32,784,000.00 | $46,126,000.00 | $35,708,000.00 | -- | $33,562,000.00 | -- | -- | -- | $39,400,000.00 | -- | -- | -- | -- | -- |
Accrued Liabilities | $108,139,000.00 | $123,288,000.00 | $112,946,000.00 | $103,188,000.00 | $94,225,000.00 | $100,878,000.00 | $107,578,000.00 | $91,865,000.00 | $116,508,000.00 | $98,796,000.00 | $110,309,000.00 | $125,278,000.00 | $106,865,000.00 | $98,972,000.00 | $82,829,000.00 | $101,556,000.00 | -- | $92,473,000.00 | $97,668,000.00 | $81,004,000.00 | $81,465,000.00 | $72,405,000.00 | $85,763,000.00 | $77,611,000.00 | -- | $90,746,000.00 | -- | -- | -- | $69,402,000.00 | -- | -- | -- | -- | -- |
Total Current Liabilities | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Long Term Debt | $443,810,000.00 | $445,184,000.00 | $546,725,000.00 | $546,862,000.00 | $546,231,000.00 | $545,520,000.00 | $544,822,000.00 | $544,178,000.00 | $591,832,000.00 | $708,196,000.00 | $624,611,000.00 | $620,065,000.00 | $615,641,000.00 | -- | $536,396,000.00 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Additional Paid-in Capital | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Other Comprehensive Loss | $-229,000.00 | $-419,000.00 | $-801,000.00 | $-991,000.00 | $-1,179,000.00 | $-1,372,000.00 | $-1,562,000.00 | $-1,752,000.00 | $-3,093,000.00 | $-5,296,000.00 | $-4,400,000.00 | $-5,944,000.00 | $-7,355,000.00 | $-10,416,000.00 | $-3,814,000.00 | $-4,921,000.00 | -- | $-5,427,000.00 | $-3,757,000.00 | $-2,810,000.00 | $-1,059,000.00 | $-2,746,000.00 | $-5,244,000.00 | $-9,868,000.00 | -- | $-13,223,000.00 | -- | -- | -- | $-14,556,000.00 | -- | -- | -- | -- | -- |
Accumulated Deficit | $266,301,000.00 | $254,616,000.00 | $344,401,000.00 | $338,787,000.00 | $320,517,000.00 | $329,778,000.00 | $318,276,000.00 | $308,542,000.00 | $231,184,000.00 | $193,583,000.00 | $142,880,000.00 | $107,801,000.00 | $72,512,000.00 | $116,345,000.00 | $107,132,000.00 | $103,212,000.00 | -- | $102,020,000.00 | $91,763,000.00 | $74,840,000.00 | $100,113,000.00 | $94,296,000.00 | $81,219,000.00 | $37,145,000.00 | -- | $8,445,000.00 | -- | -- | -- | $-8,675,000.00 | -- | -- | -- | -- | -- |
Total Stockholders' Equity | $841,319,000.00 | $829,418,000.00 | $908,412,000.00 | $896,726,000.00 | $901,113,000.00 | $906,925,000.00 | $891,669,000.00 | $950,726,000.00 | $938,337,000.00 | $887,532,000.00 | $906,502,000.00 | $864,963,000.00 | $820,939,000.00 | $786,160,000.00 | $776,437,000.00 | $765,471,000.00 | -- | $774,434,000.00 | $762,580,000.00 | $743,154,000.00 | $758,171,000.00 | $729,587,000.00 | $711,275,000.00 | $654,600,000.00 | -- | $254,588,000.00 | -- | -- | -- | $399,581,000.00 | -- | -- | -- | $386,230,000.00 | $523,594,000.00 |
Controlling Interest in Subsidiaries | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Liabilities and Equity | $2,155,368,000.00 | $2,172,511,000.00 | $2,333,928,000.00 | $2,312,366,000.00 | $2,291,246,000.00 | $2,291,736,000.00 | $2,278,343,000.00 | $2,325,487,000.00 | $2,369,216,000.00 | $2,419,845,000.00 | $2,333,498,000.00 | $2,307,513,000.00 | $2,219,037,000.00 | $2,218,746,000.00 | $2,032,725,000.00 | $2,078,424,000.00 | -- | $2,071,836,000.00 | $2,053,092,000.00 | $1,661,389,000.00 | $1,660,694,000.00 | $1,639,441,000.00 | $1,644,554,000.00 | $1,583,791,000.00 | -- | $1,588,862,000.00 | -- | -- | -- | $1,531,117,000.00 | -- | -- | -- | -- | -- |
Date | 3/31/2024 | 12/31/2023 | 6/30/2023 | 3/31/2023 | 12/31/2022 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 6/30/2021 | 3/31/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 7/31/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 10/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 1/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 12/31/2014 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Total Revenues | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Cost of Revenues | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Gross Profit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Research and Development | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Selling, General, and Administrative | $245,366,000.00 | $991,883,000.00 | $493,893,000.00 | $249,922,000.00 | $915,355,000.00 | $681,411,000.00 | $456,383,000.00 | $228,554,000.00 | $457,828,000.00 | $223,593,000.00 | $720,590,000.00 | $520,841,000.00 | $136,582,000.00 | $193,741,000.00 | $744,488,000.00 | $566,444,000.00 | -- | $376,154,000.00 | $193,876,000.00 | $687,476,000.00 | $184,424,000.00 | $335,140,000.00 | $170,102,000.00 | $600,010,000.00 | -- | $445,714,000.00 | $144,655,000.00 | $149,804,000.00 | -- | $525,869,000.00 | $395,385,000.00 | -- | -- | $474,053,000.00 | -- |
Total Operating Expenses | $269,447,000.00 | $1,172,384,000.00 | $269,776,000.00 | $275,005,000.00 | $1,018,542,000.00 | $762,007,000.00 | $510,959,000.00 | $254,342,000.00 | $506,756,000.00 | $248,042,000.00 | $838,129,000.00 | $614,810,000.00 | $395,060,000.00 | $234,235,000.00 | $844,237,000.00 | $638,376,000.00 | -- | $205,243,000.00 | $216,846,000.00 | $780,932,000.00 | $576,610,000.00 | $182,680,000.00 | $188,673,000.00 | $671,106,000.00 | -- | $498,862,000.00 | $167,361,000.00 | $164,329,000.00 | -- | $585,030,000.00 | $148,237,000.00 | -- | -- | $526,751,000.00 | -- |
Loss from Operations | $24,410,000.00 | $-46,826,000.00 | $7,725,000.00 | $33,312,000.00 | $61,275,000.00 | $15,359,000.00 | $55,703,000.00 | $37,332,000.00 | $116,277,000.00 | $61,448,000.00 | $87,007,000.00 | $30,111,000.00 | $-24,683,000.00 | $16,915,000.00 | $8,361,000.00 | $65,214,000.00 | -- | $54,102,000.00 | $32,400,000.00 | $42,351,000.00 | $64,221,000.00 | $65,436,000.00 | $38,848,000.00 | $-2,818,000.00 | -- | $70,054,000.00 | $13,772,000.00 | $39,722,000.00 | -- | $64,069,000.00 | $14,315,000.00 | $15,737,000.00 | $39,685,000.00 | $44,677,000.00 | -- |
Loss Before Income Taxes | $20,154,000.00 | $-61,764,000.00 | $34,334,000.00 | $28,445,000.00 | $60,813,000.00 | $73,220,000.00 | $55,884,000.00 | $41,476,000.00 | $99,759,000.00 | $55,118,000.00 | $38,680,000.00 | $-5,457,000.00 | $-47,776,000.00 | $9,460,000.00 | $30,489,000.00 | $29,526,000.00 | -- | $12,734,000.00 | $23,339,000.00 | $4,868,000.00 | $36,077,000.00 | $46,699,000.00 | $29,535,000.00 | $7,173,000.00 | -- | $26,387,000.00 | $24,678,000.00 | $25,528,000.00 | -- | $27,292,000.00 | $40,360,000.00 | -- | -- | $5,385,000.00 | -- |
Earnings Per Share Basic | $0.15 | $-0.84 | $0.30 | $0.23 | $0.53 | $0.15 | $0.49 | $0.37 | $0.99 | $0.53 | $0.45 | $0.01 | $-0.42 | $0.12 | $0.42 | $0.37 | -- | $0.35 | $0.22 | $0.31 | $0.08 | $0.51 | $0.33 | $0.41 | -- | $0.02 | $-0.03 | $0.30 | -- | $0.24 | $0.05 | $0.06 | $0.32 | $0.06 | -- |
Weighted Average Shares Basic | 78,384,000 | 78,313,000 | 78,411,000 | 78,721,000 | 79,831,000 | 78,910,000 | 80,061,000 | 81,428,000 | 81,457,000 | 81,333,000 | 80,565,000 | 80,376,000 | 80,325,000 | 80,129,000 | 78,608,000 | 78,474,000 | -- | 78,318,000 | 78,205,000 | 75,899,000 | 75,361,000 | 75,249,000 | 74,714,000 | 70,454,000 | -- | 56,414,000 | 56,414,000 | 56,261,000 | -- | 56,210,000 | 56,211,000 | 56,210,000 | 56,107,000 | 55,962,000 | -- |
Earnings Per Share Diluted | $0.15 | $-0.84 | $0.07 | $0.22 | $0.52 | $0.63 | $0.12 | $0.34 | $0.89 | $0.48 | $0.44 | $0.01 | $-0.42 | $0.12 | $0.40 | $0.35 | -- | $0.13 | $0.21 | $0.30 | $0.07 | $0.17 | $0.31 | $0.74 | -- | $0.02 | $0.27 | $0.29 | -- | $-0.17 | $0.05 | $0.06 | $0.32 | $0.06 | -- |
Weighted Average Shares Diluted | 78,826,000 | 78,313,000 | 78,784,000 | 92,136,000 | 80,298,000 | 93,477,000 | 80,403,000 | 94,904,000 | 96,044,000 | 96,025,000 | 82,793,000 | 82,718,000 | 80,226,000 | 82,242,000 | 81,785,000 | 81,510,000 | -- | 81,424,000 | 81,466,000 | 79,041,000 | 79,710,000 | 77,858,000 | 77,837,000 | 62,035,000 | -- | 58,459,000 | 56,414,000 | 57,934,000 | -- | 57,001,000 | 57,170,000 | 57,075,000 | 56,197,000 | 55,962,000 | -- |
Common Stock Shares Authorized | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | -- | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | 200,000,000 | -- | -- | -- | 200,000,000 | -- | -- | -- | -- | -- |
Common Stock Shares Outstanding | 78,558,000 | 78,311,000 | 78,154,000 | 78,085,000 | 78,992,000 | 78,910,000 | 78,885,000 | 81,422,000 | 81,855,000 | 81,385,000 | 81,239,000 | 80,989,000 | 80,415,000 | 80,278,000 | 79,678,000 | 79,022,000 | -- | 78,484,000 | 78,218,000 | 78,167,000 | 77,082,000 | 75,334,000 | 75,103,000 | 74,654,000 | -- | 56,477,000 | -- | -- | 110,500,000 | 56,202,000 | -- | -- | -- | -- | -- |
Common Stock Value | $852,000.00 | $848,000.00 | $846,000.00 | $845,000.00 | $842,000.00 | $841,000.00 | $841,000.00 | $841,000.00 | $828,000.00 | $823,000.00 | $821,000.00 | $818,000.00 | $812,000.00 | $811,000.00 | $805,000.00 | $800,000.00 | -- | $786,000.00 | $783,000.00 | $782,000.00 | $770,000.00 | $753,000.00 | $751,000.00 | $746,000.00 | -- | $565,000.00 | -- | -- | -- | $562,000.00 | -- | -- | -- | -- | -- |
Common Stock Par Or Stated Value Per Share | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | -- | $0.01 | -- | -- | -- | $0.01 | -- | -- | -- | -- | -- |
Payments Of Dividends Common Stock | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Authorized | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | 50,000,000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Outstanding | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Value | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Par Or Stated Value Per Share | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $0.01 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Share Price | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |